Compare commits

..

928 Commits

Author SHA1 Message Date
heikki%netscape.com
a637f81f7f new project started
git-svn-id: svn://10.0.0.236/branches/mozilla@91184 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-03 22:13:38 +00:00
(no author)
6cfadae5d1 This commit was manufactured by cvs2svn to create branch 'mozilla'.
git-svn-id: svn://10.0.0.236/branches/mozilla@8534 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:36:10 +00:00
slamm%netscape.com
84edad5824 Make cvs ignore the dist directory
git-svn-id: svn://10.0.0.236/trunk@8533 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:36:09 +00:00
slamm%netscape.com
f3068af283 Add a few .html files to ignore.
git-svn-id: svn://10.0.0.236/trunk@8532 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:36:02 +00:00
slamm%netscape.com
cc89363c8d Clear up some warnings.
git-svn-id: svn://10.0.0.236/trunk@8531 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:59 +00:00
slamm%netscape.com
016e174f1c Remove the old-style bookmarks. RDF is the way.
git-svn-id: svn://10.0.0.236/trunk@8530 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:54 +00:00
gagan%netscape.com
2c6d5481f0 Merge from NuCache_BRANCH. Will not affect the build process.
git-svn-id: svn://10.0.0.236/trunk@8529 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:28 +00:00
slamm%netscape.com
275be6a065 Hookup NETSCAPE_COMMERCIAL for the Unix builds.
git-svn-id: svn://10.0.0.236/trunk@8528 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:26 +00:00
slamm%netscape.com
6f20578d40 Superseded by RDFTreeView.(cpp|h).
git-svn-id: svn://10.0.0.236/trunk@8527 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:23 +00:00
slamm%netscape.com
2e92dea938 Remove stuff that had to do with old-style bookmarks. Still need tohookup the new RDF stuff.
git-svn-id: svn://10.0.0.236/trunk@8526 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:16 +00:00
slamm%netscape.com
de8df47d71 Use RDFBase class.
git-svn-id: svn://10.0.0.236/trunk@8525 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:35:01 +00:00
slamm%netscape.com
6ec52ecc85 Create a group of toolbars from RDF.
git-svn-id: svn://10.0.0.236/trunk@8524 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:55 +00:00
slamm%netscape.com
0f28d99589 RDF toolbars. Currently only creates buttons for bookmarks.
git-svn-id: svn://10.0.0.236/trunk@8523 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:52 +00:00
slamm%netscape.com
3b785e0993 Was BookmarkBase. Base class for RDF menus and toolbars.
git-svn-id: svn://10.0.0.236/trunk@8522 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:49 +00:00
slamm%netscape.com
2e52f29f54 New base class for accessing RDF backend.
git-svn-id: svn://10.0.0.236/trunk@8521 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:42 +00:00
slamm%netscape.com
f07932374c Plug a memory leak.
git-svn-id: svn://10.0.0.236/trunk@8520 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:39 +00:00
slamm%netscape.com
ab55e92f0c ifdef out the selector bar and use the new RDFBase class
git-svn-id: svn://10.0.0.236/trunk@8519 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:36 +00:00
slamm%netscape.com
efc662e171 Replace old-style bookmarks with RDF and clean up the openFileAction
git-svn-id: svn://10.0.0.236/trunk@8518 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:34 +00:00
slamm%netscape.com
85f0826660 Add beginnings of RDF Toolbars and replace old-style bookmarks with RDF.
git-svn-id: svn://10.0.0.236/trunk@8517 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:26 +00:00
slamm%netscape.com
25493021ad Add beginnings of RDF Toolbars
git-svn-id: svn://10.0.0.236/trunk@8516 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:23 +00:00
slamm%netscape.com
9b02416f9a Replace old-style bookmarks and history with RDF.
git-svn-id: svn://10.0.0.236/trunk@8515 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:17 +00:00
slamm%netscape.com
ee2f6bf759 Fix a UMR
git-svn-id: svn://10.0.0.236/trunk@8514 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:34:05 +00:00
slamm%netscape.com
661ba6dce5 Get rid of references to the old bookmarks backend and replace it with RDF
git-svn-id: svn://10.0.0.236/trunk@8513 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:33:55 +00:00
slamm%netscape.com
781f32753d Split out the translation resources. Use and '@INCLUDE <file>@' directive in the resources file. Eventually we can replace 'sed' with 'perl' to do this in a more general way.
git-svn-id: svn://10.0.0.236/trunk@8512 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:33:51 +00:00
slamm%netscape.com
2284ad2c19 Zap some compiler warnings.
git-svn-id: svn://10.0.0.236/trunk@8511 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:33:42 +00:00
slamm%netscape.com
f248fe0fb6 Move remote command 'addbookmark' to src dir. Delete some unused defines
git-svn-id: svn://10.0.0.236/trunk@8510 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:33:39 +00:00
slamm%netscape.com
2573e08295 Toss dead bkmks code.
git-svn-id: svn://10.0.0.236/trunk@8509 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:33:34 +00:00
gagan%netscape.com
b19f886c20 Test checkin to verify merge. Not in build process.
git-svn-id: svn://10.0.0.236/trunk@8508 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 18:31:05 +00:00
buster%netscape.com
b741cf53cc fixed a minor bug handling tables with COLS attribute
git-svn-id: svn://10.0.0.236/trunk@8505 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 17:53:47 +00:00
buster%netscape.com
663dc8e0c4 more content decoupling
support work for style optimizations
fixed a bug in table columns  -- the attribute repeat defaults to 1, not 0


git-svn-id: svn://10.0.0.236/trunk@8504 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 17:26:38 +00:00
dcone%netscape.com
3d8bc3335c Major redo based on a new GFX library
git-svn-id: svn://10.0.0.236/trunk@8503 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 14:16:51 +00:00
dcone%netscape.com
84c5fb38d5 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@8502 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 14:15:58 +00:00
dcone%netscape.com
7d4f3d041d Mac work for Raptor
git-svn-id: svn://10.0.0.236/trunk@8501 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 14:15:34 +00:00
dcone%netscape.com
26bccfb7fb doing Mac work, temporary file
git-svn-id: svn://10.0.0.236/trunk@8500 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 14:14:50 +00:00
dcone%netscape.com
4f173c4c7e fixed some port bugs
git-svn-id: svn://10.0.0.236/trunk@8499 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 14:13:36 +00:00
cls%seawood.org
2979dc680a Fixed problem with files being generated in the srcdir.
git-svn-id: svn://10.0.0.236/trunk@8498 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 08:58:26 +00:00
ramiro%netscape.com
8ec1898b2d Fix EXPORTS.
git-svn-id: svn://10.0.0.236/trunk@8497 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 06:32:25 +00:00
ramiro%netscape.com
0c42478791 First step in moving the tooltip insanity out of the xfe and onto its own
library.


git-svn-id: svn://10.0.0.236/trunk@8496 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 06:30:33 +00:00
shaver%netscape.com
9013b35743 JS_ConstructObject: fill NULL proto/parent like JSOP_NEW would
git-svn-id: svn://10.0.0.236/trunk@8495 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 06:14:55 +00:00
terry%netscape.com
502157a1c3 Bugzilla source.
git-svn-id: svn://10.0.0.236/trunk@8494 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 06:14:20 +00:00
ramiro%netscape.com
d404f00d25 First step in moving the tooltip insanity out of the xfe and onto its own
library.


git-svn-id: svn://10.0.0.236/trunk@8493 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 05:59:32 +00:00
rpotts%netscape.com
bf872ac3ec Removed optimization which was causing timer skew and unreliable callbacks...
git-svn-id: svn://10.0.0.236/trunk@8492 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 05:40:35 +00:00
cls%seawood.org
bde336e65a Updates to autoconf files.
git-svn-id: svn://10.0.0.236/trunk@8491 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 04:04:57 +00:00
troy%netscape.com
a362d09c18 Changed ImageUpdated() to only do gamma correction if the gamma value
is not 1.0


git-svn-id: svn://10.0.0.236/trunk@8490 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 03:27:54 +00:00
pierre%netscape.com
6690f04312 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@8489 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 03:13:44 +00:00
troy%netscape.com
470cc500f6 Added nsHTMLLayer.cpp
git-svn-id: svn://10.0.0.236/trunk@8488 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 02:24:18 +00:00
troy%netscape.com
01d498dee2 Work in progress for LAYER tag
git-svn-id: svn://10.0.0.236/trunk@8487 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 02:23:21 +00:00
av%netscape.com
2f7cb6dd66 Temporarily fixing build problems
git-svn-id: svn://10.0.0.236/trunk@8486 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 02:08:03 +00:00
akkana%netscape.com
f34bdf6247 fix 309734, nesting of 'delete past table cell boundary' dialogs
git-svn-id: svn://10.0.0.236/trunk@8485 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 00:51:36 +00:00
ftang%netscape.com
438b28d444 add XP_ASSERT(IsUTFString) to verify RDF_Assert. Reviewed by rjc
git-svn-id: svn://10.0.0.236/trunk@8484 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 00:20:49 +00:00
cyeh%netscape.com
e6984159d7 added two perl scripts to the Mac only module to handle the
build number thingy on mac


git-svn-id: svn://10.0.0.236/trunk@8483 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-26 00:10:22 +00:00
av%netscape.com
2046d01aaf Anthrax feature for Windows
git-svn-id: svn://10.0.0.236/trunk@8482 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 23:45:14 +00:00
valeski%netscape.com
47fc00a267 removed some macros (for debugging ease). Changed the XP_OpenDir and an XP dir status routine to PR_* to get local file system directory listings working in Raptor.
git-svn-id: svn://10.0.0.236/trunk@8481 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 23:33:28 +00:00
av%netscape.com
9a0edc87f3 Anthrax feature for Windows
git-svn-id: svn://10.0.0.236/trunk@8480 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 23:22:26 +00:00
akkana%netscape.com
199dec9b31 Ender: make toolbars update as cursor or selection is moved.
git-svn-id: svn://10.0.0.236/trunk@8479 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 23:10:27 +00:00
despotdaemon%netscape.com
214781436a Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@8478 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 22:53:33 +00:00
cmanske%netscape.com
c5ea8ac346 Removed attempt to optimize editor layout by not relaying out entire line. Must find another solution
git-svn-id: svn://10.0.0.236/trunk@8477 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 22:48:27 +00:00
cmanske%netscape.com
8ffebb5d83 Composer FE bug fixes. Reverted background drawing change - fixed in XP code
git-svn-id: svn://10.0.0.236/trunk@8476 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 22:47:40 +00:00
pinkerton%netscape.com
e69fd8c60c remove string for IBM3270 stuff (unused).
git-svn-id: svn://10.0.0.236/trunk@8475 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 21:34:54 +00:00
cyeh%netscape.com
613e49ec9f generate build numbers all the time, since Mozilla is going to need
this number as well.


git-svn-id: svn://10.0.0.236/trunk@8474 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 21:23:32 +00:00
preed%netscape.com
f9278ea76d Adds functionality to write multiple comments to a log with one
submission. Also fixes some bugs and UI problems. Reviewed by terry.


git-svn-id: svn://10.0.0.236/trunk@8473 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 21:22:32 +00:00
valeski%netscape.com
9ca2937a83 we're now respecting success/failure return values from PREF_Get* routines, for the most part. imap, pop, news weren't cleaned up (nor was nucache).
Default values are now used when PREFs are down.


git-svn-id: svn://10.0.0.236/trunk@8472 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 21:17:03 +00:00
pinkerton%netscape.com
ec0bffcbe8 Removed old constant for location bar (from 3.0 days), using new one everywhere.
git-svn-id: svn://10.0.0.236/trunk@8471 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:33:07 +00:00
pinkerton%netscape.com
9f356b6ca1 updated for new constants, etc. Removing old cruft.
git-svn-id: svn://10.0.0.236/trunk@8470 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:32:29 +00:00
pinkerton%netscape.com
1ce4f42986 #ifdef Moz_mail_news stuff we don't use anymore.
git-svn-id: svn://10.0.0.236/trunk@8469 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:32:13 +00:00
pinkerton%netscape.com
38a5206b50 #ifdef MOZ_MAIL_NEWS stuff we don't use anymore.
git-svn-id: svn://10.0.0.236/trunk@8468 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:31:48 +00:00
pinkerton%netscape.com
6215521227 Move over some of McMullen's fixes for printing form elements correctly. Doesn't work, though.
git-svn-id: svn://10.0.0.236/trunk@8467 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:31:26 +00:00
pinkerton%netscape.com
5755542d9b remove some nethelp code.
git-svn-id: svn://10.0.0.236/trunk@8466 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:30:35 +00:00
pinkerton%netscape.com
86b84b5ad7 move constant from resgui into here.
git-svn-id: svn://10.0.0.236/trunk@8465 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:30:18 +00:00
pinkerton%netscape.com
eae7f86101 Fix bug where flex table was too large for the bookmarks window resulting in the last line being lost off the bottom.
git-svn-id: svn://10.0.0.236/trunk@8464 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:30:04 +00:00
pinkerton%netscape.com
9e9ec97bb3 #ifdef MOZ_MAIL_NEWS some stuff we don't use anymore.
git-svn-id: svn://10.0.0.236/trunk@8463 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:29:41 +00:00
pinkerton%netscape.com
85d4b6191e New "sort bookmarks menu" item.
git-svn-id: svn://10.0.0.236/trunk@8462 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:29:06 +00:00
pinkerton%netscape.com
2d68b2e312 Removing mail/news/conference/netcaster/3270/calendar cruft from global constants.
git-svn-id: svn://10.0.0.236/trunk@8461 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:28:50 +00:00
pinkerton%netscape.com
a5aa8e2640 use the new constants for form element messages.
git-svn-id: svn://10.0.0.236/trunk@8460 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:27:58 +00:00
pinkerton%netscape.com
c7852e9248 4.5 landing. Better drawing during printing and making the "inherited" typedefs private.
git-svn-id: svn://10.0.0.236/trunk@8459 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:27:38 +00:00
pinkerton%netscape.com
487b504545 No more 3270 support.
git-svn-id: svn://10.0.0.236/trunk@8458 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:26:11 +00:00
pinkerton%netscape.com
a66e5a4570 Allow tooltip to show up even when not on a valid cell.
git-svn-id: svn://10.0.0.236/trunk@8457 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:25:15 +00:00
pinkerton%netscape.com
1354f252f5 Better tooltip support (uses new tooltip for all columns).
git-svn-id: svn://10.0.0.236/trunk@8456 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:24:20 +00:00
cmanske%netscape.com
675baf0e9c Backed out change intended for testing only
git-svn-id: svn://10.0.0.236/trunk@8455 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:24:04 +00:00
pinkerton%netscape.com
6ed01ceeef Better handling of UTF8.
git-svn-id: svn://10.0.0.236/trunk@8454 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:23:47 +00:00
cmanske%netscape.com
9fe6bf1f51 Composer performance optimization work - FixupTableData optimizations. Added SingleSignon feature for Composer publishing. Fixed layout cell background bug - permission by nisheeth
git-svn-id: svn://10.0.0.236/trunk@8453 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:16:10 +00:00
cmanske%netscape.com
be91aa1f5c Removed global function not used by FEs
git-svn-id: svn://10.0.0.236/trunk@8452 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:16:00 +00:00
ftang%netscape.com
c9dd72cbff clean up intlwin.cpp to delete obsoleted Win16 stuff...
git-svn-id: svn://10.0.0.236/trunk@8451 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:05:52 +00:00
ftang%netscape.com
7fc6a69d45 fix window UTF8 problem. But the UTF8 to UTF8 conversion before Vietnamese
git-svn-id: svn://10.0.0.236/trunk@8450 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 20:03:34 +00:00
toshok%netscape.com
7da2228989 added check for sys_errlist/sys_nerr. defines HAVE_SYSERRLIST if they are present.
git-svn-id: svn://10.0.0.236/trunk@8449 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 19:57:01 +00:00
toshok%netscape.com
161a7ca9f5 get rid of all the platform ifdefs around sys_errlist. replace them all with #ifdef HAVE_SYSERRLIST, which is defined in the config/*.mk's and which should be tested for by configure.in
git-svn-id: svn://10.0.0.236/trunk@8448 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 19:44:12 +00:00
toshok%netscape.com
2040ea16b7 add NetBSD libs
git-svn-id: svn://10.0.0.236/trunk@8447 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 19:41:07 +00:00
ramiro%netscape.com
5ad56223a2 Add support for DG/UX.
Thanks to fraioli@dg-rtp.dg.com (Marc J. Fraioli).


git-svn-id: svn://10.0.0.236/trunk@8446 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 19:35:56 +00:00
jwz%mozilla.org
9f5ba2cbd4 All Unix versions of Mozilla link against libmime, so they should all
call MIME_RegisterConverters() to register the converter for documents
of type message/rfc822.

On Windows, that converter is currently only registered if SMART_MAIL is
defined.

On Mac, it's never registered at all.

Someone needs to consolidate all this.


git-svn-id: svn://10.0.0.236/trunk@8445 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 19:19:13 +00:00
spider%netscape.com
59049b4802 Unix fixes
git-svn-id: svn://10.0.0.236/trunk@8444 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 19:00:32 +00:00
prasad%netscape.com
7dfcb88001 don't hardcode domestic
git-svn-id: svn://10.0.0.236/trunk@8443 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 18:48:36 +00:00
donm%netscape.com
40260bd5fa adding files for new perl build_numbering system.
git-svn-id: svn://10.0.0.236/trunk@8442 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 17:15:41 +00:00
prasad%netscape.com
ba87cf3d53 take out Prasad node
git-svn-id: svn://10.0.0.236/trunk@8441 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 15:35:55 +00:00
spider%netscape.com
c232433e11 Updates to invalidate throbber after last image has completed loading
git-svn-id: svn://10.0.0.236/trunk@8440 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 14:45:24 +00:00
spider%netscape.com
c51c3e4af2 Updates for trex
git-svn-id: svn://10.0.0.236/trunk@8439 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 14:44:46 +00:00
brendan%netscape.com
68cdb7d0b0 Fix typos, int type mismatch, white-space, and layout style nits.
git-svn-id: svn://10.0.0.236/trunk@8438 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 08:23:34 +00:00
brendan%netscape.com
71e7443c33 Fix typos, white-space, and layout style nits.
git-svn-id: svn://10.0.0.236/trunk@8437 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 08:22:27 +00:00
brendan%netscape.com
6d7164c0d9 Propagate js/src back-out of fur's incompatible closure version-check mod.
git-svn-id: svn://10.0.0.236/trunk@8436 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 08:21:55 +00:00
brendan%netscape.com
9e306d15ea Propagate warren's OJI-related XP_MAC pragma change from js/src.
git-svn-id: svn://10.0.0.236/trunk@8435 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 08:21:09 +00:00
brendan%netscape.com
7d61af5201 Fix nits.
git-svn-id: svn://10.0.0.236/trunk@8434 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 07:56:42 +00:00
brendan%netscape.com
9667d8e074 Cope with uninitialized MWContext charset id (312759, mlm).
git-svn-id: svn://10.0.0.236/trunk@8433 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 07:37:52 +00:00
brendan%netscape.com
b9f6014b69 Fix indentation nit.
git-svn-id: svn://10.0.0.236/trunk@8432 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 07:32:25 +00:00
rpotts%netscape.com
9cf0bd7e44 Evil fix for deadlock during synchronous http url loads...
git-svn-id: svn://10.0.0.236/trunk@8431 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 05:51:40 +00:00
despotdaemon%netscape.com
f5dcaa87f4 Pseudo-automatic update of changes made by friedman@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8430 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 05:09:33 +00:00
pierre%netscape.com
ed2b109deb added ":mozilla:dom:src:jsurl:MANIFEST"
git-svn-id: svn://10.0.0.236/trunk@8429 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 03:25:46 +00:00
rjc%netscape.com
db5c8c0aab If not set, default to data being local.
git-svn-id: svn://10.0.0.236/trunk@8428 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 01:57:51 +00:00
akkana%netscape.com
c263f6010e Fix IRIX build breakage -- add arg to isrequestorAlive call
git-svn-id: svn://10.0.0.236/trunk@8427 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:36:25 +00:00
pinkerton%netscape.com
95abb167e3 Changes for move of EClickState to netscape_constants (rev brade).
git-svn-id: svn://10.0.0.236/trunk@8426 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:23:38 +00:00
akkana%netscape.com
a0ebc626fd Show which Ender area is active by changing the frame shadow type.
git-svn-id: svn://10.0.0.236/trunk@8425 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:08:37 +00:00
pinkerton%netscape.com
2dfc6dd811 new UTF8 drawing routines (yay!)
git-svn-id: svn://10.0.0.236/trunk@8424 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:04:34 +00:00
thom%netscape.com
b96f8df857 fixed mac compile error in the initialization code
git-svn-id: svn://10.0.0.236/trunk@8423 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:04:27 +00:00
pinkerton%netscape.com
fc901a8a36 added new CTableTooltipPane pane.
git-svn-id: svn://10.0.0.236/trunk@8422 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:04:05 +00:00
pinkerton%netscape.com
b6cc01fc9a Move EClickState enums here, consolodating from several places.
git-svn-id: svn://10.0.0.236/trunk@8421 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:03:51 +00:00
pinkerton%netscape.com
4d8a97e52f Get new table tooltips in Aurora.
git-svn-id: svn://10.0.0.236/trunk@8420 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:03:32 +00:00
pinkerton%netscape.com
8a85601fbb Landing code from 4.5. Allows tooltips to stay around between areas that want them, instead of hiding each time.
git-svn-id: svn://10.0.0.236/trunk@8419 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:03:19 +00:00
pinkerton%netscape.com
ee01686f81 Landing of 4.5 changes to get new tooltips, bug fixes, and spring-loaded folders. Caused some APIs to change, I hope I got them all in derrived classes.
git-svn-id: svn://10.0.0.236/trunk@8418 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:02:34 +00:00
pinkerton%netscape.com
7c9b537c94 Changes from 4.5 to support new tooltips that don't go away when you move between two areas that desire a tooltip.
git-svn-id: svn://10.0.0.236/trunk@8417 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:01:56 +00:00
pinkerton%netscape.com
f04379a06b API change in tooltips from 4.5
git-svn-id: svn://10.0.0.236/trunk@8416 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:01:10 +00:00
pinkerton%netscape.com
f82ecce7e0 Some API changes from 4.5 version of CStandardFlexTable. Also pick up new tooltips and spring-loaded folders.
git-svn-id: svn://10.0.0.236/trunk@8415 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-25 00:00:54 +00:00
pinkerton%netscape.com
e096a51037 EClickState moved to Netscape_Constants
git-svn-id: svn://10.0.0.236/trunk@8413 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:59:57 +00:00
pinkerton%netscape.com
2411187e34 Move EClickState to Netscape_Constants
git-svn-id: svn://10.0.0.236/trunk@8412 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:58:57 +00:00
pinkerton%netscape.com
e0fbee679f Make Aurora tooltips use new table tooltips.
git-svn-id: svn://10.0.0.236/trunk@8411 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:57:43 +00:00
pinkerton%netscape.com
ae1decdd93 Added CTableTooltipPane.cp
git-svn-id: svn://10.0.0.236/trunk@8410 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:57:22 +00:00
pinkerton%netscape.com
79903994ab Register new table tooltip pane/attachment.
git-svn-id: svn://10.0.0.236/trunk@8409 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:56:42 +00:00
pinkerton%netscape.com
6560b573d4 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@8408 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:54:19 +00:00
cyeh%netscape.com
d8d12b4a6e adding module for the Messaging Server SDK
git-svn-id: svn://10.0.0.236/trunk@8407 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:38:36 +00:00
radha%netscape.com
7df87a5a4c Fix the inline editing part in navigation and management mode
git-svn-id: svn://10.0.0.236/trunk@8406 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:17:29 +00:00
donm%netscape.com
1ebde02c9f new perl build numbering system.
git-svn-id: svn://10.0.0.236/trunk@8405 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 23:08:56 +00:00
prasad%netscape.com
6dd5bddaf6 got rid of unnecessary stuff
git-svn-id: svn://10.0.0.236/trunk@8404 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 22:43:58 +00:00
prasad%netscape.com
f244a3ad6d taking out last change
git-svn-id: svn://10.0.0.236/trunk@8403 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 22:40:11 +00:00
prasad%netscape.com
9c58911966 adding new sources
git-svn-id: svn://10.0.0.236/trunk@8402 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 22:38:06 +00:00
prasad%netscape.com
920bfbe0de adding new sources
git-svn-id: svn://10.0.0.236/trunk@8401 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 22:31:18 +00:00
prasad%netscape.com
876243b61b adding new sources
git-svn-id: svn://10.0.0.236/trunk@8400 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 22:22:59 +00:00
prasad%netscape.com
7bee483657 adding new srcs
git-svn-id: svn://10.0.0.236/trunk@8397 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:33:09 +00:00
prasad%netscape.com
e112123845 changed C advaced to Advanced1 from Advanced_1 due to cvs error
git-svn-id: svn://10.0.0.236/trunk@8395 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:30:19 +00:00
prasad%netscape.com
67dde617f8 adding new srcs
git-svn-id: svn://10.0.0.236/trunk@8391 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:19:49 +00:00
prasad%netscape.com
559dde90ba adding new srcs
git-svn-id: svn://10.0.0.236/trunk@8388 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:13:27 +00:00
prasad%netscape.com
ceb9848678 adding new srcs
git-svn-id: svn://10.0.0.236/trunk@8386 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:07:59 +00:00
prasad%netscape.com
1e87ed3d72 ReadMeC.htm
git-svn-id: svn://10.0.0.236/trunk@8385 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:03:36 +00:00
prasad%netscape.com
91de9f6012 Adding new sources
git-svn-id: svn://10.0.0.236/trunk@8384 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 21:01:04 +00:00
prasad%netscape.com
855a68f423 adding new srcsMakefile
git-svn-id: svn://10.0.0.236/trunk@8383 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:58:37 +00:00
akkana%netscape.com
8cdace045c m_table is now passed in at creation time; we shouldn't delete it in dtor.
git-svn-id: svn://10.0.0.236/trunk@8382 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:50:56 +00:00
prasad%netscape.com
b16e806fe6 adding msg sdk sources
git-svn-id: svn://10.0.0.236/trunk@8381 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:50:36 +00:00
prasad%netscape.com
4d7b6655cf adding msg sdk sources*.c
git-svn-id: svn://10.0.0.236/trunk@8380 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:49:09 +00:00
rpotts%netscape.com
e236e09406 NGLayout only... Added a synchronous command line option for testing synchronous URL fetching.
git-svn-id: svn://10.0.0.236/trunk@8379 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:46:44 +00:00
prasad%netscape.com
184f5a1771 adding new files
git-svn-id: svn://10.0.0.236/trunk@8378 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:45:49 +00:00
prasad%netscape.com
6fe333d053 adding msg sdk sources
git-svn-id: svn://10.0.0.236/trunk@8377 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:42:22 +00:00
ftang%netscape.com
3916050cde fix NULL problem for IsUTF8String
git-svn-id: svn://10.0.0.236/trunk@8376 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:38:02 +00:00
despotdaemon%netscape.com
41d4882169 Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8375 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:28:48 +00:00
radha%netscape.com
9bd2fd58bd Move image rendering code to Image.cpp
git-svn-id: svn://10.0.0.236/trunk@8374 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:19:46 +00:00
radha%netscape.com
b6e62df847 Call fe_DisplayPixmap instead of DisplayPixmap
git-svn-id: svn://10.0.0.236/trunk@8373 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:17:51 +00:00
despotdaemon%netscape.com
f6c0d5546c Pseudo-automatic update of changes made by cyeh@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8372 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:15:14 +00:00
radha%netscape.com
90af9ad2ff Add Image.cpp to the build list
git-svn-id: svn://10.0.0.236/trunk@8371 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:14:02 +00:00
radha%netscape.com
a6091b5668 Call RDFImage to draw background pixmap
git-svn-id: svn://10.0.0.236/trunk@8370 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:13:43 +00:00
radha%netscape.com
054abd49c4 Re-arrange the Cache code and add more utility functions
git-svn-id: svn://10.0.0.236/trunk@8369 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:11:25 +00:00
dcone%netscape.com
ca6bf4c1bd Finished the first pass at implementation
git-svn-id: svn://10.0.0.236/trunk@8368 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:10:57 +00:00
radha%netscape.com
aeda3891a5 RDFImages cache moved to RDFImage.cpp
git-svn-id: svn://10.0.0.236/trunk@8367 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:09:43 +00:00
radha%netscape.com
a18d7d3b91 Generic Image rendering functions moved to this new file. Initial checkin.
git-svn-id: svn://10.0.0.236/trunk@8366 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:09:05 +00:00
radha%netscape.com
4a21d8ddd0 Rename function DisplayPixmap to fe_DisplayPixmap
git-svn-id: svn://10.0.0.236/trunk@8365 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 20:07:32 +00:00
pinkerton%netscape.com
e3b10e7fa4 Do single-click mode in a better way.
git-svn-id: svn://10.0.0.236/trunk@8364 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 19:53:36 +00:00
pinkerton%netscape.com
11f93e6320 On mode switch, make sure tree has right # of clicks to open row.
git-svn-id: svn://10.0.0.236/trunk@8363 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 19:53:10 +00:00
pinkerton%netscape.com
e6060a48e8 Ability to set # of clicks to open row from API.
git-svn-id: svn://10.0.0.236/trunk@8362 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-24 19:52:47 +00:00
waterson%netscape.com
dec0b322d5 Fixed bad read references noticed by Jud with Quantify.
git-svn-id: svn://10.0.0.236/trunk@8357 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-23 22:15:21 +00:00
waterson%netscape.com
ebde099e8c Fixed the #ifdef NO_TIMING macros.
git-svn-id: svn://10.0.0.236/trunk@8356 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-23 22:12:07 +00:00
rickg%netscape.com
56bdc1241a more WIP for logparse
git-svn-id: svn://10.0.0.236/trunk@8355 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-23 20:21:58 +00:00
morse%netscape.com
5d78e78888 added routines for composer publishing
git-svn-id: svn://10.0.0.236/trunk@8354 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-23 15:19:19 +00:00
troy%netscape.com
11d9b958f7 Changed ParseValueorPercent() to return a PRBool
git-svn-id: svn://10.0.0.236/trunk@8353 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-23 02:10:44 +00:00
rickg%netscape.com
7623c4ab6e added iostream output to nsString
git-svn-id: svn://10.0.0.236/trunk@8352 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-22 17:50:13 +00:00
rickg%netscape.com
0c804eb8f6 new improved logparse
git-svn-id: svn://10.0.0.236/trunk@8351 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-22 17:49:36 +00:00
troy%netscape.com
a3923f12f8 Changed ParseValue() to return a PRBool result
git-svn-id: svn://10.0.0.236/trunk@8350 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-22 04:55:28 +00:00
morse%netscape.com
dcda670ab9 fix up multi-user logic for single singon
git-svn-id: svn://10.0.0.236/trunk@8349 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-22 02:46:49 +00:00
rpotts%netscape.com
661ca3e5d1 Added support to shut down netlib and the nsINetService instance...
git-svn-id: svn://10.0.0.236/trunk@8348 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-22 00:12:54 +00:00
raman%netscape.com
73df9e69d0 Converting Smartupdate code from Java to C++.
git-svn-id: svn://10.0.0.236/trunk@8347 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 23:46:11 +00:00
troy%netscape.com
afea246aeb Made sure clipChildren member of widget init data is initialized
git-svn-id: svn://10.0.0.236/trunk@8346 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 23:06:01 +00:00
akkana%netscape.com
9336325332 Fixes for switching focus on Ender toolbars
git-svn-id: svn://10.0.0.236/trunk@8345 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 23:02:19 +00:00
akkana%netscape.com
356705cb89 Fixes for switching focus on Ender toolbars. Also, clean up code wrt virtual declarations.
git-svn-id: svn://10.0.0.236/trunk@8344 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 23:01:55 +00:00
joki%netscape.com
be271d814a Fix makefile typo to fix unix builds
git-svn-id: svn://10.0.0.236/trunk@8343 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 21:59:08 +00:00
joki%netscape.com
3e45079cd6 Fix nsIWidget's GetParent call to return parent, not self.
git-svn-id: svn://10.0.0.236/trunk@8342 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 21:41:36 +00:00
joki%netscape.com
ba9796126f Adding DOM append child interface and implementing window.frames array.
git-svn-id: svn://10.0.0.236/trunk@8341 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 21:39:27 +00:00
joki%netscape.com
7e064bbd3a Modifying nsIContent's AppendChild -> AppendChildTo to stop conflict with
DOM interfaces.


git-svn-id: svn://10.0.0.236/trunk@8340 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 21:38:26 +00:00
morse%netscape.com
d80772b5de added comment requested by relliott
git-svn-id: svn://10.0.0.236/trunk@8339 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 20:45:59 +00:00
morse%netscape.com
6ad29b6117 get privacy tutorial from outside the firewall so web users can see it
git-svn-id: svn://10.0.0.236/trunk@8338 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 20:42:20 +00:00
morse%netscape.com
929cfbda61 hook up about-site menu item
git-svn-id: svn://10.0.0.236/trunk@8337 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 20:41:06 +00:00
morse%netscape.com
2def2e94bf pass current url rather than base url to single signon
git-svn-id: svn://10.0.0.236/trunk@8336 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 20:38:28 +00:00
preed%netscape.com
41bcfb40ff This is a bug fix; when two tree were displayed at once, the argument in
the menu for "addnote.cgi" was passed as tree1 and tree2, not the specific
buildtree for that block. This problem was experienced with the other menu
items, but corrected before the first checkin. This checkin fixes this
problem with addnote.cgi as well.


git-svn-id: svn://10.0.0.236/trunk@8335 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 18:40:26 +00:00
kostello%netscape.com
9bbbdd2773 Synched with Pasteboard code on the branch
git-svn-id: svn://10.0.0.236/trunk@8334 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 18:28:48 +00:00
dcone%netscape.com
f268fc7fbf *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8333 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 17:14:30 +00:00
dcone%netscape.com
3b53441efb Added GFX factory creation, this allows the nsDeviceContext to be created.
git-svn-id: svn://10.0.0.236/trunk@8332 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 17:13:52 +00:00
dcone%netscape.com
6baa307fd1 Major redo based on a new GFX library
git-svn-id: svn://10.0.0.236/trunk@8331 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 17:13:14 +00:00
dcone%netscape.com
f252c39e4e Added the creation of the device context.
git-svn-id: svn://10.0.0.236/trunk@8330 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 17:12:32 +00:00
dcone%netscape.com
b8d3f3b8bb Updated to the correct way the DeviceContext should work, added the twips calculation
git-svn-id: svn://10.0.0.236/trunk@8329 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 17:11:15 +00:00
ramiro%netscape.com
933646ed20 Move the bookmarks menu to the top level menubar.
git-svn-id: svn://10.0.0.236/trunk@8327 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 10:43:27 +00:00
mcafee%netscape.com
fa3ec6839a Link with $(CCC).
git-svn-id: svn://10.0.0.236/trunk@8326 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 09:30:35 +00:00
mcafee%netscape.com
d6f87350e9 Changed project
git-svn-id: svn://10.0.0.236/trunk@8325 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 09:20:23 +00:00
mcafee%netscape.com
7de4af812b Include paths and defines from Makefile.mozilla
git-svn-id: svn://10.0.0.236/trunk@8324 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 09:18:32 +00:00
mcafee%netscape.com
e815ceb3a8 Adding test CFLAG
git-svn-id: svn://10.0.0.236/trunk@8323 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 09:16:07 +00:00
mcafee%netscape.com
6f28405e11 FE_UnloadPlugin() prototype added struct _np_handle* paramter.
git-svn-id: svn://10.0.0.236/trunk@8322 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:48:22 +00:00
mcafee%netscape.com
5aeab4a954 FE_PromptIMAPSubscriptionUpgrade() prototype changed.
git-svn-id: svn://10.0.0.236/trunk@8321 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:47:40 +00:00
mcafee%netscape.com
70ee80b38e _IMGCB_DisplayPixmap() prototype changed.
git-svn-id: svn://10.0.0.236/trunk@8320 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:47:11 +00:00
mcafee%netscape.com
72205ff75c Missing EmbedWindow calls, CheckConfirm, SelectDialog
git-svn-id: svn://10.0.0.236/trunk@8319 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:46:39 +00:00
mcafee%netscape.com
0506db4654 Added ybmisc.c, REQUIRES needs java, plugimpl, security.
git-svn-id: svn://10.0.0.236/trunk@8318 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:45:51 +00:00
mcafee%netscape.com
71b1b72d93 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@8317 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:45:10 +00:00
mcafee%netscape.com
69d26fc990 nspr20 -> nsprpub
git-svn-id: svn://10.0.0.236/trunk@8316 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:31:34 +00:00
mcafee%netscape.com
b161581f85 minor comment
git-svn-id: svn://10.0.0.236/trunk@8315 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:16:20 +00:00
mcafee%netscape.com
4137f588cf Initial checkin
git-svn-id: svn://10.0.0.236/trunk@8314 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:14:20 +00:00
brendan%netscape.com
297f681a94 Insist on / after builtin at front of MIME type.
git-svn-id: svn://10.0.0.236/trunk@8313 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:12:14 +00:00
brendan%netscape.com
2ee8e38a4a Use text/html, not HTMLAREA, as value of TEXTAREA TYPE field; debloat code.
git-svn-id: svn://10.0.0.236/trunk@8312 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:11:13 +00:00
brendan%netscape.com
f2a071f8f4 Defend against null from FE_FindFileExt in CRDFImage::ProcessIcon (hyatt).
git-svn-id: svn://10.0.0.236/trunk@8311 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:09:01 +00:00
mcafee%netscape.com
3107038651 minor text formatting
git-svn-id: svn://10.0.0.236/trunk@8310 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 08:04:58 +00:00
mcafee%netscape.com
f293558ca7 Includes from Makefile.mozilla
git-svn-id: svn://10.0.0.236/trunk@8309 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 07:52:10 +00:00
mcafee%netscape.com
b31421ce85 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@8308 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 07:41:49 +00:00
mcafee%netscape.com
ed2cfdfed2 Moving Mozilla-specific stuff to Makefile.mozilla for now
git-svn-id: svn://10.0.0.236/trunk@8307 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 07:31:53 +00:00
mcafee%netscape.com
9f847ad970 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@8306 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 07:25:08 +00:00
mcafee%netscape.com
952af2cdc8 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@8305 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 07:19:32 +00:00
valeski%netscape.com
16b4397839 fixing UMR (unitialized memory read) error in netlib timer tracing.
git-svn-id: svn://10.0.0.236/trunk@8304 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 07:01:22 +00:00
morse%netscape.com
bb272f36f1 fix build bustage on mac
git-svn-id: svn://10.0.0.236/trunk@8303 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 06:26:41 +00:00
rpotts%netscape.com
c88eb2fd9c Fixed a crash when Destroy(...) was called without first calling Init(...)
git-svn-id: svn://10.0.0.236/trunk@8302 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 06:21:52 +00:00
joki%netscape.com
375b5308ba Okay, another guess at this bustage.
git-svn-id: svn://10.0.0.236/trunk@8301 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 06:13:03 +00:00
joki%netscape.com
e2d66462b8 Why can't all those little slashes just get along.
git-svn-id: svn://10.0.0.236/trunk@8300 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 05:12:27 +00:00
morse%netscape.com
ffb6a2c5e7 added privacy central
git-svn-id: svn://10.0.0.236/trunk@8299 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 05:04:12 +00:00
morse%netscape.com
7cb07d6bc8 Makefile
git-svn-id: svn://10.0.0.236/trunk@8298 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 04:40:39 +00:00
morse%netscape.com
5b69c849ce added privacy central
git-svn-id: svn://10.0.0.236/trunk@8297 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 04:39:59 +00:00
joki%netscape.com
9c033f7d60 Fix this darned unix redness.
git-svn-id: svn://10.0.0.236/trunk@8296 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 04:38:43 +00:00
cls%seawood.org
724f7bde45 Restoring file biff'd in merge.
git-svn-id: svn://10.0.0.236/trunk@8295 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:50:48 +00:00
cls%seawood.org
e0052638a0 Restoring file biff'd in merge.
git-svn-id: svn://10.0.0.236/trunk@8293 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:34:44 +00:00
joki%netscape.com
191a3d156d Modify mouseover url messages to send empty string when leaving links.
git-svn-id: svn://10.0.0.236/trunk@8292 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:28:44 +00:00
cls%seawood.org
d50e1798e7 Fixed problem with Irix when $x_includes is not set.
git-svn-id: svn://10.0.0.236/trunk@8291 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:11:33 +00:00
clu%netscape.com
4911dc6d39 implemented FE of Convert Table to Text and Convert Text to Table. reviewed by sarri.
git-svn-id: svn://10.0.0.236/trunk@8290 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:08:41 +00:00
clu%netscape.com
d5f3797dde adding cmd ids for composer Convert_Text_To_Table and Convert_Table_To_Text. reviewed by sarri.
git-svn-id: svn://10.0.0.236/trunk@8289 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:06:20 +00:00
clu%netscape.com
7dbbfd73de #313490 - activation and deactivation of image dialog captions. reviewed by sarri.
git-svn-id: svn://10.0.0.236/trunk@8288 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:05:01 +00:00
clu%netscape.com
8c94f1f92c fix to #312039 - font toolbar update. Also implemented FE for Convert Text to Table and Convert Table to Text. reviewed by sarri.
git-svn-id: svn://10.0.0.236/trunk@8287 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:04:59 +00:00
clu%netscape.com
794ef9319b partial fix for #312859; reviewed by sarri.
git-svn-id: svn://10.0.0.236/trunk@8286 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 03:04:57 +00:00
leaf%mozilla.org
77970cfb5d added mozilla/config/autoconf.mk.in to MozillaSourceUnixOnly module
git-svn-id: svn://10.0.0.236/trunk@8284 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 02:42:59 +00:00
rickg%netscape.com
dfdf0fbcb9 Too many bugs to mention; tables, skipped content; perf; memory
git-svn-id: svn://10.0.0.236/trunk@8283 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 02:04:39 +00:00
rickg%netscape.com
71238ab307 fixed off by one error in Pop()
git-svn-id: svn://10.0.0.236/trunk@8282 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 02:03:56 +00:00
morse%netscape.com
9f0db52c2f fix problem caused by dereferencing null pointer
git-svn-id: svn://10.0.0.236/trunk@8281 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 01:53:08 +00:00
jevering%netscape.com
a4e04b1a1e Moving plugin directory stuff.
git-svn-id: svn://10.0.0.236/trunk@8280 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 01:12:53 +00:00
pinkerton%netscape.com
049d5d84a6 Fix rowRefresh() boo-boo so now it actually redraws the cell when the custom icon loads. Cells with custom icons now draw with the correct text color in all modes.
git-svn-id: svn://10.0.0.236/trunk@8279 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 00:40:34 +00:00
vidur%netscape.com
7aadac9126 Fixed build bustage
git-svn-id: svn://10.0.0.236/trunk@8278 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-21 00:24:40 +00:00
vidur%netscape.com
1336fb61cc Fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@8277 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 23:07:31 +00:00
vidur%netscape.com
5e62f96c2c Fixed build bustage.
git-svn-id: svn://10.0.0.236/trunk@8276 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 23:00:52 +00:00
mcafee%netscape.com
5587f1d8d2 Initial checkin
git-svn-id: svn://10.0.0.236/trunk@8275 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:46:05 +00:00
vidur%netscape.com
128b33e018 Used IIDs for nsIConnectionInfo and nsIDocumentLoadInfo
git-svn-id: svn://10.0.0.236/trunk@8274 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:29:22 +00:00
vidur%netscape.com
74ab64f3f0 Added nsIDocumentLoadInfo interface. Temporarily added service startup inside WebShell factory.
git-svn-id: svn://10.0.0.236/trunk@8273 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:28:52 +00:00
vidur%netscape.com
4c4c6f8445 Added nsIConnectionInfo interface. Temporarily special-cased javascript: URLs in URL parsing.
git-svn-id: svn://10.0.0.236/trunk@8272 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:28:09 +00:00
vidur%netscape.com
d5ef9d3965 Exported NET_StreamBuilder and NET_RegisterProtocolImplementation for modular netlib
git-svn-id: svn://10.0.0.236/trunk@8271 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:27:20 +00:00
vidur%netscape.com
693f5d1915 Exported NET_StreamBuilder for modular netlib
git-svn-id: svn://10.0.0.236/trunk@8270 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:26:31 +00:00
vidur%netscape.com
b9d512330b Added javascript: URL handling. Added AddNamedReference and RemovedNamedReference to script context interface.
git-svn-id: svn://10.0.0.236/trunk@8269 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:25:21 +00:00
jevering%netscape.com
92c2b89717 Moved the ART image hack to the tip.
git-svn-id: svn://10.0.0.236/trunk@8268 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 22:10:06 +00:00
pinkerton%netscape.com
deb24c7782 Handle d&d between multiple popdown trees. Make sure we broadcast that the current view has changed so that the title strip picks it up.
git-svn-id: svn://10.0.0.236/trunk@8267 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 21:51:10 +00:00
pinkerton%netscape.com
dc17b4d9a5 Fix hilight redraw bugs during d&d.
git-svn-id: svn://10.0.0.236/trunk@8266 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 21:50:12 +00:00
pinkerton%netscape.com
175ff9ffad Correctly do dragging between popdown trees in the same window. Also only open the first item in the selection when in a popdown.
git-svn-id: svn://10.0.0.236/trunk@8265 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 21:49:56 +00:00
pinkerton%netscape.com
990a507247 Broadcast message on mouse-up.
git-svn-id: svn://10.0.0.236/trunk@8264 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 21:49:11 +00:00
pinkerton%netscape.com
3f5a9b51ac Handle redrawing the popdown tree during d&d when one goes away and a new one appears. Also close on mouse-up when clicking outside of popdown.
git-svn-id: svn://10.0.0.236/trunk@8263 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 21:48:34 +00:00
jgellman%netscape.com
4d840695e9 2nd try; new parser from james clark
git-svn-id: svn://10.0.0.236/trunk@8262 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 21:20:50 +00:00
kmcclusk%netscape.com
5b9b614171 Added XP_UNIX code to leave the top slash for absolute file paths under UNIX.
This fixes a problem where all of the slashs get stripped off because the URL
is asked to parse a previously parsed url string.


git-svn-id: svn://10.0.0.236/trunk@8261 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 20:32:52 +00:00
jgellman%netscape.com
679d9e3f03 back out last checkin -- bad Macintosh karma, need more time
git-svn-id: svn://10.0.0.236/trunk@8260 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 20:05:26 +00:00
jgellman%netscape.com
a7f3d8c6b3 new XML parser from James Clark
git-svn-id: svn://10.0.0.236/trunk@8259 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 19:24:29 +00:00
karnaze%netscape.com
928a6de8a5 checked for null form manager & fixed memory leak in win95 hack code
git-svn-id: svn://10.0.0.236/trunk@8256 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 18:27:13 +00:00
buster%netscape.com
0e5df88ea8 verify that proportionate-width columns (1* format, or COLS attribute)
get sized to at least their minimum width


git-svn-id: svn://10.0.0.236/trunk@8255 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 17:31:20 +00:00
warren%netscape.com
cf540377a4 Fixed copyright.
git-svn-id: svn://10.0.0.236/trunk@8252 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 07:58:32 +00:00
warren%netscape.com
9abf0ee471 Added from SpiderMonkey131_BRANCH of ns/js/ref/liveconnect
git-svn-id: svn://10.0.0.236/trunk@8251 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 07:58:00 +00:00
rpotts%netscape.com
586e2e3691 moving changes in 3.55.2.1 onto the tip...
git-svn-id: svn://10.0.0.236/trunk@8250 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 06:19:11 +00:00
rpotts%netscape.com
b142e0f478 moving changes in 1.36.2.1 onto the tip...
git-svn-id: svn://10.0.0.236/trunk@8248 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 06:17:47 +00:00
rpotts%netscape.com
4b2b401905 moving 3.23.4.1 to the tip...
git-svn-id: svn://10.0.0.236/trunk@8246 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 06:16:32 +00:00
uid401
6c4b8f671a Documentation improvements.
git-svn-id: svn://10.0.0.236/trunk@8244 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 04:51:19 +00:00
mcafee%netscape.com
9cb384db89 Initial version
git-svn-id: svn://10.0.0.236/trunk@8243 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 03:24:24 +00:00
mcafee%netscape.com
1e98a8b997 Switching to test OS_ARCH for Rhapsody instead of using RHAPSODY.
git-svn-id: svn://10.0.0.236/trunk@8242 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 03:09:31 +00:00
mcafee%netscape.com
04523afd75 Woops, we should test OS_ARCH for Rhapsody instead of using RHAPSODY.
git-svn-id: svn://10.0.0.236/trunk@8241 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 03:09:01 +00:00
mcafee%netscape.com
0f70da9c01 Added FE_PromptIMAPSubscriptionUpgrade()
git-svn-id: svn://10.0.0.236/trunk@8240 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:32:50 +00:00
mcafee%netscape.com
3c5be0ed02 Added FE_ShowMinibuffer()
git-svn-id: svn://10.0.0.236/trunk@8239 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:32:25 +00:00
morse%netscape.com
78ddac7d6f remove lock from SI_LogNewURL to assure it won't deadlock
git-svn-id: svn://10.0.0.236/trunk@8238 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:31:57 +00:00
mcafee%netscape.com
560b3337b0 Added FE_AlternateCompose()
git-svn-id: svn://10.0.0.236/trunk@8237 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:31:42 +00:00
mcafee%netscape.com
66c2c448f7 _IMGCB_DisplayPixmap()'s paramters changed; added IMGCBFactory_Create().
git-svn-id: svn://10.0.0.236/trunk@8236 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:31:13 +00:00
mcafee%netscape.com
f7ebc021a8 FE_UnloadPlugin()'s parameters changed.
git-svn-id: svn://10.0.0.236/trunk@8235 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:30:38 +00:00
mcafee%netscape.com
5794639481 Added XFE_AskStreamQuestion to link stubfe.
git-svn-id: svn://10.0.0.236/trunk@8234 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:30:00 +00:00
mcafee%netscape.com
20e701cebc Added STUBFE_CreateEmbedWindow STUBFE_SaveEmbedWindow STUBFE_RestoreEmbedWindow STUBFE_DestroyEmbedWindow STUBFE_FreeBuiltinElement STUBFE_DisplayBuiltin STUBFE_CheckConfirm STUBFE_SelectDialog.
git-svn-id: svn://10.0.0.236/trunk@8233 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:29:26 +00:00
mcafee%netscape.com
3a38b24d07 Updated libraries to link this on Solaris. Stripped out release stuff. Took out some XFE hacks.
git-svn-id: svn://10.0.0.236/trunk@8232 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 02:28:32 +00:00
ftang%netscape.com
66656c9da5 add XP_ASSERT(IsUTF8String) to some HT api
git-svn-id: svn://10.0.0.236/trunk@8230 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:58:52 +00:00
mcafee%netscape.com
41f3bf64df Switch to using OS_ARCH instead of shell command. r=ramiro
git-svn-id: svn://10.0.0.236/trunk@8229 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:51:42 +00:00
pinkerton%netscape.com
191fdd6738 Don't let popdown tree go off the right side of window. Push it back to left if it would.
git-svn-id: svn://10.0.0.236/trunk@8228 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:48:01 +00:00
pinkerton%netscape.com
0f9d2f989b Fix problems with popdown tree crashing when closing on double-click (again) by making every browser window have its own version of it and have a static member which points to the currently active one so we can still do things like clip it out when blitting images in the html area w/out having to know about the browser window.
git-svn-id: svn://10.0.0.236/trunk@8227 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:40:08 +00:00
pinkerton%netscape.com
34e9f3e491 Don't call HT_CanDropURLOn with bogus data.
git-svn-id: svn://10.0.0.236/trunk@8226 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:38:45 +00:00
scullin%netscape.com
c9fa0f4535 Fix hack incompatibility.
git-svn-id: svn://10.0.0.236/trunk@8225 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:33:26 +00:00
cyeh%netscape.com
bb95f3bd18 adding file: merge from AUTOCONF_1_0
git-svn-id: svn://10.0.0.236/trunk@8224 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:31:17 +00:00
cyeh%netscape.com
72e703144e merging files from AUTOCONF_1_0 branch
git-svn-id: svn://10.0.0.236/trunk@8223 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:30:12 +00:00
scullin%netscape.com
053a936966 Move form element hack from branch.
git-svn-id: svn://10.0.0.236/trunk@8222 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:24:29 +00:00
cyeh%netscape.com
3e7e71b99a fixing biffed autoconf_1_0 merge
git-svn-id: svn://10.0.0.236/trunk@8221 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-20 00:18:03 +00:00
cyeh%netscape.com
dc77a65bd2 merge autoconf branch to tip
git-svn-id: svn://10.0.0.236/trunk@8220 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:36:20 +00:00
cyeh%netscape.com
190a99330b resurrect file toasted from tip
git-svn-id: svn://10.0.0.236/trunk@8219 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:34:46 +00:00
valeski%netscape.com
0317dc7bb0 fixed memory leak a little more safely :)
git-svn-id: svn://10.0.0.236/trunk@8217 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:33:46 +00:00
valeski%netscape.com
fe7b858a07 fixed memory leak
git-svn-id: svn://10.0.0.236/trunk@8216 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:32:43 +00:00
preed%netscape.com
0ac409a746 Fixes some bugs in the way messages of the day were stored; certain
characters could cause tinderbox to bomb out because they weren't escaped,
and the '1;' at the end was missing (which is bad because this is needed
if it's required). Reviewed by terry.


git-svn-id: svn://10.0.0.236/trunk@8215 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:31:52 +00:00
preed%netscape.com
b086f7409c Added features to allow popup menu's in showbuilds.cgi (requsted), and
modified a chop to chomp to make SURE it does what we want. Reviewed by
terry.


git-svn-id: svn://10.0.0.236/trunk@8214 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:20:45 +00:00
troy%netscape.com
3dd6745dd7 Changed web shell widget to NOT clip children
git-svn-id: svn://10.0.0.236/trunk@8213 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:13:00 +00:00
troy%netscape.com
703ca9af2b Added clipChildren option to nsWidgetInitData
git-svn-id: svn://10.0.0.236/trunk@8212 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:11:41 +00:00
valeski%netscape.com
277cec0087 webshell/public/nsIDocumentLoader.h
Extended the nsIDocumentLoader interface's LoadURL() method to take a reload type parameter.

webshell/public/nsIWebShell.h
Extended the nsIWebShell interface's LoadURL() method to take a reload type parameter.

webshell/src/nsDocLoader.cpp
1. Extended the nsIDocumentBindInfo interface's Bind() method to take a reload type parameter. The Bind() method now takes the reload parameter and passes it to the nsIUrl it creates.
2. Added support to the DocumentLoader for the extended LoadURL() parameter list. It now passes the reload type down into the Bind() method of the nsIDocumentBindInfo.

webshell/src/nsWebShell.cpp
1. Added support to the nsWebShell to use the new reload type parameter during loads.
2. Hooked up the reload type parameter in the nsWebShell::Reload() method so we actually use it.


git-svn-id: svn://10.0.0.236/trunk@8211 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:01:52 +00:00
valeski%netscape.com
b4d5c7e4ce RAPTOR ONLY CHECKIN
network/module/nsIURL.h
Added Get/Set ReloadType methods so a user can query/set the reload type for the url. The default is normal reload.

network/module/nsURL.cpp
Added support for the new nsIURL interface methods (Get/Set ReloadType).

network/module/nsNetService.cpp
OpenStream and OpenBlockingStream now query the nsIURL for it's reload type before creating the url struct. This way we can control how the url is loaded.


git-svn-id: svn://10.0.0.236/trunk@8210 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 23:00:15 +00:00
karnaze%netscape.com
fe7799e863 removed calls to DidReflow on browse button and text area
git-svn-id: svn://10.0.0.236/trunk@8206 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 21:43:46 +00:00
scullin%netscape.com
0c740efd34 Move resource hack to tip.
git-svn-id: svn://10.0.0.236/trunk@8205 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 21:38:57 +00:00
michaelp%netscape.com
f41b11459c fixed bug in loading one of the icons where the handle to load from was never
specified.


git-svn-id: svn://10.0.0.236/trunk@8204 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 21:05:50 +00:00
michaelp%netscape.com
a59b85078e added support for opening new windows with _blank url targets.
git-svn-id: svn://10.0.0.236/trunk@8203 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 21:00:51 +00:00
chuckb%netscape.com
d495a73e5b Java SDK build instructions
git-svn-id: svn://10.0.0.236/trunk@8202 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 20:57:12 +00:00
michaelp%netscape.com
0f6556178c added assert to warn you of recursive painting.
git-svn-id: svn://10.0.0.236/trunk@8201 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 20:56:52 +00:00
michaelp%netscape.com
2aa2b60dad tiny change to get things to work under the 4.1 compiler.
git-svn-id: svn://10.0.0.236/trunk@8200 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 20:56:27 +00:00
cls%seawood.org
4288391d23 AUTOCONF_1_0 landing.
git-svn-id: svn://10.0.0.236/trunk@8198 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 20:42:14 +00:00
buster%netscape.com
214f7beda3 fixes a layout bug where subsequent cells in a column when colspans are involved
could select the wrong starting width for the column, causing it to have the
wrong ending width.


git-svn-id: svn://10.0.0.236/trunk@8197 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 20:41:06 +00:00
buster%netscape.com
7adfe644b7 modified the resize reflow optimization so max element size is returned
if requested without triggering a reflow if the width hasn't changed.


git-svn-id: svn://10.0.0.236/trunk@8196 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 18:40:33 +00:00
despotdaemon%netscape.com
0e3954d4bd Pseudo-automatic update of changes made by gem@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8195 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 18:25:53 +00:00
troy%netscape.com
88d691c869 Re-ordered code that adds loader object to the array of loaders
git-svn-id: svn://10.0.0.236/trunk@8194 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 18:07:27 +00:00
troy%netscape.com
b9f04152ae Changed call to UpdateView() to be synchronous. This keeps us from
going re-entrant


git-svn-id: svn://10.0.0.236/trunk@8193 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:45:28 +00:00
cyeh%netscape.com
ecc5be6ea7 change to the modules file per Chuck Boatwright, LDAP owner
git-svn-id: svn://10.0.0.236/trunk@8192 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:33:00 +00:00
dcone%netscape.com
539998ec1a fixed list up a little for gfx build
git-svn-id: svn://10.0.0.236/trunk@8191 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:26:50 +00:00
dcone%netscape.com
645dadc9f8 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8190 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:24:14 +00:00
dcone%netscape.com
a9d4cc2a1b Re wrote these files to reflect the correct way of building Devicecontexts
git-svn-id: svn://10.0.0.236/trunk@8189 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:24:13 +00:00
dcone%netscape.com
23d55d5115 Added some project info, files
git-svn-id: svn://10.0.0.236/trunk@8188 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:21:53 +00:00
dcone%netscape.com
ca72a23f3d Re-syn
git-svn-id: svn://10.0.0.236/trunk@8187 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:21:06 +00:00
dcone%netscape.com
b29ee2f9e9 Major redo based on a new GFX library
git-svn-id: svn://10.0.0.236/trunk@8186 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 17:20:31 +00:00
buster%netscape.com
ad76084cb9 improved colspan handling.
cells with colspans and specified widths divide their width provisionally between the columns they span. This provisional division is ammended by any cell in any of the effected columns that:
1) has a colspan=1, and
2) has a width specified
the widths of all other columns must be adjusted for cells like these.  Further complicating matters is that it seems <faith> that if multiple colspanning cells intersect a column and each has a width
specified such that the column would have a different width depending on which is used, only the first such cell is used </faith>.  I can neither confirm nor deny this reading the mozilla code.

I also taught the cell map how to deal with this situation:

 colspan=1 | colspan=2 | colspan=1
 colspan=1 | colspan=2 | colspan=1

This table "really" has 4 columns, but the middle cells are treated as if they have no colspan.
Trust me, it matters.  The original colspan attributes can't simply be thrown away because Mr. DOM
could come along at any time and add/remove a cell that would make them important.


git-svn-id: svn://10.0.0.236/trunk@8185 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 15:43:51 +00:00
mcafee%netscape.com
78a287cde8 Compile flag needed to get expat/xmlparse/xmlparse.c to compile correctly.
git-svn-id: svn://10.0.0.236/trunk@8184 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 08:29:56 +00:00
mcafee%netscape.com
b05ae4a7ce Adding RHAPSODY define so we don't have to do shell commands for ifdef's in Makefiles
git-svn-id: svn://10.0.0.236/trunk@8183 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 08:26:15 +00:00
mcafee%netscape.com
e2f15157aa Adding ybfe, YellowBox/Rhapsody front-end
git-svn-id: svn://10.0.0.236/trunk@8182 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 07:23:28 +00:00
joki%netscape.com
f300c374d7 Moving view selection for event handling into nsViewManager, Adding GrabMouseEvents and GrabKeyEvents
git-svn-id: svn://10.0.0.236/trunk@8181 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 05:35:20 +00:00
troy%netscape.com
e2ff812829 Added some comments
git-svn-id: svn://10.0.0.236/trunk@8180 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 05:06:59 +00:00
troy%netscape.com
2a617558d9 Changed CopyOffScreenBits() to make sure the logical palette is selected
into the screen DC.


git-svn-id: svn://10.0.0.236/trunk@8179 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 04:41:48 +00:00
troy%netscape.com
0ea8197cc3 Changed WM_QUERYNEWPALETTE code to return TRUE to indicate that
a palette was realized


git-svn-id: svn://10.0.0.236/trunk@8176 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 02:31:08 +00:00
morse%netscape.com
3bde6edabc fixed incorrect return type on NET_CookiePermission
git-svn-id: svn://10.0.0.236/trunk@8175 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 02:30:25 +00:00
clu%netscape.com
3bcc29c1be #71944. reviewed by jfrancis.
git-svn-id: svn://10.0.0.236/trunk@8174 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 02:18:02 +00:00
clu%netscape.com
154eccdf6a adding cmd ids for composer Split Cell and Merge Cell. reviewed by jfrancis.
git-svn-id: svn://10.0.0.236/trunk@8173 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 02:18:01 +00:00
clu%netscape.com
e0c34a0c13 implementing macfe Split Cell and Merge Cell. Included AutoKey in the conditional statements for backspace delete and regular key input to help with typing efficiency. reviewed by jfrancis.
git-svn-id: svn://10.0.0.236/trunk@8172 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 02:18:00 +00:00
clu%netscape.com
2ca1451b24 checking in ftang's fix for the correct positioning of the asian language input window.
git-svn-id: svn://10.0.0.236/trunk@8171 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 02:17:59 +00:00
troy%netscape.com
1067da29bd Changed to realize the palette in the background
git-svn-id: svn://10.0.0.236/trunk@8170 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 01:58:17 +00:00
peterl%netscape.com
61c45a8a04 handle body's marginwidth/height via a special style rule
git-svn-id: svn://10.0.0.236/trunk@8169 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 01:16:40 +00:00
peterl%netscape.com
a458984ea5 handle marginwidth/height via a special style rule
git-svn-id: svn://10.0.0.236/trunk@8168 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 01:16:21 +00:00
mcafee%netscape.com
21157c248b Adding support for XP_UNIX && NO_X11. r,a=warren
git-svn-id: svn://10.0.0.236/trunk@8167 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 01:13:08 +00:00
troy%netscape.com
30842a5c4b Changed palette code to get the palette from the device context
git-svn-id: svn://10.0.0.236/trunk@8166 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 00:57:02 +00:00
troy%netscape.com
1d7149f1d1 Added GetPaletteInfo()
git-svn-id: svn://10.0.0.236/trunk@8165 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-19 00:37:05 +00:00
valeski%netscape.com
b4eb4f5402 webshell/public/nsIDocumentLoader.h
Removed support for the underlying timer/refreshurl infrastructure.

webshell/src/nsDocLoader.cpp
1. Added support in nsDocumentBindInfo for the new nsIRefreshUrl method for cancelling.
1.5 Changed the refreshurl() method so it delegates to the container's (i.e. webshell's) refreshurl() method.
2. Removed the "actual" refresh url implementation (timers) from the nsDocumentBindInfo. It's now in the webshell and nsDocumentBindInfo's implementation of nsIRefreshUrl simply delegates to the "container" (i.e. the webshell).
3. Added call to new NS_NewURL() routine which takes an nsISupports pointer as an arg, if the nsDocumentBindInfo has a container to pass along.

webshell/src/nsWebShell.cpp
Added support for the nsIRefreshUrl interface to nsWebShell (this includes the underlying timers and callback mechanism).


git-svn-id: svn://10.0.0.236/trunk@8164 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 23:25:17 +00:00
valeski%netscape.com
a192f6bdd0 network/module/nsIRefreshUrl.h
Extended the nsIRefreshUrl interface to include a cancel method.

network/module/nsNetService.cpp
1. Added code to hook the nsConnectionInfo object up to the nsISupports pointer in the url being loaded.
2. Removed the redirect logic in bam_exit_routine(). The backend dependency on the front end is gone.

network/module/nsNetStream.cpp
Added initialization/destruction of the nsISupports pointer in the nsConnectionInfo.

network/module/nsNetStream.h
Added the nsISupports member declaration to nsConnectionInfo, and remvoed the redirect member variable.

network/module/nsNetStubs.cpp
FE_SetRefreshURLTimer() routine has been modified so it no longer relies on the pConsumer (i.e. nsDocumentBindInfo) which was causing us to leak it. Now we use the nsISupports pointer in the nsConnectionInfo object to access the nsIRefreshURL interface so we can reload the url.

network/module/nsStubContext.cpp
Modified stub_complete() so we no longer pay attention to the redirect member of the nsConnectionInfo object.

network/module/nsIURL.h
1. Added GetContainer() method to nsIURL which returns the nsISupports pointer of the container for this url.
2. created a new NS_NewURL() routine which takes an nsISupports pointer as a parameter.

network/module/nsURL.cpp
1. Added a new nsURL constructor that takes a nsISupports pointer as a param.
2. Added GetContainer() method and nsISupports pointer initialization/destruction.


git-svn-id: svn://10.0.0.236/trunk@8163 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 23:24:28 +00:00
cmanske%netscape.com
182ab83bed Fixed build bustage
git-svn-id: svn://10.0.0.236/trunk@8162 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 23:18:24 +00:00
cls%seawood.org
8ac3fcb06a Added ifdefs for MOZ_NATIVE_{JPEG,PNG,ZLIB}. Approved by pnunn%netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8161 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:59:14 +00:00
kostello%netscape.com
662cb6cd5d Added nsButton to libraries
git-svn-id: svn://10.0.0.236/trunk@8160 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:49:21 +00:00
kostello%netscape.com
0c173edadd Fixed FindWidgetHit. Added conditional checks for enumerator code.
git-svn-id: svn://10.0.0.236/trunk@8159 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:48:35 +00:00
kostello%netscape.com
e5e014b0d5 Comment back in nsIButton code
git-svn-id: svn://10.0.0.236/trunk@8158 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:46:07 +00:00
kostello%netscape.com
5e64f2c123 Add support for nsButton
git-svn-id: svn://10.0.0.236/trunk@8157 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:45:21 +00:00
kostello%netscape.com
c130b91c69 Check for null
git-svn-id: svn://10.0.0.236/trunk@8156 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:44:43 +00:00
kostello%netscape.com
5eaf433084 Added mControl -- temporarily, code from nsButton will probably be moved to a superclass
git-svn-id: svn://10.0.0.236/trunk@8155 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:44:02 +00:00
kostello%netscape.com
1d4b465870 First step in converting motif code to mac code.
git-svn-id: svn://10.0.0.236/trunk@8154 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:43:08 +00:00
kostello%netscape.com
08e8a4c960 Changed comment from motif to mac
git-svn-id: svn://10.0.0.236/trunk@8153 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:42:23 +00:00
valeski%netscape.com
e05d07e172 fixed a memory leak
git-svn-id: svn://10.0.0.236/trunk@8152 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:38:03 +00:00
leif%netscape.com
fa2deda6fe *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8150 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:35:57 +00:00
leif%netscape.com
2d5d4601ca *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8149 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:26:44 +00:00
leif%netscape.com
8ef6152a7d Added the setDefaultRebindProc() function back...
git-svn-id: svn://10.0.0.236/trunk@8148 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:26:30 +00:00
pnunn%netscape.com
22b4719a0f fix for #314603. pnunn. code error introduced during the modimglib-branch
landing for nglayout.


git-svn-id: svn://10.0.0.236/trunk@8147 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:24:59 +00:00
cmanske%netscape.com
425a7c0d6d Fixed multiple-freeing of clipboard formats
git-svn-id: svn://10.0.0.236/trunk@8146 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:17:18 +00:00
michaelp%netscape.com
31d0b724ac when killing a window, we now set the GWL_USERDATA to NULL. this will basically
kill the "parent" pointer.


git-svn-id: svn://10.0.0.236/trunk@8145 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:03:34 +00:00
karnaze%netscape.com
b35734172b marginwidth, marginheight set in <frame> is passed to sub doc and added to padding
git-svn-id: svn://10.0.0.236/trunk@8144 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:02:23 +00:00
scullin%netscape.com
986f93c67c Tweek interface to be compatible with branch for now.
git-svn-id: svn://10.0.0.236/trunk@8143 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 22:01:50 +00:00
dcone%netscape.com
f69f171885 added MANIFEST file for cmd/macfe/utility
git-svn-id: svn://10.0.0.236/trunk@8142 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 21:57:10 +00:00
dcone%netscape.com
c6822e5ecf First Checked In.
git-svn-id: svn://10.0.0.236/trunk@8141 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 21:55:56 +00:00
cmanske%netscape.com
9d683269ec Removed unused strings and function
git-svn-id: svn://10.0.0.236/trunk@8140 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 20:25:19 +00:00
cmanske%netscape.com
587d0f6a3b Removed unused strings and function
git-svn-id: svn://10.0.0.236/trunk@8139 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 20:25:17 +00:00
cmanske%netscape.com
aac0f510b3 Table editing menu work, fixing cell display problems.
git-svn-id: svn://10.0.0.236/trunk@8138 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 20:24:39 +00:00
cmanske%netscape.com
148ca16ff1 More table editing work: convert Excel spreadsheet to internal table format for more flexible paste options
git-svn-id: svn://10.0.0.236/trunk@8137 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 20:24:37 +00:00
morse%netscape.com
1030b2ab89 changes for privacy-central pane
git-svn-id: svn://10.0.0.236/trunk@8136 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 20:00:37 +00:00
morse%netscape.com
7240ed73e9 added string for one-site cookie viewer
git-svn-id: svn://10.0.0.236/trunk@8135 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 19:58:45 +00:00
morse%netscape.com
9005c1b29b make it compile with rhapsody compiler
git-svn-id: svn://10.0.0.236/trunk@8134 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 19:40:55 +00:00
ftang%netscape.com
9ae659900c Add vietnam.c into libi18n (libi18l for historic mistake) . Approved by steve.
git-svn-id: svn://10.0.0.236/trunk@8133 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 19:06:24 +00:00
ftang%netscape.com
eb6d9431cc add Vietname VNI into WinFE ui. Thanks Van Le levan@hotmail.com from the net
git-svn-id: svn://10.0.0.236/trunk@8132 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 19:03:36 +00:00
pinkerton%netscape.com
8700ac667d Now generating xSYM info for nsMacMessagePump.cpp in debug target.
git-svn-id: svn://10.0.0.236/trunk@8130 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 17:54:17 +00:00
kostello%netscape.com
77000c658c Fix mac build
git-svn-id: svn://10.0.0.236/trunk@8129 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 17:24:55 +00:00
pinkerton%netscape.com
8f5a39cdcc Removed full paths to PowerPlant and replaced them with compiler relative ones in shlb target.
git-svn-id: svn://10.0.0.236/trunk@8128 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 17:24:43 +00:00
kostello%netscape.com
192779608e These were checked in by mistake
git-svn-id: svn://10.0.0.236/trunk@8127 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 16:45:33 +00:00
despotdaemon%netscape.com
fb46f2e159 Pseudo-automatic update of changes made by freier@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8126 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 16:37:34 +00:00
dcone%netscape.com
933b9fd29b Added paint and mousemove events, messagepump
git-svn-id: svn://10.0.0.236/trunk@8125 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 16:27:05 +00:00
dcone%netscape.com
7fc549fd57 Added paint and mousemove events
git-svn-id: svn://10.0.0.236/trunk@8124 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 16:23:13 +00:00
wtc%netscape.com
be00ad7fad Define HAVE_LONG_LONG because gcc/g++ support 'long long'.
git-svn-id: svn://10.0.0.236/trunk@8123 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 15:00:22 +00:00
mcafee%netscape.com
32d514c5b4 Next attempt at getting shared libs to build properly
git-svn-id: svn://10.0.0.236/trunk@8122 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 09:07:32 +00:00
mcafee%netscape.com
fa0dd8ad23 Support DLL_SUFFIX if build overrides .so default
git-svn-id: svn://10.0.0.236/trunk@8121 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 09:06:48 +00:00
mcafee%netscape.com
4cafb49f48 Break up some logic so the Rhapsody compiler can handle it.
git-svn-id: svn://10.0.0.236/trunk@8120 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 08:06:12 +00:00
mcafee%netscape.com
bc24633161 Adding support for Unix && NO_X11
git-svn-id: svn://10.0.0.236/trunk@8119 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 07:47:59 +00:00
mcafee%netscape.com
29b92b686f Support for Intel
git-svn-id: svn://10.0.0.236/trunk@8118 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 07:29:04 +00:00
mcafee%netscape.com
b6ffcd996c Rhapsody doesn't have malloc.h
git-svn-id: svn://10.0.0.236/trunk@8117 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 04:43:46 +00:00
troy%netscape.com
ff933d5110 Added GetLogicalPalette() to nsDeviceContextWin
git-svn-id: svn://10.0.0.236/trunk@8116 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 04:11:01 +00:00
joki%netscape.com
8df994b2d9 A couple of macros for getting basic event types
git-svn-id: svn://10.0.0.236/trunk@8115 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 03:47:24 +00:00
hshaw%netscape.com
cd85334f21 Fix build bustage, moral of the story, be very careful with macros which implicitly take & of your arguments
git-svn-id: svn://10.0.0.236/trunk@8114 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 02:54:13 +00:00
troy%netscape.com
2da30889d0 Changed destructor to Interrupt() image group before realeasing reference
git-svn-id: svn://10.0.0.236/trunk@8113 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 01:43:35 +00:00
jgellman%netscape.com
22c8b015c6 changes from wtc and the net for 64 bit machines, almost certainly not the last of them either
git-svn-id: svn://10.0.0.236/trunk@8112 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 01:24:30 +00:00
hshaw%netscape.com
1f308ef5fc Fix buffering problem and memory leak for gzip compressed content. Generic problem was causing assert failure on Windows only
git-svn-id: svn://10.0.0.236/trunk@8111 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 00:14:32 +00:00
kostello%netscape.com
9cd4a71b7c Fix mac build
git-svn-id: svn://10.0.0.236/trunk@8110 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-18 00:09:48 +00:00
buster%netscape.com
2cd93059a0 fixed nested tables for the case where both parent and child table are %-width,
and the columns are any variety of width types


git-svn-id: svn://10.0.0.236/trunk@8109 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 23:37:04 +00:00
kostello%netscape.com
2441f8be8f Added WidgetDebug.o to library
git-svn-id: svn://10.0.0.236/trunk@8108 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 23:36:16 +00:00
troy%netscape.com
99d339efe3 Changed CreateILColorSpace() to GetILColorSpace() (device context now
owns the color space), and cleaned up image renderer code


git-svn-id: svn://10.0.0.236/trunk@8107 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 23:20:42 +00:00
pnunn%netscape.com
6703ee5d5a fix for #313251, migrating #312030 to mozilla. pnunn. ok'd by nisheeth.
git-svn-id: svn://10.0.0.236/trunk@8106 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 22:20:27 +00:00
raman%netscape.com
0415ac2bca Updated the code to get error messages from allxpstr.h
git-svn-id: svn://10.0.0.236/trunk@8105 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 21:12:30 +00:00
rjc%netscape.com
43815ef0da Import IE favorites and history on Mac might like how its also done on Windows.
git-svn-id: svn://10.0.0.236/trunk@8104 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 20:17:06 +00:00
norris%netscape.com
3f00361c40 Allow setting document.domain to remove the port part of the URL for later origin checks.
git-svn-id: svn://10.0.0.236/trunk@8103 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 20:04:23 +00:00
leif%netscape.com
8947cb6020 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8102 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 19:24:50 +00:00
leif%netscape.com
2d28609b8c *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8101 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 19:24:04 +00:00
leif%netscape.com
aa63828e84 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8100 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 19:21:33 +00:00
buster%netscape.com
fad7c8e1ab fixed a memory leak where a style context was not being released when
the table cell set the table column's style.


git-svn-id: svn://10.0.0.236/trunk@8098 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 19:03:36 +00:00
kmcclusk%netscape.com
c871e3a274 Implemented SetFocus.
git-svn-id: svn://10.0.0.236/trunk@8095 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 17:58:37 +00:00
karnaze%netscape.com
ec48384b65 removed text field and browse button of <input type=text> from content model.
git-svn-id: svn://10.0.0.236/trunk@8094 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 17:46:08 +00:00
rods%netscape.com
fab918d441 Add SetFocus so keyboard navigation works.
git-svn-id: svn://10.0.0.236/trunk@8093 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 16:43:07 +00:00
dcone%netscape.com
9be255dd28 fixed up messaging
git-svn-id: svn://10.0.0.236/trunk@8092 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 15:18:28 +00:00
jfrancis%netscape.com
d108641113 Correcting command handling for htmlarea form widgets. Now they no longer take over a host of browser commands like Print, Save, etc.
git-svn-id: svn://10.0.0.236/trunk@8091 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 10:41:54 +00:00
jfrancis%netscape.com
73d4b06bf1 First pass at getting a toolbar up for htmlarea form widgets. It's limping...
git-svn-id: svn://10.0.0.236/trunk@8090 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 09:23:45 +00:00
jfrancis%netscape.com
6cc6d647e1 First pass at getting a toolbar up for htmlarea form widgets. it's limping...
git-svn-id: svn://10.0.0.236/trunk@8089 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 09:22:39 +00:00
raman%netscape.com
f2d3791cf7 C++ implementation of Java objects. These files are not part of the build system yet.
git-svn-id: svn://10.0.0.236/trunk@8088 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 00:45:51 +00:00
raman%netscape.com
3c0523a89e Header files for Java to C conversion. They are not part of the build system yet.
git-svn-id: svn://10.0.0.236/trunk@8087 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 00:44:45 +00:00
ramiro%netscape.com
b30eac787c chilren was being freed twice - what a dumbass error.
Thanks to Matti Aarnio <matti.aarnio@sonera.fi> for pointing this out.


git-svn-id: svn://10.0.0.236/trunk@8086 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-17 00:12:39 +00:00
morse%netscape.com
61d94c0076 restore reference to MK_SIGNON_SELECTUSER, Linux bustage is a dependency-build problem
git-svn-id: svn://10.0.0.236/trunk@8085 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-16 22:57:02 +00:00
morse%netscape.com
cb017264a4 removed MK_SIGNON_SELECTUSER until I determine why it broke Linux dep build on Gromit
git-svn-id: svn://10.0.0.236/trunk@8084 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-16 21:12:53 +00:00
morse%netscape.com
f8d004b1a5 fixed problems when there are multiple usernames for the same form
git-svn-id: svn://10.0.0.236/trunk@8083 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-16 19:41:16 +00:00
morse%netscape.com
98736dbcfa change for single signon
git-svn-id: svn://10.0.0.236/trunk@8082 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-16 19:36:16 +00:00
morse%netscape.com
b9a8b563d0 change for single singon
git-svn-id: svn://10.0.0.236/trunk@8081 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-16 19:35:27 +00:00
mcafee%netscape.com
3869e5eb0f Fixing /* warning on Linux.
git-svn-id: svn://10.0.0.236/trunk@8078 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 18:59:11 +00:00
troy%netscape.com
931e45da01 Destructor now releases ref to image maps
git-svn-id: svn://10.0.0.236/trunk@8076 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 16:25:33 +00:00
morse%netscape.com
17ae035cd9 fix bug in cookie viewer
git-svn-id: svn://10.0.0.236/trunk@8075 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 15:42:18 +00:00
morse%netscape.com
02b6167b4f fixed bug in sigon viewer
git-svn-id: svn://10.0.0.236/trunk@8074 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 15:40:46 +00:00
jfrancis%netscape.com
6633d45f86 Fixing bug #313498
git-svn-id: svn://10.0.0.236/trunk@8073 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 10:11:34 +00:00
jfrancis%netscape.com
6d2b55c44a Adding comment to help prevent recurrences of bug #313498
git-svn-id: svn://10.0.0.236/trunk@8072 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 10:11:17 +00:00
jgellman%netscape.com
4c68be3695 add new arg for HT_PaneFromURL
git-svn-id: svn://10.0.0.236/trunk@8071 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 07:31:21 +00:00
guha%netscape.com
1feb6d428c Fix broken build
git-svn-id: svn://10.0.0.236/trunk@8070 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 06:40:13 +00:00
jgellman%netscape.com
1be8dcf35e Need to add the argument to gRDFMWContext() in one more place
git-svn-id: svn://10.0.0.236/trunk@8068 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 05:57:28 +00:00
troy%netscape.com
ed55c3c760 Added missing NS_INIT_REFCNT()
git-svn-id: svn://10.0.0.236/trunk@8065 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 03:24:27 +00:00
troy%netscape.com
098866905a Changed PR_FREEIF to delete[] (call to nsString::ToNewCString)
git-svn-id: svn://10.0.0.236/trunk@8064 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:53:38 +00:00
guha%netscape.com
2608a095ee output rfc822 (reviewed by rjc)
git-svn-id: svn://10.0.0.236/trunk@8063 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:33:39 +00:00
guha%netscape.com
885c4f8eed Some smart mail related stuff. Reviewed by rjc
git-svn-id: svn://10.0.0.236/trunk@8062 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:32:53 +00:00
mcafee%netscape.com
b9c34b08ec Some libraries (jpeg, xpcom) include nsprpub header files and need to know about USE_PTHREADS for some platforms (SparcLinux/RH5.1).
git-svn-id: svn://10.0.0.236/trunk@8061 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:27:17 +00:00
mcafee%netscape.com
a343fc80f6 Moving USE_PTHREADS define over to mozilla/config/config.mk, more than jpeg needs this.
git-svn-id: svn://10.0.0.236/trunk@8060 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:25:44 +00:00
mcafee%netscape.com
510af228fe jpeg includes nsprpub header files and thus needs to know about USE_PTHREADS for some platforms. Fixes SparcLinux.
git-svn-id: svn://10.0.0.236/trunk@8059 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:19:59 +00:00
morse%netscape.com
0c8d2da8cb fix problems in signon viewer
git-svn-id: svn://10.0.0.236/trunk@8058 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:18:40 +00:00
morse%netscape.com
a3efcf5b6f fix problems in cookie viewer
git-svn-id: svn://10.0.0.236/trunk@8057 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:17:50 +00:00
law%netscape.com
bbea53da38 Fixing bug in Default Browser dialog's Details... button processing
git-svn-id: svn://10.0.0.236/trunk@8056 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 01:01:32 +00:00
law%netscape.com
963a66acfb Adding Control Panel extension; not part of build process yet
git-svn-id: svn://10.0.0.236/trunk@8055 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 00:23:37 +00:00
radha%netscape.com
8491e73254 Declare fe_getPixelFromRGB explicitly to fix bustage in IRIX 6.2
git-svn-id: svn://10.0.0.236/trunk@8054 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 00:20:10 +00:00
joki%netscape.com
250f935f96 Sanity check return values on window.parent, window.top
git-svn-id: svn://10.0.0.236/trunk@8053 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-15 00:13:51 +00:00
gagan%netscape.com
0a8aacf896 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@8051 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 23:48:05 +00:00
toshok%netscape.com
8980cb4162 Track guha's change to allxpstr.rc
git-svn-id: svn://10.0.0.236/trunk@8050 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 23:44:26 +00:00
scullin%netscape.com
db73f7e25e Checked in api changes and some other small changes from the branch.
git-svn-id: svn://10.0.0.236/trunk@8049 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 23:08:54 +00:00
kmcclusk%netscape.com
1dfe01a8e4 Now detects Alt key during keypress and mouse events.
git-svn-id: svn://10.0.0.236/trunk@8048 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:58:07 +00:00
thom%netscape.com
cf7eeb834d add nsJLocation and nsLocation to project file
git-svn-id: svn://10.0.0.236/trunk@8047 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:53:51 +00:00
kmcclusk%netscape.com
b91145fa0b Now sets shift and control fields in the mouse and keyboard events properly.
git-svn-id: svn://10.0.0.236/trunk@8046 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:47:38 +00:00
joki%netscape.com
ad6f7835d1 Modify window.open method to use sizing and location parameters
git-svn-id: svn://10.0.0.236/trunk@8045 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:31:38 +00:00
leif%netscape.com
0dc883f526 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8043 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:10:29 +00:00
kmcclusk%netscape.com
e2a7a9f113 Fixed keycode translation. Now Page_Up Page_Down Arrow and control keys can
be detected.


git-svn-id: svn://10.0.0.236/trunk@8042 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:07:52 +00:00
leif%netscape.com
13cbf0a551 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8041 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 22:03:08 +00:00
leif%netscape.com
ef1a098d84 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@8040 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 21:45:39 +00:00
thom%netscape.com
1d944d9fe8 added nsIRefreshUrl.h to manifest
git-svn-id: svn://10.0.0.236/trunk@8039 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 21:35:42 +00:00
rods%netscape.com
0b456b77a7 Added Page Up, Page Down, Arrow up and Arrow Down key processing.
git-svn-id: svn://10.0.0.236/trunk@8038 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 21:13:40 +00:00
kmcclusk%netscape.com
f027285066 Changed DispatchMouseEvent to take a & (ref).
git-svn-id: svn://10.0.0.236/trunk@8037 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 21:09:36 +00:00
troy%netscape.com
b6c3703c9b Changed destructor to release reference to child form element, and
changed Release() to not check for external references to child form
elements


git-svn-id: svn://10.0.0.236/trunk@8036 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 21:03:16 +00:00
ftang%netscape.com
04fa44a916 add vni support from the net for WinFE. Thansk Van Le <levan@hotmail.com> and folks
git-svn-id: svn://10.0.0.236/trunk@8035 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:40:27 +00:00
ftang%netscape.com
58aaeb13e5 Check in new version of vietnam.c Thansk Van Le <levan@hotmail.com> and folks
git-svn-id: svn://10.0.0.236/trunk@8034 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:39:52 +00:00
ftang%netscape.com
9370f25853 add additional interface. Thansk Van Le <levan@hotmail.com> and folks
git-svn-id: svn://10.0.0.236/trunk@8033 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:39:29 +00:00
ftang%netscape.com
9718b4120d fix typo for last check in
git-svn-id: svn://10.0.0.236/trunk@8032 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:38:08 +00:00
ftang%netscape.com
e9cc907767 remove obsolete csid
git-svn-id: svn://10.0.0.236/trunk@8031 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:37:06 +00:00
uid402
02adef8fc4 Changed the install instructions in the README slightly.
git-svn-id: svn://10.0.0.236/trunk@8030 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:36:55 +00:00
troy%netscape.com
bebcdd15aa Changed NS_NewHTMLInputFile() to release reference to onput text and
input browse content objects


git-svn-id: svn://10.0.0.236/trunk@8029 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:36:36 +00:00
joki%netscape.com
31b1bd5683 Fix queryinterface calls on window.top and window.parent
git-svn-id: svn://10.0.0.236/trunk@8028 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:36:31 +00:00
ftang%netscape.com
0874ae8463 fix assert problem after add csid
git-svn-id: svn://10.0.0.236/trunk@8027 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:35:18 +00:00
uid402
e8010cbccf Perl script to install the Perl binaries without the Makefile. Platform
independent.
run: perl install-bin


git-svn-id: svn://10.0.0.236/trunk@8026 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:32:35 +00:00
scullin%netscape.com
c30c6b85f9 Added a COM false value.
git-svn-id: svn://10.0.0.236/trunk@8025 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:17:20 +00:00
radha%netscape.com
379bb4f52d Set HT properties for the tree view and titlebar.
git-svn-id: svn://10.0.0.236/trunk@8024 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:08:14 +00:00
radha%netscape.com
c75713c87a Register the NavCenter Context menu and HT pane with the XP api.
git-svn-id: svn://10.0.0.236/trunk@8023 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:06:37 +00:00
radha%netscape.com
57faa90884 Fix scrollbar warning messages that appear with opening NavCenter
git-svn-id: svn://10.0.0.236/trunk@8022 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 20:05:37 +00:00
despotdaemon%netscape.com
5ec399bec7 Pseudo-automatic update of changes made by srilatha@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@8021 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 17:31:19 +00:00
buster%netscape.com
b7b8a5e07f * migrated and improved some fixes from the branch to the tip
* fixes sample6, yahoo resizing
* added BasicTableLayoutStrategy::ColIsSpecifiedAsMinimumWidth helper function,
which tells us if the given column has a width attribute that means "make me as small as possible"
* nsTableFrame methods now no longer use mCellMap directly, they ask for it from
GetCellMap which gets the cell map from the first-in-flow.  Only the first-in-flow has a
cell map because the cellmap refers to the table as a single object, not to each table frame.
* Likewise, continuing table frames do not call BalanceColumnWidths or SetTableWidth
which are "global" operations.  Responsibility for these lies with the first-in-flow.


git-svn-id: svn://10.0.0.236/trunk@8020 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 16:16:43 +00:00
troy%netscape.com
00c45ce33c Added NS_RELEASE in ProcessTEXTAREATag(). This fixes a problem with
text area content objects being leaked


git-svn-id: svn://10.0.0.236/trunk@8018 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 05:21:43 +00:00
troy%netscape.com
b459abce80 Added NS_RELEASE of list box widget interface pointer
git-svn-id: svn://10.0.0.236/trunk@8017 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 04:45:30 +00:00
danm%netscape.com
2e33d85796 fix compilation error
git-svn-id: svn://10.0.0.236/trunk@8016 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:44:39 +00:00
troy%netscape.com
247047d6f2 Added NS_IF_RELEASE(mAttributes) to destructor
git-svn-id: svn://10.0.0.236/trunk@8015 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:32:39 +00:00
ramiro%netscape.com
e1893561e7 Add tool tips.
git-svn-id: svn://10.0.0.236/trunk@8014 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:19:24 +00:00
ramiro%netscape.com
3fa2781275 Fix geometry management.
git-svn-id: svn://10.0.0.236/trunk@8013 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:19:04 +00:00
ramiro%netscape.com
6d62afd5d0 Add combo test.
git-svn-id: svn://10.0.0.236/trunk@8010 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:06:39 +00:00
ramiro%netscape.com
f4cfbcda1f Update link behavior test.
git-svn-id: svn://10.0.0.236/trunk@8009 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:06:01 +00:00
cmanske%netscape.com
f9a003f82d Fixed bug that prevented placing caret in empty table cell
git-svn-id: svn://10.0.0.236/trunk@8008 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 03:04:11 +00:00
cmanske%netscape.com
e7aa118264 Tweaked fix for 311835
git-svn-id: svn://10.0.0.236/trunk@8007 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 02:44:43 +00:00
cmanske%netscape.com
01fe200e68 Tweaked fix for 312346 - enable OK button after automatically filling in Alt Text field in dialog
git-svn-id: svn://10.0.0.236/trunk@8006 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 02:35:41 +00:00
spider%netscape.com
ac462a8989 Using JULIAN_TREX_BRANCH again...
git-svn-id: svn://10.0.0.236/trunk@8005 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:56:17 +00:00
joki%netscape.com
0e0f4e9f83 Modify editor mode to work in frames
git-svn-id: svn://10.0.0.236/trunk@8004 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:51:00 +00:00
cmanske%netscape.com
1d32638925 Fixed warnings thanks to UNIX compilers
git-svn-id: svn://10.0.0.236/trunk@8003 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:38:35 +00:00
warren%netscape.com
76776edbf5 Fixed problem where enums were being cast to ints and misaligned causing crash.
git-svn-id: svn://10.0.0.236/trunk@8002 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:35:53 +00:00
warren%netscape.com
dd87774491 Fixed GetMIMEDescription for new plugin API.
git-svn-id: svn://10.0.0.236/trunk@8001 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:34:01 +00:00
sdagley%netscape.com
696d1114ff Fix a functionality problem with my previous checkin - change the MacFE stubs for FE_CheckConfirm and FE_SelectDialog to the workaround versions until the actual versions are implemented. Yes the tree is in flames but these files aren't related and folks are all over the problem (akkana and jfrancis have checked in fixes for X and Mac).
git-svn-id: svn://10.0.0.236/trunk@8000 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:21:46 +00:00
jfrancis%netscape.com
b7d0b14f7c need to use enum ED_PASTE_NORMAL instead of int 0.
git-svn-id: svn://10.0.0.236/trunk@7999 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 01:01:09 +00:00
mcafee%netscape.com
f1af70f3d3 Privacy is passing in nil arguments to ET_PostCheckConfirmBox(), we now check for this. a=joki
git-svn-id: svn://10.0.0.236/trunk@7998 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 00:57:55 +00:00
akkana%netscape.com
9b98bc699e The word from cmanske: build bustage on Mac requires use of enum types,
better do the same on Unix.


git-svn-id: svn://10.0.0.236/trunk@7997 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 00:49:22 +00:00
mcafee%netscape.com
9ef8edddc4 Stubs to fix breakage from privacy backend change.
git-svn-id: svn://10.0.0.236/trunk@7996 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 00:29:13 +00:00
mcafee%netscape.com
57344a9f71 Fixing more XFE breakage
git-svn-id: svn://10.0.0.236/trunk@7995 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 00:26:37 +00:00
leif%netscape.com
f87700665e Added instructions for using CVS.
git-svn-id: svn://10.0.0.236/trunk@7994 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 00:18:56 +00:00
cmanske%netscape.com
c9bab79483 Fixed missing () for function call Unlink. Stupid Windows compiler.
git-svn-id: svn://10.0.0.236/trunk@7993 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-14 00:07:50 +00:00
friedman%netscape.com
5747833a78 Add PerLDAP module.
git-svn-id: svn://10.0.0.236/trunk@7991 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:48:58 +00:00
joki%netscape.com
dc5a875ea9 Adding more window properties and slightly refCnt declaration.
git-svn-id: svn://10.0.0.236/trunk@7990 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:37:54 +00:00
leif
aa3ae981e5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7989 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:34:50 +00:00
leif
d527e8e9ac First version.
git-svn-id: svn://10.0.0.236/trunk@7988 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:34:45 +00:00
leif
f0786bfcad Cleanup.
git-svn-id: svn://10.0.0.236/trunk@7987 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:34:09 +00:00
leif
00efea357c Fixed the automated installs stuff...
git-svn-id: svn://10.0.0.236/trunk@7986 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:33:49 +00:00
mcafee%netscape.com
f244ced87e Re-adding FE_CheckConfirm() and FE_Select() to match the privacy backend changes.
git-svn-id: svn://10.0.0.236/trunk@7985 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:17:36 +00:00
clu%netscape.com
3952944dd8 adding a third parameter to EDT_PasteHTML
git-svn-id: svn://10.0.0.236/trunk@7984 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:16:16 +00:00
cmanske%netscape.com
524aea47b2 Fixed lots of Composer bugs. Implemented drag/drop/paste cells into existing table. Fixed Reload problems in Navigator (must reload from net to show doc color changes) - permission by blythe
git-svn-id: svn://10.0.0.236/trunk@7983 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:14:59 +00:00
akkana%netscape.com
d733007663 Track cmanske's editor backend API change to EDT_PasteHTML().
git-svn-id: svn://10.0.0.236/trunk@7982 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:14:34 +00:00
cmanske%netscape.com
a43dcf60dd Fixed lots of bugs. Implemented drag/drop/paste cells into existing table.
git-svn-id: svn://10.0.0.236/trunk@7981 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:14:33 +00:00
cmanske%netscape.com
d94f74549a Fixed lots of bugs, more implementation of Composer table editing: drag/drop/paste into existing tables.
git-svn-id: svn://10.0.0.236/trunk@7980 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:14:29 +00:00
troy%netscape.com
4b4f5da5cc Changed enumerator class to use a nsVoidArray object to manage the
list of child widgets


git-svn-id: svn://10.0.0.236/trunk@7979 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 23:01:01 +00:00
leif
b9ac02df78 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7978 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:41:10 +00:00
leif
e5bbed718c *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7977 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:40:53 +00:00
ftang%netscape.com
46b9e3c2a8 add vietnamese support. Thanks Van Le levan@hotmail.com from the net
git-svn-id: svn://10.0.0.236/trunk@7976 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:25:08 +00:00
rpotts%netscape.com
964caa3cf2 Checking in changes from the branch rev 1.7.2.2...
git-svn-id: svn://10.0.0.236/trunk@7975 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:18:57 +00:00
sdagley%netscape.com
0f1f79fdd1 Add MacFE stubs for FE_CheckConfirm and FE_SelectDialog for morse's privacy code. danm acquired the appropriate permissions from the module owners for the XP spammage.
git-svn-id: svn://10.0.0.236/trunk@7974 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:17:51 +00:00
danm%netscape.com
bedd666c6c synching with FE callback API changes just made by sdagley
git-svn-id: svn://10.0.0.236/trunk@7973 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:14:38 +00:00
sdagley%netscape.com
d5018d8a54 Add MacFE stubs for FE_CheckConfirm and FE_SelectDialog for morse's privacy code. danm acquired the appropriate permissions from the module owners for the XP spammage.
git-svn-id: svn://10.0.0.236/trunk@7972 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:11:56 +00:00
leif
293e8b27b5 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7971 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 22:03:42 +00:00
rjc%netscape.com
2dab5107cd Changes for better importing of IE favorites, Win9x/NT recent documents, and start menu.
git-svn-id: svn://10.0.0.236/trunk@7970 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:55:12 +00:00
akkana%netscape.com
c5d230a0fe Enable toolbars for Ender.
git-svn-id: svn://10.0.0.236/trunk@7969 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:51:02 +00:00
leif
636d56aae6 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7968 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:32:50 +00:00
rjc%netscape.com
1a88b30501 Now always show "More Options" in properties dialog.
git-svn-id: svn://10.0.0.236/trunk@7967 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:24:29 +00:00
despotdaemon%netscape.com
b7e7517807 Pseudo-automatic update of changes made by leif@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7966 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:20:49 +00:00
dcone%netscape.com
9d748269bf fixed project a memory size
git-svn-id: svn://10.0.0.236/trunk@7965 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:09:26 +00:00
dcone%netscape.com
9b406f30e2 new creation technique
git-svn-id: svn://10.0.0.236/trunk@7964 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:09:01 +00:00
dcone%netscape.com
012700d3f9 reworked the window creation
git-svn-id: svn://10.0.0.236/trunk@7963 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:08:11 +00:00
dcone%netscape.com
b1c554316f reworked message pump and window creation
git-svn-id: svn://10.0.0.236/trunk@7962 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:07:35 +00:00
dcone%netscape.com
84b722c90b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@7961 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 21:06:30 +00:00
vidur%netscape.com
dbaa6e8414 Unqualified references to location need to go through a resolve method
git-svn-id: svn://10.0.0.236/trunk@7960 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:46:11 +00:00
michaelp%netscape.com
ea5ad75fbf fixed really nasty allocation error.
git-svn-id: svn://10.0.0.236/trunk@7959 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:39:30 +00:00
pinkerton%netscape.com
e113e25c26 Tree view icon support and refreshing individual rows.
git-svn-id: svn://10.0.0.236/trunk@7958 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:13:07 +00:00
pinkerton%netscape.com
0a6ba7b96e Dispose of FE icon data and refresh appropriate rows when necessary.
git-svn-id: svn://10.0.0.236/trunk@7957 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:12:36 +00:00
valeski%netscape.com
09a03524ca network/module/Makefile -
1. 310133 - Added nsIRefreshUrl.h to the list of exports.

network/module/makefile.win -
1. 310133 - Added nsIRefreshUrl.h to the list of exports.

network/module/nsIHttpUrl.h -
1. 310133 - Extended the nsIHttpUrl interface to include the AddMimeHeader() method which adds an http header to the url.

network/module/nsHttpUrl.cpp -
310133 - 1. Added support for the AddMimeHeader() method so http urls can have headers added outside of the actual data retrieval in netlib. This method calls NET_ParseMimeHeader() directly.
2. Added a public member, a pointer to the netlib URL_Struct that was created for this nsHttpUrlImpl. This pointer is the link between netlib and the outside world; the adhesive agent between url structs and nsURLImpls.

network/module/nsNetStream.h -
1. 310133 - Added a public memeber variable to nsConnectionInfo. It's a bool that tells us whether or not a redirect has occurred.

network/module/nsNetStream.cpp -
1. 310133 - Added initialization (FALSE) of new redirect member.

network/module/nsNetStubs.cpp -
1. 310133 - Implemented FE_SetRefreshURLTimer(). This function is called from NET_GetURL() when we recognize that we have a url to refresh.

network/module/nsStubContext.cpp -
1. 310133 - Added check to see if we're redirecting in stub_complete() which gets called when a stream completes. If we are, we don't want to release/destroy the pConsumer, this will happen in nsNetService's bam_exit_routine().

network/module/nsNetService.cpp -
1. 310133 - added nsConnectionInfo->redirect check in bam_exit_routine() so we give the consumer a successful binding event if the consumer is still around. This is iffy.


git-svn-id: svn://10.0.0.236/trunk@7956 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:10:49 +00:00
valeski%netscape.com
3deae00620 310133 - Injected code into HTMLContentSink::ProcessMETATag() to check for an "http-equiv" header (specifically the Refresh header). If found, an nsIHTTPUrl interface is retrieved so the "http-equiv" header can be added to the url struct.
git-svn-id: svn://10.0.0.236/trunk@7955 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:09:10 +00:00
valeski%netscape.com
51e34f63fd webshell/src/nsDocLoader.cpp -
310133 - 1. added LoadURLOnTimer() and CancelLoadURLTimer() implementations to the nsDocLoaderImpl class.
2. Changed nsDocumentBindInfo class to support the nsIRefreshUrl interface.
3. Changed the nsDocumentBindInfo contructor to set the m_ExtraInfo variable to the aExtraInfo pointer passed in. This must have been an oversight on the part of the original implementor.
4. Added a simple data placeholder class to hold the data that will be used to load the url on the timer.

webshell/src/nsWebShell.cpp -
1. 310133 - When the webshell is destructed or about to load a new url, the loader now calls CancelLoadURLTimer() which cancels and releases the timers.


git-svn-id: svn://10.0.0.236/trunk@7954 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:08:19 +00:00
valeski%netscape.com
82dfe101eb 310133 - Extended the nsIDocumentLoader interface to include LoadURLOnTimer() and CancelLoadURLTimer() methods.
git-svn-id: svn://10.0.0.236/trunk@7953 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:07:17 +00:00
valeski%netscape.com
4fb073d7b5 310133 - Added nsIRefreshUrl.h to the build. This file defines the nsIRefreshUrl interface which simply declares a method that allows a url to be refreshed/reloaded after a given interval.
git-svn-id: svn://10.0.0.236/trunk@7952 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 20:05:13 +00:00
ftang%netscape.com
9167901dff vietnamese Unicode conversion table. Thanks Van Le <levan@hotmail.com> from the net
git-svn-id: svn://10.0.0.236/trunk@7951 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:36:43 +00:00
ftang%netscape.com
09aa7d4f87 add vietnamese support. Thanks Van Le <levan@hotmail.com> from the net
git-svn-id: svn://10.0.0.236/trunk@7950 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:33:52 +00:00
ftang%netscape.com
2fd51b0ffd add/change vietnamese csid. Thanks Van Le <levan@hotmail.com> from the net
git-svn-id: svn://10.0.0.236/trunk@7949 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:29:31 +00:00
ftang%netscape.com
a7f64fc9f6 extend the unicode conversion from max 64 to max 128
git-svn-id: svn://10.0.0.236/trunk@7948 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:26:19 +00:00
vidur%netscape.com
fed6b7c5b9 Implemented document.location.
git-svn-id: svn://10.0.0.236/trunk@7947 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:08:01 +00:00
vidur%netscape.com
fcc42987f9 Implemented document.location and better handling of named lookups that fail.
git-svn-id: svn://10.0.0.236/trunk@7946 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:07:45 +00:00
vidur%netscape.com
a7c49785ad Fixed problem with mSpec being allocated with something other than PR_Malloc
git-svn-id: svn://10.0.0.236/trunk@7945 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 19:05:36 +00:00
clayton
e09bd6817c This version contains the ldap_set_default_rebind function.
git-svn-id: svn://10.0.0.236/trunk@7944 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 13:10:24 +00:00
leif
381c9be10d *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7943 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 12:05:09 +00:00
leif
ca9f7091d0 Fixed bug with ldap_modify().
git-svn-id: svn://10.0.0.236/trunk@7942 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 12:02:27 +00:00
leif
3ae40d6231 Tons of smaller changes...
git-svn-id: svn://10.0.0.236/trunk@7941 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 11:02:56 +00:00
leif
8d40d7c328 This actually works now...
git-svn-id: svn://10.0.0.236/trunk@7940 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 11:02:40 +00:00
leif
650f5e5be6 Updated docs, minor changes...
git-svn-id: svn://10.0.0.236/trunk@7939 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 11:02:28 +00:00
leif
6795a4601b *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7938 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 11:02:16 +00:00
leif
0ff2f0e243 Lots of minor changes...
git-svn-id: svn://10.0.0.236/trunk@7937 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 11:02:11 +00:00
leif
4df7ac1232 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7936 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 09:56:03 +00:00
leif
11c4d15935 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7935 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 09:35:23 +00:00
leif
d9ee777d88 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7934 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 09:28:05 +00:00
leif
6a76ad2121 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7933 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 09:15:00 +00:00
rickg%netscape.com
bfb431615a a few more bug fixes. Ain't life grand
git-svn-id: svn://10.0.0.236/trunk@7931 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 08:51:52 +00:00
rickg%netscape.com
306a961f75 a host of propagation bugs and a comment bug to boot
git-svn-id: svn://10.0.0.236/trunk@7930 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 08:33:18 +00:00
rpotts%netscape.com
246f5b3065 Fixed OnDataAvailable(...) to abort the stream if it returns a failure code...
git-svn-id: svn://10.0.0.236/trunk@7929 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 08:19:49 +00:00
law%netscape.com
1674edc74a Add support for showing stand-alone preferences
git-svn-id: svn://10.0.0.236/trunk@7924 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 07:09:49 +00:00
law%netscape.com
a761017acc Now using new nsIDefaultBrowser interface
git-svn-id: svn://10.0.0.236/trunk@7923 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 07:07:20 +00:00
law%netscape.com
741055ce9e Adding nsIDefaultBrowser.cpp to the build
git-svn-id: svn://10.0.0.236/trunk@7922 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 07:05:48 +00:00
law%netscape.com
b5b7132400 Suppport for m_bShowPrefsOnStartup
git-svn-id: svn://10.0.0.236/trunk@7921 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 07:02:55 +00:00
law%netscape.com
6ab9e7bf1d Adding support for Details... button on Default Browser dialog
git-svn-id: svn://10.0.0.236/trunk@7920 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:58:58 +00:00
law%netscape.com
4b476db077 Added support for -prefs cmd line arg
git-svn-id: svn://10.0.0.236/trunk@7919 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:50:08 +00:00
law%netscape.com
f81a5a6de9 Adding m_bShowPrefsOnStartup to handle showing prefs on startup (duh)
git-svn-id: svn://10.0.0.236/trunk@7918 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:47:17 +00:00
law%netscape.com
f329135fce Enabled new Details... button on Default Browser dialog
git-svn-id: svn://10.0.0.236/trunk@7917 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:44:47 +00:00
law%netscape.com
3efd86a555 Added #define for new Details... button on Default Browser dialog
git-svn-id: svn://10.0.0.236/trunk@7916 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:42:19 +00:00
law%netscape.com
4432299836 New 'default browser' interface
git-svn-id: svn://10.0.0.236/trunk@7915 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:36:39 +00:00
law%netscape.com
b83f90da3f Adding support for new 'desktop' preferences
git-svn-id: svn://10.0.0.236/trunk@7914 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 06:34:31 +00:00
vidur%netscape.com
e93758344d Implemented Reload() on nsIWebShell
git-svn-id: svn://10.0.0.236/trunk@7911 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:49:16 +00:00
vidur%netscape.com
3357387df9 Correctly implemented reload
git-svn-id: svn://10.0.0.236/trunk@7910 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:48:57 +00:00
wtc%netscape.com
c73172bda1 Deleted the code that sets BYTE_ORDER to LITTLE_ENDIAN on Linux, whic
on big-endian machines.  Use __osf__ instead of __alpha to identify
Digital Unix, which has <machine/endian.h>.
Files changed: mozilla/include/mcom_db.h, mozilla/dbm/include/mcom_db.h.


git-svn-id: svn://10.0.0.236/trunk@7909 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:47:03 +00:00
clayton
1861d5eee1 Removed a few stale files
Updated the MANIFEST to reflect these removals
Made a few minor changes to the top bits of test_api


git-svn-id: svn://10.0.0.236/trunk@7908 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:40:02 +00:00
wtc%netscape.com
8d30332e71 Use $< so that VPATH works.
git-svn-id: svn://10.0.0.236/trunk@7907 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:39:45 +00:00
wtc%netscape.com
b0a48fbf1e Increase the timer interval from 1ms to 8ms.
git-svn-id: svn://10.0.0.236/trunk@7906 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:38:42 +00:00
vidur%netscape.com
0108cd6479 Added modifyHistory option to LoadURL.
git-svn-id: svn://10.0.0.236/trunk@7905 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:36:42 +00:00
vidur%netscape.com
7ea13344a9 Added better handling of search component of URL. Added GetSearch() method to nsIURL.
git-svn-id: svn://10.0.0.236/trunk@7904 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:35:37 +00:00
wtc%netscape.com
f29f8fce60 OPTIMIZER: use -O2 in optimized builds. Do not use -g (for now) in
debug builds because it would produce a huge executable.


git-svn-id: svn://10.0.0.236/trunk@7902 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:35:20 +00:00
vidur%netscape.com
b4cfda9c36 Implemented window.location
git-svn-id: svn://10.0.0.236/trunk@7901 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:34:53 +00:00
clayton
c009851510 Release Notes
git-svn-id: svn://10.0.0.236/trunk@7900 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:34:42 +00:00
clayton
fa9ddfc227 Fixed the documentation a bit. Still needs lots of work.
git-svn-id: svn://10.0.0.236/trunk@7898 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 04:11:20 +00:00
spider%netscape.com
171bde7d61 Create a GC for toplevel window to. Some app's need to modify that
DC also.


git-svn-id: svn://10.0.0.236/trunk@7896 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 02:36:40 +00:00
mcafee%netscape.com
026f6b6932 Backing out stubs, waiting for mac.
git-svn-id: svn://10.0.0.236/trunk@7895 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 01:04:47 +00:00
michaelp%netscape.com
07f92ff77f fixed build.
git-svn-id: svn://10.0.0.236/trunk@7893 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 00:07:09 +00:00
michaelp%netscape.com
c340b6115c fixed crash where widgets would return null clientdata because they were going
away, but the view was assuming the clientdata was non-null.


git-svn-id: svn://10.0.0.236/trunk@7892 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 00:03:41 +00:00
mcafee%netscape.com
3b3f387ff8 Checking in stubs for FE_CheckConfirm() and FE_SelectDialog() to match backend changes from danm.
git-svn-id: svn://10.0.0.236/trunk@7891 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-13 00:02:06 +00:00
joki%netscape.com
9248af60f9 Adding url and lineno to script evaluation
git-svn-id: svn://10.0.0.236/trunk@7890 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 23:37:50 +00:00
despotdaemon%netscape.com
9a07fcffbe Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7889 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 23:25:07 +00:00
toshok%netscape.com
503bc43e9d Fix non windows build - FE_CheckConfirm needs to have the same number of arguments in both the XP_WIN/not XPWIN cases.
git-svn-id: svn://10.0.0.236/trunk@7888 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 22:59:36 +00:00
radha%netscape.com
bdfe2c7f8d Cut and refresh context menus fixed. basic code for "rename" context menu. It doesn't work though.
git-svn-id: svn://10.0.0.236/trunk@7887 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 22:55:16 +00:00
toshok%netscape.com
8cf64a1e7a add elements for SUPER and SUB, so that we don't lose the basline adjustment on resize (bug 313426).
git-svn-id: svn://10.0.0.236/trunk@7886 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 22:33:32 +00:00
joki%netscape.com
e3c22b329f Fix script src equals problem when src contained in quotes.
git-svn-id: svn://10.0.0.236/trunk@7885 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 22:28:50 +00:00
mccabe%netscape.com
6b768767e5 Towards running w/o crashing on alpha linux; add -mieee flag to ask
the compiler to puhleeze let us used denormalized floating point
values, as required by the ECMA spec.  Thanks to various contributors,
including Torsten Rüger <torsten@ponton-hamburg.de>, for working on
numeric issues.  Fix courtesy wtc.


git-svn-id: svn://10.0.0.236/trunk@7884 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 22:09:21 +00:00
michaelp%netscape.com
57d078a555 with -np plugins will no longer be initialized due to frames.
git-svn-id: svn://10.0.0.236/trunk@7883 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 22:06:00 +00:00
karnaze%netscape.com
4b3c007400 fixed destructor problems causing www.goto.com to crash when hitting a link
git-svn-id: svn://10.0.0.236/trunk@7882 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:50:11 +00:00
danm%netscape.com
12210d405c XP_WIN versions of the privacy FE dialogs
git-svn-id: svn://10.0.0.236/trunk@7881 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:46:09 +00:00
joki%netscape.com
7d9a5f054b Change so browser window doesn't assume it has toolbars.
git-svn-id: svn://10.0.0.236/trunk@7878 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:41:05 +00:00
spider%netscape.com
8ab71a4f33 win fix
git-svn-id: svn://10.0.0.236/trunk@7877 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:36:51 +00:00
saari%netscape.com
4a3b86fd65 Mac only I/O buffer size increases
Eliminating speed bottlenecks.


git-svn-id: svn://10.0.0.236/trunk@7875 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:30:26 +00:00
kmcclusk%netscape.com
74d9f63edf Removed bogus ValidateDocData, XP_ReBuffer and XP_Trace stubs. They exists in
their correct form in nsStubs.cpp


git-svn-id: svn://10.0.0.236/trunk@7874 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:24:25 +00:00
wtc%netscape.com
eab72fa10c Linux/Alpha needs the -mieee compiler flag to turn on IEEE floating
point arithmetics.


git-svn-id: svn://10.0.0.236/trunk@7873 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:18:20 +00:00
michaelp%netscape.com
245e23bf94 we now allocate a single offscreen buffer.
git-svn-id: svn://10.0.0.236/trunk@7872 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:17:52 +00:00
kmcclusk%netscape.com
effee43052 Added output to indicate when a stubbed function is called.
git-svn-id: svn://10.0.0.236/trunk@7871 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:13:52 +00:00
kmcclusk%netscape.com
cd2fea256c Added stubs for ValidateDocData XP_ReBuffer and XP_Trace to
get Linux build to work.


git-svn-id: svn://10.0.0.236/trunk@7870 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:04:30 +00:00
kipp%netscape.com
b2394552d2 Allocate IID's for nsLoggingSink and nsILoggingSink
git-svn-id: svn://10.0.0.236/trunk@7869 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:04:13 +00:00
ftang%netscape.com
781c66d991 add vps.u{f,t} . Thanks Van Le <levan@hotmail.com> from the net
git-svn-id: svn://10.0.0.236/trunk@7868 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 21:00:20 +00:00
ftang%netscape.com
d967652794 add credit lines
git-svn-id: svn://10.0.0.236/trunk@7867 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 20:58:12 +00:00
leif
e2da977586 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@7866 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 20:56:38 +00:00
rjc%netscape.com
faf5a18763 Small context changes for HT_Properties() and HT_Find().
git-svn-id: svn://10.0.0.236/trunk@7863 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 20:17:23 +00:00
rods%netscape.com
946b729944 Changed the WindowStyle so the scrollbar appears when the list is larger
than the given bounding rectangle.


git-svn-id: svn://10.0.0.236/trunk@7862 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 20:10:41 +00:00
rods%netscape.com
2fae720c82 Change the calculation of how big the dropdown list should be. The max size
is now 20.


git-svn-id: svn://10.0.0.236/trunk@7861 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 20:05:25 +00:00
rjc%netscape.com
de0f1197c4 Export XP_StripLine (needed by RDF)
git-svn-id: svn://10.0.0.236/trunk@7860 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:58:53 +00:00
rjc%netscape.com
9a73eb510a Fix SMART_MAIL for Mac.
git-svn-id: svn://10.0.0.236/trunk@7859 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:58:08 +00:00
kmcclusk%netscape.com
5121e1c95d Save the alpha buffer in a member variable.
git-svn-id: svn://10.0.0.236/trunk@7858 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:57:05 +00:00
kmcclusk%netscape.com
93e107e40c Added unix support for PR_ProcessPendingEvents.
git-svn-id: svn://10.0.0.236/trunk@7857 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:54:39 +00:00
kmcclusk%netscape.com
77190afa2b Added support for PR_ProcessPendingEvents. This allows the unix viewer to
support clicks on links + submitting form data.


git-svn-id: svn://10.0.0.236/trunk@7856 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:52:03 +00:00
michaelp%netscape.com
12aba7b5f6 fixed *massive* memory leak.
git-svn-id: svn://10.0.0.236/trunk@7855 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:50:13 +00:00
mccabe%netscape.com
0124b1e0d6 modified #if from __alpha to __osf__, because Alpha/Linux also runs on
an alpha processor, and we really want to know osf instead.  Courtesy
wtc.


git-svn-id: svn://10.0.0.236/trunk@7854 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:45:04 +00:00
ftang%netscape.com
48bed973ed Add vps.txt for unicode conversion . Thaks Van Le <levan@hotmail.com> from the net
git-svn-id: svn://10.0.0.236/trunk@7853 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:18:59 +00:00
ftang%netscape.com
80c21af885 fix problem with #
git-svn-id: svn://10.0.0.236/trunk@7852 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:16:01 +00:00
ftang%netscape.com
67f2e2e9d0 fix # problem
git-svn-id: svn://10.0.0.236/trunk@7851 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:10:35 +00:00
ftang%netscape.com
449630c7aa Merge changes from nhotta's fix in 4.5. Approved by blythe
git-svn-id: svn://10.0.0.236/trunk@7850 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 19:03:57 +00:00
pinkerton%netscape.com
0d81ee22e3 Bring in edges on popdown tree for sunken bevel.
git-svn-id: svn://10.0.0.236/trunk@7849 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:48:42 +00:00
pinkerton%netscape.com
5dd51c3800 Draw popdown tree with a sunken bevel border.
git-svn-id: svn://10.0.0.236/trunk@7848 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:48:27 +00:00
pinkerton%netscape.com
952cfce6fc No longer try and cache the popdown tree. Just delete/recreate every time because of problems with LScroller and changing windows.
git-svn-id: svn://10.0.0.236/trunk@7847 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:47:54 +00:00
blythe%netscape.com
533a094be9 fix from martin.nilsson@bigfoot.com for transparency problems in bitmap
git-svn-id: svn://10.0.0.236/trunk@7846 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:47:46 +00:00
peterl%netscape.com
0b78318def made parse color compress whitespace first
git-svn-id: svn://10.0.0.236/trunk@7845 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:28:55 +00:00
spider%netscape.com
871644f0ce win fix
git-svn-id: svn://10.0.0.236/trunk@7844 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:06:34 +00:00
kostello%netscape.com
e44707e1f4 Added widgetDebug.o as a target
git-svn-id: svn://10.0.0.236/trunk@7843 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:05:30 +00:00
spider%netscape.com
8389ba629e more platform libs
git-svn-id: svn://10.0.0.236/trunk@7842 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:05:19 +00:00
kostello%netscape.com
a248b2ece8 Added support for widget project
git-svn-id: svn://10.0.0.236/trunk@7841 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:02:57 +00:00
kipp%netscape.com
50897d17a2 Use new forwarding macros
git-svn-id: svn://10.0.0.236/trunk@7840 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 18:00:04 +00:00
spider%netscape.com
2c6a47a86f Adding Verions_number
git-svn-id: svn://10.0.0.236/trunk@7839 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 17:59:45 +00:00
kipp%netscape.com
1bc6522fc6 Revised forwarding macros
git-svn-id: svn://10.0.0.236/trunk@7838 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 17:57:25 +00:00
vidur%netscape.com
f13227df6b Correctly deal with BODY tag BACKGROUND attribute that is an empty string.
git-svn-id: svn://10.0.0.236/trunk@7837 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 17:51:31 +00:00
vidur%netscape.com
1e93a4fa52 null check before we release a stream in the failure case.
git-svn-id: svn://10.0.0.236/trunk@7835 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 17:14:54 +00:00
dcone%netscape.com
9e295aa4b3 added client routine
git-svn-id: svn://10.0.0.236/trunk@7834 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 15:23:23 +00:00
dcone%netscape.com
bb56671c90 added client routine
git-svn-id: svn://10.0.0.236/trunk@7833 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 15:23:04 +00:00
dcone%netscape.com
4c73c57cc0 took out method causing link errors
git-svn-id: svn://10.0.0.236/trunk@7832 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 13:46:34 +00:00
dcone%netscape.com
efdb6ba539 took out some functions causing link problem
git-svn-id: svn://10.0.0.236/trunk@7831 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 13:46:08 +00:00
dcone%netscape.com
642ce908b4 put quit when a key is hit - temporary
git-svn-id: svn://10.0.0.236/trunk@7830 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 13:45:13 +00:00
kin%netscape.com
5a4087e268 Fix for bug #313408: Need to update HG10297 and HG81272 macros in rosetta.h
and fix for Memory leak introduced in yesterdays checkin.
Files checked in: Command.cpp, Command.h and EditorView.cpp


git-svn-id: svn://10.0.0.236/trunk@7829 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 12:38:38 +00:00
chuckb%netscape.com
931784787e inadvertant change
git-svn-id: svn://10.0.0.236/trunk@7827 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 11:01:24 +00:00
chuckb%netscape.com
fe67c57f68 Mac project
git-svn-id: svn://10.0.0.236/trunk@7822 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 10:54:12 +00:00
chuckb%netscape.com
8208d07569 Manifest file
git-svn-id: svn://10.0.0.236/trunk@7821 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 10:52:51 +00:00
chuckb%netscape.com
3b12429626 DIRECTORY_C_SDK_30_BRANCH to TRUNK merge
git-svn-id: svn://10.0.0.236/trunk@7820 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 10:44:46 +00:00
chuckb%netscape.com
371fd21165 DIRECTORY_C_SDK_30_BRANCH to TRUNK merge
git-svn-id: svn://10.0.0.236/trunk@7819 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 10:35:35 +00:00
rickg%netscape.com
2167e0743c many parser bugs; better backward propagation
git-svn-id: svn://10.0.0.236/trunk@7818 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 08:53:55 +00:00
rickg%netscape.com
a6d383461e fixed objectAT() offset error
git-svn-id: svn://10.0.0.236/trunk@7817 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 08:53:03 +00:00
troy%netscape.com
f2ddc6fce9 Fixed potential leak of alpha bits if image is destroyed before
being optimized


git-svn-id: svn://10.0.0.236/trunk@7814 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 05:40:03 +00:00
troy%netscape.com
7846ca35d8 Fixed leak of an HTML Meta content object
git-svn-id: svn://10.0.0.236/trunk@7813 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 05:27:21 +00:00
joki%netscape.com
1e5f0b9259 Adding new doc loader observer interface.
git-svn-id: svn://10.0.0.236/trunk@7812 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 05:15:38 +00:00
troy%netscape.com
828d5f7aa0 Made sure event state manager was always released
git-svn-id: svn://10.0.0.236/trunk@7811 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 05:09:07 +00:00
joki%netscape.com
9106b337ee Adding partial load event support, removing script context Run_GC method adding partial script error support
git-svn-id: svn://10.0.0.236/trunk@7810 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 04:56:40 +00:00
troy%netscape.com
96b2f94853 Eliminated circular reference between table row and table cell
git-svn-id: svn://10.0.0.236/trunk@7809 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 04:45:17 +00:00
troy%netscape.com
aa64a059e4 Added release of row group context object
git-svn-id: svn://10.0.0.236/trunk@7808 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 04:09:43 +00:00
morse%netscape.com
bbdb3cc988 improved signon viewer
git-svn-id: svn://10.0.0.236/trunk@7807 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 04:03:33 +00:00
morse%netscape.com
ddca9da0a2 improved cookie viewer, approved by valeski
git-svn-id: svn://10.0.0.236/trunk@7806 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 03:59:45 +00:00
troy%netscape.com
4293d95f15 Eliminated memory leak of a content object in ProcessInitialReflow() when
doing special processing for list-item containers


git-svn-id: svn://10.0.0.236/trunk@7804 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 03:22:24 +00:00
michaelp%netscape.com
218b5af820 added changes for using directx draw with msvc 5.0.
git-svn-id: svn://10.0.0.236/trunk@7803 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 02:21:06 +00:00
karnaze%netscape.com
1dc52f388d ref counting, destruction fixes
git-svn-id: svn://10.0.0.236/trunk@7802 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 02:04:41 +00:00
troy%netscape.com
6b980541fe Fixed a leak of the HTML title
git-svn-id: svn://10.0.0.236/trunk@7801 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 01:36:25 +00:00
spider%netscape.com
f5f5f829b6 Fix Raptor Unix bustage. SignleSignon not supported when using modular
netlib.


git-svn-id: svn://10.0.0.236/trunk@7800 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 01:31:21 +00:00
troy%netscape.com
641b8e79ca Fixed leak of a bullet content object
git-svn-id: svn://10.0.0.236/trunk@7799 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 01:26:25 +00:00
donm%netscape.com
26ba1bf6a8 Fixing 5.0 bustage. This is a big hack. Kin will fix soon.
git-svn-id: svn://10.0.0.236/trunk@7798 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 01:14:26 +00:00
michaelp%netscape.com
7d07ec46f1 fixed nasty DeleteDC() in destructor.
git-svn-id: svn://10.0.0.236/trunk@7797 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 01:05:40 +00:00
michaelp%netscape.com
1d2a0b6edf changes to support use of DirectDraw.
git-svn-id: svn://10.0.0.236/trunk@7796 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 00:59:00 +00:00
kostello%netscape.com
2902b0ff40 Synched with windows build
git-svn-id: svn://10.0.0.236/trunk@7795 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 00:52:13 +00:00
cmanske%netscape.com
ef6f578730 Removing comment that doesn't apply anymore. With permission of pnunn
git-svn-id: svn://10.0.0.236/trunk@7794 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 00:40:33 +00:00
gagan%netscape.com
d32b05510e Fixed bug #313386. Very classic example of not using const keyword. rev/cmanske app/pnunn.
git-svn-id: svn://10.0.0.236/trunk@7793 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 00:33:53 +00:00
spider%netscape.com
1eb74866f3 Use Nav45 branch instead of julian
git-svn-id: svn://10.0.0.236/trunk@7792 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 00:28:26 +00:00
spider%netscape.com
d34a9f8b08 Use Nav45_BRANCH of julian instead of TREX_BRANCH
git-svn-id: svn://10.0.0.236/trunk@7791 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-12 00:25:05 +00:00
peterl%netscape.com
74371d3099 re-enable non-truetype fonts
git-svn-id: svn://10.0.0.236/trunk@7789 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 23:54:29 +00:00
peterl%netscape.com
5d334db003 force aliasing of courier font
git-svn-id: svn://10.0.0.236/trunk@7788 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 23:54:04 +00:00
kostello%netscape.com
54564cce76 Added nsHTMLEntities.h
git-svn-id: svn://10.0.0.236/trunk@7787 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 23:42:06 +00:00
akkana%netscape.com
640890cfd1 Don't show caret on inactive Ender areas. Reviewed by cmanske.
git-svn-id: svn://10.0.0.236/trunk@7786 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:59:45 +00:00
wtc%netscape.com
e239c9639f Added dgux.mk, contributed by Marc Fraioli <fraioli@dg-rtp.dg.com>.
git-svn-id: svn://10.0.0.236/trunk@7785 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:47:22 +00:00
troy%netscape.com
abd69964ac Added NS_RELEASE in FlushText() of interface returned from QueryInterface()
git-svn-id: svn://10.0.0.236/trunk@7784 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:44:28 +00:00
ftang%netscape.com
f1bb7fc419 fix bug 302137 by fallback to - on Mac. This is not really a fix . The real fix won't be here untill we have full Unicode support
git-svn-id: svn://10.0.0.236/trunk@7783 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:40:06 +00:00
wtc%netscape.com
c6841eb8dc Checked in DG/UX port contributed by Marc Fraioli <fraioli@dg-rtp.dg.com>.
New files: dgux.mk, _dgux.cfg, _dgux.h, and dgux.c.
Files changed: lib/msgc/tests/Makefile, pr/include/md/Makefile,
_unixos.h, prosdep.h, prsocket.c, pr/src/md/unix/Makefile,
pr/src/md/unix/objs.mk, unix.c.


git-svn-id: svn://10.0.0.236/trunk@7782 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:29:48 +00:00
ftang%netscape.com
c263a0fa0b add koi8u to the cyrillic list, also fix bug 76586 by adding font list rearrange code
git-svn-id: svn://10.0.0.236/trunk@7781 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:22:42 +00:00
pnunn%netscape.com
50e4394083 still need jerror.h. Thanks, Rick.
git-svn-id: svn://10.0.0.236/trunk@7780 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 22:08:39 +00:00
kin%netscape.com
eb56983f0b Modifications neccessary to route commands to the correct ENDER object
(HTMLArea) on the page. Approved and reviewd by ramiro and akkana.

Command.cpp
Command.h
    - Modified the XFE_ViewCommand constructor to take a view
      argument (defaults to NULL when not provided). If not NULL,
      this view is used to dispatch the command.

EditorView.cpp
EditorView.h
    - Modified all XFE_EditorViewCommands to take a view argument
      for their constructors to pass on to XFE_ViewCommand. Only
      ENDERs pass non-NULL views to the constructors, so the Editor
      still dispatches commands the way it always has.

Frame.cpp
Frame.h
    - Modified xfe_ExecuteCommand to take a cmdDispatcher argument.
      If non-null, it is casted to either a frame or view and then
      used to dispatch the command passed in. If it is null,
      xfe_ExecuteCommand dispatches as it always has.

Menu.cpp
Menu.h
PopupMenu.cpp
PopupMenu.h
    - Modified XFE_Menu and XFE_PopupMenu constructors to take a
      cmdDispatch argument. If it is non null, it is used to dispatch
      the command that is attatched to the menuitem.

MozillaApp.cpp
    - Modified xfeDoCommandAction ENDER code to call xfe_ExecuteCommand(),
      passing in the view as the cmdDispatcher.

View.cpp
    - Removed unused local variable in removeView(), to fix compiler
      warning.
    - Modified getCommandView() to recurse down the entire View tree
      to find a view that can handle a command. The old code only looked
      one level deep.


git-svn-id: svn://10.0.0.236/trunk@7778 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 21:50:47 +00:00
jgellman%netscape.com
1aa1a35e7d got jwz's libmime changes building on windows
git-svn-id: svn://10.0.0.236/trunk@7777 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 21:30:43 +00:00
jgellman%netscape.com
b933a69e6a added ifdef's needed
git-svn-id: svn://10.0.0.236/trunk@7776 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 21:27:14 +00:00
jgellman%netscape.com
489cc97f73 got jwz's libmime changes building on windows
git-svn-id: svn://10.0.0.236/trunk@7775 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 21:24:29 +00:00
ftang%netscape.com
2583671f73 fix typo in Ukrainian
git-svn-id: svn://10.0.0.236/trunk@7774 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 21:14:47 +00:00
karnaze%netscape.com
3e00e74d71 removed references to nsIWebFrame
git-svn-id: svn://10.0.0.236/trunk@7773 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 21:13:37 +00:00
pnunn%netscape.com
c325f7569e Removed extraneous include file. Tom Lane, committed by pnunn.
git-svn-id: svn://10.0.0.236/trunk@7772 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:45:59 +00:00
pnunn%netscape.com
da1819c629 remove dependencies on jpeg files. Tom Lane, committed by pnunn.
git-svn-id: svn://10.0.0.236/trunk@7771 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:45:18 +00:00
dcone%netscape.com
f0ea5eb238 mac initialzation is now working
git-svn-id: svn://10.0.0.236/trunk@7770 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:26:01 +00:00
dcone%netscape.com
cba5da1580 implemented some messaging
git-svn-id: svn://10.0.0.236/trunk@7769 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:25:31 +00:00
dcone%netscape.com
731a26d264 started messaging
git-svn-id: svn://10.0.0.236/trunk@7768 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:25:18 +00:00
dcone%netscape.com
540f20c743 updated message pump
git-svn-id: svn://10.0.0.236/trunk@7767 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:17:06 +00:00
dcone%netscape.com
376a356f16 update to use a mac Widgettest.cpp
git-svn-id: svn://10.0.0.236/trunk@7766 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:16:08 +00:00
dcone%netscape.com
a56281e7e8 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@7765 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 20:15:33 +00:00
pinkerton%netscape.com
6419c99b49 Support for pop-down tree views.
git-svn-id: svn://10.0.0.236/trunk@7764 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:20:01 +00:00
pinkerton%netscape.com
3bf9b78322 Don't draw over popdown tree if showing.
git-svn-id: svn://10.0.0.236/trunk@7763 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:19:35 +00:00
pinkerton%netscape.com
4f3ff0508d Overrides for the popdown flex table to close at the right times, etc.
git-svn-id: svn://10.0.0.236/trunk@7762 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:19:18 +00:00
pinkerton%netscape.com
96f14004b1 Build a window from an HT_Resource or RDF_Resource.
git-svn-id: svn://10.0.0.236/trunk@7761 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:18:57 +00:00
pinkerton%netscape.com
d1f792fc78 Hacks for showing a container docked, popup, or standalone, with a hack for drag and drop.
git-svn-id: svn://10.0.0.236/trunk@7760 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:17:36 +00:00
pinkerton%netscape.com
dcb26bda57 Better support for opening a tree popup, docked, or standalone.
git-svn-id: svn://10.0.0.236/trunk@7759 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:17:19 +00:00
pinkerton%netscape.com
7dd8faa2dc Register popdown tree classes.
git-svn-id: svn://10.0.0.236/trunk@7758 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:16:37 +00:00
pinkerton%netscape.com
04772e56d3 API to Create panes from RDF_Resources as well.
git-svn-id: svn://10.0.0.236/trunk@7757 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:15:59 +00:00
pinkerton%netscape.com
b99e4334e1 Fix redraw problem on refresh with inline editing.
git-svn-id: svn://10.0.0.236/trunk@7756 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:15:28 +00:00
pinkerton%netscape.com
34eb41447f Don't draw over the popdown tree if one is showing.
git-svn-id: svn://10.0.0.236/trunk@7755 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:15:05 +00:00
pinkerton%netscape.com
98ebb9e586 Popdown tree.
git-svn-id: svn://10.0.0.236/trunk@7754 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:14:40 +00:00
pinkerton%netscape.com
041d22a313 Support command to popup standalone on any HT_Resource and make Bookmarks/History to do the same.
git-svn-id: svn://10.0.0.236/trunk@7753 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:14:28 +00:00
morse%netscape.com
3b61327da2 changes for cookie and single signon viewers, reviewed and approved by relliott
git-svn-id: svn://10.0.0.236/trunk@7752 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:12:45 +00:00
kin%netscape.com
81a42507bd Modified lo_BeginTextareaTag() to call XP_STRCASECMP() when looking for
"HTMLAREA". Approved by nisheeth and toshok.


git-svn-id: svn://10.0.0.236/trunk@7751 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:10:47 +00:00
valeski%netscape.com
9b9206ef08 added the transfer_encoding reset code to all builds (no longer #ifdef'd) and placed it everywhere we were doing content_encoding clearing. Also did some reformatting. Ran the transfer_encoding stuff by gagan.
git-svn-id: svn://10.0.0.236/trunk@7750 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:07:55 +00:00
karnaze%netscape.com
1a7586d04a put back previous sizing of text fields due to changes in fixed width font
git-svn-id: svn://10.0.0.236/trunk@7749 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 19:07:25 +00:00
karnaze%netscape.com
cef6bb6be9 removed nsIWebFrame
git-svn-id: svn://10.0.0.236/trunk@7748 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 18:52:35 +00:00
buster%netscape.com
06d077240f first cut at implementing %-width columns inside of auto-width tables.
This is about 50% done, which covers about 90% of the cases.


git-svn-id: svn://10.0.0.236/trunk@7747 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 18:42:10 +00:00
donm%netscape.com
76143ccc43 adding MOZ_SINGLESIGNON and MOZ_COOKIEMANAGE to MOZ_MEDIUM define.
git-svn-id: svn://10.0.0.236/trunk@7746 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 18:41:01 +00:00
kipp%netscape.com
b8c3881140 Work around frame-appended reflows that don't grow the child of the body
git-svn-id: svn://10.0.0.236/trunk@7744 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 17:38:46 +00:00
karnaze%netscape.com
83d81a5ec8 added missing NS_RELEASE statements
git-svn-id: svn://10.0.0.236/trunk@7743 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 16:52:05 +00:00
kipp%netscape.com
2b2afba13d Elminated top/bottom margins around center tags
git-svn-id: svn://10.0.0.236/trunk@7741 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 15:32:12 +00:00
ramiro%netscape.com
aa9474bd0c Move the tree widgetry from XFE_RDFView to XFE_RDFTreeView.
git-svn-id: svn://10.0.0.236/trunk@7739 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 11:51:25 +00:00
ramiro%netscape.com
12c2311fa4 Make the stand alone state of XFE_RDFView a member that can be toggled.
Fix a bunch of warnings.
Make the notif_cb a static member of XFE_NavCenterView as it should be.


git-svn-id: svn://10.0.0.236/trunk@7737 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 09:10:23 +00:00
valeski%netscape.com
45a036d316 nglayout - clear the transfer encoding field in the url_s before doing a redirect so it doesn't interfer with the redirecting url stream selection
git-svn-id: svn://10.0.0.236/trunk@7734 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 05:19:03 +00:00
valeski%netscape.com
f271e1406c another memory leak and formatting changes
git-svn-id: svn://10.0.0.236/trunk@7733 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 04:52:12 +00:00
troy%netscape.com
962a468486 Fixed a memory leak. In some error cases we weren't calling NR_RegClose()
git-svn-id: svn://10.0.0.236/trunk@7730 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 04:06:28 +00:00
nisheeth%netscape.com
4ab2c23d31 Fixes bug 311240. We were crashing in layout when a new bookmark was added.
The real problem here is that RDF is overloading the HTML stream converter to 
get at the META tags.  I have a hacky fix to layout that checks for the special 
RDF slave context type and does not layout any tag other than META and HEAD.
This will get backed out as soon as we come up with a better solution...


git-svn-id: svn://10.0.0.236/trunk@7729 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 04:03:10 +00:00
danm%netscape.com
a9e4d75b26 moved privacy prefs to their own (private) pane
git-svn-id: svn://10.0.0.236/trunk@7728 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 03:40:14 +00:00
valeski%netscape.com
f2ee0c64b3 someone forgot to add parenthesis which could cause memory leaks on redirects. Not anymore! Parenthesis added.
git-svn-id: svn://10.0.0.236/trunk@7727 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 02:59:31 +00:00
spider%netscape.com
e93ed8d2c4 Add support for DEBUG with USERNAME
git-svn-id: svn://10.0.0.236/trunk@7717 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 00:30:09 +00:00
wtc%netscape.com
f11d0a9875 Deleted obsolete code for OSF1V4.
git-svn-id: svn://10.0.0.236/trunk@7716 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 00:23:59 +00:00
wtc%netscape.com
481ad4d991 Enable pthreads-based build. The key is to ifdef all the code related
to the "Xt hack" with SW_THREADS.  I believe the Xt hack is only needed
by user-level threads (i.e., SW_THREADS).


git-svn-id: svn://10.0.0.236/trunk@7715 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 00:19:29 +00:00
kipp%netscape.com
927fe7a55a Make sure text at the end of the document is reflowed properly
git-svn-id: svn://10.0.0.236/trunk@7714 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 00:19:11 +00:00
wtc%netscape.com
afc7ecd5b1 Miscellaneous fixes: Removed redundant occurences of libcaps.a and
libxpcom.a in BASIC_LIBS.  They only need to appear in BASIC_LIBS_2.
Put $(NSPR_LIB) in front of $(OTHER_LIBS) and $(OTHER_DYN_MOTIF_LIBS).
Enable pthreads-based build for Linux.  Define DYNAMIC_SYMBOLS_F to
be null on OSF1.


git-svn-id: svn://10.0.0.236/trunk@7712 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 00:18:07 +00:00
wtc%netscape.com
89f4721199 Do not declare variables in a 'for' statement because the scope
of such variables is compiler-dependent.  (approved by kipp@netscape.com)


git-svn-id: svn://10.0.0.236/trunk@7711 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-11 00:10:36 +00:00
wtc%netscape.com
9a1521192c Shared libraries on FreeBSD must have version numbers in their names.
So set DLL_SUFFIX to so.1.0.  Thanks to Bret Ford <bford@uop.cs.uop.edu>
for reporting the problem and Thomas Mueller <tmueller@privat.prodata.de>
for verifying the fix.


git-svn-id: svn://10.0.0.236/trunk@7710 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:42:03 +00:00
wtc%netscape.com
542d02e511 The local threads don't work on RedHat 5.1 Sparc Linux (with glibc2).
I suspect it's because glibc2's setjmp/longjmp (Sparc version) does
not allow us to modify the jmp_buf.  So I added some comments and
a #error directive to force the build to fail.


git-svn-id: svn://10.0.0.236/trunk@7709 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:38:38 +00:00
wtc%netscape.com
5296156091 Enable pthreads-based Mozilla build. TO do a pthreads-based build,
set the environment variable USE_PTHREADS to 1.
Files changed: mozilla/config/OSF1.mk, mozilla/nsprpub/config/OSF1.mk.


git-svn-id: svn://10.0.0.236/trunk@7708 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:37:06 +00:00
ftang%netscape.com
5f4f4eb739 Add cp1252 conversion tolower table and make winfe to use it.
Thanks for from the net  Antoine.Leca@renault.fr (Antoine Leca)


git-svn-id: svn://10.0.0.236/trunk@7707 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:29:27 +00:00
peterl%netscape.com
192504ea49 made check font existence ignore non-truetype fonts
git-svn-id: svn://10.0.0.236/trunk@7706 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:29:21 +00:00
kmcclusk%netscape.com
ad9de2a9d5 Added back commented out destruction of XImages and buffers
git-svn-id: svn://10.0.0.236/trunk@7705 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:27:32 +00:00
peterl%netscape.com
72666bde8e connected LINKed style sheets
git-svn-id: svn://10.0.0.236/trunk@7703 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 23:02:39 +00:00
robinf%netscape.com
df61f28833 minor text updates to reflect latest UI
git-svn-id: svn://10.0.0.236/trunk@7702 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 22:57:36 +00:00
blythe%netscape.com
db8d25594d Fix bugzilla bug #120
git-svn-id: svn://10.0.0.236/trunk@7701 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 22:45:14 +00:00
kmcclusk%netscape.com
70bd69fe6e Removed debug printf's #if 0 code + moved resize code
from nsXtEventHandler.cpp nsWindow.cpp.


git-svn-id: svn://10.0.0.236/trunk@7699 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 22:37:46 +00:00
troy%netscape.com
f19ca7ceaf Added a NS_RELEASE of the URL reader in OnStartBinding()
git-svn-id: svn://10.0.0.236/trunk@7698 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 22:21:18 +00:00
kmcclusk%netscape.com
27136314b0 Removed commented out code and debug printf's.
git-svn-id: svn://10.0.0.236/trunk@7697 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 22:18:28 +00:00
wtc%netscape.com
f643011e53 Enable pthreads-based build. The macro SW_THREADS is defined only
if USE_PTHREADS is not defined.  If USE_PTHREADS is defined, add
-lpthread to OS_LIBS.


git-svn-id: svn://10.0.0.236/trunk@7695 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 22:05:33 +00:00
thom%netscape.com
43a79f53c1 added 'extern "C"' to declaration of NS_NewHTMLLoggingSink to fix mac link error...
git-svn-id: svn://10.0.0.236/trunk@7694 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:56:32 +00:00
clayton
92a6b6c8d0 Added a first draft of POD documentation for the API commands. I wrote a
script to generate most of it and am going back to fix the pieces that
couldn't be automatically generated.  I've gotten through ldap_compare
so far and will be done with all API docs by Tuesday night.


git-svn-id: svn://10.0.0.236/trunk@7693 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:56:09 +00:00
peterl%netscape.com
11ff304260 connect marginwidth & marginheight in body tag
git-svn-id: svn://10.0.0.236/trunk@7691 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:50:32 +00:00
kipp%netscape.com
ab499551e6 Disabled old entity routines
git-svn-id: svn://10.0.0.236/trunk@7690 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:38:10 +00:00
kipp%netscape.com
aa0b382d4a Used generated entities file to translate entities
git-svn-id: svn://10.0.0.236/trunk@7689 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:37:55 +00:00
kipp%netscape.com
97c07adc50 Build generate entities file
git-svn-id: svn://10.0.0.236/trunk@7688 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:37:36 +00:00
kin%netscape.com
a335158b84 Turn on ENDER by default in the builds.
git-svn-id: svn://10.0.0.236/trunk@7687 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:22:27 +00:00
kmcclusk%netscape.com
7c529e0547 Added a XtManageWidget implementation lifted from the XFE code. This fixes problems where the drawing area would
spontaneously resize itself to fit its contents.


git-svn-id: svn://10.0.0.236/trunk@7686 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:21:34 +00:00
kipp%netscape.com
a24d4696bf Open the file for writing (doh)
git-svn-id: svn://10.0.0.236/trunk@7685 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:12:10 +00:00
kipp%netscape.com
d2684b2846 Short circuit auto-detect logic (cuz it doesn't work here)
git-svn-id: svn://10.0.0.236/trunk@7684 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:11:31 +00:00
kin%netscape.com
2a4cf3eb53 Modified form_element_get_size() to call fe_HackTranslations() for all
form elements except the HTMLArea.


git-svn-id: svn://10.0.0.236/trunk@7683 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:11:07 +00:00
kipp%netscape.com
ef2aed49ad Updated
git-svn-id: svn://10.0.0.236/trunk@7682 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:10:36 +00:00
kipp%netscape.com
872b060f20 Build entities table
git-svn-id: svn://10.0.0.236/trunk@7681 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:10:04 +00:00
kipp%netscape.com
e51698ec95 Fixed assertion message
git-svn-id: svn://10.0.0.236/trunk@7680 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:08:36 +00:00
kipp%netscape.com
268de5a50d Handle EOF better for file streams
git-svn-id: svn://10.0.0.236/trunk@7679 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:08:21 +00:00
kin%netscape.com
802f04f7c5 Commented out some debug statements with ifdef DEBUG_kin.
git-svn-id: svn://10.0.0.236/trunk@7678 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:08:10 +00:00
kipp%netscape.com
b07c398579 new
git-svn-id: svn://10.0.0.236/trunk@7677 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 21:07:40 +00:00
spider%netscape.com
eefc86349a julian is 50 in free world
git-svn-id: svn://10.0.0.236/trunk@7676 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 20:38:48 +00:00
donm%netscape.com
2ea7df3487 Fixes Unix build problem with MOZ_COOKIEMANAGE and MOZ_SINGLESIGNON
flags turned on.  Approved by: Steve Morse


git-svn-id: svn://10.0.0.236/trunk@7675 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 20:38:26 +00:00
morse%netscape.com
b28b86c55a fixed bug involving freeing of memory that was never allocated, reviewed by Pinkerton
git-svn-id: svn://10.0.0.236/trunk@7674 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 20:36:41 +00:00
spider%netscape.com
82da783cbe Unix changes to support xpfc
git-svn-id: svn://10.0.0.236/trunk@7673 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 20:01:52 +00:00
spider%netscape.com
ccddf33924 Updates for XPFC ... we've moved
git-svn-id: svn://10.0.0.236/trunk@7671 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 19:56:59 +00:00
spider%netscape.com
a8e186a7d1 Updates for XPFC
git-svn-id: svn://10.0.0.236/trunk@7670 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 19:56:34 +00:00
spider%netscape.com
73adf57091 fixes for new xpfc
git-svn-id: svn://10.0.0.236/trunk@7669 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 19:46:33 +00:00
spider%netscape.com
f307a7b044 Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@7668 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 18:50:59 +00:00
troy%netscape.com
d4bb51be47 Added code to delete nsBrowserWindow object
git-svn-id: svn://10.0.0.236/trunk@7667 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 18:20:20 +00:00
michaelp%netscape.com
b4b3615aa5 should fix build errors on unix.
git-svn-id: svn://10.0.0.236/trunk@7665 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 18:02:56 +00:00
rods%netscape.com
a1b9598742 Fixed edge case for selection, selection at starting of line and moving to new content.
git-svn-id: svn://10.0.0.236/trunk@7664 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:46:34 +00:00
troy%netscape.com
8f682521ef Stopped allocating array of size 0...
git-svn-id: svn://10.0.0.236/trunk@7663 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:44:54 +00:00
kipp%netscape.com
f7457a3f72 Fixed documents w/o titles bug #313016
git-svn-id: svn://10.0.0.236/trunk@7662 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:39:48 +00:00
troy%netscape.com
1a7be428bd Removed an extra NS_ADDREF call that was keeping the timer object from
ever getting freed


git-svn-id: svn://10.0.0.236/trunk@7661 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:32:57 +00:00
karnaze%netscape.com
e4a8306fd3 fixed "return" submission on a single text field
git-svn-id: svn://10.0.0.236/trunk@7660 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:26:20 +00:00
troy%netscape.com
e16a20aed0 Fixed ClearTimeout() to free the timer closure struct
git-svn-id: svn://10.0.0.236/trunk@7659 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:25:35 +00:00
troy%netscape.com
92ce65c672 Added GetClosure() member function
git-svn-id: svn://10.0.0.236/trunk@7658 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 17:24:36 +00:00
troy%netscape.com
0a2de0954f Added memset of lfFaceName array to 0 for debug builds. This eliminates
a Purify warning


git-svn-id: svn://10.0.0.236/trunk@7657 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 16:53:14 +00:00
despotdaemon%netscape.com
dca21a9bbf Pseudo-automatic update of changes made by jdunn@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7656 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 15:43:01 +00:00
jfrancis%netscape.com
e912d3d58d Turning on ENDER.
git-svn-id: svn://10.0.0.236/trunk@7655 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 15:18:32 +00:00
troy%netscape.com
c91029acf9 Added call to Shutdown() of prefs object
git-svn-id: svn://10.0.0.236/trunk@7654 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 05:12:25 +00:00
sdagley%netscape.com
1e87c9adfa Fix #309842. For some reason the call to NET_FinishInitNetLib() was commened out in the MacFE. Since this is where the cache is initialized and cookies are initially read, among other useful stuff, it seems like a bad idea to not call it.
git-svn-id: svn://10.0.0.236/trunk@7653 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 04:49:58 +00:00
karnaze%netscape.com
770938c13f adjusted sizing for text controls; default control is text; assertion cleanup
git-svn-id: svn://10.0.0.236/trunk@7652 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 04:28:17 +00:00
troy%netscape.com
f16c07c6f6 Fixed leak of an IL color space in NewPixmap()
git-svn-id: svn://10.0.0.236/trunk@7651 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 04:25:35 +00:00
jwz%mozilla.org
870d80ee1d I could tell you what this patch was for, but then I'd have to shoot you.
git-svn-id: svn://10.0.0.236/trunk@7650 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 03:50:04 +00:00
troy%netscape.com
075416e02c Fixed leak of async net context. Now there's only one net context used
for all image requests and its released when the image group is
destroyed


git-svn-id: svn://10.0.0.236/trunk@7649 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 03:33:49 +00:00
troy%netscape.com
1e7f67e20c Stopped holding a reference to the device context, because the device context
holds a reference to the font cache and this was causing a circular reference


git-svn-id: svn://10.0.0.236/trunk@7648 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 02:34:00 +00:00
joki%netscape.com
6dc09b67c8 Move disassociation of frame from view up from destructor to DeleteFrame to prevent event entrance during destruction
git-svn-id: svn://10.0.0.236/trunk@7647 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 02:28:23 +00:00
buster%netscape.com
fc65291463 percent-width nested tables in fixed-width cells now use the computed
column width if available for computing their own width.


git-svn-id: svn://10.0.0.236/trunk@7646 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 02:16:18 +00:00
joki%netscape.com
315d19a499 Additional fixes to allow child webshells in framesets to be properly released.
git-svn-id: svn://10.0.0.236/trunk@7645 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 01:36:02 +00:00
joki%netscape.com
06a2ca93d0 Add RunGC method onto ScriptContext interface. Probably temporary until we have auto-gc'ing set up.
git-svn-id: svn://10.0.0.236/trunk@7644 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 01:33:34 +00:00
joki%netscape.com
dffea3f81d Fix possible addref on null pointer
git-svn-id: svn://10.0.0.236/trunk@7643 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 01:30:29 +00:00
karnaze%netscape.com
da7fa463af added GetMarginWidth, SetMarginWidth, GetMarginHeight, SetMarginHeight to web widget, frameset codes calls it.
git-svn-id: svn://10.0.0.236/trunk@7642 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 01:01:27 +00:00
jwz%mozilla.org
252080d0bd add -DNO_SECURITY so that it works on the internal Netscape builds as well
(which do have security, but which do not have a libmime with S/MIME code.)


git-svn-id: svn://10.0.0.236/trunk@7641 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-10 00:24:00 +00:00
valeski%netscape.com
47516b0967 removed the http:// assumption code from here to nsWebShell.cpp
git-svn-id: svn://10.0.0.236/trunk@7640 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 21:23:54 +00:00
valeski%netscape.com
196f89df7e moved http:// assumption code into nsWebShell.cpp from nsBrowserWindow.cpp
git-svn-id: svn://10.0.0.236/trunk@7639 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 21:22:18 +00:00
waterson%netscape.com
213c76750c Added some info to the begin-session timing trace.
git-svn-id: svn://10.0.0.236/trunk@7638 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 20:32:48 +00:00
waterson%netscape.com
91ad084c9b Modified timing macros to include MWContext parameter.
git-svn-id: svn://10.0.0.236/trunk@7637 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 20:32:30 +00:00
waterson%netscape.com
cb3e361cc8 Added some more timing traces to WinFE. Approved by blythe.
git-svn-id: svn://10.0.0.236/trunk@7636 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 20:28:53 +00:00
waterson%netscape.com
be7874976b Added context parameter to timing macros.
git-svn-id: svn://10.0.0.236/trunk@7635 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 20:28:04 +00:00
troy%netscape.com
5a0c300836 Changed destructor to release reference to image request observer objects. This
fixes a memory leak


git-svn-id: svn://10.0.0.236/trunk@7632 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 16:53:24 +00:00
troy%netscape.com
f06d6cad13 Now deletes the images and releases the reference to the image group
git-svn-id: svn://10.0.0.236/trunk@7631 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 16:42:06 +00:00
mcafee%netscape.com
0bea3d5c5f Compiler warning on IRIX.
git-svn-id: svn://10.0.0.236/trunk@7629 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 09:10:55 +00:00
joki%netscape.com
9a4b4d35b9 Partial fix for frame based and general memory leaks of webshells and prescontexts
git-svn-id: svn://10.0.0.236/trunk@7628 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 07:43:22 +00:00
jwz%mozilla.org
fbd360d63b oops, typo'ed an extra ";" that gcc doesn't like.
git-svn-id: svn://10.0.0.236/trunk@7626 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 06:02:27 +00:00
troy%netscape.com
d545466115 Added code to destructor to delete mVisited
git-svn-id: svn://10.0.0.236/trunk@7624 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 05:00:24 +00:00
despotdaemon%netscape.com
46893f02e1 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7623 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 04:00:46 +00:00
despotdaemon%netscape.com
7f359d5cec Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7622 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 03:59:28 +00:00
jwz%mozilla.org
0f2d91d145 build and link against libmime (on Unix only, until I find some victims to
test things out on the other platforms.)


git-svn-id: svn://10.0.0.236/trunk@7621 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 03:53:14 +00:00
jwz%mozilla.org
abbaaba6be various tweaks to get libmime to build, and be linkable with the
rest of Mozilla.


git-svn-id: svn://10.0.0.236/trunk@7620 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 03:51:51 +00:00
jwz%mozilla.org
94c97d19b5 in order to make libmime compile without libmsg, moved some
utility functions from libmsg/msgutil.c to new files
libxp/xp_linebuf.c and libnet/mkbuf.c:

	msg_GrowBuffer ==> XP_GrowBuffer
	msg_LineBuffer ==> XP_LineBuffer
	msg_ReBuffer ==> XP_ReBuffer
	msg_MakeRebufferingStream ==> NET_MakeRebufferingStream


git-svn-id: svn://10.0.0.236/trunk@7619 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 03:49:12 +00:00
beard%netscape.com
70c2f26e11 Added nsIPluginInstance* and NPWindow* data members to CPluginInstancePeer, fixed some reference counting bugs. Changed instance->pdata to point to the peer, so it can be accessed independently.
git-svn-id: svn://10.0.0.236/trunk@7618 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 03:17:39 +00:00
troy%netscape.com
ad1ac559f3 Added release of mAppShell
git-svn-id: svn://10.0.0.236/trunk@7617 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 02:13:29 +00:00
beard%netscape.com
230a20f31d Fixed a C string copy bug in CPluginInstancePeer::CPluginInstancePeer, added strcasecmp for XP_MAC.
git-svn-id: svn://10.0.0.236/trunk@7616 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 01:55:13 +00:00
troy%netscape.com
786bb2438d Cleaned up widget reference counting. In particular parent widgets
release their references to child widgets


git-svn-id: svn://10.0.0.236/trunk@7615 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 01:37:30 +00:00
leif
2701eafa8a - Lots of modifications, minor changes etc.
- Updated all documentation.
- Added a few new functions.


git-svn-id: svn://10.0.0.236/trunk@7614 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 01:16:55 +00:00
jevering%netscape.com
80ca6e2b8c Fixed build. forgot prenv.h
git-svn-id: svn://10.0.0.236/trunk@7613 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-09 00:02:40 +00:00
jevering%netscape.com
6c6b309e49 Set Home page for viewer.
git-svn-id: svn://10.0.0.236/trunk@7612 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 22:01:46 +00:00
beard%netscape.com
5ef3aa0f18 Changed all uses of lo_NVList to not depend on OJI being defined.
git-svn-id: svn://10.0.0.236/trunk@7610 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 20:50:22 +00:00
michaelp%netscape.com
8eeb4425f1 merged changes from branch.
git-svn-id: svn://10.0.0.236/trunk@7609 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 19:21:40 +00:00
ramiro%netscape.com
d667b404da Fix xpcom linking problem under some versions of gcc and egcs.
Add libxpcom.a to link line after libraries that reference symbols in it.


git-svn-id: svn://10.0.0.236/trunk@7608 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 06:37:47 +00:00
troy%netscape.com
06a522099a Change to object lifetime management. Views are no longer ref counted
git-svn-id: svn://10.0.0.236/trunk@7605 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 04:23:33 +00:00
despotdaemon%netscape.com
a2c1d50d52 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7603 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 03:38:06 +00:00
cyeh%netscape.com
9f3b6e8934 added more *.in files under JavaStubsUnix for cls autoconf work
git-svn-id: svn://10.0.0.236/trunk@7602 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 02:41:47 +00:00
jwz%mozilla.org
cbf12721dd Got libmime and the mimefilt program to build in the public Mozilla code base.
Mostly I did this by turning on -DMOZILLA_30, which eliminates most of
the, uh, "progress" made in libmime since 3.0.  That this worked highlights
the fact that the 3.x libmime had far fewer cross-dependencies on libmsg
than 4.x did.


git-svn-id: svn://10.0.0.236/trunk@7601 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 02:20:33 +00:00
jwz%mozilla.org
0a29f06a82 In 2.x/3.x, this file was lib/libmsg/addr.c.
In 4.x, it was lib/libmsg/addrutil.cpp.  (They felt the need to convert it
to C++ for no adequately explainable reason, and to add some dependencies
on the rest of libmsg.)

Since libmime needs this, and libmsg isn't being built, I converted it
back to C, removed the libmsg dep, and put a copy of this file here.

Someday, something more sensible should be done.  Like deleting the copy
in libmsg, perhaps.


git-svn-id: svn://10.0.0.236/trunk@7600 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 02:17:51 +00:00
cmanske%netscape.com
568fe32f26 Fixed P0 Composer bug 312249 (backspacing when lines wrap) with help/review/approval by nisheeth. Also layout's part of fix to 310966 (changing doc colorsof current windows)
git-svn-id: svn://10.0.0.236/trunk@7598 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 02:06:57 +00:00
cyeh%netscape.com
f10ef2e77a added corresponding Makefile.in files at request of cls for autoconf
work


git-svn-id: svn://10.0.0.236/trunk@7597 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 01:56:40 +00:00
cyeh%netscape.com
b030ceac7e \ characters are not used on the last line of a module.
git-svn-id: svn://10.0.0.236/trunk@7596 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 01:27:20 +00:00
cmanske%netscape.com
8bb7f094a7 Fixed image loading problem in composer. Bug 312056. Reviewed and checkin permission by gagan
git-svn-id: svn://10.0.0.236/trunk@7595 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-08 01:23:26 +00:00
nisheeth%netscape.com
fdf8b180d7 Fixes bugs 301002, 206090, and 312021. Blocked tags were getting misordered.
lo_FinishLayout() was getting called multiple times.  These fixes were migrated
over from the 4.06 branch.


git-svn-id: svn://10.0.0.236/trunk@7593 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 23:59:48 +00:00
nisheeth%netscape.com
da6cf88f6f lo_FillinImageGeometry() was not being called before the image load was started
for the case when an <IMG> tag was processed while layout was blocked.  Fixed.


git-svn-id: svn://10.0.0.236/trunk@7592 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 23:45:27 +00:00
vidur%netscape.com
bbd5036562 Better JSConsole return values
git-svn-id: svn://10.0.0.236/trunk@7591 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 23:19:20 +00:00
vidur%netscape.com
d6598dbb16 Implemented additional document and form interfaces. Implemented named elements for documents and forms. nsInput now implements nsIDOMHTMLInputElement.
git-svn-id: svn://10.0.0.236/trunk@7588 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 23:08:00 +00:00
vidur%netscape.com
55b6f5c540 Better support for interface families in the IDL (named elements). Netscape interfaces for HTMLDocument and HTMLFormElement (for backwards compatibility.
git-svn-id: svn://10.0.0.236/trunk@7587 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 23:01:52 +00:00
kostello%netscape.com
2582b8062f Put both AOLMAIL and html/text of the pasteboard
git-svn-id: svn://10.0.0.236/trunk@7586 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 22:35:44 +00:00
buster%netscape.com
28e4b99d4b bug #312932. fixes nested tables with percent widths that also have
content with percent widths.


git-svn-id: svn://10.0.0.236/trunk@7583 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 21:53:27 +00:00
cyeh%netscape.com
f2a8ac10f9 adding mozilla/Makefile.in and mozilla/configure.in to MozillaSourceUnix at
request of chris seawood for autoconf work.


git-svn-id: svn://10.0.0.236/trunk@7582 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 21:13:06 +00:00
rods%netscape.com
5ec76384fd Shift click (without first clicking) no longer crashes the viewer
git-svn-id: svn://10.0.0.236/trunk@7578 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 20:15:36 +00:00
rods%netscape.com
c295c87d48 Select All no turns on selection in the document and renders it selected.
git-svn-id: svn://10.0.0.236/trunk@7577 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 20:14:39 +00:00
kmcclusk%netscape.com
be82118997 Correctly set shift and control flags on mouse and keyboard events.
git-svn-id: svn://10.0.0.236/trunk@7576 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 19:38:28 +00:00
kostello%netscape.com
d10145255f Fix mac build
git-svn-id: svn://10.0.0.236/trunk@7574 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 18:34:13 +00:00
law%netscape.com
a8177a1d9a Fixing stupid off-by-one bug that breaks rel builds
git-svn-id: svn://10.0.0.236/trunk@7573 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 18:34:03 +00:00
troy%netscape.com
f5d7d63a42 Removed MoveTo() and SizeTo() member functions that were for debug
purposes, and are no longer needed


git-svn-id: svn://10.0.0.236/trunk@7571 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 18:17:34 +00:00
robinf%netscape.com
314ddcb0d7 this is help file that goest with as_html/2step.htm; re: bug 3000065
git-svn-id: svn://10.0.0.236/trunk@7568 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 18:10:18 +00:00
robinf%netscape.com
ff54448ac3 removing this file so I can replace it with renamed file "2step.htm" to fix bug # 3000065
git-svn-id: svn://10.0.0.236/trunk@7567 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 18:08:29 +00:00
karnaze%netscape.com
bdf4fa6853 removed overloaded GetAttribute on nsInput
git-svn-id: svn://10.0.0.236/trunk@7566 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 17:39:27 +00:00
kmcclusk%netscape.com
07da1c6708 Changed NSIMETHOD to NS_METHOD in nsWindow.h
Changed eCursor_arrow_east and east_plus to west and west_plus for
duplicate switch statement


git-svn-id: svn://10.0.0.236/trunk@7565 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 17:13:04 +00:00
kmcclusk%netscape.com
5e5b3e766f Changed nsFontMetrixWin to nsFontMetrixUnix for GetWidth member function.
git-svn-id: svn://10.0.0.236/trunk@7564 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 16:43:52 +00:00
rods%netscape.com
0f71b811b5 Bug fixes for memory crash, and added blue triangle instead of red line
git-svn-id: svn://10.0.0.236/trunk@7562 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 16:14:07 +00:00
ramiro%netscape.com
a2ab13ee10 Fix the unix build bustage cause of undefined NET_DisplayCookieInfoAsHTML().
git-svn-id: svn://10.0.0.236/trunk@7561 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 15:37:30 +00:00
spider%netscape.com
63940c35da Cursor support
git-svn-id: svn://10.0.0.236/trunk@7560 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 15:35:27 +00:00
despotdaemon%netscape.com
1b2c68ed55 Pseudo-automatic update of changes made by terry@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7559 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 14:56:51 +00:00
spider%netscape.com
8f307fdad4 Adding several new cursor types
git-svn-id: svn://10.0.0.236/trunk@7558 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 14:45:46 +00:00
ramiro%netscape.com
359faed83b fix attachment.
git-svn-id: svn://10.0.0.236/trunk@7557 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 11:03:30 +00:00
ramiro%netscape.com
12722e7f70 dfm's privacy tools menu.
git-svn-id: svn://10.0.0.236/trunk@7556 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 09:51:55 +00:00
clu%netscape.com
bc1b400fad modified a conditional statement in ChangeTableSelection so that table selection can be correct on the mac when the movement is ED_MOVE_NONE (unlike other platforms, macfe passes in a NULL pData). Reviewed by cmanske and brade.
git-svn-id: svn://10.0.0.236/trunk@7555 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 09:17:19 +00:00
clu%netscape.com
f1c8ac0646 changed composer table select submenu so it can now select row, col, cell, and all cells correctly. Reviewed by brade.
git-svn-id: svn://10.0.0.236/trunk@7554 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 09:11:11 +00:00
clu%netscape.com
77c7a847f5 added resource numbers 1320 through 1323 to support table menu selection. Reviewed by brade.
git-svn-id: svn://10.0.0.236/trunk@7553 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 09:06:20 +00:00
clu%netscape.com
268ac9858e implemented code to respond to table selection from the menu. reviewed by brade.
git-svn-id: svn://10.0.0.236/trunk@7552 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 09:03:54 +00:00
clu%netscape.com
242bd33386 separating #ifdef MOZ_MAIL_NEWS from #ifdef EDITOR so that CComposerFind can work with just the EDITOR but not MOZ_MAIL_NEWS turned on. #312288; reviewed by brade.
git-svn-id: svn://10.0.0.236/trunk@7551 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 09:01:50 +00:00
ramiro%netscape.com
b90bfa4721 Granting some dude's wish.
git-svn-id: svn://10.0.0.236/trunk@7550 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 08:44:04 +00:00
joki%netscape.com
6fa9146055 Fix mouseover in url messages by initializing event result messages.
git-svn-id: svn://10.0.0.236/trunk@7549 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 08:11:20 +00:00
peterl%netscape.com
e561f6fa33 IRIX build fix
git-svn-id: svn://10.0.0.236/trunk@7548 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 06:24:38 +00:00
gagan%netscape.com
0e21ceef57 Fix schtupid warning on schMac.
git-svn-id: svn://10.0.0.236/trunk@7547 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 06:24:05 +00:00
cls%seawood.org
1df7026b42 Not quite sure what happened. It was in the repository but was not
showing up on bonsai and I could not commit any changes.


git-svn-id: svn://10.0.0.236/trunk@7545 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 06:20:02 +00:00
cls%seawood.org
9dc23ae8bd Run autoconf on this file to generate the configure script.
git-svn-id: svn://10.0.0.236/trunk@7544 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 06:01:37 +00:00
troy%netscape.com
941b44b69a Added GetClientData() and SetClientData() member functions
git-svn-id: svn://10.0.0.236/trunk@7533 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 05:19:40 +00:00
joki%netscape.com
4fac7be2a1 Added support for click event on form buttons
git-svn-id: svn://10.0.0.236/trunk@7532 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 05:19:07 +00:00
morse%netscape.com
b4be9ca1a8 fix build bustage on mac
git-svn-id: svn://10.0.0.236/trunk@7531 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 05:15:03 +00:00
joki%netscape.com
e562c4ba4b Adding window.open method, fixing editormode in release builds, various event fixes
git-svn-id: svn://10.0.0.236/trunk@7528 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 04:45:03 +00:00
peterl%netscape.com
dedd0a2fc1 fix build
git-svn-id: svn://10.0.0.236/trunk@7523 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 03:43:20 +00:00
morse%netscape.com
b8f354a7e7 alphabetize entries in viewers, put up nag boxes
git-svn-id: svn://10.0.0.236/trunk@7518 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 03:15:53 +00:00
morse%netscape.com
aa83c449d4 changes for single signon
git-svn-id: svn://10.0.0.236/trunk@7517 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 03:13:05 +00:00
morse%netscape.com
b8c13329df change for single singon, reviewed by dfm
git-svn-id: svn://10.0.0.236/trunk@7516 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 03:12:04 +00:00
rickg%netscape.com
52c71bfad7 too many bug fixes to name, but all legit scopus bugs
git-svn-id: svn://10.0.0.236/trunk@7515 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 03:09:24 +00:00
peterl%netscape.com
3fc016f2ac fixed processing of font face (preserve original quotes)
git-svn-id: svn://10.0.0.236/trunk@7513 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:17:56 +00:00
peterl%netscape.com
289d347c74 save quote char on string tokens
git-svn-id: svn://10.0.0.236/trunk@7512 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:17:10 +00:00
peterl%netscape.com
56fd682070 fixed font face support
git-svn-id: svn://10.0.0.236/trunk@7511 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:16:38 +00:00
peterl%netscape.com
dda3150013 changed nsFont to contain face lists in name
git-svn-id: svn://10.0.0.236/trunk@7510 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:12:34 +00:00
buster%netscape.com
bd14f040ee synch with branch
fixed the following bugs: 312653 312656 312655
the fixes were:

1. cells now inherit their bgcolor from the row, if available.  This is the
Nav4 way of drawing row bgcolor, rather than having the row paint its own bgcolor. (Troy, I intend to make this conditional
based on the compatibility mode)

2. colspans across cols that are all specified width no longer try to proportionately
divide the width of the span between the cols.  see http://www.city.net (now it's really fixed, without breaking nested tables in
constrained situations.)  A happy side effect is nested tables in general behave better when constrained.

3. min table sizes are fixed, so min width changes to content now effect the
table correctly during incremental reflow.  This fixes the table layout portion of the bugs on the http://www.aol.com/corp tree.
Rick will check in the other half of this fix soon.  Until then, don't expect to see much improvement.

4. fixed bug 312799.  Table cell now always reserve at least the maxElementSize
of its content, fixing problems when desiredSize<maxElementSize


git-svn-id: svn://10.0.0.236/trunk@7509 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:11:51 +00:00
peterl%netscape.com
d854ad04ea performance tweak in trim
git-svn-id: svn://10.0.0.236/trunk@7508 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:11:13 +00:00
kipp%netscape.com
0e8da14ade Landed non-branch version on the tip
git-svn-id: svn://10.0.0.236/trunk@7507 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 02:10:11 +00:00
kipp%netscape.com
a817acde89 Fixed embed/flush-text bug #312433
git-svn-id: svn://10.0.0.236/trunk@7503 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 01:50:12 +00:00
kipp%netscape.com
141943b382 new
git-svn-id: svn://10.0.0.236/trunk@7502 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 01:39:40 +00:00
pinkerton%netscape.com
5bf53af107 Fix problem that made mgmt mode double-click (default property was wrong when not specified by ht).
git-svn-id: svn://10.0.0.236/trunk@7501 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 01:01:23 +00:00
amusil%netscape.com
2a64af000b Fixes Bug# 117905. This fix has been in the 4x tree since 4.04.
git-svn-id: svn://10.0.0.236/trunk@7500 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:21:42 +00:00
saari%netscape.com
3cac2c90bd Fixing a checkin error for the MacMemAllocator changes.
This fixes some recent instability in Mac Grommit.


git-svn-id: svn://10.0.0.236/trunk@7499 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:21:29 +00:00
pinkerton%netscape.com
32ab184ea2 Don't use constants from selector (or include it's header file). Define them here instead.
git-svn-id: svn://10.0.0.236/trunk@7497 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:16:47 +00:00
pinkerton%netscape.com
cc0db74b42 Don't #include selector header because it's not being used.
git-svn-id: svn://10.0.0.236/trunk@7495 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:15:50 +00:00
pinkerton%netscape.com
f0e626e6e7 Add context menus and fix scrolling in shack.
git-svn-id: svn://10.0.0.236/trunk@7494 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:15:17 +00:00
pinkerton%netscape.com
3c5713388b Remove dependance on CNavCenterSelector's constants and make the title strips LCommanders so they can have context menus.
git-svn-id: svn://10.0.0.236/trunk@7493 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:14:26 +00:00
pinkerton%netscape.com
d2bf3066eb Make single-click mode work correctly (on mouse up, not mouse down).
git-svn-id: svn://10.0.0.236/trunk@7491 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:12:49 +00:00
timm%netscape.com
490ee44a3f fix for long timeout on cancelled or dropped connections
git-svn-id: svn://10.0.0.236/trunk@7490 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:07:27 +00:00
law%netscape.com
dde56e728d Turn on new Desktop integration prefs pane
git-svn-id: svn://10.0.0.236/trunk@7489 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:07:22 +00:00
law%netscape.com
36496b7353 Added new property pane for windows (98) Desktop integration
git-svn-id: svn://10.0.0.236/trunk@7488 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:05:00 +00:00
law%netscape.com
9bf63f5436 New 'default browser' dialog
git-svn-id: svn://10.0.0.236/trunk@7487 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-07 00:02:46 +00:00
law%netscape.com
c03b26049f More tweaks
git-svn-id: svn://10.0.0.236/trunk@7486 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 23:54:37 +00:00
preed%netscape.com
8d48e7639a addition to code to allow open/closed information on tinderbox pages
(essentially turned this functionality on again). reviewed by ltabb.


git-svn-id: svn://10.0.0.236/trunk@7485 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 23:35:58 +00:00
robinf%netscape.com
6173188e4d Corrected the name of the Show More ISPs button in this help screen; removed author comment from text.
git-svn-id: svn://10.0.0.236/trunk@7483 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 23:23:02 +00:00
robinf%netscape.com
a2463063c4 updated name of this help screen so that it says "Connect to Netscape" instead of "Retrieve Accnt Plan Info".
git-svn-id: svn://10.0.0.236/trunk@7481 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 23:20:10 +00:00
timm%netscape.com
a436acef6b remove busted error logic from error.js
git-svn-id: svn://10.0.0.236/trunk@7480 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 23:18:49 +00:00
akkana%netscape.com
8c3fc93a3c ifdef Ender: calculate row/column size of Ender htmlareas, and put a
frame around embeded editor components.


git-svn-id: svn://10.0.0.236/trunk@7477 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 22:40:24 +00:00
spider%netscape.com
ac2b072cf1 Register the menus
git-svn-id: svn://10.0.0.236/trunk@7476 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 22:02:06 +00:00
spider%netscape.com
54beb36fea Separating out the shellfactory for modularity
git-svn-id: svn://10.0.0.236/trunk@7475 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:54:26 +00:00
dcone%netscape.com
b9abec933a updated projects to use static libs
git-svn-id: svn://10.0.0.236/trunk@7474 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:53:08 +00:00
dcone%netscape.com
1ffe0d0129 implemented newcwindow
git-svn-id: svn://10.0.0.236/trunk@7473 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:51:14 +00:00
dcone%netscape.com
9abd073417 fixed bugs, implemented new window
git-svn-id: svn://10.0.0.236/trunk@7472 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:50:56 +00:00
dcone%netscape.com
363d87dd98 fixed some bugs
git-svn-id: svn://10.0.0.236/trunk@7471 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:50:30 +00:00
spider%netscape.com
01b8b8e2c9 reordering files to appropriate directories
git-svn-id: svn://10.0.0.236/trunk@7469 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:32:49 +00:00
despotdaemon%netscape.com
0e060bf013 Pseudo-automatic update of changes made by dhiren@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@7468 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 21:03:49 +00:00
timm%netscape.com
55301fe6ab move removal of support window to compare page
git-svn-id: svn://10.0.0.236/trunk@7467 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:55:40 +00:00
timm%netscape.com
9ffaaca2e8 added code to pull down the support window
git-svn-id: svn://10.0.0.236/trunk@7466 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:43:07 +00:00
timm%netscape.com
72cec2c321 added document close call to force pane to clear
git-svn-id: svn://10.0.0.236/trunk@7465 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:40:34 +00:00
ramiro%netscape.com
e5e3f5f701 DONT USE C++ COMMENT IN C FILES. Fix bustage.
git-svn-id: svn://10.0.0.236/trunk@7464 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:32:12 +00:00
kipp%netscape.com
3ac69641d1 new
git-svn-id: svn://10.0.0.236/trunk@7463 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:29:07 +00:00
kipp%netscape.com
9b4b2ca63d Added code to create logging sinks
git-svn-id: svn://10.0.0.236/trunk@7462 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:27:57 +00:00
kipp%netscape.com
f2811d2878 Build logging sink
git-svn-id: svn://10.0.0.236/trunk@7461 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:27:27 +00:00
pinkerton%netscape.com
69637617ce Fix 2000 link warnings problem caused by including lots o' libraries in this static lib. (rev beard).
git-svn-id: svn://10.0.0.236/trunk@7460 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:24:11 +00:00
kin%netscape.com
7563aa1e6a Updated DisplayPixmap() prototype to use PRInt32 to match function definition
in Frame.cpp.


git-svn-id: svn://10.0.0.236/trunk@7459 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:12:29 +00:00
kin%netscape.com
e4854ccbe6 Added support for the new HTMLArea form element. All changes are ifdef'd ENDER.
git-svn-id: svn://10.0.0.236/trunk@7458 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:10:37 +00:00
blythe%netscape.com
3a1663e603 Fix MOZ_LITE builds busted by previous checkin
git-svn-id: svn://10.0.0.236/trunk@7457 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 20:04:24 +00:00
kipp%netscape.com
30ebba07e7 Landed changes made on branch (bug #312572)
git-svn-id: svn://10.0.0.236/trunk@7456 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:52:48 +00:00
toshok%netscape.com
14538a820a actually fix the freebsd conditional.
git-svn-id: svn://10.0.0.236/trunk@7455 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:49:15 +00:00
toshok%netscape.com
9744146269 FreeBSD doesn't need (and complains about) -rdynamic
git-svn-id: svn://10.0.0.236/trunk@7454 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:48:00 +00:00
norris%netscape.com
14026ac04a Get signed JavaScript working using the non-Java capabilities code.
Also, implement a preference to run only signed JavaScript.


git-svn-id: svn://10.0.0.236/trunk@7453 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:46:03 +00:00
norris%netscape.com
a237948169 Add routine to initialize capabilities code.
Code was actually written by raman.


git-svn-id: svn://10.0.0.236/trunk@7452 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:41:12 +00:00
karnaze%netscape.com
4e121eb837 implemented border, frameborder attributes in <frameset>
git-svn-id: svn://10.0.0.236/trunk@7451 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:40:37 +00:00
rods%netscape.com
b3a1eadaa4 Memory Leak in selection and a crash bug where a stack varible is being deleted.
git-svn-id: svn://10.0.0.236/trunk@7450 18797224-902f-48f8-a5cc-f745e15eee43
1998-08-06 19:28:44 +00:00
8272 changed files with 102 additions and 2709814 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,40 +0,0 @@
Please be apprised of the following Legal Notices:
A) The U.S. District Court for the Eastern District of Virginia has
ruled that the Netscape Navigator code does not infringe Wang's U.S.
Patent No. 4,751,669 ("the '669 Patent") because: 1) HTML is not
Videotex as defined by the '669 patent; 2) web servers are not central
suppliers; and 3) Navigator does not "connect," as defined by the '669
Patent, to web servers on the Internet. Wang may appeal this decision to
the Federal Circuit. Wang contended that its Patent disclosing a
"Videotext" system, is infringed by the following functionality in the
Netscape Navigator code: 1) the animated logo and status line indicators
--See Claims 1,8 and 9; 2) the "File Save As" function --See Claims
23-27; 3) Bookmarks and Rename Bookmarks in the Properties window --See
Claims 20-22; 4) storing HTML, GIF, and JPEG files and adding filename
extensions --See Claim 38
B) Intermind owns pending U.S. patent applications on communications
systems which employ metadata ("channel objects") to define a control
structure for information transfer. The Netscape code does not infringe
as released; however, modifications which utilize channel objects as
described by Intermind should be considered carefully. The following is
a statement from Intermind: "Intermind's claims fundamentally involve
the use of a control structure to automate communications. ...The
essence of Intermind's top claim is that two devices sender and
receiver have persistent storage, communicate over a network,
and exchange a control structure including metadata which describes: 1)
what information is to be updated, 2) when to update this information,
and 3) how to transfer the updated information. In addition, at least
the receiving device must be able to process the metadata in order to
perform the update determination and transfer. Any digital
communications system which incorporates all of these elements will be
covered by Intermind's patents." See Intermind.com.
C) Stac, Inc., and its licensing agent Hi/fn, own several patents which
disclose data compression methods implementing an LZS compression
algorithm, including U.S. Patent Nos. 4,701,745 and 5,016, 009 ("the
Stac Patents"). The Netscape Communicator code does not perform
compression. If you modify the Netscape source code to perform
compression, please take notice of the Stac Patents.

View File

@@ -1,421 +0,0 @@
NETSCAPE PUBLIC LICENSE
Version 1.0
----------------
1. Definitions.
1.1. ``Contributor'' means each entity that creates or contributes to
the creation of Modifications.
1.2. ``Contributor Version'' means the combination of the Original
Code, prior Modifications used by a Contributor, and the Modifications
made by that particular Contributor.
1.3. ``Covered Code'' means the Original Code or Modifications or the
combination of the Original Code and Modifications, in each case
including portions thereof.
1.4. ``Electronic Distribution Mechanism'' means a mechanism generally
accepted in the software development community for the electronic
transfer of data.
1.5. ``Executable'' means Covered Code in any form other than Source
Code.
1.6. ``Initial Developer'' means the individual or entity identified as
the Initial Developer in the Source Code notice required by Exhibit A.
1.7. ``Larger Work'' means a work which combines Covered Code or
portions thereof with code not governed by the terms of this License.
1.8. ``License'' means this document.
1.9. ``Modifications'' means any addition to or deletion from the
substance or structure of either the Original Code or any previous
Modifications. When Covered Code is released as a series of files, a
Modification is:
A. Any addition to or deletion from the contents of a file
containing Original Code or previous Modifications.
B. Any new file that contains any part of the Original Code or
previous Modifications.
1.10. ``Original Code'' means Source Code of computer software code
which is described in the Source Code notice required by Exhibit A as
Original Code, and which, at the time of its release under this License
is not already Covered Code governed by this License.
1.11. ``Source Code'' means the preferred form of the Covered Code for
making modifications to it, including all modules it contains, plus any
associated interface definition files, scripts used to control
compilation and installation of an Executable, or a list of source code
differential comparisons against either the Original Code or another
well known, available Covered Code of the Contributor's choice. The
Source Code can be in a compressed or archival form, provided the
appropriate decompression or de-archiving software is widely available
for no charge.
1.12. ``You'' means an individual or a legal entity exercising rights
under, and complying with all of the terms of, this License or a future
version of this License issued under Section 6.1. For legal entities,
``You'' includes any entity which controls, is controlled by, or is
under common control with You. For purposes of this definition,
``control'' means (a) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (b) ownership of fifty percent (50%) or more of the
outstanding shares or beneficial ownership of such entity.
2. Source Code License.
2.1. The Initial Developer Grant.
The Initial Developer hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display, perform, sublicense and
distribute the Original Code (or portions thereof) with or without
Modifications, or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by Initial
Developer, to make, have made, use and sell (``Utilize'') the
Original Code (or portions thereof), but solely to the extent that
any such patent is reasonably necessary to enable You to Utilize
the Original Code (or portions thereof) and not to any greater
extent that may be necessary to Utilize further Modifications or
combinations.
2.2. Contributor Grant.
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license, subject to third party intellectual property
claims:
(a) to use, reproduce, modify, display, perform, sublicense and
distribute the Modifications created by such Contributor (or
portions thereof) either on an unmodified basis, with other
Modifications, as Covered Code or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by
Contributor, to Utilize the Contributor Version (or portions
thereof), but solely to the extent that any such patent is
reasonably necessary to enable You to Utilize the Contributor
Version (or portions thereof), and not to any greater extent that
may be necessary to Utilize further Modifications or combinations.
3. Distribution Obligations.
3.1. Application of License.
The Modifications which You create or to which You contribute are
governed by the terms of this License, including without limitation
Section 2.2. The Source Code version of Covered Code may be distributed
only under the terms of this License or a future version of this
License released under Section 6.1, and You must include a copy of this
License with every copy of the Source Code You distribute. You may not
offer or impose any terms on any Source Code version that alters or
restricts the applicable version of this License or the recipients'
rights hereunder. However, You may include an additional document
offering the additional rights described in Section 3.5.
3.2. Availability of Source Code.
Any Modification which You create or to which You contribute must be
made available in Source Code form under the terms of this License
either on the same media as an Executable version or via an accepted
Electronic Distribution Mechanism to anyone to whom you made an
Executable version available; and if made available via Electronic
Distribution Mechanism, must remain available for at least twelve (12)
months after the date it initially became available, or at least six
(6) months after a subsequent version of that particular Modification
has been made available to such recipients. You are responsible for
ensuring that the Source Code version remains available even if the
Electronic Distribution Mechanism is maintained by a third party.
3.3. Description of Modifications.
You must cause all Covered Code to which you contribute to contain a
file documenting the changes You made to create that Covered Code and
the date of any change. You must include a prominent statement that the
Modification is derived, directly or indirectly, from Original Code
provided by the Initial Developer and including the name of the Initial
Developer in (a) the Source Code, and (b) in any notice in an
Executable version or related documentation in which You describe the
origin or ownership of the Covered Code.
3.4. Intellectual Property Matters
(a) Third Party Claims.
If You have knowledge that a party claims an intellectual property
right in particular functionality or code (or its utilization
under this License), you must include a text file with the source
code distribution titled ``LEGAL'' which describes the claim and
the party making the claim in sufficient detail that a recipient
will know whom to contact. If you obtain such knowledge after You
make Your Modification available as described in Section 3.2, You
shall promptly modify the LEGAL file in all copies You make
available thereafter and shall take other steps (such as notifying
appropriate mailing lists or newsgroups) reasonably calculated to
inform those who received the Covered Code that new knowledge has
been obtained.
(b) Contributor APIs.
If Your Modification is an application programming interface and
You own or control patents which are reasonably necessary to
implement that API, you must also include this information in the
LEGAL file.
3.5. Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source
Code, and this License in any documentation for the Source Code, where
You describe recipients' rights relating to Covered Code. If You
created one or more Modification(s), You may add your name as a
Contributor to the notice described in Exhibit A. If it is not possible
to put such notice in a particular Source Code file due to its
structure, then you must include such notice in a location (such as a
relevant directory file) where a user would be likely to look for such
a notice. You may choose to offer, and to charge a fee for, warranty,
support, indemnity or liability obligations to one or more recipients
of Covered Code. However, You may do so only on Your own behalf, and
not on behalf of the Initial Developer or any Contributor. You must
make it absolutely clear than any such warranty, support, indemnity or
liability obligation is offered by You alone, and You hereby agree to
indemnify the Initial Developer and every Contributor for any liability
incurred by the Initial Developer or such Contributor as a result of
warranty, support, indemnity or liability terms You offer.
3.6. Distribution of Executable Versions.
You may distribute Covered Code in Executable form only if the
requirements of Section 3.1-3.5 have been met for that Covered Code,
and if You include a notice stating that the Source Code version of the
Covered Code is available under the terms of this License, including a
description of how and where You have fulfilled the obligations of
Section 3.2. The notice must be conspicuously included in any notice in
an Executable version, related documentation or collateral in which You
describe recipients' rights relating to the Covered Code. You may
distribute the Executable version of Covered Code under a license of
Your choice, which may contain terms different from this License,
provided that You are in compliance with the terms of this License and
that the license for the Executable version does not attempt to limit
or alter the recipient's rights in the Source Code version from the
rights set forth in this License. If You distribute the Executable
version under a different license You must make it absolutely clear
that any terms which differ from this License are offered by You alone,
not by the Initial Developer or any Contributor. You hereby agree to
indemnify the Initial Developer and every Contributor for any liability
incurred by the Initial Developer or such Contributor as a result of
any such terms You offer.
3.7. Larger Works.
You may create a Larger Work by combining Covered Code with other code
not governed by the terms of this License and distribute the Larger
Work as a single product. In such a case, You must make sure the
requirements of this License are fulfilled for the Covered Code.
4. Inability to Comply Due to Statute or Regulation.
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Code due to statute
or regulation then You must: (a) comply with the terms of this License
to the maximum extent possible; and (b) describe the limitations and
the code they affect. Such description must be included in the LEGAL
file described in Section 3.4 and must be included with all
distributions of the Source Code. Except to the extent prohibited by
statute or regulation, such description must be sufficiently detailed
for a recipient of ordinary skill to be able to understand it.
5. Application of this License.
This License applies to code to which the Initial Developer has
attached the notice in Exhibit A, and to related Covered Code.
6. Versions of the License.
6.1. New Versions.
Netscape Communications Corporation (``Netscape'') may publish revised
and/or new versions of the License from time to time. Each version will
be given a distinguishing version number.
6.2. Effect of New Versions.
Once Covered Code has been published under a particular version of the
License, You may always continue to use it under the terms of that
version. You may also choose to use such Covered Code under the terms
of any subsequent version of the License published by Netscape. No one
other than Netscape has the right to modify the terms applicable to
Covered Code created under this License.
6.3. Derivative Works.
If you create or use a modified version of this License (which you may
only do in order to apply it to code which is not already Covered Code
governed by this License), you must (a) rename Your license so that the
phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or
any confusingly similar phrase do not appear anywhere in your license
and (b) otherwise make it clear that your version of the license
contains terms which differ from the Mozilla Public License and
Netscape Public License. (Filling in the name of the Initial Developer,
Original Code or Contributor in the notice described in Exhibit A shall
not of themselves be deemed to be modifications of this License.)
7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS,
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
8. TERMINATION.
This License and the rights granted hereunder will terminate
automatically if You fail to comply with terms herein and fail to cure
such breach within 30 days of becoming aware of the breach. All
sublicenses to the Covered Code which are properly granted shall
survive any termination of this License. Provisions which, by their
nature, must remain in effect beyond the termination of this License
shall survive.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER
PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT
EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
10. U.S. GOVERNMENT END USERS.
The Covered Code is a ``commercial item,'' as that term is defined in
48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer
software'' and ``commercial computer software documentation,'' as such
terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
all U.S. Government End Users acquire Covered Code with only those
rights set forth herein.
11. MISCELLANEOUS.
This License represents the complete agreement concerning subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. This License shall be governed by
California law provisions (except to the extent applicable law, if any,
provides otherwise), excluding its conflict-of-law provisions. With
respect to disputes in which at least one party is a citizen of, or an
entity chartered or registered to do business in, the United States of
America: (a) unless otherwise agreed in writing, all disputes relating
to this License (excepting any dispute relating to intellectual
property rights) shall be subject to final and binding arbitration,
with the losing party paying all costs of arbitration; (b) any
arbitration relating to this Agreement shall be held in Santa Clara
County, California, under the auspices of JAMS/EndDispute; and (c) any
litigation relating to this Agreement shall be subject to the
jurisdiction of the Federal Courts of the Northern District of
California, with venue lying in Santa Clara County, California, with
the losing party responsible for costs, including without limitation,
court costs and reasonable attorneys fees and expenses. The application
of the United Nations Convention on Contracts for the International
Sale of Goods is expressly excluded. Any law or regulation which
provides that the language of a contract shall be construed against the
drafter shall not apply to this License.
12. RESPONSIBILITY FOR CLAIMS.
Except in cases where another Contributor has failed to comply with
Section 3.4, You are responsible for damages arising, directly or
indirectly, out of Your utilization of rights under this License, based
on the number of copies of Covered Code you made available, the
revenues you received from utilizing such rights, and other relevant
factors. You agree to work with affected parties to distribute
responsibility on an equitable basis.
AMENDMENTS
Additional Terms applicable to the Netscape Public License.
I. Effect.
These additional terms described in this Netscape Public License --
Amendments shall apply to the Mozilla Communicator client code and to
all Covered Code under this License.
II. ``Netscape's Branded Code'' means Covered Code that Netscape
distributes and/or permits others to distribute under one or more
trademark(s) which are controlled by Netscape but which are not
licensed for use under this License.
III. Netscape and logo.
This License does not grant any rights to use the trademark
``Netscape'', the ``Netscape N and horizon'' logo or the Netscape
lighthouse logo, even if such marks are included in the Original Code.
IV. Inability to Comply Due to Contractual Obligation.
Prior to licensing the Original Code under this License, Netscape has
licensed third party code for use in Netscape's Branded Code. To the
extent that Netscape is limited contractually from making such third
party code available under this License, Netscape may choose to
reintegrate such code into Covered Code without being required to
distribute such code in Source Code form, even if such code would
otherwise be considered ``Modifications'' under this License.
V. Use of Modifications and Covered Code by Initial Developer.
V.1. In General.
The obligations of Section 3 apply to Netscape, except to the
extent specified in this Amendment, Section V.2 and V.3.
V.2. Other Products.
Netscape may include Covered Code in products other than the
Netscape's Branded Code which are released by Netscape during the
two (2) years following the release date of the Original Code,
without such additional products becoming subject to the terms of
this License, and may license such additional products on
different terms from those contained in this License.
V.3. Alternative Licensing.
Netscape may license the Source Code of Netscape's Branded Code,
including Modifications incorporated therein, without such
additional products becoming subject to the terms of this License,
and may license such additional products on different terms from
those contained in this License.
VI. Arbitration and Litigation.
Notwithstanding the limitations of Section 11 above, the provisions
regarding arbitration and litigation in Section 11(a), (b) and (c) of
the License shall apply to all disputes relating to this License.
EXHIBIT A.
``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.
Contributor(s): ______________________________________.''
[NOTE: The text of this Exhibit A may differ slightly from the text of
the notices in the Source Code files of the Original Code. This is due
to time constraints encountered in simultaneously finalizing the
License and in preparing the Original Code for release. You should use
the text of this Exhibit A rather than the text found in the Original
Code Source Code for Your Modifications.]

View File

@@ -1,85 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = .
NSPRDIR = nsprpub
NSPR20 = 1
MOZILLA_CLIENT = 1
ifndef NO_MOCHA
DIRS_JS = js
endif
DIRS = config coreconf $(NSPRDIR) jpeg dbm xpcom base network caps
ifdef MOZ_NETCAST
DIRS += netcast
endif
ifdef MOZ_JAVA
DIRS += sun-java ldap ifc $(DIRS_JS) nav-java ifc/tools js/jsd
else
DIRS += sun-java nav-java $(DIRS_JS)
endif
ifndef NO_SECURITY
DIRS += security
endif
DIRS += privacy
DIRS += modules lib l10n cmd
ifeq ($(STAND_ALONE_JAVA),1)
DIRS = config lib/xp $(NSPRDIR) jpeg modules/zlib sun-java ifc js ifc/tools sun-java/java
endif
include $(DEPTH)/config/rules.mk
export:: envirocheck $(OBJS)
# Running this rule assembles all the SDK source pieces into dist/sdk.
# You'll need to run this rule on every platform to get all the
# binaries (e.g. javah) copied there. You'll also have to do special
# magic on a Mac.
sdk-src::
$(SDKINSTALL) include/npapi.h $(SDK)/include/
$(SDKINSTALL) include/jri_md.h $(SDK)/include/
$(SDKINSTALL) include/jritypes.h $(SDK)/include/
$(SDKINSTALL) include/jri.h $(SDK)/include/
$(SDKINSTALL) lib/plugin/npupp.h $(SDK)/include/
$(SDKINSTALL) sdk/common/*.c* $(SDK)/common/
$(SDKINSTALL) sun-java/classsrc/$(ZIP_NAME).x $(SDK)/classes/$(ZIP_NAME)
$(SDKINSTALL) sdk/examples/simple/Source/*.c $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/*.java $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/*.class $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/_gen/*.h $(SDK)/examples/simple/Source/_gen/
$(SDKINSTALL) sdk/examples/simple/Source/_stubs/*.c $(SDK)/examples/simple/Source/_stubs/
$(SDKINSTALL) sdk/examples/simple/Unix/makefile.* $(SDK)/examples/simple/Unix/
$(SDKINSTALL) sdk/examples/simple/Testing/SimpleExample.html $(SDK)/examples/simple/Testing/
$(SDKINSTALL) sdk/examples/simple/readme.html $(SDK)/examples/simple/
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/*.c $(SDK)/examples/UnixTemplate/Source/
$(SDKINSTALL) sdk/examples/UnixTemplate/Testing/Test.html $(SDK)/examples/UnixTemplate/Testing/
$(SDKINSTALL) sdk/examples/UnixTemplate/Unix/makefile.* $(SDK)/examples/UnixTemplate/Unix/
$(SDKINSTALL) sdk/examples/UnixTemplate/readme.html $(SDK)/examples/UnixTemplate/
sdk-bin::
cd sdk; $(MAKE); cd ..
$(SDKINSTALL) $(DIST)/bin/javah$(BIN_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
$(SDKINSTALL) sdk/examples/simple/Source/$(OBJDIR)/npsimple.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/$(OBJDIR)/nptemplate.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/

View File

@@ -1,100 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = .
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
NSPRDIR = nsprpub
NSPR20 = 1
MOZILLA_CLIENT = 1
ifndef NO_MOCHA
DIRS_JS = js
endif
DIRS = config coreconf $(NSPRDIR) dbm xpcom base network caps
ifndef MOZ_NATIVE_JPEG
DIRS += jpeg
endif
ifdef MOZ_NETCAST
DIRS += netcast
endif
ifdef MOZ_JAVA
DIRS += sun-java ldap ifc $(DIRS_JS) nav-java ifc/tools js/jsd
else
DIRS += sun-java nav-java $(DIRS_JS)
endif
ifndef NO_SECURITY
DIRS += security
endif
DIRS += privacy
DIRS += modules lib l10n cmd
ifeq ($(STAND_ALONE_JAVA),1)
DIRS = config lib/xp $(NSPRDIR) sun-java ifc js ifc/tools sun-java/java
ifndef MOZ_NATIVE_JPEG
DIRS += jpeg
endif
ifndef MOZ_NATIVE_ZLIB
DIRS += modules/zlib
endif
endif
include $(topsrcdir)/config/rules.mk
export:: envirocheck $(OBJS)
# Running this rule assembles all the SDK source pieces into dist/sdk.
# You'll need to run this rule on every platform to get all the
# binaries (e.g. javah) copied there. You'll also have to do special
# magic on a Mac.
sdk-src::
$(SDKINSTALL) include/npapi.h $(SDK)/include/
$(SDKINSTALL) include/jri_md.h $(SDK)/include/
$(SDKINSTALL) include/jritypes.h $(SDK)/include/
$(SDKINSTALL) include/jri.h $(SDK)/include/
$(SDKINSTALL) lib/plugin/npupp.h $(SDK)/include/
$(SDKINSTALL) sdk/common/*.c* $(SDK)/common/
$(SDKINSTALL) sun-java/classsrc/$(ZIP_NAME).x $(SDK)/classes/$(ZIP_NAME)
$(SDKINSTALL) sdk/examples/simple/Source/*.c $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/*.java $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/*.class $(SDK)/examples/simple/Source/
$(SDKINSTALL) sdk/examples/simple/Source/_gen/*.h $(SDK)/examples/simple/Source/_gen/
$(SDKINSTALL) sdk/examples/simple/Source/_stubs/*.c $(SDK)/examples/simple/Source/_stubs/
$(SDKINSTALL) sdk/examples/simple/Unix/makefile.* $(SDK)/examples/simple/Unix/
$(SDKINSTALL) sdk/examples/simple/Testing/SimpleExample.html $(SDK)/examples/simple/Testing/
$(SDKINSTALL) sdk/examples/simple/readme.html $(SDK)/examples/simple/
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/*.c $(SDK)/examples/UnixTemplate/Source/
$(SDKINSTALL) sdk/examples/UnixTemplate/Testing/Test.html $(SDK)/examples/UnixTemplate/Testing/
$(SDKINSTALL) sdk/examples/UnixTemplate/Unix/makefile.* $(SDK)/examples/UnixTemplate/Unix/
$(SDKINSTALL) sdk/examples/UnixTemplate/readme.html $(SDK)/examples/UnixTemplate/
sdk-bin::
cd sdk; $(MAKE); cd ..
$(SDKINSTALL) $(DIST)/bin/javah$(BIN_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
$(SDKINSTALL) sdk/examples/simple/Source/$(OBJDIR)/npsimple.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/
$(SDKINSTALL) sdk/examples/UnixTemplate/Source/$(OBJDIR)/nptemplate.$(DLL_SUFFIX) $(SDK)/bin/$(OS_CONFIG)/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,400 +0,0 @@
<HTML>
<HEAD>
<TITLE>Building Mozilla on the Macintosh PPC platform</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<HR>
<H1>
Building Mozilla on the Macintosh PPC platform</H1>
<H2>
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT>
</H2>
v 1.0, June 1998
<P>
<HR><I>How to build Mozilla on a Macintosh PPC System.</I>
<HR>
<H2>1. <A HREF="#s1">Introduction</A></H2>
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
<UL>
<LI>
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
<LI>
<A HREF="#ss2.2">2.2 Requirements</A></LI>
<LI>
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
<LI>
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
</UL>
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
<H2>4. <A HREF="#s4"> Credits </A></H2>
<HR>
<H2><A NAME="s1">1. Introduction</A></H2>
<P>
What this document is: A guide to building the Mozilla application.
This includes:
<OL>
<LI> A listing of the development tools you will need to build Mozilla. </LI>
<LI> A list of environment variables you will need to set before building. </LI>
</OL>
<P>
If you're looking for documentation on developing features or fixing bugs,
the Mozilla
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
are probably what you're looking for.
<P>
<HR>
<H2><A NAME="s2">2. Building Mozilla </A></H2>
<P>
<UL>Each of the following subsections describes, or gives references to
descriptions of, the steps necessary to build Mozilla.
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
<P>
<UL>
There are two principal ways of getting the code,
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
CVS will provide the most current code for building, but is
slower than ftp (takes longer to download).
</UL>
<P>
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
The following need to be installed:
<UL>
<LI>CodeWarrior (CW) 2 - obtainable from
<A HREF="http://www.metrowerks.com">Metrowerks</A>.
See <A HREF="#s3">Common Sticking Points</A> if you have a different
version.
</LI>
<LI>PowerPlant 1.8 - obtainable from the CodeWarrior CD.</LI>
<LI>MSL - the Metrowerks Standard Library, obtainable from the
CodeWarrior CD</LI>
<LI><A HREF="ftp://ftp.boingo.com//dan/WASTE/waste-13.hqx">WASTE
1.3</A></LI>
<LI><A HREF="http://www.bact.wisc.edu/CWASTEEdit/CWASTEEdit.sit.hqx">CWASTE
1.6.2</A></LI>
<LI>
<A HREF="ftp://ftp.scripting.com/userland/menuSharingToolkit4.1.sit.hqx">
Menu Sharing Toolkit</A> (from UserLand)</LI>
<LI>
<A HREF="ftp://ftp.digitalalchemy.com/pub/digitalalchemy/mercutio-SDK.sit.bin">
Mercutio 1.5 SDK</A> (only download the SDK, not the entire package, else
the access paths will be wrong)</LI>
<LI>
<A HREF="ftp://ftp.share.com/pub/internet-configuration/ICProgKit1.4.sit">
Internet Config 1.4 SDK</A></LI>
<LI><A HREF="http://www.mooseyard.com/Jens/Software/">AEGizmos
1.4.2</A></LI>
<LI><A HREF="ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_tool.bin">
MacPerl 5 MPW Tool</A></LI>
<LI>
<A HREF="ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/Mac_Perl_520r4_appl.bin">MacPerl 5 Application</A></LI>
<LI>MakeStub - MPW (installed with CodeWarrior Heaven option). If
you choose not to install MPW, it is located on the MacOS Tools CD
in "CW Pro 2 Tools:CodeWarrior MPW:MPW:Tools"</LI>
<LI>RunTSScript - in Mozilla source distribution
(mozilla:build:mac:RunTSScript), needs to be installed by hand</LI>
<LI><A HREF="ftp://dev.apple.com/devworld/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/ToolServer.sit.hqx">ToolServer</A>
- or in the CW distribution (CW Pro 2 Tools:Apple Development
Tools:ToolServer 3.4.1.sit). <B>We recommend pulling it off the
CD</B> because it comes with configuration files for CodeWarrior
which you would have to create manually were you to pull it off
the net.</LI>
<LI>
<A HREF="http://people.netscape.com/sfraser/software/NewAlias_tool.sit.hqx">
New Alias MPW Tool</A> An MPW tool that creates Finder aliases for files.
</LI>
<LI>StreamEdit MPW Tool - MPW (installed with CodeWarrior Heaven option). If
you choose not to install MPW, it is located on the MacOS Tools CD
in "CW Pro 2 Tools:CodeWarrior MPW:MPW:Tools"</LI>
</LI>
<LI>
<A HREF="ftp://dev.apple.com/devworld/Periodicals/develop/develop25/develop_Issue_25_code/ToolFrontEnd.sit.hqx">ToolFrontEnd</A></LI>
<LI>
<A HREF="http://sunsite.cnlab-switch.ch/ftp/software/platform/macos/src/HTML/MPW_C.html">
patch 2.1</A></LI>
</UL>
<P>
Hardware/OS
<UL>
<LI>To build Navigator, you need a fast PPC Mac. The faster the
better. You can't build with a 68K machine because we have too many
resources, and the build process will crash when trying to generate
resources out of our cross-platform strings. See the discussion below
for a way around this.
</LI>
<LI>You will need about 96 MB of physical RAM to "fast link" the app.
You can still fast link if you give your machine 96 MB of virtual
memory, but then the VM hit is large enough to counteract any
improvement. One of our beta testers had a machine with only 64MB of
physical RAM (VM was off) and it ran out of memory trying to link.
Turning VM on got it to link, but build time increased greatly.
</LI>
<LI>Reports from the net indicate that the optimized version
(MozillaPPC) take much less RAM to build than the 96MB we suggest. If
you are running out of memory, try building that instead of the debug
version (the debug symbols require a lot of RAM come link time).
</LI>
<LI>You should be ok with a 400MB disk partition, even when fully
built. This does not include tools like the IDE, just source.
</LI>
<LI>On an HFS+ volume, a full build takes about 110MB. HFS+ is good,
but utilities are sparse.
</LI>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
<P>
<OL>
<LI>Install CodeWarrior from the CD. While it is large, installing
the "CodeWarrior Heaven" option will guarantee that you have
everything you need. This will give you PowerPlant, MSL, and MPW.
If you choose to install less, proceed at your own risk.</LI>
<LI>In the Finder, increase the memory partition of the IDE to
15MB (you can get by with 12, if need be).</LI>
<LI>Download ToolFrontEnd. After expanding it, in "ToolFrontEnd
Folder:Drop-Ins" there are three items:
<UL>
<LI><I>#include</I></LI>
<LI><I>ToolFrontEnd</I></LI>
<LI><I>ToolFrontEnd Panel</I></LI>
</UL>
<P>Create a folder named "Include Scanners". Place the file
"#include" into the Include Scanners folder. Move the Include
Scanners folder to the CodeWarrior Plugins folder. Create a folder
named "ToolFrontEnd". Place the files "ToolFrontEnd" and
"ToolFrontEnd Panel" into the ToolFrontEnd folder. Place this
folder in the CodeWarrior Plugins folder.</P></LI>
<LI>Open "ToolFrontEnd Panel" with ResEdit. Change the file type
from <B>'Panl'</B> to <B>'PanL'</B>. Save.</LI>
<LI>Uncompress the StuffIt Archive for ToolServer. The goal is to
let ToolServer and MPW share the same Tools directory so you don't
need to have multiple versions of tools. Do the following:
<OL>
<LI>Open ToolServer's Tools folder. There is one file called
"RMetrowerks". </LI>
<LI>Move RMetrowerks to Tools folder of MPW. MPW folder must be
at "Metrowerks:Codewarrior MPW:MPW" if you installed
Codewarrior Heaven. </LI>
<LI>Remove ToolServer's Tools folder.</LI>
<LI>Now create an alias of Tools folder in "CodeWarrior MPW"
and move it to your ToolServer folder. Rename the alias
(probably called "Tools alias") to "Tools"</LI>
<LI><FONT COLOR="#FF0000"><B>IMPORTANT</B></FONT>: Make sure
you only have one instance of ToolServer on your machine. If
the build script finds the wrong one, the correct tools will
not be found and strange things will happen.</LI>
</OL>
</LI>
<LI>After installing the MacPerl MPW Tool distribution (run the
InstallerVISE application), in the "MacPerl &#131;" folder, there
will be an MPW tool named "perl". Install this in MPW's tools
folder.</LI>
<LI>Install the MacPerl Application (run the
InstallerVISE application). You can install this anywhere, but it is
recommended that you install it inside of your CodeWarrior folder for
easy reference. After installation, you will need to set a preference
to enable double-click launch of the perl scripts. This preference is set
by going under the Edit Menu to Preferences. Click on the "Script" button
and hit the radio button "Run Scripts opened from Finder"</LI>
<LI>Install the "patch", "MakeStub", "NewAlias" and "StreamEdit" Tools in the
tools
folder. Note that "MakeStub" and "StreamEdit" are automatically installed by the
"CodeWarrior Heaven" install option.</LI>
<LI>Install RunTSScript (found in the Mozilla source distribution)
in the compilers folder in your build environment
("Metrowerks:Metrowerks Codewarrior:Codewarrior
Plugins:Compilers")</LI>
<LI>Next, after downloading all the 3rd party software components,
drag WASTE, CWASTE, Menu Sharing, Mercutio, Internet Config, and
the AEGizmo folders (just as they are) into the "MacOS Support"
folder in your build environment.</LI>
<LI>Start ToolServer from within CodeWarrior (or use MPW if you
are brave enough). We're about to patch some files. Make sure the
ToolServer menu is in the CodeWarrior menu bar by turning on the
<A HREF="IDEPrefs.gif">preference</A> under the "Extras" panel in
the IDE Preferences (not the project preferences!). The menu bar
should look like this:
<P><IMG SRC="IDEMenuBar.gif" WIDTH=359 HEIGHT=20 X-CLARIS-USEIMAGEWIDTH X-CLARIS-USEIMAGEHEIGHT ALIGN=bottom></P>
<P>Choose "Start ToolServer" from the ToolServer menu (this is the
icon menu between "Window" and "Help" in the menubar above). You
will now see a window with no close box. This is your ToolServer
Worksheet where you will type (or cut &amp; paste) the commands
for the following steps.</P>
<P>In case you have never used MPW/ToolServer before, the
following is <B>very important</B>. Pressing "return" does not
execute commands like you might think. It just inserts a newline
into the worksheet like a normal text editor. <B>To actually get
ToolServer to execute the command, you must press "Enter" (lower
right of numeric keypad).</B> This executes the line that the
cursor is on, and only that line. If you want to execute multiple
lines at once, select them all and hit Enter.</P></LI>
<LI>Set the shell variables {IDE} and {Source} to the correct
paths for your build environment. {IDE} is where your CodeWarrior
IDE is located. {Source} is the folder containing the toplevel
"ns" folder of the Mozilla source. Mine look like this (don't
forget to keep the quotes if your path includes spaces), yours
will almost certainly be different (<FONT COLOR="#FF0000">to
punctuate this, the things you need to change are in red</FONT>).
<PRE>Set IDE "<FONT COLOR="#FF0000">Develop:Source331 Build Environment:CW Pro 2:Metrowerks CodeWarrior:</FONT>"
Set Source "<FONT COLOR="#FF0000">Source:FreeSource:</FONT>"</PRE>
</LI>
<LI>If you are using CWPro2, execute the following lines to patch
LDropFlag to draw correcly over non-white backgrounds.
<PRE>directory "{IDE}MacOS Support:PowerPlant:_In Progress:_Table Classes:"
patch LDropFlag.cp "{Source}mozilla:lib:mac:patches:LDropFlag.patch"
duplicate -y "{Source}mozilla:lib:mac:patches:DropFlag Icons.rsrc" "{IDE}MacOS Support:PowerPlant:PowerPlant Resources:"</PRE></LI>
<LI>Execute the following lines to patch menusharing.c to allow it
to compile with the new Universal Headers. It references an
obsolete header file (GestaltEqu.h).
<PRE>directory "{IDE}MacOS Support:Menu Sharing Toolkit 4.1:"
patch menusharing.c "{Source}mozilla:lib:mac:patches:menusharing.patch"</PRE></LI>
<LI>If you are using CWPro2 straight off the CD, you need to patch
AppleEvents.r to fix a problem with the Universal Headers (the
definition of the 'aedt' resource was omitted). <B>You do not have
to do this if you have applied the netborne patch to Pro2e
</B> because it has been fixed.
<PRE>directory "{IDE}MacOS Support:Headers:Rez Headers:"
patch AppleEvents.r "{Source}mozilla:lib:mac:patches:AppleEvents.r.patch"</PRE></LI>
<LI>You need to patch stat.mac.h to fix a problem in MSL where
lines were omitted.
<PRE>directory "{IDE}Metrowerks Standard Library:MSL C:MSL Mac:Public Includes"
patch stat.mac.h "{Source}mozilla:lib:mac:patches:stat.mac.h.patch"</PRE></LI>
<LI>Congratulations! Now you are ready to build. Once these steps
are done, you don't have to repeat these setups the next
time!</LI>
</OL>
<P>
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
<UL>
<P>In the folder mozilla:build:mac:, there are several Perl scripts with
names of the form BuildMozillaXXX.pl, where XXX is "Optimized",
"Debug", "Tinderbox", et al. Each script builds the corresponding
version of Mozilla. If you configured the MacPerl application to
execute scripts that are opened from the finder, all you have to do is
double click on the appropriate one; otherwise, launch MacPerl, and
run the appropriate script from the "Run Script..." menu item.</P>
<P>These `configured build' scripts are simple, and you might want to
make your own to force your build to StopForErrors(), or alternatively
DontStopForErrors(), et al. You can set up certain build-script
variables and (soon) compile-time flags. Compare the supplied scripts
to figure out what you might want. Note that CodeWarriorLib, Moz.pm,
and BuildList.pm, are AppleScript libraries and Perl modules meant to
be used by a `configured build'. Use your favorite POD viewer (Shuck
comes with MacPerl) to view the documentation in the Perl scripts.</P>
<P>If there were any errors in any of the projects along the way, the
script will stop at that point and the IDE will tell you the errors.
You can fix them and make sure they current project builds, but to
continue the automation, you have to start from the beginning by
double-clicking the script again. This isn't quite as bad as it
sounds because the previous projects are already built (unless you
changed some major header file). Please note that stopping the script
once it has started is difficult. We are working to address
this issue.</P>
<P>After the build is complete, you can find aliases to the built libraries
and the final Mozilla application. Debug builds are built to
Mozilla:dist:client_debug, while optimized builds are built to Mozilla:dist:client.
</P>
<P>Don't worry too much about the numerous warnings generated during
the build. We try our best to get the XP teams to use real compilers,
but alas, they continue to write warning-laden code. There is also
some generated code (Java is one example) that has a lot of warnings
that we can't help either. If you write any new code, please help us
in our quest to get zero warnings.</P>
</UL>
</UL>
<HR>
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
<UL>
<LI><B>I have CodeWarrior3, how do i build with it?</B>
<UL> Currently, the answer is, "You don't." Eventually, the distribution
will be modified to allow building using CodeWarrior3, but for now
CodeWarrior2 is the only IDE that is supported.
</UL>
</LI>
</UL>
<HR>
<H2><A NAME="s4">4. Credits</A></H2>
<UL>
The majority of this document is taken from the build document included
in the Mozilla source distribution at README:mozilla:macbuild.htm written
by Mike Pinkerton, <A HREF="mailto:pinkerton@netscape.com">
pinkerton@netscape.com</A>.
</BODY>
</HTML>

View File

@@ -1,137 +0,0 @@
<HTML>
<HEAD>
<TITLE>Building Mozilla on unix platforms</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<HR>
<H1>
Building Mozilla on Unix platforms</H1>
<H2>
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT></H2>
v 1.0, June 1998
<P>
<HR><I>How to build Mozilla on a Unix System.</I>
<HR>
<H2>1. <A HREF="#s1">Introduction</A></H2>
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
<UL>
<LI>
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
<LI>
<A HREF="#ss2.2">2.2 Requirements</A></LI>
<LI>
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
<LI>
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
</UL>
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
<HR>
<H2><A NAME="s1">1. Introduction</A></H2>
<P>
What this document is: A guide to building the Mozilla application.
<BR>
This includes:
<OL>
<LI> A listing of the development tools you will need to build Mozilla. </LI>
<LI> A list of environment variables you will need to set before building. </LI>
</OL>
<P>
If you're looking for documentation on developing features or fixing bugs,
the Mozilla
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
are probably what you're looking for.
<P>
<HR>
<H2><A NAME="s2">2. Building Mozilla </A></H2>
<P>
<UL>Each of the following subsections describes, or gives references to
descriptions of, the steps necessary to build Mozilla.
</UL>
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
<P>
<UL>
There are two principal ways of getting the code,
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
CVS will provide the least outdated code for building, but is
slower than ftp.
</UL>
<P>
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
<UL>
The following need to be installed:
<UL>
<LI>Motif 1.2 (2.1 recommended for RedHat Linux)
<LI>GNU C/C++ compiler 2.7.2
<LI>GNU make 3.74 or better
<LI>Perl (or, if you have no Perl, then set <CODE>PERL=/bin/echo</CODE>)
</UL>
<P>
Your hardware should be equal to, or better than:
<UL>
32 MB RAM, 128 MB swap (64 MB RAM recommended)
</UL>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
<P>
<UL>
The following environment variables need to be set:
<CODE>
<PRE>
MOZILLA_CLIENT=1
MOZ_MEDIUM=1
NO_SECURITY=1
NO_MDUPDATE=1
</PRE>
</CODE>
Optionally, you can set <CODE>BUILD_OPT=1</CODE> if you don't want a debug
build.
<BR>
Environment variables are set by the shell, and each shell may or may not have
its own way of setting them. Type <CODE>man setenv</CODE> to find out how your
shell sets variables, if you don't know already.
<P>
</UL>
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
<UL>
Change to the directory you copied the source into (for example,
<CODE>cd /builds</CODE>). If this directory was empty before you
installed the source, there should be two directories here:
<CODE>README</CODE> and <CODE>mozilla</CODE>.
<CODE>
<PRE>
cd mozilla
gmake
</PRE>
</CODE>
</UL>
<HR>
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
<LI>My linker dies with this error: undefined reference to `_Xsetlocale'
<UL>If this error occurs, you might have to recompile libX11.so
with the -DX_LOCALE flag (thanks to Scott Lampert,
<A HREF="mailto:fortunato@heavymetal.org">fortunato@heavymetal.org</A>).
This problem stems from use of an older version of RedHat Motif.
Moving to Motif 2.1 should resolve this. There are probably other problems
with using the older versions of Motif, but i haven't encountered them.
</UL>
<HR>
</BODY>
</HTML>

View File

@@ -1,209 +0,0 @@
<HTML>
<HEAD>
<TITLE>Building Mozilla on Microsoft Windows 32-bit platforms</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="#551A8B"
ALINK="#FF0000">
<HR>
<H1>
Building Mozilla on Microsoft Windows 32-bit platforms</H1>
<H2>
Daniel Nunes, <TT><A HREF="mailto:leaf@netscape.com">leaf@netscape.com</A></TT>
</H2>
v 1.0, June 1998
<P>
<HR><I>How to build Mozilla on a Microsoft Windows 32-bit System.</I>
<HR>
<H2>1. <A HREF="#s1">Introduction</A></H2>
<H2>2. <A HREF="#s2">Building Mozilla</A></H2>
<UL>
<LI>
<A HREF="#ss2.1">2.1 Get the Code </A></LI>
<LI>
<A HREF="#ss2.2">2.2 Requirements</A></LI>
<LI>
<A HREF="#ss2.3">2.3 Set up the Build Environment</A></LI>
<LI>
<A HREF="#ss2.4">2.4 Build the Lizard </A></LI>
</UL>
<H2>3. <A HREF="#s3"> Common Problems </A></H2>
<HR>
<H2><A NAME="s1">1. Introduction</A></H2>
<P>
What this document is: A guide to building the Mozilla application.
<BR>
This includes:
<OL>
<LI> A listing of the development tools you will need to build Mozilla. </LI>
<LI> A list of environment variables you will need to set before building. </LI>
</OL>
<P>
If you're looking for documentation on developing features or fixing bugs,
the Mozilla
<A HREF="http://www.mozilla.org/docs/tplist/tplist.html">Technical Documents
</A> or <A HREF="http://www.mozilla.org/library.html"> Library </A>
are probably what you're looking for.
<P>
<HR>
<H2><A NAME="s2">2. Building Mozilla </A></H2>
<P>
<UL>Each of the following subsections describes, or gives references to
descriptions of, the steps necessary to build Mozilla.
<H2><A NAME="ss2.1">2.1 Get the Code</A></H2>
<P>
<UL>
There are two principal ways of getting the code,
<A HREF="http://www.mozilla.org/download.html"> ftp</A> and
<A HREF="http://www.mozilla.org/cvs.html"> CVS</A>.
CVS will provide the least outdated code for building, but is
slower than ftp.
</UL>
<P>
<H2><A NAME="ss2.2">2.2 Requirements</A></H2>
<UL>
The following need to be installed:
<UL>
<LI>Microsoft Visual C++ version 4.2 or later
<LI>GNU Tools for Microsoft Windows, located:
<UL>
<LI><A HREF="http://www.cygnus.com/misc/gnu-win32">Cygnus</A></LI>
<LI><A HREF="http://www.gnu.org/order/ftp.html">GNU home page</A></LI>
<LI><A HREF="ftp://prep.ai.mit.edu/pub/gnu">MIT</A></LI>
</UL>
Specifically, you'll need:
<UL><CODE>
cp.exe<BR>
rm.exe<BR>
uname.exe<BR>
</CODE>
</UL>
Netscape has internally modified version of gmake, shmsdos and win32gnu
that we use to get around some problems we were having keeping in sync
with the Unix version of gmake. This version of gmake can be found in the
Windows Build Tools package, which can be ftp'd from
<A HREF="http://www.mozilla.org/download-mozilla.html"> the Mozilla
Download page</A>.
The three files you will need are:
<UL><CODE>
gmake.exe<BR>
shmsdos.exe<BR>
uname.exe<BR>
</CODE>
</UL>
</UL>
<P>
Hardware/OS
<UL>
<LI>Pentium 133 MHz or better</LI>
<LI>64 MB RAM, 128 MB recommended</LI>
<LI>250 MB NTFS or 500 MB FAT disk space</LI>
<LI>NT 4.0 is preferred; NT 3.51 will also work.
</LI>
</UL>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 Setup the Build Environment</A></H2>
<P>
<UL>
The following environment variables need to be set:
<UL>
<CODE>
set MOZ_BITS=32
<BR>
set MOZ_DEBUG=1 (set this only if you want to build a debug build)
<BR>
set MOZ_GOLD=1
<BR>
set MOZ_MEDIUM=1
<BR>
set MOZ_NT=351 (if running NT3.51)
<BR>
set MOZ_OUT=(optional: specifies location of resultant executable)
<BR>
set MOZ_SRC=(top of your tree, for example: set MOZ_SRC=d:\mozilla_source
if this is the directory where you checked or unzipped the source into)
<BR>
set MOZ_TOOLS=(location of the bin directory of your GNU tools. The build
looks for MOZ_TOOLS\bin\gmake.exe, so make sure that the gmake.exe from
the Windows Build Tools package resides there.)
<BR>
set NO_SECURITY=1
<BR>
set NSPR20=1
<BR>
set _MSC_VER=1100 (if you are running VC++ 5.0 or higher)
<BR>
</CODE>
</UL>
<BR>
<P>
</UL>
<H2><A NAME="ss2.4">2.4 Run the build </A></H2>
<UL>
Change to the directory you copied the source into (for example,
<CODE>cd d:\mozilla_source</CODE>). If this directory was empty before you
installed the source, there should be two directories here:
<CODE>README</CODE> and <CODE>mozilla</CODE>.
<CODE>
<PRE>
cd mozilla\config
nmake /f makefile.win
cd ..
nmake /f client.mak
</PRE>
</CODE>
</UL>
</UL>
<HR>
<H2><A NAME="s3">3. Common Sticking Points</A></H2>
<UL>
<LI><B>nmake has a 'fatal error', listing one of the GNU commands and a
hexadecimal return code.</B>
<UL>
This will happen as a result of not having the GNU tools and Windows Build
tools in your path. Add the directories with the appropriate binaries to your
path.
</UL>
</LI>
<LI>
<B>It fails with the message "'.\WIN32' unexpected": </B>
<UL>
You didn't properly
set the environment variables -- you must not include a space at the end
of the set statements (be careful if you are cut'n'pasting).
</UL>
</LI>
<LI>
<B>It fails to build, with directory-related errors: </B>
<UL>
The full path
to the source must not include any spaces. Additionally, the source must
be extracted with an intact directory structure by a utility that understands
long filenames. If in doubt, grab Info-Zip at
<A HREF="ftp://ftp.cdrom.com/pub/infozip">ftp://ftp.cdrom.com/pub/infozip</A>
</UL>
</LI>
<LI>
<B>I'm not running a 32-bit windows system, how do i build?</B>
<UL>
Currently, the build process depends on a 32-bit operating system.
Windows NT 4.0 is the recommended windows operating system.
</UL>
</UL>
<HR>
</BODY>
</HTML>

View File

@@ -1,53 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Chris Yeh">
<META NAME="GENERATOR" CONTENT="Mozilla/4.05 [en]C-NSCP (WinNT; U) [Netscape]">
<TITLE>Running Mozilla...</TITLE>
</HEAD>
<BODY>
<H2>
<FONT FACE="Arial,Helvetica">Running Mozilla Without Trashing Netscape
Installation</FONT></H2>
This document explains how to run <TT>mozilla.exe</TT> separately from
<TT>netscape.exe</TT> without trashing your regular installation of Netscape
Communicator. This is necessary if, for example, you want to use Communicator's
mail client while you work on Mozilla development.
<BR>
<HR WIDTH="100%">
<OL>
<LI>
Before running <TT>mozilla.exe</TT>, create a new user profile either from
a Netscape 4.0x installation using the "User Profile Manager" shortcut
in the Utilities folder (on Windows) or by using&nbsp; the <TT>-new_account</TT>
option on the command line of either <TT>netscape.exe</TT> or <TT>mozilla.exe</TT>.&nbsp;
We suggest calling the profile "<TT>mozilla</TT>."</LI>
<LI>
Always use that new account when running <TT>mozilla.exe</TT>, and never
run <TT>netscape.exe</TT> using that same account profile.</LI>
</OL>
To make things easier, you can start the application with the user account
on the command line, for example:
<UL><TT>mozilla.exe -P"mozilla"</TT></UL>
This assures that prefs and the cache will not interfere between the two
versions. This will be especially
<BR>important as new prefs are added to the Mozilla product. Note that
you must use quotes around the name and there can be no space between the
"P" and the profile name. Otherwise, the application won't catch the profile
switch, and it will try to load the profile name as the initial URL.
<P>
<HR WIDTH="100%">
<BR>You can copy your <TT>bookmark.htm</TT> file from an existing profile
to your new profile directory if you want to share bookmarks.
<P>After the initial 3/31 release, we will add some code to Mozilla to
prevent running with a profile that is already being used by <TT>netscape.exe</TT>.
<BR>&nbsp;
<HR WIDTH="100%">
<BR><FONT SIZE=-1>Copyright &copy; 1998 <A HREF="http://home.netscape.com/misc/contact_info.html">Netscape
Communications Corporation</A></FONT>
</BODY>
</HTML>

View File

@@ -1,184 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-mac-roman">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]">
<META NAME="KeyWords" CONTENT="client, source, documentation">
<META NAME="Author" CONTENT="Kipp E.B. Hickman">
<TITLE>NGLayout Windows Build Instructions</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H2>
<FONT FACE="Arial,Helvetica">NGLayout Windows Build Instructions</FONT></H2>
This document explains how to build NGLayout for the Windows platform.&nbsp;
<HR><B><FONT SIZE=+1>Required Tools:</FONT></B>
<UL>
<LI>
<B>Microsoft Visual C++ version 4.2 or later</B></LI>
<LI>
<B>The same set of tools for building <A HREF="http://www.mozilla.org/docs/tplist/catBuild/winbuild.htm">Mozilla</A></B></LI>
</UL>
<B><FONT SIZE=+1>Setting up:</FONT></B>
<UL>
<LI>
You need a Pentium with at least a 133 MHz processor and at least 250 megs
(NTFS partition) or 500 megs (FAT partition) of hard drive space. You need
to have a minimum of 64 megs of memory in order to build this tree. These
numbers are approximations.</LI>
<LI>
The preferred platform is NT 4.0. NT 3.51 will also work, and Win95 might
work if you're lucky. Maybe.</LI>
<LI>
Install MSVC. If you don't choose to have the MSVC install modify your
environment variables for PATH, INCLUDE, and LIB information, be sure to
run VCVARS32.BAT out of the MSVC bin directory prior to attempting to build.</LI>
<LI>
Download and install GNU tools. Put them in your path.</LI>
<LI>
Install NGLayout source.</LI>
<UL>
<LI>
cd &lt;your-source-area></LI>
<LI>
unzip -o -q win-19980415.zip</LI>
</UL>
<LI>
There are several environment variables you will need to set, either manually
or via a script within a command session, or by setting them in your system
environment located through the Control Panel | System icon.</LI>
<P>&nbsp;<B>Note: There is an additional variable for building NGLayout!
Use this list carefully!</B>
<P>&nbsp;The variables are:
<UL>
<LI>
set MOZ_BITS=32</LI>
<LI>
set MOZ_DEBUG=1 (don't set this if you want to build an optimized release
build)</LI>
<LI>
set MOZ_GOLD=1</LI>
<LI>
set MOZ_MEDIUM=1</LI>
<LI>
set MOZ_NT=351 (if running NT 3.51, don't set otherwise)</LI>
<LI>
set MOZ_OUT=(location of resulting executable and totally optional, see
Notes for more details)</LI>
<LI>
set MOZ_SRC=(top of your tree, drive letter and path, i.e. set MOZ_SRC=d:\mozilla_src.
The topmost directory under this should be mozilla)</LI>
<LI>
set MOZ_TOOLS=(location of the bin directory containing your GNU tools.
The build looks for MOZ_TOOLS\bin\gmake.exe, so make sure your MOZ_TOOLS
is figured appropriately)</LI>
<LI>
set NO_SECURITY=1</LI>
<LI>
set NSPR20=1</LI>
<LI>
if you are running VC++ 5.0 or higher: set _MSC_VER=1100; if you are running
VC++ 4.2 then set MOZ_VCVER=42</LI>
<LI>
<B>set STANDALONE_IMAGE_LIB=1</B></LI>
<LI>
<B>set MODULAR_NETLIB=1</B></LI>
</UL>
</UL>
<B><FONT SIZE=+1>Building:</FONT></B>
<UL>
<LI>
You need to be running a vanilla command prompt. Other shells may work,
but you might have to tweak makefiles.</LI>
<LI>
<B>Build the tools:</B> This generates several tools that handle things
like dependency generation</LI>
<UL>
<LI>
cd mozilla\config</LI>
<LI>
nmake /f makefile.win</LI>
</UL>
<LI>
<B>Build the NGLayout:</B> This will do a complete build of the source
tree. You will end up with a viewer.exe at the end. The viewer.exe will
be in your dist\win32_[OD].obj\bin directory (O will be used when you don't
set MOZ_DEBUG; D will be used when you set MOZ_DEBUG).</LI>
<UL>
<LI>
cd mozilla</LI>
<LI>
nmake /f nglayout.mak</LI>
</UL>
</UL>
<B><FONT SIZE=+1>Running:</FONT></B>
<UL>
<LI>
Once you have built the system, do this to run the viewer program (the
viewer program is a simple test program that uses the nsIWebWidget API
to embed a web widget object). The viewer program has a few basic menu
items, include "Samples" which load sample tests.</LI>
<UL>
<LI>
cd mozilla\dist\win32_[OD].obj\bin</LI>
<LI>
.\viewer.exe</LI>
</UL>
</UL>
<B><FONT SIZE=+1>Notes:</FONT></B>
<UL>
<LI>
This build process does not use Visual C++ generated project files for
several reasons having to do with (among other things) size, maintainability,
and the long term desire to start using more of tools like gmake, or plug
and play developer tools. This does not preclude you from using the Visual
C++ IDE, or it's debugger. Once you have built a viewer.exe do this to
run it under the debugger:</LI>
</UL>
<UL>
<UL>
<LI>
cd mozilla\dist\win32_[OD].obj\bin</LI>
<LI>
msdev viewer.exe</LI>
</UL>
</UL>
<HR WIDTH="100%">
<CENTER><FONT SIZE=-1>Copyright &copy; 1998 <A HREF="http://home.netscape.com/misc/contact_info.html">Netscape
Communications Corporation</A></FONT></CENTER>
&nbsp;
</BODY>
</HTML>

View File

@@ -1,24 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH = ..
DIRS = public src tests
include $(DEPTH)/config/config.mk
include $(DEPTH)/config/rules.mk

View File

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

Binary file not shown.

View File

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

View File

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

View File

@@ -1,30 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=../..
DEFINES = -D_IMPL_NS_BASE
EXPORTS = \
nsISizeOfHandler.h \
$(NULL)
MODULE = raptor
include $(DEPTH)/config/config.mk
include $(DEPTH)/config/rules.mk

View File

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

View File

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

View File

@@ -1,66 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsISizeOfHandler_h___
#define nsISizeOfHandler_h___
#include "nscore.h"
#include "nsISupports.h"
/* c028d1f0-fc9e-11d1-89e4-006008911b81 */
#define NS_ISIZEOF_HANDLER_IID \
{ 0xc028d1f0, 0xfc9e, 0x11d1, {0x89, 0xe4, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81}}
/**
* An API to managing a sizeof computation of an arbitrary graph.
* The handler is responsible for remembering which objects have been
* seen before. Note that the handler doesn't hold references to
* nsISupport's objects; the assumption is that the objects being
* sized are stationary and will not be modified during the sizing
* computation and therefore do not need an extra reference count.
*/
class nsISizeOfHandler : public nsISupports {
public:
/**
* Add in a simple size value to the running total.
* Always returns NS_OK.
*/
NS_IMETHOD Add(size_t aSize) = 0;
/**
* Update aResult with PR_TRUE if the object has been traversed
* by the sizeof computation before. Otherwise aResult is set to
* PR_FALSE and the object is added to the internal database
* of objects that have been traversed. It's ok to pass a null
* pointer in; aResult will be set to PR_TRUE so you won't accidently
* try to traverse through null pointer.
*
* Note: This violates the COM API standard on purpose; so there!
*/
virtual PRBool HaveSeen(void* anObject) = 0;
/**
* Return the currently computed size.
* Always returns NS_OK.
*/
NS_IMETHOD GetSize(PRUint32& aResult) = 0;
};
extern NS_BASE nsresult
NS_NewSizeOfHandler(nsISizeOfHandler** aInstancePtrResult);
#endif /* nsISizeofHandler_h___ */

View File

@@ -1,22 +0,0 @@
#
# This is a list of local files which get copied to the mozilla:dist directory
#
nscore.h
nsIArena.h
nsIAtom.h
nsIByteBuffer.h
nsBTree.h
nsCRT.h
nsDeque.h
nsITimer.h
nsITimerCallback.h
nsIUnicharBuffer.h
nsRBTree.h
nsIUnicharInputStream.h
nsString.h
nsVoidArray.h
nsUnitConversion.h
nsIBaseStream.h
nsIInputStream.h
nsIOutputStream.h

View File

@@ -1,70 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=../..
DEFINES =-D_IMPL_NS_BASE
DIRS = unix
LIBRARY_NAME = raptorbase
CPPSRCS = \
nsArena.cpp \
nsAtomTable.cpp \
nsBTree.cpp \
nsByteBuffer.cpp \
nsCRT.cpp \
nsDeque.cpp \
nsRBTree.cpp \
nsSizeOfHandler.cpp \
nsString.cpp \
nsUnicharBuffer.cpp \
nsUnicharInputStream.cpp \
nsVoidArray.cpp \
$(NULL)
EXPORTS = \
nscore.h \
nsBTree.h \
nsCRT.h \
nsDeque.h \
nsIArena.h \
nsIAtom.h \
nsIByteBuffer.h \
nsIBaseStream.h \
nsIInputStream.h \
nsIOutputStream.h \
nsITimer.h \
nsITimerCallback.h \
nsIUnicharBuffer.h \
nsIUnicharInputStream.h \
nsRBTree.h \
nsString.h \
nsVoidArray.h \
nsUnitConversion.h \
$(NULL)
MODULE = raptor
REQUIRES = xpcom netlib raptor
include $(DEPTH)/config/config.mk
TARGET = $(LIBARY)
include $(DEPTH)/config/rules.mk

View File

@@ -1,77 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=../..
topsrcdir = @top_srcdir@
VPATH = @srcdir@
srcdir = @srcdir@
include $(DEPTH)/config/autoconf.mk
DEFINES =-D_IMPL_NS_BASE
DIRS = unix
LIBRARY_NAME = raptorbase
CPPSRCS = \
nsArena.cpp \
nsAtomTable.cpp \
nsBTree.cpp \
nsByteBuffer.cpp \
nsCRT.cpp \
nsDeque.cpp \
nsRBTree.cpp \
nsSizeOfHandler.cpp \
nsString.cpp \
nsUnicharBuffer.cpp \
nsUnicharInputStream.cpp \
nsVoidArray.cpp \
$(NULL)
EXPORTS = \
nscore.h \
nsBTree.h \
nsCRT.h \
nsDeque.h \
nsIArena.h \
nsIAtom.h \
nsIByteBuffer.h \
nsIBaseStream.h \
nsIInputStream.h \
nsIOutputStream.h \
nsITimer.h \
nsITimerCallback.h \
nsIUnicharBuffer.h \
nsIUnicharInputStream.h \
nsRBTree.h \
nsString.h \
nsVoidArray.h \
nsUnitConversion.h \
$(NULL)
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
MODULE = raptor
REQUIRES = xpcom netlib raptor
include $(topsrcdir)/config/config.mk
TARGET = $(LIBARY)
include $(topsrcdir)/config/rules.mk

View File

@@ -1,283 +0,0 @@
/* -*- 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.
*/
//
// Mac implementation of the nsITimer interface
//
// nsMacTimerPeriodical idles,
#include "nsITimer.h"
#include "nsITimerCallback.h"
#include "prlog.h"
#include <LPeriodical.h>
#include <LArray.h>
#include <LArrayIterator.h>
#include <LComparator.h>
#pragma mark class TimerImpl
//
// TimerImpl implements nsITimer API
//
class TimerImpl : public nsITimer
{
private:
nsTimerCallbackFunc mCallbackFunc;
nsITimerCallback * mCallbackObject;
void * mClosure;
PRUint32 mDelay;
UInt32 mFireTime; // Timer should fire when TickCount >= this number
public:
// constructors
TimerImpl();
virtual ~TimerImpl(){};
NS_DECL_ISUPPORTS
UInt32 GetFireTime() { return mFireTime; }
void Fire();
// nsITimer overrides
virtual nsresult Init(nsTimerCallbackFunc aFunc,
void *aClosure,
PRUint32 aDelay);
virtual nsresult Init(nsITimerCallback *aCallback,
PRUint32 aDelay);
virtual void Cancel();
virtual PRUint32 GetDelay();
virtual void SetDelay(PRUint32 aDelay);
private:
// Calculates mFireTime too
void SetDelaySelf( PRUint32 aDelay );
};
#pragma mark class TimerPeriodical
//
// TimerPeriodical is a singleton LPeriodical subclass that fires
// off TimerImpl. The firing is done on idle
//
class TimerPeriodical : public LPeriodical
{
static TimerPeriodical * gPeriodical;
LArray * mTimers; // List of TimerImpl *
public:
// Returns the singleton instance
static TimerPeriodical * GetPeriodical();
TimerPeriodical();
virtual ~TimerPeriodical();
nsresult AddTimer( TimerImpl * aTimer);
nsresult RemoveTimer( TimerImpl * aTimer);
virtual void SpendTime( const EventRecord &inMacEvent);
};
#pragma mark class TimerImplComparator
//
// TimerImplComparator compares two TimerImpl
//
class TimerImplComparator : public LComparator
{
virtual Int32 Compare(
const void* inItemOne,
const void* inItemTwo,
Uint32 inSizeOne,
Uint32 inSizeTwo) const;
};
//
// TimerImpl implementation
//
static NS_DEFINE_IID(kITimerIID, NS_ITIMER_IID);
NS_IMPL_ISUPPORTS(TimerImpl, kITimerIID)
TimerImpl::TimerImpl()
{
NS_INIT_REFCNT();
mCallbackFunc = NULL;
mCallbackObject = NULL;
mClosure = NULL;
mDelay = 0;
mFireTime = 0;
}
nsresult TimerImpl::Init(nsTimerCallbackFunc aFunc,
void *aClosure,
PRUint32 aDelay)
{
mCallbackFunc = aFunc;
mClosure = aClosure;
SetDelaySelf(aDelay);
return TimerPeriodical::GetPeriodical()->AddTimer(this);
}
nsresult TimerImpl::Init(nsITimerCallback *aCallback,
PRUint32 aDelay)
{
mCallbackObject = aCallback;
SetDelaySelf(aDelay);
return TimerPeriodical::GetPeriodical()->AddTimer(this);
}
void TimerImpl::Cancel()
{
TimerPeriodical::GetPeriodical()->RemoveTimer(this);
}
PRUint32 TimerImpl::GetDelay()
{
return mDelay;
}
void TimerImpl::SetDelay(PRUint32 aDelay)
{
SetDelaySelf(aDelay);
// Make sure that timer was sorted
NS_ADDREF(this);
TimerPeriodical::GetPeriodical()->RemoveTimer(this);
TimerPeriodical::GetPeriodical()->AddTimer(this);
NS_RELEASE(this);
}
void TimerImpl::Fire()
{
if (mCallbackFunc != NULL) {
(*mCallbackFunc)(this, mClosure);
}
else if (mCallbackObject != NULL) {
mCallbackObject->Notify(this); // Fire the timer
}
}
void TimerImpl::SetDelaySelf( PRUint32 aDelay )
{
mDelay = aDelay;
mFireTime = TickCount() + mDelay / 100 * 6; // We need mFireTime in ticks, 1/60th of a second
}
TimerPeriodical * TimerPeriodical::gPeriodical = NULL;
TimerPeriodical * TimerPeriodical::GetPeriodical()
{
if (gPeriodical == NULL)
gPeriodical = new TimerPeriodical();
return gPeriodical;
}
TimerPeriodical::TimerPeriodical()
{
mTimers = new LArray( sizeof(TimerImpl*));
mTimers->SetComparator( new TimerImplComparator());
mTimers->SetKeepSorted( true );
}
TimerPeriodical::~TimerPeriodical()
{
PR_ASSERT(mTimers->GetCount() == 0);
delete mTimers;
}
nsresult TimerPeriodical::AddTimer( TimerImpl * aTimer)
{
try
{
NS_ADDREF(aTimer);
mTimers->AddItem( aTimer );
StartRepeating();
}
catch(...)
{
return NS_ERROR_UNEXPECTED;
}
return NS_OK;
}
nsresult TimerPeriodical::RemoveTimer( TimerImpl * aTimer)
{
mTimers->Remove( aTimer );
NS_RELEASE( aTimer );
if ( mTimers->GetCount() == 0 )
StopRepeating();
return NS_OK;
}
// Called through every event loop
// Loops through the list of available timers, and
// fires off the available ones
void TimerPeriodical::SpendTime( const EventRecord &inMacEvent)
{
LArrayIterator iter( *mTimers, LArrayIterator::from_Start);
TimerImpl * timer;
while (iter.Next( &timer))
{
if ( timer->GetFireTime() <= inMacEvent.when )
{
NS_ADDREF(timer);
RemoveTimer(timer);
timer->Fire();
NS_RELEASE(timer);
}
else
break; // Items are sorted, so we do not need to iterate until the end
}
}
//
// class TimerImplComparator implementation
//
Int32 TimerImplComparator::Compare(
const void* inItemOne,
const void* inItemTwo,
Uint32 inSizeOne,
Uint32 inSizeTwo) const
{
return (( TimerImpl *) inItemOne)->GetFireTime() - (( TimerImpl *) inItemTwo)->GetFireTime();
}
NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult)
{
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
if (nsnull == aInstancePtrResult) {
return NS_ERROR_NULL_POINTER;
}
TimerImpl *timer = new TimerImpl();
if (nsnull == timer) {
return NS_ERROR_OUT_OF_MEMORY;
}
return timer->QueryInterface(kITimerIID, (void **) aInstancePtrResult);
}

View File

@@ -1,99 +0,0 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=..\..
IGNORE_MANIFEST=1
DIRS = windows
DEFINES=-D_IMPL_NS_BASE -DWIN32_LEAN_AND_MEAN
LIBRARY_NAME=raptorbase
CPPSRCS = \
nsArena.cpp \
nsAtomTable.cpp \
nsBTree.cpp \
nsByteBuffer.cpp \
nsCRT.cpp \
nsDeque.cpp \
nsRBTree.cpp \
nsSizeOfHandler.cpp \
nsString.cpp \
nsUnicharBuffer.cpp \
nsUnicharInputStream.cpp \
nsVoidArray.cpp \
$(NULL)
CPP_OBJS = \
.\$(OBJDIR)\nsArena.obj \
.\$(OBJDIR)\nsAtomTable.obj \
.\$(OBJDIR)\nsBTree.obj \
.\$(OBJDIR)\nsByteBuffer.obj \
.\$(OBJDIR)\nsCRT.obj \
.\$(OBJDIR)\nsDeque.obj \
.\$(OBJDIR)\nsRBTree.obj \
.\$(OBJDIR)\nsSizeOfHandler.obj \
.\$(OBJDIR)\nsString.obj \
.\$(OBJDIR)\nsUnicharBuffer.obj \
.\$(OBJDIR)\nsUnicharInputStream.obj \
.\$(OBJDIR)\nsVoidArray.obj \
$(NULL)
EXPORTS=nscore.h nsIArena.h nsIAtom.h nsIByteBuffer.h \
nsBTree.h nsCRT.h nsDeque.h nsITimer.h \
nsITimerCallback.h nsIUnicharBuffer.h nsRBTree.h \
nsIUnicharInputStream.h nsString.h nsVoidArray.h \
nsUnitConversion.h \
nsIBaseStream.h nsIInputStream.h nsIOutputStream.h
MODULE=raptor
REQUIRES=xpcom netlib raptor
LINCS=-I$(PUBLIC)\xpcom -I$(PUBLIC)\netlib \
-I$(PUBLIC)\raptor
MAKE_OBJ_TYPE = DLL
DLLNAME = raptorbase
DLL=.\$(OBJDIR)\$(DLLNAME).dll
OBJS = $(OBJS) .\$(OBJDIR)\nsTimer.obj
LCFLAGS = \
$(LCFLAGS) \
$(DEFINES) \
$(NULL)
# These are the libraries we need to link with to create the dll
LLIBS= \
$(DIST)\lib\xpcom32.lib \
$(DIST)\lib\libplc21.lib \
$(LIBNSPR)
!if "$(MOZ_BITS)"=="32" && defined(MOZ_DEBUG) && defined(GLOWCODE)
LLIBS=$(LLIBS) $(GLOWDIR)\glowcode.lib
!endif
include <$(DEPTH)\config\rules.mak>
libs:: $(DLL)
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).lib $(DIST)\lib
clobber::
rm -f $(DIST)\bin\$(DLLNAME).dll
rm -f $(DIST)\lib\$(DLLNAME).lib

View File

@@ -1,80 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsIArena.h"
#include "nsCRT.h"
#define PL_ARENA_CONST_ALIGN_MASK 7
#include "plarena.h"
static NS_DEFINE_IID(kArenaIID, NS_IARENA_IID);
// Simple arena implementation layered on plarena
class ArenaImpl : public nsIArena {
public:
ArenaImpl(PRInt32 aBlockSize);
NS_DECL_ISUPPORTS
virtual void* Alloc(PRInt32 aSize);
protected:
~ArenaImpl();
PLArenaPool mPool;
PRInt32 mBlockSize;
};
ArenaImpl::ArenaImpl(PRInt32 aBlockSize)
{
NS_INIT_REFCNT();
if (aBlockSize < NS_MIN_ARENA_BLOCK_SIZE) {
aBlockSize = NS_DEFAULT_ARENA_BLOCK_SIZE;
}
PL_INIT_ARENA_POOL(&mPool, "nsIArena", aBlockSize);
mBlockSize = aBlockSize;
}
NS_IMPL_ISUPPORTS(ArenaImpl,kArenaIID)
ArenaImpl::~ArenaImpl()
{
PL_FinishArenaPool(&mPool);
}
void* ArenaImpl::Alloc(PRInt32 size)
{
// Adjust size so that it's a multiple of sizeof(double)
PRInt32 align = size & (sizeof(double) - 1);
if (0 != align) {
size += sizeof(double) - align;
}
void* p;
PL_ARENA_ALLOCATE(p, &mPool, size);
return p;
}
NS_BASE nsresult NS_NewHeapArena(nsIArena** aInstancePtrResult,
PRInt32 aArenaBlockSize)
{
ArenaImpl* it = new ArenaImpl(aArenaBlockSize);
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kArenaIID, (void **) aInstancePtrResult);
}

View File

@@ -1,154 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsIAtom.h"
#include "nsString.h"
#include "nsCRT.h"
#include "plhash.h"
#include "nsISizeOfHandler.h"
/**
* The shared hash table for atom lookups.
*/
static nsrefcnt gAtoms;
static struct PLHashTable* gAtomHashTable;
class AtomImpl : public nsIAtom {
public:
AtomImpl();
~AtomImpl();
NS_DECL_ISUPPORTS
void* operator new(size_t size, const PRUnichar* us, PRInt32 uslen);
virtual void ToString(nsString& aBuf) const;
virtual const PRUnichar* GetUnicode() const;
NS_IMETHOD SizeOf(nsISizeOfHandler* aHandler) const;
// Actually more; 0 terminated. This slot is reserved for the
// terminating zero.
PRUnichar mString[1];
};
AtomImpl::AtomImpl()
{
NS_INIT_REFCNT();
// Every live atom holds a reference on the atom hashtable
gAtoms++;
}
AtomImpl::~AtomImpl()
{
NS_PRECONDITION(nsnull != gAtomHashTable, "null atom hashtable");
if (nsnull != gAtomHashTable) {
PL_HashTableRemove(gAtomHashTable, mString);
nsrefcnt cnt = --gAtoms;
if (0 == cnt) {
// When the last atom is destroyed, the atom arena is destroyed
NS_ASSERTION(0 == gAtomHashTable->nentries, "bad atom table");
PL_HashTableDestroy(gAtomHashTable);
gAtomHashTable = nsnull;
}
}
}
static NS_DEFINE_IID(kIAtomIID, NS_IATOM_IID);
NS_IMPL_ISUPPORTS(AtomImpl, kIAtomIID);
void* AtomImpl::operator new(size_t size, const PRUnichar* us, PRInt32 uslen)
{
size = size + uslen * sizeof(PRUnichar);
AtomImpl* ii = (AtomImpl*) new char[size];
nsCRT::memcpy(ii->mString, us, uslen * sizeof(PRUnichar));
ii->mString[uslen] = 0;
return ii;
}
void AtomImpl::ToString(nsString& aBuf) const
{
aBuf.SetLength(0);
aBuf.Append(mString, nsCRT::strlen(mString));
}
const PRUnichar* AtomImpl::GetUnicode() const
{
return mString;
}
NS_IMETHODIMP
AtomImpl::SizeOf(nsISizeOfHandler* aHandler) const
{
aHandler->Add(sizeof(*this) + nsCRT::strlen(mString) * sizeof(PRUnichar));
return NS_OK;
}
//----------------------------------------------------------------------
static PLHashNumber HashKey(const PRUnichar* k)
{
return (PLHashNumber) nsCRT::HashCode(k);
}
static PRIntn CompareKeys(const PRUnichar* k1, const PRUnichar* k2)
{
return nsCRT::strcmp(k1, k2) == 0;
}
NS_BASE nsIAtom* NS_NewAtom(const char* isolatin1)
{
nsAutoString tmp(isolatin1);
return NS_NewAtom(tmp.GetUnicode());
}
NS_BASE nsIAtom* NS_NewAtom(const nsString& aString)
{
return NS_NewAtom(aString.GetUnicode());
}
NS_BASE nsIAtom* NS_NewAtom(const PRUnichar* us)
{
if (nsnull == gAtomHashTable) {
gAtomHashTable = PL_NewHashTable(8, (PLHashFunction) HashKey,
(PLHashComparator) CompareKeys,
(PLHashComparator) nsnull,
nsnull, nsnull);
}
PRInt32 uslen;
PRInt32 hashCode = nsCRT::HashCode(us, &uslen);
PLHashEntry** hep = PL_HashTableRawLookup(gAtomHashTable, hashCode, us);
PLHashEntry* he = *hep;
if (nsnull != he) {
nsIAtom* id = (nsIAtom*) he->value;
NS_ADDREF(id);
return id;
}
AtomImpl* id = new(us, uslen) AtomImpl();
PL_HashTableRawAdd(gAtomHashTable, hep, hashCode, id->mString, id);
NS_ADDREF(id);
return id;
}
NS_BASE nsrefcnt NS_GetNumberOfAtoms(void)
{
if (nsnull != gAtomHashTable) {
NS_PRECONDITION(nsrefcnt(gAtomHashTable->nentries) == gAtoms, "bad atom table");
}
return gAtoms;
}

View File

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

View File

@@ -1,283 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/**
* This file defines the binary tree class and it
* nsNode child class. Note that like all nsBTree
* containers, this one does not automatically balance.
* (Find for random data, bad for pre-ordered data).
*
* This simple version stores nodes, and the
* nodes store void* ptrs.
*
* @update gess 4/11/98
*/
/**
* nsNode
*
* @update gess 4/11/98
* @param
* @return
*/
#ifndef _BTREE_H
#define _BTREE_H
#include "nscore.h"
struct NS_BASE nsNode {
/**
*
* @update gess4/20/98
* @param
* @return
*/
nsNode();
/**
* Copy constructor
* @update gess 4/11/98
*/
nsNode(const nsNode& aNode);
/**
* destructor
* @update gess 4/11/98
*/
virtual ~nsNode();
/**
* Retrieve parent node
*
* @update gess 4/11/98
* @return
*/
nsNode* GetParentNode(void) const;
/**
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* GetLeftNode() const;
/**
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* GetRightNode() const;
/**
*
* @update gess 4/11/98
* @param
* @return
*/
virtual nsNode& operator=(const nsNode& aNode);
/**
* This method gets called to determine which of
* two nodes is less. When you create your own
* subclass of nsNode, this is the most important
* method for you to overload.
*
* @update gess 4/11/98
* @param
* @return
*/
virtual PRBool operator<(const nsNode& aNode) const=0;
/**
* This method gets called to determine which of
* two nodes is less. When you create your own
* subclass of nsNode, this is the most important
* method for you to overload.
*
* @update gess 4/11/98
* @param
* @return
*/
virtual PRBool operator==(const nsNode& aNode) const=0;
enum eRBColor {eRed,eBlack};
nsNode* mParent;
nsNode* mLeft;
nsNode* mRight;
eRBColor mColor;
};
/**
* The Nodefunctor class is used when you want to create
* callbacks between the nsRBTree and your generic code.
*
* @update gess4/20/98
*/
class NS_BASE nsNodeFunctor {
public:
virtual nsNodeFunctor& operator()(nsNode& aNode)=0;
};
/****************************************************
* Here comes the nsBTree class...
****************************************************/
class NS_BASE nsBTree {
public:
friend class nsBTreeIterator;
nsBTree();
virtual ~nsBTree();
/**
* Add given node reference into our tree.
*
* @update gess 4/11/98
* @param aNode is a ref to a node to be added
* @return newly added node
*/
nsNode* Add(nsNode& aNode);
/**
* Remove given node reference into our tree.
*
* @update gess 4/11/98
* @param aNode is a ref to a node to be removed
* @return Ptr to node if found (and removed) or NULL
*/
nsNode* Remove(nsNode& aNode);
/**
* Clears the tree of any data.
* Be careful here if your objects are heap based!
* This method doesn't free the objects, so if you
* don't have your own pointers, they will become
* orphaned.
*
* @update gess 4/11/98
* @param
* @return this
*/
nsBTree& Empty(nsNode* aNode=0);
/**
* This method destroys all the objects in the tree.
* WARNING: Never call this method on stored objects
* that are stack-based!
*
* @update gess 4/11/98
* @param
* @return this
*/
nsBTree& Erase(nsNode* aNode=0);
/**
* Retrieve ptr to 1st node in tree (starting at root)
*
* @update gess 4/11/98
* @return ptr to 1st node, possible to be NULL
*/
nsNode* First(void) const;
/**
* Find first node in tree starting at given node
*
* @update gess 4/11/98
* @param aNode node to begin 1st search from
* @return ptr to 1st node below given node
*/
nsNode* First(const nsNode& aNode) const;
/**
* Retrieve ptr to last node in tree relative to root.
*
* @update gess 4/11/98
* @return ptr to last node or NULL
*/
nsNode* Last(void) const;
/**
* Retrieve ptr to last node in tree relative to given node.
*
* @update gess 4/11/98
* @param node to find last node from
* @return ptr to last node or NULL
*/
nsNode* Last(const nsNode& aNode) const;
/**
* Retrieve a ptr to the node that preceeds given node
*
* @update gess 4/11/98
* @param aNode used as reference to find prev.
* @return ptr to prev node or NULL
*/
nsNode* Before(const nsNode& aNode) const;
/**
* Retrieve a ptr to the node after given node
*
* @update gess 4/11/98
* @param aNode used as reference to find next.
* @return ptr to next node or NULL
*/
nsNode* After(const nsNode& aNode) const;
/**
* Find given node in tree.
* (Why would you want to find a node you already have?)
*
* @update gess 4/11/98
* @param aNode is the node you're searching for
* @return ptr to node if found, or NULL
*/
nsNode* Find(const nsNode& aNode) const;
/**
* Walks the tree, starting with root.
*
* @update gess 4/11/98
*/
virtual const nsBTree& ForEach(nsNodeFunctor& aFunctor,nsNode* aNode=0) const;
protected:
/**
* Rebalances tree around the given node. This only
* needs to be called after a node is deleted.
*
* @update gess 4/11/98
* @param aNode -- node to balance around
* @return this
*/
virtual nsBTree& ReBalance(nsNode& aNode);
nsNode* mRoot;
};
#endif

View File

@@ -1,138 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsIByteBuffer.h"
#include "nsIInputStream.h"
#include "nsCRT.h"
#define MIN_BUFFER_SIZE 32
class ByteBufferImpl : public nsIByteBuffer {
public:
ByteBufferImpl(PRInt32 aBufferSize);
~ByteBufferImpl();
NS_DECL_ISUPPORTS
virtual PRInt32 GetLength() const;
virtual PRInt32 GetBufferSize() const;
virtual char* GetBuffer() const;
virtual PRBool Grow(PRInt32 aNewSize);
virtual PRInt32 Fill(nsresult* aErrorCode, nsIInputStream* aStream,
PRInt32 aKeep);
char* mBuffer;
PRInt32 mSpace;
PRInt32 mLength;
};
ByteBufferImpl::ByteBufferImpl(PRInt32 aBufferSize)
{
if (PRUint32(aBufferSize) < MIN_BUFFER_SIZE) {
aBufferSize = MIN_BUFFER_SIZE;
}
mSpace = aBufferSize;
mBuffer = new char[aBufferSize];
mLength = 0;
NS_INIT_REFCNT();
}
NS_DEFINE_IID(kByteBufferIID,NS_IBYTE_BUFFER_IID);
NS_IMPL_ISUPPORTS(ByteBufferImpl,kByteBufferIID)
ByteBufferImpl::~ByteBufferImpl()
{
if (nsnull != mBuffer) {
delete mBuffer;
mBuffer = nsnull;
}
mLength = 0;
}
PRInt32 ByteBufferImpl::GetLength() const
{
return mLength;
}
PRInt32 ByteBufferImpl::GetBufferSize() const
{
return mSpace;
}
char* ByteBufferImpl::GetBuffer() const
{
return mBuffer;
}
PRBool ByteBufferImpl::Grow(PRInt32 aNewSize)
{
if (PRUint32(aNewSize) < MIN_BUFFER_SIZE) {
aNewSize = MIN_BUFFER_SIZE;
}
char* newbuf = new char[aNewSize];
if (nsnull != newbuf) {
if (0 != mLength) {
nsCRT::memcpy(newbuf, mBuffer, mLength);
}
delete mBuffer;
mBuffer = newbuf;
return PR_TRUE;
}
return PR_FALSE;
}
PRInt32 ByteBufferImpl::Fill(nsresult* aErrorCode, nsIInputStream* aStream,
PRInt32 aKeep)
{
NS_PRECONDITION(nsnull != aStream, "null stream");
NS_PRECONDITION(PRUint32(aKeep) <= PRUint32(mLength), "illegal keep count");
if ((nsnull == aStream) || (PRUint32(aKeep) > PRUint32(mLength))) {
// whoops
*aErrorCode = NS_BASE_STREAM_ILLEGAL_ARGS;
return -1;
}
if (0 != aKeep) {
// Slide over kept data
nsCRT::memmove(mBuffer, mBuffer + (mLength - aKeep), aKeep);
}
// Read in some new data
mLength = aKeep;
PRInt32 amount = mSpace - aKeep;
PRInt32 nb;
*aErrorCode = aStream->Read(mBuffer, aKeep, amount, &nb);
if (NS_SUCCEEDED(*aErrorCode)) {
mLength += nb;
}
else
nb = 0;
return nb;
}
NS_BASE nsresult NS_NewByteBuffer(nsIByteBuffer** aInstancePtrResult,
nsISupports* aOuter,
PRInt32 aBufferSize)
{
if (nsnull != aOuter) {
return NS_ERROR_NO_AGGREGATION;
}
ByteBufferImpl* it = new ByteBufferImpl(aBufferSize);
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kByteBufferIID, (void **) aInstancePtrResult);
}

View File

@@ -1,400 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/**
* MODULE NOTES:
* @update gess7/30/98
*
* Much as I hate to do it, we were using string compares wrong.
* Often, programmers call functions like strcmp(s1,s2), and pass
* one or more null strings. Rather than blow up on these, I've
* added quick checks to ensure that cases like this don't cause
* us to fail.
*
* In general, if you pass a null into any of these string compare
* routines, we simply return 0.
*/
#include "nsCRT.h"
// XXX Bug: These tables don't lowercase the upper 128 characters properly
// This table maps uppercase characters to lower case characters;
// characters that are neither upper nor lower case are unaffected.
static const unsigned char kUpper2Lower[256] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64,
// upper band mapped to lower [A-Z] => [a-z]
97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,
91, 92, 93, 94, 95,
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
static const unsigned char kLower2Upper[256] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96,
// lower band mapped to upper [a-z] => [A-Z]
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
123,124,125,126,127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
static const PRUnichar kIsoLatin1ToUCS2[256] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
};
//----------------------------------------------------------------------
#define TOLOWER(_ucs2) \
(((_ucs2) < 256) ? PRUnichar(kUpper2Lower[_ucs2]) : _ToLower(_ucs2))
#define TOUPPER(_ucs2) \
(((_ucs2) < 256) ? PRUnichar(kLower2Upper[_ucs2]) : _ToUpper(_ucs2))
static PRUnichar _ToLower(PRUnichar aChar)
{
// XXX need i18n code here
return aChar;
}
static PRUnichar _ToUpper(PRUnichar aChar)
{
// XXX need i18n code here
return aChar;
}
//----------------------------------------------------------------------
PRUnichar nsCRT::ToUpper(PRUnichar aChar)
{
return TOUPPER(aChar);
}
PRUnichar nsCRT::ToLower(PRUnichar aChar)
{
return TOLOWER(aChar);
}
PRInt32 nsCRT::strlen(const PRUnichar* s)
{
PRInt32 len = 0;
if(s) {
while (*s++ != 0) {
len++;
}
}
return len;
}
/**
* Compare unichar string ptrs, stopping at the 1st null
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcmp(const PRUnichar* s1, const PRUnichar* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Compare unichar string ptrs, stopping at the 1st null or nth char.
* NOTE: If either is null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncmp(const PRUnichar* s1, const PRUnichar* s2, PRInt32 n)
{
if(s1 && s2) {
if(0<n) {
while (--n >= 0) {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
}
}
else return 1;
}
return 0;
}
/**
* Compare unichar string ptrs without regard to case
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcasecmp(const PRUnichar* s1, const PRUnichar* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Compare unichar string ptrs, stopping at the 1st null or nth char;
* also ignoring the case of characters.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 and s2 both point to unichar strings
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const PRUnichar* s2, PRInt32 n)
{
if(s1 && s2) {
if(0<n){
while (--n >= 0) {
PRUnichar c1 = *s1++;
PRUnichar c2 = *s2++;
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if ((0==c1) || (0==c2)) break;
}
} else return 1;
}
return 0;
}
/**
* Compare a unichar string ptr to cstring.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcmp(const PRUnichar* s1, const char* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Compare a unichar string ptr to cstring, up to N chars.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncmp(const PRUnichar* s1, const char* s2, PRInt32 n)
{
if(s1 && s2) {
if(0<n){
while (--n >= 0) {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
if ((0==c1) || (0==c2)) break;
}
} else return 1;
}
return 0;
}
/**
* Compare a unichar string ptr to cstring without regard to case
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strcasecmp(const PRUnichar* s1, const char* s2)
{
if(s1 && s2) {
for (;;) {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if ((0==c1) || (0==c2)) break;
}
}
return 0;
}
/**
* Caseless compare up to N chars between unichar string ptr to cstring.
* NOTE: If both are null, we return 0.
* @update gess7/30/98
* @param s1 points to unichar string
* @param s2 points to cstring
* @return 0 if they match, -1 if s1<s2; 1 if s1>s2
*/
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const char* s2, PRInt32 n)
{
if(s1 && s2){
if(0<n){
while (--n >= 0) {
PRUnichar c1 = *s1++;
PRUnichar c2 = kIsoLatin1ToUCS2[*(const unsigned char*)s2++];
if (c1 != c2) {
c1 = TOLOWER(c1);
c2 = TOLOWER(c2);
if (c1 != c2) {
if (c1 < c2) return -1;
return 1;
}
}
if (c1 == 0) break;
}
} else return 1;
}
return 0;
}
PRInt32 nsCRT::HashCode(const PRUnichar* us)
{
PRInt32 rv = 0;
if(us) {
PRUnichar ch;
while ((ch = *us++) != 0) {
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
}
}
return rv;
}
PRInt32 nsCRT::HashCode(const PRUnichar* us, PRInt32* uslenp)
{
PRInt32 rv = 0;
PRInt32 len = 0;
PRUnichar ch;
while ((ch = *us++) != 0) {
// FYI: rv = rv*37 + ch
rv = ((rv << 5) + (rv << 2) + rv) + ch;
len++;
}
*uslenp = len;
return rv;
}
PRInt32 nsCRT::atoi( const PRUnichar *string )
{
return atoi(string);
}

View File

@@ -1,115 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsCRT_h___
#define nsCRT_h___
#include <stdlib.h>
#include <string.h>
#include "plstr.h"
#include "nscore.h"
/// This is a wrapper class around all the C runtime functions.
class NS_BASE nsCRT {
public:
/** Copy bytes from aSrc to aDest.
@param aDest the destination address
@param aSrc the source address
@param aCount the number of bytes to copy
*/
static void memcpy(void* aDest, const void* aSrc, PRInt32 aCount) {
::memcpy(aDest, aSrc, (size_t)aCount);
}
static void memmove(void* aDest, const void* aSrc, PRInt32 aCount) {
::memmove(aDest, aSrc, (size_t)aCount);
}
static void memset(void* aDest, PRUint8 aByte, PRInt32 aCount) {
::memset(aDest, aByte, aCount);
}
static void zero(void* aDest, PRInt32 aCount) {
::memset(aDest, 0, (size_t)aCount);
}
/** Compute the string length of s
@param s the string in question
@return the length of s
*/
static PRInt32 strlen(const char* s) {
return PRInt32(::strlen(s));
}
/// Compare s1 and s2.
static PRInt32 strcmp(const char* s1, const char* s2) {
return PRInt32(PL_strcmp(s1, s2));
}
/// Case-insensitive string comparison.
static PRInt32 strcasecmp(const char* s1, const char* s2) {
return PRInt32(PL_strcasecmp(s1, s2));
}
/// Case-insensitive string comparison with length
static PRInt32 strncasecmp(const char* s1, const char* s2, PRInt32 aMaxLen) {
return PRInt32(PL_strncasecmp(s1, s2, aMaxLen));
}
/// Like strlen except for ucs2 strings
static PRInt32 strlen(const PRUnichar* s);
/// Like strcmp except for ucs2 strings
static PRInt32 strcmp(const PRUnichar* s1, const PRUnichar* s2);
/// Like strcmp except for ucs2 strings
static PRInt32 strncmp(const PRUnichar* s1, const PRUnichar* s2,
PRInt32 aMaxLen);
/// Like strcasecmp except for ucs2 strings
static PRInt32 strcasecmp(const PRUnichar* s1, const PRUnichar* s2);
/// Like strncasecmp except for ucs2 strings
static PRInt32 strncasecmp(const PRUnichar* s1, const PRUnichar* s2,
PRInt32 aMaxLen);
/// Like strcmp with a char* and a ucs2 string
static PRInt32 strcmp(const PRUnichar* s1, const char* s2);
/// Like strncmp with a char* and a ucs2 string
static PRInt32 strncmp(const PRUnichar* s1, const char* s2,
PRInt32 aMaxLen);
/// Like strcasecmp with a char* and a ucs2 string
static PRInt32 strcasecmp(const PRUnichar* s1, const char* s2);
/// Like strncasecmp with a char* and a ucs2 string
static PRInt32 strncasecmp(const PRUnichar* s1, const char* s2,
PRInt32 aMaxLen);
/// Compute a hashcode for a ucs2 string
static PRInt32 HashCode(const PRUnichar* s1);
/// Same as above except that we return the length in s1len
static PRInt32 HashCode(const PRUnichar* s1, PRInt32* s1len);
/// String to integer.
static PRInt32 atoi( const PRUnichar *string );
static PRUnichar ToUpper(PRUnichar aChar);
static PRUnichar ToLower(PRUnichar aChar);
};
#endif /* nsCRT_h___ */

View File

@@ -1,477 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsDeque.h"
#include "nsCRT.h"
/**
* Standard constructor
* @update gess4/18/98
* @return new deque
*/
nsDeque::nsDeque(nsDequeFunctor& aMemDestroyer) : mMemDestroyer(aMemDestroyer) {
mMemDestroyer=aMemDestroyer;
mCapacity=eGrowthDelta;
mOrigin=mSize=0;
mData=new void*[mCapacity];
}
/**
* Destructor
* @update gess4/18/98
*/
nsDeque::~nsDeque() {
Erase();
delete [] mData;
mData=0;
}
/**
* Returns the number of elements currently stored in
* this deque.
*
* @update gess4/18/98
* @param
* @return int contains element count
*/
PRInt32 nsDeque::GetSize(void) const {
return mSize;
}
/**
* Remove all items from container without destroying them.
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque& nsDeque::Empty() {
nsCRT::zero(mData,mCapacity*sizeof(mData));
mSize=0;
mOrigin=0;
return *this;
}
/**
* Remove and delete all items from container
*
* @update gess4/18/98
* @return this
*/
nsDeque& nsDeque::Erase() {
ForEach(mMemDestroyer);
return Empty();
}
/**
* This method adds an item to the end of the queue.
* This operation has the potential to cause the
* underlying buffer to resize.
*
* @update gess4/18/98
* @param anItem: new item to be added to queue
* @return nada
*/
nsDeque& nsDeque::Push(void* anItem) {
if(mSize==mCapacity) {
void** temp=new void*[mCapacity+eGrowthDelta];
//Here's the interesting part: You can't just move the elements
//directy (in situ) from the old buffer to the new one.
//Since capacity has changed, the old origin doesn't make
//sense anymore. It's better to resequence the elements now.
int tempi=0;
int i=0;
int j=0;
for(i=mOrigin;i<mCapacity;i++) temp[tempi++]=mData[i]; //copy the leading elements...
for(j=0;j<mOrigin;j++) temp[tempi++]=mData[j]; //copy the trailing elements...
mCapacity+=eGrowthDelta;
mOrigin=0; //now realign the origin...
delete[]mData;
mData=temp;
}
int offset=mOrigin+mSize;
if(offset<mCapacity)
mData[offset]=anItem;
else mData[offset-mCapacity]=anItem;
mSize++;
return *this;
}
/**
* This method gets called you want to remove and return
* the first member in the container.
*
* @update gess4/18/98
* @param nada
* @return last item in container
*/
void* nsDeque::Pop() {
void* result=0;
if(mSize>0) {
result=mData[mOrigin];
mData[mOrigin++]=0; //zero it out for debugging purposes.
mSize--;
if(0==mSize)
mOrigin=0;
}
return result;
}
/**
* This method gets called you want to peek at the topmost
* member without removing it.
*
* @update gess4/18/98
* @param nada
* @return last item in container
*/
void* nsDeque::Peek() {
void* result=0;
if(mSize>0) {
result=mData[mOrigin];
}
return result;
}
/**
* Remove and return the last item in the container.
*
* @update gess4/18/98
* @param none
* @return ptr to last item in container
*/
void* nsDeque::PopBack(void) {
void* result=0;
if(mSize>0) {
int offset=mOrigin+mSize;
if(offset>=mCapacity)
offset-=mCapacity;
result=mData[offset-1];
mData[offset-1]=0;
mSize--;
if(0==mSize)
mOrigin=0;
}
return result;
}
/**
* Call this to retrieve the ith element from this container.
* Keep in mind that accessing the underlying elements is
* done in a relative fashion. Object 0 is not necessarily
* the first element (the first element is at mOrigin).
*
* @update gess4/18/98
* @param anIndex : 0 relative offset of item you want
* @return void* or null
*/
void* nsDeque::ObjectAt(PRInt32 anIndex) const {
void* result=0;
if((anIndex>=0) && (anIndex<mSize))
{
if(anIndex<(mSize-mOrigin)) {
result=mData[mOrigin+anIndex];
}
else {
result=mData[anIndex-(mSize-mOrigin)];
}
}
return result;
}
/**
* Create and return an iterator pointing to
* the beginning of the queue. Note that this
* takes the circular buffer semantics into account.
*
* @update gess4/18/98
* @return new deque iterator, init'ed to 1st item
*/
nsDequeIterator nsDeque::Begin(void) const{
return nsDequeIterator(*this,0);
}
/**
* Create and return an iterator pointing to
* the last of the queue. Note that this
* takes the circular buffer semantics into account.
*
* @update gess4/18/98
* @return new deque iterator, init'ed to last item
*/
nsDequeIterator nsDeque::End(void) const{
return nsDequeIterator(*this,mSize);
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void nsDeque::ForEach(nsDequeFunctor& aFunctor) const{
int i=0;
for(i=0;i<mSize;i++){
void* obj=ObjectAt(i);
obj=aFunctor(obj);
}
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code. Iteration continues until your
* functor returns a non-null.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* nsDeque::FirstThat(nsDequeFunctor& aFunctor) const{
int i=0;
for(i=0;i<mSize;i++){
void* obj=ObjectAt(i);
obj=aFunctor(obj);
if(obj)
return obj;
}
return 0;
}
/******************************************************
* Here comes the nsDequeIterator class...
******************************************************/
/**
* DequeIterator is an object that knows how to iterate (forward and backward)
* a Deque. Normally, you don't need to do this, but there are some special
* cases where it is pretty handy, so here you go.
*
* This is a standard dequeiterator constructor
*
* @update gess4/18/98
* @param aQueue is the deque object to be iterated
* @param anIndex is the starting position for your iteration
*/
nsDequeIterator::nsDequeIterator(const nsDeque& aQueue,int anIndex): mIndex(anIndex), mDeque(aQueue) {
}
/**
* Copy construct a new iterator beginning with given
*
* @update gess4/20/98
* @param aCopy is another iterator to copy from
* @return
*/
nsDequeIterator::nsDequeIterator(const nsDequeIterator& aCopy) : mIndex(aCopy.mIndex), mDeque(aCopy.mDeque) {
}
/**
* Standard assignment operator for dequeiterator
*
* @update gess4/18/98
* @param aCopy is an iterator to be copied from
* @return *this
*/
nsDequeIterator& nsDequeIterator::operator=(const nsDequeIterator& aCopy) {
//queue's are already equal.
mIndex=aCopy.mIndex;
return *this;
}
/**
* preform ! operation against to iterators to test for equivalence
* (or lack thereof)!
*
* @update gess4/18/98
* @param anIter is the object to be compared to
* @return TRUE if NOT equal.
*/
PRBool nsDequeIterator::operator!=(nsDequeIterator& anIter) {
return PRBool(!this->operator==(anIter));
}
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool nsDequeIterator::operator<(nsDequeIterator& anIter) {
return PRBool(((mIndex<anIter.mIndex) && (&mDeque==&anIter.mDeque)));
}
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool nsDequeIterator::operator==(nsDequeIterator& anIter) {
return PRBool(((mIndex==anIter.mIndex) && (&mDeque==&anIter.mDeque)));
}
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool nsDequeIterator::operator>=(nsDequeIterator& anIter) {
return PRBool(((mIndex>=anIter.mIndex) && (&mDeque==&anIter.mDeque)));
}
/**
* Pre-increment operator
*
* @update gess4/18/98
* @return object at preincremented index
*/
void* nsDequeIterator::operator++() {
return mDeque.ObjectAt(++mIndex);
}
/**
* Post-increment operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-incremented index
*/
void* nsDequeIterator::operator++(int) {
return mDeque.ObjectAt(mIndex++);
}
/**
* Pre-decrement operator
*
* @update gess4/18/98
* @return object at pre-decremented index
*/
void* nsDequeIterator::operator--() {
return mDeque.ObjectAt(--mIndex);
}
/**
* Post-decrement operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-decremented index
*/
void* nsDequeIterator::operator--(int) {
return mDeque.ObjectAt(mIndex--);
}
/**
* Dereference operator
*
* @update gess4/18/98
* @return object at ith index
*/
void* nsDequeIterator::GetCurrent(void) {
return mDeque.ObjectAt(mIndex);
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void nsDequeIterator::ForEach(nsDequeFunctor& aFunctor) const{
mDeque.ForEach(aFunctor);
}
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* nsDequeIterator::FirstThat(nsDequeFunctor& aFunctor) const{
return mDeque.FirstThat(aFunctor);
}
/**
* conduct automated self test for this class
*
* @update gess4/18/98
* @param
* @return
*/
void nsDeque::SelfTest(void) {
#undef _SELFTEST_DEQUE
#ifdef _SELFTEST_DEQUE
#include <iostream.h>
{
nsDeque theDeque(PR_FALSE); //construct a simple one...
int ints[10]={100,200,300,400,500,600,700,800,900,1000};
int count=sizeof(ints)/sizeof(int);
int i=0;
for(i=0;i<count;i++){
theDeque.Push(&ints[i]);
}
int* temp1=(int*)theDeque.Pop(); //should have popped 100
int* temp2=(int*)theDeque.Pop(); //should have popped 200
theDeque.Push(temp1); //these should now become
theDeque.Push(temp2); //the last 2 items in deque.
nsDequeIterator iter1=theDeque.Begin();
nsDequeIterator iter2=theDeque.End();
while(iter1!=iter2) {
temp1=(int*)(iter1++);
cout << *temp1 << endl;
}
//now, afll thru and watch the deque dtor run...
cout << "done" << endl;
}
int x;
x=10;
#endif
}

View File

@@ -1,389 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/**
* MODULE NOTES:
* @update gess 4/15/98 (tax day)
*
* The Deque is a very small, very efficient container object
* than can hold elements of type void*, offering the following features:
* It's interface supports pushing and poping of children.
* It can iterate (via an interator class) it's children.
* When full, it can efficently resize dynamically.
*
*
* NOTE: The only bit of trickery here is that this deque is
* built upon a ring-buffer. Like all ring buffers, the first
* element may not be at index[0]. The mOrigin member determines
* where the first child is. This point is quietly hidden from
* customers of this class.
*
*/
#ifndef _NSDEQUE
#define _NSDEQUE
#include "nscore.h"
/**
* The nsDequefunctor class is used when you want to create
* callbacks between the deque and your generic code.
* Use these objects in a call to ForEach();
*
* @update gess4/20/98
*/
class NS_BASE nsDequeFunctor{
public:
virtual void* operator()(void* anObject)=0;
};
/******************************************************
* Here comes the nsDeque class itself...
******************************************************/
/**
* The deque (double-ended queue) class is a common container type,
* whose behavior mimics a line in your favorite checkout stand.
* Classic CS describes the common behavior of a queue as FIFO.
* A Deque allows items to be added and removed from either end of
* the queue.
*
* @update gess4/20/98
*/
class NS_BASE nsDeque {
friend class nsDequeIterator;
public:
nsDeque(nsDequeFunctor& aMemDestroyer);
~nsDeque();
/**
* Returns the number of elements currently stored in
* this deque.
*
* @update gess4/18/98
* @param
* @return int contains element count
*/
PRInt32 GetSize() const;
/**
* Pushes new member onto the end of the deque
*
* @update gess4/18/98
* @param ptr to object to store
* @return *this
*/
nsDeque& Push(void* anItem);
/**
* Remove and return the first item in the container.
*
* @update gess4/18/98
* @param none
* @return ptr to first item in container
*/
void* Pop(void);
/**
* Return topmost item without removing it.
*
* @update gess4/18/98
* @param none
* @return ptr to first item in container
*/
void* Peek(void);
/**
* Remove and return the last item in the container.
*
* @update gess4/18/98
* @param none
* @return ptr to first item in container
*/
void* PopBack(void);
/**
* Remove all items from container without destroying them
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque& Empty();
/**
* Remove and delete all items from container
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque& Erase();
/**
* Creates a new iterator, init'ed to start of container
*
* @update gess4/18/98
* @return new dequeIterator
*/
nsDequeIterator Begin() const;
/**
* Creates a new iterator, init'ed to end of container
*
* @update gess4/18/98
* @return new dequeIterator
*/
nsDequeIterator End() const;
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void ForEach(nsDequeFunctor& aFunctor) const;
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code. This process will interupt if
* your function returns a null to this iterator.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* FirstThat(nsDequeFunctor& aFunctor) const;
/**
* Perform automated selftest on the deque
*
* @update gess4/18/98
* @param
* @return
*/
static void SelfTest();
protected:
PRInt32 mSize;
PRInt32 mCapacity;
PRInt32 mOrigin;
nsDequeFunctor& mMemDestroyer;
void** mData;
private:
enum {eGrowthDelta=64};
/**
* Simple default constructor (PRIVATE)
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque();
/**
* Copy constructor (PRIVATE)
*
* @update gess4/18/98
* @param
* @return
*/
nsDeque(const nsDeque& other);
/**
* Deque assignment operator (PRIVATE)
*
* @update gess4/18/98
* @param another deque
* @return *this
*/
nsDeque& operator=(const nsDeque& anOther);
/**
* PRIVATE method used to retrieve ptr to
* ith member in container. DOesn't remove
* that item.
*
* @update gess4/18/98
* @param index of desired item
* @return ptr to ith element in list
*/
void* ObjectAt(int anIndex) const;
};
/******************************************************
* Here comes the nsDequeIterator class...
******************************************************/
class NS_BASE nsDequeIterator {
public:
/**
* DequeIterator is an object that knows how to iterate (forward and backward)
* a Deque. Normally, you don't need to do this, but there are some special
* cases where it is pretty handy, so here you go.
*
* @update gess4/18/98
* @param aQueue is the deque object to be iterated
* @param anIndex is the starting position for your iteration
*/
nsDequeIterator(const nsDeque& aQueue,int anIndex=0);
/**
* DequeIterator is an object that knows how to iterate (forward and backward)
* a Deque. Normally, you don't need to do this, but there are some special
* cases where it is pretty handy, so here you go.
*
* @update gess4/18/98
* @param aQueue is the deque object to be iterated
* @param anIndex is the starting position for your iteration
*/
nsDequeIterator(const nsDequeIterator& aCopy);
/**
* Standard assignment operator for deque
* @update gess4/18/98
* @param
* @return
*/
nsDequeIterator& operator=(const nsDequeIterator& aCopy);
/**
* preform ! operation against to iterators to test for equivalence
* (or lack thereof)!
*
* @update gess4/18/98
* @param anIter is the object to be compared to
* @return TRUE if NOT equal.
*/
PRBool operator!=(nsDequeIterator& anIter);
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool operator<(nsDequeIterator& anIter);
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool operator==(nsDequeIterator& anIter);
/**
* Compare 2 iterators for equivalence.
*
* @update gess4/18/98
* @param anIter is the other iterator to be compared to
* @return TRUE if EQUAL
*/
PRBool operator>=(nsDequeIterator& anIter);
/**
* Pre-increment operator
*
* @update gess4/18/98
* @return object at preincremented index
*/
void* operator++();
/**
* Post-increment operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-incremented index
*/
void* operator++(int);
/**
* Pre-decrement operator
*
* @update gess4/18/98
* @return object at pre-decremented index
*/
void* operator--();
/**
* Post-decrement operator
*
* @update gess4/18/98
* @param param is ignored
* @return object at post-decremented index
*/
void* operator--(int);
/**
* Retrieve the ptr to the iterators notion of current node
*
* @update gess4/18/98
* @return object at ith index
*/
void* GetCurrent(void);
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void ForEach(nsDequeFunctor& aFunctor) const;
/**
* Call this method when you wanto to iterate all the
* members of the container, passing a functor along
* to call your code.
*
* @update gess4/20/98
* @param aFunctor object to call for each member
* @return *this
*/
const void* FirstThat(nsDequeFunctor& aFunctor) const;
protected:
PRInt32 mIndex;
const nsDeque& mDeque;
};
#endif

View File

@@ -1,51 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIArena_h___
#define nsIArena_h___
#include "nscore.h"
#include "nsISupports.h"
#define NS_MIN_ARENA_BLOCK_SIZE 64
#define NS_DEFAULT_ARENA_BLOCK_SIZE 4096
/// Interface IID for nsIArena
#define NS_IARENA_IID \
{ 0xa24fdad0, 0x93b4, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
/** Interface to a memory arena abstraction. Arena's use large blocks
* of memory to allocate smaller objects. Arena's provide no free
* operator; instead, all of the objects in the arena are deallocated
* by deallocating the arena (e.g. when it's reference count goes to
* zero)
*/
class nsIArena : public nsISupports {
public:
virtual void* Alloc(PRInt32 size) = 0;
};
/**
* Create a new arena using the desired block size for allocating the
* underlying memory blocks. The underlying memory blocks are allocated
* using the PR heap.
*/
extern NS_BASE nsresult NS_NewHeapArena(nsIArena** aInstancePtrResult,
PRInt32 aArenaBlockSize = 0);
#endif /* nsIArena_h___ */

View File

@@ -1,77 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIAtom_h___
#define nsIAtom_h___
#include "nscore.h"
#include "nsISupports.h"
class nsString;
class nsISizeOfHandler;
#define NS_IATOM_IID \
{ 0x3d1b15b0, 0x93b4, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
/**
* A globally unique identfier. nsIAtom's can be compared for
* equality by using operator '=='. These objects are reference
* counted like other nsISupports objects. When you are done with
* the atom, NS_RELEASE it.
*/
class nsIAtom : public nsISupports {
public:
/**
* Translate the unicode string into the stringbuf.
*/
virtual void ToString(nsString& aString) const = 0;
/**
* Return a pointer to a zero terminated unicode string.
*/
virtual const PRUnichar* GetUnicode() const = 0;
/**
* Add the size, in bytes, of the atom to the handler.
*/
NS_IMETHOD SizeOf(nsISizeOfHandler* aHandler) const = 0;
};
/**
* Find an atom that matches the given iso-latin1 C string. The
* C string is translated into it's unicode equivalent.
*/
extern NS_BASE nsIAtom* NS_NewAtom(const char* isolatin1);
/**
* Find an atom that matches the given unicode string. The string is assumed
* to be zero terminated.
*/
extern NS_BASE nsIAtom* NS_NewAtom(const PRUnichar* unicode);
/**
* Find an atom that matches the given string.
*/
extern NS_BASE nsIAtom* NS_NewAtom(const nsString& aString);
/**
* Return a count of the total number of atoms currently
* alive in the system.
*/
extern NS_BASE nsrefcnt NS_GetNumberOfAtoms(void);
#endif /* nsIAtom_h___ */

View File

@@ -1,57 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIBaseStream_h___
#define nsIBaseStream_h___
#include "nscore.h"
#include "nsISupports.h"
/* 6ccb17a0-e95e-11d1-beae-00805f8a66dc */
#define NS_IBASESTREAM_IID \
{ 0x6ccb17a0, 0xe95e, 0x11d1, \
{0xbe, 0xae, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
/** Abstract stream */
class nsIBaseStream : public nsISupports {
public:
/** Close the stream. */
NS_IMETHOD
Close(void) = 0;
};
/** Error codes */
//@{
// XXX fix up the values so they are not total hacks... MMP
/// End of file
#define NS_BASE_STREAM_EOF 0x80001001
/// Stream closed
#define NS_BASE_STREAM_CLOSED 0x80001002
/// Error from the operating system
#define NS_BASE_STREAM_OSERROR 0x80001003
/// Illegal arguments
#define NS_BASE_STREAM_ILLEGAL_ARGS 0x80001004
/// For unichar streams
#define NS_BASE_STREAM_NO_CONVERTER 0x80001005
/// For unichar streams
#define NS_BASE_STREAM_BAD_CONVERSION 0x80001006
//@}
#endif /* nsInputStream_h___ */

View File

@@ -1,56 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIByteBuffer_h___
#define nsIByteBuffer_h___
#include "nscore.h"
#include "nsISupports.h"
class nsIInputStream;
#define NS_IBYTE_BUFFER_IID \
{ 0xe4a6e4b0, 0x93b4, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
/** Interface to a buffer that holds bytes */
class nsIByteBuffer : public nsISupports {
public:
/** @return length of buffer, i.e. how many bytes are currently in it. */
virtual PRInt32 GetLength() const = 0;
/** @return number of bytes allocated in the buffer */
virtual PRInt32 GetBufferSize() const = 0;
/** @return the buffer */
virtual char* GetBuffer() const = 0;
/** Grow buffer to aNewSize bytes. */
virtual PRBool Grow(PRInt32 aNewSize) = 0;
/** Fill the buffer with data from aStream. Don't grow the buffer, only
* read until length of buffer equals buffer size. */
virtual PRInt32 Fill(nsresult* aErrorCode, nsIInputStream* aStream,
PRInt32 aKeep) = 0;
};
/** Create a new byte buffer using the given buffer size. */
extern NS_BASE nsresult NS_NewByteBuffer(nsIByteBuffer** aInstancePtrResult,
nsISupports* aOuter,
PRInt32 aBufferSize = 0);
#endif /* nsIByteBuffer_h___ */

View File

@@ -1,54 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIInputStream_h___
#define nsIInputStream_h___
#include "nsIBaseStream.h"
#define NS_IINPUTSTREAM_IID \
{ 0x022396f0, 0x93b5, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
/** Abstract byte input stream */
class nsIInputStream : public nsIBaseStream {
public:
/** Return the number of bytes in the stream
* @param aLength out parameter to hold the length
* of the stream. if an error occurs, the length
* will be undefined
* @return error status
*/
NS_IMETHOD
GetLength(PRInt32 *aLength) = 0;
/** Read data from the stream.
* @param aErrorCode the error code if an error occurs
* @param aBuf the buffer into which the data is read
* @param aOffset the start offset of the data
* @param aCount the maximum number of bytes to read
* @param aReadCount out parameter to hold the number of
* bytes read, eof if 0. if an error occurs, the
* read count will be undefined
* @return error status
*/
NS_IMETHOD
Read(char* aBuf, PRInt32 aOffset, PRInt32 aCount, PRInt32 *aReadCount) = 0;
};
#endif /* nsInputStream_h___ */

View File

@@ -1,46 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIOutputStream_h___
#define nsIOutputStream_h___
#include "nsIBaseStream.h"
/* 7f13b870-e95f-11d1-beae-00805f8a66dc */
#define NS_IOUTPUTSTREAM_IID \
{ 0x7f13b870, 0xe95f, 0x11d1, \
{0xbe, 0xae, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
/** Abstract byte output stream */
class nsIOutputStream : public nsIBaseStream {
public:
/** Write data into the stream.
* @param aBuf the buffer into which the data is read
* @param aOffset the start offset of the data
* @param aCount the maximum number of bytes to read
* @param aWriteCount out parameter to hold the number of
* bytes written. if an error occurs, the writecount
* is undefined
* @return error status
*/
NS_IMETHOD
Write(const char* aBuf, PRInt32 aOffset, PRInt32 aCount, PRInt32 *aWriteCount) = 0;
};
#endif /* nsOutputStream_h___ */

View File

@@ -1,86 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsITimer_h___
#define nsITimer_h___
#include "nscore.h"
#include "nsISupports.h"
class nsITimer;
class nsITimerCallback;
/// Signature of timer callback function
typedef void
(*nsTimerCallbackFunc) (nsITimer *aTimer, void *aClosure);
/// Interface IID for nsITimer
#define NS_ITIMER_IID \
{ 0x497eed20, 0xb740, 0x11d1, \
{ 0x9b, 0xc3, 0x00, 0x60, 0x08, 0x8c, 0xa6, 0xb3 } }
/**
* Timer class, used to invoke a function or method after a fixed
* millisecond interval. <B>Note that this interface is subject to
* change!</B>
*/
class nsITimer : public nsISupports {
public:
/**
* Initialize a timer to fire after the given millisecond interval.
* This version takes a function to call and a closure to pass to
* that function.
*
* @param aFunc - The function to invoke
* @param aClosure - an opaque pointer to pass to that function
* @param aRepeat - (Not yet implemented) One-shot or repeating
* @param aDelay - The millisecond interval
* @result - NS_OK if this operation was successful
*/
virtual nsresult Init(nsTimerCallbackFunc aFunc,
void *aClosure,
// PRBool aRepeat,
PRUint32 aDelay)=0;
/**
* Initialize a timer to fire after the given millisecond interval.
* This version takes an interface of type <code>nsITimerCallback</code>.
* The <code>Notify</code> method of this method is invoked.
*
* @param aCallback - The interface to notify
* @param aRepeat - (Not yet implemented) One-shot or repeating
* @param aDelay - The millisecond interval
* @result - NS_OK if this operation was successful
*/
virtual nsresult Init(nsITimerCallback *aCallback,
// PRBool aRepeat,
PRUint32 aDelay)=0;
/// Cancels the timeout
virtual void Cancel()=0;
/// @return the millisecond delay of the timeout
virtual PRUint32 GetDelay()=0;
/// Change the millisecond interval for the timeout
virtual void SetDelay(PRUint32 aDelay)=0;
};
/** Factory method for creating an nsITimer */
extern NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult);
#endif

View File

@@ -1,41 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsITimerCallback_h___
#define nsITimerCallback_h___
#include "nscore.h"
#include "nsISupports.h"
class nsITimer;
/// Interface IID for nsITimerCallback
#define NS_ITIMERCALLBACK_IID \
{ 0x5079b3a0, 0xb743, 0x11d1, \
{ 0x9b, 0xc3, 0x00, 0x60, 0x08, 0x8c, 0xa6, 0xb3 } }
/**
* Interface implemented by users of the nsITimer class. An instance
* of this interface is passed in when creating a timer. The Notify()
* method of that instance is invoked after the specified delay.
*/
class nsITimerCallback : public nsISupports {
public:
virtual void Notify(nsITimer *timer)=0;
};
#endif

View File

@@ -1,46 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIUnicharBuffer_h___
#define nsIUnicharBuffer_h___
#include "nscore.h"
#include "nsISupports.h"
class nsIUnicharInputStream;
#define NS_IUNICHAR_BUFFER_IID \
{ 0x14cf6970, 0x93b5, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
/// Interface to a buffer that holds unicode characters
class nsIUnicharBuffer : public nsISupports {
public:
virtual PRInt32 GetLength() const = 0;
virtual PRInt32 GetBufferSize() const = 0;
virtual PRUnichar* GetBuffer() const = 0;
virtual PRBool Grow(PRInt32 aNewSize) = 0;
virtual PRInt32 Fill(nsresult* aErrorCode, nsIUnicharInputStream* aStream,
PRInt32 aKeep) = 0;
};
/// Factory method for nsIUnicharBuffer.
extern NS_BASE nsresult
NS_NewUnicharBuffer(nsIUnicharBuffer** aInstancePtrResult,
nsISupports* aOuter,
PRInt32 aBufferSize = 0);
#endif /* nsIUnicharBuffer_h___ */

View File

@@ -1,98 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIUnicharInputStream_h___
#define nsIUnicharInputStream_h___
#include "nsIInputStream.h"
class nsString;
#define NS_IUNICHAR_INPUT_STREAM_IID \
{ 0x2d97fbf0, 0x93b5, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
#define NS_IB2UCONVERTER_IID \
{ 0x35e40290, 0x93b5, 0x11d1, \
{0x89, 0x5b, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
/// Enumeration of character set ids.
enum nsCharSetID {
eCharSetID_IsoLatin1 = 0,
eCharSetID_UTF8,
eCharSetID_ShiftJis
// XXX more i'm sure...
};
/** Abstract unicode character input stream
* @see nsIInputStream
*/
class nsIUnicharInputStream : public nsISupports {
public:
NS_IMETHOD Read(PRUnichar* aBuf,
PRInt32 aOffset,
PRInt32 aCount,
PRInt32 *aReadCount) = 0;
NS_IMETHOD Close() = 0;
};
/**
* Create a nsIUnicharInputStream that wraps up a string. Data is fed
* from the string out until the done. When this object is destroyed
* it destroyes the string (so make a copy if you don't want it doing
* that)
*/
extern NS_BASE nsresult
NS_NewStringUnicharInputStream(nsIUnicharInputStream** aInstancePtrResult,
nsString* aString);
/// Abstract interface for converting from bytes to unicode characters
class nsIB2UConverter : public nsISupports {
public:
/** aDstLen is updated to indicate how much data was translated into
* aDst; aSrcLen is updated to indicate how much data was used in
* the source buffer.
*/
virtual PRInt32 Convert(PRUnichar* aDst,
PRInt32 aDstOffset,
PRInt32& aDstLen,
const char* aSrc,
PRInt32 aSrcOffset,
PRInt32& aSrcLen) = 0;
};
/** Create a new nsUnicharInputStream that provides a converter for the
* byte input stream aStreamToWrap. If no converter can be found then
* nsnull is returned and the error code is set to
* NS_INPUTSTREAM_NO_CONVERTER.
*/
extern NS_BASE nsresult
NS_NewConverterStream(nsIUnicharInputStream** aInstancePtrResult,
nsISupports* aOuter,
nsIInputStream* aStreamToWrap,
PRInt32 aBufferSize = 0,
nsCharSetID aCharSet = eCharSetID_IsoLatin1);
/** Create a new nsB2UConverter for the given character set. When given
* nsnull, the converter for iso-latin1 to unicode is provided. If no
* converter can be found, nsnull is returned.
*/
extern NS_BASE nsresult
NS_NewB2UConverter(nsIB2UConverter** aInstancePtrResult,
nsISupports* aOuter,
nsCharSetID aCharSet = eCharSetID_IsoLatin1);
#endif /* nsUnicharInputStream_h___ */

View File

@@ -1,423 +0,0 @@
/**
* This file defines the binary tree class and it
* nsNode child class.
*
* This simple version stores nodes, and the
* nodes store void* ptrs.
*
* @update gess 4/11/98
* @param
* @return
*/
#include "nsRBTree.h"
/**************************************************
Here comes the nsRBTree class...
*************************************************/
/**
* nsRBTree constructor
*
* @update gess 4/11/98
*/
nsRBTree::nsRBTree() : nsBTree() {
mRoot=0;
}
/**
* nsRBTree constructor
*
* @update gess 4/11/98
*/
nsRBTree::nsRBTree(const nsRBTree& aCopy) : nsBTree(aCopy) {
mRoot=aCopy.mRoot;
}
/**
* nsRBTree destructor
*
* @update gess 4/11/98
* @param
* @return
*/
nsRBTree::~nsRBTree(){
if(mRoot){
//walk the tree and destroy the children.
}
}
/**
* Given a node, we're supposed to add it into
* our tree.
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* nsRBTree::Add(nsNode& aNode){
nsBTree::Add(aNode);
nsNode* node1=&aNode;
nsNode* node2=0;
node1->mColor=nsNode::eRed;
while((node1!=mRoot) && (node1->mParent->mColor==nsNode::eRed)) {
if(node1->mParent==node1->mParent->mParent->mLeft) {
node2=node1->mParent->mParent->mLeft;
if(node2->mColor==nsNode::eRed) {
node1->mParent->mColor=nsNode::eBlack;
node2->mColor=nsNode::eBlack;
node1->mParent->mParent->mColor=nsNode::eRed;
node1=node1->mParent->mParent;
}
else {
if(node1==node1->mParent->mRight) {
node1=node1->mParent;
ShiftLeft(*node1);
}
node1->mParent->mColor=nsNode::eBlack;
node1->mParent->mParent->mColor=nsNode::eRed;
ShiftRight(*node1->mParent->mParent);
}
}
else {
node2=node1->mParent->mParent->mRight;
if (node2->mColor==nsNode::eRed){
node1->mParent->mColor=nsNode::eBlack;
node2->mColor=nsNode::eBlack;
node1->mParent->mParent->mColor=nsNode::eRed;
node1=node1->mParent->mParent;
}
else {
if (node1==node1->mParent->mLeft) {
node1=node1->mParent;
ShiftRight(*node1);
}
node1->mParent->mColor=nsNode::eBlack;
node1->mParent->mParent->mColor=nsNode::eRed;
ShiftLeft(*node1->mParent->mParent);
}
}
}
mRoot->mColor=nsNode::eBlack;
return &aNode;
}
/**
* Retrive the first node in the tree
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* nsRBTree::First(){
nsNode* result=First(*mRoot);
return result;
}
/**
* Retrieve the first node given a starting node
*
* @update gess 4/11/98
* @param aNode --
* @return node ptr or null
*/
nsNode* nsRBTree::First(nsNode& aNode){
nsNode* result=0;
if(mRoot) {
result=mRoot;
while(result->GetLeftNode()) {
result=result->GetLeftNode();
}
}
return result;
}
/**
* Find the last node in the tree
*
* @update gess 4/11/98
* @param
* @return node ptr or null
*/
nsNode* nsRBTree::Last(){
nsNode* result=Last(*mRoot);
return result;
}
/**
* Find the last node from a given node
*
* @update gess 4/11/98
* @param aNode -- node ptr to start from
* @return node ptr or null
*/
nsNode* nsRBTree::Last(nsNode& aNode){
nsNode* result=0;
if(mRoot) {
result=mRoot;
while(result->GetRightNode()) {
result=result->GetRightNode();
}
}
return result;
}
/**
* Retrieve the node that preceeds the given node
*
* @update gess 4/11/98
* @param aNode -- node to find precedent of
* @return preceeding node ptr, or null
*/
nsNode* nsRBTree::Before(nsNode& aNode){
if(aNode.GetLeftNode())
return Last(*aNode.GetLeftNode());
//otherwise...
nsNode* node1=&aNode;
nsNode* node2=aNode.GetParentNode();
while((node2) && (node1==node2->GetLeftNode())) {
node1=node2;
node2=node2->GetParentNode();
}
return node2;
}
/**
* Retrieve a ptr to the node following the given node
*
* @update gess 4/11/98
* @param aNode -- node to find successor node from
* @return node ptr or null
*/
nsNode* nsRBTree::After(nsNode& aNode){
if(aNode.GetRightNode())
return First(*aNode.GetRightNode());
//otherwise...
nsNode* node1=&aNode;
nsNode* node2=aNode.GetParentNode();
while((node2) && (node1==node2->GetRightNode())) {
node1=node2;
node2=node2->GetParentNode();
}
return node2;
}
/**
* Find a (given) node in the tree
*
* @update gess 4/11/98
* @param node to find in the tree
* @return node ptr (if found) or null
*/
nsNode* nsRBTree::Find(nsNode& aNode){
nsNode* result=mRoot;
while((result) && (!((*result)==aNode))) {
if(aNode<*result)
result=result->mLeft;
else result=result->mRight;
}
return result;
}
/**
* Causes a shift to the left, to keep the
* underlying RB data in balance
*
* @update gess 4/11/98
* @param
* @return this
*/
nsRBTree& nsRBTree::ShiftLeft(nsNode& aNode){
nsNode* temp= aNode.mRight;
aNode.mRight=temp->mLeft;
if(temp->mLeft)
temp->mRight->mParent=&aNode;
temp->mParent= aNode.mParent;
if (aNode.mParent) {
if (&aNode==aNode.mParent->mLeft)
aNode.mParent->mLeft=temp;
else aNode.mParent->mRight=temp;
}
else mRoot=temp;
temp->mLeft=&aNode;;
aNode.mParent=temp;
return *this;
}
/**
* Causes a shift right to occur, to keep the
* underlying RB data in balance
*
* @update gess 4/11/98
* @param aNode -- node at which to perform shift
* @return this
*/
nsRBTree& nsRBTree::ShiftRight(nsNode& aNode){
nsNode* temp=aNode.mLeft;
aNode.mLeft=temp->mRight;
if(temp->mRight)
temp->mRight->mParent=&aNode;
temp->mParent=aNode.mParent;
if(aNode.mParent){
if(&aNode==aNode.mParent->mRight)
aNode.mParent->mRight=temp;
else aNode.mParent->mLeft=temp;
}
else mRoot=temp;
temp->mRight=&aNode;
aNode.mParent=temp;
return *this;
}
/**
* Rebalances tree around the given node. This only
* needs to be called after a node is deleted.
*
* @update gess 4/11/98
* @param aNode -- node to balance around
* @return this
*/
nsBTree& nsRBTree::ReBalance(nsNode& aNode){
nsNode* node1=&aNode;
nsNode* node2=0;
while ((node1!=mRoot) && (node1->mColor==nsNode::eBlack)) {
if(node1==node1->mParent->mLeft) {
node2=node1->mParent->mRight;
if(node2->mColor==nsNode::eRed) {
node2->mColor=nsNode::eBlack;
node1->mParent->mColor=nsNode::eRed;
ShiftLeft(*node1->mParent);
node2=node1->mParent->mRight;
}
if((node2->mLeft->mColor == nsNode::eBlack) &&
(node2->mRight->mColor == nsNode::eBlack)) {
node2->mColor=nsNode::eRed;
node1=node1->mParent;
}
else {
if(node2->mRight->mColor == nsNode::eBlack) {
node2->mLeft->mColor=nsNode::eBlack;
node2->mColor=nsNode::eRed;
ShiftRight(*node2);
node2=node1->mParent->mRight;
}
node2->mColor=node1->mParent->mColor;
node1->mParent->mColor=nsNode::eBlack;
node2->mRight->mColor=nsNode::eBlack;
ShiftLeft(*node1->mParent);
node1=mRoot;
} //else
}
else {
node2=node1->mParent->mLeft;
if(node2->mColor==nsNode::eRed) {
node2->mColor=nsNode::eBlack;
node1->mParent->mColor=nsNode::eRed;
ShiftRight(*node1->mParent);
node2=node1->mParent->mLeft;
}
if((node2->mRight->mColor == nsNode::eBlack) &&
(node2->mLeft->mColor == nsNode::eBlack)) {
node2->mColor=nsNode::eRed;
node1=node1->mParent;
}
else {
if(node2->mLeft->mColor == nsNode::eBlack){
node2->mRight->mColor=nsNode::eBlack;
node2->mColor=nsNode::eRed;
ShiftLeft(*node2);
node2=node1->mParent->mLeft;
}
node2->mColor=node1->mParent->mColor;
node1->mParent->mColor=nsNode::eBlack;
node2->mLeft->mColor=nsNode::eBlack;
ShiftRight(*node1->mParent);
node1=mRoot;
} //else
} //if
} //while
node1->mColor=nsNode::eBlack;
return *this;
}
/**************************************************
Here comes the nsRBTreeIterator class...
*************************************************/
/**
*
*
* @update gess 4/11/98
* @param
* @return
*/
nsRBTreeIterator::nsRBTreeIterator(const nsRBTree& aTree) : mTree(aTree) {
}
/**
* copy constructor
*
* @update gess 4/11/98
* @param aCopy is the object you want to copy from
* @return newly constructed object
*/
nsRBTreeIterator::nsRBTreeIterator(const nsRBTreeIterator& aCopy) : mTree(aCopy.mTree) {
}
/**
* Destructor method
*
* @update gess 4/11/98
*/
nsRBTreeIterator::~nsRBTreeIterator(){
}
/**
* This method iterates over the tree, calling
* aFunctor for each node.
*
* @update gess 4/11/98
* @param aFunctor -- object to call for each node
* @param aNode -- node at which to start iteration
* @return this
*/
const nsRBTreeIterator& nsRBTreeIterator::ForEach(nsNodeFunctor& aFunctor) const{
mTree.ForEach(aFunctor);
return *this;
}

View File

@@ -1,223 +0,0 @@
/**
* This file defines the binary tree class and its
* nsNode child class.
*
* This simple version stores nodes, and the
* nodes store void* ptrs.
*
* @update gess 4/11/98
* @param
* @return
*/
/**
* MODULE NOTES
* @update gess 4/11/98
*
* This file declares the nsRBTree (red/black tree).
* Red/black trees are auto-balancing binary trees.
*
* To use this class, define a subclass of nsNode
* which stores your data type. It's important that
* you overload the following methods:
*
* virtual PRBool operator<()
* virtual PRBool operator==()
*
*/
#ifndef _nsRBTree
#define _nsRBTree
#include "nsBTree.h"
/**
* Here comes the main event: our nsRBTree (red/black tree).
* Red/Black trees are autobalancing binary trees.
*
* @update gess4/20/98
*/
class NS_BASE nsRBTree : public nsBTree {
public:
friend class NS_BASE nsRBTreeIterator;
/**
* nsRBTree constructor
*
* @update gess 4/11/98
*/
nsRBTree();
/**
* nsRBTree constructor
*
* @update gess 4/11/98
*/
nsRBTree(const nsRBTree& aCopy);
/**
* nsRBTree destructor
*
* @update gess 4/11/98
*/
virtual ~nsRBTree();
/**
* Given a node, we're supposed to add it into
* our tree.
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* Add(nsNode& aNode);
/**
* Retrive the first node in the tree
*
* @update gess 4/11/98
* @param
* @return
*/
nsNode* First(void);
/**
* Retrieve the first node given a starting node
*
* @update gess 4/11/98
* @param aNode --
* @return node ptr or null
*/
nsNode* First(nsNode& aNode);
/**
* Find the last node in the tree
*
* @update gess 4/11/98
* @param
* @return node ptr or null
*/
nsNode* Last(void);
/**
* Find the last node from a given node
*
* @update gess 4/11/98
* @param aNode -- node ptr to start from
* @return node ptr or null
*/
nsNode* Last(nsNode& aNode);
/**
* Retrieve the node that preceeds the given node
*
* @update gess 4/11/98
* @param aNode -- node to find precedent of
* @return preceeding node ptr, or null
*/
nsNode* Before(nsNode& aNode);
/**
* Retrieve a ptr to the node following the given node
*
* @update gess 4/11/98
* @param aNode -- node to find successor node from
* @return node ptr or null
*/
nsNode* After(nsNode& aNode);
/**
* Find a (given) node in the tree
*
* @update gess 4/11/98
* @param node to find in the tree
* @return node ptr (if found) or null
*/
nsNode* Find(nsNode& aNode);
private:
/**
* Causes a shift to the left, to keep the
* underlying RB data in balance
*
* @update gess 4/11/98
* @param
* @return this
*/
nsRBTree& ShiftLeft(nsNode& aNode);
/**
* Causes a shift right to occur, to keep the
* underlying RB data in balance
*
* @update gess 4/11/98
* @param aNode -- node at which to perform shift
* @return this
*/
nsRBTree& ShiftRight(nsNode& aNode);
/**
* Rebalances tree around the given node. This only
* needs to be called after a node is deleted.
*
* @update gess 4/11/98
* @param aNode -- node to balance around
* @return this
*/
virtual nsBTree& ReBalance(nsNode& aNode);
};
class NS_BASE nsRBTreeIterator {
public:
/**
* TreeIterator constructor
*
* @update gess 4/11/98
* @param
* @return
*/
nsRBTreeIterator(const nsRBTree& aTree);
/**
* TreeIterator constructor
*
* @update gess 4/11/98
* @param
* @return
*/
nsRBTreeIterator(const nsRBTreeIterator& aCopy);
/**
* tree iterator destructor
*
* @update gess 4/11/98
* @param
* @return
*/
~nsRBTreeIterator();
/**
* This method iterates over the tree, calling
* aFunctor for each node.
*
* @update gess 4/11/98
* @param aFunctor -- object to call for each node
* @param aNode -- node at which to start iteration
* @return this
*/
const nsRBTreeIterator& ForEach(nsNodeFunctor& aFunctor) const;
protected:
const nsRBTree& mTree;
};
#endif

View File

@@ -1,121 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsISizeOfHandler.h"
#include "plhash.h"
static NS_DEFINE_IID(kISizeOfHandlerIID, NS_ISIZEOF_HANDLER_IID);
class nsSizeOfHandler : public nsISizeOfHandler {
public:
nsSizeOfHandler();
~nsSizeOfHandler();
// nsISupports
NS_DECL_ISUPPORTS
// nsISizeOfHandler
NS_IMETHOD Add(size_t aSize);
virtual PRBool HaveSeen(void* anObject);
NS_IMETHOD GetSize(PRUint32& aResult);
protected:
PRUint32 mTotalSize;
PLHashTable* mTable;
};
static PLHashNumber
HashKey(void* key)
{
return (PLHashNumber) key;
}
static PRIntn
CompareKeys(void* key1, void* key2)
{
return key1 == key2;
}
nsSizeOfHandler::nsSizeOfHandler()
{
NS_INIT_REFCNT();
mTotalSize = 0;
mTable = PL_NewHashTable(8, (PLHashFunction) HashKey,
(PLHashComparator) CompareKeys,
(PLHashComparator) nsnull,
nsnull, nsnull);
}
nsSizeOfHandler::~nsSizeOfHandler()
{
if (nsnull != mTable) {
PL_HashTableDestroy(mTable);
}
}
NS_IMPL_ISUPPORTS(nsSizeOfHandler, kISizeOfHandlerIID)
NS_IMETHODIMP
nsSizeOfHandler::Add(size_t aSize)
{
mTotalSize += aSize;
return NS_OK;
}
PRBool
nsSizeOfHandler::HaveSeen(void* anObject)
{
if (nsnull == mTable) {
// When we run out of memory, HaveSeen returns PR_TRUE to stop
// wasting time.
return PR_TRUE;
}
if (nsnull != anObject) {
PRInt32 hashCode = (PRInt32) anObject;
PLHashEntry** hep = PL_HashTableRawLookup(mTable, hashCode, anObject);
PLHashEntry* he = *hep;
if (nsnull != he) {
return PR_TRUE;
}
he = PL_HashTableRawAdd(mTable, hep, hashCode, anObject, anObject);
if (nsnull == he) {
// When we run out of memory, HaveSeen returns PR_TRUE to stop
// wasting time.
return PR_TRUE;
}
return PR_FALSE;
}
return PR_TRUE;
}
NS_IMETHODIMP
nsSizeOfHandler::GetSize(PRUint32& aResult)
{
aResult = mTotalSize;
return NS_OK;
}
NS_BASE nsresult
NS_NewSizeOfHandler(nsISizeOfHandler** aInstancePtrResult)
{
nsISizeOfHandler *it = new nsSizeOfHandler();
if (it == nsnull) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kISizeOfHandlerIID, (void **) aInstancePtrResult);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,240 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/**
* MODULE NOTES:
* LAST MODS: gess 28Feb98
*
* This very simple string class that knows how to do
* efficient (dynamic) resizing. It offers almost no
* i18n support, and will undoubtedly have to be replaced.
*
*/
#ifndef _NSSTRING
#define _NSSTRING
#include "prtypes.h"
#include "nscore.h"
#include "nsIAtom.h"
#include <iostream.h>
#include <stdio.h>
class nsISizeOfHandler;
class NS_BASE nsString {
public:
nsString();
nsString(const char* anISOLatin1);
nsString(const nsString&);
nsString(const PRUnichar* aUnicode);
public:
virtual ~nsString();
PRInt32 Length() const { return mLength; }
void SetLength(PRInt32 aLength);
void Truncate(PRInt32 anIndex=0);
virtual void EnsureCapacityFor(PRInt32 aNewLength);
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
///accessor methods
//@{
const PRUnichar* GetUnicode(void) const;
operator PRUnichar*() const;
PRUnichar operator()(PRInt32 i) const;
PRUnichar& operator[](PRInt32 i) const;
PRUnichar& CharAt(PRInt32 anIndex) const;
PRUnichar& First() const;
PRUnichar& Last() const;
//string creation methods...
nsString operator+(const nsString& aString);
nsString operator+(const char* anISOLatin1);
nsString operator+(char aChar);
nsString operator+(const PRUnichar* aBuffer);
nsString operator+(PRUnichar aChar);
void ToLowerCase();
void ToLowerCase(nsString& aString) const;
void ToUpperCase();
void ToUpperCase(nsString& aString) const;
nsString* ToNewString() const;
char* ToNewCString() const;
char* ToCString(char* aBuf,PRInt32 aBufLength) const;
void Copy(nsString& aString) const;
PRUnichar* ToNewUnicode() const;
float ToFloat(PRInt32* aErrorCode) const;
PRInt32 ToInteger(PRInt32* aErrorCode) const;
//@}
///string manipulation methods...
//@{
nsString& SetString(const PRUnichar* aStr,PRInt32 aLength=-1);
nsString& SetString(const char* anISOLatin1,PRInt32 aLength=-1);
nsString& operator=(const nsString& aString);
nsString& operator=(const char* anISOLatin1);
nsString& operator=(char aChar);
nsString& operator=(const PRUnichar* aBuffer);
nsString& operator=(PRUnichar aChar);
nsString& operator+=(const nsString& aString);
nsString& operator+=(const char* anISOLatin1);
nsString& operator+=(const PRUnichar* aBuffer);
nsString& operator+=(PRUnichar aChar);
nsString& Append(const nsString& aString,PRInt32 aLength=-1);
nsString& Append(const char* anISOLatin1,PRInt32 aLength=-1);
nsString& Append(char aChar);
nsString& Append(const PRUnichar* aBuffer,PRInt32 aLength=-1);
nsString& Append(PRUnichar aChar);
nsString& Append(PRInt32 aInteger,PRInt32 aRadix); //radix=8,10 or 16
nsString& Append(float aFloat);
PRInt32 Left(nsString& aCopy,PRInt32 aCount);
PRInt32 Mid(nsString& aCopy,PRInt32 anOffset,PRInt32 aCount);
PRInt32 Right(nsString& aCopy,PRInt32 aCount);
PRInt32 Insert(nsString& aCopy,PRInt32 anOffset,PRInt32 aCount=-1);
PRInt32 Insert(PRUnichar aChar,PRInt32 anOffset);
nsString& Cut(PRInt32 anOffset,PRInt32 aCount);
nsString& StripChars(const char* aSet);
nsString& StripWhitespace();
nsString& Trim( const char* aSet,
PRBool aEliminateLeading=PR_TRUE,
PRBool aEliminateTrailing=PR_TRUE);
nsString& CompressWhitespace( PRBool aEliminateLeading=PR_TRUE,
PRBool aEliminateTrailing=PR_TRUE);
static PRBool IsSpace(PRUnichar ch);
static PRBool IsAlpha(PRUnichar ch);
static PRBool IsDigit(PRUnichar ch);
//@}
///searching methods...
//@{
PRInt32 Find(const char* anISOLatin1) const;
PRInt32 Find(const PRUnichar* aString) const;
PRInt32 Find(PRUnichar aChar,PRInt32 offset=0) const;
PRInt32 Find(const nsString& aString) const;
PRInt32 FindFirstCharInSet(const char* anISOLatin1Set,PRInt32 offset=0) const;
PRInt32 FindFirstCharInSet(nsString& aString,PRInt32 offset=0) const;
PRInt32 FindLastCharInSet(const char* anISOLatin1Set,PRInt32 offset=0) const;
PRInt32 FindLastCharInSet(nsString& aString,PRInt32 offset=0) const;
PRInt32 RFind(const char* anISOLatin1,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const PRUnichar* aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(const nsString& aString,PRBool aIgnoreCase=PR_FALSE) const;
PRInt32 RFind(PRUnichar aChar,PRBool aIgnoreCase=PR_FALSE) const;
//@}
///comparision methods...
//@{
virtual PRInt32 Compare(const nsString &S,PRBool aIgnoreCase=PR_FALSE) const;
virtual PRInt32 Compare(const char *anISOLatin1,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
virtual PRInt32 Compare(const PRUnichar *aString,PRBool aIgnoreCase=PR_FALSE,PRInt32 aLength=-1) const;
PRBool operator==(const nsString &S) const;
PRBool operator==(const char *anISOLatin1) const;
PRBool operator==(const PRUnichar* aString) const;
PRBool operator!=(const nsString &S) const;
PRBool operator!=(const char *anISOLatin1) const;
PRBool operator!=(const PRUnichar* aString) const;
PRBool operator<(const nsString &S) const;
PRBool operator<(const char *anISOLatin1) const;
PRBool operator<(const PRUnichar* aString) const;
PRBool operator>(const nsString &S) const;
PRBool operator>(const char *anISOLatin1) const;
PRBool operator>(const PRUnichar* aString) const;
PRBool operator<=(const nsString &S) const;
PRBool operator<=(const char *anISOLatin1) const;
PRBool operator<=(const PRUnichar* aString) const;
PRBool operator>=(const nsString &S) const;
PRBool operator>=(const char *anISOLatin1) const;
PRBool operator>=(const PRUnichar* aString) const;
PRBool Equals(const nsString& aString) const;
PRBool Equals(const char* anISOLatin1,PRInt32 aLength=-1) const;
PRBool Equals(const nsIAtom *aAtom) const;
PRBool Equals(const PRUnichar* s1, const PRUnichar* s2) const;
PRBool EqualsIgnoreCase(const nsString& aString) const;
PRBool EqualsIgnoreCase(const char* anISOLatin1,PRInt32 aLength=-1) const;
PRBool EqualsIgnoreCase(const nsIAtom *aAtom) const;
PRBool EqualsIgnoreCase(const PRUnichar* s1, const PRUnichar* s2) const;
//@}
static void SelfTest();
virtual void DebugDump(ostream& aStream) const;
protected:
typedef PRUnichar chartype;
chartype* mStr;
PRInt32 mLength;
PRInt32 mCapacity;
static PRBool mSelfTested;
};
extern NS_BASE int fputs(const nsString& aString, FILE* out);
//----------------------------------------------------------------------
/**
* A version of nsString which is designed to be used as an automatic
* variable. It attempts to operate out of a fixed size internal
* buffer until too much data is added; then a dynamic buffer is
* allocated and grown as necessary.
*/
// XXX template this with a parameter for the size of the buffer?
class NS_BASE nsAutoString : public nsString {
public:
nsAutoString();
nsAutoString(const nsString& other);
nsAutoString(const nsAutoString& other);
nsAutoString(PRUnichar aChar);
nsAutoString(const char* isolatin1);
nsAutoString(const PRUnichar* us, PRInt32 uslen = -1);
virtual ~nsAutoString();
nsAutoString& operator=(const nsString& aString) {nsString::operator=(aString); return *this;}
nsAutoString& operator=(const char* anISOLatin1) {nsString::operator=(anISOLatin1); return *this;}
nsAutoString& operator=(char aChar) {nsString::operator=(aChar); return *this;}
nsAutoString& operator=(const PRUnichar* aBuffer) {nsString::operator=(aBuffer); return *this;}
nsAutoString& operator=(PRUnichar aChar) {nsString::operator=(aChar); return *this;}
virtual void SizeOf(nsISizeOfHandler* aHandler) const;
static void SelfTest();
protected:
virtual void EnsureCapacityFor(PRInt32 aNewLength);
PRUnichar mBuf[32];
};
#endif

View File

@@ -1,140 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsIUnicharBuffer.h"
#include "nsIUnicharInputStream.h"
#include "nsCRT.h"
#define MIN_BUFFER_SIZE 32
class UnicharBufferImpl : public nsIUnicharBuffer {
public:
UnicharBufferImpl(PRInt32 aBufferSize);
~UnicharBufferImpl();
NS_DECL_ISUPPORTS
virtual PRInt32 GetLength() const;
virtual PRInt32 GetBufferSize() const;
virtual PRUnichar* GetBuffer() const;
virtual PRBool Grow(PRInt32 aNewSize);
virtual PRInt32 Fill(nsresult* aErrorCode, nsIUnicharInputStream* aStream,
PRInt32 aKeep);
PRUnichar* mBuffer;
PRInt32 mSpace;
PRInt32 mLength;
};
UnicharBufferImpl::UnicharBufferImpl(PRInt32 aBufferSize)
{
if (PRUint32(aBufferSize) < MIN_BUFFER_SIZE) {
aBufferSize = MIN_BUFFER_SIZE;
}
mSpace = aBufferSize;
mBuffer = new PRUnichar[aBufferSize];
mLength = 0;
NS_INIT_REFCNT();
}
NS_DEFINE_IID(kUnicharBufferIID, NS_IUNICHAR_BUFFER_IID);
NS_IMPL_ISUPPORTS(UnicharBufferImpl,kUnicharBufferIID)
UnicharBufferImpl::~UnicharBufferImpl()
{
if (nsnull != mBuffer) {
delete mBuffer;
mBuffer = nsnull;
}
mLength = 0;
}
PRInt32 UnicharBufferImpl::GetLength() const
{
return mLength;
}
PRInt32 UnicharBufferImpl::GetBufferSize() const
{
return mSpace;
}
PRUnichar* UnicharBufferImpl::GetBuffer() const
{
return mBuffer;
}
PRBool UnicharBufferImpl::Grow(PRInt32 aNewSize)
{
if (PRUint32(aNewSize) < MIN_BUFFER_SIZE) {
aNewSize = MIN_BUFFER_SIZE;
}
PRUnichar* newbuf = new PRUnichar[aNewSize];
if (nsnull != newbuf) {
if (0 != mLength) {
nsCRT::memcpy(newbuf, mBuffer, mLength * sizeof(PRUnichar));
}
delete mBuffer;
mBuffer = newbuf;
return PR_TRUE;
}
return PR_FALSE;
}
PRInt32 UnicharBufferImpl::Fill(nsresult* aErrorCode,
nsIUnicharInputStream* aStream,
PRInt32 aKeep)
{
NS_PRECONDITION(nsnull != aStream, "null stream");
NS_PRECONDITION(PRUint32(aKeep) < PRUint32(mLength), "illegal keep count");
if ((nsnull == aStream) || (PRUint32(aKeep) >= PRUint32(mLength))) {
// whoops
*aErrorCode = NS_BASE_STREAM_ILLEGAL_ARGS;
return -1;
}
if (0 != aKeep) {
// Slide over kept data
nsCRT::memmove(mBuffer, mBuffer + (mLength - aKeep),
aKeep * sizeof(PRUnichar));
}
// Read in some new data
mLength = aKeep;
PRInt32 amount = mSpace - aKeep;
PRInt32 nb;
*aErrorCode = aStream->Read(mBuffer, aKeep, amount, &nb);
if (NS_SUCCEEDED(*aErrorCode)) {
mLength += nb;
}
else
nb = 0;
return nb;
}
NS_BASE nsresult NS_NewUnicharBuffer(nsIUnicharBuffer** aInstancePtrResult,
nsISupports* aOuter,
PRInt32 aBufferSize)
{
if (nsnull != aOuter) {
return NS_ERROR_NO_AGGREGATION;
}
UnicharBufferImpl* it = new UnicharBufferImpl(aBufferSize);
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kUnicharBufferIID, (void **) aInstancePtrResult);
}

View File

@@ -1,337 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsIUnicharInputStream.h"
#include "nsIByteBuffer.h"
#include "nsIUnicharBuffer.h"
#include "nsString.h"
#include "nsCRT.h"
#include <fcntl.h>
#ifdef NS_WIN32
#include <io.h>
#else
#include <unistd.h>
#endif
static NS_DEFINE_IID(kIUnicharInputStreamIID, NS_IUNICHAR_INPUT_STREAM_IID);
class StringUnicharInputStream : public nsIUnicharInputStream {
public:
StringUnicharInputStream(nsString* aString);
~StringUnicharInputStream();
NS_DECL_ISUPPORTS
NS_IMETHOD Read(PRUnichar* aBuf,
PRInt32 aOffset,
PRInt32 aCount,
PRInt32 *aReadCount);
NS_IMETHOD Close();
nsString* mString;
PRInt32 mPos;
PRInt32 mLen;
};
StringUnicharInputStream::StringUnicharInputStream(nsString* aString)
{
NS_INIT_REFCNT();
mString = aString;
mPos = 0;
mLen = aString->Length();
}
StringUnicharInputStream::~StringUnicharInputStream()
{
if (nsnull != mString) {
delete mString;
}
}
nsresult StringUnicharInputStream::Read(PRUnichar* aBuf,
PRInt32 aOffset,
PRInt32 aCount,
PRInt32 *aReadCount)
{
if (mPos >= mLen) {
*aReadCount = 0;
return (nsresult)-1;
}
const PRUnichar* us = mString->GetUnicode();
PRInt32 amount = mLen - mPos;
if (amount > aCount) {
amount = aCount;
}
nsCRT::memcpy(aBuf + aOffset, us + mPos, sizeof(PRUnichar) * amount);
mPos += amount;
*aReadCount = amount;
return NS_OK;
}
nsresult StringUnicharInputStream::Close()
{
mPos = mLen;
if (nsnull != mString) {
delete mString;
}
return NS_OK;
}
NS_IMPL_ISUPPORTS(StringUnicharInputStream, kIUnicharInputStreamIID);
NS_BASE nsresult
NS_NewStringUnicharInputStream(nsIUnicharInputStream** aInstancePtrResult,
nsString* aString)
{
NS_PRECONDITION(nsnull != aString, "null ptr");
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
if ((nsnull == aString) || (nsnull == aInstancePtrResult)) {
return NS_ERROR_NULL_POINTER;
}
StringUnicharInputStream* it = new StringUnicharInputStream(aString);
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kIUnicharInputStreamIID,
(void**) aInstancePtrResult);
}
//----------------------------------------------------------------------
class IsoLatin1Converter : public nsIB2UConverter {
public:
IsoLatin1Converter();
NS_DECL_ISUPPORTS
virtual PRInt32 Convert(PRUnichar* aDst,
PRInt32 aDstOffset,
PRInt32& aDstLen,
const char* aSrc,
PRInt32 aSrcOffset,
PRInt32& aSrcLen);
};
IsoLatin1Converter::IsoLatin1Converter()
{
NS_INIT_REFCNT();
}
NS_DEFINE_IID(kIB2UConverterIID, NS_IB2UCONVERTER_IID);
NS_IMPL_ISUPPORTS(IsoLatin1Converter,kIB2UConverterIID);
PRInt32 IsoLatin1Converter::Convert(PRUnichar* aDst,
PRInt32 aDstOffset,
PRInt32& aDstLen,
const char* aSrc,
PRInt32 aSrcOffset,
PRInt32& aSrcLen)
{
PRInt32 amount = aSrcLen;
if (aSrcLen > aDstLen) {
amount = aDstLen;
}
const char* end = aSrc + amount;
while (aSrc < end) {
PRUint8 isoLatin1 = PRUint8(*aSrc++);
/* XXX insert table based lookup converter here */
*aDst++ = isoLatin1;
}
aDstLen = amount;
aSrcLen = amount;
return NS_OK;
}
NS_BASE nsresult
NS_NewB2UConverter(nsIB2UConverter** aInstancePtrResult,
nsISupports* aOuter,
nsCharSetID aCharSet)
{
if (nsnull != aOuter) {
return NS_ERROR_NO_AGGREGATION;
}
if (eCharSetID_IsoLatin1 != aCharSet) {
return NS_BASE_STREAM_NO_CONVERTER;
}
IsoLatin1Converter* it = new IsoLatin1Converter();
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kIB2UConverterIID, (void**)aInstancePtrResult);
}
//----------------------------------------------------------------------
class ConverterInputStream : public nsIUnicharInputStream {
public:
ConverterInputStream(nsIInputStream* aStream,
nsIB2UConverter* aConverter,
PRInt32 aBufSize);
~ConverterInputStream();
NS_DECL_ISUPPORTS
NS_IMETHOD Read(PRUnichar* aBuf,
PRInt32 aOffset,
PRInt32 aCount,
PRInt32 *aReadCount);
NS_IMETHOD Close();
protected:
PRInt32 Fill(nsresult * aErrorCode);
nsIInputStream* mInput;
nsIB2UConverter* mConverter;
nsIByteBuffer* mByteData;
PRInt32 mByteDataOffset;
nsIUnicharBuffer* mUnicharData;
PRInt32 mUnicharDataOffset;
PRInt32 mUnicharDataLength;
};
ConverterInputStream::ConverterInputStream(nsIInputStream* aStream,
nsIB2UConverter* aConverter,
PRInt32 aBufferSize)
{
NS_INIT_REFCNT();
mInput = aStream; aStream->AddRef();
mConverter = aConverter; aConverter->AddRef();
if (aBufferSize == 0) {
aBufferSize = 8192;
}
nsresult rv1 = NS_NewByteBuffer(&mByteData, nsnull, aBufferSize);
nsresult rv2 = NS_NewUnicharBuffer(&mUnicharData, nsnull, aBufferSize);
mByteDataOffset = 0;
mUnicharDataOffset = 0;
mUnicharDataLength = 0;
}
NS_IMPL_ISUPPORTS(ConverterInputStream,kIUnicharInputStreamIID);
ConverterInputStream::~ConverterInputStream()
{
Close();
}
nsresult ConverterInputStream::Close()
{
if (nsnull != mInput) {
mInput->Release();
mInput = nsnull;
}
if (nsnull != mConverter) {
mConverter->Release();
mConverter = nsnull;
}
if (nsnull != mByteData) {
mByteData->Release();
mByteData = nsnull;
}
if (nsnull != mUnicharData) {
mUnicharData->Release();
mUnicharData = nsnull;
}
return NS_OK;
}
nsresult ConverterInputStream::Read(PRUnichar* aBuf,
PRInt32 aOffset,
PRInt32 aCount,
PRInt32 *aReadCount)
{
PRInt32 rv = mUnicharDataLength - mUnicharDataOffset;
nsresult errorCode;
if (0 == rv) {
// Fill the unichar buffer
rv = Fill(&errorCode);
if (rv <= 0) {
*aReadCount = 0;
return errorCode;
}
}
if (rv > aCount) {
rv = aCount;
}
nsCRT::memcpy(aBuf + aOffset, mUnicharData->GetBuffer() + mUnicharDataOffset,
rv * sizeof(PRUnichar));
mUnicharDataOffset += rv;
*aReadCount = rv;
return NS_OK;
}
PRInt32 ConverterInputStream::Fill(nsresult * aErrorCode)
{
if (nsnull == mInput) {
// We already closed the stream!
*aErrorCode = NS_BASE_STREAM_CLOSED;
return -1;
}
PRInt32 remainder = mByteData->GetLength() - mByteDataOffset;
mByteDataOffset = remainder;
PRInt32 nb = mByteData->Fill(aErrorCode, mInput, remainder);
if (nb <= 0) {
// Because we assume a many to one conversion, the lingering data
// in the byte buffer must be a partial conversion
// fragment. Because we know that we have recieved no more new
// data to add to it, we can't convert it. Therefore, we discard
// it.
return nb;
}
NS_ASSERTION(remainder + nb == mByteData->GetLength(), "bad nb");
// Now convert as much of the byte buffer to unicode as possible
PRInt32 dstLen = mUnicharData->GetBufferSize();
PRInt32 srcLen = remainder + nb;
*aErrorCode = mConverter->Convert(mUnicharData->GetBuffer(), 0, dstLen,
mByteData->GetBuffer(), 0, srcLen);
mUnicharDataOffset = 0;
mUnicharDataLength = dstLen;
mByteDataOffset += srcLen;
return dstLen;
}
// XXX hook up auto-detect here (do we need more info, like the url?)
NS_BASE nsresult
NS_NewConverterStream(nsIUnicharInputStream** aInstancePtrResult,
nsISupports* aOuter,
nsIInputStream* aStreamToWrap,
PRInt32 aBufferSize,
nsCharSetID aCharSet)
{
if (nsnull != aOuter) {
return NS_ERROR_NO_AGGREGATION;
}
// Create converter
nsIB2UConverter* converter;
nsresult rv = NS_NewB2UConverter(&converter, nsnull, aCharSet);
if (NS_OK != rv) {
return rv;
}
// Create converter input stream
ConverterInputStream* it =
new ConverterInputStream(aStreamToWrap, converter, aBufferSize);
converter->Release();
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
return it->QueryInterface(kIUnicharInputStreamIID,
(void **) aInstancePtrResult);
}

View File

@@ -1,182 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsUnitConversion_h__
#define nsUnitConversion_h__
#include "nscore.h"
#include <math.h>
/// handy constants
#define TWIPS_PER_POINT_INT 20
#define TWIPS_PER_POINT_FLOAT 20.0f
#define ROUND_EXCLUSIVE_CONST_FLOAT 0.4999999999999999f // XXX this should be derived from platform FLOAT_MIN
#define ROUND_CONST_FLOAT 0.5f
#define CEIL_CONST_FLOAT 0.9999999999999999f // XXX this should be derived from platform FLOAT_MIN
/*
* Coord Rounding Functions
*/
inline nscoord NSToCoordFloor(float aValue)
{
return ((0.0f <= aValue) ? nscoord(aValue) : nscoord(aValue - CEIL_CONST_FLOAT));
}
inline nscoord NSToCoordCeil(float aValue)
{
return ((0.0f <= aValue) ? nscoord(aValue + CEIL_CONST_FLOAT) : nscoord(aValue));
}
inline nscoord NSToCoordRound(float aValue)
{
return ((0.0f <= aValue) ? nscoord(aValue + ROUND_CONST_FLOAT) : nscoord(aValue - ROUND_CONST_FLOAT));
}
inline nscoord NSToCoordRoundExclusive(float aValue)
{
return ((0.0f <= aValue) ? nscoord(aValue + ROUND_EXCLUSIVE_CONST_FLOAT) :
nscoord(aValue - ROUND_EXCLUSIVE_CONST_FLOAT));
}
/*
* Int Rounding Functions
*/
inline PRInt32 NSToIntFloor(float aValue)
{
return ((0.0f <= aValue) ? PRInt32(aValue) : PRInt32(aValue - CEIL_CONST_FLOAT));
}
inline PRInt32 NSToIntCeil(float aValue)
{
return ((0.0f <= aValue) ? PRInt32(aValue + CEIL_CONST_FLOAT) : PRInt32(aValue));
}
inline PRInt32 NSToIntRound(float aValue)
{
return ((0.0f <= aValue) ? PRInt32(aValue + ROUND_CONST_FLOAT) : PRInt32(aValue - ROUND_CONST_FLOAT));
}
inline PRInt32 NSToIntRoundExclusive(float aValue)
{
return ((0.0f <= aValue) ? PRInt32(aValue + ROUND_EXCLUSIVE_CONST_FLOAT) :
PRInt32(aValue - ROUND_EXCLUSIVE_CONST_FLOAT));
}
/*
* Twips/Points conversions
*/
inline nscoord NSFloatPointsToTwips(float aPoints)
{
return NSToCoordRound(aPoints * TWIPS_PER_POINT_FLOAT);
}
inline nscoord NSIntPointsToTwips(PRInt32 aPoints)
{
return nscoord(aPoints * TWIPS_PER_POINT_INT);
}
inline PRInt32 NSTwipsToIntPoints(nscoord aTwips)
{
return NSToIntRound(aTwips / TWIPS_PER_POINT_FLOAT);
}
inline PRInt32 NSTwipsToFloorIntPoints(nscoord aTwips)
{
return NSToIntFloor(aTwips / TWIPS_PER_POINT_FLOAT);
}
inline PRInt32 NSTwipsToCeilIntPoints(nscoord aTwips)
{
return NSToIntCeil(aTwips / TWIPS_PER_POINT_FLOAT);
}
inline float NSTwipsToFloatPoints(nscoord aTwips)
{
return (float(aTwips) / TWIPS_PER_POINT_FLOAT);
}
/*
* Twips/Pixel conversions
*/
inline nscoord NSFloatPixelsToTwips(float aPixels, float aTwipsPerPixel)
{
return NSToCoordRound(aPixels * aTwipsPerPixel);
}
inline nscoord NSIntPixelsToTwips(PRInt32 aPixels, float aTwipsPerPixel)
{
return NSToCoordRound(float(aPixels) * aTwipsPerPixel);
}
inline float NSTwipsToFloatPixels(nscoord aTwips, float aPixelsPerTwip)
{
return (float(aTwips) * aPixelsPerTwip);
}
inline PRInt32 NSTwipsToIntPixels(nscoord aTwips, float aPixelsPerTwip)
{
return NSToIntRound(float(aTwips) * aPixelsPerTwip);
}
/*
* Twips/unit conversions
*/
inline nscoord NSUnitsToTwips(float aValue, float aPointsPerUnit)
{
return NSToCoordRound(aValue * aPointsPerUnit * TWIPS_PER_POINT_FLOAT);
}
inline float NSTwipsToUnits(nscoord aTwips, float aUnitsPerPoint)
{
return (aTwips * (aUnitsPerPoint / TWIPS_PER_POINT_FLOAT));
}
/// Unit conversion macros
//@{
#define NS_INCHES_TO_TWIPS(x) NSUnitsToTwips((x), 72.0f) // 72 points per inch
#define NS_FEET_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 12.0f)) // 12 inches per foot
#define NS_MILES_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 12.0f * 5280.0f)) // 5280 feet per mile
#define NS_MILLIMETERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 0.03937f))
#define NS_CENTIMETERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 0.3937f))
#define NS_METERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 39.37f))
#define NS_KILOMETERS_TO_TWIPS(x) NSUnitsToTwips((x), (72.0f * 39370.0f))
#define NS_PICAS_TO_TWIPS(x) NSUnitsToTwips((x), 12.0f) // 12 points per pica
#define NS_DIDOTS_TO_TWIPS(x) NSUnitsToTwips((x), (16.0f / 15.0f)) // 15 didots per 16 points
#define NS_CICEROS_TO_TWIPS(x) NSUnitsToTwips((x), (12.0f * (16.0f / 15.0f))) // 12 didots per cicero
#define NS_TWIPS_TO_INCHES(x) NSTwipsToUnits((x), 1.0f / 72.0f)
#define NS_TWIPS_TO_FEET(x) NSTwipsToUnits((x), 1.0f / (72.0f * 12.0f))
#define NS_TWIPS_TO_MILES(x) NSTwipsToUnits((x), 1.0f / (72.0f * 12.0f * 5280.0f))
#define NS_TWIPS_TO_MILLIMETERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 0.03937f))
#define NS_TWIPS_TO_CENTIMETERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 0.3937f))
#define NS_TWIPS_TO_METERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 39.37f))
#define NS_TWIPS_TO_KILOMETERS(x) NSTwipsToUnits((x), 1.0f / (72.0f * 39370.0f))
#define NS_TWIPS_TO_PICAS(x) NSTwipsToUnits((x), 1.0f / 12.0f)
#define NS_TWIPS_TO_DIDOTS(x) NSTwipsToUnits((x), 1.0f / (16.0f / 15.0f))
#define NS_TWIPS_TO_CICEROS(x) NSTwipsToUnits((x), 1.0f / (12.0f * (16.0f / 15.0f)))
//@}
#endif

View File

@@ -1,227 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsVoidArray.h"
#include "nsCRT.h"
#include "nsISizeOfHandler.h"
static PRInt32 kGrowArrayBy = 8;
nsVoidArray::nsVoidArray()
{
mArray = nsnull;
mArraySize = 0;
mCount = 0;
}
nsVoidArray::nsVoidArray(PRInt32 aCount)
{
NS_PRECONDITION(aCount > 0, "bad count");
mCount = mArraySize = aCount;
mArray = new void*[mCount];
nsCRT::memset(mArray, 0, mCount * sizeof(void*));
}
nsVoidArray& nsVoidArray::operator=(const nsVoidArray& other)
{
if (nsnull != mArray) {
delete mArray;
}
PRInt32 otherCount = other.mCount;
mArraySize = otherCount;
mCount = otherCount;
if (otherCount != 0) {
mArray = new void*[otherCount];
nsCRT::memcpy(mArray, other.mArray, otherCount * sizeof(void*));
} else {
mArray = nsnull;
}
return *this;
}
nsVoidArray::~nsVoidArray()
{
if (nsnull != mArray) {
delete [] mArray;
}
}
void
nsVoidArray::SizeOf(nsISizeOfHandler* aHandler) const
{
aHandler->Add(sizeof(*this));
aHandler->Add(sizeof(void*) * mArraySize);
}
void* nsVoidArray::ElementAt(PRInt32 aIndex) const
{
if (PRUint32(aIndex) >= PRUint32(mCount)) {
return nsnull;
}
return mArray[aIndex];
}
PRInt32 nsVoidArray::IndexOf(void* aPossibleElement) const
{
void** ap = mArray;
void** end = ap + mCount;
while (ap < end) {
if (*ap == aPossibleElement) {
return ap - mArray;
}
ap++;
}
return -1;
}
PRBool nsVoidArray::InsertElementAt(void* aElement, PRInt32 aIndex)
{
PRInt32 oldCount = mCount;
if (PRUint32(aIndex) > PRUint32(oldCount)) {
// An invalid index causes the insertion to fail
return PR_FALSE;
}
if (oldCount + 1 > mArraySize) {
// We have to grow the array
PRInt32 newCount = oldCount + kGrowArrayBy;
void** newArray = new void*[newCount];
if (mArray != nsnull && aIndex != 0)
nsCRT::memcpy(newArray, mArray, aIndex * sizeof(void*));
PRInt32 slide = oldCount - aIndex;
if (0 != slide) {
// Slide data over to make room for the insertion
nsCRT::memcpy(newArray + aIndex + 1, mArray + aIndex,
slide * sizeof(void*));
}
if (mArray != nsnull)
delete [] mArray;
mArray = newArray;
mArraySize = newCount;
} else {
// The array is already large enough
PRInt32 slide = oldCount - aIndex;
if (0 != slide) {
// Slide data over to make room for the insertion
nsCRT::memmove(mArray + aIndex + 1, mArray + aIndex,
slide * sizeof(void*));
}
}
mArray[aIndex] = aElement;
mCount++;
return PR_TRUE;
}
PRBool nsVoidArray::ReplaceElementAt(void* aElement, PRInt32 aIndex)
{
if (PRUint32(aIndex) >= PRUint32(mArraySize)) {
PRInt32 requestedCount = aIndex + 1;
PRInt32 growDelta = requestedCount - mCount;
PRInt32 newCount = mCount + (growDelta > kGrowArrayBy ? growDelta : kGrowArrayBy);
void** newArray = new void*[newCount];
nsCRT::memset(newArray, 0, newCount * sizeof(void*));
if (newArray==nsnull)
return PR_FALSE;
if (mArray != nsnull && aIndex != 0) {
nsCRT::memcpy(newArray, mArray, mCount * sizeof(void*));
if (mArray != nsnull)
delete [] mArray;
}
mArray = newArray;
mArraySize = newCount;
}
mArray[aIndex] = aElement;
if (aIndex >= mCount)
mCount = aIndex+1;
return PR_TRUE;
}
PRBool nsVoidArray::RemoveElementAt(PRInt32 aIndex)
{
PRInt32 oldCount = mCount;
if (PRUint32(aIndex) >= PRUint32(oldCount)) {
// An invalid index causes the replace to fail
return PR_FALSE;
}
// We don't need to move any elements if we're removing the
// last element in the array
if (aIndex < (oldCount - 1)) {
nsCRT::memmove(mArray + aIndex, mArray + aIndex + 1,
(oldCount - 1 - aIndex) * sizeof(void*));
}
mCount--;
return PR_TRUE;
}
PRBool nsVoidArray::RemoveElement(void* aElement)
{
void** ep = mArray;
void** end = ep + mCount;
while (ep < end) {
void* e = *ep++;
if (e == aElement) {
ep--;
return RemoveElementAt(PRInt32(ep - mArray));
}
}
return PR_FALSE;
}
void nsVoidArray::Clear()
{
mCount = 0;
}
void nsVoidArray::Compact()
{
PRInt32 count = mCount;
if (mArraySize != count) {
void** newArray = new void*[count];
if (nsnull != newArray) {
nsCRT::memcpy(newArray, mArray, count * sizeof(void*));
delete [] mArray;
mArray = newArray;
mArraySize = count;
}
}
}
PRBool nsVoidArray::EnumerateForwards(nsVoidArrayEnumFunc aFunc, void* aData)
{
PRInt32 index = -1;
PRBool running = PR_TRUE;
while (running && (++index < mCount)) {
running = (*aFunc)(mArray[index], aData);
}
return running;
}
PRBool nsVoidArray::EnumerateBackwards(nsVoidArrayEnumFunc aFunc, void* aData)
{
PRInt32 index = mCount;
PRBool running = PR_TRUE;
while (running && (0 <= --index)) {
running = (*aFunc)(mArray[index], aData);
}
return running;
}

View File

@@ -1,74 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsVoidArray_h___
#define nsVoidArray_h___
#include "nscore.h"
class nsISizeOfHandler;
// Enumerator callback function. Return PR_FALSE to stop
typedef PRBool (*nsVoidArrayEnumFunc)(void* aElement, void *aData);
/// A basic zero-based array of void*'s that manages its own memory
class NS_BASE nsVoidArray {
public:
nsVoidArray();
nsVoidArray(PRInt32 aCount); // initial count of aCount elements set to nsnull
~nsVoidArray();
nsVoidArray& operator=(const nsVoidArray& other);
void SizeOf(nsISizeOfHandler* aHandler) const;
PRInt32 Count() const {
return mCount;
}
void* ElementAt(PRInt32 aIndex) const;
void* operator[](PRInt32 aIndex) const { return ElementAt(aIndex); }
PRInt32 IndexOf(void* aPossibleElement) const;
PRBool InsertElementAt(void* aElement, PRInt32 aIndex);
PRBool ReplaceElementAt(void* aElement, PRInt32 aIndex);
PRBool AppendElement(void* aElement) {
return InsertElementAt(aElement, mCount);
}
PRBool RemoveElement(void* aElement);
PRBool RemoveElementAt(PRInt32 aIndex);
void Clear();
void Compact();
PRBool EnumerateForwards(nsVoidArrayEnumFunc aFunc, void* aData);
PRBool EnumerateBackwards(nsVoidArrayEnumFunc aFunc, void* aData);
protected:
void** mArray;
PRInt32 mArraySize;
PRInt32 mCount;
private:
/// Copy constructors are not allowed
nsVoidArray(const nsVoidArray& other);
};
#endif /* nsVoidArray_h___ */

View File

@@ -1,127 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nscore_h___
#define nscore_h___
#ifdef _WIN32
#define NS_WIN32 1
#endif
#if defined(__unix)
#define NS_UNIX 1
#endif
#include "prtypes.h"
#include "nsDebug.h"
/** ucs2 datatype for 2 byte unicode characters */
typedef PRUint16 PRUcs2;
/** ucs4 datatype for 4 byte unicode characters */
typedef PRUint32 PRUcs4;
#ifdef NS_UCS4
typedef PRUcs4 PRUnichar;
#else
typedef PRUcs2 PRUnichar;
#endif
/// The preferred symbol for null.
#define nsnull 0
/* Define brackets for protecting C code from C++ */
#ifdef __cplusplus
#define NS_BEGIN_EXTERN_C extern "C" {
#define NS_END_EXTERN_C }
#else
#define NS_BEGIN_EXTERN_C
#define NS_END_EXTERN_C
#endif
/*----------------------------------------------------------------------*/
/* Import/export defines */
#ifdef NS_WIN32
#define NS_IMPORT _declspec(dllimport)
#define NS_IMPORT_(type) type _declspec(dllimport) __stdcall
#define NS_EXPORT _declspec(dllexport)
// XXX NS_EXPORT_ defined in nsCOm.h (xpcom) differs in where the __declspec
// is placed. It needs to be done this way to make the 4.x compiler happy...
#undef NS_EXPORT_
#define NS_EXPORT_(type) type _declspec(dllexport) __stdcall
#else
/* XXX do something useful? */
#define NS_IMPORT
#define NS_IMPORT_(type) type
#define NS_EXPORT
#define NS_EXPORT_(type) type
#endif
#ifdef _IMPL_NS_BASE
#define NS_BASE NS_EXPORT
#else
#define NS_BASE NS_IMPORT
#endif
#ifdef _IMPL_NS_NET
#define NS_NET NS_EXPORT
#else
#define NS_NET NS_IMPORT
#endif
#ifdef _IMPL_NS_DOM
#define NS_DOM NS_EXPORT
#else
#define NS_DOM NS_IMPORT
#endif
#ifdef _IMPL_NS_WIDGET
#define NS_WIDGET NS_EXPORT
#else
#define NS_WIDGET NS_IMPORT
#endif
#ifdef _IMPL_NS_VIEW
#define NS_VIEW NS_EXPORT
#else
#define NS_VIEW NS_IMPORT
#endif
#ifdef _IMPL_NS_GFXNONXP
#define NS_GFXNONXP NS_EXPORT
#define NS_GFXNONXP_(type) NS_EXPORT_(type)
#else
#define NS_GFXNONXP NS_IMPORT
#define NS_GFXNONXP_(type) NS_IMPORT_(type)
#endif
#ifdef _IMPL_NS_GFX
#define NS_GFX NS_EXPORT
#define NS_GFX_(type) NS_EXPORT_(type)
#else
#define NS_GFX NS_IMPORT
#define NS_GFX_(type) NS_IMPORT_(type)
#endif
#ifdef _IMPL_NS_PLUGIN
#define NS_PLUGIN NS_EXPORT
#else
#define NS_PLUGIN NS_IMPORT
#endif
#endif /* nscore_h___ */

View File

@@ -1,43 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH = ../../..
LIBRARY_NAME = gmbaseunix
MODULE=raptor
REQUIRES=xpcom raptor
DEFINES = -D_IMPL_NS_WIDGET
CPPSRCS= \
nsTimer.cpp
CPP_OBJS= \
./$(OBJDIR)/nsTimer.o \
$(NULL)
include $(DEPTH)/config/config.mk
TARGETS = $(LIBRARY)
include $(DEPTH)/config/rules.mk

View File

@@ -1,47 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = gmbaseunix
MODULE=raptor
REQUIRES=xpcom raptor
DEFINES = -D_IMPL_NS_WIDGET
CPPSRCS= \
nsTimer.cpp
CPP_OBJS= \
./$(OBJDIR)/nsTimer.o \
$(NULL)
include $(topsrcdir)/config/config.mk
TARGETS = $(LIBRARY)
include $(topsrcdir)/config/rules.mk

View File

@@ -1,171 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsITimer.h"
#include "nsITimerCallback.h"
#include "nsCRT.h"
#include "prlog.h"
#include <stdio.h>
#include <limits.h>
#include "Xm/Xm.h"
static NS_DEFINE_IID(kITimerIID, NS_ITIMER_IID);
// Hack for now. This is Bad because it creates a dependency between the widget
// library and this library. This needs to be replaced with having code
// to pass an interface which can be queried for the app context.
extern XtAppContext gAppContext;
extern void nsTimerExpired(XtPointer aCallData);
/*
* Implementation of timers using Xt timer facility
*/
class TimerImpl : public nsITimer {
public:
public:
TimerImpl();
virtual ~TimerImpl();
virtual nsresult Init(nsTimerCallbackFunc aFunc,
void *aClosure,
// PRBool aRepeat,
PRUint32 aDelay);
virtual nsresult Init(nsITimerCallback *aCallback,
// PRBool aRepeat,
PRUint32 aDelay);
NS_DECL_ISUPPORTS
virtual void Cancel();
virtual PRUint32 GetDelay() { return mDelay; }
virtual void SetDelay(PRUint32 aDelay) { mDelay=aDelay; };
void FireTimeout();
private:
nsresult Init(PRUint32 aDelay);
PRUint32 mDelay;
nsTimerCallbackFunc mFunc;
void *mClosure;
nsITimerCallback *mCallback;
// PRBool mRepeat;
TimerImpl *mNext;
XtIntervalId mTimerId;
};
void TimerImpl::FireTimeout()
{
if (mFunc != NULL) {
(*mFunc)(this, mClosure);
}
else if (mCallback != NULL) {
mCallback->Notify(this); // Fire the timer
}
// Always repeating here
// if (mRepeat)
// mTimerId = XtAppAddTimeOut(gAppContext, GetDelay(),(XtTimerCallbackProc)nsTimerExpired, this);
}
TimerImpl::TimerImpl()
{
NS_INIT_REFCNT();
mFunc = NULL;
mCallback = NULL;
mNext = NULL;
mTimerId = 0;
mDelay = 0;
}
TimerImpl::~TimerImpl()
{
}
nsresult
TimerImpl::Init(nsTimerCallbackFunc aFunc,
void *aClosure,
// PRBool aRepeat,
PRUint32 aDelay)
{
mFunc = aFunc;
mClosure = aClosure;
// mRepeat = aRepeat;
mTimerId = XtAppAddTimeOut(gAppContext, aDelay,(XtTimerCallbackProc)nsTimerExpired, this);
return Init(aDelay);
}
nsresult
TimerImpl::Init(nsITimerCallback *aCallback,
// PRBool aRepeat,
PRUint32 aDelay)
{
mCallback = aCallback;
// mRepeat = aRepeat;
mTimerId = XtAppAddTimeOut(gAppContext, aDelay, (XtTimerCallbackProc)nsTimerExpired, this);
return Init(aDelay);
}
nsresult
TimerImpl::Init(PRUint32 aDelay)
{
mDelay = aDelay;
NS_ADDREF(this);
return NS_OK;
}
NS_IMPL_ISUPPORTS(TimerImpl, kITimerIID)
void
TimerImpl::Cancel()
{
XtRemoveTimeOut(mTimerId);
}
NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult)
{
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
if (nsnull == aInstancePtrResult) {
return NS_ERROR_NULL_POINTER;
}
TimerImpl *timer = new TimerImpl();
if (nsnull == timer) {
return NS_ERROR_OUT_OF_MEMORY;
}
return timer->QueryInterface(kITimerIID, (void **) aInstancePtrResult);
}
void nsTimerExpired(XtPointer aCallData)
{
TimerImpl* timer = (TimerImpl *)aCallData;
timer->FireTimeout();
}

View File

@@ -1,40 +0,0 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=..\..\..
IGNORE_MANIFEST=1
DEFINES=-D_IMPL_NS_BASE
LIBRARY_NAME=gmbase
MODULE=raptor
REQUIRES=xpcom raptor
CPPSRCS=nsTimer.cpp
CPP_OBJS=.\$(OBJDIR)\nsTimer.obj
LINCS=-I$(XPDIST)\public\xpcom -I$(XPDIST)\public\raptor
LCFLAGS = \
$(LCFLAGS) \
-D_IMPL_NS_BASE \
$(NULL)
include <$(DEPTH)\config\rules.mak>
libs:: $(OBJS)
$(MAKE_INSTALL) $(OBJDIR)\nsTimer.obj ..\$(OBJDIR)

View File

@@ -1,373 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsITimer.h"
#include "nsITimerCallback.h"
#include "nsCRT.h"
#include "prlog.h"
#include <stdio.h>
#include <windows.h>
#include <limits.h>
static NS_DEFINE_IID(kITimerIID, NS_ITIMER_IID);
/*
* Implementation of timers lifted from Windows front-end file timer.cpp
*/
class TimerImpl : public nsITimer {
public:
static TimerImpl *gTimerList;
static UINT gWindowsTimer;
static DWORD gNextFire;
static DWORD gSyncHack;
static void ProcessTimeouts(DWORD aNow);
static void SyncTimeoutPeriod(DWORD aTickCount);
public:
TimerImpl();
virtual ~TimerImpl();
virtual nsresult Init(nsTimerCallbackFunc aFunc,
void *aClosure,
// PRBool aRepeat,
PRUint32 aDelay);
virtual nsresult Init(nsITimerCallback *aCallback,
// PRBool aRepeat,
PRUint32 aDelay);
NS_DECL_ISUPPORTS
virtual void Cancel();
void Fire(DWORD aNow);
virtual PRUint32 GetDelay() { return mDelay; }
virtual void SetDelay(PRUint32 aDelay) {};
private:
nsresult Init(PRUint32 aDelay);
PRUint32 mDelay;
nsTimerCallbackFunc mFunc;
void *mClosure;
nsITimerCallback *mCallback;
DWORD mFireTime;
// PRBool mRepeat;
TimerImpl *mNext;
};
TimerImpl *TimerImpl::gTimerList = NULL;
UINT TimerImpl::gWindowsTimer = 0;
DWORD TimerImpl::gNextFire = (DWORD)-1;
DWORD TimerImpl::gSyncHack = 0;
void CALLBACK FireTimeout(HWND aWindow,
UINT aMessage,
UINT aTimerID,
DWORD aTime)
{
static BOOL bCanEnter = TRUE;
// Don't allow old timer messages in here.
if(aMessage != WM_TIMER) {
PR_ASSERT(0);
return;
}
if(aTimerID != TimerImpl::gWindowsTimer) {
return;
}
// Block only one entry into this function, or else.
if(bCanEnter) {
bCanEnter = FALSE;
// see if we need to fork off any timeout functions
if(TimerImpl::gTimerList) {
TimerImpl::ProcessTimeouts(aTime);
}
bCanEnter = TRUE;
}
}
// Function to correctly have the timer be set.
void
TimerImpl::SyncTimeoutPeriod(DWORD aTickCount)
{
// May want us to set tick count ourselves.
if(aTickCount == 0) {
if(gSyncHack == 0) {
aTickCount = ::GetTickCount();
}
else {
aTickCount = gSyncHack;
}
}
// If there's no list, we should clear the timer.
if(!gTimerList) {
if(gWindowsTimer) {
::KillTimer(NULL, gWindowsTimer);
gWindowsTimer = 0;
gNextFire = (DWORD)-1;
}
}
else {
// See if we need to clear the current timer.
// Curcumstances are that if the timer will not
// fire on time for the next timeout.
BOOL bSetTimer = FALSE;
TimerImpl *pTimeout = gTimerList;
if(gWindowsTimer) {
if(pTimeout->mFireTime != gNextFire) {
::KillTimer(NULL, gWindowsTimer);
gWindowsTimer = 0;
gNextFire = (DWORD)-1;
// Set the timer.
bSetTimer = TRUE;
}
}
else {
// No timer set, attempt.
bSetTimer = TRUE;
}
if(bSetTimer) {
DWORD dwFireWhen = pTimeout->mFireTime > aTickCount ?
pTimeout->mFireTime - aTickCount : 0;
if(dwFireWhen > UINT_MAX) {
dwFireWhen = UINT_MAX;
}
UINT uFireWhen = (UINT)dwFireWhen;
PR_ASSERT(gWindowsTimer == 0);
gWindowsTimer = ::SetTimer(NULL, 0, uFireWhen, (TIMERPROC)FireTimeout);
if(gWindowsTimer) {
// Set the fire time.
gNextFire = pTimeout->mFireTime;
}
}
}
}
// Walk down the timeout list and launch anyone appropriate
void
TimerImpl::ProcessTimeouts(DWORD aNow)
{
TimerImpl *p = gTimerList;
if(aNow == 0) {
aNow = ::GetTickCount();
}
BOOL bCalledSync = FALSE;
// Set the hack, such that when FE_ClearTimeout
// calls SyncTimeoutPeriod, that GetTickCount()
// overhead is not incurred.
gSyncHack = aNow;
// loop over all entries
while(p) {
// send it
if(p->mFireTime < aNow) {
// Make sure that the timer cannot be deleted during the
// Fire(...) call which may release *all* other references
// to p...
NS_ADDREF(p);
p->Fire(aNow);
// Clear the timer.
// Period synced.
p->Cancel();
bCalledSync = TRUE;
NS_RELEASE(p);
// Reset the loop (can't look at p->pNext now, and called
// code may have added/cleared timers).
// (could do this by going recursive and returning).
p = gTimerList;
} else {
// Make sure we fire an timer.
// Also, we need to check to see if things are backing up (they
// may be asking to be fired long before we ever get to them,
// and we don't want to pass in negative values to the real
// timer code, or it takes days to fire....
if(bCalledSync == FALSE) {
SyncTimeoutPeriod(aNow);
bCalledSync = TRUE;
}
// Get next timer.
p = p->mNext;
}
}
gSyncHack = 0;
}
TimerImpl::TimerImpl()
{
NS_INIT_REFCNT();
mFunc = NULL;
mCallback = NULL;
mNext = NULL;
mClosure = nsnull;
}
TimerImpl::~TimerImpl()
{
Cancel();
NS_IF_RELEASE(mCallback);
}
nsresult
TimerImpl::Init(nsTimerCallbackFunc aFunc,
void *aClosure,
// PRBool aRepeat,
PRUint32 aDelay)
{
mFunc = aFunc;
mClosure = aClosure;
// mRepeat = aRepeat;
return Init(aDelay);
}
nsresult
TimerImpl::Init(nsITimerCallback *aCallback,
// PRBool aRepeat,
PRUint32 aDelay)
{
mCallback = aCallback;
NS_ADDREF(mCallback);
// mRepeat = aRepeat;
return Init(aDelay);
}
nsresult
TimerImpl::Init(PRUint32 aDelay)
{
DWORD dwNow = ::GetTickCount();
mDelay = aDelay;
mFireTime = (DWORD) aDelay + dwNow;
mNext = NULL;
// add it to the list
if(!gTimerList) {
// no list add it
gTimerList = this;
}
else {
// is it before everything else on the list?
if(mFireTime < gTimerList->mFireTime) {
mNext = gTimerList;
gTimerList = this;
} else {
TimerImpl * pPrev = gTimerList;
TimerImpl * pCurrent = gTimerList;
while(pCurrent && (pCurrent->mFireTime <= mFireTime)) {
pPrev = pCurrent;
pCurrent = pCurrent->mNext;
}
PR_ASSERT(pPrev);
// insert it after pPrev (this could be at the end of the list)
mNext = pPrev->mNext;
pPrev->mNext = this;
}
}
NS_ADDREF(this);
// Sync the timer fire period.
SyncTimeoutPeriod(dwNow);
return NS_OK;
}
NS_IMPL_ISUPPORTS(TimerImpl, kITimerIID)
void
TimerImpl::Fire(DWORD aNow)
{
if (mFunc != NULL) {
(*mFunc)(this, mClosure);
}
else if (mCallback != NULL) {
mCallback->Notify(this);
}
}
void
TimerImpl::Cancel()
{
TimerImpl *me = this;
if(gTimerList == this) {
// first element in the list lossage
gTimerList = mNext;
} else {
// walk until no next pointer
for(TimerImpl * p = gTimerList; p && p->mNext && (p->mNext != this); p = p->mNext)
;
// if we found something valid pull it out of the list
if(p && p->mNext && p->mNext == this) {
p->mNext = mNext;
} else {
// get out before we delete something that looks bogus
return;
}
}
// if we got here it must have been a valid element so trash it
NS_RELEASE(me);
// If there's now no be sure to clear the timer.
SyncTimeoutPeriod(0);
}
NS_BASE nsresult NS_NewTimer(nsITimer** aInstancePtrResult)
{
NS_PRECONDITION(nsnull != aInstancePtrResult, "null ptr");
if (nsnull == aInstancePtrResult) {
return NS_ERROR_NULL_POINTER;
}
TimerImpl *timer = new TimerImpl();
if (nsnull == timer) {
return NS_ERROR_OUT_OF_MEMORY;
}
return timer->QueryInterface(kITimerIID, (void **) aInstancePtrResult);
}

View File

@@ -1,105 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include <stdio.h>
#include "nsIUnicharInputStream.h"
#include "nsIURL.h"
#include "nsCRT.h"
#include "nsString.h"
#include "prprf.h"
#include "prtime.h"
static nsCharSetID ConvertCharacterSetName(const char* aName)
{
if (nsCRT::strcasecmp(aName, "iso-latin-1") == 0) {
return eCharSetID_IsoLatin1;
}
return (nsCharSetID) -1;
}
int main(int argc, char** argv)
{
if (3 != argc) {
printf("usage: CvtURL url character-set-name\n");
return -1;
}
char* characterSetName = argv[2];
nsCharSetID cset = ConvertCharacterSetName(characterSetName);
if (PRInt32(cset) < 0) {
printf("illegal character set name: '%s'\n", characterSetName);
return -1;
}
// Create url object
char* urlName = argv[1];
nsIURL* url;
nsresult rv = NS_NewURL(&url, urlName);
if (NS_OK != rv) {
printf("invalid URL: '%s'\n", urlName);
return -1;
}
// Get an input stream from the url
PRInt32 ec;
nsIInputStream* in = url->Open(&ec);
if (nsnull == in) {
printf("open of url('%s') failed: error=%x\n", urlName, ec);
return -1;
}
// Translate the input using the argument character set id into unicode
nsIUnicharInputStream* uin;
rv = NS_NewConverterStream(&uin, nsnull, in, 0, cset);
if (NS_OK != rv) {
printf("can't create converter input stream: %d\n", rv);
return -1;
}
// Read the input and write some output
PRTime start = PR_Now();
PRInt32 count = 0;
for (;;) {
PRUnichar buf[1000];
PRInt32 nb;
ec = uin->Read(buf, 0, 1000, &nb);
if (ec < 0) {
if (ec != NS_BASE_STREAM_EOF) {
printf("i/o error: %d\n", ec);
}
break;
}
count += nb;
}
PRTime end = PR_Now();
PRTime conversion, ustoms;
LL_I2L(ustoms, 1000);
LL_SUB(conversion, end, start);
LL_DIV(conversion, conversion, ustoms);
char buf[500];
PR_snprintf(buf, sizeof(buf),
"converting and discarding %d bytes took %lldms",
count, conversion);
puts(buf);
// Release the objects
in->Release();
uin->Release();
url->Release();
return 0;
}

View File

@@ -1,62 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=../..
REQUIRES=xpcom netlib
include $(DEPTH)/config/config.mk
CPPSRCS = \
TestAtoms.cpp \
TestCRT.cpp \
$(NULL)
INCLUDES+=-I../src
OBJS = $(CPPSRCS:.cpp=.o)
EX_LIBS = \
$(DIST)/lib/libraptorbase.a \
$(DIST)/lib/libxpcom.a \
$(DIST)/lib/libplc21.a \
$(DIST)/lib/libplds21.a \
$(DIST)/lib/libnspr21.a \
$(NULL)
PROGS = $(addprefix $(OBJDIR)/, $(CPPSRCS:.cpp=))
TARGETS = $(PROGS)
include $(DEPTH)/config/rules.mk
# needed for mac linux
ifeq (linux,$(ARCH))
OS_LIBS += /usr/lib/libdl.so
endif
$(OBJDIR)/%.o: %.cpp
@$(MAKE_OBJDIR)
$(CCC) -o $@ $(CFLAGS) -c $*.cpp
$(PROGS):$(OBJDIR)/%: $(OBJDIR)/%.o $(EX_LIBS)
@$(MAKE_OBJDIR)
$(CCC) -o $@ $@.o $(LDFLAGS) $(EX_LIBS) $(OS_LIBS)
install:: $(TARGETS)
$(INSTALL) $(PROGS) $(DIST)/bin

View File

@@ -1,67 +0,0 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=../..
topsrcdir = @top_srcdir@
VPATH = @srcdir@
srcdir = @srcdir@
include $(DEPTH)/config/autoconf.mk
REQUIRES=xpcom netlib
include $(topsrcdir)/config/config.mk
CPPSRCS = \
TestAtoms.cpp \
TestCRT.cpp \
$(NULL)
INCLUDES+=-I$(srcdir)/../src
OBJS = $(CPPSRCS:.cpp=.o)
EX_LIBS = \
$(DIST)/lib/libraptorbase.a \
$(DIST)/lib/libxpcom.a \
$(DIST)/lib/libplc21.a \
$(DIST)/lib/libplds21.a \
$(DIST)/lib/libnspr21.a \
$(NULL)
PROGS = $(addprefix $(OBJDIR)/, $(CPPSRCS:.cpp=))
TARGETS = $(PROGS)
include $(topsrcdir)/config/rules.mk
# needed for mac linux
ifeq (linux,$(ARCH))
OS_LIBS += /usr/lib/libdl.so
endif
$(OBJDIR)/%.o: %.cpp
@$(MAKE_OBJDIR)
$(CCC) -o $@ $(CFLAGS) -c $<
$(PROGS):$(OBJDIR)/%: $(OBJDIR)/%.o $(EX_LIBS)
@$(MAKE_OBJDIR)
$(CCC) -o $@ $@.o $(LDFLAGS) $(EX_LIBS) $(OS_LIBS)
install:: $(TARGETS)
$(INSTALL) $(PROGS) $(DIST)/bin

View File

@@ -1,108 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsIAtom.h"
#include "nsString.h"
#include "prprf.h"
#include "prtime.h"
#include <stdio.h>
extern "C" int _CrtSetDbgFlag(int);
int main(int argc, char** argv)
{
FILE* fp = fopen("words.txt", "r");
if (nsnull == fp) {
printf("can't open words.txt\n");
return -1;
}
PRInt32 count = 0;
PRUnichar** strings = new PRUnichar*[60000];
nsIAtom** ids = new nsIAtom*[60000];
nsAutoString s1, s2;
PRTime start = PR_Now();
for (PRInt32 i = 0; i < 60000; i++) {
char buf[1000];
char* s = fgets(buf, sizeof(buf), fp);
if (nsnull == s) {
break;
}
nsAutoString sb(buf);
strings[count++] = sb.ToNewUnicode();
sb.ToUpperCase();
strings[count++] = sb.ToNewUnicode();
}
PRTime end0 = PR_Now();
// Find and create idents
for (i = 0; i < count; i++) {
ids[i] = NS_NewAtom(strings[i]);
}
PRUnichar qqs[1]; qqs[0] = 0;
nsIAtom* qq = NS_NewAtom(qqs);
PRTime end1 = PR_Now();
// Now make sure we can find all the idents we just made
for (i = 0; i < count; i++) {
nsIAtom* id = NS_NewAtom(ids[i]->GetUnicode());
if (id != ids[i]) {
id->ToString(s1);
ids[i]->ToString(s2);
printf("find failed: id='%s' ids[%d]='%s'\n",
s1.ToNewCString(), i, s2.ToNewCString());
return -1;
}
NS_RELEASE(id);
}
PRTime end2 = PR_Now();
// Destroy all the atoms we just made
NS_RELEASE(qq);
for (i = 0; i < count; i++) {
NS_RELEASE(ids[i]);
}
// Print out timings
PRTime end3 = PR_Now();
PRTime creates, finds, lookups, dtor, ustoms;
LL_I2L(ustoms, 1000);
LL_SUB(creates, end0, start);
LL_DIV(creates, creates, ustoms);
LL_SUB(finds, end1, end0);
LL_DIV(finds, finds, ustoms);
LL_SUB(lookups, end2, end1);
LL_DIV(lookups, lookups, ustoms);
LL_SUB(dtor, end3, end2);
char buf[500];
PR_snprintf(buf, sizeof(buf), "making %d ident strings took %lldms",
count, creates);
puts(buf);
PR_snprintf(buf, sizeof(buf), "%d new idents took %lldms",
count, finds);
puts(buf);
PR_snprintf(buf, sizeof(buf), "%d ident lookups took %lldms",
count, lookups);
puts(buf);
PR_snprintf(buf, sizeof(buf), "dtor took %lldusec", dtor);
puts(buf);
printf("%d live atoms\n", NS_GetNumberOfAtoms());
NS_POSTCONDITION(0 == NS_GetNumberOfAtoms(), "dangling atoms");
return 0;
}

View File

@@ -1,89 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsCRT.h"
#include "nsString.h"
#include "plstr.h"
#include <stdlib.h>
// Verify that nsCRT versions of string comparison routines get the
// same answers as the native non-unicode versions. We only pass in
// iso-latin-1 strings, so the comparision must be valid.
static void Check(const char* s1, const char* s2, PRIntn n)
{
PRIntn clib = PL_strcmp(s1, s2);
PRIntn clib_n = PL_strncmp(s1, s2, n);
PRIntn clib_case = PL_strcasecmp(s1, s2);
PRIntn clib_case_n = PL_strncasecmp(s1, s2, n);
nsAutoString t1(s1), t2(s2);
const PRUnichar* us1 = t1.GetUnicode();
const PRUnichar* us2 = t2.GetUnicode();
PRIntn u = nsCRT::strcmp(us1, s2);
PRIntn u_n = nsCRT::strncmp(us1, s2, n);
PRIntn u_case = nsCRT::strcasecmp(us1, s2);
PRIntn u_case_n = nsCRT::strncasecmp(us1, s2, n);
PRIntn u2 = nsCRT::strcmp(us1, us2);
PRIntn u2_n = nsCRT::strncmp(us1, us2, n);
PRIntn u2_case = nsCRT::strcasecmp(us1, us2);
PRIntn u2_case_n = nsCRT::strncasecmp(us1, us2, n);
NS_ASSERTION(clib == u, "strcmp");
NS_ASSERTION(clib_n == u_n, "strncmp");
NS_ASSERTION(clib_case == u_case, "strcasecmp");
NS_ASSERTION(clib_case_n == u_case_n, "strncasecmp");
NS_ASSERTION(clib == u2, "strcmp");
NS_ASSERTION(clib_n == u2_n, "strncmp");
NS_ASSERTION(clib_case == u2_case, "strcasecmp");
NS_ASSERTION(clib_case_n == u2_case_n, "strncasecmp");
}
struct Test {
const char* s1;
const char* s2;
PRIntn n;
};
static Test tests[] = {
{ "foo", "foo", 3 },
{ "foo", "fo", 3 },
{ "foo", "bar", 3 },
{ "foo", "ba", 3 },
{ "foo", "zap", 3 },
{ "foo", "za", 3 },
{ "bar", "foo", 3 },
{ "bar", "fo", 3 },
{ "bar", "foo", 3 },
{ "bar", "fo", 3 },
};
#define NUM_TESTS (sizeof(tests) / sizeof(tests[0]))
void main()
{
Test* tp = tests;
for (PRIntn i = 0; i < NUM_TESTS; i++, tp++) {
Check(tp->s1, tp->s2, tp->n);
}
}

View File

@@ -1,202 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "prtypes.h"
#include "nsVoidArray.h"
#include "nsITimer.h"
#include "nsITimerCallback.h"
#include <stdio.h>
#include <stdlib.h>
#include "resources.h"
#include <windows.h>
static char* class1Name = "TimerTest";
static HINSTANCE gInstance, gPrevInstance;
static nsVoidArray *gTimeouts = NULL;
static void CreateRepeat(PRUint32 aDelay);
void
MyCallback (nsITimer *aTimer, void *aClosure)
{
printf("Timer executed with delay %d\n", (int)aClosure);
if (gTimeouts->RemoveElement(aTimer) == PR_TRUE) {
NS_RELEASE(aTimer);
}
}
void
MyRepeatCallback (nsITimer *aTimer, void *aClosure)
{
printf("Timer executed with delay %d\n", (int)aClosure);
if (gTimeouts->RemoveElement(aTimer) == PR_TRUE) {
NS_RELEASE(aTimer);
}
CreateRepeat((PRUint32)aClosure);
}
static void
CreateOneShot(PRUint32 aDelay)
{
nsITimer *timer;
NS_NewTimer(&timer);
timer->Init(MyCallback, (void *)aDelay, aDelay);
gTimeouts->AppendElement(timer);
}
static void
CreateRepeat(PRUint32 aDelay)
{
nsITimer *timer;
NS_NewTimer(&timer);
timer->Init(MyRepeatCallback, (void *)aDelay, aDelay);
gTimeouts->AppendElement(timer);
}
static void
CancelAll()
{
int i, count = gTimeouts->Count();
for (i=0; i < count; i++) {
nsITimer *timer = (nsITimer *)gTimeouts->ElementAt(i);
if (timer != NULL) {
timer->Cancel();
NS_RELEASE(timer);
}
}
gTimeouts->Clear();
}
long PASCAL
WndProc(HWND hWnd, UINT msg, WPARAM param, LPARAM lparam)
{
HMENU hMenu;
switch (msg) {
case WM_COMMAND:
hMenu = GetMenu(hWnd);
switch (LOWORD(param)) {
case TIMER_EXIT:
::DestroyWindow(hWnd);
exit(0);
case TIMER_1SECOND:
CreateOneShot(1000);
break;
case TIMER_5SECOND:
CreateOneShot(5000);
break;
case TIMER_10SECOND:
CreateOneShot(10000);
break;
case TIMER_1REPEAT:
CreateRepeat(1000);
break;
case TIMER_5REPEAT:
CreateRepeat(5000);
break;
case TIMER_10REPEAT:
CreateRepeat(10000);
break;
case TIMER_CANCEL:
CancelAll();
break;
default:
break;
}
default:
break;
}
return DefWindowProc(hWnd, msg, param, lparam);
}
static HWND CreateTopLevel(const char* clazz, const char* title,
int aWidth, int aHeight)
{
// Create a simple top level window
HWND window = ::CreateWindowEx(WS_EX_CLIENTEDGE,
clazz, title,
WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT,
aWidth, aHeight,
HWND_DESKTOP,
NULL,
gInstance,
NULL);
::ShowWindow(window, SW_SHOW);
::UpdateWindow(window);
return window;
}
int PASCAL
WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdParam, int nCmdShow)
{
gInstance = instance;
if (!prevInstance) {
WNDCLASS wndClass;
wndClass.style = 0;
wndClass.lpfnWndProc = WndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = gInstance;
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);
wndClass.lpszMenuName = class1Name;
wndClass.lpszClassName = class1Name;
RegisterClass(&wndClass);
}
// Create our first top level window
HWND window = CreateTopLevel(class1Name, "Raptor HTML Viewer", 620, 400);
gTimeouts = new nsVoidArray();
// Process messages
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
void main(int argc, char **argv)
{
WinMain(GetModuleHandle(NULL), NULL, 0, SW_SHOW);
}

View File

@@ -1,90 +0,0 @@
#!nmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
DEPTH=..\..
MAKE_OBJ_TYPE = EXE
PROG0 = .\$(OBJDIR)\TimerTest.exe
PROG1 = .\$(OBJDIR)\TestAtoms.exe
PROG2 = .\$(OBJDIR)\CvtURL.exe
PROG3 = .\$(OBJDIR)\TestCRT.exe
RESFILE = timer.res
PROGRAMS = $(PROG0) $(PROG1) \
!ifdef MODULAR_NETLIB
$(PROG2) \
$(PROG3) \
!endif
$(NULL)
LINCS=-I..\src -I$(PUBLIC)\xpcom -I$(PUBLIC)\netlib
LLIBS= \
$(DIST)\lib\xpcom32.lib \
$(DIST)\lib\raptorbase.lib \
!ifdef MODULAR_NETLIB
$(DIST)\lib\netlib.lib \
!endif
$(LIBNSPR) \
$(DIST)\lib\libplc21.lib \
!if "$(MOZ_BITS)"=="32" && defined(MOZ_DEBUG) && defined(GLOWCODE)
$(GLOWDIR)\glowcode.lib \
!endif
$(RESFILE)
include <$(DEPTH)\config\rules.mak>
install:: $(PROGRAMS)
$(MAKE_INSTALL) $(PROG0) $(DIST)\bin
$(MAKE_INSTALL) $(PROG1) $(DIST)\bin
!ifdef MODULAR_NETLIB
$(MAKE_INSTALL) $(PROG2) $(DIST)\bin
$(MAKE_INSTALL) $(PROG3) $(DIST)\bin
!endif
clobber::
rm -f $(DIST)\bin\TimerTest.exe
rm -f $(DIST)\bin\TestAtoms.exe
!ifdef MODULAR_NETLIB
rm -f $(DIST)\bin\CvtURL.exe
rm -f $(DIST)\bin\TestCRT.exe
!endif
# Move this into config/obj.inc when it's allowed
.cpp{.\$(OBJDIR)\}.exe:
$(CC) @<<$(CFGFILE)
$(CFLAGS)
$(LCFLAGS)
$(LINCS)
$(LINCS_1)
$(INCS)
$(LLIBS)
$(OS_LIBS)
-Fd$(PBDFILE)
-Fe.\$(OBJDIR)\
-Fo.\$(OBJDIR)\
$(CURDIR)$(*B).cpp
<<KEEP
$(PROG0): $(OBJDIR) TimerTest.cpp $(RESFILE)
$(PROG1): $(OBJDIR) TestAtoms.cpp
!ifdef MODULAR_NETLIB
$(PROG2): $(OBJDIR) CvtURL.cpp
$(PROG3): $(OBJDIR) TestCRT.cpp
!endif

View File

@@ -1,32 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef resources_h___
#define resources_h___
#define TIMER_1SECOND 40000
#define TIMER_5SECOND 40001
#define TIMER_10SECOND 40002
#define TIMER_1REPEAT 40003
#define TIMER_5REPEAT 40004
#define TIMER_10REPEAT 40005
#define TIMER_CANCEL 40006
#define TIMER_EXIT 40010
#endif /* resources_h___ */

View File

@@ -1,38 +0,0 @@
/*
* 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 "resources.h"
TIMERTEST MENU DISCARDABLE
{
POPUP "Debug"
{
POPUP "One Shot"
{
MENUITEM "1 second", TIMER_1SECOND
MENUITEM "5 second", TIMER_5SECOND
MENUITEM "10 second", TIMER_10SECOND
}
POPUP "Repeated"
{
MENUITEM "1 second", TIMER_1REPEAT
MENUITEM "5 second", TIMER_5REPEAT
MENUITEM "10 second", TIMER_10REPEAT
}
MENUITEM "Cancel All", TIMER_CANCEL
MENUITEM "Exit", TIMER_EXIT
}
}

View File

@@ -1,696 +0,0 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit system type (host/target name).
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
#
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:*:*)
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-cbm-sysv4
exit 0;;
amiga:NetBSD:*:*)
echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-cbm-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit 0 ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
atari*:NetBSD:*:*)
echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-atari-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-sun-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-apple-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy \
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i?86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >dummy.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:4)
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=4.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[3478]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
9000/8?? ) HP_ARCH=hppa1.0 ;;
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i?86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*X-MP:*:*:*)
echo xmp-cray-unicos
exit 0 ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;;
hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;;
hp3[0-9][05]:OpenBSD:*:*)
echo m68k-hp-openbsd${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo i386-pc-cygwin32
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
echo "${UNAME_MACHINE}-pc-linux" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
echo "${UNAME_MACHINE}-pc-linuxaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
echo "${UNAME_MACHINE}-pc-linuxcoff" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
echo "powerpc-unknown-linux" ; exit 0
elif test "${UNAME_MACHINE}" = "alpha" ; then
echo alpha-unknown-linux ; exit 0
elif test "${UNAME_MACHINE}" = "sparc" ; then
echo sparc-unknown-linux ; exit 0
else
# Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
# useful --help. Gcc wants to distinguish between linuxoldld and linuxaout.
test ! -d /usr/lib/ldscripts/. \
&& echo "${UNAME_MACHINE}-pc-linuxoldld" && exit 0
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __ELF__
printf ("%s-pc-linux\n", argv[1]);
#else
printf ("%s-pc-linuxaout\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
cat >dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
#if !defined (ultrix)
printf ("vax-dec-bsd\n"); exit (0);
#else
printf ("vax-dec-ultrix\n"); exit (0);
#endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
#echo '(Unable to guess system type)' 1>&2
exit 1

View File

@@ -1,936 +0,0 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
if [ x$1 = x ]
then
echo Configuration name missing. 1>&2
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
echo "or $0 ALIAS" 1>&2
echo where ALIAS is a recognized configuration type. 1>&2
exit 1
fi
# First pass through any local machine types.
case $1 in
*local*)
echo $1
exit 0
;;
*)
;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
linux-gnu*)
os=`echo $maybe_os | sed -e 's|linux-gnu|linux|'`
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple)
os=
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arm \
| arme[lb] | pyramid | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | we32k | ns16k | clipper | i370 | sh \
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
| pdp11 | mips64el | mips64orion | mips64orionel \
| sparc | sparclet | sparclite | sparc64)
basic_machine=$basic_machine-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i[3456]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-cbm
;;
amigados)
basic_machine=m68k-cbm
os=-amigados
;;
amigaunix | amix)
basic_machine=m68k-cbm
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | ymp)
basic_machine=ymp-cray
os=-unicos
;;
cray2)
basic_machine=cray2-cray
os=-unicos
;;
[ctj]90-cray)
basic_machine=c90-cray
os=-unicos
;;
crds | unos)
basic_machine=m68k-crds
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[3456]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i[3456]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i[3456]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i[3456]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
miniframe)
basic_machine=m68000-convergent
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux
;;
mips*-linux*)
basic_machine=mips-unknown
os=-linux
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
np1)
basic_machine=np1-gould
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5)
basic_machine=i586-intel
;;
pentiumpro | p6)
basic_machine=i686-intel
;;
pentium-* | p5-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
k5)
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
basic_machine=i586-amd
;;
nexen)
# We don't have specific support for Nexgen yet, so just call it a Pentium
basic_machine=i586-nexgen
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=rs6000-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
xmp)
basic_machine=xmp-cray
os=-unicos
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
if [ x$os = x-linux ]; then
basic_machine=mips-unknown
else
basic_machine=mips-mips
fi
;;
romp)
basic_machine=romp-ibm
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sparc)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-unixware* | svr4*)
os=-sysv4
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -linux* | -uxpv*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-ctix* | -uts*)
os=-sysv
;;
-ns2 )
os=-nextstep2
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-xenix)
os=-xenix
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
*-acorn)
os=-riscix1.2
;;
arm*-semi)
os=-aout
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-ibm)
os=-aix
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigados
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f301-fujitsu)
os=-uxpv
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-aix*)
vendor=ibm
;;
-hpux*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-vxsim* | -vxworks*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os

View File

@@ -1,119 +0,0 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5; it is not part of GNU.
#
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
instcmd="$mvprog"
chmodcmd=""
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
fi
# Make a temp file name in the proper directory.
dstdir=`dirname $dst`
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp
# and set any options; do chmod last to preserve setuid bits
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
# Now rename the file to the real destination.
$doit $rmcmd $dst
$doit $mvcmd $dsttmp $dst
exit 0

View File

@@ -1 +0,0 @@
5009821211

View File

@@ -1,25 +0,0 @@
#!/bin/sh
#
# 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.
#
DATATYPE="$1"
INFILE="$2"
echo "${DATATYPE} RCDATA"
sed 's/"/""/g' ${INFILE} | awk 'BEGIN { printf("BEGIN\n") } { printf("\"%s\\r\\n\",\n", $0) } END { printf("\"\\0\"\nEND\n") }'
exit 0

View File

@@ -1,45 +0,0 @@
#!/bin/sh
#
# 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.
#
#
# Fix brain-damaged compilers that don't understand -o and -c together
#
DASH_C=0
DASH_O=0
for i in $*
do
case $i in
-c) DASH_C=1;;
-o) DASH_O=1;;
*.c) C_SRC=$i;;
*.s) S_SRC=$i;;
*.o) OBJECT=$i;;
esac
done
cc $* || exit $?
# if there was no -c and -o we're done
[ $DASH_C = 1 -a $DASH_O = 1 ] || exit 0
# cc always creates the .o from the .c name
[ $C_SRC ] && OBJ=`basename $C_SRC .c`.o
# or the .o from the .s name
[ $S_SRC ] && OBJ=`basename $S_SRC .s`.o
[ -f $OBJECT ] || [ -f $OBJ ] && mv -f $OBJ $OBJECT

View File

@@ -1,86 +0,0 @@
#!/bin/sh
#
# 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.
#
#
# Wrapper for brain-damaged compilers that don't understand -o and -c together.
#
DUMMY="XxxXxxX"
DASH_C=0
DASH_O=0
GET_OBJECT=0
C_SRC="${DUMMY}"
CC_SRC="${DUMMY}"
CPP_SRC="${DUMMY}"
S_SRC="${DUMMY}"
OBJECT="${DUMMY}"
for i in $*
do
if [ ${GET_OBJECT} -eq 1 ]; then
OBJECT="$i"
GET_OBJECT=0
fi
case $i in
-c)
DASH_C=1
;;
-o)
DASH_O=1
GET_OBJECT=1
;;
*.c)
C_SRC="$i"
;;
+.*)
;;
*.cpp)
CPP_SRC="$i"
;;
*.cc)
CC_SRC="$i"
;;
*.s)
S_SRC="$i"
;;
esac
done
CC $* || exit $?
# LAME!!!
if [ -f -O ]; then
mv -f -- -O ${OBJECT}
fi
# if there was no -c and -o we're done
[ ${DASH_C} -eq 1 -a ${DASH_O} -eq 1 ] || exit 0
# cc always creates the .o from the .c name
if [ "${C_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${C_SRC} .c`.o
elif [ "${CPP_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${CPP_SRC} .cpp`.o
elif [ "${CC_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${CC_SRC} .cc`.o
# or the .o from the .s name
elif [ "${S_SRC}" != "${DUMMY}" ]; then
OBJ=`basename ${S_SRC} .s`.o
fi
[ -f ${OBJECT} ] || [ -f ${OBJ} ] && mv -f ${OBJ} ${OBJECT}

View File

@@ -1,345 +0,0 @@
#!perl
package BuildList;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildMozilla DistMozilla);
=head1 NAME
BuildList - build the [ordered] set of projects needed to construct Mozilla
=head1 SYNOPSIS
...
=head1 COPYRIGHT
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.
=cut
use Moz;
use File::Path;
sub BuildMozilla()
{
if ( $main::DEBUG )
{
$D = "Debug";
$dist_dir = ":mozilla:dist:client_debug:";
}
else
{
$D = "";
$dist_dir = ":mozilla:dist:client:";
}
#
# Build the appropriate target of each project
#
BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
BuildProjectClean(":mozilla:cmd:macfe:projects:client:NavigatorStubs.mcp", "Stubs");
BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "NSRuntime$D.shlb");
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
BuildProject(":mozilla:cmd:macfe:restext:StringLib.mcp", "Strings$D.shlb");
MakeAlias(":mozilla:cmd:macfe:restext:Strings$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
BuildProject(":mozilla:dbm:macbuild:DBMPPC.mcp", "DBM$D.shlb");
MakeAlias(":mozilla:dbm:macbuild:DBM$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.shlb");
MakeAlias(":mozilla:xpcom:macbuild:xpcom$D.shlb", "$dist_dir");
BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp", "PowerPlant$D.shlb");
MakeAlias(":mozilla:lib:mac:PowerPlant:PowerPlant$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:progress:macbuild:ProgressPPC.mcp", "Progress$D.shlb");
MakeAlias(":mozilla:modules:progress:macbuild:Progress$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
BuildProject(":mozilla:sun-java:stubs:macbuild:JavaStubs.mcp", "JavaRuntime$D.shlb");
MakeAlias(":mozilla:sun-java:stubs:macbuild:JavaRuntime$D.shlb", "$dist_dir");
BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPC.mcp", "JSJ$D.o");
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScript$D.shlb");
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
BuildProject(":mozilla:js:macbuild:LiveConnect.mcp", "LiveConnect$D.shlb");
MakeAlias(":mozilla:js:macbuild:LiveConnect$D.shlb", "$dist_dir");
BuildProject(":mozilla:nav-java:stubs:macbuild:NavJavaStubs.mcp", "NavJava$D.shlb");
MakeAlias(":mozilla:nav-java:stubs:macbuild:NavJava$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "RDF$D.shlb");
MakeAlias(":mozilla:modules:rdf:macbuild:RDF$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:xml:macbuild:XML.mcp", "XML$D.shlb");
MakeAlias(":mozilla:modules:xml:macbuild:XML$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:schedulr:macbuild:Schedulr.mcp", "Scheduler$D.shlb");
MakeAlias(":mozilla:modules:schedulr:macbuild:Scheduler$D.shlb", "$dist_dir");
BuildProject(":mozilla:build:mac:CustomLib:CustomLib.mcp", "CustomLib$D.shlb");
MakeAlias(":mozilla:build:mac:CustomLib:CustomLib$D.shlb", "$dist_dir");
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
BuildProject(":mozilla:modules:libfont:macbuild:FontBroker.mcp", "FontBroker$D.o");
BuildProject(":mozilla:modules:oji:macbuild:oji.mcp", "oji$D.o");
BuildProject(":mozilla:lib:libmocha:macbuild:LibMocha.mcp", "LibMocha$D.o");
if ( $main::MOZ_DARK == 1 )
{
BuildProject(":mozilla:network:macbuild:network.mcp", "Network$D.o (mailnews)");
}
else
{
BuildProject(":mozilla:network:macbuild:network.mcp", "Network$D.o");
}
BuildProject(":mozilla:caps:macbuild:Caps.mcp", "Caps$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o");
BuildProject(":mozilla:build:mac:CustomLib:CustomLib.mcp", "CustomStaticLib$D.o");
if ( $main::MOZ_LITE == 1 )
{
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "MailNews$D.o");
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "Composer$D.o");
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Nav_Resources");
}
else
{
if ( $main::MOZ_MEDIUM == 1 )
{
BuildProject(":mozilla:cmd:macfe:projects:dummies:MakeDummies.mcp", "MailNews$D.o");
BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "Composer$D.o");
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Moz_Resources");
}
else
{
if ( $main::MOZ_DARK == 1 )
{
BuildProject(":ns:lib:libneo:mac:macbuild:NeoLib.mcp", "NeoLib$D.o");
MakeAlias( ":ns:lib:libneo:mac:macbuild:NeoLib$D.o", "$dist_dir");
BuildProject(":mozilla:lib:libmsg:macbuild:MsgLib.mcp", "MsgLib$D.o (secure)");
MakeAlias( ":mozilla:lib:libmsg:macbuild:MsgLib$D.o", "$dist_dir");
BuildProject(":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient.mcp","LDAPClient$D.o");
MakeAlias( ":mozilla:directory:c-sdk:ldap:libraries:macintosh:LDAPClient$D.o", "$dist_dir");
BuildProject(":mozilla:cmd:macfe:MailNews:build:MailNews.mcp", "MailNews$D.o");
BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "Composer$D.o");
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "MozDark_Resources");
}
}
}
BuildProject(":mozilla:cmd:macfe:projects:client:Client.mcp", "Client$D");
}
sub DistMozilla()
{
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
#CONFIG
InstallFromManifest(":mozilla:config:mac:MANIFEST", ":mozilla:dist:config:");
InstallFromManifest(":mozilla:config:mac:MANIFEST_config", ":mozilla:dist:config:");
#INCLUDE
InstallFromManifest(":mozilla:include:MANIFEST", ":mozilla:dist:include:");
InstallFromManifest(":mozilla:cmd:macfe:pch:MANIFEST", ":mozilla:dist:include:");
#MAC_COMMON
InstallFromManifest(":mozilla:build:mac:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:NSStdLib:include:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:Misc:MANIFEST", ":mozilla:dist:mac:common:");
InstallFromManifest(":mozilla:lib:mac:MoreFiles:MANIFEST", ":mozilla:dist:mac:common:morefiles:");
InstallFromManifest(":mozilla:cmd:macfe:MANIFEST", ":mozilla:dist:mac:macfe:");
#NSPR
InstallFromManifest(":mozilla:nsprpub:pr:include:MANIFEST", ":mozilla:dist:nspr:");
InstallFromManifest(":mozilla:nsprpub:pr:src:md:mac:MANIFEST", ":mozilla:dist:nspr:mac:");
InstallFromManifest(":mozilla:nsprpub:lib:ds:MANIFEST", ":mozilla:dist:nspr:");
InstallFromManifest(":mozilla:nsprpub:lib:libc:include:MANIFEST", ":mozilla:dist:nspr:");
InstallFromManifest(":mozilla:nsprpub:lib:msgc:include:MANIFEST", ":mozilla:dist:nspr:");
#DBM
InstallFromManifest(":mozilla:dbm:include:MANIFEST", ":mozilla:dist:dbm:");
#LIBIMAGE
InstallFromManifest(":mozilla:modules:libimg:png:MANIFEST", ":mozilla:dist:libimg:");
InstallFromManifest(":mozilla:modules:libimg:src:MANIFEST", ":mozilla:dist:libimg:");
InstallFromManifest(":mozilla:modules:libimg:public:MANIFEST", ":mozilla:dist:libimg:");
#SECURITY_freenav
InstallFromManifest(":mozilla:modules:security:freenav:MANIFEST", ":mozilla:dist:security:");
#XPCOM
InstallFromManifest(":mozilla:xpcom:src:MANIFEST", ":mozilla:dist:xpcom:");
#ZLIB
InstallFromManifest(":mozilla:modules:zlib:src:MANIFEST", ":mozilla:dist:zlib:");
#JPEG
InstallFromManifest(":mozilla:jpeg:MANIFEST", ":mozilla:dist:jpeg:");
#JSJ
# beard: this conflicts with LiveConnect's jsjava.h.
#InstallFromManifest(":mozilla:js:jsj:MANIFEST", ":mozilla:dist:jsj:");
#JSDEBUG
InstallFromManifest(":mozilla:js:jsd:MANIFEST", ":mozilla:dist:jsdebug:");
#JS
InstallFromManifest(":mozilla:js:src:MANIFEST", ":mozilla:dist:js:");
#LIVECONNECT
InstallFromManifest(":mozilla:js:src:liveconnect:MANIFEST", ":mozilla:dist:liveconnect:");
#RDF
InstallFromManifest(":mozilla:modules:rdf:include:MANIFEST", ":mozilla:dist:rdf:");
#XML
InstallFromManifest(":mozilla:modules:xml:glue:MANIFEST", ":mozilla:dist:xml:");
InstallFromManifest(":mozilla:modules:xml:expat:xmlparse:MANIFEST", ":mozilla:dist:xml:");
#LIBFONT
InstallFromManifest(":mozilla:modules:libfont:MANIFEST", ":mozilla:dist:libfont:");
InstallFromManifest(":mozilla:modules:libfont:src:MANIFEST", ":mozilla:dist:libfont:");
#LDAP
if ( $main::MOZ_LDAP || $main::MOZ_DARK )
{
InstallFromManifest(":mozilla:directory:c-sdk:ldap:include:MANIFEST", ":mozilla:dist:ldap:");
}
#PRIVACY
InstallFromManifest(":mozilla:privacy:public:MANIFEST", ":mozilla:dist:privacy:");
#SCHEDULER
InstallFromManifest(":mozilla:modules:schedulr:public:MANIFEST", ":mozilla:dist:schedulr:");
#NETWORK
InstallFromManifest(":mozilla:network:cache:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:client:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:cnvts:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:cstream:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:main:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:mimetype:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:util:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:about:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:certld:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:dataurl:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:file:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:ftp:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:gopher:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:http:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:imap4:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:js:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:ldap:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:mailbox:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:marimba:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:nntp:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:pop3:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:remote:MANIFEST", ":mozilla:dist:network:");
InstallFromManifest(":mozilla:network:protocol:smtp:MANIFEST", ":mozilla:dist:network:");
#HTML_DIALOGS
InstallFromManifest(":mozilla:lib:htmldlgs:MANIFEST", ":mozilla:dist:htmldlgs:");
#LAYOUT
InstallFromManifest(":mozilla:lib:layout:MANIFEST", ":mozilla:dist:layout:");
#LAYERS
InstallFromManifest(":mozilla:lib:liblayer:include:MANIFEST", ":mozilla:dist:layers:");
#PARSE
InstallFromManifest(":mozilla:lib:libparse:MANIFEST", ":mozilla:dist:libparse:");
#STYLE
InstallFromManifest(":mozilla:lib:libstyle:MANIFEST", ":mozilla:dist:libstyle:");
#PLUGIN
InstallFromManifest(":mozilla:modules:plugin:public:MANIFEST", ":mozilla:dist:plugin:");
InstallFromManifest(":mozilla:modules:plugin:src:MANIFEST", ":mozilla:dist:plugin:");
#LIBHOOK
InstallFromManifest(":mozilla:modules:libhook:public:MANIFEST", ":mozilla:dist:libhook:");
#LIBPREF
InstallFromManifest(":mozilla:modules:libpref:public:MANIFEST", ":mozilla:dist:libpref:");
#LIBREG
InstallFromManifest(":mozilla:modules:libreg:include:MANIFEST", ":mozilla:dist:libreg:");
#LIBUTIL
InstallFromManifest(":mozilla:modules:libutil:public:MANIFEST", ":mozilla:dist:libutil:");
#PROGRESS
InstallFromManifest(":mozilla:modules:progress:public:MANIFEST", ":mozilla:dist:progress:");
#EDTPLUG
InstallFromManifest(":mozilla:modules:edtplug:include:MANIFEST", ":mozilla:dist:edtplug:");
#NAV_JAVA
InstallFromManifest(":mozilla:nav-java:stubs:include:MANIFEST", ":mozilla:dist:nav-java:");
InstallFromManifest(":mozilla:nav-java:stubs:macjri:MANIFEST", ":mozilla:dist:nav-java:");
#SUN_JAVA
InstallFromManifest(":mozilla:sun-java:stubs:include:MANIFEST", ":mozilla:dist:sun-java:");
InstallFromManifest(":mozilla:sun-java:stubs:macjri:MANIFEST", ":mozilla:dist:sun-java:");
#OJI
InstallFromManifest(":mozilla:modules:oji:public:MANIFEST", ":mozilla:dist:oji:");
InstallFromManifest(":mozilla:modules:oji:src:MANIFEST", ":mozilla:dist:oji:");
#CAPS
InstallFromManifest(":mozilla:caps:include:MANIFEST", ":mozilla:dist:caps:");
#BASE
InstallFromManifest(":mozilla:base:public:MANIFEST", ":mozilla:dist:base:");
InstallFromManifest(":mozilla:base:src:MANIFEST", ":mozilla:dist:base:");
}
1;

View File

@@ -1,143 +0,0 @@
#!perl
package BuildListObsolete;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildMozilla);
=head1 NAME
BuildList - build the [ordered] set of projects needed to construct Mozilla
=head1 SYNOPSIS
...
=head1 COPYRIGHT
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.
=cut
sub BuildMozilla()
{
use Moz;
chdir(":::"); # assuming this script is in "...:mozilla:build:mac:", change dir to just inside "mozilla"
if ( $main::DEBUG )
{
$D = " (Debug)";
$LibD = "Debug";
$dist_dir = ":dist:client_debug:";
}
else
{
$D = "";
$LibD = "";
$dist_dir = ":dist:client:";
}
#
# Build the appropriate target of each project
#
BuildProjectClean(":lib:mac:NSStdLib:NSStdLib.mcp", "Stub Library");
BuildProjectClean(":lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stub Library");
BuildProjectClean(":cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
BuildProject(":lib:mac:NSRuntime:NSRuntime.mcp");
MakeAlias(":lib:mac:NSRuntime:NSRuntimePPCLib", "$dist_dir");
BuildProject(":cmd:macfe:restext:NavStringLibPPC.mcp");
MakeAlias(":cmd:macfe:restext:StringsPPCLib", "$dist_dir");
BuildProject(":lib:mac:MoreFiles:build:MoreFilesPPC.prj");
MakeAlias(":lib:mac:MoreFiles:build:MoreFilesPPC.lib", "$dist_dir");
BuildProject(":nsprpub:macbuild:NSPR20PPC".$LibD.".mcp");
MakeAlias(":nsprpub:macbuild:NSPR20PPC".$LibD."Lib", "$dist_dir");
BuildProject(":dbm:macbuild:DBMPPC".$LibD.".mcp");
MakeAlias(":dbm:macbuild:DBMPPC".$LibD."Lib", "${dist_dir}");
BuildProject(":lib:mac:MacMemoryAllocator:MemAllocator.mcp", "PPC Shared Library$D");
MakeAlias(":lib:mac:MacMemoryAllocator:MemAllocatorPPC".$LibD."Lib", "$dist_dir");
BuildProject(":lib:mac:NSStdLib:NSStdLib.mcp", "PPC Shared Library");
MakeAlias(":lib:mac:NSStdLib:NSStdLibPPCLib", "$dist_dir");
BuildProject(":modules:security:freenav:macbuild:NoSecurity.mcp", "PPC Shared Library$D");
MakeAlias(":modules:security:freenav:macbuild:NoSecurity".$LibD."Lib", "$dist_dir");
BuildProject(":xpcom:macbuild:xpcomPPC".$LibD.".mcp");
MakeAlias(":xpcom:macbuild:xpcomPPC".$LibD."Lib", "$dist_dir");
BuildProject(":lib:mac:PowerPlant:PowerPlant.mcp");
MakeAlias(":lib:mac:PowerPlant:PowerPlantPPC".$LibD."Lib", "$dist_dir");
BuildProject(":modules:zlib:macbuild:zlib.mcp", "PPC Shared Library$D");
MakeAlias(":modules:zlib:macbuild:zlibPPC".$LibD."Lib", "$dist_dir");
BuildProject(":jpeg:macbuild:JPEG.mcp", "PPC Shared Library$D");
MakeAlias(":jpeg:macbuild:JPEGPPC".$LibD."Lib", "$dist_dir");
BuildProject(":sun-java:stubs:macbuild:JavaStubs.mcp", "PPC Shared Library$D");
MakeAlias(":sun-java:stubs:macbuild:JavaRuntimePPC".$LibD."Lib", "$dist_dir");
BuildProject(":js:jsj:macbuild:JSJ_PPC".$LibD.".mcp");
BuildProject(":js:macbuild:JavaScriptPPC".$LibD.".mcp");
MakeAlias(":js:macbuild:JavaScriptPPC".$LibD."Lib", "$dist_dir");
BuildProject(":nav-java:stubs:macbuild:NavJavaStubs.mcp", "PPC Shared Library$D");
MakeAlias(":nav-java:stubs:macbuild:NavJavaPPC".$LibD."Lib", "$dist_dir");
if ( $main::DEBUG )
{
BuildProject(":modules:rdf:macbuild:RDF.mcp", "PPC Shared Library +D -LDAP");
MakeAlias(":modules:rdf:macbuild:RDFPPCDebugLib", "${dist_dir}");
}
else
{
Moz::BuildProject(":modules:rdf:macbuild:RDF.mcp", "PPC Shared Library -LDAP");
MakeAlias(":modules:rdf:macbuild:RDFPPCLib", "${dist_dir}");
}
BuildProject(":modules:xml:macbuild:XML.mcp", "PPC Shared Library$D");
MakeAlias(":modules:xml:macbuild:XMLPPC".$LibD."Lib", "$dist_dir");
BuildProject(":modules:libfont:macbuild:FontBroker.mcp", "PPC Library$D");
BuildProject(":modules:schedulr:macbuild:Schedulr.mcp", "PPC Shared Library$D");
MakeAlias(":modules:schedulr:macbuild:Schedulr".$LibD."PPCLib", "$dist_dir");
BuildProject(":network:macbuild:network.mcp", "PPC Library (Debug Moz)");
if ( $main::MOZ_LITE == 0 )
{
BuildProject(":cmd:macfe:Composer:build:Composer.mcp", "PPC Library$D");
}
BuildProject(":cmd:macfe:projects:client:Navigator.mcp", "Moz PPC App$D");
}
1;

View File

@@ -1,40 +0,0 @@
#!perl
#
# 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.
#
use Moz;
use BuildList;
$DEBUG = 0;
# One of them should be 1. This will come from a config file at some stage.
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
$MOZ_LITE = 0;
$MOZ_MEDIUM = 1;
$MOZ_DARK = 0;
Moz::OpenErrorLog(":::Mozilla.BuildLog");
Moz::StopForErrors();
chdir("::::");
# Make and popuplate the dist directory
DistMozilla();
# Now build the projects
BuildMozilla();

View File

@@ -1,124 +0,0 @@
#!perl
package BuildMozilla;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildMozilla);
=head1 NAME
BuildMozilla - build the [ordered] set of projects needed to construct Mozilla
=head1 COPYRIGHT
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.
=cut
sub BuildMozilla()
{
use Moz;
chdir("::::"); # assuming this script is in "...:mozilla:build:mac:", change dir to just above "mozilla"
# Ideally, we would set the target name like so:
# $target = $main::DEBUG ? "debug" : "optimized";
# ...and all projects would have corresponding targets
$D = $main::DEBUG ? " (Debug)" : ""; # $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
#
# Build the appropriate target of each project
#
Moz::BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stub Library");
Moz::BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stub Library");
Moz::BuildProject(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp");
Moz::BuildProject(":mozilla:cmd:macfe:restext:NavStringLibPPC.mcp");
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.prj");
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPCDebug.mcp");
Moz::BuildProject(":mozilla:dbm:macbuild:DBMPPCDebug.mcp");
}
else
{
Moz::BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp");
Moz::BuildProject(":mozilla:dbm:macbuild:DBMPPC.mcp");
}
Moz::BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "PPC Shared Library");
Moz::BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "PPC Shared Library$D");
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:xpcom:macbuild:xpcomPPCDebug.mcp");
}
else
{
Moz::BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp");
}
Moz::BuildProject(":mozilla:lib:mac:PowerPlant:PowerPlant.mcp");
Moz::BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:sun-java:stubs:macbuild:JavaStubs.mcp", "PPC Shared Library$D");
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPCDebug.mcp");
Moz::BuildProject(":mozilla:js:macbuild:JavaScriptPPCDebug.mcp");
}
else
{
Moz::BuildProject(":mozilla:js:jsj:macbuild:JSJ_PPC.mcp");
Moz::BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp");
}
Moz::BuildProject(":mozilla:nav-java:stubs:macbuild:NavJavaStubs.mcp", "PPC Shared Library$D");
# the following `if' can be fixed when we either rename the debug target of the RDF project, or of all the other projects
if ( $main::DEBUG )
{
Moz::BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "PPC Shared Library +D -LDAP");
}
else
{
Moz::BuildProject(":mozilla:modules:rdf:macbuild:RDF.mcp", "PPC Shared Library -LDAP");
}
Moz::BuildProject(":mozilla:modules:xml:macbuild:XML.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:modules:libfont:macbuild:FontBroker.mcp", "PPC Library$D");
Moz::BuildProject(":mozilla:modules:schedulr:macbuild:Schedulr.mcp", "PPC Shared Library$D");
Moz::BuildProject(":mozilla:network:macbuild:network.mcp", "PPC Library (Debug Moz)");
Moz::BuildProject(":mozilla:cmd:macfe:Composer:build:Composer.mcp", "PPC Library$D");
Moz::BuildProject(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Moz PPC App$D");
}
1;

View File

@@ -1,40 +0,0 @@
#!perl
#
# 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.
#
use Moz;
use BuildList;
$DEBUG = 1;
# One of them should be 1. This will come from a config file at some stage.
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
$MOZ_LITE = 0;
$MOZ_MEDIUM = 1;
$MOZ_DARK = 0;
Moz::OpenErrorLog(":::Mozilla.BuildLog");
Moz::StopForErrors();
chdir("::::");
# Make and popuplate the dist directory
DistMozilla();
# Now build the projects
BuildMozilla();

View File

@@ -1,134 +0,0 @@
#!perl
#
# 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.
#
#
# nglayout build script (debug)
#
use NGLayoutBuildList;
use Cwd;
use Moz;
# configuration variables
$DEBUG = 1;
$pull{all} = 0;
$pull{lizard} = 0;
$pull{xpcom} = 0;
$pull{imglib} = 0;
$pull{netlib} = 0;
$pull{nglayout} = 0;
$pull{mac} = 0;
$build{all} = 0;
$build{dist} = 0;
$build{common}= 0;
$build{nglayout}= 0;
#
# UI
#
@choices = ("pull_and_build_all",
"pull_all",
"build_all",
"pull_nglayout",
"build_dist",
"build_projects");
#damn, this does not work on
if (0)
{
while (GetFrontProcess () != GetCurrentProcess())
{
SetFrontProcess( GetCurrentProcess() );
}
@pick = MacPerl::Pick("What would you like to do?", @choices);
$pull{all} = 0;
$build{all} = 1;
foreach $i (@pick)
{
if ($i eq "pull_and_build_all")
{
$pull{all} = 1;
$build{all} = 1;
}
elsif ($i eq "pull_all")
{
$pull{all} = 1;
}
elsif ($i eq "build_all")
{
$build{all} = 1;
}
elsif ($i eq "build_dist")
{
$build{dist} = 1;
}
elsif ($i eq "build_projects")
{
$build{projects} = 1;
}
}
}
else
{
$pull{all} = 1;
$build{all} = 1;
# $pull{netlib} = 1;
# $pull{nglayout} = 1;
# $build{common} = 1;
# $build{nglayout} = 1;
# $build{dist} = 1;
# $pull{nglayout} = 1;
}
if ($pull{all})
{
foreach $k (keys(%pull))
{
$pull{$k} = 1;
}
}
if ($build{all})
{
foreach $k (keys(%build))
{
$build{$k} = 1;
}
}
# do the work
# you should not have to edit anything bellow
chdir("::::");
$MOZ_SRC = cwd();
Moz::StopForErrors();
#Moz::DontStopForErrors();
#OpenErrorLog("::NGLayoutBuildLog");
OpenErrorLog(":::Mozilla.BuildLog"); # Tinderbox requires that name
Checkout();
chdir($MOZ_SRC);
BuildDist();
chdir($MOZ_SRC);
BuildProjects();
print "Build layout complete\n";

Binary file not shown.

View File

@@ -1,374 +0,0 @@
#!perl
package CodeWarriorLib;
=pod
=head1 NAME
CodeWarriorLib - supply interface to CodeWarrior
=head1 SYNOPSIS
#!perl
use CodeWarriorLib;
CodeWarriorLib::activate();
$had_errors = CodeWarriorLib::build_project(
$project_path, $target_name, $recent_errors_file, $clean_build
);
=head1 DESCRIPTION
Replaces the AppleScript library I<CodeWarriorLib>.
=over 4
=cut
use strict;
use Mac::AppleEvents::Simple;
use Mac::AppleEvents;
use Mac::Processes;
use Mac::MoreFiles;
use Mac::Types;
use File::Basename;
use vars qw($VERSION);
$VERSION = '1.01';
my($app) = 'CWIE';
# 0 == don't switch CWIE to front app in do_event(), 1 == do switch
# note: activate() still switches when called
$Mac::AppleEvents::Simple::SWITCH = 0;
# supply your own path to the source here
#_test('PowerPudgeIV:mozilla:mozilla:');
=pod
=item _get_project($full_path)
A private routine returning a reference to the open project with the given name,
or else the empty string (when that project is not open)
full_path is a string identifying the project to be built and is of the form,
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
=cut
sub _get_project ($) {
my(
$full_path, $candidate_projects
) = @_;
$candidate_projects = _doc_named(basename($full_path, '*'));
if ($candidate_projects) {
my($cps) = _get_dobj($candidate_projects);
my($num) = AECountItems($cps);
if ($num) { # is a list
foreach (1 .. AECountItems($cps)) {
my($cp) = AEGetNthDesc($cps, $_);
if ($full_path eq _full_path($cp)) {
return($cp);
}
}
} else { # is only one, not a list
if ($full_path eq _full_path($cps)) {
return($cps);
}
}
}
return;
}
=pod
=item build_project
Build a selected target of a project, saving any errors to a file, if supplied.
full_path is a string identifying the project to be built and is of the form,
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
If target_name is the empty string, the current target of the selected project
will be built, else, target_name should be a string matching a target name in
the selected project.
If error_path is the empty string, errors will not be saved to a file,
else, error_path should be the full path of a file to save error messages into.
=cut
sub build_project ($;$$$) {
my(
$full_path, $target_name, $error_path,
$remove_object, $p, $project_was_closed, $had_errors
) = @_;
_close_errors_window();
while (1) {
$p = _get_project($full_path);
if (!$p) {
return if ($project_was_closed);
$project_was_closed = 1;
_open_file($full_path);
} else {
last;
}
}
$had_errors = 0;
if ($target_name eq '') {
if ($remove_object) {_remove_object($p)}
_build($p);
} else {
if ($remove_object) {_remove_object($p, $target_name)}
_build($p, $target_name);
}
if ($error_path ne '') {
_save_errors_window($error_path);
}
$had_errors = _close_errors_window();
if ($project_was_closed) {
$p = _get_project($full_path);
_close($p);
}
return($had_errors);
}
=pod
=item activate()
Launches CodeWarrior and brings it to the front.
Once found, path will be saved in ':idepath.txt' for future reference.
Edit or delete this file to change the location of the IDE. If app is
moved, C<activate()> will prompt for a new location.
First looks for an open CodeWarrior app. Second, tries to open previously
saved location in ':idepath.txt'. Third, tries to find it and allow user
to choose it with Navigation Services (if present). Fourth, uses good old
GUSI routines built-in to MacPerl for a Choose Directory dialog box.
=cut
sub activate () {
local(*F);
my($filepath, $appath, $psi) = (':idepath.txt');
foreach $psi (values(%Process)) {
if ($psi->processSignature() eq $app) {
$appath = $psi->processAppSpec(), "\n";
}
_save_appath($filepath, $appath);
}
if ((!$appath || ! -x $appath) && open(F, $filepath)) {
$appath = <F>;
close(F);
}
if (!$appath || ! -x $appath) {
if (eval {require Mac::Navigation}) {
my($options, $nav);
Mac::Navigation->import();
$options = NavGetDefaultDialogOptions();
$options->message('Where is CodeWarrior IDE?');
$options->windowTitle('Find CodeWarrior IDE');
$nav = NavChooseObject($Application{$app}, $options);
die "CodeWarrior IDE not found.\n" if (!$nav || !$nav->file(1));
$appath = $nav->file(1);
} else {
local(*D);
my $cwd = `pwd`;
$appath = _get_folder(
'Where is the folder containing CodeWarrior IDE?',
dirname($Application{$app})
) . ':';
die "CodeWarrior IDE not found.\n" if !$appath;
opendir(D, $appath) or die $!;
chdir($appath);
foreach my $file (sort readdir (D)) {
my(@app) = MacPerl::GetFileInfo($file);
if ($app[0] && $app[1] &&
$app[1] eq 'APPL' && $app[0] eq $app
) {
$appath .= $file;
last;
}
}
chomp($cwd);
chdir($cwd);
}
_save_appath($filepath, $appath);
}
my($lp) = LaunchParam->new(
launchAppSpec => $appath,
launchControlFlags => launchContinue() + launchNoFileFlags()
);
LaunchApplication($lp) or die $^E;
}
sub _build ($;$) {
my($evt);
if ($_[1]) {
my($prm) =
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
AEPrint($_[0]) . '}';
$evt = do_event(qw/CWIE MAKE/, $app, $prm, $_[1]);
} else {
my($prm) = q"'----':" . AEPrint($_[0]);
$evt = do_event(qw/CWIE MAKE/, $app, $prm);
}
}
sub _remove_object ($;$) {
my($evt);
if ($_[1]) {
my($prm) =
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
AEPrint($_[0]) . '}';
$evt = do_event(qw/CWIE RMOB/, $app, $prm, $_[1]);
} else {
my($prm) = q"'----':" . AEPrint($_[0]);
$evt = do_event(qw/CWIE RMOB/, $app, $prm);
}
}
sub _open_file ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), " .
q"seld:TEXT(@), from:'null'()}";
do_event(qw/aevt odoc/, $app, $prm, $_[0]);
}
sub _doc_named ($) {
my($prm) =
q"'----':obj {form:test, want:type(docu), from:'null'(), " .
q"seld:cmpd{relo:'= ', 'obj1':obj {form:prop, want:type" .
q"(prop), seld:type(pnam), from:'exmn'()}, 'obj2':TEXT(@)}}";
my($evt) = do_event(qw/core getd/, $app, $prm, $_[0]);
return($evt->{REPLY} eq 'aevt\ansr{}' ? undef : $evt);
}
sub _full_path ($) {
my($obj) = $_[0];
my($prm) =
q"'----':obj {form:prop, want:type(prop), seld:type(FILE), " .
q"from:" . AEPrint($_[0]) . q"}, rtyp:type(TEXT)";
my($evt) = do_event(qw/core getd/, $app, $prm);
return MacPerl::MakePath(
MacUnpack('fss ', (
AEGetParamDesc($evt->{REP}, keyDirectObject()))->data()->get()
)
);
}
sub _save_errors_window ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}";
do_event(qw/MMPR SvMs/, $app, $prm, $_[0]);
}
sub _close_errors_window () {
my($prm) =
q"'----':obj {form:name, want:type(cwin), " .
q"seld:TEXT(@), from:'null'()}";
my($evt) = do_event(qw/core clos/, $app, $prm, 'Errors & Warnings');
return($evt->{REPLY} eq 'aevt\ansr{}' ? 1 : 0);
}
sub _close () {
my($prm) = q"'----':" . AEPrint($_[0]);
do_event(qw/core clos/, $app, $prm);
}
sub _get_dobj ($) {
return(AEGetParamDesc($_[0]->{REP}, keyDirectObject()));
}
sub _get_folder ($$) {
require 'GUSI.ph';
my($prompt, $default) = @_;
MacPerl::Choose(
GUSI::AF_FILE(), 0, $prompt, '',
GUSI::CHOOSE_DIR() + ($default ? &GUSI::CHOOSE_DEFAULT : 0),
$default
);
}
sub _save_appath ($$) {
open(F, '>' . $_[0]) or die $!;
print F $_[1];
close(F);
}
sub _test ($) {
activate();
my($path) = $_[0];
build_project(
"${path}modules:xml:macbuild:XML.mcp", '',
"${path}build:mac:Mozilla.BuildLog.part"
);
}
1;
=pod
=back
=head1 HISTORY
=over 4
=item v1.01, June 1, 1998
Made fixes to C<chdir()> in C<activate()>, made C<activate()> more robust
in finding CodeWarrior IDE, added global variable to NOT switch to IDE
for each sent event, a few other fixes.
=item v1.00, May 30, 1998
First shot
=back
=head1 AUTHORS
Chris Nandor F<E<lt>pudge@pobox.comE<gt>>, and the author of the
original I<CodeWarriorLib>, Scott Collins F<E<lt>scc@netscape.comE<gt>>.
=head1 SEE ALSO
BuildProject L<Moz>.
=head1 COPYRIGHT
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.
=cut

View File

@@ -1,78 +0,0 @@
#
# 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.
#
if {#} != 1
echo "CopyExports requires 1 parameters:"
echo "Parameter 1: path relative to {SourceRootDir} of the file which contains"
echo " the list of files to be copied, one per line. This path"
echo " may not begin with a colon"
echo
Exit 1
end if
Set SourceList "{SourceRootDir}{1}"
Set ScriptsDir "{SourceRootDir}mozilla:build:mac:"
#set sourceList "{SourceRootDir}mozilla:{1}"
if {verbose}
echo "Source list is in file ¶"{SourceList}¶""
echo "Scripts directory is ¶"{ScriptsDir}¶""
end if
# for each line in the source file, remove it if it starts with #, otherwise quote it
for curLine in `streamedit "{sourceList}" -e '/¥#Å/ Delete; /¥/ Replace /(Å)¨1/ "¶""¨1"¶""'`
echo "{curLine}"
# ignore empty lines
if `evaluate "{{curLine}}" != ""`
echo "{curLine}"
# strip out trailing comments
if `evaluate "{curLine}" =~ /(Å)¨1[ ¶t]+(#Å)¨2/`
set sourceLine "{¨1}"
# echo "Discarding comment {¨2}"
else
set sourceLine "{curLine}"
end if
if `evaluate "{sourceLine}" =~ /([Â ¶t]+)¨1[ ¶t]+[:]*(Å)¨2/`
if {verbose}
echo "Cur line is {sourceLine}"
end if
set exportFile "{¨1}"
set theTarget "{¨2}"
if {verbose}
echo "Export file name is {exportFile}"
echo "Target directory is {theTarget}"
end if
"{ScriptsDir}CopyList.script" "{exportFile}" "{theTarget}"
end if
end if
end for

View File

@@ -1,81 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is the controlling script for a set of scripts that copy public
# header files in one or more source trees into a single, "dist" directory.
#
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
# ÒCopyExports.scriptÓ, which must be in the same directory.
#
# To execute this script, select everything from "# Get the..." to
# " the end" and hit the Enter key.
#
# Known bugs:
# Header files are always copied if the export.mac file contains
# non-local paths.
# Spurious output is produced even when verbose is off.
#
# Uncomment this to get some progress information
# set -e verbose 1
# Get the root of everything
set magicfilepath "{systempfolder}filepath" # Temporary items folder, "filepath"
if !`Exists "{{magicFilePath}}"`
Echo "No file path file seems to have been created in the temporary items folder."
Echo "Was this script executed from the perl script? That's the way it was designed."
Exit 1
end if
set myDirectory "`catenate "{{magicFilePath}}"`"
delete -i "{{magicFilePath}}"
Set SourceList "{myDirectory}{1}"
(Evaluate "{myDirectory}" =~ /(Å:)¨1[Â:]+:[Â:]+:[Â:]+/) #·· dev:null
Set -e mozillaDir "{¨1}"
if !`Exists "{{mozillaDir}}"`
Echo "A file path was passed, but it doesn't seem to be the mozilla directory."
Exit 1
end if
echo "Mozilla directory found at {mozillaDir}"
#Calculate the root directory by stripping off the leaf name.
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
Set -e SourceRootDir "{¨1}"
Set -e DestRootDir "{mozillaDir}dist:"
# Ensure the build and stubs folders exist
if !`exists -d "{mozillaDir}dist"`
newfolder "{mozillaDir}dist"
end if
if !`exists -d "{mozillaDir}dist:client"`
newfolder "{mozillaDir}dist:client"
end if
if !`exists -d "{mozillaDir}dist:client_debug"`
newfolder "{mozillaDir}dist:client_debug"
end if
if !`exists -d "{mozillaDir}dist:client_stubs"`
newfolder "{mozillaDir}dist:client_stubs"
end if
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"
# the end

View File

@@ -1,97 +0,0 @@
#
# 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.
#
if {#} != 2
echo "CopyList requires 2 parameters:"
echo "Parameter 1: path relative to {SourceRootDir} of the file which contains"
echo " the list of files to be copied, one per line. This path"
echo " may not begin with a colon"
echo
echo "Parameter 2: path relative to {DestRootDir} of the directory where all the"
echo " files are to be copied. No initial colons!"
echo
Exit 1
end if
set debugEcho "" # This setting will actually duplicate the files
#set debugEcho "echo" # This setting will merely print the "duplicate" commands.
set sourceList "{SourceRootDir}{1}"
set targetDir "{DestRootDir}{2}"
# targetDir may not end in a colon for this script to work.
if `Evaluate "{targetDir}" =~ /(Å)¨1:/`
#echo "Removed a colon"
set targetDir "{¨1}"
end if
#Ensure the target hierarchy exists
# Volume name
(Evaluate "{TargetDir}" =~ /([Â:]+)¨1:Å/) ·· dev:null
Set PartialPath "{¨1}"
Loop
(Evaluate "{TargetDir}" =~ /("{PartialPath}":[Â:]+)¨1([:]*)¨2Å/) ·· dev:null
Set PartialPath "{¨1}"
Set Exit 0
(NewFolder "{PartialPath}") ·· dev:null
Set Exit 1
break if "{¨2}" == ""
End Loop
#Calculate the source directory by stripping off the leaf name.
(Evaluate "{SourceList}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
Set SourceDir "{¨1}"
if {verbose}
echo "Source list is in file ¶"{sourceList}¶""
echo "Source directory is ¶"{SourceDir}¶""
echo "Target directory is ¶"{targetDir}¶""
end if
# Strip all comment lines, pipe the stripped lines into the "for" loop.
# We quote each whole line here so that we deal with a line at a time in the
# for loop. Don't ya just love MPW quoting rulesÉ
for f in `streamedit "{sourceList}" -e '/¥#Å/ Delete; /¥/ Replace /(Å)¨1/ "¶""¨1"¶""'`
if `evaluate "{{f}}" != ""`
# strip out trailing comments (in fact, anything following whitespace)
if `evaluate "{f}" =~ /([Â ¶t]+)¨1[ ¶t]+([#]*Å)¨2/`
set sourceFile "{¨1}"
# echo "Discarding comment {¨2}"
else
set sourceFile "{f}"
end if
# sourceFile can be a relative path, so need to get the file name for date comparisons
if `evaluate "{sourceFile}" =~ /Å:([Â:]+)¨1/`
set filename "{¨1}"
else
set filename "{sourceFile}"
end if
# now copy the file if newer
if "`Newer "{sourceDir}{sourceFile}" "{targetDir}:{filename}"`" #|| !`Exists "{targetDir}:{filename}"`
if {verbose} ; echo "{sourceDir}{sourceFile} is newer than {targetDir}:{filename}" ; end if
#{debugEcho} duplicate -y "{sourceDir}{sourceFile}" "{targetDir}"
{debugEcho} newalias "{sourceDir}{sourceFile}" "{targetDir}:{filename}"
end if
end if
end for

View File

@@ -1,4 +0,0 @@
/* This library only exists to provide a dummy library for the final project */
/* There is nothing to do here. */

View File

@@ -1,69 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is the controlling script for a set of scripts that copy public
# header files in one or more source trees into a single, "dist" directory.
#
# It relies on the two accompanying scripts, ÒCopyList.scriptÓ and
# ÒCopyExports.scriptÓ, which must be in the same directory.
#
# To execute this script, select everything from "# Get the..." to
# " the end" and hit the Enter key.
#
# Known bugs:
# Spurious output is produced even when verbose is off.
#
# Uncomment this to get some progress information
# set -e verbose 1
# Get the root of everything
set moz ""
loop
set mozillaDir `GetFileName -d -m "Please select the ÒmozillaÓ directory"`
#set SourceRootDir
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2:/) #·· dev:null
set moz "{¨2}"
break if "{moz}" == "mozilla"
Alert "Sorry, this only works if you select the folder called ÒmozillaÓ."
end loop
#Calculate the root directory by stripping off the leaf name.
(Evaluate "{mozillaDir}" =~ /(Å:)¨1([Â:]+)¨2/) #·· dev:null
Set -e SourceRootDir "{¨1}"
Set -e DestRootDir "{mozillaDir}dist:"
# Ensure the build and stubs folders exist
if !`exists -d "{mozillaDir}dist"`
newfolder "{mozillaDir}dist"
end if
if !`exists -d "{mozillaDir}dist:client"`
newfolder "{mozillaDir}dist:client"
end if
if !`exists -d "{mozillaDir}dist:client_debug"`
newfolder "{mozillaDir}dist:client_debug"
end if
if !`exists -d "{mozillaDir}dist:client_stubs"`
newfolder "{mozillaDir}dist:client_stubs"
end if
"{SourceRootDir}mozilla:build:mac:CopyExports.script" "mozilla:build:mac:MacExportListPublic"
# the end

View File

@@ -1,94 +0,0 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
/*
This file overrides all option settings in the IDE. It is an attempt to allow all builds
to have the same options.
Note: We can't use ConditionalMacros.h in this file because it will conflict with
the PowerPlant precompiled headers.
*/
/* warning pragmas */
#pragma warn_hidevirtual on
#pragma warn_emptydecl on
#pragma warn_unusedvar on
#pragma warn_extracomma on
#pragma warn_illpragma on
#pragma warn_possunwant on
#pragma warn_unusedarg off /* turned off to reduce warnings */
#pragma check_header_flags on
/* Language features that must be the same across libraries... */
#pragma enumsalwaysint on
#pragma unsigned_char off
#pragma exceptions on
#pragma bool on
/* Save as much space as possible with strings... */
#pragma pool_strings on
#pragma dont_reuse_strings off
#pragma options align=native
#pragma sym on /* Takes no memory. OK in non-debug. */
#ifdef powerc /* ...generating PowerPC */
#pragma toc_data on
#pragma fp_contract on
#pragma readonly_strings on
#ifdef DEBUG
#pragma traceback on
#pragma global_optimizer off
#pragma scheduling off
#pragma peephole off
#pragma optimize_for_size off
#else
#pragma traceback off
#pragma global_optimizer on
#pragma optimization_level 4
#pragma scheduling 604
#pragma peephole on
#pragma optimize_for_size on
#endif
#else /* ...generating 68k */
#pragma code68020 on
#pragma code68881 off
/* Far everything... */
#pragma far_code
#pragma far_data on
#pragma far_strings on
#pragma far_vtables on
#pragma fourbyteints on /* 4-byte ints */
#pragma IEEEdoubles on /* 8-byte doubles (as required by Java and NSPR) */
#ifdef DEBUG
#pragma macsbug on
#pragma oldstyle_symbols off
#else
#pragma macsbug off
#endif
#endif

View File

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

View File

@@ -1,198 +0,0 @@
#!perl -w
package MacCVS;
# package Mac::Apps::MacCVS; this should really be the name of the package
# but due to our directory hierarchy in mozilla, I am not doing it
require 5.004;
require Exporter;
use strict;
use vars qw($VERSION @ISA @EXPORT $MacCVSLib);
use Mac::StandardFile;
use Moz;
use Cwd;
use Exporter;
use File::Basename;
@ISA = qw(Exporter);
@EXPORT = qw( new print checkout);
$VERSION = "1.00";
# Architecture:
# cvs session object:
# name - session name
# session_file - session file
#
# globals
# $MacCVSLib - location of MacCVS applescript library
#
#
#
# utility routines
#
# just like Mac::DoAppleScript, 1 is success, 0 is failure
sub _myDoAppleScript($)
{
my($script) = @_;
my $asresult = MacPerl::DoAppleScript($script);
if ($asresult eq "0")
{
return 1;
}
else
{
print STDERR "AppleScript error: $asresult\n";
print STDERR "AppleScript was: \n $script \n";
return 0;
}
}
# _useMacCVSLib
# returns 1 on success
# Search the include path for the file called MacCVSLib
sub _useMacCVSLib()
{
unless ( defined($MacCVSLib) )
{
my($libname) = "MacCVSLib";
# try the directory we were run from
my($c) = dirname($0) . ":" . $libname;
if ( -e $c)
{
$MacCVSLib = $c;
}
else
{
# now search the include directories
foreach (@INC)
{
unless ( m/^Dev:Pseudo/ ) # This is some bizarre MacPerl special-case directory
{
$c = $_ . $libname;
if (-e $c)
{
$MacCVSLib = $c;
last;
}
}
}
}
if (! (-e $MacCVSLib))
{
print STDERR "MacCVS lib could not be found! $MacCVSLib";
return 0;
}
}
return 1;
}
#
# Session object methods
#
sub new {
my ( $proto, $session_file) = @_;
my $class = ref($proto) || $proto;
my $self = {};
if ( defined($session_file) && ( -e $session_file) )
{
$self->{"name"} = basename( $session_file );
$self->{"session_file"} = $session_file;
bless $self, $class;
return $self;
}
else
{
print STDERR "MacCVS->new cvs file < $session_file > does not exist\n";
return;
}
}
# makes sure that the session is open
# assertSessionOpen()
# returns 1 on failure
sub assertSessionOpen() {
my ($self) = shift;
_useMacCVSLib() || die "Could not load MacCVSLib\n";
my $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MacCVSLib") to OpenSession("$self->{session_file}")
END_OF_APPLESCRIPT
return _myDoAppleScript($script);
}
# prints the cvs object, used mostly for debugging
sub print {
my($self) = shift;
print "MacCVS:: name: ", $self->{name}, " session file: ", $self->{session_file}, "\n";
}
# checkout( self, module, revision, date)
# MacCVS checkout command
# returns 1 on failure
sub checkout {
my($self, $module, $revision, $date ) = @_;
unless( defined ($module) ) { $module = ""; } # get rid of the pesky undefined warnings
unless( defined ($revision) ) { $revision = ""; }
unless( defined ($date) ) { $date = ""; }
$self->assertSessionOpen() || return 1;
my $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MacCVSLib") to Checkout given sessionName:"$self->{name}", module:"$module", revision:"$revision", date:"$date"
END_OF_APPLESCRIPT
return _myDoAppleScript($script);
}
1;
=pod
=head1 NAME
MacCVS - Interface to MacCVS
=head1 SYNOPSIS
use MacCVS;
$session = MacCVS->new( <session_file_path>) || die "cannot create session";
$session->checkout([module] [revision] [date]) || die "Could not check out";
=head1 DESCRIPTION
This is a MacCVS interface for talking to MacCVS Pro client.
MacCVSSession is the class used to manipulate the session
=item new
MacCVS->new( <cvs session file path>);
Creates a new session. Returns undef on failure.
=item checkout( <module> [revision] [date] )
cvs checkout command. Revision and date are optional
returns 0 on failure
=cut
=head1 SEE ALSO
=over
=item MacCVS Home Page
http://www.maccvs.org/
=back
=head1 AUTHORS
Aleks Totic atotic@netscape.com
=cut
__END__

Binary file not shown.

View File

@@ -1,159 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
# This is a list of paths to export.mac files, and destination
# directories for the copied headers. Destinations are relative
# to "mozilla:dist".
###################
# PUBLIC TREE
###################
# LDAP
mozilla:directory:c-sdk:ldap:include:MANIFEST :ldap
#INCLUDE
mozilla:config:mac:export.mac :config
mozilla:include:export.mac :include
mozilla:cmd:macfe:pch:export.mac :include
#MAC_COMMON
mozilla:build:mac:export.mac :mac:common
mozilla:lib:mac:NSStdLib:include:export.mac :mac:common
mozilla:lib:mac:MacMemoryAllocator:include:export.mac :mac:common
mozilla:lib:mac:Misc:export.mac :mac:common
mozilla:lib:mac:MoreFiles:export.mac :mac:common:morefiles
mozilla:cmd:macfe:export.mac :mac:macfe
#NSPR
mozilla:nsprpub:pr:include:export.mac :nspr
mozilla:nsprpub:pr:src:md:mac:export.mac :nspr:mac
mozilla:nsprpub:lib:ds:export.mac :nspr
mozilla:nsprpub:lib:libc:include:export.mac :nspr
mozilla:nsprpub:lib:msgc:include:export.mac :nspr
#DBM
mozilla:dbm:include:export.mac :dbm
#LIBIMAGE
mozilla:modules:libimg:png:export.mac :libimg
mozilla:modules:libimg:src:export.mac :libimg
mozilla:modules:libimg:public:export.mac :libimg
#SECURITY_freenav
mozilla:modules:security:freenav:export.mac :security
#XPCOM
mozilla:xpcom:src:export.mac :xpcom
#ZLIB
mozilla:modules:zlib:src:export.mac :zlib
#JPEG
mozilla:jpeg:export.mac :jpeg
#JSJ
mozilla:js:jsj:export.mac :jsj
#JSDEBUG
mozilla:js:jsd:export.mac :jsdebug
#JS
mozilla:js:src:export.mac :js
#RDF
mozilla:modules:rdf:include:export.mac :rdf
#XML
mozilla:modules:xml:glue:export.mac :xml
mozilla:modules:xml:expat:xmlparse:export.mac :xml
#LIBFONT
mozilla:modules:libfont:public:export.mac :libfont
mozilla:modules:libfont:src:export.mac :libfont
#SCHEDULER
mozilla:modules:schedulr:public:export.mac :schedulr
#NETWORK
#This stuff is all in libnet on the branch.
#mozilla:network:cache:export.mac :network
#mozilla:network:client:export.mac :network
#mozilla:network:cnvts:export.mac :network
#mozilla:network:cstream:export.mac :network
#mozilla:network:main:export.mac :network
#ozilla:network:protocol:about:export.mac :network
#mozilla:network:protocol:certld:export.mac :network
#mozilla:network:protocol:dataurl:export.mac :network
#mozilla:network:protocol:file:export.mac :network
#mozilla:network:protocol:ftp:export.mac :network
#mozilla:network:protocol:gopher:export.mac :network
#mozilla:network:protocol:http:export.mac :network
#mozilla:network:protocol:js:export.mac :network
#mozilla:network:protocol:mailbox:export.mac :network
#mozilla:network:protocol:marimba:export.mac :network
#mozilla:network:protocol:nntp:export.mac :network
#mozilla:network:protocol:pop3:export.mac :network
#mozilla:network:protocol:remote:export.mac :network
#mozilla:network:protocol:smtp:export.mac :network
#NORMANDY_BRANCH only
mozilla:lib:libnet:export.mac :libnet
#HTML_DIALOGS
mozilla:lib:htmldlgs:export.mac :htmldlgs
#LAYOUT
mozilla:lib:layout:export.mac :layout
#LAYERS
mozilla:lib:liblayer:include:export.mac :layers
#PARSE
mozilla:lib:libparse:export.mac :libparse
#STYLE
mozilla:lib:libstyle:export.mac :libstyle
#LIBHOOK
mozilla:modules:libhook:public:export.mac :libhook
#LIBPREF
mozilla:modules:libpref:public:export.mac :libpref
#LIBREG
mozilla:modules:libreg:include:export.mac :libreg
#LIBUTIL
mozilla:modules:libutil:public:export.mac :libutil
#OJI
mozilla:modules:oji:src:export.mac :oji
#PROGRESS
mozilla:modules:progress:public:export.mac :progress
#SOFTUPDATE
mozilla:modules:softupdt:include:export.mac :softupdate
#NAV_JAVA
mozilla:nav-java:stubs:macjri:export.mac :nav-java:macjri
mozilla:nav-java:stubs:include:export.mac :nav-java
#SUN_JAVA
mozilla:sun-java:stubs:include:export.mac :sun-java:include
mozilla:sun-java:stubs:macjri:export.mac :sun-java:macjri

Binary file not shown.

View File

@@ -1,389 +0,0 @@
=head1 NAME
B<Moz> - routines for automating CodeWarrior builds, and some extra-curricular activities related to building Mozilla
=head1 SYNOPSIS
use Moz;
OpenErrorLog(":::BuildLog");
StopForErrors();
$Moz::QUIET = 1;
InstallFromManifest(":projects:MANIFEST", $dist_dir);
BuildProjectClean(":projects:SomeProject.mcp", "SomeTarget");
MakeAlias(":projects:SomeProject.shlb", $dist_dir);
DontStopForErrors();
BuildProject(":projects:SomeOtherProject.mcp", "SomeTarget");
=head1 DESCRIPTION
B<Moz> comprises the routines needed to slap CodeWarrior around, force it to build a sequence of projects, report the results, and a few other things.
=cut
package Moz;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildProject BuildProjectClean OpenErrorLog MakeAlias StopForErrors DontStopForErrors InstallFromManifest);
@EXPORT_OK = qw(CloseErrorLog UseCodeWarriorLib QUIET);
use Cwd;
use File::Path;
use ExtUtils::Manifest 'maniread';
use CodeWarriorLib;
sub current_directory()
{
my $current_directory = cwd();
chop($current_directory) if ( $current_directory =~ m/:$/ );
return $current_directory;
}
sub full_path_to($)
{
my ($path) = @_;
if ( $path =~ m/^[^:]+$/ )
{
$path = ":" . $path;
}
if ( $path =~ m/^:/ )
{
$path = current_directory() . $path;
}
return $path;
}
=head2 Setup
Pretty much, everything is taken care of for you.
However, B<Moz> does use a little compiled AppleScript library (the file CodeWarriorLib) for some of its communcication with CodeWarrior.
If this library isn't in the same directory as "Moz.pm", then you need to tell B<Moz> where to find it.
Call C<UseCodeWarriorLib($path_to_CodeWarriorLib)>.
This routine is not exported by default, nor are you likely to need it.
=cut
sub UseCodeWarriorLib($)
{
# ($CodeWarriorLib) = @_;
# $CodeWarriorLib = full_path_to($CodeWarriorLib);
}
sub activate_CodeWarrior()
{
#MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
# tell (load script file "$CodeWarriorLib") to ActivateCodeWarrior()
#END_OF_APPLESCRIPT
}
BEGIN
{
# UseCodeWarriorLib(":CodeWarriorLib");
# activate_CodeWarrior();
CodeWarriorLib::activate();
}
$logging = 0;
$recent_errors_file = "";
$stop_on_1st_error = 1;
$QUIET = 0;
=head2 Logging all the errors and warnings - C<OpenErrorLog($log_file)>, C<CloseErrorLog()>
The warnings and errors generated in the course of building projects can be logged to a file.
Tinderbox uses this facility to show why a remote build failed.
Logging is off by default.
Start logging at any point in your build process with C<OpenErrorLog($log_file)>.
Stop with C<CloseErrorLog()>.
You never need to close the log explicitly, unless you want to just log a couple of projects in the middle of a big list.
C<CloseErrorLog()> is not exported by default.
=cut
sub CloseErrorLog()
{
if ( $logging )
{
close(ERROR_LOG);
$logging = 0;
StopForErrors() if $stop_on_1st_error;
}
}
sub OpenErrorLog($)
{
my ($log_file) = @_;
CloseErrorLog();
if ( $log_file )
{
$log_file = full_path_to($log_file);
open(ERROR_LOG, ">$log_file");
$log_file =~ m/.+:(.+)/;
$recent_errors_file = full_path_to("$1.part");
$logging = 1;
}
}
=head2 Stopping before it's too late - C<StopForErrors()>, C<DontStopForErrors()>
When building a long list of projects, you decide whether to continue building subsequent projects when one fails.
By default, your build script will C<die> after the first project that generates an error while building.
Change this behavior with C<DontStopForErrors()>.
Re-enable it with C<StopForErrors()>.
=cut
sub StopForErrors()
{
$stop_on_1st_error = 1;
# Can't stop for errors unless we notice them.
# Can't notice them unless we are logging.
# If the user didn't explicitly request logging, log to a temporary file.
if ( ! $recent_errors_file )
{
OpenErrorLog("${TMPDIR}BuildResults");
}
}
sub DontStopForErrors()
{
$stop_on_1st_error = 0;
}
sub log_message($)
{
if ( $logging )
{
my ($message) = @_;
print ERROR_LOG $message;
}
}
sub log_message_with_time($)
{
if ( $logging )
{
my ($message) = @_;
my $time_stamp = localtime();
log_message("$message ($time_stamp)\n");
}
}
sub log_recent_errors($)
{
my ($project_name) = @_;
my $found_errors = 0;
if ( $logging )
{
open(RECENT_ERRORS, "<$recent_errors_file");
while( <RECENT_ERRORS> )
{
if ( /^Error/ || /^CouldnÕt find project file/ )
{
$found_errors = 1;
}
print ERROR_LOG $_;
}
close(RECENT_ERRORS);
unlink("$recent_errors_file");
}
if ( $stop_on_1st_error && $found_errors )
{
print ERROR_LOG "### Build failed.\n";
die "### Errors encountered building \"$project_name\".\n";
}
}
sub build_project($$$)
{
my ($project_path, $target_name, $clean_build) = @_;
$project_path = full_path_to($project_path);
# $project_path =~ m/.+:(.+)/;
# my $project_name = $1;
log_message_with_time("### Building \"$project_path\"");
# Check that the given project exists
if (! -e $project_path)
{
print ERROR_LOG "### Build failed.\n";
die "### Can't find project file \"$project_path\".\n";
}
print "Building \"$project_path\"\n";
$had_errors = CodeWarriorLib::build_project(
$project_path, $target_name, $recent_errors_file, $clean_build
);
# $had_errors =
#MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
# tell (load script file "$CodeWarriorLib") to BuildProject("$project_path", "$project_name", "$target_name", "$recent_errors_file", $clean_build)
#END_OF_APPLESCRIPT
# Append any errors to the globally accumulated log file
if ( $had_errors )
{
log_recent_errors($project_path);
}
}
=head2 Getting CodeWarrior to build projects - C<BuildProject($project, $opt_target)>, C<BuildProjectClean($project, $opt_target)>
C<BuildProject()> and C<BuildProjectClean()> are identical, except that the latter first removes object code.
In both, CodeWarrior opens the project if it wasn't already open; builds the given (or else current) target; and finally closes
the project, if it wasn't already open.
=cut
sub BuildProject($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, 0);
}
sub BuildProjectClean($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, 1);
}
=head2 Miscellaneous
C<MakeAlias($old_file, $new_file)> functions like C<symlink()>, except with better argument defaulting and more explicit error messages.
=cut
sub MakeAlias($$)
{
my ($old_file, $new_file) = @_;
# if the directory to hold $new_file doesn't exist, create it
if ( ($new_file =~ m/(.+:)/) && !-d $1 )
{
mkpath($1);
}
# if a leaf name wasn't specified for $new_file, use the leaf from $old_file
if ( ($new_file =~ m/:$/) && ($old_file =~ m/.+:(.+)/) )
{
$new_file .= $1;
}
my $message = "Can't create a Finder alias (at \"$new_file\")\n for \"$old_file\"; because ";
die "$message \"$old_file\" doesn't exist.\n" unless -e $old_file;
die "$message I won't replace an existing (non-alias) file with an alias.\n" if ( -e $new_file && ! -l $new_file );
# now: $old_file exists; $new_file doesn't (or else, is an alias already)
if ( -l $new_file )
{
# ...then see if it already points to $old_file
my $current_target = full_path_to(readlink($new_file));
my $new_target = full_path_to($old_file);
return if ( $current_target eq $new_target );
# if the desired alias already exists and points to the right thing, then we're done
unlink $new_file;
}
symlink($old_file, $new_file) || die "$message symlink returned an unexpected error.\n";
}
=pod
C<InstallFromManifest()>
=cut
sub InstallFromManifest($;$)
{
my ($manifest_file, $dest_dir) = @_;
$dest_dir ||= ":";
$manifest_file =~ m/(.+):/;
my $source_dir = $1;
chop($dest_dir) if $dest_dir =~ m/:$/;
print "Doing manifest on \"$manifest_file\"\n" unless $QUIET;
my $read = maniread(full_path_to($manifest_file));
foreach $file (keys %$read)
{
next unless $file;
$subdir = ":";
if ( $file =~ /:.+:/ )
{
$subdir = $&;
}
$file = ":$file" unless $file =~ m/^:/;
MakeAlias("$source_dir$file", "$dest_dir$subdir");
}
}
1;
=head1 AUTHORS
Scott Collins <scc@netscape.com>, Simon Fraser <sfraser@netscape.com>
=head1 SEE ALSO
BuildMozillaDebug.pl (et al), BuildList.pm, CodeWarriorLib (an AppleScript library)
=head1 COPYRIGHT
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.
=cut

View File

@@ -1,403 +0,0 @@
#!perl -w
package NGLayoutBuildList;
require 5.004;
require Exporter;
use strict;
use vars qw( @ISA @EXPORT );
# perl includes
use Mac::StandardFile;
use Mac::Processes;
use Cwd;
use File::Path;
# homegrown
use Moz;
use MacCVS;
@ISA = qw(Exporter);
@EXPORT = qw( Checkout BuildDist BuildProjects BuildCommonProjects BuildLayoutProjects);
# NGLayoutBuildList builds the nglayout project
# it is configured by setting the following variables in the caller:
# Usage:
# caller variables that affect behaviour:
# DEBUG : 1 if we are building a debug version
# 3-part build process: checkout, dist, and build_projects
# Hack alert:
# NGLayout defines are located in :mozilla:config:mac:NGLayoutConfigInclude.h
# An alias "MacConfigInclude.h" to this file is created inside dist:config
# Note that the name of alias is different than the name of the file. This
# is to trick CW into including NGLayout defines
#
# Utility routines
#
# pickWithMemoryFile stores the information about the user pick inside
# the file $session_storage
sub _pickWithMemoryFile($)
{
my ($sessionStorage) = @_;
my $cvsfile;
if (( -e $sessionStorage) &&
open( SESSIONFILE, $sessionStorage ))
{
# Read in the path if available
$cvsfile = <SESSIONFILE>;
chomp $cvsfile;
close SESSIONFILE;
if ( ! -e $cvsfile )
{
print STDERR "$cvsfile has disappeared\n";
undef $cvsfile;
}
}
unless (defined ($cvsfile))
{
print "Choose a CVS session file in file dialog box:\n"; # no way to display a prompt?
# make sure that MacPerl is a front process
while (GetFrontProcess () != GetCurrentProcess())
{
SetFrontProcess( GetCurrentProcess() );
}
# prompt user for the file name, and store it
my $macFile = StandardGetFile( 0, "McvD");
if ( $macFile->sfGood() )
{
$cvsfile = $macFile->sfFile();
# save the choice if we can
if ( open (SESSIONFILE, ">" . $sessionStorage))
{
printf SESSIONFILE $cvsfile, "\n";
close SESSIONFILE;
}
else
{
print STDERR "Could not open storage file\n";
}
}
}
return $cvsfile;
}
# assert that we are in the correct directory for the build
sub _assertRightDirectory()
{
unless (-e ":mozilla")
{
my($dir) = cwd();
print STDERR "NGLayoutBuildList called from incorrect directory: $dir";
}
}
sub _getDistDirectory()
{
return $main::DEBUG ? ":mozilla:dist:viewer_debug:" : ":mozilla:dist:viewer:";
}
#
# MAIN ROUTINES
#
sub Checkout()
{
_assertRightDirectory();
my($cvsfile) = _pickWithMemoryFile("::nglayout.cvsloc");
my($session) = MacCVS->new( $cvsfile );
unless (defined($session)) { die "Checkout aborted. Cannot create session file: $session" }
my($LIBPREF_BRANCH) = "XPCOM_BRANCH";
my($IMGLIB_BRANCH) = "MODULAR_IMGLIB_BRANCH"; #// compile the "(standalone)" targets when pulling the tips
my($PLUGIN_BRANCH) = "OJI_19980618_BRANCH";
if ($main::pull{lizard})
{
$session->checkout("mozilla/LICENSE") || die "checkout failure";
$session->checkout("mozilla/LEGAL") || die "checkout failure";
$session->checkout("mozilla/config") || die "checkout failure";
$session->checkout("mozilla/dbm") || die "checkout failure";
$session->checkout("mozilla/lib/liblayer") || die "checkout failure";
$session->checkout("mozilla/modules/zlib") || die "checkout failure";
$session->checkout("mozilla/modules/libutil") || die "checkout failure";
$session->checkout("mozilla/nsprpub") || die "checkout failure";
$session->checkout("mozilla/sun-java") || die "checkout failure";
$session->checkout("mozilla/nav-java") || die "checkout failure";
$session->checkout("mozilla/js") || die "checkout failure";
$session->checkout("mozilla/modules/security/freenav") || die "checkout failure";
#//$session->checkout("mozilla/lib/libparse") || die "checkout failure";
#//$session->checkout("mozilla/lib/layout") || die "checkout failure";
#//$session->checkout("mozilla/lib/libstyle") || die "checkout failure";
#//$session->checkout("mozilla/lib/libpwcac") || die "checkout failure";
$session->checkout("mozilla/modules/libpref",$LIBPREF_BRANCH) || die "checkout failure";
#//$session->checkout("mozilla/modules/plugin",$PLUGIN_BRANCH) || die "checkout failure";
$session->checkout("mozilla/modules/plugin") || die "checkout failure";
}
if ($main::pull{xpcom})
{
$session->checkout("mozilla/modules/libreg") || die "checkout failure";
$session->checkout("mozilla/xpcom") || die "checkout failure";
}
if ($main::pull{imglib})
{
$session->checkout("mozilla/jpeg", $IMGLIB_BRANCH) || die "checkout failure";
$session->checkout("mozilla/modules/libutil", $IMGLIB_BRANCH) || die "checkout failure";
$session->checkout("mozilla/modules/libimg", $IMGLIB_BRANCH) || die "checkout failure";
}
if ($main::pull{netlib})
{
$session->checkout("mozilla/lib/xp") || die "checkout failure";
$session->checkout("mozilla/lib/libpwcac") || die "checkout failure";
$session->checkout("mozilla/network") || die "checkout failure";
$session->checkout("mozilla/include") || die "checkout failure";
}
if ($main::pull{nglayout})
{
$session->checkout("mozilla/base") || die "checkout failure";
$session->checkout("mozilla/dom") || die "checkout failure";
$session->checkout("mozilla/gfx") || die "checkout failure";
$session->checkout("mozilla/htmlparser") || die "checkout failure";
$session->checkout("mozilla/layout") || die "checkout failure";
$session->checkout("mozilla/view") || die "checkout failure";
$session->checkout("mozilla/webshell") || die "checkout failure";
$session->checkout("mozilla/widget") || die "checkout failure";
}
if ($main::pull{mac})
{
$session->checkout("mozilla/build/mac") || die "checkout failure";
$session->checkout("mozilla/cmd/macfe") || die "checkout failure";
$session->checkout("mozilla/lib/mac/MacMemoryAllocator") || die "checkout failure";
$session->checkout("mozilla/lib/mac/NSStdLib") || die "checkout failure";
$session->checkout("mozilla/lib/mac/MoreFiles") || die "checkout failure";
$session->checkout("mozilla/lib/mac/NSRuntime") || die "checkout failure";
$session->checkout("mozilla/lib/mac/Misc") || die "checkout failure";
}
}
# builds the dist directory
sub BuildDist()
{
unless ( $main::build{dist} ) { return;}
_assertRightDirectory();
# we really do not need all these paths, but many client projects include them
mkpath([ ":mozilla:dist:", ":mozilla:dist:client:", ":mozilla:dist:client_debug:", ":mozilla:dist:client_stubs:" ]);
mkpath([ ":mozilla:dist:viewer:", ":mozilla:dist:viewer_debug:" ]);
my($distdirectory) = ":mozilla:dist";
my($distlist) = [
#MAC_COMMON
[":mozilla:build:mac:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:NSStdLib:include:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:MacMemoryAllocator:include:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:Misc:MANIFEST", "$distdirectory:mac:common:"],
[":mozilla:lib:mac:MoreFiles:MANIFEST", "$distdirectory:mac:common:morefiles:"],
#INCLUDE
[":mozilla:config:mac:MANIFEST", "$distdirectory:config:"],
[":mozilla:config:mac:MANIFEST_config", "$distdirectory:config:"],
[":mozilla:include:MANIFEST", "$distdirectory:include:"],
[":mozilla:cmd:macfe:pch:MANIFEST", "$distdirectory:include:"],
#NSPR
[":mozilla:nsprpub:pr:include:MANIFEST", "$distdirectory:nspr:"],
[":mozilla:nsprpub:pr:src:md:mac:MANIFEST", "$distdirectory:nspr:mac:"],
[":mozilla:nsprpub:lib:ds:MANIFEST", "$distdirectory:nspr:"],
[":mozilla:nsprpub:lib:libc:include:MANIFEST", "$distdirectory:nspr:"],
[":mozilla:nsprpub:lib:msgc:include:MANIFEST", "$distdirectory:nspr:"],
#JPEG
[":mozilla:jpeg:MANIFEST", "$distdirectory:jpeg:"],
#LIBREG
[":mozilla:modules:libreg:include:MANIFEST", "$distdirectory:libreg:"],
#XPCOM
[":mozilla:xpcom:src:MANIFEST", "$distdirectory:xpcom:"],
#ZLIB
[":mozilla:modules:zlib:src:MANIFEST", "$distdirectory:zlib:"],
#LIBUTIL
[":mozilla:modules:libutil:public:MANIFEST", "$distdirectory:libutil:"],
#SUN_JAVA
[":mozilla:sun-java:stubs:include:MANIFEST", "$distdirectory:sun-java:"],
[":mozilla:sun-java:stubs:macjri:MANIFEST", "$distdirectory:sun-java:"],
#NAV_JAVA
[":mozilla:nav-java:stubs:include:MANIFEST", "$distdirectory:nav-java:"],
[":mozilla:nav-java:stubs:macjri:MANIFEST", "$distdirectory:nav-java:"],
#JS
[":mozilla:js:src:MANIFEST", "$distdirectory:js:"],
#SECURITY_freenav
[":mozilla:modules:security:freenav:MANIFEST", "$distdirectory:security:"],
#LIBPREF
[":mozilla:modules:libpref:public:MANIFEST", "$distdirectory:libpref:"],
#LIBIMAGE
[":mozilla:modules:libimg:png:MANIFEST", "$distdirectory:libimg:"],
[":mozilla:modules:libimg:src:MANIFEST", "$distdirectory:libimg:"],
[":mozilla:modules:libimg:public:MANIFEST", "$distdirectory:libimg:"],
#PLUGIN
[":mozilla:modules:plugin:nglsrc:MANIFEST", "$distdirectory:plugin:"],
[":mozilla:modules:plugin:public:MANIFEST", "$distdirectory:plugin:"],
[":mozilla:modules:plugin:src:MANIFEST", "$distdirectory:plugin:"],
#//PARSE
#// [":mozilla:lib:libparse:MANIFEST", "$distdirectory:libparse:"],
#//OLD LAYOUT
#// [":mozilla:lib:layout:MANIFEST", "$distdirectory:layout:"],
#//STYLE
#// [":mozilla:lib:libstyle:MANIFEST", "$distdirectory:libstyle:"],
#LAYERS
[":mozilla:lib:liblayer:include:MANIFEST", "$distdirectory:layers:"],
#NETWORK
[":mozilla:network:cache:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:client:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:cnvts:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:cstream:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:main:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:mimetype:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:util:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:about:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:certld:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:dataurl:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:file:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:ftp:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:gopher:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:http:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:js:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:mailbox:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:marimba:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:nntp:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:pop3:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:remote:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:protocol:smtp:MANIFEST", "$distdirectory:network:"],
[":mozilla:network:module:MANIFEST","$distdirectory:network:module"],
#BASE
[":mozilla:base:src:MANIFEST", "$distdirectory:base:"],
[":mozilla:base:public:MANIFEST", "$distdirectory:base:"],
#WEBSHELL
[":mozilla:webshell:public:MANIFEST", "$distdirectory:webshell:"],
#LAYOUT
[":mozilla:layout:base:public:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:html:style:public:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:html:base:src:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:html:document:public:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:base:src:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:events:public:MANIFEST", "$distdirectory:layout:"],
[":mozilla:layout:events:src:MANIFEST", "$distdirectory:layout:"],
#WIDGET
[":mozilla:widget:public:MANIFEST", "$distdirectory:widget:"],
#GFX
[":mozilla:gfx:src:MANIFEST", "$distdirectory:gfx:"],
#VIEW
[":mozilla:view:public:MANIFEST", "$distdirectory:view:"],
#DOM
[":mozilla:dom:public:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:coreDom:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:coreEvents:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:events:MANIFEST", "$distdirectory:dom:"],
[":mozilla:dom:public:html:MANIFEST", "$distdirectory:dom:"],
#HTMLPARSER
[":mozilla:htmlparser:src:MANIFEST", "$distdirectory:htmlparser:"],
];
foreach $a (@$distlist)
{
InstallFromManifest( $a->[0], $a->[1]);
}
# To get out defines in all the project, dummy alias NGLayoutConfigInclude.h into MacConfigInclude.h
MakeAlias(":mozilla:config:mac:NGLayoutConfigInclude.h", ":mozilla:dist:config:MacConfigInclude.h");
}
# builds all projects
# different targets controlled by $main::build
sub BuildCommonProjects()
{
unless( $main::build{common} ) { return; }
_assertRightDirectory();
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
my($D) = $main::DEBUG ? "Debug" : "";
my($dist_dir) = _getDistDirectory();
# clean projects
Moz::BuildProjectClean(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp", "Stubs");
Moz::BuildProjectClean(":mozilla:cmd:macfe:projects:client:Navigator.mcp", "Stub Library");
# shared
Moz::BuildProject(":mozilla:lib:mac:NSRuntime:NSRuntime.mcp");
MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSRuntime:NSRuntime$D.shlb.xSYM", "$dist_dir") : 0;
Moz::BuildProject(":mozilla:lib:mac:MoreFiles:build:MoreFilesPPC.mcp", "MoreFiles$D.shlb");
MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MoreFiles:build:MoreFiles$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:nsprpub:macbuild:NSPR20PPC.mcp", "NSPR20$D.shlb");
MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:nsprpub:macbuild:NSPR20$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator.mcp", "MemAllocator$D.shlb");
MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:MacMemoryAllocator:MemAllocator$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:lib:mac:NSStdLib:NSStdLib.mcp", "NSStdLib$D.shlb");
MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:lib:mac:NSStdLib:NSStdLib$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:jpeg:macbuild:JPEG.mcp", "JPEG$D.shlb");
MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:jpeg:macbuild:JPEG$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:js:macbuild:JavaScriptPPC.mcp", "JavaScriptNoJSJ$D.shlb");
MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:js:macbuild:JavaScript$D.shlb.xSYM", "$dist_dir") : 0;
BuildProject(":mozilla:modules:zlib:macbuild:zlib.mcp", "zlib$D.shlb");
MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb", "$dist_dir");
$main::DEBUG ? MakeAlias(":mozilla:modules:zlib:macbuild:zlib$D.shlb.xSYM", "$dist_dir") : 0;
# static
BuildProject(":mozilla:xpcom:macbuild:xpcomPPC.mcp", "xpcom$D.o");
BuildProject(":mozilla:modules:security:freenav:macbuild:NoSecurity.mcp", "Security.o");
BuildProject(":mozilla:modules:libimg:macbuild:png.mcp", "png$D.o");
BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o");
#//BuildProject(":mozilla:modules:libimg:macbuild:libimg.mcp", "libimg$D.o (standalone)");
BuildProject(":mozilla:network:macbuild:network.mcp", "NetworkModular$D.o");
}
sub BuildLayoutProjects()
{
unless( $main::build{nglayout} ) { return; }
_assertRightDirectory();
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
my($D) = $main::DEBUG ? "Debug" : "";
my($dist_dir) = _getDistDirectory();
BuildProject(":mozilla:base:macbuild:base.mcp", "base$D.o");
BuildProject(":mozilla:htmlparser:macbuild:htmlparser.mcp", "htmlparser$D.o");
BuildProject(":mozilla:dom:macbuild:dom.mcp", "dom$D.o");
BuildProject(":mozilla:gfx:macbuild:gfx.mcp", "gfx$D.o");
BuildProject(":mozilla:layout:macbuild:layout.mcp", "layout$D.o");
BuildProject(":mozilla:webshell:macbuild:webshell.mcp", "webshell$D.o");
BuildProject(":mozilla:webshell:tests:viewer:mac:viewer.mcp", "viewer$D");
}
sub BuildProjects()
{
BuildCommonProjects();
BuildLayoutProjects();
}

View File

@@ -1,43 +0,0 @@
/* -*- 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.
*/
#error "DonÕt use me!"
#define OLDROUTINELOCATIONS 0
#define XP_MAC 1
#ifndef NSPR20
#define NSPR20 1
#endif
#define _NSPR 1
#define _NO_FAST_STRING_INLINES_ 1
#define HAVE_BOOLEAN 1
#define NETSCAPE 1
#define OTUNIXERRORS 1 /* We want OpenTransport error codes */
#define OJI 1
#define MOCHA 1
/*
This compiles in heap dumping utilities and other good stuff
for developers -- maybe we only want it in for a special SDK
nspr/java runtime(?):
*/
#define DEVELOPER_DEBUG 1
#define MAX(_a,_b) ((_a) < (_b) ? (_b) : (_a))
#define MIN(_a,_b) ((_a) < (_b) ? (_a) : (_b))

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