Compare commits

..

2366 Commits

Author SHA1 Message Date
nboyd%atg.com
b4ffa41ca0 Implement breakpointing a given line.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@76282 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 17:08:33 +00:00
nboyd%atg.com
71eac19bd9 Add more commands, clean up.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@76275 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 13:46:30 +00:00
nboyd%atg.com
c91ef3e25d A little more work.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@75252 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-31 21:08:22 +00:00
nboyd%atg.com
d912f6c544 get branch working
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74925 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 15:44:57 +00:00
nboyd%atg.com
f066ed34eb Add debugger files to branch
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74924 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 15:42:41 +00:00
nboyd%atg.com
75c0a6d536 New debugging files.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74923 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 15:41:20 +00:00
nboyd%atg.com
6374a47cb5 Add to branch
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74922 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 15:32:58 +00:00
(no author)
87a77bdb54 This commit was manufactured by cvs2svn to create branch 'EXP_DEBUGGER'.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74920 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 14:54:16 +00:00
nboyd%atg.com
01bdc9a81a Experimental changes for debugger.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74919 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 14:54:15 +00:00
(no author)
cf3aa1ee61 This commit was manufactured by cvs2svn to create branch 'EXP_DEBUGGER'.
git-svn-id: svn://10.0.0.236/branches/EXP_DEBUGGER@74592 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 17:13:10 +00:00
nboyd%atg.com
f3d136281d Fix 45928 NativeDate uses getDeclaredConstructor instead of getConstructor
git-svn-id: svn://10.0.0.236/trunk@74591 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 17:13:09 +00:00
dave%intrec.com
8fd36b7245 Fix for bug 46002 (reports.cgi allows users to view restricted products).
Patch submitted by jmrobins@tgix.com (Joe Robins)


git-svn-id: svn://10.0.0.236/trunk@74590 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 17:00:40 +00:00
tao%netscape.com
dc36edc43c add langenus to separate en-US files from browser.xpi. not part of build
yet.


git-svn-id: svn://10.0.0.236/trunk@74589 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 08:11:32 +00:00
dprice%netscape.com
f13bc9ce48 adding manifest file for chrome packaging
NOT IN THE BUILD


git-svn-id: svn://10.0.0.236/trunk@74588 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 06:46:53 +00:00
dprice%netscape.com
545922dd6d fixing typos
git-svn-id: svn://10.0.0.236/trunk@74587 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 06:39:21 +00:00
dprice%netscape.com
3d2cd88eaf adding manifest file for jar repackaging of the chrome
NOT IN THE BUILD


git-svn-id: svn://10.0.0.236/trunk@74586 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 06:38:38 +00:00
mcafee%netscape.com
303f666fe2 Adding norules=0 option.
git-svn-id: svn://10.0.0.236/trunk@74585 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 06:12:27 +00:00
mcafee%netscape.com
28d12a138f Adding named anchors.
git-svn-id: svn://10.0.0.236/trunk@74584 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 06:05:37 +00:00
beard%netscape.com
c60b287418 added jsmath.cpp/h
git-svn-id: svn://10.0.0.236/trunk@74583 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 05:07:29 +00:00
beard%netscape.com
ca49549765 XML project file.
git-svn-id: svn://10.0.0.236/trunk@74582 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 05:07:05 +00:00
beard%netscape.com
f30949654f update dependencies to include jsmath.o
git-svn-id: svn://10.0.0.236/trunk@74581 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 05:01:10 +00:00
beard%netscape.com
1481de28ca add jsmath.cpp to the build.
git-svn-id: svn://10.0.0.236/trunk@74580 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 05:00:43 +00:00
beard%netscape.com
13d5767bc1 scope of loop variables fix
git-svn-id: svn://10.0.0.236/trunk@74579 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 05:00:10 +00:00
mcafee%netscape.com
f2e743c74d Changing default of nocrap=1 to legend=0. This both renames nocrap and flips the default behaviour. Most of us don't need to see this stuff by default.
git-svn-id: svn://10.0.0.236/trunk@74578 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 04:55:45 +00:00
neeti%netscape.com
654207280e Fix for bug 38244 - modified files cached incorrectly,r=ruslan@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74577 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 04:33:26 +00:00
mscott%netscape.com
e0ab81042f Bug #45689 --> someone left mimetypes.xpt (a necko library) out of the packages file. This caused the helper app
dialog to crash in release builds because it's the only JS code that tries to use interfaces in this .xpt file.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74576 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 02:53:01 +00:00
mscott%netscape.com
ae43980cd5 Bug #45689 --> someone left mimetypes.xpt (a necko library) out of the packages file. This caused the helper app
dialog to crash in release builds because it's the only JS code that tries to use interfaces in this .xpt file.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74575 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 02:52:32 +00:00
bryner%uiuc.edu
0b33e0b54b Fix for dogfood bug 45986. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@74574 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 02:10:05 +00:00
rhp%netscape.com
b4d961042c Fix to prevent too much information being displayed to hackers - Bug 1566 - r: ducarroz
git-svn-id: svn://10.0.0.236/trunk@74573 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 01:19:23 +00:00
rogerl%netscape.com
fdde4baec8 Implementing Object.prototype object and global object for ECMA 3
Adding Math class support.


git-svn-id: svn://10.0.0.236/trunk@74572 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 01:16:49 +00:00
ddrinan%netscape.com
5aef7267a3 Added Netscape disclamer on the security advisor page
git-svn-id: svn://10.0.0.236/trunk@74571 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 01:15:55 +00:00
jband%netscape.com
4ac0a9c150 drastically reduce unnecessary malloc calls from js_Atomize. r=brendan@mozilla.org. a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74570 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 00:57:19 +00:00
dougt%netscape.com
1ffb08d2f2 more debug information. r=jband.
git-svn-id: svn://10.0.0.236/trunk@74569 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 00:53:07 +00:00
ben%netscape.com
d0ffb902c9 b44281, r=don, a=don
git-svn-id: svn://10.0.0.236/trunk@74568 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 00:38:04 +00:00
edburns%acm.org
beab87ba88 bug=23157
ra=av
This fix makes it so the plugins directory is correctly located
in the embedding case.


git-svn-id: svn://10.0.0.236/trunk@74567 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 00:27:36 +00:00
ruslan%netscape.com
aefd29455d Applying Justin's patch to fix 40203 (proxy ssl connect), a=gagan,r=myself
git-svn-id: svn://10.0.0.236/trunk@74566 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-21 00:03:39 +00:00
tao%netscape.com
1b0727f3d7 41054: Bundle 2-3 langpacks w/ Seamonkey.r=ssu.
git-svn-id: svn://10.0.0.236/trunk@74565 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 23:48:48 +00:00
mcafee%netscape.com
e5281c3074 Breaking mod.pl into three parts, sheriff.pl, status.pl, rules.pl. Cleaning up admin HTML. Some help from timeless getting this change started.
git-svn-id: svn://10.0.0.236/trunk@74564 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 23:33:11 +00:00
ftang%netscape.com
f75ec51bff fix 45876. patch proposed by brade r=ftang. Thanks brade for her help
git-svn-id: svn://10.0.0.236/trunk@74563 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 23:22:57 +00:00
tao%netscape.com
f7309572c6 41054: Bundle 2-3 langpacks with Seamonkey. r=sfraser.
git-svn-id: svn://10.0.0.236/trunk@74562 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 23:21:08 +00:00
edburns%acm.org
9b331dead2 bug=43280
a=av
r=av

Add a "don't show this dialog again" feature to the
"No Default Plugin Dialog".  In addition, don't display the dialog
more than once per mime-type per session.


git-svn-id: svn://10.0.0.236/trunk@74561 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 22:53:32 +00:00
dprice%netscape.com
54c8d45427 bug fixing
git-svn-id: svn://10.0.0.236/trunk@74560 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 22:28:01 +00:00
andreww%netscape.com
1179f18268 Needed for classic/modern skin polish bug #43658 r=prass
git-svn-id: svn://10.0.0.236/trunk@74559 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 22:01:28 +00:00
javi%netscape.com
ad5b61293e Allow signatures to be created even if there is no encryption cert to
be associated with the signature.


git-svn-id: svn://10.0.0.236/trunk@74558 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:57:31 +00:00
javi%netscape.com
27ddc1d974 Allow signatures to be created even if the user doesn't have an
encryption cert to go along with it.


git-svn-id: svn://10.0.0.236/trunk@74557 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:56:34 +00:00
roeber%netscape.com
2840cff26a Added tests of token object manipulation.
I actually did this two months ago, but forgot to
check it in before going on sabbatical.


git-svn-id: svn://10.0.0.236/trunk@74556 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:48:26 +00:00
pinkerton%netscape.com
305a338316 little patch for 45307, overlays leaving "b"'s as submenu titles. try to make them disabled if we do get them. r=saari.
git-svn-id: svn://10.0.0.236/trunk@74555 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:47:36 +00:00
tao%netscape.com
d0fb0891cc 41054 : Bundle 2-3 language packs with Seamonkey. Change en-GB->en-DE in
build and packaging process. r=ssu & sfraser.


git-svn-id: svn://10.0.0.236/trunk@74554 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:40:42 +00:00
ruslan%netscape.com
5dca0e9d36 FInally fix 42283; a=gagan,r=gordon
git-svn-id: svn://10.0.0.236/trunk@74553 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:25:19 +00:00
ruslan%netscape.com
d0867a8d77 WIP on 42283 - make nsNetModules to be thread-safe; r/a=gagan
git-svn-id: svn://10.0.0.236/trunk@74552 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:24:38 +00:00
rods%netscape.com
41db943a7f moved form registration code to Reflow instead of GetPrefSize, it wasn't being called correctly when wi/h was being set via style
b=45846 r=kin


git-svn-id: svn://10.0.0.236/trunk@74551 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:17:03 +00:00
ftang%netscape.com
5e50a75292 take out debuging code
git-svn-id: svn://10.0.0.236/trunk@74550 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:10:39 +00:00
ftang%netscape.com
f996731c51 more fix for 39790 which we forget. change intl.charset.default to navigator.properties
r=nhotta/cata


git-svn-id: svn://10.0.0.236/trunk@74549 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 21:09:11 +00:00
waterson%netscape.com
feac6527d6 Fix Mac bustage. I though 'L' was enabled on Win32 for NS_LITERAL_STRING(), too. Guess I was wrong.
git-svn-id: svn://10.0.0.236/trunk@74548 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 20:15:08 +00:00
leaf%mozilla.org
c9e947532d checking adding en-DE to l10n module -leaf
git-svn-id: svn://10.0.0.236/trunk@74547 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 20:10:07 +00:00
waterson%netscape.com
ea616dd6aa Bug 40817. Modernize string routines; use UTF-8 conversion instead of ASCII conversion on URLs. r=rjc
git-svn-id: svn://10.0.0.236/trunk@74546 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 19:49:47 +00:00
bryner%uiuc.edu
202d788d0f Fix for 37477. r=pavlov,av. a=av.
git-svn-id: svn://10.0.0.236/trunk@74545 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 19:27:20 +00:00
pinkerton%netscape.com
16ae2c7416 don't use webshell.mcp, use docshell.mcp. (bug #45723)
git-svn-id: svn://10.0.0.236/trunk@74544 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 19:11:53 +00:00
pinkerton%netscape.com
bcb3a5800f don't use webshell.mcp, use docshell.mcp.
git-svn-id: svn://10.0.0.236/trunk@74543 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 19:11:04 +00:00
edburns%acm.org
8c18443bc0 bug=16677
a=av
r=stanley.ho

This fix causes nsPluginHostImpl::FindProxyForURL to honor
the "no proxies for" list.


git-svn-id: svn://10.0.0.236/trunk@74542 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 19:09:50 +00:00
mkaply%us.ibm.com
1ce55e5a20 #45973
r=dougt, a=brendan
OS/2 specific changes for nsAppFileLocationProvider.cpp


git-svn-id: svn://10.0.0.236/trunk@74541 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 18:55:28 +00:00
tao%netscape.com
064a0c0cdc Update en-DE pack; not part of the build yet (not pulled).
git-svn-id: svn://10.0.0.236/trunk@74540 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 18:15:38 +00:00
mcgreer%netscape.com
28d8b69dd8 some compilers don't like the void* arithmetic
git-svn-id: svn://10.0.0.236/trunk@74539 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 16:58:32 +00:00
mkaply%us.ibm.com
c893a93e4e #45690
r=mkaply, a=brendan
Sync up nsLocalFileOS2.cpp with Windows changes


git-svn-id: svn://10.0.0.236/trunk@74538 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 14:54:24 +00:00
rods%netscape.com
94c34e2183 check in for andreas, it now checks to make sure that the image or lowimage is not
null before getting the width and height
b=36902, a=waterson


git-svn-id: svn://10.0.0.236/trunk@74537 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 14:50:17 +00:00
brade%netscape.com
2c2057c60e check if events have been handled already before dispatching them; r=saari; bug #45390
git-svn-id: svn://10.0.0.236/trunk@74536 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 14:32:30 +00:00
brade%netscape.com
4140981a9e comment out offensive line to get Mac green again
git-svn-id: svn://10.0.0.236/trunk@74535 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 13:46:43 +00:00
mscott%netscape.com
f50579e6a0 Bug #39736 --> we were always using the charset specified in the mail header instead of using the charset override
value if it was present. This broke forwarding inline for messages that had incorrect charsets assigned to them.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74534 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 08:52:18 +00:00
dveditz%netscape.com
090045d327 Comment-out call to crashing ReloadChrome() so we can call bug 39367 fixed.
git-svn-id: svn://10.0.0.236/trunk@74533 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 08:33:54 +00:00
mscott%netscape.com
ab5be8b1b6 Bug #39736 --> for forward inline case, we need to make sure we pass in the right charset to mime when it fetches
the message body for quoting purposes.
r=nhotta.


git-svn-id: svn://10.0.0.236/trunk@74532 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 07:53:58 +00:00
mscott%netscape.com
811b05e4b5 Bug #39736 --> charset over ride has no effect on quoting. Fix is to use the charset
we just passed in.
r=nhotta


git-svn-id: svn://10.0.0.236/trunk@74531 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 07:42:14 +00:00
mscott%netscape.com
3670570dbc Bug #39736 --> set the charset on the compose field if we have one from the
top most message window.
r=nhotta


git-svn-id: svn://10.0.0.236/trunk@74530 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 07:41:51 +00:00
mscott%netscape.com
c79509bff4 Bug #39736 --> pass in the charset to quote the body with. this helps fix charset over ride has
no effect on quoting.
r=nhotta


git-svn-id: svn://10.0.0.236/trunk@74529 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 07:41:12 +00:00
pinkerton%netscape.com
d788fba357 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@74528 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 07:17:32 +00:00
jst%netscape.com
3b985a0c19 Trivial change to cut down on the noice in bug reports by not returning internal errors back to JS, this fixes harmless, but annoying JS exceptions when mousing over chromeless windows. r=waterson.
git-svn-id: svn://10.0.0.236/trunk@74527 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 06:11:22 +00:00
pollmann%netscape.com
61d0f30aec Bug 42686: Remove an assertion which was preventing dogfood use on Mac. r=jst@netscape.com (thanks!)
git-svn-id: svn://10.0.0.236/trunk@74526 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 06:02:41 +00:00
nelsonb%netscape.com
3183f298c5 Use unsigned ints for length parameters to "octets" functions.
git-svn-id: svn://10.0.0.236/trunk@74525 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 04:47:24 +00:00
nelsonb%netscape.com
70e75128b3 Eliminate lots of warnings found by -fullwarn.
Add sanity test to s_mp_div().


git-svn-id: svn://10.0.0.236/trunk@74524 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 04:21:37 +00:00
nelsonb%netscape.com
83c50409ff Eliminate warnings found with -fullwarn.
git-svn-id: svn://10.0.0.236/trunk@74523 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 04:20:21 +00:00
uid408
98e8bbd097 Enable 8-bit alpha channel for images on Windows. Bug 36694. Patch thanks to VYV03354@nifty.ne.jp. r=kmcclusk,dcone a=brendan
git-svn-id: svn://10.0.0.236/trunk@74522 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 04:19:23 +00:00
dougt%netscape.com
a71892b0d3 disable test. damn sunos.
git-svn-id: svn://10.0.0.236/trunk@74521 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 03:21:31 +00:00
dougt%netscape.com
51025d5814 Fixing sunos bustage.
git-svn-id: svn://10.0.0.236/trunk@74520 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 03:17:58 +00:00
mcafee%netscape.com
2821eadc9b Moving EmitHtmlHeader to after tb_load_data call so we have a value for \tree
git-svn-id: svn://10.0.0.236/trunk@74519 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 02:52:11 +00:00
tao%netscape.com
f1e3a39463 not of part of the build yet. files for en-DE.
git-svn-id: svn://10.0.0.236/trunk@74518 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 02:19:11 +00:00
despotdaemon%netscape.com
4d22f7a9c5 Pseudo-automatic update of changes made by girish.manwani@eng.sun.com.
git-svn-id: svn://10.0.0.236/trunk@74517 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:53:36 +00:00
dougt%netscape.com
af24b67372 removing unneeded include.
git-svn-id: svn://10.0.0.236/trunk@74516 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:53:09 +00:00
pnunn%netscape.com
bd7a89fcf4 fix for bug#30852.(nsbeta2+). Image reloads not using necko reload attributes. pnunn.
rev:neeti; and tested on win/mac/linux.


git-svn-id: svn://10.0.0.236/trunk@74515 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:52:35 +00:00
waterson%netscape.com
ab0efcd0f0 Bug 37622. The rest of the patch that I somehow missed the first time around. r=blizzard,pavlov
git-svn-id: svn://10.0.0.236/trunk@74514 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:40:54 +00:00
dave%intrec.com
77d40ac9dc Fix for bug 31336 (separate bug groups from access groups in user editor)
git-svn-id: svn://10.0.0.236/trunk@74513 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:31:10 +00:00
nbhatla%netscape.com
ba102e4a5e Bug #43658 (Mac classic skin polish fixes) - Updated mac classic skin, adding background to slider, modifying autorepeat images, and adding sidebar collapse images to CSS. Bug #45336/#45725 (Mail app crashes after startup) Fixed this by removing border-top style from sidebar.css in .iframe-panel. Bug #44744 - Fixed checkmark spacing in menus in Windows Classic skin.
git-svn-id: svn://10.0.0.236/trunk@74512 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:21:15 +00:00
edburns%acm.org
65086659fd a=av
r=av
bug=38848

This bug enables nsIPluginHostImpl::GetValue(nsPluginManagerVariable_XDisplay)
to function correctly.

Thanks to Chris Waterson.

This has been built on win32 and solaris.


git-svn-id: svn://10.0.0.236/trunk@74511 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:16:52 +00:00
mstoltz%netscape.com
0d04dfcd48 fix for 42387, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@74510 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:16:15 +00:00
mstoltz%netscape.com
b9104f0941 Fix for 42387. r=dveditz
git-svn-id: svn://10.0.0.236/trunk@74509 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:15:09 +00:00
dougt%netscape.com
62473e4262 Adding gtk embedding test application.
a=valeski@netscape.com - bug 43055


git-svn-id: svn://10.0.0.236/trunk@74508 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:12:25 +00:00
dougt%netscape.com
1d69377092 creating makefile for unix to export base browser depends for embedding
adjusting/update manifest file.


git-svn-id: svn://10.0.0.236/trunk@74507 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:08:43 +00:00
nbhatla%netscape.com
c68dd50f9c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@74506 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 01:01:38 +00:00
tao%netscape.com
5dcdd2f253 Replicated from en-US build
git-svn-id: svn://10.0.0.236/trunk@74504 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 00:59:09 +00:00
ducarroz%netscape.com
a39430b080 Fix for bug 45926. ContentWindow is now known as window._content. R=mscott
git-svn-id: svn://10.0.0.236/trunk@74503 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 00:47:34 +00:00
rbs%maths.uq.edu.au
10f9124e03 [not part of default build] fix an event propagation problem caused by the fact that a point wasn't translated to the frame's relative coordinate system. a:waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74502 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 00:21:34 +00:00
sfraser%netscape.com
8727267960 Fix for blank windows on Mac bug 42289. Ensure we only validate regions which we've painted. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@74501 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 00:13:06 +00:00
pchen%netscape.com
7a5c6a15ff Completed client end work for bug 44281 r=pinkerton, call back end CMT code to get certificate authority string.
git-svn-id: svn://10.0.0.236/trunk@74500 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 00:12:54 +00:00
tao%netscape.com
087bd7172c 39790: [L12y] Move all localizable prefs into chrome://.a=ftang. piggy back
ftang's hacky code. To be replaced by ben.


git-svn-id: svn://10.0.0.236/trunk@74499 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-20 00:00:29 +00:00
mcgreer%netscape.com
cf69efb49b Change the startup/shutdown procedure. Now a minimum amount of seed bytes, MIN_SEED_COUNT, are required before output bytes can be extracted. Also, it is possible to do a full restart by calling RNG_RNGInit() and RNG_RNGShutdown() in succession. This is noted in the blapi.h comments for those functions.
git-svn-id: svn://10.0.0.236/trunk@74498 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:54:43 +00:00
waterson%netscape.com
8f34ddafd2 Bug 37622. Hackery to get <embed hidden='true'> to work. Check hidden attribute; if set, size to (0, 0) and don't create a widget. r=pavlov,blizzard.
git-svn-id: svn://10.0.0.236/trunk@74497 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:46:43 +00:00
danm%netscape.com
5822e6f87e now holds a strong reference to its chrome data source (mComposite). consequent circular reference is broken with stupid refcounting tricks. bug 44621 r=hyatt
git-svn-id: svn://10.0.0.236/trunk@74496 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:39:50 +00:00
varada%netscape.com
c2682c819f fix for bug #43229;folder and threaded message indentation;r=mscott
git-svn-id: svn://10.0.0.236/trunk@74495 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:26:49 +00:00
waterson%netscape.com
8684478ba7 Remove debugging cruft I left in.
git-svn-id: svn://10.0.0.236/trunk@74494 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:24:35 +00:00
nelsonb%netscape.com
a47b86cbb3 Build all mpi .c files with -DMP_API_COMPATIBLE
git-svn-id: svn://10.0.0.236/trunk@74493 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:23:24 +00:00
nelsonb%netscape.com
465370ca82 Implement 5 new functions for dealing with variable length integers
represented as unsigned and signed octet strings.
mp_read_unsigned_octets(), mp_unsigned_octet_size(),
mp_to_unsigned_octets(), mp_to_signed_octets(), mp_to_fixlen_octets()
See mpi.h for more info.


git-svn-id: svn://10.0.0.236/trunk@74492 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:22:43 +00:00
nelsonb%netscape.com
045155f5d6 All #defines now have MP_ prefix. To get old #defines, compile with
-DMP_API_COMPATIBLE .  mpi.c is compiled that way.


git-svn-id: svn://10.0.0.236/trunk@74491 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 23:18:08 +00:00
conrad%ingress.com
8df03a265e - Not yet part of build -
Changed name of Debug target


git-svn-id: svn://10.0.0.236/trunk@74490 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:43:50 +00:00
ftang%netscape.com
9cfa299191 fix 39790 . r=tao,nhotta move send_default_charset , view_default_charset to property
git-svn-id: svn://10.0.0.236/trunk@74489 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:39:37 +00:00
mcafee%netscape.com
2a89d880df Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@74488 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:13:17 +00:00
ddrinan%netscape.com
ea15ea5126 Fix for getting ca name
git-svn-id: svn://10.0.0.236/trunk@74487 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:10:55 +00:00
dougt%netscape.com
a8bf96a79b Damnit., missed this file.
git-svn-id: svn://10.0.0.236/trunk@74486 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:10:49 +00:00
larryh%netscape.com
3cf1228683 BugZilla: 45623
git-svn-id: svn://10.0.0.236/trunk@74485 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:03:36 +00:00
akkana%netscape.com
29b5ed46ed Remove a debug dump statement. r=ducarroz, a=mcafee
git-svn-id: svn://10.0.0.236/trunk@74484 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 22:00:16 +00:00
conrad%ingress.com
cff571d667 Not part of build!
Added some <includes> needed on Mac


git-svn-id: svn://10.0.0.236/trunk@74483 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:47:08 +00:00
conrad%ingress.com
0c7794b33d Removed shared lib targets - Not yet part of build
git-svn-id: svn://10.0.0.236/trunk@74482 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:45:42 +00:00
waterson%netscape.com
6c20af3ad5 Bug 37522. Implement ns4xPlugin::GetMIMEDescription() and ns4xPlugin::GetValue(); alter nsPluginsDirUNIX to use these routines (instead of directly calling the NP_* routine) while grovelling through 4.x plugins. r=av
git-svn-id: svn://10.0.0.236/trunk@74481 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:43:46 +00:00
mscott%netscape.com
7a5aa52cef Bug #45816 --> fix i18n breakage of intl-accept pref by calling getLocalizedUnicharPref
git-svn-id: svn://10.0.0.236/trunk@74480 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:42:18 +00:00
mscott%netscape.com
7ebcebcd5b Bug #45816 --> fix i18n breakage of intl-accept pref by calling getLocalizedUnicharPref
r=tao


git-svn-id: svn://10.0.0.236/trunk@74479 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:41:59 +00:00
don%netscape.com
82e9409289 Partial fix for bug 5236 (yes, one that old) which changes the font-family but not font-size to make Linux/Unix suck less. r=akkana,german a=don
git-svn-id: svn://10.0.0.236/trunk@74478 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:37:05 +00:00
dbragg%netscape.com
bc96ad79ee Fix for nsbeta2+ bug #45653. Removed code that appends a '/' since the call to Append is taking care of that for us. This was resulting in a double slash at the end of the mURL string and the Mac gagged on it.
git-svn-id: svn://10.0.0.236/trunk@74477 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:32:37 +00:00
dougt%netscape.com
5cdd26357c turning on xpfe application locations. r=conrad a=valeski bug 44314.
This TURNS on my last checks!


git-svn-id: svn://10.0.0.236/trunk@74476 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:31:33 +00:00
dougt%netscape.com
b561c24014 turning on xpfe application locations. r=conrad a=valeski bug 44314.
This TURN on my last checks!


git-svn-id: svn://10.0.0.236/trunk@74475 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:29:40 +00:00
ddrinan%netscape.com
793d28755f Fix for cert renewal bug
git-svn-id: svn://10.0.0.236/trunk@74474 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:21:46 +00:00
dougt%netscape.com
ab785b76a4 Adding UNIX makefiles.
making compile on unix

(NOT PART OF BUILD)


git-svn-id: svn://10.0.0.236/trunk@74473 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:20:35 +00:00
morse%netscape.com
25595f5631 bug 44146, parent window for modal dialogs, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@74472 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 21:10:03 +00:00
attinasi%netscape.com
d21b6a133e Checkin patch for Robert O'Callahan: fixed HandlePostedDOMEvents and HandlePostedAttributeChanges to deal with re-entrant calls. b=45510,45361[nsb2+] r=evaughan,attinasi
git-svn-id: svn://10.0.0.236/trunk@74471 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 20:09:59 +00:00
leaf%mozilla.org
80d95e4c7f Automated update
git-svn-id: svn://10.0.0.236/trunk@74470 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 20:00:09 +00:00
dougt%netscape.com
29d31a319e Fixing line feeds.
Adding makefiles for windows.
Making compile on windows.


(not part of build!)


git-svn-id: svn://10.0.0.236/trunk@74469 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 19:58:35 +00:00
tor%cs.brown.edu
582be3088f Bug 40748 - officially kill the SUNWspro4.2 build. r=cls, a=waterson
git-svn-id: svn://10.0.0.236/trunk@74468 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 19:53:01 +00:00
mscott%netscape.com
d8174a05f7 Bug #44397 --> quick fix to the bookmarks problem with create new profile, if the
url is about:blank then don't try to instantiate bookmarks just to get a charset!
i'm not sure this bookmarks code belongs here anyway. We'll file another bug to get it moved out.
r,a=waterson


git-svn-id: svn://10.0.0.236/trunk@74467 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 19:51:20 +00:00
brade%netscape.com
d2cff52a17 move webshell shared library to Components for valeski (a=leaf)
git-svn-id: svn://10.0.0.236/trunk@74466 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 18:25:48 +00:00
valeski%netscape.com
75f3656c64 fixing IID collision, a=leaf
git-svn-id: svn://10.0.0.236/trunk@74465 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 17:23:20 +00:00
mcgreer%netscape.com
914728ee65 initial checkin of PRNG code
git-svn-id: svn://10.0.0.236/trunk@74464 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 17:01:31 +00:00
dave%intrec.com
98bd394231 Fix for bug 27248 (Bug listings saved with .html extension). Patch
submitted by mhamby@logicon.com (Mark Hamby).


git-svn-id: svn://10.0.0.236/trunk@74463 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 16:05:52 +00:00
law%netscape.com
1a586ddce3 Bug 17282; change submenu id so overlay is applied; r=ben@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74462 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 14:08:22 +00:00
mkaply%us.ibm.com
68a8e865d9 #40177
r=cls, a=brendan
Delete OS/2 specific build files during the clobber


git-svn-id: svn://10.0.0.236/trunk@74461 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 14:03:25 +00:00
mkaply%us.ibm.com
4141a1a3da #40177
r=cls, a=brendan
OS/2 build changes to get webshell/tests/viewer building


git-svn-id: svn://10.0.0.236/trunk@74460 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 13:58:45 +00:00
jdunn%netscape.com
ab359db843 Fixing hpux bustage.
The define needed in the header file, doesn't get set till after the
header file is included.
Also added newline to headerfile at the end for hpux.


git-svn-id: svn://10.0.0.236/trunk@74459 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 13:36:35 +00:00
dprice%netscape.com
21607e2f66 adding jar manifest for xpfe/global
NOT IN THE BUILD


git-svn-id: svn://10.0.0.236/trunk@74458 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 10:03:39 +00:00
warren%netscape.com
087c3b48c2 Reverted change from doronr@naboonline.com to print warning. This gets called erroneously when the program quits.
git-svn-id: svn://10.0.0.236/trunk@74457 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 09:32:35 +00:00
dprice%netscape.com
915fc73419 adding jar manifest for ender
NOT IN THE BUILD


git-svn-id: svn://10.0.0.236/trunk@74456 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 09:25:50 +00:00
wtc%netscape.com
9af1a53422 Map "Darwin" to "Rhapsody".
git-svn-id: svn://10.0.0.236/trunk@74454 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 07:04:26 +00:00
ftang%netscape.com
19ca43a9dc add one space to add check in comment for last check in
fix bug 49790. r=tao move intl.charetmenu.* pref to property file


git-svn-id: svn://10.0.0.236/trunk@74453 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 06:30:52 +00:00
ftang%netscape.com
6038f9ff2d *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@74452 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 06:24:47 +00:00
jband%netscape.com
548b116d73 fix for crash that can happen when wrapped JS objects get accessed after xpconnect shutdown. This was burning outside users of xpconnect. bug 45669. r=mccabe@netscape.com a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74451 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 06:15:32 +00:00
jband%netscape.com
83610ad141 fix bustage from dougt's last change to this file. not part of build. r=dougt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74450 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 06:11:12 +00:00
dmose%mozilla.org
3df77ff076 Fixed a bug where people with priviledges being removed would be
counted as new checkers-in.  Separated out the source and doc tree
components of the new checkers-in statistic.


git-svn-id: svn://10.0.0.236/trunk@74449 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 05:57:40 +00:00
waterson%netscape.com
48a15edd1c Doh! Botched patch application. Sorry!
git-svn-id: svn://10.0.0.236/trunk@74448 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 05:23:09 +00:00
warren%netscape.com
0f3fa580d1 Added another .get()
git-svn-id: svn://10.0.0.236/trunk@74447 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 05:12:23 +00:00
waterson%netscape.com
b92de9cfda Bug 21456. Support for 'alt=' attribute on applet frames. Patch submitted by edburns@acm.org, r=waterson, nisheeth, a=waterson.
git-svn-id: svn://10.0.0.236/trunk@74446 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 05:06:55 +00:00
dave%intrec.com
f797a36a52 Fix for bug 32220 (checksetup.pl gives bad permissions). Majority of
patch submitted by seth@cs.brandeis.edu (Seth Landsman).  checksetup.pl
now no longer twiddles the permissions of the contrib folder, and
properly sets the permissions on the folders inside the data folder.


git-svn-id: svn://10.0.0.236/trunk@74445 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 04:34:52 +00:00
warren%netscape.com
268cbb9aaa Added dredded .get()
git-svn-id: svn://10.0.0.236/trunk@74444 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 04:28:15 +00:00
warren%netscape.com
68783ed706 Added nsIRDFDataSource::HasArcIn/HasArcOut. Changed nsXULTemplateBuilder.cpp to use it (ifdef'd for now). Speed up folder loading by about 24%. r=waterson,alecf
git-svn-id: svn://10.0.0.236/trunk@74441 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 03:58:25 +00:00
jband%netscape.com
a01b2be7a8 patches from madams@janna.com to build xpconnect standalone. bug 42026. r=leaf@mozilla.org a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74440 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 03:36:27 +00:00
valeski%netscape.com
2540c443ba removing webshell lib dependency, the webshell is now built into the docshell
git-svn-id: svn://10.0.0.236/trunk@74439 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 03:26:04 +00:00
valeski%netscape.com
b3479dc559 45723. removing the hard init of the webshell
git-svn-id: svn://10.0.0.236/trunk@74433 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 02:58:49 +00:00
valeski%netscape.com
194dc0bbee moving the docshell lib to the components dir and macro'izing some decls. 45723
git-svn-id: svn://10.0.0.236/trunk@74432 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 02:57:05 +00:00
racham%netscape.com
fe18eb1dd1 Fixing bug 45569. Migrated account is shown along with any other partial accounts. r=alecf
git-svn-id: svn://10.0.0.236/trunk@74431 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 02:37:09 +00:00
dveditz%netscape.com
dd855dbc43 fixing mac long-long bustage
git-svn-id: svn://10.0.0.236/trunk@74430 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 01:53:43 +00:00
warren%netscape.com
5279d895c1 Took out -o from make-jars.pl because it didn't work.
git-svn-id: svn://10.0.0.236/trunk@74429 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 01:38:09 +00:00
valeski%netscape.com
2bcea721e9 removing dependency on webshell lib
git-svn-id: svn://10.0.0.236/trunk@74428 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 01:21:33 +00:00
valeski%netscape.com
7ab521def4 adding xpidl module
git-svn-id: svn://10.0.0.236/trunk@74427 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:45:53 +00:00
valeski%netscape.com
aa185940a8 adding xpt's to the packager for the new webshell idls
git-svn-id: svn://10.0.0.236/trunk@74426 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:41:41 +00:00
ddrinan%netscape.com
e12b2a0ddb Fix pickle and unpickle of the CA name
git-svn-id: svn://10.0.0.236/trunk@74425 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:21:39 +00:00
pinkerton%netscape.com
4cfed13f3e File Removed.
git-svn-id: svn://10.0.0.236/trunk@74424 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:20:14 +00:00
pinkerton%netscape.com
f0702df329 doing the fix-the-tree-asap dance. r=valeski.
git-svn-id: svn://10.0.0.236/trunk@74423 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:18:50 +00:00
pinkerton%netscape.com
ac8ece4a98 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@74422 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:12:08 +00:00
pinkerton%netscape.com
67f588e49e File Removed.
git-svn-id: svn://10.0.0.236/trunk@74421 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:10:41 +00:00
valeski%netscape.com
a73dbc1d0b mac is still building this, pulling nsweb stuff
git-svn-id: svn://10.0.0.236/trunk@74420 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:09:40 +00:00
mkaply%us.ibm.com
12f3948192 # 44864
r = mkaply, a = brendan
AltGr not working on OS/2


git-svn-id: svn://10.0.0.236/trunk@74419 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:06:15 +00:00
valeski%netscape.com
181de06fa6 do not need the dot specifier for unix
git-svn-id: svn://10.0.0.236/trunk@74418 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-19 00:04:25 +00:00
pinkerton%netscape.com
fdc79dc6da adding nsIContentViewerEdit.idl to fix bustage. r=valeski.
git-svn-id: svn://10.0.0.236/trunk@74417 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:52:37 +00:00
dveditz%netscape.com
0eac386724 Bug 42548 approximate 6x XPInstall performance improvement, r=dbragg
git-svn-id: svn://10.0.0.236/trunk@74416 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:46:00 +00:00
valeski%netscape.com
eada5b3feb 45723. r=rpotts. webshell-docshell consolodation changes.
git-svn-id: svn://10.0.0.236/trunk@74414 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:37:53 +00:00
wtc%netscape.com
2d9ccf03e3 Bugzilla bug #42900: implement timeout for PR_Connect.
git-svn-id: svn://10.0.0.236/trunk@74413 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:35:24 +00:00
mcafee%netscape.com
0564f3470d HTML-4.0-izing about page (39231). patch=gemal@gemal.dk, r=mcafee, a=waterson
git-svn-id: svn://10.0.0.236/trunk@74412 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:34:57 +00:00
valeski%netscape.com
7c62b02e4e 45723. r=rpotts. no longer building the webshell shared lib, webshell is now in docshell.
git-svn-id: svn://10.0.0.236/trunk@74411 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:26:39 +00:00
jj%netscape.com
4fbe52795f removed obsolete NetworkModular.shlb and renamed MRJInaBox to MRJPlugin from [browser]
git-svn-id: svn://10.0.0.236/trunk@74410 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:22:21 +00:00
valeski%netscape.com
7bdbdf782f 45723. idl'ized some ifaces and removed some cruft
git-svn-id: svn://10.0.0.236/trunk@74409 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:21:25 +00:00
valeski%netscape.com
cd73fc940a 45723, r=rpotts. docshell contains webshell stuff now
git-svn-id: svn://10.0.0.236/trunk@74408 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:17:38 +00:00
valeski%netscape.com
8dd5ebb6bc 45723. r=rpotts. moving webshell over to docshell dir for consolodation. this does *not* mean teh two will merge in object space.
git-svn-id: svn://10.0.0.236/trunk@74407 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:13:53 +00:00
valeski%netscape.com
37012edc37 45723. r=rpotts. webshell-docshell consolodation changes.
git-svn-id: svn://10.0.0.236/trunk@74406 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:13:07 +00:00
pinkerton%netscape.com
4d88da0c4a remove .h files that have been moved into idl. r=valeski (bug #45723).
git-svn-id: svn://10.0.0.236/trunk@74405 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:11:33 +00:00
pinkerton%netscape.com
d8e3d452ce adding IDL project for webshell and a new manifest file for idl in webshell/public. r=valeski (bug 45723).
git-svn-id: svn://10.0.0.236/trunk@74404 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:11:05 +00:00
akkana%netscape.com
f2b8ee5431 42885: Load browser and editor bindings from
chrome://communicator/content
  rather than chrome://global/content. r=ben


git-svn-id: svn://10.0.0.236/trunk@74403 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:08:36 +00:00
akkana%netscape.com
3ef413d57d 42885: Move browser and editor XUL bindings out of global (i.e.
widget-toolkit) and into communicator (i.e. core).
  Also remove the obsolete files platformInputBindings.xul and
  platformTextAreaBindings.xul: text controls use XBL bindings now,
  and the XUL bindings are no longer used.   r=ben,saari


git-svn-id: svn://10.0.0.236/trunk@74402 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:04:24 +00:00
pinkerton%netscape.com
08857bf0bd First Checked In.
git-svn-id: svn://10.0.0.236/trunk@74401 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 23:02:39 +00:00
wtc%netscape.com
b3a1802399 Declare the _nt_nonblock_xxx functions static. Changed the second
argument of _nt_nonblock_accept to be "struct sockaddr *".


git-svn-id: svn://10.0.0.236/trunk@74400 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 22:45:58 +00:00
chuang%netscape.com
d6a0121e4b Fix absync bug 1425 - add record key for migrated address book. r=rhp
git-svn-id: svn://10.0.0.236/trunk@74399 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 22:31:10 +00:00
radha%netscape.com
20cc26d58c Possible fix for 45297. r=pollmann
git-svn-id: svn://10.0.0.236/trunk@74398 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 22:24:27 +00:00
rhp%netscape.com
0abc352ceb Fix to make absync more tolerant on migration - Bug #: 1425 - r: chuang
git-svn-id: svn://10.0.0.236/trunk@74397 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 22:23:18 +00:00
bryner%uiuc.edu
c045206358 Backing out changes for 45661- this was causing regression bug 45749.
git-svn-id: svn://10.0.0.236/trunk@74396 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 22:17:39 +00:00
kin%netscape.com
ed8c32d80b Fix for bug #42263: Unable to invoke IME in the receipient and subject field on plain text mail composer
Replaced GetDeepestWidget() with new function GetEditorContentWindow().
Modified ForceCompositionEnd() to call GetEditorContentWindow().

r=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@74395 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 22:11:31 +00:00
radha%netscape.com
50ef8aca6b Fix for bug # 37324 r=rpotts
git-svn-id: svn://10.0.0.236/trunk@74394 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 21:55:37 +00:00
mcafee%netscape.com
bf5c105437 Removing -pref from -help output, we don't do -pref anymore (40698). r=radha
git-svn-id: svn://10.0.0.236/trunk@74393 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 21:55:29 +00:00
shanjian%netscape.com
de958bb539 #45543
Use empty cmap for those charsets not easily to determin its cmap.
r=ftang r=rbs


git-svn-id: svn://10.0.0.236/trunk@74392 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 21:54:33 +00:00
javi%netscape.com
72c3d2cef1 Modify JavaScript for prefs so that Mozilla correctly saves them.
git-svn-id: svn://10.0.0.236/trunk@74391 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 21:53:08 +00:00
attinasi%netscape.com
9883f75dbb Checkin for timeless@bemail.org: Fixed rounding error making LARGER work for font sizes less than 9px. b=12461, r=attinasi@netscape.com,disttsc@bart.nl a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74390 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 21:48:51 +00:00
mcafee%netscape.com
a8403bfdcc Converting use of depreciated macro NS_IMPL_QUERY_INTERFACE to use NS_IMPL_ISUPPORTS1 (39270). r=alecf
git-svn-id: svn://10.0.0.236/trunk@74389 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 21:37:25 +00:00
rogerl%netscape.com
f236eeaaff Removed all xxxCall, using simple call for everything.
Changed methods to use mMethods vector instead.
Various other fixes etc.


git-svn-id: svn://10.0.0.236/trunk@74388 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:53:03 +00:00
despotdaemon%netscape.com
ba3cb610a6 Pseudo-automatic update of changes made by roc+@cs.cmu.edu.
git-svn-id: svn://10.0.0.236/trunk@74387 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:35:16 +00:00
despotdaemon%netscape.com
845a00fb82 Pseudo-automatic update of changes made by roc+@cs.cmu.edu.
git-svn-id: svn://10.0.0.236/trunk@74386 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:34:11 +00:00
despotdaemon%netscape.com
7f9523449e Pseudo-automatic update of changes made by roc+@cs.cmu.edu.
git-svn-id: svn://10.0.0.236/trunk@74385 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:33:44 +00:00
dprice%netscape.com
c0f5c6403e adding jar manifest file for messenger
NOT IN BUILD


git-svn-id: svn://10.0.0.236/trunk@74384 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:33:43 +00:00
despotdaemon%netscape.com
c9f04c4668 Pseudo-automatic update of changes made by dmose@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@74383 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:30:55 +00:00
javi%netscape.com
d9402479a3 Fix the printf parameter.
git-svn-id: svn://10.0.0.236/trunk@74379 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 18:21:51 +00:00
dave%intrec.com
54523e9cba Fix for bug 42037 (user passwords visible in editusers.cgi). Patch
submitted by JRobertson@medevolve.com (Jon Robertson)


git-svn-id: svn://10.0.0.236/trunk@74378 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 16:01:42 +00:00
dave%intrec.com
0eb2643368 Fix for bug 45586. When using 'usebuggroupsentry', prevent users from
seeing products the don't have access to on the query page.


git-svn-id: svn://10.0.0.236/trunk@74377 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 15:28:19 +00:00
valeski%netscape.com
ba47bca9e1 not part of the build. adding idl'ized version of this iface
git-svn-id: svn://10.0.0.236/trunk@74376 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 15:03:16 +00:00
valeski%netscape.com
060e64fefb not in build. removing this one as one in docshell is going to replace it
git-svn-id: svn://10.0.0.236/trunk@74375 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 06:59:30 +00:00
warren%netscape.com
101ff3ed31 Reverted dougt's silly change that spews all sorts of crap in the build.
git-svn-id: svn://10.0.0.236/trunk@74374 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 06:03:18 +00:00
morse%netscape.com
419ab26efe minor wording change to hide the fact that mozilla and ns tree are improperly shadowed
git-svn-id: svn://10.0.0.236/trunk@74373 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 06:01:10 +00:00
alecf%netscape.com
a4bf0ed0dd adding clarifying comments because this was confusing me and timeless - comments only, does not affect product
git-svn-id: svn://10.0.0.236/trunk@74372 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 04:21:28 +00:00
mscott%netscape.com
02e1a5824a Bug #45689, 45651 --> helper app dialog isn't coming up in release builds
possibly because exthandler.xpt isn't part of the packages.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@74371 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 03:37:17 +00:00
dave%intrec.com
96a21c260d Fix for bug 32971, patch submitted by mtakacs@pacbell.net
git-svn-id: svn://10.0.0.236/trunk@74370 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 02:15:24 +00:00
morse%netscape.com
4b365f587d fix bug 44146, parent window for dialogs, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@74369 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 02:03:57 +00:00
tao%netscape.com
8c115850aa 41054: Bundle 2-3 langpacks w/ Seamonkey. Move all URLs to the bottom of
the file. r=amasri.


git-svn-id: svn://10.0.0.236/trunk@74368 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 01:46:17 +00:00
javi%netscape.com
e32a440548 zeroize the output before converting to utf8 so that we get the sting
length right in all cases.  This allows us to remove the hack where
we hard code the out length to be half the original length.  Which may
or may not be true depending on what we're converting.


git-svn-id: svn://10.0.0.236/trunk@74367 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 01:30:04 +00:00
beard%netscape.com
c793f631eb Added ClassOutput.java, WrapHandler.java.
git-svn-id: svn://10.0.0.236/trunk@74366 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 01:29:34 +00:00
mcgreer%netscape.com
f286a09459 initial checkin of ARCFour.
git-svn-id: svn://10.0.0.236/trunk@74362 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 00:56:09 +00:00
valeski%netscape.com
3d169563fb 45723. not part of the build. idl'izing some interfaces. will throw the switch tomorrow
git-svn-id: svn://10.0.0.236/trunk@74361 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 00:35:55 +00:00
bryner%uiuc.edu
447acb183f Patch from Jan Varga <varga@fri.utcru.sk> to fix bug 45661 (localizability
and keyboard navigation for Linux filepicker).  r=me.


git-svn-id: svn://10.0.0.236/trunk@74360 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 00:25:07 +00:00
sgehani%netscape.com
fdf860dece Fix "local display" crash for Linux installer. No longer destroying gtk
widgets that were already freed during a prior call to gtk_exit().

[nsbeta2+ b=36781; r=ssu]


git-svn-id: svn://10.0.0.236/trunk@74359 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 00:09:29 +00:00
mscott%netscape.com
af93eec0ee Bug #39518 --> we keep showing the security warning when submitting insecure documents even if you check on the
checkbox saying please don't show me this again. We were always setting the pref to true if we ready something out of prefs. =)
The fix is trivial....
r=blake


git-svn-id: svn://10.0.0.236/trunk@74358 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 00:08:38 +00:00
idk%eng.sun.com
db7f3c0f7c ** not part of tbuild **
Updated README for linux build.


git-svn-id: svn://10.0.0.236/trunk@74357 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 00:03:47 +00:00
hyatt%netscape.com
2d8a44eedd Fix for 45248. r=saari
git-svn-id: svn://10.0.0.236/trunk@74356 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 23:55:25 +00:00
bienvenu%netscape.com
b2a8ba1e55 turn on green icon for local folders that get messages filtered into them from pop, fix clearing it for local folder msgs r=gayatrib 43884
git-svn-id: svn://10.0.0.236/trunk@74355 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 23:18:37 +00:00
bienvenu%netscape.com
58afd75e83 turn on green icon for local folders that get messages filtered into them from pop, r=gayatrib 43884
git-svn-id: svn://10.0.0.236/trunk@74354 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 23:16:38 +00:00
danm%netscape.com
ca41dc9d3b fix GetMostRecentWindow by fixing faulty code to locate the correct window in UpdateWindowTimeStamp. code=becki@talkware.net. r=me
git-svn-id: svn://10.0.0.236/trunk@74353 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 23:06:43 +00:00
nbhatla%netscape.com
a9d0bb6615 Bug #43658. Changes to menus and toolbar buttons for mac classic skin. r=hangas
git-svn-id: svn://10.0.0.236/trunk@74352 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 23:02:09 +00:00
nbhatla%netscape.com
9de53cea97 Bug #43658. Classic skin changes to addressbook, buttons (to make look Mac-like), colors, navigation toolbar buttons (to produce better mouse-over behavior), and small changes to spacing in radio buttons, menus, and checkboxes. r=hangas
git-svn-id: svn://10.0.0.236/trunk@74351 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 23:00:45 +00:00
bienvenu%netscape.com
01274d0894 fix upgrading of imap -> local filters by making GetChildByURI discover sub-folders, r=mscott 37320
git-svn-id: svn://10.0.0.236/trunk@74350 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:54:22 +00:00
javi%netscape.com
426d3ef9a5 Re-work some of the JavaScript for prefs so that Mozilla just "does the right thing."
git-svn-id: svn://10.0.0.236/trunk@74349 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:54:07 +00:00
wtc%netscape.com
bba25f392b Bugzilla bug #45683: define FD_SETSIZE to be 4096. This patch is
contributed by Jerry Kirk <Jerry.Kirk@nexwarecorp.com>.


git-svn-id: svn://10.0.0.236/trunk@74348 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:51:42 +00:00
nelsonb%netscape.com
f60e905611 Fix "random" modulus so it is odd and has msb of most significant digit
set to 1, and "random" base to be less than modulus.


git-svn-id: svn://10.0.0.236/trunk@74345 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:37:55 +00:00
nelsonb%netscape.com
d62ea6a2a7 Fix script to run on certain unix platforms.
git-svn-id: svn://10.0.0.236/trunk@74344 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:34:30 +00:00
nelsonb%netscape.com
fb62d50402 Shorten this test so it completes in less time.
git-svn-id: svn://10.0.0.236/trunk@74343 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:33:46 +00:00
nelsonb%netscape.com
1648745d5f Fix mpp_pprime() so it doesn't stop after first succesful iteration.
git-svn-id: svn://10.0.0.236/trunk@74342 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:32:46 +00:00
nelsonb%netscape.com
69a36bf77c Add support for 32-bit digits (64-bit words) on platforms that can
multiply two 32-bit values yielding a 64-bit product in hardware.
Fix bug in s_mp_div that computed a quotient digit q > DIGIT_MAX
when b > DIGIT_MAX/2 and b < a <= DIGIT_MAX.


git-svn-id: svn://10.0.0.236/trunk@74341 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:31:18 +00:00
nelsonb%netscape.com
0e27ece50b Elimintate type mismatch warning.
git-svn-id: svn://10.0.0.236/trunk@74340 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:23:23 +00:00
nelsonb%netscape.com
ed1059eeab Turn on MP_CRYPTO flag by default. Increase default size to 32 digits.
git-svn-id: svn://10.0.0.236/trunk@74339 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:22:28 +00:00
danm%netscape.com
bb4fcd441e enumerators GetNext() now returns the current window and then immediately advances to the next, rather than holding the last window and advancing before returning. fixes a skip when windows are deleted beneath them. bug 39633. r=bryner@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74338 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:21:47 +00:00
nelsonb%netscape.com
6fb1c065c7 Get file to work with SysV make on IRIX.
Add .i target (preprocessor output).


git-svn-id: svn://10.0.0.236/trunk@74337 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:21:42 +00:00
javi%netscape.com
79c1d2b05f Make the 'if' statement a '==' instead of a '='
git-svn-id: svn://10.0.0.236/trunk@74336 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:16:42 +00:00
pinkerton%netscape.com
2835498ba0 fix for 45238, add kung-fu death grip on widget while we're processing the event. r=saari.
git-svn-id: svn://10.0.0.236/trunk@74335 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 22:00:30 +00:00
pinkerton%netscape.com
c75e6e6e91 Temp workaround for bug 44369, r=saari. Don't deal with images on the clipboard that aren't
8 or 24 bits (sigh).


git-svn-id: svn://10.0.0.236/trunk@74334 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:49:12 +00:00
nbhatla%netscape.com
32522b9f8e First Checked In.
git-svn-id: svn://10.0.0.236/trunk@74333 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:15:05 +00:00
nhotta%netscape.com
7716643591 Added mailnews.send_default_charset, mailnews.view_default_charset, check in for ftang, bug 39790, r=tao.
git-svn-id: svn://10.0.0.236/trunk@74332 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:13:36 +00:00
nhotta%netscape.com
9e54d32e99 Added intl.charsetmenu.browser, intl.charsetmenu.mailedit, check in for ftang, bug 39790, r=tao.
git-svn-id: svn://10.0.0.236/trunk@74331 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:12:30 +00:00
beard%netscape.com
0b017cf27b Shouldn't be putting PSMStubs in Components, causes a crash. a=jj
git-svn-id: svn://10.0.0.236/trunk@74330 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:05:44 +00:00
nbhatla%netscape.com
4b9873dfac For bug #43658. Modifies dialog overlays to have proper buttons on MacOS. Also modified other platforms to allow for specially-styled dialog buttons. r=hangas
git-svn-id: svn://10.0.0.236/trunk@74329 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:04:43 +00:00
despotdaemon%netscape.com
b5baaf1cdd Pseudo-automatic update of changes made by dave@intrec.com.
git-svn-id: svn://10.0.0.236/trunk@74328 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 21:04:18 +00:00
ben%netscape.com
d109178db9 modify navigator tooltip to remove location for links
git-svn-id: svn://10.0.0.236/trunk@74327 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 20:46:51 +00:00
beard%netscape.com
c62f4a9ee1 cleaned up by removing widenCString() calls when using world.identifiers
git-svn-id: svn://10.0.0.236/trunk@74326 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 20:39:19 +00:00
pavlov%netscape.com
f0a7ca3db0 changing createInstance to getService to fix 45439 r=gramps
git-svn-id: svn://10.0.0.236/trunk@74325 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 20:28:58 +00:00
radha%netscape.com
470491c9d8 Fallout from previous checkin for bug # 45520. r=pollmann
git-svn-id: svn://10.0.0.236/trunk@74324 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 20:12:27 +00:00
tao%netscape.com
d28f96d96c silent linux build process.
git-svn-id: svn://10.0.0.236/trunk@74323 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 19:59:18 +00:00
rhp%netscape.com
cbbdadaa20 Fix for Bug 1193 - I18N problem with phone numbers - r: brade
git-svn-id: svn://10.0.0.236/trunk@74322 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 19:58:52 +00:00
dbragg%netscape.com
398eb325ab Fix for regression nsbeta2+ bug #45299. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@74321 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 19:56:53 +00:00
mkaply%us.ibm.com
2838858147 #42637
r=mkaply, a=brendan
Implement DrawTile so background images are displayed


git-svn-id: svn://10.0.0.236/trunk@74320 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 19:50:21 +00:00
mkaply%us.ibm.com
239be1d8f2 #42637
r=mkaply, a=brendan
Assert switching skins - add additional font types for OS/2


git-svn-id: svn://10.0.0.236/trunk@74319 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 19:47:39 +00:00
conrad%ingress.com
14ebd77604 1. Added Get/SetPersistentDescriptor. Use this instead of GetPath/InitWithPath.
2. It is now possible to pass nsnull for the path param to NS_NewLocalFile(). This allows one to create an unspecified file.
r = dougt


git-svn-id: svn://10.0.0.236/trunk@74318 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 15:03:05 +00:00
conrad%ingress.com
a4ee995bf1 Added Get/SetPersistentDescriptor. Use this instead of GetPath/InitWithPath.
r = dougt


git-svn-id: svn://10.0.0.236/trunk@74317 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 15:01:10 +00:00
conrad%ingress.com
377de8996f Added Get/SetPersistentDescriptor method. Use this instead of GetPath/InitWithPath.
git-svn-id: svn://10.0.0.236/trunk@74316 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 14:57:14 +00:00
nboyd%atg.com
6cdb0ab2d5 Fix javadoc error.
git-svn-id: svn://10.0.0.236/trunk@74315 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 14:08:28 +00:00
Jerry.Kirk%Nexwarecorp.com
106990278f This test relies on GTK libraries and header files, it is not
buildable on other non-GTK unix builds, like Photon. This change to
the Makefile makes sure this test is only built if GTK is enabled.
r=cls


git-svn-id: svn://10.0.0.236/trunk@74314 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 13:06:50 +00:00
mj%digicool.com
641eacf787 Adjust for nsIHTTPChannel API change, and fix small bug in entity handling; &gt;
means '>' =/


git-svn-id: svn://10.0.0.236/trunk@74313 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 11:36:12 +00:00
bienvenu%netscape.com
d6acb6706e fix AND imap search r=alecf 45419
git-svn-id: svn://10.0.0.236/trunk@74312 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 09:56:20 +00:00
ducarroz%netscape.com
18dcb2bea3 Fix for bug 42329. Use oninput events instead of onkeypress in order to be compatible with IME. R=putterman
git-svn-id: svn://10.0.0.236/trunk@74311 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 04:28:48 +00:00
svn%xmlterm.org
59639cf42d --NOT PART OF DEFAULT BUILD--
XMLterm changes only.
"make xpi" in xmlterm/scripts directory now creates an XPI file for XMLterm.
Removed last vestiges of WebShell!
Deleted outdated GeckoTerm files.


git-svn-id: svn://10.0.0.236/trunk@74310 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 04:11:24 +00:00
tor%cs.brown.edu
3e92dbcf9c Clip 8-bit alpha composited images for bug 44735.
git-svn-id: svn://10.0.0.236/trunk@74309 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 03:02:31 +00:00
morse%netscape.com
2b7dbd27f5 bug 44146, get parent window for modal dialogs
git-svn-id: svn://10.0.0.236/trunk@74308 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 01:37:15 +00:00
shanjian%netscape.com
41b78e469d #42837
Disable charset menu after the document has been modified.
r=cmanske


git-svn-id: svn://10.0.0.236/trunk@74307 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 01:13:10 +00:00
shanjian%netscape.com
85b3673106 #42837
Disable charset menus after the document has been modified.
r=cmanske


git-svn-id: svn://10.0.0.236/trunk@74306 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-17 01:12:10 +00:00
mcafee%netscape.com
bf2a76dc7d Removing extensions/xmlextras/soap/base, there is no code checked into this directory yet.
git-svn-id: svn://10.0.0.236/trunk@74305 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 20:13:43 +00:00
valeski%netscape.com
9f98974650 updating a comment
git-svn-id: svn://10.0.0.236/trunk@74304 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 15:05:31 +00:00
conrad%ingress.com
24e95eef9a First checkin - Not yet part of build.
git-svn-id: svn://10.0.0.236/trunk@74303 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 14:20:33 +00:00
conrad%ingress.com
bd16cdc083 First checkin - Not yet part of build
git-svn-id: svn://10.0.0.236/trunk@74302 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 14:18:11 +00:00
jfrancis%netscape.com
e0dcede60f exporting nsIEditorObserver.h
git-svn-id: svn://10.0.0.236/trunk@74301 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 07:13:03 +00:00
jfrancis%netscape.com
6d22c9ff81 making the text frame use nsIEditorObserver (instead of nsIDocumentObserver). this is for bug 42329: autocompletion firing in the middle of uncommitted ime entry. r=fm
git-svn-id: svn://10.0.0.236/trunk@74300 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 06:43:34 +00:00
jfrancis%netscape.com
b583093ee1 adding in support for nsIEditorObserver. this is for bug 42329: autocompletion firing in the middle of uncommitted ime entry. r=fm
git-svn-id: svn://10.0.0.236/trunk@74299 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-16 06:36:27 +00:00
waterson%netscape.com
4b0eb75e6e Bug 45568. Don't flush notifications while looking for the nsIEditor object! The content sink may be in a crazy state where it's trying to rotate the content model. r=mozbot, because this is a smoketest blocker.
git-svn-id: svn://10.0.0.236/trunk@74298 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 20:51:01 +00:00
brendan%mozilla.org
26dfd37419 Remove unused vars and WIN16 crap; improve freelist-scavenging code to avoid taking too big an arena off the freelist in the case where nb > arenasize (41381 again, r=jband@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@74297 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 19:12:49 +00:00
edburns%acm.org
7e42c828a0 Thanks to Andy Tripp <atripp@home.com> the DOMViewer
now scrolls to the shift-clicked node.


git-svn-id: svn://10.0.0.236/trunk@74296 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 18:56:30 +00:00
wtc%netscape.com
54151cf995 Map error codes.
git-svn-id: svn://10.0.0.236/trunk@74295 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 17:32:33 +00:00
wtc%netscape.com
aa7c6da4d5 Bugzilla bug #25981: BSD-derived systems use systcl() to get the number
of processors.  Thanks to Hans Lambermont <hans@blender.nl> for pointing
out the use of sysctl().


git-svn-id: svn://10.0.0.236/trunk@74294 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 17:23:57 +00:00
mcafee%netscape.com
8ba8ceb464 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@74293 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 15:57:43 +00:00
mcafee%netscape.com
3f66cf83ee Ignore generated files
git-svn-id: svn://10.0.0.236/trunk@74292 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 15:56:34 +00:00
mcafee%netscape.com
a848569bbc Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@74289 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 15:50:33 +00:00
rbs%maths.uq.edu.au
ccce3a7633 Temp. turn off non-TT fonts from the gGlobalFonts list in MathML-enabled builds. Change suggested by erik before going for his sabbatical
git-svn-id: svn://10.0.0.236/trunk@74288 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 08:07:24 +00:00
Peter.VanderBeken%pandora.be
dbef22ac56 Adding SOAP to mac projects. Not part of build. a=vidur.
git-svn-id: svn://10.0.0.236/trunk@74287 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 06:37:21 +00:00
idk%eng.sun.com
736f68d6bc ** Not tbuild part **
Ported BlackConnect to Linux. It is working wuth IBM jdk1.3


git-svn-id: svn://10.0.0.236/trunk@74286 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 06:18:54 +00:00
gagan%netscape.com
6a2e29868d Complete fix for bug 41433 (assert/crash in DNS for offline-online) We were not destroying the monitor in shutdown. r=bryner.
git-svn-id: svn://10.0.0.236/trunk@74285 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 01:47:30 +00:00
warren%netscape.com
0b5670eee7 Fixed reentrancy into service manager getting the PSM component. Fixed some warnings too. r=dprice
git-svn-id: svn://10.0.0.236/trunk@74284 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 01:38:32 +00:00
idk%eng.sun.com
24ef32241f ** not part of tbox build **
Renamed makefiles.


git-svn-id: svn://10.0.0.236/trunk@74283 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 01:37:28 +00:00
javi%netscape.com
61e6729143 Fix P12 import on Solaris given the new NLS package.
git-svn-id: svn://10.0.0.236/trunk@74282 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 01:18:33 +00:00
vidur%netscape.com
b7674a0e8e SOAP listeners now get the protocol status as part of the response. This is not part of the default build.
git-svn-id: svn://10.0.0.236/trunk@74281 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 00:24:27 +00:00
warren%netscape.com
6717724971 Fixed GetSearch to deal with urls that don't implement nsIURL. r=waterson
git-svn-id: svn://10.0.0.236/trunk@74280 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 00:14:02 +00:00
gagan%netscape.com
9723b01e4d Fixed bug 39610. Failed http auth were not being deleted from the single signon database. r=morse.
git-svn-id: svn://10.0.0.236/trunk@74279 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 00:12:27 +00:00
rginda%netscape.com
f05ffa274c removing bogus assert (per rogerl)
git-svn-id: svn://10.0.0.236/trunk@74278 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-15 00:01:25 +00:00
rjc%netscape.com
20494f74f7 Part of fix for nsbeta2+ bug # 28787: FTP listings of non-ascii filenames. r=gagan
git-svn-id: svn://10.0.0.236/trunk@74277 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 23:21:48 +00:00
dbaron%fas.harvard.edu
d8fbca3fa0 Fix bug 42895 (nsbeta2+), a huge leak whenever a text input receieves an event, by propogating SetDocument(null,...) calls to the anonymous content in ender-lite widgets so that script objects for that content are unrooted. r=hyatt, mjudge
git-svn-id: svn://10.0.0.236/trunk@74276 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 23:20:48 +00:00
mscott%netscape.com
e3c43054ee Bug #43691 --> fix pop uidl urls by supressing OnStart and OnStopRequest calls
if the url we are running isn't going to result in any new content.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74275 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 23:16:47 +00:00
javi%netscape.com
2b12d6c373 Make solaris join the realm of XPCOM
git-svn-id: svn://10.0.0.236/trunk@74274 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 23:13:45 +00:00
beard%netscape.com
04ddc4f4ec added operator[](const char*) to StringAtomTable.
git-svn-id: svn://10.0.0.236/trunk@74273 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 23:10:02 +00:00
ruslan%netscape.com
8573c07ccc Fix 45398, a=valeski, r=gagan
git-svn-id: svn://10.0.0.236/trunk@74272 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 23:01:53 +00:00
jfrancis%netscape.com
d07d2c5ad9 adding nsIEditorObserver
git-svn-id: svn://10.0.0.236/trunk@74271 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:42:52 +00:00
radha%netscape.com
1ecf6739ae Fix for 45297 r=pollmann
git-svn-id: svn://10.0.0.236/trunk@74270 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:42:33 +00:00
jfrancis%netscape.com
1aef464ec1 first checked in
git-svn-id: svn://10.0.0.236/trunk@74269 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:42:23 +00:00
jst%netscape.com
14a7bb93fc Fixing IDLC to play nicely in the new string world, not part of the default build.
git-svn-id: svn://10.0.0.236/trunk@74268 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:37:55 +00:00
hangas%netscape.com
ba18a5248d Work on bug 43658 for classic skin, also fixes bug 45294 on win32 and linux. written by german, r= hangas
git-svn-id: svn://10.0.0.236/trunk@74267 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:35:05 +00:00
mcafee%netscape.com
d52690c937 Ignore generated files
git-svn-id: svn://10.0.0.236/trunk@74266 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:28:05 +00:00
rogerl%netscape.com
b8f931c969 Fixed slots for non-function vars, plus bug in slot xcrement.
git-svn-id: svn://10.0.0.236/trunk@74265 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:23:20 +00:00
andreas.otte%primus-online.de
f49c76a6d8 fix for bug 42342 [[regression] Text before ':' in URL is interpreted as protocol], we now try the www...com trick instead, not much better, but in alignment with our current fixup strategy, r=valeski@netscape.com, a=waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74264 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:21:52 +00:00
sfraser%netscape.com
495ff80f0b Fix for nsbeta2+ bug 31134 -- paste in edit menu not enabled correctly. Add a new command set for clipboard-related menu items, and fire it on Copy. Also ensure that UpdateCommands("focus") gets called on window activation, and when unfocussing a wiget in page.
r=hyatt, saari


git-svn-id: svn://10.0.0.236/trunk@74263 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 22:06:31 +00:00
sfraser%netscape.com
90b67a19b8 Fix for nsbeta2+ bug 31134 -- paste in edit menu not enabled correctly. Add a new command set for clipboard-related menu items, and fire it on Copy. Also ensure that Undo/Redo commands are updated correctly, and avoid bogus command updating in plain text compose (since that caused JS errors). r=kin,jfrancis.
git-svn-id: svn://10.0.0.236/trunk@74262 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 21:58:50 +00:00
tao%netscape.com
aa8deabe77 rip out obsolete code.
git-svn-id: svn://10.0.0.236/trunk@74261 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 21:35:55 +00:00
tao%netscape.com
6a9c00a7e0 45262 Check-In "View | Set Language/Region" code to better
expose the Counrty Picker feature to user.r=ftang


git-svn-id: svn://10.0.0.236/trunk@74260 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 21:27:43 +00:00
radha%netscape.com
9546eaefab fix for 44963.crash in SH while clicking in the throbber. r=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74259 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 21:06:20 +00:00
law%netscape.com
db1ec9cb0c Bug 32357; fix context menus for file/directory listings; r=waterson
git-svn-id: svn://10.0.0.236/trunk@74258 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 20:30:07 +00:00
kin%netscape.com
19eb078c58 Fix for bug #45002: Password displayed in clear text.
layout/html/forms/src/nsGfxTextControlFrame2.cpp
      - Modified CreateAnonymousContent() to disable forced
        refreshes and reflows in the editor, and call
        SetTextControlFrameState() to set the intial value
        of the text widget.
      - Fixed leak in SetTextControlFrameState().

    editor/public/nsIHTMLEditor.h
      - Added DisableForcedUpdates and DisableForcedRefreshes flags.

    editor/base/nsEditor.cpp
      - Modified EndUpdateViewBatch() so that it uses the new
        DisableForcedUpdates and DisableForcedRefreshes flags.
      - We now also close the reflow batch before we close the
        update batch.

r=brade@netscape.com


git-svn-id: svn://10.0.0.236/trunk@74257 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 20:26:09 +00:00
jfrancis%netscape.com
51f6b4f01c reserving iid for nsIEditorObserver; NOT PART OF BUILD
git-svn-id: svn://10.0.0.236/trunk@74256 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 19:12:30 +00:00
dougt%netscape.com
06927daab1 First draft of a unix export file.
(not part of build)


git-svn-id: svn://10.0.0.236/trunk@74255 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 18:44:40 +00:00
anthonyd%netscape.com
57bfacee97 fix for regression, bug#45477
cant insert hrules, images, etc...
r=brade, a=granrose


git-svn-id: svn://10.0.0.236/trunk@74254 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 18:38:24 +00:00
dougt%netscape.com
eb35e21bbf Updating with the latest and greatest listing.
git-svn-id: svn://10.0.0.236/trunk@74253 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 17:26:58 +00:00
vidur%netscape.com
1ce8e67131 Fixed Mac casting problem. This is not part of the default build.
git-svn-id: svn://10.0.0.236/trunk@74252 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 16:25:09 +00:00
granrose%netscape.com
9d84bbcfc3 removing three lines from packages-unix that were deleting files that don't exist and generating warnings during packaging.
git-svn-id: svn://10.0.0.236/trunk@74251 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 15:34:49 +00:00
terry%mozilla.org
f9b5e013ed Don't lowercase the entries in legal_keywords.
git-svn-id: svn://10.0.0.236/trunk@74250 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 15:31:43 +00:00
Jerry.Kirk%Nexwarecorp.com
d8c3615da0 NOT PART OF MAIN BUILD - PHOTON ONLY
I needed export a few more files for the test app and add a new virtual
method that has been added since I last checked in this code.
r=jerry.kirk


git-svn-id: svn://10.0.0.236/trunk@74249 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 14:54:04 +00:00
Jerry.Kirk%Nexwarecorp.com
ebec5605e4 NOT PART OF BUILD - PHOTON ONLY
Added a little character conversion to get some special characters
to display correctly on yahoo and abcnews. This has already been
added for other platforms like GTK. author=briane@qnx.com
r=jerry.kirk


git-svn-id: svn://10.0.0.236/trunk@74248 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 14:03:03 +00:00
Peter.VanderBeken%pandora.be
5aaef2956a Make sure to return the prefix for attributes if necessary. Not part of build. a=leaf.
git-svn-id: svn://10.0.0.236/trunk@74247 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 10:32:52 +00:00
rjc%netscape.com
873cf151d5 Part of fix for nsbeta2+ bug # 28787: FTP listings of non-ascii filenames. r=me
git-svn-id: svn://10.0.0.236/trunk@74246 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 09:07:13 +00:00
mscott%netscape.com
36f11fb439 fix mac breakge. I don't think we did it correctly last time. (mscott and bhuvan)
git-svn-id: svn://10.0.0.236/trunk@74245 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 08:29:45 +00:00
idk%eng.sun.com
49187dc0e6 ** NOT PART OF TBOX BUILDS**
Add checking code for component creation


git-svn-id: svn://10.0.0.236/trunk@74244 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 07:19:49 +00:00
mscott%netscape.com
6d34885b89 Backing out gagan's check in as this causes linux to crash on exit which is turning all the linux
builds orange.


git-svn-id: svn://10.0.0.236/trunk@74243 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 06:27:54 +00:00
mscott%netscape.com
3c994edb8d Bug #35744 --> fix hang when fetching urls that don't exist. The fix was to
implement nsIWebProgressListener by the url fetcher. This will tell us when
we've failed to fetch the url. Also had to make sure we passed in a valid load group to the
channel. And added protection to make sure the OnStopRequest doesn't get processed twice.

One caveat is still left with this bug: you are still prompted after each url we fail to load. This
is pretty annoying.

r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@74242 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 06:18:44 +00:00
brendan%mozilla.org
b5e74c9818 Fix for..in loop bug that reopened 41126 (r=jband@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@74241 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 05:37:40 +00:00
brendan%mozilla.org
00f93edbeb Fix 41381 regression from last fix attempt (r=jband).
git-svn-id: svn://10.0.0.236/trunk@74240 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 05:35:08 +00:00
jband%netscape.com
8ddf28d7f5 Fix dropProperty crash. This is needed because the JSObjects used by xpconnect wrapped natives need to act both as host objects with non-slot properties and as a plain JSObjects using the default JSOps and all that entails. So, we can't be passing the host-style props to dropProperty though we do still need to do so for other props. This has only been working up to now by luck. r=brendan@mozilla.org a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74239 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 05:34:46 +00:00
mscott%netscape.com
82915331fc fix mac breakge (mscott and bhuvan)
git-svn-id: svn://10.0.0.236/trunk@74238 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 05:13:16 +00:00
neeti%netscape.com
8289d2fcfe fix for bug 40449, Cache does not store latest value of pages, r/a=gagan
git-svn-id: svn://10.0.0.236/trunk@74237 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 03:58:02 +00:00
gagan%netscape.com
27cf2fa9c2 Removed a not-being-used file.
git-svn-id: svn://10.0.0.236/trunk@74236 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 03:20:33 +00:00
endico%mozilla.org
f0886fcfef change '@::legal_resolution_no_dup' to '@::settable_resolutions'. This a list of resolutions which a bug may be changed to in the bug form and consists of all legal resolutions except 'MOVED' and 'DUPLICATE', since setting a bug to those resolutions requires a special process.
git-svn-id: svn://10.0.0.236/trunk@74235 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 03:20:17 +00:00
racham%netscape.com
e83db94f62 Fixing bug 13850. Profile Manager now handles out of disk space errors passed by prefmigrator. r=dbragg
git-svn-id: svn://10.0.0.236/trunk@74234 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 03:10:18 +00:00
gagan%netscape.com
e4e57e4361 Fix for bug 41433 (assert/crash in DNS for offline-online) We were not destroying the monitor in shutdown. r=bryner
git-svn-id: svn://10.0.0.236/trunk@74233 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 03:07:35 +00:00
gagan%netscape.com
55c1bd36bb Removed a not-being-used file. r=warren
git-svn-id: svn://10.0.0.236/trunk@74232 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 02:43:12 +00:00
morse%netscape.com
9d0c30d762 partial fix for 44514 -- slow on first form submission, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@74231 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:58:18 +00:00
tao%netscape.com
32a68c36df back out unintentional checkin.
git-svn-id: svn://10.0.0.236/trunk@74230 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:53:15 +00:00
rogerl%netscape.com
3b8f784bce Backed out time()
git-svn-id: svn://10.0.0.236/trunk@74229 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:46:14 +00:00
dbaron%fas.harvard.edu
30fe01caa1 Clean up stack trace horribly mangled by some editor. Documentation changes only (not part of build).
git-svn-id: svn://10.0.0.236/trunk@74228 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:41:11 +00:00
mscott%netscape.com
b489157351 Bug #44587 --> fix send mail via aol. caching of smtp values was breaking this. so
you could only send one message. Subsequent message sends fail.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@74227 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:38:55 +00:00
rogerl%netscape.com
d2493254c5 Type targetted binary operators.
Added 'time()' function as native.


git-svn-id: svn://10.0.0.236/trunk@74226 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:00:53 +00:00
dbaron%fas.harvard.edu
eaf444d02e "AUTHOR INFO HERE" isn't a very useful comment. Add author info.
git-svn-id: svn://10.0.0.236/trunk@74225 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:54:24 +00:00
pavlov%netscape.com
ec2c7e75ed sigh. checking in a better fix
git-svn-id: svn://10.0.0.236/trunk@74224 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:49:27 +00:00
nelsonb%netscape.com
4a93e035ae MPI Arbitrary Precision Integer Arithmetic library.
The Initial Developer of the Original Code is
Michael J. Fromberger <sting@linguist.dartmouth.edu>


git-svn-id: svn://10.0.0.236/trunk@74223 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:45:02 +00:00
pavlov%netscape.com
02ffe41ed5 fixing stupid mac build bustage
git-svn-id: svn://10.0.0.236/trunk@74222 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:35:26 +00:00
vidur%netscape.com
986c918c92 Got rid of unused, unimplemented nsISOAPCall:SetSimpleParameters. The script version of nsISOAPCall::SetParameters does exactly this. This is not part of the default build
git-svn-id: svn://10.0.0.236/trunk@74221 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:34:50 +00:00
vidur%netscape.com
f6317563bc Added xmlextras/soap to allmakefiles.sh (not part of default build)
git-svn-id: svn://10.0.0.236/trunk@74220 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:26:38 +00:00
tao%netscape.com
465800e1c1 39790 : [L12y] Move all localizable prefs into chrome://.r=rjc
git-svn-id: svn://10.0.0.236/trunk@74219 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:06:38 +00:00
endico%mozilla.org
784fc13494 oops, remove testing cruft
git-svn-id: svn://10.0.0.236/trunk@74218 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:03:48 +00:00
tao%netscape.com
6566e383a8 39790 : [L12y] Move all localizable prefs into chrome:// .r=rjc.
git-svn-id: svn://10.0.0.236/trunk@74217 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 00:01:33 +00:00
endico%mozilla.org
65ae75ca0b move the 'Move Bug" button so its less likely to be confused with the commit button
git-svn-id: svn://10.0.0.236/trunk@74216 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:57:18 +00:00
pavlov%netscape.com
1886d77b58 fix for secure imap and news bug 39154 r=mscott
git-svn-id: svn://10.0.0.236/trunk@74215 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:53:54 +00:00
pchen%netscape.com
cb62757f25 Partial fix 44281 r=dougt, add certificate authority status bar XUL item and a spring to make it stick to immediate left of security lock icon
git-svn-id: svn://10.0.0.236/trunk@74214 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:52:22 +00:00
pchen%netscape.com
0a774f4ecd Partial fix 44281 r=dougt, add mCertificateAuthorityDisplay member
git-svn-id: svn://10.0.0.236/trunk@74213 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:52:10 +00:00
pchen%netscape.com
a62d5fca9b Partial fix 4428 r=dougt, set mCertificateAuthorityDisplay inside init(), change it whenever we change security lock status
git-svn-id: svn://10.0.0.236/trunk@74212 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:52:09 +00:00
pchen%netscape.com
1c97a2a7c9 Partial fix 44281 r=dougt, get certificate authority XUL element and pass that into secruityUI.init()
git-svn-id: svn://10.0.0.236/trunk@74211 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:52:08 +00:00
pchen%netscape.com
956ccecfa1 Partial fix 44281 r=dougt, added certauth parameter to init()
git-svn-id: svn://10.0.0.236/trunk@74210 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:52:07 +00:00
tao%netscape.com
016fdbee0e 39790 : [L12y] Move all localizable prefs into chrome:// .r=morse
git-svn-id: svn://10.0.0.236/trunk@74209 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:51:35 +00:00
tao%netscape.com
a9fb1d5249 39790 : [L12y] Move all localizable prefs into chrome:// .r=morse,valeski.
git-svn-id: svn://10.0.0.236/trunk@74208 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:50:21 +00:00
tao%netscape.com
45a87f1bff 39790 : [L12y] Move all localizable prefs into chrome://.r=morse.
git-svn-id: svn://10.0.0.236/trunk@74207 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:46:53 +00:00
tao%netscape.com
55e8b84196 39790 : [L12y] Move all localizable prefs into chrome:// .r=valeski.
git-svn-id: svn://10.0.0.236/trunk@74206 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:45:10 +00:00
dbragg%netscape.com
764d71efbd Fixed some potential NASTY bugs related to fix for bug #36249. Specifically corrupting the users 4.x prefs.js file. Very bad. r=racham
git-svn-id: svn://10.0.0.236/trunk@74205 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:29:24 +00:00
cmanske%netscape.com
6718684d1e Fixed wrong method call to set background image for Table Dialog. Part of work for 20973, r=mjudge
git-svn-id: svn://10.0.0.236/trunk@74204 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:20:42 +00:00
mjudge%netscape.com
d6fdcca880 storing the factory as a weak reference. speeding up ender-lite. r= anthonyd, r= jfrancis
git-svn-id: svn://10.0.0.236/trunk@74203 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:20:15 +00:00
mjudge%netscape.com
1e328a1b18 removing unnecessary ifdef
git-svn-id: svn://10.0.0.236/trunk@74202 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:19:21 +00:00
mjudge%netscape.com
58aa190a55 making the element factory support weak references. needed to make ender-lite faster.
git-svn-id: svn://10.0.0.236/trunk@74201 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:18:37 +00:00
mcafee%netscape.com
078be2dc0e Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@74200 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:15:42 +00:00
mjudge%netscape.com
1f23cf0495 anthonyd: r=mjudge bug 39919 letting DOM level 2 stuff work for the editor. eliminating createelementNS and using the factory instead.
git-svn-id: svn://10.0.0.236/trunk@74199 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:15:41 +00:00
endico%mozilla.org
47f5d073f0 Bug moving code is now fully implemented. To use it, turn on the param and set the move related params.
git-svn-id: svn://10.0.0.236/trunk@74198 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:12:52 +00:00
vidur%netscape.com
bc2de9b1ae Added SOAP component tothe XMLExtras module. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@74197 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:12:39 +00:00
vidur%netscape.com
a84fc8ed95 SOAP calling tests
git-svn-id: svn://10.0.0.236/trunk@74196 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:11:59 +00:00
vidur%netscape.com
24c3708e0f Additional SOAP call work. This is not part of the Seamonkey project.
git-svn-id: svn://10.0.0.236/trunk@74195 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:11:16 +00:00
vidur%netscape.com
f50db6ee93 Commented nsIXMLHttpRequest. Used the new nsIXPCNativeCallContext::SetReturnValueWasSet method to deal with returning event handler function objects to script callers of nsIXMLHttpRequest::Onload and Onerror. Turned on synchronous requests. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@74194 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:08:30 +00:00
jband%netscape.com
7b95a566f5 add THREADSAFE nsISupports implementation macros to some of the classes which lacked them. bug 45404. a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74193 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:04:15 +00:00
hyatt%netscape.com
c23002ba84 Fix for 43467. r=bryner
git-svn-id: svn://10.0.0.236/trunk@74192 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 23:00:59 +00:00
tao%netscape.com
7b07c56907 42748 After selecting locale for new profile, different profile does not
switch back.(r,a)=hyatt


git-svn-id: svn://10.0.0.236/trunk@74191 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 22:59:22 +00:00
akkana%netscape.com
b1d2c282a3 Take my name out of a debug printf -- tired of seeing all that output
git-svn-id: svn://10.0.0.236/trunk@74190 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 22:50:39 +00:00
akkana%netscape.com
bc856a5cb9 42885: The other platforms define cut/copy/paste in their platform files (why?), so, sigh, do the same thing, for now. r=saari
git-svn-id: svn://10.0.0.236/trunk@74189 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 22:21:42 +00:00
akkana%netscape.com
956e3e05a8 42885: Add cut/copy/paste/undo/redo bindings. r-saari
git-svn-id: svn://10.0.0.236/trunk@74188 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 22:10:13 +00:00
morse%netscape.com
acbc713c55 sidestep bug 43200, coded by jrgm, r=morse&hyatt
git-svn-id: svn://10.0.0.236/trunk@74187 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:54:37 +00:00
jst%netscape.com
f3b7df1a2e Fixing (partially at least) nsbeta2+ bug 38951, the problem was that properties on closed window objects were not accessible due to the document being destroyed to soon. We still destroy the document too soon but now we at least hold on to the document principal in the window object so that we don't bail on every security check done for every access to properties the closed window. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74186 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:48:25 +00:00
varada%netscape.com
f147f23011 fix for bug#41678 -need printplus in addressbook.xul;r=scottip
git-svn-id: svn://10.0.0.236/trunk@74185 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:46:52 +00:00
akkana%netscape.com
01ccd93d46 42885: Add cut/copy/paste bindings for input fields and text areas. r=saari
git-svn-id: svn://10.0.0.236/trunk@74184 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:38:32 +00:00
endico%mozilla.org
8a584f071d Add 'MOVED' as a default resolution. If CheckEnumField alters the bug db then update the shadow db too.
git-svn-id: svn://10.0.0.236/trunk@74183 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:38:15 +00:00
matt%netscape.com
4f1747de4a changing url for chrome to fix bug 43223
r=ben


git-svn-id: svn://10.0.0.236/trunk@74182 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:36:40 +00:00
ftang%netscape.com
de073507d6 fix bug 43272. r=ssu/dvetidz . check nsresult by using NS_FAILED instead of NS_OK !=
becaues the Japanese to Unicode converter may return success code whihc is not NS_OK


git-svn-id: svn://10.0.0.236/trunk@74181 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:21:24 +00:00
erik%netscape.com
5eeeba2ff6 bug 39570; we were using the Western font to determine the height of the
URL bar, and this caused the Japanese text to be truncated; we now use the
locale's language group when the caller does not pass us the correct one;
r=nhotta


git-svn-id: svn://10.0.0.236/trunk@74180 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:13:13 +00:00
erik%netscape.com
028aa255d5 bug 39570; was using Korean font for Japanese text; we now use the locale's
language group when the document is in Unicode; r=nhotta


git-svn-id: svn://10.0.0.236/trunk@74179 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:10:34 +00:00
erik%netscape.com
c6b2ec4689 bug 22031; enabling raster (bitmap) fonts on Windows, e.g. for UI;
r=rods,rbs


git-svn-id: svn://10.0.0.236/trunk@74178 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:08:37 +00:00
chuang%netscape.com
e36a60e6a5 Bug 45282 No Address Book in today's Linux build. r=alecf
git-svn-id: svn://10.0.0.236/trunk@74177 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:07:01 +00:00
mkaply%us.ibm.com
6f5c8bba6b #39218
r = ben, a = waterson
I am checking this in for jag - new animation for modern skin that has rounded edges


git-svn-id: svn://10.0.0.236/trunk@74176 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 21:04:54 +00:00
evaughan%netscape.com
51491965b2 Fix for bug #44576
-r jrgm

PS: Last checkin was reviewed by waterson. Forgot the -r


git-svn-id: svn://10.0.0.236/trunk@74175 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:58:42 +00:00
nhotta%netscape.com
98c610b5a9 Added a charset load listener for mail, bug 28869,r=cata.
git-svn-id: svn://10.0.0.236/trunk@74174 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:57:46 +00:00
nhotta%netscape.com
4861d70cd9 Added a mail charset menu cache support, bug 28869,r=cata.
git-svn-id: svn://10.0.0.236/trunk@74173 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:55:52 +00:00
nhotta%netscape.com
97a395aadf Changed to check override case before set a charset to msgWindow, bug 28869, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@74172 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:53:57 +00:00
evaughan%netscape.com
10a4df8c45 Fix for ender clip widget bug #42451
git-svn-id: svn://10.0.0.236/trunk@74171 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:51:39 +00:00
dougt%netscape.com
5db9479d39 *NOT PART OF BUILD*
Embedding exporter.


git-svn-id: svn://10.0.0.236/trunk@74170 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:40:21 +00:00
varada%netscape.com
95a6488ff8 changing the exe name from Netscapesetup to N6setup
git-svn-id: svn://10.0.0.236/trunk@74169 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:31:14 +00:00
terry%mozilla.org
bec7111c1d Oops. How did I let that horrible typo get in?
git-svn-id: svn://10.0.0.236/trunk@74168 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:07:20 +00:00
terry%mozilla.org
9126128ba9 Keywords were already enforced to never differ only in capitalization. So, changed the code so that case no longer matters when typing in the name of a keyword.
git-svn-id: svn://10.0.0.236/trunk@74167 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 20:04:15 +00:00
mkaply%us.ibm.com
0814704e83 #42637
r = mkaply, a = brendan
TINDERBOXBREAK - THIS FILE IS OS/2 ONLY


git-svn-id: svn://10.0.0.236/trunk@74166 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 15:39:52 +00:00
kin%netscape.com
d848b855b4 Fix for bug #43208: readonly text fields are not readonly
Modified CreateAnonymousContent() and AttributeChanged()
to set the editor's readonly and disabled flags.
r=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@74165 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 13:51:37 +00:00
blizzard%redhat.com
467bf3303a fix focus problems documented in bug #45351. make sure that key press events are not passed to mozilla windows when an external gtk widget has focus and make sure that key press events are passed to mozilla when it has focus and a key press event happens outside of its windows. r=pavlov a=waterson
git-svn-id: svn://10.0.0.236/trunk@74164 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 11:48:28 +00:00
taka%netscape.com
7fd6e8e721 fix for #43219. r=alecf,nhotta
git-svn-id: svn://10.0.0.236/trunk@74163 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 07:17:03 +00:00
mscott%netscape.com
1cefd5cc5e Bug #43583 --> bring up the save as dialog from the backend instead of from the front end.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74162 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 06:26:25 +00:00
mscott%netscape.com
0182f2a741 Bug #43583 --> set the application description field on the mime info object based on a registry setting if we are getting the
information from the windows registry. This is later used by the helper app dialog. Correctly implement different
behaviors for mime info action types of useSystemDefault vs. useHelperApp
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74161 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 06:25:53 +00:00
brendan%mozilla.org
5ecfd2355f Why didn't the lack of this break Linux, where I tested?
git-svn-id: svn://10.0.0.236/trunk@74160 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 05:56:28 +00:00
mscott%netscape.com
cec6947904 Bug #44603 --> hack to get around an infinite loop if we try to open a .eml attachment
The fix: if the attachment is of type message/rfc822 then treat the outgoing content
as raw data to force a new browser window to come up and display the content.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74159 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 05:28:51 +00:00
syd%netscape.com
33ca3be564 Add makefiles for JS profiler
git-svn-id: svn://10.0.0.236/trunk@74158 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 05:19:46 +00:00
syd%netscape.com
3ffc713fbf Add support to JS profiler for collecting min, max, and average execution
times of functions. Doesn't yet handle rentrancy. Create Makefile.in files
so this stuff will build on *nix. r=jband, a=leaf


git-svn-id: svn://10.0.0.236/trunk@74157 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 05:19:22 +00:00
alecf%netscape.com
fde537da4e Fix for #37302, among other things - bring lots of mail menus up to spec- patch contributed by timeless@bemail.org r=alecf, a=brendan
git-svn-id: svn://10.0.0.236/trunk@74156 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 05:18:17 +00:00
brendan%mozilla.org
854313ee5e Try again for bug 41381, r=wtc@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74155 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 05:08:35 +00:00
rbs%maths.uq.edu.au
284a2a04fc [not part of default build] perf. enh. in the land of stretchy chars. a:waterson
git-svn-id: svn://10.0.0.236/trunk@74154 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 04:18:35 +00:00
rbs%maths.uq.edu.au
7c42c8c238 Fix build bustage. b:42793. a:waterson
git-svn-id: svn://10.0.0.236/trunk@74153 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 04:16:01 +00:00
rhp%netscape.com
bc7240cef6 Fix for crashing in forward - reply - Bug #: 45216 - r: alecf
git-svn-id: svn://10.0.0.236/trunk@74152 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 04:02:35 +00:00
brendan%mozilla.org
281682666b Uh oh. Back out last change until I'm sure I'm not an idiot.
git-svn-id: svn://10.0.0.236/trunk@74151 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 04:00:33 +00:00
brendan%mozilla.org
8f313d2720 Fix ancient bugs: compare-and-swap is not threadsafe given A-B-A address replay via malloc/free; release to mark in pool->first empty arena would not free anything, as troy@tellme.com found (41381, r=wtc@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@74150 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 03:49:22 +00:00
idk%eng.sun.com
4f30d77c4b ** NOT PART OF TBOX BUILDS**
Addon to previous check in


git-svn-id: svn://10.0.0.236/trunk@74149 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 03:41:24 +00:00
idk%eng.sun.com
1b048e4a15 ** NOT PART OF TBOX BUILDS**
Upgraded blackConnect for M16.
Added make files for win


git-svn-id: svn://10.0.0.236/trunk@74148 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 03:36:02 +00:00
waterson%netscape.com
9f71ef28c6 Inline 'operator PRUnichar*()', 'operator char*()'; add inline 'get()' methods. r=brendan
git-svn-id: svn://10.0.0.236/trunk@74147 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 03:20:28 +00:00
sgehani%netscape.com
a4160a0f93 *** NOT PART OF TBOX BUILDS ***
1> Enabling talkback in Unix and Mac builds [bugscape nsbeta2+ b=1405]
2> Adding en-US and en-GB language packs to installers [nsbeta2+ b=41054]

[r=ssu]


git-svn-id: svn://10.0.0.236/trunk@74146 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 02:56:21 +00:00
jst%netscape.com
d32b36fc15 Fixing nsbeta2+ bug 44022. Loading javascript: URL's from a plugin wasn't always working. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74144 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 02:44:14 +00:00
brendan%mozilla.org
0bbe899178 Avoid costly GetScheme on nsSimpleURI, and avoid yet another "javascript:" string literal and the consequent PL_strcasecmp call, in favor of a fast NUL first-char test.
git-svn-id: svn://10.0.0.236/trunk@74143 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 02:30:16 +00:00
beard%netscape.com
c9aa3f4e54 need <stdio.h> for fopen on the Mac.
git-svn-id: svn://10.0.0.236/trunk@74142 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 02:23:55 +00:00
morse%netscape.com
f33ac9074e restore what I backed out last night -- it wasn't breaking the build after all
git-svn-id: svn://10.0.0.236/trunk@74141 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 01:45:55 +00:00
beard%netscape.com
29fcfa000e fixing readEvalFile to save off important Context data members. implemented identical_Default for string
git-svn-id: svn://10.0.0.236/trunk@74140 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 01:35:57 +00:00
despotdaemon%netscape.com
594bb3c2bb Pseudo-automatic update of changes made by asa@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@74139 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:55:24 +00:00
mscott%netscape.com
312b35db9d quick patch to fix the mac build. Mac doesn't seem to like NS_LITERAL_STRING for a const char * defined using a #define.
git-svn-id: svn://10.0.0.236/trunk@74138 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:49:53 +00:00
despotdaemon%netscape.com
596fcc9f66 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@74137 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:45:59 +00:00
beard%netscape.com
fe002abe93 fixing readEvalFile() by creating another Context
git-svn-id: svn://10.0.0.236/trunk@74136 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:44:30 +00:00
law%netscape.com
463bdcadbe Bug 43583; tweaks to new helper app launch dialog; r=ben@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74135 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:44:26 +00:00
rogerl%netscape.com
1fc062cb5a Switching to generic binary operator in order to distinguish situation
where Operators package had been loaded and be able to generate typed
versions of the binary operators otherwise.


git-svn-id: svn://10.0.0.236/trunk@74134 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:14:54 +00:00
hyatt%netscape.com
c66b181658 Additional fix for not scrolling to bottom of tree (dogfood bug), r=bryner
git-svn-id: svn://10.0.0.236/trunk@74133 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:12:38 +00:00
ssu%netscape.com
0143fd2ac8 fixing bug #45256 - added comments to config.ini for localization scripts to key off of. Not part of tinderbox build. nsbeta2+. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@74132 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:11:52 +00:00
ssu%netscape.com
97aa35a9c3 to aid in fixing bug #45256. These files are not part of the build, and won't be. They are tools to help the localization team
git-svn-id: svn://10.0.0.236/trunk@74131 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:09:41 +00:00
dougt%netscape.com
db020b04c0 Fixing bustage.
git-svn-id: svn://10.0.0.236/trunk@74130 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:59:33 +00:00
vidur%netscape.com
ffd0cb1a4e Fix for bug 44608. Added nsIDocShellTreeOwner::ExitModalLoop() and nsIWebBrowserChrome::ExitModalEventLoop(). r=rpotts,a=valeski
git-svn-id: svn://10.0.0.236/trunk@74129 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:56:14 +00:00
jfrancis%netscape.com
fb9119fcee fix for 36570; mail signature shows up in middle of quoted text
git-svn-id: svn://10.0.0.236/trunk@74128 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:44:56 +00:00
dougt%netscape.com
db2c70c95b bug 40750.
Adding followSymlink flag to nsILocalFile.
Adjusting callers.
windows shortcut optimizations.
r=blizzard@mozilla.org.
a=brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@74127 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:31:31 +00:00
pnunn%netscape.com
86f53d33c9 fix for bug#40785, #40767: added new state so gif load can be aborted without
an error. pnunn   rev:kin@netscape.com


git-svn-id: svn://10.0.0.236/trunk@74126 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:27:54 +00:00
jfrancis%netscape.com
57a7c5fa33 fix for 43903; making a list after inline contnet doesnt work
git-svn-id: svn://10.0.0.236/trunk@74125 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:21:49 +00:00
ruslan%netscape.com
a5bf6f1545 Fix MAC bustage
git-svn-id: svn://10.0.0.236/trunk@74124 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:20:04 +00:00
dmose%mozilla.org
cd24ad0abe added a few issues that came up while revamping the callback model
git-svn-id: svn://10.0.0.236/trunk@74123 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:08:11 +00:00
dmose%mozilla.org
5b8b7f50cf a per-connection nsILDAPMessageListener is no longer necessary. removed. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@74122 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:06:37 +00:00
dmose%mozilla.org
429ae87836 Revamped callback code so that nsILDAPMessageListener is a per operation attribute rather than a per connection attribute. This allows for much more flexibility in handling LDAP messages received, as well as sharing of LDAP connections (a performance win). Also modified nsISupports proxy usage so that I can callback to nsILDAPMessageListeners implemented in JS (thanks dougt). a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@74121 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 23:05:27 +00:00
bienvenu%netscape.com
e16a8ebe53 fix 45184 crash involving rdf literals r=alecf
git-svn-id: svn://10.0.0.236/trunk@74120 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:54:45 +00:00
mscott%netscape.com
c3d34064e6 Bug #44635 --> when replying or forwarding a message, we were passing in a bogus channel when we tried to fetch
the message for quoting purposes. As a result, the content type (which includes the charset information for the message)
was not getting set on the right channel. I changed things so we pass in the real channel and not a bogus one.

r=alecf


git-svn-id: svn://10.0.0.236/trunk@74119 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:54:19 +00:00
syd%netscape.com
2dd747e17f r=law, vishy
This is part of a ns commercial nsbeta2+ bug fix. Instead of hardcoding the
DDE application name (e.g., Mozilla), read it from a string table for win32.


git-svn-id: svn://10.0.0.236/trunk@74118 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:45:11 +00:00
mcgreer%netscape.com
951eff21a1 fingerprint had to handled in certutil for now since SECU_PrintCertificate receives a decoded DER. see #45303
git-svn-id: svn://10.0.0.236/trunk@74117 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:42:57 +00:00
mkaply%us.ibm.com
133bba6441 #40177
r=cls, a=brendan
Tinderbox break - need MOZ_JS_LIBS - cls approved on #mozilla


git-svn-id: svn://10.0.0.236/trunk@74116 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:42:41 +00:00
ruslan%netscape.com
d6f50841f6 Fix 45061, a/r=gagan
git-svn-id: svn://10.0.0.236/trunk@74115 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:41:26 +00:00
jdunn%netscape.com
8dd9b14bc1 do not include -lm for HPUX (as well as BeOS)
r= leaf@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@74114 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:41:17 +00:00
mkaply%us.ibm.com
072d598cd8 r=cls, a=brendan
Because of the raptor to gk change, we don't need SHORT_LIBNAME - for some things


git-svn-id: svn://10.0.0.236/trunk@74113 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:38:28 +00:00
akkana%netscape.com
a97601cfa7 Partial fix for 42885: several of the bindings weren't there, but even
when they're there, the XBL events still don't work right. r=saari


git-svn-id: svn://10.0.0.236/trunk@74112 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:34:16 +00:00
dougt%netscape.com
79296d7ae4 removing -nologo. It is reduntant. ra=leaf@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@74111 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:33:55 +00:00
hyatt%netscape.com
5882acb105 Fix for smoketest blocker. r=saari, bug#=35952
git-svn-id: svn://10.0.0.236/trunk@74110 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 22:24:29 +00:00
mcgreer%netscape.com
72e2f0642e add fingerprints to info dumped with certificate
git-svn-id: svn://10.0.0.236/trunk@74109 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 20:48:47 +00:00
brade%netscape.com
60e2ec2dcd add id to print item; r=kin; bug #43904
git-svn-id: svn://10.0.0.236/trunk@74105 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 14:48:13 +00:00
rhp%netscape.com
f01f98e198 Properties change for prompt language change - Bug #: 1429 - r: sol
git-svn-id: svn://10.0.0.236/trunk@74104 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 14:04:42 +00:00
Jerry.Kirk%Nexwarecorp.com
24515c014a Added new Photon Embedding directories.
git-svn-id: svn://10.0.0.236/trunk@74103 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 13:56:39 +00:00
Jerry.Kirk%Nexwarecorp.com
709aac5742 NOT PART OF BUILD - PHOTON ONLY
Adding the PtMozilla widget for the first time.
Submited by briane@qnx.com
r=kirkj


git-svn-id: svn://10.0.0.236/trunk@74102 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 13:53:29 +00:00
ben%netscape.com
737d0ac5dd fix for profile manager header (fix circle and icon)
git-svn-id: svn://10.0.0.236/trunk@74101 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:55:58 +00:00
dprice%netscape.com
d728d07b1e NOT IN THE BUILD
adding jar.mn file to chatzilla for the eventual repackaging of the chrome into jar files.


git-svn-id: svn://10.0.0.236/trunk@74100 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:52:02 +00:00
dprice%netscape.com
7c8108bb0e NOT IN THE BUILD
git-svn-id: svn://10.0.0.236/trunk@74099 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:50:37 +00:00
dprice%netscape.com
59521ec65a NOT IN THE BUILD
Modified the xinstall:: rule


git-svn-id: svn://10.0.0.236/trunk@74098 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:45:26 +00:00
dprice%netscape.com
95be416760 fixed a crasher when getting the length of an empty string.
git-svn-id: svn://10.0.0.236/trunk@74097 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:39:34 +00:00
ben%netscape.com
24df298bdb fix for b28186, rename to existing profile does not re-prompt for correct profile name
git-svn-id: svn://10.0.0.236/trunk@74096 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:20:06 +00:00
ben%netscape.com
b22151fdfd 27526 - focus tree widget in profile manager on startup.
git-svn-id: svn://10.0.0.236/trunk@74095 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 07:07:55 +00:00
ben%netscape.com
68b6b97dca fixes for 39923 and 38201, urlbar history popup navigation problems
git-svn-id: svn://10.0.0.236/trunk@74094 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 06:44:12 +00:00
mscott%netscape.com
f4d3d99bbf Bug #43583 --> throw the switch for the helper app dialog. Start invoking the helper app dialog and bring it
up whenever the user trys to launch a helper app. This was submitted by bill law. r=mscott

also, use the file name in the url as the basis for the temporary file name.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74093 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 06:09:02 +00:00
cls%seawood.org
a376fa0f63 Fix for BeOS bustage.
git-svn-id: svn://10.0.0.236/trunk@74092 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 06:08:19 +00:00
ben%netscape.com
a86d220748 fix for 32255, remove placeholder text in migrate before-delete dialog, and updated code to reflect correct behaviour.
git-svn-id: svn://10.0.0.236/trunk@74091 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 05:19:28 +00:00
mscott%netscape.com
090ca37720 Fix for Bug #41707 --> JS and data urls were not getting an owner set on them when they were entered from the urlbar. this
prevented them from getting executed properly. For now, we'll inherit the owner of the current document in these
two cases.
r=mstoltz


git-svn-id: svn://10.0.0.236/trunk@74090 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 05:06:28 +00:00
ben%netscape.com
78d12f7e91 fixes for 32034 (sidebar search won't work from mail) and other search
problems (cannot sort search engines, etc)


git-svn-id: svn://10.0.0.236/trunk@74089 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 05:01:34 +00:00
tonyr%fbdesigns.com
0841f06eb3 Fix for bustage, added msgUtil.lib projects to link.
git-svn-id: svn://10.0.0.236/trunk@74088 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 04:43:55 +00:00
morse%netscape.com
b0d6619126 backing out change temporarily till I figure out why it broke the mac build
git-svn-id: svn://10.0.0.236/trunk@74087 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 04:30:05 +00:00
tonyr%fbdesigns.com
ddc5d37277 Fix up strings for localisation. r=alecf, b=36483,39004
git-svn-id: svn://10.0.0.236/trunk@74086 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:58:17 +00:00
tonyr%fbdesigns.com
2f1ede35b7 fix for importing mutlibyte charset messages. r=rhp, b=33291
git-svn-id: svn://10.0.0.236/trunk@74085 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:57:10 +00:00
bienvenu%netscape.com
d198d723a4 fix imap subscribe ui problems, r=mscott 42106
git-svn-id: svn://10.0.0.236/trunk@74084 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:50:40 +00:00
sgehani%netscape.com
e3ee0afabe Make Linux and Mac installers install to the target directory instead of the
platform-specific notion of temp.

[dogfood+ b=45166; r=dveditz]


git-svn-id: svn://10.0.0.236/trunk@74083 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:42:35 +00:00
ben%netscape.com
2043381a3b small ammendment to earlier tooltip checkin for browser
git-svn-id: svn://10.0.0.236/trunk@74082 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:35:54 +00:00
jst%netscape.com
ce446bb897 Fixing nsbeta2+ bug 38610, don't throw a JS exception when .complete is accessed on an Image created in JS. r=pollman@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74081 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:35:13 +00:00
racham%netscape.com
c59ec4122f Fixing bug 37398. Converting the migrated profile strings into the right type for i18n. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@74080 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:25:24 +00:00
dbaron%fas.harvard.edu
130136440f Document recent changes to XPCOM memory tools. (Documentation. Not part of build.)
git-svn-id: svn://10.0.0.236/trunk@74079 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:21:45 +00:00
mstoltz%netscape.com
9e2ab39e7d Fixing 40159 and 44822, both [nsbeta2+] regressions on signed scripts. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@74078 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 03:10:33 +00:00
jst%netscape.com
eb460aaa2a Fixing nsbeta2+ bug 44115, properly handle area elements even if the href is a relative url, r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74077 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:42:28 +00:00
mcafee%netscape.com
cabdf873fd Fixing comment within comment warnings, duh. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@74076 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:35:59 +00:00
jst%netscape.com
97c25ed004 Fixing nsbeta2+ bug 44434, problems with width and height properties on preloaded images. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74075 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:30:42 +00:00
morse%netscape.com
9b7a0ffdc8 bug 44146, improperly parented modal dialogs, r=danm
git-svn-id: svn://10.0.0.236/trunk@74074 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:29:53 +00:00
dimator%netscape.com
2eef533bb3 bug 44252. Checking in for sspitzer. r=putterman
git-svn-id: svn://10.0.0.236/trunk@74073 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:23:10 +00:00
mcafee%netscape.com
1112918ea1 Checking in null pointer fix for bugscape:1205, netscape nsbeta2+ bug. r=saari
git-svn-id: svn://10.0.0.236/trunk@74072 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:22:41 +00:00
jst%netscape.com
a607a900c8 Fixing nsbeta2+ bug 44001, nulling out output parameters to avoid crasing. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74071 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 02:15:27 +00:00
mcafee%netscape.com
b3d537adfc Backing out last change to fix linux bustage. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@74070 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:47:00 +00:00
brendan%mozilla.org
d6a267cf1e Fix 'out of order' malloc failure-handling bug found by cgn1234@yahoo.com (41022, r=cgn1234).
git-svn-id: svn://10.0.0.236/trunk@74069 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:44:12 +00:00
dbaron%fas.harvard.edu
bafb8a90d7 Add the refcount balancer to mozilla/tools so it can be maintained more easily. This tool was written by Chris Waterson with contributions by a number of other people. I modified the files being added here from the most recent versions on http://www.mozilla.org/performance/refcnt-balancer.html in the following ways:
1) add find-comptr-leakers.pl to find leaks in nsCOMPtr logs
2) allow make-tree.pl to subtract nsCOMPtr logs


git-svn-id: svn://10.0.0.236/trunk@74068 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:32:54 +00:00
brendan%mozilla.org
69f9a89e40 Cleanups: don't decimate Unicode property ids to ISO-Latin-1 in CheckAccess; do use NS_SUCCEEDED instead of NS_OK==; don't use bogus tabs for indentation (r=jst@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@74067 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:20:49 +00:00
cmanske%netscape.com
c7e1286f2d Fixed warnings revealed by Linux build in table editing code
git-svn-id: svn://10.0.0.236/trunk@74066 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:15:17 +00:00
cmanske%netscape.com
e22e9309a7 Tweaked previous fix -- sfraser suggested a more efficient fix
git-svn-id: svn://10.0.0.236/trunk@74065 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:05:35 +00:00
cmanske%netscape.com
4a40e3830c Fixed build bustage for linux (why can't Linus do NS_LITERAL_STRING correctly!)
git-svn-id: svn://10.0.0.236/trunk@74064 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 01:00:58 +00:00
warren%netscape.com
9a47a3f8f6 Bug 40810 - warning message. Checking in for doronr@naboonline.com r=warren
git-svn-id: svn://10.0.0.236/trunk@74063 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 00:28:57 +00:00
javi%netscape.com
cb74a19f3a Make viewing CA certs during import work again.
git-svn-id: svn://10.0.0.236/trunk@74062 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 00:22:23 +00:00
ben%netscape.com
c530f2e58e fix for 27828, TITLE attribute shows tooltip in content area. patch from robert o'callahan, r=me.
git-svn-id: svn://10.0.0.236/trunk@74061 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 00:20:08 +00:00
hyatt%netscape.com
f72d1d522c Fix for XBL being able to execute scripts in skins. Bugzilla is down, so I can't give the number. r=danm
git-svn-id: svn://10.0.0.236/trunk@74060 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 00:17:07 +00:00
wtc%netscape.com
e6eb3e9a5c Bugzilla bug #45141: checked in an OS/2 patch from Michael Kaply
<mkaply@us.ibm.com>. a=waterson@mozilla.org.


git-svn-id: svn://10.0.0.236/trunk@74059 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-12 00:10:37 +00:00
nhotta%netscape.com
adfbc32c15 Changed to set mailCharacterSet in nsIMsgWindow so that the value can be used for a checkmark in charset menu, bug 28869, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@74055 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:51:38 +00:00
nhotta%netscape.com
c2421f5d7a Added mailCharacterSet to nsIMsgWindow to keep the charset used by libmime, bug 28869, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@74054 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:51:21 +00:00
rogerl%netscape.com
0fbe7a0bf0 Implemented Import -only it's not in the parser yet.
Added missing defineXXX functions.


git-svn-id: svn://10.0.0.236/trunk@74053 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:49:20 +00:00
edburns%acm.org
efad92ec96 Removed runem.solaris because we now have the cross platform runem.pl.
git-svn-id: svn://10.0.0.236/trunk@74052 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:44:35 +00:00
edburns%acm.org
2b9f6c2b26 Make it so params are correctly passed to runem.pl on Solaris.
git-svn-id: svn://10.0.0.236/trunk@74051 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:43:20 +00:00
cmanske%netscape.com
fbb8adfdad Finishing table editing+dialog work (b=20973, r=jfrancis), and disabling commands when in HTML Source mode (b=38875, r=sfraser)
git-svn-id: svn://10.0.0.236/trunk@74050 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:41:22 +00:00
cmanske%netscape.com
48a4fe23f1 Adding test for command enable state when calling a command. Part of fix for 38875. r=sfraser, a=ben
git-svn-id: svn://10.0.0.236/trunk@74049 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:38:23 +00:00
ericb%neoplanet.com
98fbff54e6 forgot to add these files r:hyatt a:hyatt
git-svn-id: svn://10.0.0.236/trunk@74048 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:37:00 +00:00
ericb%neoplanet.com
ecef542f84 resizers and titlebars r:hyatt a:hyatt
git-svn-id: svn://10.0.0.236/trunk@74047 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:34:44 +00:00
dbragg%netscape.com
1d539e2fb0 With more thorough testing, found a couple of bad side effects of initial fix for bug #36249. Fixes contained here. r=racham
git-svn-id: svn://10.0.0.236/trunk@74046 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:19:37 +00:00
law%netscape.com
442efb715c Bug 43583; implement new helper app launch confirmation dialog interface; r=mcafee@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74045 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:17:34 +00:00
mscott%netscape.com
52c882c23a Bug #43583 --> Add a separate boolean for asking the user before handling content using an external application.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74044 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:15:49 +00:00
alecf%netscape.com
f2d9248272 fix for #44350 - clear the search results pane each time a search starts.
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@74043 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:12:35 +00:00
mscott%netscape.com
1b49a1acb9 Bug #43583 --> new state for using system default. Add a separate boolean
for asking the user before handling.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@74041 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:11:59 +00:00
av%netscape.com
16b5150046 #44422, r=buster
git-svn-id: svn://10.0.0.236/trunk@74040 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:10:29 +00:00
rginda%netscape.com
f86893a190 cleaned up linux warnings, minor debugger tweaks
git-svn-id: svn://10.0.0.236/trunk@74039 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:08:03 +00:00
alecf%netscape.com
0fc26ac4c5 fix for #39576 r=chuang
localize the "Card for" string for the address card view


git-svn-id: svn://10.0.0.236/trunk@74038 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:03:48 +00:00
mcafee%netscape.com
e378098f03 Removing mcafee from debug output. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@74037 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 22:49:22 +00:00
rods%netscape.com
d804eae647 setting parent to null to make sure there are no dnagling pointers from children
to their parents
b=44266, r=jst


git-svn-id: svn://10.0.0.236/trunk@74036 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 22:17:38 +00:00
blizzard%redhat.com
757fa0cb81 fix for bug #44116. rewrite gtk focus handling. r=pavlov,akk a=brendan
git-svn-id: svn://10.0.0.236/trunk@74035 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:57:43 +00:00
pavlov%netscape.com
61c5a61fcc 4.x unix plugin changes for bug 37477 r=pollmann, av
git-svn-id: svn://10.0.0.236/trunk@74034 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:44:39 +00:00
pavlov%netscape.com
b100308bc8 gtkxtbin fixes for unix plugin crasher bug 37477 r=blizzard
git-svn-id: svn://10.0.0.236/trunk@74033 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:43:18 +00:00
cotter%netscape.com
ea9aa7827c Added info about OCSP in cases of invalid email signature.
git-svn-id: svn://10.0.0.236/trunk@74032 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:32:19 +00:00
dbaron%fas.harvard.edu
e70cfcfce2 Prevent builds on Win95/Win98 from excessively going through the unused libs phase by removing the Win95/Win98 libs phase rules. r=warren a=waterson b=42428
This should affect only builds done on Win95/Win98 (where WINOS=WIN95).


git-svn-id: svn://10.0.0.236/trunk@74031 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:17:37 +00:00
rods%netscape.com
03ae64ba6e removing accidental checkin
git-svn-id: svn://10.0.0.236/trunk@74030 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 21:00:22 +00:00
evaughan%netscape.com
bda75841a4 fix for #44576
git-svn-id: svn://10.0.0.236/trunk@74029 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:58:59 +00:00
blizzard%redhat.com
312b544165 fix memory leak in scrolling code. make sure to destroy a temporary region before jumping to the end of the function. a=brendan
git-svn-id: svn://10.0.0.236/trunk@74028 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:56:35 +00:00
pinkerton%netscape.com
11786e264b landing patch for crash when document goes away after tooltip timer has fired. basically, make mPossibleTooltipNode a strong ref. patch from roc+moz@cs.cmu.edu r=pinkerton, bug# 27828.
git-svn-id: svn://10.0.0.236/trunk@74027 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:55:57 +00:00
rods%netscape.com
0a4a5cf302 option elements no longer add and remove themselves from the select, the select now does all the housekeeping. b=44266, r=pollmann
git-svn-id: svn://10.0.0.236/trunk@74026 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:55:21 +00:00
rods%netscape.com
8fb75d5063 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@74025 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:55:20 +00:00
rogerl%netscape.com
6a8822a673 More on @ operator. Fixed R 4billion print bug.
git-svn-id: svn://10.0.0.236/trunk@74024 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:54:06 +00:00
bienvenu%netscape.com
9e9bbd2c90 fix 45146 edit message as new crashing r=mscott
git-svn-id: svn://10.0.0.236/trunk@74023 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:49:52 +00:00
leaf%mozilla.org
4c0f5aa7a0 Automated update
git-svn-id: svn://10.0.0.236/trunk@74022 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:45:12 +00:00
jdunn%netscape.com
5852c7694d Applying jgaunt's & jim_nance's change (see rev 1.647 & 1.649) to
hpux in general (for 10.20) as opposed to hpux11 specfic for bug #=39747
using blanket approval of r=waterson for port changes (hpux specific)


git-svn-id: svn://10.0.0.236/trunk@74021 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:33:33 +00:00
saari%netscape.com
07ed8efec1 Fix for nsbeta2+ bug 36470: colors are wrong across multiple monitors of different bit depths on MacOS. r= pinkerton
git-svn-id: svn://10.0.0.236/trunk@74020 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:27:42 +00:00
chuang%netscape.com
f09e97a233 Bug 33980 'Collected Addresses' being corrupted when saved to prefs.js, r=alecf
git-svn-id: svn://10.0.0.236/trunk@74019 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:18:38 +00:00
bnesse%netscape.com
6e87c2f462 Moved code which was initalizing the memory allocation service from the constructor into the CreatePlugin function because it wasn't being called early enough for some plugins. Need to proceed on Bug 19931. r=av.
git-svn-id: svn://10.0.0.236/trunk@74018 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:08:05 +00:00
bnesse%netscape.com
34aa1fbbf3 Removed code which was painting rectangles over the plugin objects on the Mac. Bug #41016. r=av
git-svn-id: svn://10.0.0.236/trunk@74017 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:06:05 +00:00
jfrancis%netscape.com
6ca6c35a74 fix for 43366; r=kin
git-svn-id: svn://10.0.0.236/trunk@74016 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:51:36 +00:00
dbragg%netscape.com
0972f612cf Optimized Javascript library got added to the wrong target. #36249.
git-svn-id: svn://10.0.0.236/trunk@74015 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:40:55 +00:00
dbragg%netscape.com
ca159a6f0d Fix for bug #36249. r=racham@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74014 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:28:43 +00:00
dbragg%netscape.com
ea876774ce makefile and MANIFEST file changes to display out-of-space dialog. Fix for bug#36249. r=racham@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74013 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:26:09 +00:00
dbragg%netscape.com
5b76ae572a Had to add a library to the mcp file to fix bug #36249. r=racham@netscape.com
git-svn-id: svn://10.0.0.236/trunk@74012 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:23:34 +00:00
ftang%netscape.com
7b0b6650b9 fix bug 21418. change the converter to UTF-8 and handle the \uxxxx and \r \n \t in the
lexical level (scanner) r=tao


git-svn-id: svn://10.0.0.236/trunk@74011 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:14:59 +00:00
brendan%mozilla.org
20112d6fb4 Make NS_TraceMallocShutdown idempotent just in case it's called more than once (doesn't affect default builds: #ifdef NS_TRACE_MALLOC).
git-svn-id: svn://10.0.0.236/trunk@74010 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:10:52 +00:00
brendan%mozilla.org
c027820f7f Remove explicit NS_TraceMallocShutdown call, it's done via atexit (doesn't affect default builds: #ifdef NS_TRACE_MALLOC).
git-svn-id: svn://10.0.0.236/trunk@74009 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 19:09:44 +00:00
javi%netscape.com
0420d12c6d Fix a type-o.
git-svn-id: svn://10.0.0.236/trunk@74008 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 18:45:40 +00:00
valeski%netscape.com
bb30b7766f r=mscott, 42505. somehow a switch enum was dropped from a previous checkin.
git-svn-id: svn://10.0.0.236/trunk@74007 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 15:00:59 +00:00
dbragg%netscape.com
11cb93c0ec Added new .dtd file for bug #36249
git-svn-id: svn://10.0.0.236/trunk@74006 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 14:16:07 +00:00
dbragg%netscape.com
2e4b4f4511 Added new .xul and js files for bug #36249
git-svn-id: svn://10.0.0.236/trunk@74005 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 14:15:05 +00:00
axel%pike.org
9cffc6b4d7 Getting the build process up for Windows, thanx to Arthur Barrett
not part of build, still need to conditionally add transformiix to
extensions/makefile.win


git-svn-id: svn://10.0.0.236/trunk@74004 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 10:32:17 +00:00
axel%pike.org
b9d8e62616 Use own impl of rint for windows and platforms without one, not on mac
not part of build


git-svn-id: svn://10.0.0.236/trunk@74003 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 09:47:37 +00:00
warren%netscape.com
daeb105206 Fixed warning.
git-svn-id: svn://10.0.0.236/trunk@74002 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 09:46:51 +00:00
ftang%netscape.com
b852b1dc76 fix 40739 (dup as 45048. the fix is in 45048)
Change do_QueryInterface to do_QueryReference for mContenWindow for SetDocumentCharacterSet
method.


git-svn-id: svn://10.0.0.236/trunk@74001 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:50:00 +00:00
leaf%mozilla.org
028fc724dc Automated update
git-svn-id: svn://10.0.0.236/trunk@74000 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:45:09 +00:00
axel%pike.org
d3d74fb230 Adding rint to AC_CHECK_FUNCS, r=cls@seawood.org, a=waterson
git-svn-id: svn://10.0.0.236/trunk@73999 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:42:07 +00:00
warren%netscape.com
3e244f5dd6 Reordered atom table destruction to be last because memory shutdown still needs it. Moved nsIThread shutdown up just to be safe. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@73998 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:31:50 +00:00
warren%netscape.com
71943eddb6 Removed assertion to allow UnregisterObserver to be called after Shutdown (harmlessly). r=dbaron
git-svn-id: svn://10.0.0.236/trunk@73997 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:29:05 +00:00
warren%netscape.com
5bdd73acae Fixed monitor destructor because NS_TraceMallocShutdown is called twice. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@73996 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:28:14 +00:00
ssu%netscape.com
67fe63056f fixing bug #19034 - Install.log needs to be created in XPCOM's notion of cwd.
This bug affects several things.  what I'm checking in is a fix to the windows
wizard installer to:
1) pass new parameter to xpi_init() - which Samir checked in tonight.
2) update windows wizard installer to know of the new install.log location.
3) changed the installer to create/update the log filename passed to xpi_init() (install_wizard.log).

This fix affects the installer (setup.exe) and the uninstaller (uninstall.exe).
This bug is marked as nsbeta2+ and was already verified by QA, but they were not aware
of the affects to the native windows installer (which is part of this bug).

The windows installer will be dead in the morning without this checkin.

r=sgehani
affects windows platforms only
This file does not affect tinderbox builds


git-svn-id: svn://10.0.0.236/trunk@73995 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:02:29 +00:00
ssu%netscape.com
cd59a04f8b fixing bug #19034 - Install.log needs to be created in XPCOM's notion of cwd.
This bug affects several things.  what I'm checking in is a fix to the windows
wizard installer to:
1) pass new parameter to xpi_init() - which Samir checked in tonight.
2) update windows wizard installer to know of the new install.log location.
3) changed the installer to create/update the log filename passed to xpi_init() (install_wizard.log).

This fix affects the installer (setup.exe) and the uninstaller (uninstall.exe).
This bug is marked as nsbeta2+ and was already verified by QA, but they were not aware
of the affects to the native windows installer (which is part of this bug).

The windows installer will be dead in the morning without this checkin.

r=sgehani
affects windows platforms only


git-svn-id: svn://10.0.0.236/trunk@73994 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 07:00:21 +00:00
warren%netscape.com
24b9b58ef8 Defensive programming for UnregisterObserver after Shutdown. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@73993 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 06:56:06 +00:00
Peter.VanderBeken%pandora.be
8843306977 Import mathml.css into ua.css when building MathML. Not part of build. r=jj. a=waterson.
git-svn-id: svn://10.0.0.236/trunk@73992 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 06:47:53 +00:00
dprice%netscape.com
c86bfb42f8 NOT IN THE BUILD
git-svn-id: svn://10.0.0.236/trunk@73991 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 06:40:09 +00:00
ftang%netscape.com
871ddb275e fix bug 39902. check in for m_kato@ga2.so-net.ne.jp a=waterson r=ftang
git-svn-id: svn://10.0.0.236/trunk@73990 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 06:10:38 +00:00
warren%netscape.com
6f96f77089 Fixed nsMemoryImpl to release memory pressure observers on shutdown. r=dbaron
git-svn-id: svn://10.0.0.236/trunk@73989 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 06:03:08 +00:00
brendan%mozilla.org
b59ce41b0d Must unregister memory pressure observer in \~nsXBLService (nsMemory doesn't clean up after us; r=warren).
git-svn-id: svn://10.0.0.236/trunk@73988 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 05:43:34 +00:00
mscott%netscape.com
b92acc47f7 Bug #45047 --> accept plain/text content type by default.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73987 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 05:09:42 +00:00
ben%netscape.com
88abd6e147 search editor dialog was busted because of:
a) current engine list wasn't properly converted to new tree syntax
b) sizing of widgets was making it look really odd in the Classic skin


git-svn-id: svn://10.0.0.236/trunk@73986 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 03:30:25 +00:00
ben%netscape.com
964b084f7f fix for 42964 - sidebar add panel and add search engine dialogs are not localizable
git-svn-id: svn://10.0.0.236/trunk@73985 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 03:14:22 +00:00
mscott%netscape.com
c331375f49 Fix build breakge by samir. I'm not really sure how this could have compiled =).
git-svn-id: svn://10.0.0.236/trunk@73984 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 01:52:53 +00:00
warren%netscape.com
43db39eeb6 Bug 44342 - hang on startup. Added back a lock to mutually exclude cancel/suspend/resume. Seems to work on Mac (i.e. can't reproduce the problem now). Also cleaned up file transport service, removing unused stuff.
git-svn-id: svn://10.0.0.236/trunk@73983 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 01:52:12 +00:00
brendan%mozilla.org
f98b2a3b00 XBLService implements nsIMemoryPressureObserver (44352, r=hyatt).
git-svn-id: svn://10.0.0.236/trunk@73980 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 01:28:36 +00:00
sgehani%netscape.com
233510a972 Part of fix for nsbeta2+ bug 37168. [r=mstoltz]
git-svn-id: svn://10.0.0.236/trunk@73979 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 01:10:20 +00:00
law%netscape.com
48189e65bb Bug 43583; build new dialog on Mac; r=ben@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73978 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 01:09:28 +00:00
vidur%netscape.com
01f014fcec Work in progress on SOAP call component. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73977 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 00:54:39 +00:00
vidur%netscape.com
cefda6ac40 Work in progress on SOAP call component
git-svn-id: svn://10.0.0.236/trunk@73976 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 00:52:30 +00:00
javi%netscape.com
55006c8f22 Make the button in the security advisor for CRL's look like the other
buttons.


git-svn-id: svn://10.0.0.236/trunk@73975 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 00:50:12 +00:00
law%netscape.com
3391789285 Bug 43583; build new dialog; r=ben@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73973 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 00:42:55 +00:00
dougt%netscape.com
ccb740ceaa First check in. NOT PART OF BUILD.
git-svn-id: svn://10.0.0.236/trunk@73972 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 00:10:34 +00:00
law%netscape.com
c7ba90ff47 Bug 36658; notify urlwidget component on page load; r=matt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73971 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:56:02 +00:00
av%netscape.com
6899b34dd6 #22954, fixing Mac glitch, r=brade
git-svn-id: svn://10.0.0.236/trunk@73969 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:54:31 +00:00
sgehani%netscape.com
91aaef8262 Part of fix for nsbeta2+ bug 37168. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@73968 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:44:35 +00:00
bryner%uiuc.edu
98421d423b Fixing 43459. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@73967 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:42:46 +00:00
av%netscape.com
edef5863b0 #43500, adding the default plugin to the packager on Windows, r=leaf
git-svn-id: svn://10.0.0.236/trunk@73966 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:32:13 +00:00
law%netscape.com
e966fb16cd Bug 43583; new helper app launch confirmation dialog; r=ben@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73965 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:18:59 +00:00
rogerl%netscape.com
11c82ac5b9 Some parts of x@<name> working.
git-svn-id: svn://10.0.0.236/trunk@73964 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:18:07 +00:00
sgehani%netscape.com
008fb4035e Add optional log file leaf name param to XPI_Init for Win32 uninstall logging.
Part of fix for nsbeta2+ bug 37168.  [r=ssu]


git-svn-id: svn://10.0.0.236/trunk@73963 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:15:46 +00:00
endico%mozilla.org
605f7ed5a9 Add "Windows ME" operating system and a comment about how to add new os's (et al) to an already installed system
git-svn-id: svn://10.0.0.236/trunk@73962 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:01:26 +00:00
ddrinan%netscape.com
7e9f7e8f61 Made changes to the password retry text to fix bugs 399954 and 44110
git-svn-id: svn://10.0.0.236/trunk@73961 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:53:58 +00:00
matt%netscape.com
5ff8a76db7 taking out security policies pane as per bug 44121
r:tornduff


git-svn-id: svn://10.0.0.236/trunk@73960 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:50:37 +00:00
jband%netscape.com
473f5b8879 add previously overlooked support for nsIXPCNativeCallContext implementors to signal that they have set the method return value for the JS caller. a=brendan@mozilla.org r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73959 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:39:37 +00:00
bienvenu%netscape.com
8aa45589da fix crash searching newsgroup which you've never opened r=alecf 45028
git-svn-id: svn://10.0.0.236/trunk@73958 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:34:08 +00:00
shanjian%netscape.com
ff9c87f68a #42422
Fix the crash, contentLen should not be extended futher than the
text fragment's length.


git-svn-id: svn://10.0.0.236/trunk@73957 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:32:54 +00:00
bienvenu%netscape.com
ecd2e345aa forgot this part of the fix for 35678, posting to correct news server, r=mscott, ducarroz
git-svn-id: svn://10.0.0.236/trunk@73956 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:32:28 +00:00
nhotta%netscape.com
ff5ef51b79 Changed to pass a charset to openDialog so that a new window inherits the charset, bug 27646, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@73955 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:29:33 +00:00
radha%netscape.com
ae741cd1bc Fix for feature bug 44427. checking in code on behalf of jce2@po.cwru.edu
r=myself. a=brendan


git-svn-id: svn://10.0.0.236/trunk@73954 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:07:47 +00:00
mkaply%us.ibm.com
176282916f r=cls, a=brendan
Because of the raptor to gk change, we don't need SHORT_LIBNAME


git-svn-id: svn://10.0.0.236/trunk@73953 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 22:04:17 +00:00
av%netscape.com
bcd2073647 Addressing #22954, fixing the glitch when layout returned OK even if did not find a plugin causing a crash, r=pollmann
git-svn-id: svn://10.0.0.236/trunk@73952 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:51:15 +00:00
dmose%mozilla.org
edabaedfe6 Updated description of directories in the tree. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73950 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:27:05 +00:00
dimator%netscape.com
f59147699d Bugs: 37153, 38700. Localized status and priority strings in threadpane. r=putterman
git-svn-id: svn://10.0.0.236/trunk@73949 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:25:37 +00:00
dmose%mozilla.org
641b51dd55 Makefile.in
git-svn-id: svn://10.0.0.236/trunk@73948 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:24:55 +00:00
dmose%mozilla.org
1d9f7feffd some tests of the LDAP code, currently just for the datasource
git-svn-id: svn://10.0.0.236/trunk@73947 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:24:45 +00:00
dmose%mozilla.org
3a9a1aa9d3 initial code for an LDAP datasource; not yet working or complete. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73946 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:22:17 +00:00
mscott%netscape.com
a9821acb38 Bug #43583 --> pass the window context into the helper app launcher which will in turn be used by
the helper app dialog to get at a dom window.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73945 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:21:10 +00:00
mkaply%us.ibm.com
76391cde9e r=cls, a=brendan
Because of the raptor to gk change, we don't need SHORT_LIBNAME


git-svn-id: svn://10.0.0.236/trunk@73944 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:18:48 +00:00
dmose%mozilla.org
3a26f91c9e updated the TODO list. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73943 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:17:59 +00:00
dmose%mozilla.org
c4f7d926f5 adjust some comments. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73942 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:17:04 +00:00
mkaply%us.ibm.com
c71389b6e5 r=cls, a=brendan
Because of the raptor to gk change, we don't need SHORT_LIBNAME


git-svn-id: svn://10.0.0.236/trunk@73941 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:08:54 +00:00
sgehani%netscape.com
f5bd2c5b5e Make Install.execute() work on Unix.
[nsbeta2+ b = 37168; r = ssu]


git-svn-id: svn://10.0.0.236/trunk@73940 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 21:02:16 +00:00
mkaply%us.ibm.com
0157bbf377 r=cls, a=brendan
Because of the raptor to gk change, we don't need SHORT_LIBNAME


git-svn-id: svn://10.0.0.236/trunk@73939 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:48:42 +00:00
waterson%netscape.com
fd592d59e3 Remove spurious call to RegisterDataSource(). r=hyatt
git-svn-id: svn://10.0.0.236/trunk@73938 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:42:56 +00:00
mkaply%us.ibm.com
d866d504b4 Tinderbox break - change OS/2 only code - third time is a charm
git-svn-id: svn://10.0.0.236/trunk@73937 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:38:41 +00:00
mkaply%us.ibm.com
8ca37c9ffe Tinderbox break - remove OS/2 only code
git-svn-id: svn://10.0.0.236/trunk@73936 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:29:36 +00:00
rogerl%netscape.com
09961860fe r=brendan@mozilla.org, Fix for #31255, support '-->' on line by itself as
a line comment - allows old, bogus HTML to execute a la 4.X.


git-svn-id: svn://10.0.0.236/trunk@73935 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:23:54 +00:00
rogerl%netscape.com
babc9d3604 r=brendan@mozilla.org, Fix for #44013 - enforce security for defineGetter
& defineSetter by calling OBJ_CHECK_ACCESS.


git-svn-id: svn://10.0.0.236/trunk@73934 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:21:38 +00:00
dimator%netscape.com
d8d2b2a144 Bugs: 37153, 38700. Localized status and priority strings in threadpane.
git-svn-id: svn://10.0.0.236/trunk@73933 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:21:08 +00:00
bryner%uiuc.edu
afbe202d32 Fixing 44859. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@73932 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:19:32 +00:00
saari%netscape.com
bd2c6303f1 Adding file for evaughan
git-svn-id: svn://10.0.0.236/trunk@73931 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:17:48 +00:00
evaughan%netscape.com
933f75ed4e disable gfx scrollbars #44576
grid fixes for tree bugs

-r Hyatt


git-svn-id: svn://10.0.0.236/trunk@73930 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:10:27 +00:00
edburns%acm.org
b971436627 Put dom after util and before webclient
git-svn-id: svn://10.0.0.236/trunk@73929 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:06:44 +00:00
edburns%acm.org
efd8882a09 Put classes first so top level java build works.
git-svn-id: svn://10.0.0.236/trunk@73928 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:06:07 +00:00
edburns%acm.org
2d11ae2a16 nsSetupRegistry_link_problems
git-svn-id: svn://10.0.0.236/trunk@73927 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 20:02:49 +00:00
edburns%acm.org
db74b4ad01 Use the new xp runem.pl script instead of building the smarts into
the batch file.


git-svn-id: svn://10.0.0.236/trunk@73926 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 19:48:47 +00:00
akkana%netscape.com
84c9d71b9a 38232 (nsbeta2+): Make line break character configurable in the
output system, and use \n (the DOM linebreak character) when getting
output from text controls.  Also fix some warnings.  r=kin.


git-svn-id: svn://10.0.0.236/trunk@73925 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 19:46:59 +00:00
edburns%acm.org
2d15d02c8f Changes to Makefile.in to allow proper running on solaris.
Added motif/README to explain why some files in this directory
don't get put into this directory's dll.


git-svn-id: svn://10.0.0.236/trunk@73924 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 19:00:51 +00:00
miodrag%netscape.com
bc8ed0c9db Updates for LDAPJDK 4.12
git-svn-id: svn://10.0.0.236/trunk@73923 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 18:41:40 +00:00
dmose%mozilla.org
73deb5f9dc various updates. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73922 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 17:50:32 +00:00
edburns%acm.org
8ad979c383 Removed "^M" characters.
git-svn-id: svn://10.0.0.236/trunk@73921 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 17:49:19 +00:00
cls%seawood.org
0227cd8ec8 Fix for objdir build bustage.
git-svn-id: svn://10.0.0.236/trunk@73920 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 17:21:17 +00:00
rbs%maths.uq.edu.au
538d474bfd Enable the real x-height. r:erik,waterson. a:waterson
git-svn-id: svn://10.0.0.236/trunk@73919 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 16:10:12 +00:00
cls%seawood.org
1e9c39aa30 Ugh, introduced c++ comments to a c file which causes havoc with many non-gnu compilers
git-svn-id: svn://10.0.0.236/trunk@73918 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 15:14:37 +00:00
mkaply%us.ibm.com
8c831728da #42637
r = mkaply, a = brendan
OS/2 bringup - OS/2 only - no OK Cancel buttons in preferences


git-svn-id: svn://10.0.0.236/trunk@73917 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 14:50:36 +00:00
mkaply%us.ibm.com
d728ef74e0 OS/2 only tinderbox break - we will probably still break on a link, but at least we will compile
git-svn-id: svn://10.0.0.236/trunk@73916 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 14:48:47 +00:00
rbs%maths.uq.edu.au
a654430535 Remove files that have ceased to be used
git-svn-id: svn://10.0.0.236/trunk@73915 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 14:02:44 +00:00
rbs%maths.uq.edu.au
26d68c1ce5 Convert examples to XHTML now that mathml.css is imported in the ua.css on MathML-enabled builds. a:waterson
git-svn-id: svn://10.0.0.236/trunk@73914 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 13:58:55 +00:00
rbs%maths.uq.edu.au
b445880e79 [not part of default build] @import MathML CSS rules in the ua.css on MathML-enabled builds. Paul Gartside <gartside@maths.ox.ac.uk> and Peter Van der Beken <Peter.VanderBeken@pandora.be> have verified that all went well on Linux and Mac, respectively. a:waterson
git-svn-id: svn://10.0.0.236/trunk@73913 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 13:58:27 +00:00
rbs%maths.uq.edu.au
80299f6024 [not part of default build] Some updates in the land of stretchy chars. partial fix for b:45010
git-svn-id: svn://10.0.0.236/trunk@73912 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 13:57:52 +00:00
mkaply%us.ibm.com
d3fc3a08d8 Tinderbox break - remove OS/2 includes
git-svn-id: svn://10.0.0.236/trunk@73911 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 12:53:08 +00:00
axel%pike.org
4d86057bf1 Fix nested relative includes, not part of build, a=leaf
git-svn-id: svn://10.0.0.236/trunk@73910 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 12:08:00 +00:00
cls%seawood.org
897f28a4b4 Explicitly include nspr header when needed
git-svn-id: svn://10.0.0.236/trunk@73909 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 08:40:05 +00:00
cls%seawood.org
a8b952cf3d Mac needs History_entry struct.
git-svn-id: svn://10.0.0.236/trunk@73908 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 08:12:01 +00:00
dbaron%fas.harvard.edu
8f65b0106d Fix build bustage by changing #idef to #ifdef (I hope).
git-svn-id: svn://10.0.0.236/trunk@73907 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 07:59:02 +00:00
cls%seawood.org
4a2be35697 Explicitly include xp_mem.h since it is needed
git-svn-id: svn://10.0.0.236/trunk@73906 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 07:42:53 +00:00
cls%seawood.org
c665553b5e Ok, so the mac isn't ready to have its mind freed.
git-svn-id: svn://10.0.0.236/trunk@73905 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 07:40:08 +00:00
cls%seawood.org
50a5bb697c Start tedious process of removing obsolete mozilla/include files from build. This patch should take us down to 19 of 101. Bug #38061
git-svn-id: svn://10.0.0.236/trunk@73904 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 07:13:31 +00:00
alecf%netscape.com
a0f273206b remove a debugging line from this XUL - this is just a bonehead line I left in here on friday
r=mozbot, and everyone else on IRC at the moment


git-svn-id: svn://10.0.0.236/trunk@73903 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 06:46:41 +00:00
bienvenu%netscape.com
369ba65719 fix problem posting to wrong news server r=mscott 35678
git-svn-id: svn://10.0.0.236/trunk@73902 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 02:45:21 +00:00
bienvenu%netscape.com
63155d6abe fix problem posting to wrong news server r=mscott 35678
git-svn-id: svn://10.0.0.236/trunk@73901 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 02:38:22 +00:00
bienvenu%netscape.com
d43118ab80 fix 41292, r=waterson, problem with rdf factory cache
git-svn-id: svn://10.0.0.236/trunk@73900 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 02:35:50 +00:00
waterson%netscape.com
ca4f830c71 Register bookmarks datasource with RDF service *last*, because an other failure will leave the RDF service with a dangling pointer. Also, add assertion if we're unable to create a timer, because this is an *extremely* common platform porting error. r=rjc
git-svn-id: svn://10.0.0.236/trunk@73899 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-09 23:49:41 +00:00
av%netscape.com
8bfea858f8 #22954, adding unix and mac flavors, r=pierre
git-svn-id: svn://10.0.0.236/trunk@73898 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-09 22:26:44 +00:00
mcafee%netscape.com
4dc1f0ba46 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@73897 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-09 21:10:01 +00:00
cls%seawood.org
536147ea5d Check for BUILD_OFFICIAL as well as MOZILLA_OFFICIAL
git-svn-id: svn://10.0.0.236/trunk@73896 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-09 15:02:24 +00:00
cls%seawood.org
178d7f72df Check for BUILD_OFFICIAL as well as MOZILLA_OFFICIAL
git-svn-id: svn://10.0.0.236/trunk@73895 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-09 15:01:27 +00:00
brendan%mozilla.org
523a153c14 First cut at reusable trace-malloc logfile reader, factored from bloatblame.
git-svn-id: svn://10.0.0.236/trunk@73894 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-09 08:53:46 +00:00
morse%netscape.com
b3a5a9b468 fix bug 44351, crash in cookie viewer and signon viewer, r=evaughan
git-svn-id: svn://10.0.0.236/trunk@73893 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 23:40:06 +00:00
rhp%netscape.com
5bfc0c9913 Fixing problem with dropping Nickname and display name in sync - Bug #: 1371 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@73892 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 20:51:31 +00:00
colin%theblakes.com
9af477049e Need to break up large groups of files to prevent command overflow. r,a=leaf
git-svn-id: svn://10.0.0.236/trunk@73891 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 12:56:41 +00:00
morse%netscape.com
592ef1c1cb bug 40682, minor wording change, submitter= gabriel@pixle.demon.co.uk, r+a=morse
git-svn-id: svn://10.0.0.236/trunk@73890 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 12:56:39 +00:00
leaf%mozilla.org
ac45a17607 Automated update
git-svn-id: svn://10.0.0.236/trunk@73889 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 11:45:09 +00:00
cls%seawood.org
e9f7740e5b Updated NetBSD section so that mozilla will build on NetBSD-current. Bug #41524 Thanks to Shin'ichiro TAYA <taya@sm.sony.co.jp> for the patch.
git-svn-id: svn://10.0.0.236/trunk@73888 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 11:39:05 +00:00
cls%seawood.org
1a16368373 Changing default debug & opt flags for qnx Bug #44133. Removed autoconf 2.13 specific macro
git-svn-id: svn://10.0.0.236/trunk@73887 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 11:27:25 +00:00
cls%seawood.org
57ed321e90 Change test to check for file (-f) rather than exists (-e) which broke under solaris.
git-svn-id: svn://10.0.0.236/trunk@73884 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 10:25:59 +00:00
cls%seawood.org
0c83d0ce15 Remove hacks that fixed tmp vpath screwups.
git-svn-id: svn://10.0.0.236/trunk@73883 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 09:39:16 +00:00
cls%seawood.org
4c0366b0d7 The unix builds will use a generated build_number (rather than the checked in version) that will forcibly be 000000000 unless MOZILLA_OFFICIAL is set. Bug #26798
Chrome files that need the build date set for MOZILLA_OFFICIAL builds will no longer be modified in the source tree.  The source tree copies will be used as a template for a generated version.  Bug #29597


git-svn-id: svn://10.0.0.236/trunk@73882 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 09:36:01 +00:00
rpotts%netscape.com
f002160c22 More session history cleanup... Reorganizing the code and removing SH_IN_FRAMES ifdefs... (r=radha)
git-svn-id: svn://10.0.0.236/trunk@73881 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 05:17:49 +00:00
leaf%mozilla.org
496dbd6742 Automated update
git-svn-id: svn://10.0.0.236/trunk@73880 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 05:00:14 +00:00
cls%seawood.org
574788b111 Add --disable-libIDL option for use with standalone modules.
git-svn-id: svn://10.0.0.236/trunk@73879 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 04:45:49 +00:00
leaf%mozilla.org
85f65dee34 Automated update
git-svn-id: svn://10.0.0.236/trunk@73878 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 03:45:10 +00:00
tor%cs.brown.edu
17606985ac Remove unneeded AC_DEFINE, clean up warnings, and take out debug printfs.
git-svn-id: svn://10.0.0.236/trunk@73877 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 03:39:21 +00:00
ben%netscape.com
c817d1c11b more Application Helper Pref panel stuff (supporting removal of handlers)
git-svn-id: svn://10.0.0.236/trunk@73876 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 03:21:23 +00:00
cls%seawood.org
60e105a9d9 Commented out compaq compiler test as the test still fails after new compiler was installed
git-svn-id: svn://10.0.0.236/trunk@73875 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 03:02:43 +00:00
brendan%mozilla.org
659430c492 Patch around bad in-place modification of .../build/build_number, and consequent removal of it by distclean, which leaves one with a build that breaks here. This patch cures the broken build, but results in at least four modified source files: build_number, nsBuildID.h, and two related files under xpfe (r=cls@seawood.org).
git-svn-id: svn://10.0.0.236/trunk@73874 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 02:39:40 +00:00
brendan%mozilla.org
c096fdd686 Fix an out-of-date comment.
git-svn-id: svn://10.0.0.236/trunk@73873 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 02:35:56 +00:00
blizzard%redhat.com
b2d851d0bf fix for bug #44790. Fix TestGtkEmbed crash on startup. Ignore the return value from nsIChromeRegistry::CheckForNewChrome(). Also, clean up event queue start up and shut down, fix tabs in file, some 80 col violations and some other code formatting cleanups. r,a=brendan
git-svn-id: svn://10.0.0.236/trunk@73872 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 02:16:34 +00:00
brendan%mozilla.org
e59f31abff Make it safe to nest a GC from js_AllocGCThing, ultimately from the interpreter; also make sure we collect all garbage (even garbage created by finalizers who unroot or unlock GC-things) when destroying the last context (39125, 44376, r=mccabe@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@73871 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 02:06:01 +00:00
edburns%acm.org
460a0e83d5 runem.pl now successfully runs webclient on solaris. However,
webclient on solaris doesn't run yet.


git-svn-id: svn://10.0.0.236/trunk@73870 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:36:37 +00:00
cyeh%bluemartini.com
ea6257f545 Fix for 42041. Patch from Dave Miller (dave@intrec.com).
git-svn-id: svn://10.0.0.236/trunk@73869 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:31:23 +00:00
mscott%netscape.com
5030ca1e3f Bug #44166 --> fix news modal dialog problems by using correct nsIPrompt object
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73868 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:13:08 +00:00
mscott%netscape.com
479a437941 Bug #44167 --> fix news modal dialog problems by using correct nsIPrompt object. part of this fix meant making
sure all news urls were initialized with the currect message window. Hence the change to ConstructNntpUrl.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73867 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:12:30 +00:00
mscott%netscape.com
9469caada6 Bug #44158 --> fix modal dialog problems by using correct nsIPrompt object obtained from the message window
associated with the current url.

r=alecf


git-svn-id: svn://10.0.0.236/trunk@73866 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:10:30 +00:00
rogerl%netscape.com
07b641917e Support for 'constructor'.
git-svn-id: svn://10.0.0.236/trunk@73865 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:08:29 +00:00
mcafee%netscape.com
690e440a47 Ignore generated files
git-svn-id: svn://10.0.0.236/trunk@73864 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 00:24:33 +00:00
mcafee%netscape.com
946ff8bb43 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@73863 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 00:23:48 +00:00
brendan%mozilla.org
d940aad83b Constipation (r=lumpy,a=jack).
git-svn-id: svn://10.0.0.236/trunk@73862 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 00:23:12 +00:00
pollmann%netscape.com
9c987c7201 Bug 4891: Allow flushes to occur outside parsing of the <script> tag. This allows us to keep content lists up to date through document.writes in event handlers r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@73861 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 00:19:44 +00:00
ben%netscape.com
3d0a23244c swap ordering of apps and layout prefs in debug panel so it is possible to turn off box debugging
git-svn-id: svn://10.0.0.236/trunk@73860 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 00:18:31 +00:00
blizzard%redhat.com
c0994b4e21 remove Makefile since we have a Makefile.in that works a=brendan
git-svn-id: svn://10.0.0.236/trunk@73859 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 00:09:36 +00:00
warren%netscape.com
e705a0a4d7 Fixed comment
git-svn-id: svn://10.0.0.236/trunk@73858 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 23:43:00 +00:00
Peter.VanderBeken%pandora.be
b1684c5863 Remove redundant define. Not part of build. a=leaf.
git-svn-id: svn://10.0.0.236/trunk@73857 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 23:34:12 +00:00
edburns%acm.org
fcb4a4b0c8 First pass at automating the creation of the runem script. I hope runem.pl
can be used on both win32 and unix.


git-svn-id: svn://10.0.0.236/trunk@73856 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 23:32:43 +00:00
mcafee%netscape.com
f6aa6f7fa1 Ignore generated files
git-svn-id: svn://10.0.0.236/trunk@73855 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 23:27:47 +00:00
jfrancis%netscape.com
930530f695 fixing increase/decrease font bustage in editor
git-svn-id: svn://10.0.0.236/trunk@73854 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 23:17:37 +00:00
waterson%netscape.com
2f1231c921 Bug 37621. Add necessary logic to retract and fire rules in nsXULTemplateBuilder::OnChange(). I lost these when I re-wrote this method :-(. r=rjc
git-svn-id: svn://10.0.0.236/trunk@73853 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 23:01:14 +00:00
alecf%netscape.com
01ef98bfe4 fix for #29568 - automatically disable other ISP accounts when newsgroup is selected
(skinned to make it work) r=putterman


git-svn-id: svn://10.0.0.236/trunk@73852 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 22:33:45 +00:00
jefft%netscape.com
22fe5e325f fixed bug 44699 -- IMAP does not check result param from nsIMsgAccountManager::FindServer(); r=bienvenu, alecf
git-svn-id: svn://10.0.0.236/trunk@73851 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 22:27:03 +00:00
evaughan%netscape.com
bd0857d1fe Fixed body resizing bug #35681
-r pinkerton


git-svn-id: svn://10.0.0.236/trunk@73848 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 22:24:06 +00:00
saari%netscape.com
c262eae9c3 fixing crashing popups on Windows. Smoketest blocker. Simple null check, nsPIDOMWindow QI result wasn't checked. Not sure why this fails suddenly, I would think everyone shoudl be implementing nsPIDOMWindow.... r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@73847 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 22:17:00 +00:00
ruslan%netscape.com
5038376f85 WIP on 40449, a/r=gagan
git-svn-id: svn://10.0.0.236/trunk@73846 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 22:02:47 +00:00
leaf%mozilla.org
79e35dc667 Automated update
git-svn-id: svn://10.0.0.236/trunk@73845 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 22:00:12 +00:00
mkaply%us.ibm.com
b4ac0fbc7c #42637
r = sspitzer, a = brendan
OS/2 bringup - I have no idea how systemDir( got changed to system(


git-svn-id: svn://10.0.0.236/trunk@73844 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:59:01 +00:00
mscott%netscape.com
3a58e17d6b Bug #43661 --> open attachment needs to pass in the file name
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@73843 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:57:39 +00:00
mkaply%us.ibm.com
ea813c8f0a #42637
r = sspitzer, a = brendan
OS/2 bringup - Our profile is located in the OS2 directory


git-svn-id: svn://10.0.0.236/trunk@73842 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:56:48 +00:00
mscott%netscape.com
dcd9b3c47c Bug #43661 --> pass in the file name for the attachment
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@73841 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:56:38 +00:00
Peter.VanderBeken%pandora.be
36140ae09f Get rid of MOZILLA, use MOZ_XSL. Not part of build. a=leaf.
git-svn-id: svn://10.0.0.236/trunk@73840 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:54:52 +00:00
dbragg%netscape.com
8953692d7d Fix for bug #42719. SetLeafName was not removing the old leaf name before appending a new one. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@73839 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:54:08 +00:00
Peter.VanderBeken%pandora.be
18da283dee Add nsDOMParser.cpp. Not part of build. a=vidur.
git-svn-id: svn://10.0.0.236/trunk@73838 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:53:28 +00:00
Peter.VanderBeken%pandora.be
efe71a3df0 Add nsIDOMParser.idl. Not part of build. a=vidur.
git-svn-id: svn://10.0.0.236/trunk@73837 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:53:00 +00:00
tor%cs.brown.edu
0bc270927d Turning on MNG decoder by default on all platforms.
configure.in change r=cls.  a=pnunn,brendan.


git-svn-id: svn://10.0.0.236/trunk@73836 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:52:23 +00:00
Jerry.Kirk%Nexwarecorp.com
91b22a828c NOT PART OF BUILD - PHOTON ONLY
Various fixes to make it draw again from Brian Edmond of QNX
r=kirkj


git-svn-id: svn://10.0.0.236/trunk@73835 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:49:05 +00:00
mkaply%us.ibm.com
556f639044 #42637
r = mkaply, a = brendan
OS/2 bringup - We weren't returning a value from CallMethodFromVTable


git-svn-id: svn://10.0.0.236/trunk@73834 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:46:12 +00:00
mscott%netscape.com
83144a292b part of the fix for Bug #43661 --> need to register the browser as the handler for text/plain so we can open text documents
and have them get dispatched to the browser.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73833 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:45:40 +00:00
mscott%netscape.com
b273ad2aa2 Bug #44082 --> fail if we couldn't find mimeTypes.rdf during the data source init phase.
patch from jst
r=mscott


git-svn-id: svn://10.0.0.236/trunk@73832 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:44:11 +00:00
mscott%netscape.com
0107d848c4 Bug #44568 -> don't fall out and not open the url if we failed to set the load
attributes on a channel. This broke mailto urls because the mailto channel
is just a stub and doesn't implement this method.
r=valeski


git-svn-id: svn://10.0.0.236/trunk@73831 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:43:16 +00:00
mscott%netscape.com
9940c9a434 Bug #43652 --> fix running of JS urls by returning the error status of the
underlying file transport if the input stream channel doesn't have an error
of it's own.
r=warren


git-svn-id: svn://10.0.0.236/trunk@73830 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:42:15 +00:00
javi%netscape.com
9e6a833ac3 Correctly define CORE_DEPTH
git-svn-id: svn://10.0.0.236/trunk@73829 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:17:31 +00:00
terry%mozilla.org
aec3218cee Fixed links off of 'Most doomed' reports to only list bugs that match the product we're reporting about.
git-svn-id: svn://10.0.0.236/trunk@73828 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 21:05:19 +00:00
edburns%acm.org
294650864a Build_with_mozilla_build_system
git-svn-id: svn://10.0.0.236/trunk@73827 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 19:54:43 +00:00
edburns%acm.org
468587270c a=edburns
r=ashuk
bugs: 44327, 44328

NativeEventThread:

Re-instate the policy of creating an EventQueue for each window.
Put in a superfluous printf in processEventLoop that fixes 44327.

nsActions.{cpp,h}:

Added wsDeallocateInitContextEvent, to enable the correct
removal of the eventQueue, 44328

WindowControlImpl

Fire the wsDeallocateInitcontextEvent in nativeDestroyInitContext.


git-svn-id: svn://10.0.0.236/trunk@73826 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 18:53:07 +00:00
edburns%acm.org
472deb45c4 a=edburns
r=ashuk
bugs: 44327, 44328

WindowControl:

Don't call nativeDestroyInitContext

NativeEventThread

Call windowControl.nativeDestroyInitContext when the run()
loop exits.


git-svn-id: svn://10.0.0.236/trunk@73825 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 18:49:09 +00:00
edburns%acm.org
d54e7976c1 a=edburns
r=ashuk
bugs: 44327, 44328

Comment out the bookmarks test code.


git-svn-id: svn://10.0.0.236/trunk@73824 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 18:47:25 +00:00
bryner%uiuc.edu
fe224fa891 Fixing 44782, but with my original fixes intact. r=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@73823 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 18:33:16 +00:00
varada%netscape.com
d4be327220 removing the hash from the list of dirs in makefile.win
git-svn-id: svn://10.0.0.236/trunk@73822 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 17:35:29 +00:00
bienvenu%netscape.com
5f3ccad6dd backout bryner's changes that break tree selection, a=leaf bug 44782
git-svn-id: svn://10.0.0.236/trunk@73821 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 17:03:14 +00:00
svn%xmlterm.org
6e074bd11e --NOT PART OF DEFAULT BUILD--
XMLterm changes only. Updated UUIDs list.


git-svn-id: svn://10.0.0.236/trunk@73820 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 14:48:55 +00:00
svn%xmlterm.org
6645bbc669 --NOT PART OF DEFAULT BUILD--
XMLterm changes only. Implemented chrome overlay a la Chatzilla to insert
XMLterm into the Tasks menu. Also implemented command line option "-terminal"
and URL handler "telnet://" to invoke XMLterm.


git-svn-id: svn://10.0.0.236/trunk@73819 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 14:44:26 +00:00
nboyd%atg.com
6081b3a66b Deprecate FlattenedObject.
git-svn-id: svn://10.0.0.236/trunk@73818 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 14:41:35 +00:00
mkaply%us.ibm.com
557dfac3c1 r=mkaply, a=brendan
Tinderbox break - need os2 changes for uriloader - I am just taking the UNIX for now - hope it builds


git-svn-id: svn://10.0.0.236/trunk@73817 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 14:14:32 +00:00
axel%pike.org
f809c05535 Removing unused Makefile.in, not in allmakefiles.sh, not part of build
git-svn-id: svn://10.0.0.236/trunk@73816 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 11:09:23 +00:00
cls%seawood.org
77c4097f60 Explicitly use $topsrcdir so that mozconfig files are removed even for objdir builds
git-svn-id: svn://10.0.0.236/trunk@73815 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 10:34:45 +00:00
cls%seawood.org
bbece9132c Remove .mozconfig files generated by client.mk Bug #42167
git-svn-id: svn://10.0.0.236/trunk@73814 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 10:26:38 +00:00
jband%netscape.com
dc8c60aa5e Fix yet another instance of the qsort bug that was biting OS/2 only. See explanation in cvs log comment for revision 1.25 of xpt_link.c. Thanks to Javier Pedemonte <pedemont@us.ibm.com>. a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@73813 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 07:32:50 +00:00
sgehani%netscape.com
6fac7551f9 Prevent multiple downloads for mixed keyboard and mouse input. [nsbeta2+ b = 31042; r=dbragg]
git-svn-id: svn://10.0.0.236/trunk@73812 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 06:45:43 +00:00
ben%netscape.com
0b5d210876 latest updates to helper apps pref panel (now support editing of types, and overwriting old types with new ones! =D)
git-svn-id: svn://10.0.0.236/trunk@73811 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 05:44:53 +00:00
dougt%netscape.com
5425c4be74 Debuggin code
a=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73810 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 04:17:24 +00:00
rhp%netscape.com
8d21b799ba Fix for bug 31589 - Problem with Japanese in vCard tag fields - r: nhotta
git-svn-id: svn://10.0.0.236/trunk@73809 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 03:17:33 +00:00
mscott%netscape.com
6f9957f6d8 Bug #41707, #43652 --> JS urls aren't working. We need to check for the correct return value and don't propogate
the on start request in that case.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73808 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 02:23:19 +00:00
mscott%netscape.com
384e564c90 Bug #43583 --> updates for helper app launching to work with the dialog.
git-svn-id: svn://10.0.0.236/trunk@73807 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 01:48:57 +00:00
mscott%netscape.com
e07b1b0394 Bug #43583 --> re-organizing how we launch helper apps to work with the helper app dialog.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73806 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 01:48:17 +00:00
mscott%netscape.com
38f8c40206 Bug #43583 --> re-organizing how we launch helper apps to work with the helper app dialog.
Add nsIExternalAppLauncher interface which is used by the helper app dialog.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@73805 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 01:48:05 +00:00
rods%netscape.com
aa114453e4 If the click is not on on item in the dropdown and not in the comboxbox display area then
the click count is set to zero so the JS event doesn't get fired. If it IS over the combobox
display area then the JS event does get fired.
b=40382 r=pollmann


git-svn-id: svn://10.0.0.236/trunk@73804 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 01:35:23 +00:00
chrisk%netscape.com
d8ac3852c6 Added -d option
-p option now also works for decoding


git-svn-id: svn://10.0.0.236/trunk@73802 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 00:57:39 +00:00
av%netscape.com
6d93cedf23 Addressing 22954, r=mscott
git-svn-id: svn://10.0.0.236/trunk@73801 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-07 00:10:54 +00:00
nhotta%netscape.com
0560c4754e Fix warnings caused by my last check in.
git-svn-id: svn://10.0.0.236/trunk@73800 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 23:46:20 +00:00
nhotta%netscape.com
f79422dff2 Added a force charset override support, bug 43101, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@73799 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 23:30:57 +00:00
nhotta%netscape.com
b108a12fd8 Added a force charset override UI, bug 43101, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@73798 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 23:29:44 +00:00
nhotta%netscape.com
409ad593a7 Removed the code to set a folder charset by charset menu, we only use charset menu for message override, bug 43101, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@73797 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 23:26:49 +00:00
nhotta%netscape.com
07964d38ea Added force_charset_override, bug 43101, r=mscott.
git-svn-id: svn://10.0.0.236/trunk@73796 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 23:25:40 +00:00
mozilla.BenB%bucksch.org
23f7344526 38494: Attribution line: actually use authorStr; reorder code a bit to make more sense. r=ducarroz, a=waterson
git-svn-id: svn://10.0.0.236/trunk@73794 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 23:00:43 +00:00
ssu%netscape.com
c22f0b274e fixing nsbeta2+ bug 43404 - Update delete dialog text to be less scary. r=dbragg. Affects windows platforms only.
git-svn-id: svn://10.0.0.236/trunk@73793 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 22:56:57 +00:00
dmose%mozilla.org
1dee72d1cb two calls to PR_fprintf were not properly bracketed by ifdef DEBUG, causing non-debugging builds to fail. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73792 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 22:38:11 +00:00
nbhatla%netscape.com
65ee5ea5d1 Work on bug #43658. Fixes to the Mac Classic skin: Radio buttons, Checkbox buttons, Window "platinum" colors, Fonts, Scrollbars, Popup Menus, Trees and Twisties. r=hangas
git-svn-id: svn://10.0.0.236/trunk@73791 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 22:22:19 +00:00
bryner%uiuc.edu
a27aafc7ee Fix for bug 43417. r=pinkerton.
git-svn-id: svn://10.0.0.236/trunk@73790 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 22:20:32 +00:00
radha%netscape.com
768e16fd5e fix for bug nsbeta2+ 40643. urlbar autocomplete busted.
git-svn-id: svn://10.0.0.236/trunk@73789 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 22:01:46 +00:00
ducarroz%netscape.com
9476188f62 Fix Linux bustage.
git-svn-id: svn://10.0.0.236/trunk@73788 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:51:11 +00:00
av%netscape.com
636fee1b46 Addressing 22954, removed tag info query for full page plugins, r=edburns@acm.org
git-svn-id: svn://10.0.0.236/trunk@73787 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:44:38 +00:00
morse%netscape.com
a283eb91b9 fix bug 44683, real minor wording change, submitted by blaker1234, r=morse
git-svn-id: svn://10.0.0.236/trunk@73786 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:39:25 +00:00
colin%theblakes.com
1aba125d84 Need to link against MOZ_JS_LIBS. r=vidur
git-svn-id: svn://10.0.0.236/trunk@73785 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:23:46 +00:00
dougt%netscape.com
9a2a3876e4 Removing -d "$(CVSROOT)" option. This messes up under 4nt.
a=leaf@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73784 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:20:26 +00:00
nbhatla%netscape.com
04942a81e2 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73783 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:19:42 +00:00
wtc%netscape.com
4a00fce6ce Bugzilla bug #41524: fixed build problems on NetBSD-current with ELF
object format. r=taya@sm.sony.co.jp. a=brendan@mozilla.org.
Modified files: NetBSD.mk, _netbsd.h, prlink.c


git-svn-id: svn://10.0.0.236/trunk@73782 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:14:15 +00:00
radha%netscape.com
ec65503895 fix for dogfood+ bug 44558. r=rpotts.
git-svn-id: svn://10.0.0.236/trunk@73779 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 21:04:02 +00:00
waterson%netscape.com
387e910910 Fix a string leak that dbaron found with leaksoup. r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@73778 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:58:29 +00:00
dougt%netscape.com
93e9cb0462 44665
submitted by dbaron@fas.harvard.edu
a=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73777 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:56:24 +00:00
waterson%netscape.com
1cebde4f7e Brendan meant to add jsdhash.h to the Mac build, too.
git-svn-id: svn://10.0.0.236/trunk@73776 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:55:23 +00:00
waterson%netscape.com
c198a05e61 Brendan meant add jsdhash.c to the Mac build, too.
git-svn-id: svn://10.0.0.236/trunk@73775 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:54:17 +00:00
ducarroz%netscape.com
1f53a7c58d Fix for bug 43448. Add code to populate mailing list during the send/send later process. R=mscott
git-svn-id: svn://10.0.0.236/trunk@73772 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:44:06 +00:00
harishd%netscape.com
acf667a3db 40809 ( nsbeta2+ ) - Replace "\r\n" with "\n" and CR with LF instead of stripping off CRs altogether - in view source.
r=dbaran@fas.harvard.edu


git-svn-id: svn://10.0.0.236/trunk@73771 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:40:26 +00:00
colin%theblakes.com
b66b98f8a8 Need to link against MOZ_JS_LIBS. r=cls
git-svn-id: svn://10.0.0.236/trunk@73770 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:13:57 +00:00
colin%theblakes.com
5a93fe8776 Remove VMS specific code; not needed any more. r,a=leaf
git-svn-id: svn://10.0.0.236/trunk@73769 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 20:11:38 +00:00
sgehani%netscape.com
91d89cecaf Create install log file in XPCOM's notion of cwd.
[nsbeta2+ b = 19034; r = ssu]


git-svn-id: svn://10.0.0.236/trunk@73768 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 19:44:09 +00:00
rogerl%netscape.com
ceb54a7f92 Removed preprocess step, consolidated identifier handling.
git-svn-id: svn://10.0.0.236/trunk@73767 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 18:26:26 +00:00
karnaze%netscape.com
10de8f5166 new regression tests, not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@73766 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 14:07:15 +00:00
dcone%netscape.com
e3d69b4f52 Printing now calls RenderViews instead of just the top view. R=rods. b= 44547
git-svn-id: svn://10.0.0.236/trunk@73765 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 14:06:47 +00:00
rhp%netscape.com
d1c31b9361 Fix for Bug 44086 - problem with saving attachments over existing files - r: bienvenu
git-svn-id: svn://10.0.0.236/trunk@73764 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 14:05:47 +00:00
karnaze%netscape.com
14ce92879a bug 40721 - put back fix that was erroneously backed out. r=rods from before.
git-svn-id: svn://10.0.0.236/trunk@73763 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 13:58:54 +00:00
karnaze%netscape.com
71bc897032 bug 39799 - map NS_STYLE_TEXT_ALIGN_CENTER to align=center, r=syd.
git-svn-id: svn://10.0.0.236/trunk@73762 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 13:42:57 +00:00
bienvenu%netscape.com
82e2d0a593 fix memory leaks in imap header parsing, r=jefft
git-svn-id: svn://10.0.0.236/trunk@73761 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 13:41:10 +00:00
karnaze%netscape.com
0bdadeb834 bug 43732 - correctly calculate preferred width of table and cache it. r=syd.
git-svn-id: svn://10.0.0.236/trunk@73760 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 13:37:28 +00:00
rods%netscape.com
1921a95c8a A "margin" variable isn't being set up in the correct spot.
b=41472 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@73759 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 13:22:12 +00:00
rods%netscape.com
794167383a an extra keypress was being generated for semicolon, equals, comma, period, slash
it now checks to makes it isn't one of these keys
alos, the subtract key is it's very own special key and is handled separately
b=44189, r=brade


git-svn-id: svn://10.0.0.236/trunk@73758 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 13:16:22 +00:00
axel%pike.org
aecffff28c Code cleanup in extensions/transformiix, getting rid of -DMOZILLA
not part of build


git-svn-id: svn://10.0.0.236/trunk@73757 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 12:35:44 +00:00
BlakeR1234%aol.com
9633504e4e Fix for bug 35057, patch by timeless@bemail.org r=me a=brendan
git-svn-id: svn://10.0.0.236/trunk@73756 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 08:16:23 +00:00
sdv%sparc.spb.su
5f5d17aedf fix for bug=44196
git-svn-id: svn://10.0.0.236/trunk@73755 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 08:01:07 +00:00
BlakeR1234%aol.com
57226a41c8 Fix bug 43277 r=me
git-svn-id: svn://10.0.0.236/trunk@73754 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 07:43:50 +00:00
brendan%mozilla.org
352c59dcb8 Fix lying comment, pick control flow nit (r=lumpy,a=jack).
git-svn-id: svn://10.0.0.236/trunk@73753 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 07:38:11 +00:00
BlakeR1234%aol.com
a2dfa3c0c1 erg. fix indentation.
git-svn-id: svn://10.0.0.236/trunk@73752 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 07:37:48 +00:00
BlakeR1234%aol.com
e2e6c9beeb Fix tiny mistake in my previous checkin.
git-svn-id: svn://10.0.0.236/trunk@73751 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 07:23:44 +00:00
dougt%netscape.com
162fc83684 44046
r=dveditz@netscape.com
pdt+


git-svn-id: svn://10.0.0.236/trunk@73750 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 06:58:28 +00:00
BlakeR1234%aol.com
9bdd33ca46 Compatibility with the mail spec
git-svn-id: svn://10.0.0.236/trunk@73749 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 06:52:46 +00:00
BlakeR1234%aol.com
1a9195f268 Compatibility with the mail spec - http://www.mozilla.org/mailnews/specs/threepane/MailMenusM.html
git-svn-id: svn://10.0.0.236/trunk@73748 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 06:49:11 +00:00
brendan%mozilla.org
65b8bdd99e Add jsdhash.h to export/install lists, and jsdhash.c/.obj.
git-svn-id: svn://10.0.0.236/trunk@73747 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 04:46:18 +00:00
radha%netscape.com
1e4d6f8713 More changes regarding feature bug 36547 r=rpotts
git-svn-id: svn://10.0.0.236/trunk@73746 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 04:34:52 +00:00
waterson%netscape.com
e4de1c9239 Update regression test for 22037 to include fun new test cases.
git-svn-id: svn://10.0.0.236/trunk@73745 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 04:33:16 +00:00
waterson%netscape.com
ec244a11cf Bug 22037. Detect when CantRenderReplacedElement() is inserting a block frame into an inline. When this happens, 'split' the frame model to the nearest containing block. Re-arranged some of ConstructInline()'s support routines to share code with new method SplitToContainingBlock(). r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@73744 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 04:31:33 +00:00
waterson%netscape.com
c117abb0b3 Fix silly leak that dbaron found with leaksoup. r=jack,a=lumpy.
git-svn-id: svn://10.0.0.236/trunk@73743 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 04:27:10 +00:00
BlakeR1234%aol.com
c968f39b76 Fix for bugs 20832 and 42202 r=dveditz
git-svn-id: svn://10.0.0.236/trunk@73742 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 04:05:48 +00:00
despotdaemon%netscape.com
52aa37fc2d Pseudo-automatic update of changes made by taka@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@73741 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 03:56:30 +00:00
despotdaemon%netscape.com
9da10fed96 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@73740 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 03:43:45 +00:00
mkaply%us.ibm.com
7cdf888f8c # 42637
r = mkaply, a = brendan
OS/2 bring-up - Need header file for Henry's changes


git-svn-id: svn://10.0.0.236/trunk@73739 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 02:52:58 +00:00
bryner%uiuc.edu
1ecd025623 Fix for crasher bug 44444. r=jst.
git-svn-id: svn://10.0.0.236/trunk@73738 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 02:44:48 +00:00
gagan%netscape.com
5a64fdff92 Fix for bug 22405 (proxy authentication) We were skipping over proxy authentication becuz proxytransparent was false. r=ruslan
git-svn-id: svn://10.0.0.236/trunk@73737 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 02:37:15 +00:00
mozilla.BenB%bucksch.org
93f3722bc1 40862: Fix bug 9202 for this class, temporarily remove the wrapping <div class=text-flowed> in the quoting case.
43453: Check in the nsbr conversion for flowed paragraphs, if we're in an HTML tag (as e.g. outputted by the TXT->HTML converter).
43455: Allow space-stuffing even for otherwise empty (or quoted) lines.


git-svn-id: svn://10.0.0.236/trunk@73736 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 02:22:59 +00:00
dougt%netscape.com
6515a284db 44046
r=dveditz@netscape.com
pdt+


git-svn-id: svn://10.0.0.236/trunk@73734 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 02:05:51 +00:00
mozilla.BenB%bucksch.org
9d287f3ecd 39370: Use format=flowed for quoting
git-svn-id: svn://10.0.0.236/trunk@73733 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:45:02 +00:00
ben%netscape.com
3262466594 initial checkin for bug 10958 (exception feature), application helper pref panel.
Supports adding a new override but not editing or removing. Will work on that next.


git-svn-id: svn://10.0.0.236/trunk@73732 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:43:17 +00:00
law%netscape.com
24eb4820e4 Bug 43583; add interface for helper app dialog; r=varada@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73731 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:42:46 +00:00
javi%netscape.com
63cb8e2904 More entries that were multiply defined are now fixed.
git-svn-id: svn://10.0.0.236/trunk@73730 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:38:51 +00:00
ben%netscape.com
b22a01f1ed small change in ds to support Helper Apps pref panel
git-svn-id: svn://10.0.0.236/trunk@73729 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:35:03 +00:00
mozilla.BenB%bucksch.org
37c6644e37 Rest of 29653: Use a valid "mid" URL as value for the cite attribute of <blockquote> instead of just the raw Msg-ID.
git-svn-id: svn://10.0.0.236/trunk@73728 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:33:19 +00:00
javi%netscape.com
a023887c50 Removed some properties that were multiply defined and correctly defined some
hdr property entires to avoid over-writing properties.


git-svn-id: svn://10.0.0.236/trunk@73727 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:31:30 +00:00
despotdaemon%netscape.com
afb3f69ee9 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@73726 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:27:30 +00:00
ben%netscape.com
a4cee924f4 ...and again. I suck.
git-svn-id: svn://10.0.0.236/trunk@73725 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:24:35 +00:00
cmanske%netscape.com
9450698144 Temporary fix for HTML source window being overwritten by regular editor window when window is resized b=34414. r=mjudge
git-svn-id: svn://10.0.0.236/trunk@73724 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:23:47 +00:00
ben%netscape.com
6c08503cf6 fix braindead stuff. (make global variable local, oops)
git-svn-id: svn://10.0.0.236/trunk@73723 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:22:59 +00:00
brendan%mozilla.org
729aa3812c Avoid 80th column violations and unnecessary local variable.
git-svn-id: svn://10.0.0.236/trunk@73722 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 01:15:08 +00:00
warren%netscape.com
1f54371807 Bug 43858. Fix to make wallet dlls be optional.
git-svn-id: svn://10.0.0.236/trunk@73720 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:45:00 +00:00
warren%netscape.com
5c26c6e8c5 Fix for lost status/error return value. Affects javascript: urls. r=gagan
git-svn-id: svn://10.0.0.236/trunk@73719 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:40:53 +00:00
edburns%acm.org
64743fd04d compile_under_solaris
git-svn-id: svn://10.0.0.236/trunk@73718 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:39:53 +00:00
brendan%mozilla.org
2bec829503 Undo teeny optimization from rev 3.28, alas it breaks ECMA Ed. 3, 15.5.4.15.
git-svn-id: svn://10.0.0.236/trunk@73717 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:30:46 +00:00
edburns%acm.org
12c5493511 Compile_String_changes_with_M16
git-svn-id: svn://10.0.0.236/trunk@73716 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:25:23 +00:00
dougt%netscape.com
5c4e30eccb Mike Kaply <mkaply@us.ibm.com> pointed out a malloc(0) bug as well as a free(null).
a=brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@73715 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:22:17 +00:00
law%netscape.com
45f1ba66f8 Bug 43583; add new interface for helper app dialog
git-svn-id: svn://10.0.0.236/trunk@73714 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 00:09:51 +00:00
ben%netscape.com
dbb0db1507 toolbar drag and drop
git-svn-id: svn://10.0.0.236/trunk@73713 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:55:48 +00:00
ben%netscape.com
09d9409283 toolbar drag and drop
git-svn-id: svn://10.0.0.236/trunk@73712 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:55:39 +00:00
jefft%netscape.com
54fd4379aa fixed bug 44164 - improperly parented modal dialog in nsPop3Protocol; r=mscott
git-svn-id: svn://10.0.0.236/trunk@73711 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:55:17 +00:00
ben%netscape.com
9030716697 give toolbar buttons a max width of 10em to prevent ridiculously large personal toolbar buttons.
git-svn-id: svn://10.0.0.236/trunk@73710 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:50:30 +00:00
ben%netscape.com
138436a31b personal toolbar drag and drop and a fix for 42692, [disabled by default!]
git-svn-id: svn://10.0.0.236/trunk@73709 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:49:31 +00:00
law%netscape.com
bd38d4fa33 Bug 43583; add new interface file for helper app dialog;r=varada@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73708 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:41:14 +00:00
cmanske%netscape.com
ec6be6cf62 Fixed setting value on multiline textarea - get value from content node instead of frame. Fixed by kin, b=42646, r=mjudge, a=beppe
git-svn-id: svn://10.0.0.236/trunk@73707 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:38:26 +00:00
jefft%netscape.com
88334e2247 fixed bug 33986 -- IMAP: Quit with unsaved draft, save to draft crashes & bug 44203 -- Closing last mail compose crashes the app; r=alecf
git-svn-id: svn://10.0.0.236/trunk@73706 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:19:24 +00:00
pinkerton%netscape.com
af868ff566 when passing drag event into gecko, correctly compute offset to child widget. r=damn bug 43405
git-svn-id: svn://10.0.0.236/trunk@73705 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:14:14 +00:00
pinkerton%netscape.com
cfbebe7bb0 take into account the scroll position of the tree's view when computing frame-relative mouse coordinates. r=damn bug 43405
git-svn-id: svn://10.0.0.236/trunk@73704 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:12:35 +00:00
rpotts%netscape.com
bc20fd3c03 Moved session history methods from nsIWebNavigation into a new interface called nsIDocShellHistory. Also made docshells persist layout state before being destroyed (this is necesssary for framesets).
git-svn-id: svn://10.0.0.236/trunk@73703 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 23:10:29 +00:00
ruslan%netscape.com
bb6667a9c2 Make XPCOM_CHECK_THREADSAFE env. variable to actually be useful
git-svn-id: svn://10.0.0.236/trunk@73702 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:58:28 +00:00
ruslan%netscape.com
9d5c85f6e4 Fix 42377 - make http SetNotificationCallbacks go through the proxy object, thus
avoiding crashers when OpenInputStream is used, a=gagan,warren


git-svn-id: svn://10.0.0.236/trunk@73701 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:57:50 +00:00
av%netscape.com
e0616cee81 #43500, making the default plugin part of the build on Windows, r=pollmann
git-svn-id: svn://10.0.0.236/trunk@73700 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:51:34 +00:00
danm%netscape.com
2d19de477f added nsIDocShellHistory for rpotts
git-svn-id: svn://10.0.0.236/trunk@73699 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:44:57 +00:00
bienvenu%netscape.com
c0ceccd221 fix mork memory leak, a+r=waterson 35913
git-svn-id: svn://10.0.0.236/trunk@73698 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:40:17 +00:00
rpotts%netscape.com
f8caaea71c New session history interface for the DocShell... not part of the build yet.
git-svn-id: svn://10.0.0.236/trunk@73697 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:28:24 +00:00
bienvenu%netscape.com
492290e8c3 check in fix for 40746 for putterman, crash hitting next unread in empty folder, r=me
git-svn-id: svn://10.0.0.236/trunk@73696 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:26:55 +00:00
danm%netscape.com
dcfe9c7095 stick Macintosh modal windows on top, correct other platforms' dependent window z-level, all with icky XP_ ifdefs. bug 44117 r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@73695 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:24:44 +00:00
danm%netscape.com
af282c07d8 remove dependence on modality for z-ordering. bug 44117 r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@73694 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:22:58 +00:00
varada%netscape.com
9f629f086b fix for bug #36155 -default identity for compose message must be the selected identity in messenger windows; r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@73693 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 22:06:34 +00:00
leaf%mozilla.org
805708df41 Automated update
git-svn-id: svn://10.0.0.236/trunk@73692 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 21:30:10 +00:00
mkaply%us.ibm.com
843d43b5a2 #40177
r = cls, a = brendan
OS/2 bringup - Changes so we can build mng


git-svn-id: svn://10.0.0.236/trunk@73691 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 21:28:07 +00:00
kin%netscape.com
682a69e783 Backout passing of PR_FALSE to GetText() in CreateAnonymousContent(). That
was a debug change in my tree that I accidentally included in my previous
checkin.


git-svn-id: svn://10.0.0.236/trunk@73690 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 21:23:35 +00:00
mkaply%us.ibm.com
bd9e5900cc #40177
r = cls, a = brendan
OS/2 bringup - XP_OS2_EMX should be defined for EMX builds no matter what


git-svn-id: svn://10.0.0.236/trunk@73689 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 21:21:54 +00:00
kin%netscape.com
b1c5d5cd44 Fix for bug #43679: lose sender when scrolling in the addressing pane
Modified CreateAnonymousContent() to use mCachedState if it exists.

r=ducarroz@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73688 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 20:51:08 +00:00
edburns%acm.org
da177fe5fd Whitespace formatting changes.
git-svn-id: svn://10.0.0.236/trunk@73687 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 20:27:41 +00:00
morse%netscape.com
09065955f6 fix bug 44581, minor wording change, submitter=Blake Ross, r=morse
git-svn-id: svn://10.0.0.236/trunk@73686 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 20:14:30 +00:00
tor%cs.brown.edu
73bb269933 Build MNG decoder when MOZ_MNG is set. r=roc+@cs.cmu.edu, a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@73685 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 19:54:33 +00:00
edburns%acm.org
c3f688ff6d Make it so it compiles on UNIX.
git-svn-id: svn://10.0.0.236/trunk@73684 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 19:53:24 +00:00
mkaply%us.ibm.com
8d7beef6d9 #42637
r = mkaply, a = brendan
OS/2 bringup - remove obsolete widgets, begin font work, get filepicker working


git-svn-id: svn://10.0.0.236/trunk@73683 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 19:53:21 +00:00
tor%cs.brown.edu
a097baa88d Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73682 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 19:32:22 +00:00
mstoltz%netscape.com
2566397fdc DOM properties default to same origin access only. Bug 28443. r=rginda
git-svn-id: svn://10.0.0.236/trunk@73681 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 19:08:20 +00:00
vidur%netscape.com
02818e5c1a Cleaning up simple cgi. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73680 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 18:49:41 +00:00
ssu%netscape.com
827783da2c fixing bug 43901 - fixing makeall.pl to build windows installer under win2k. a=leaf r=sgehani
git-svn-id: svn://10.0.0.236/trunk@73679 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 18:29:33 +00:00
slamm%netscape.com
a3127beff0 Change ~/.mozconfig to $HOME/.mozconfig for OS2 folks.
git-svn-id: svn://10.0.0.236/trunk@73678 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 18:24:28 +00:00
cyeh%bluemartini.com
8e0ab1fd6e fixes for the attachment widths. fix by dave@intrec.com (Dave Miller),
original bug found by timeless@bemail.org


git-svn-id: svn://10.0.0.236/trunk@73677 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 18:21:54 +00:00
rpallath%eng.sun.com
c159e73577 Altered test files
git-svn-id: svn://10.0.0.236/trunk@73676 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 17:17:34 +00:00
rpallath%eng.sun.com
04de8efbac Modified Test Cases. All previously unsupported methods have been
supported. Test Cases for the same have been updated.


git-svn-id: svn://10.0.0.236/trunk@73675 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 17:16:15 +00:00
nboyd%atg.com
e100ec45de Remove obsolete references to NodeFactory.
git-svn-id: svn://10.0.0.236/trunk@73674 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 17:08:26 +00:00
vidur%netscape.com
af010cf93a Added new parser interface that does string/stream to DOM document parsing. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73672 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 16:55:53 +00:00
terry%mozilla.org
d22aab65d0 If bugs with an invalid product/component are found, provide a link to bring up the list of invalid bugs.
git-svn-id: svn://10.0.0.236/trunk@73671 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 15:17:36 +00:00
mkaply%us.ibm.com
d1ae27be7b 42637
r=dougt, a=brendan
OS/2 bringup - DLL names need to be 8.3 on OS/2


git-svn-id: svn://10.0.0.236/trunk@73670 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 13:53:12 +00:00
mkaply%us.ibm.com
d3b1c79d63 #42637
r=sspitzer, a=brendan
OS/2 bringup - VisualAge treats this like a cast - according to nsFileSpec.h, our way is correct


git-svn-id: svn://10.0.0.236/trunk@73669 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 13:48:12 +00:00
mkaply%us.ibm.com
b00f430573 #42637
r=mscott, a=brendan
OS/2 bringup - VisualAge treats this like a cast - according to nsFileSpec.h, our way is correct


git-svn-id: svn://10.0.0.236/trunk@73668 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 13:44:44 +00:00
mkaply%us.ibm.com
b9f715c40a #42637
r=dougt, a=brendan
OS/2 bringup - change to locate DLL in components dir


git-svn-id: svn://10.0.0.236/trunk@73667 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 13:40:53 +00:00
mkaply%us.ibm.com
b3f87a2180 #42637
r=waterson, a=waterson
OS/2 bringup - this is a Windows path, not an XP_PC path


git-svn-id: svn://10.0.0.236/trunk@73666 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 13:39:07 +00:00
mkaply%us.ibm.com
f86f54f07f #42637
r=mkaply, a=brendan
Support for subkeyboard types, like Dvorak


git-svn-id: svn://10.0.0.236/trunk@73665 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 13:37:09 +00:00
BlakeR1234%aol.com
85a54ba8bb Rest of the fix for 42318 (r=ben, see previous checkin)
git-svn-id: svn://10.0.0.236/trunk@73664 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 05:14:49 +00:00
BlakeR1234%aol.com
f383184545 Partial fix for bug 42318 r=ben, fix for 44240 r=disttsc@bart.nl, a=brendan
git-svn-id: svn://10.0.0.236/trunk@73663 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 05:10:47 +00:00
sgehani%netscape.com
432e9a5c80 Use passive mode when downloading. (Checking in for Jeffrey Baker.)
[nsbeta2+ b = 40655; r=sgehani,dbragg]


git-svn-id: svn://10.0.0.236/trunk@73662 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 03:55:54 +00:00
sgehani%netscape.com
58c60d3a91 Prevent multiple redundant downloads when default (return) key is hit more than once.
[nsbeta2+ b = 31042; r=ssu]


git-svn-id: svn://10.0.0.236/trunk@73661 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-05 03:53:09 +00:00
dougt%netscape.com
846f904556 Adding files to cvs for test application.
git-svn-id: svn://10.0.0.236/trunk@73660 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 22:42:09 +00:00
dougt%netscape.com
fed912c428 I am an idiot.
git-svn-id: svn://10.0.0.236/trunk@73659 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 22:08:41 +00:00
dougt%netscape.com
bf51a63eae 44113, 44190, 44191.
r/a=valeski@netscape.com

nsDocShellTreeOwner not handling chrome/content correctly.
Asserts when no toplevel window set.
Need to start chrome up from NS_InitEmbedding()
Test App changes.


git-svn-id: svn://10.0.0.236/trunk@73658 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 21:53:27 +00:00
dougt%netscape.com
4aa12d035b 44113 r/a=valeski@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73657 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 21:49:27 +00:00
brendan%mozilla.org
e508a48538 Fix unused new Object before literal.
git-svn-id: svn://10.0.0.236/trunk@73656 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 19:06:26 +00:00
blizzard%redhat.com
0fd07c8cdf fix for bug #43305. reduce the number of paints and fix leaking items into a linked list when scrolling. this should make linux a little faster. r=bryner,pavlov,imoT a=brendan
git-svn-id: svn://10.0.0.236/trunk@73655 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 19:05:47 +00:00
radha%netscape.com
8949f863cb Enabling feature "Session History in frameset pages". bug # 36547. Reviewer for this checkin
as well as several previous checkins related to this bug is rpotts.


git-svn-id: svn://10.0.0.236/trunk@73654 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 18:51:14 +00:00
morse%netscape.com
d100122d25 workaround for bug 43573, select user not working
git-svn-id: svn://10.0.0.236/trunk@73653 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-04 03:07:39 +00:00
cls%seawood.org
a1ee73cf32 Remove generated config files on distclean. Bug #43142
git-svn-id: svn://10.0.0.236/trunk@73651 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-03 21:41:48 +00:00
nboyd%atg.com
a1a769b259 Subject:
Re: Rhino1.5.R1: problems with multithreaded embedded application.
        Date:
             Mon, 03 Jul 2000 14:38:56 -0400
       From:
             Norris Boyd <nboyd@atg.com>
 Organization:
             Art Technology Group
         To:
             Fergus Gallagher <Fergus.Gallagher@orbisuk.com>
 Newsgroups:
             netscape.public.mozilla.jseng
  References:
             1




You found a bug in Rhino; I wonder if others have been running into the same thing.

The problem is with a class called LazilyLoadedCtor. I wrote this class to reduce the
time
required by initStandardObjects by only creating standard objects when the associated
constructors are first accessed. The problem is that this class was not threadsafe.
I've
made changes to that class, and to ScriptableObject as well. The design of dynamic
properties calling getters and setters (which LazilyLoadedCtor uses) didn't really
allow
any way for the getter/setter to replace itself without a thread hazard. I've now
extended
setters so that they can return a value which replaces the getter/setter to avoid this
problem.

Thanks for finding this problem. There have been a couple of other reports of problems
in
this area, so I hope this will fix them.

The patch follows.

--N

Index: LazilyLoadedCtor.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/LazilyLoadedCtor.java,v
retrieving revision 1.1
diff -u -r1.1 LazilyLoadedCtor.java
--- LazilyLoadedCtor.java 2000/02/29 21:34:37 1.1
+++ LazilyLoadedCtor.java 2000/07/03 18:31:03
@@ -58,9 +58,12 @@
     }

     public Object getProperty(ScriptableObject obj) {
-        obj.delete(ctorName);
         try {
-            ScriptableObject.defineClass(obj, Class.forName(className));
+            synchronized (obj) {
+                if (!isReplaced)
+                    ScriptableObject.defineClass(obj, Class.forName(className));
+                isReplaced = true;
+            }
         }
         catch (ClassNotFoundException e) {
             throw WrappedException.wrapException(e);
@@ -83,11 +86,14 @@
         return obj.get(ctorName, obj);
     }

-    public void setProperty(ScriptableObject obj, Object val) {
-        obj.delete(ctorName);
-        obj.put(ctorName, obj, val);
+    public Object setProperty(ScriptableObject obj, Object val) {
+        synchronized (obj) {
+            isReplaced = true;
+            return val;
+        }
     }

     private String ctorName;
     private String className;
+    private boolean isReplaced;
 }
Index: ScriptableObject.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/ScriptableObject.java,v
retrieving revision 1.17
diff -u -r1.17 ScriptableObject.java
--- ScriptableObject.java 2000/03/13 17:12:36 1.17
+++ ScriptableObject.java 2000/07/03 18:31:04
@@ -246,11 +246,21 @@
                             break;
                         }
                     }
-                    getterSlot.setter.invoke(start, arg);
+                    Object v = getterSlot.setter.invoke(start, arg);
+                    if (getterSlot.setterReturnsValue) {
+                        slots[slotIndex].value = v;
+                        if (!(v instanceof Method))
+                            slots[slotIndex].flags = 0;
+                    }
                     return;
                 }
                 Object[] args = { this, actualArg };
-                getterSlot.setter.invoke(getterSlot.delegateTo, args);
+                Object v = getterSlot.setter.invoke(getterSlot.delegateTo, args);
+                if (getterSlot.setterReturnsValue) {
+                    slots[slotIndex].value = v;
+                    if (!(v instanceof Method))
+                        slots[slotIndex].flags = 0;
+                }
                 return;
             }
             catch (InvocationTargetException e) {
@@ -1183,6 +1193,7 @@
         slot.delegateTo = delegateTo;
         slot.getter = getter;
         slot.setter = setter;
+        slot.setterReturnsValue = setter != null && setter.getReturnType() !=
Void.TYPE;
         slot.value = null;
         slot.attributes = (short) attributes;
         slot.flags = flags;
@@ -1551,6 +1562,7 @@
     Object delegateTo;  // OPT: merge with "value"
     Method getter;
     Method setter;
+    boolean setterReturnsValue;
 }




Fergus Gallagher wrote:

> I am having problems getting my head around contexts and scopes and my
> multi-threaded application fall over.
>
> If I set "global=false" the following code used a per-thread
> initStandardObject() and this seems to work.  But when I set
> "global=true", the global "parentScope" is used and I get some wierd
> errors.
>
> If I change "__CODE__.slice(0,5)" to
> 1. "__CODE__" - works
> 2. "__CODE__.substring(0,5)" - fails
> 3. "__CODE__.toString()" - works
>
> Any help appreciated.
>
> Fergus
>
> ===== Test.java =========================================
> import java.io.*;
> import org.mozilla.javascript.*;
>
> public class Test implements Runnable {
>         private Script script;
>         private Scriptable parentScope;
>         private String __CODE__="ABCDEFGHIJK";
>         private boolean global = true;
>         private static Context globalContext = null;
>         public Test() throws Exception {
>                 String js= "java.lang.System.out.println(__CODE__.slice(0,5));";
>                 globalContext.setCompileFunctionsWithDynamicScope(false);
>                 parentScope = globalContext.initStandardObjects(null);
>                 StringReader sr = new StringReader(js);
>                 script = globalContext.compileReader(parentScope, sr, "(compiled)",
> 1,null);
>         }
>
>         public void run() {
>                 try {
>                         Context context = Context.enter();
>                         Scriptable threadScope;
>                         if (global) {
>                                 threadScope = context.newObject(parentScope);
>                                 threadScope.setPrototype(parentScope);
>                                 threadScope.setParentScope(null);
>                         } else {
>                                 threadScope = context.initStandardObjects(null);
>                         }
>                         threadScope.put("__CODE__",threadScope,__CODE__);
>                         script.exec(context,threadScope);
>                 }
>                 catch (Exception e) {
>                         System.err.println(e.getClass().getName()+":
"+e.getMessage());
>                 }
>                 finally {
>                         Context.exit();
>                 }
>         }
>
>         public static void main(String args[]) throws Exception {
>         globalContext = Context.enter();
>                 Test me = new Test();
>                 int count=10;
>                 Thread[] threads = new Thread[count];
>                 for (int i=0; i<count; i++) {
>                         Thread t = new Thread(me);
>                         threads[i] = t;
>                         t.start();
>                 }
>                 for (int i=0; i<count; i++) {
>                         threads[i].join();
>                 }
>                 Context.exit();
>         }
> }
>
> ==== OUTPUT ===============================================
> ABCDE
> ABCDE
> org.mozilla.javascript.EcmaError: undefined is not a function.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> ===========================================================
>
> The number and type of exceptions is highly variable from run to run -
> anywhere from 1-9 out of 10.
> The EcmaError in particular only happens occasionally.
>
> --
> Fergus Gallagher          Tel: +44 (20) 8 987 0717
> Orbis                     Fax: +44 (20) 8 742 2649
> The Swan Centre           email: Fergus.Gallagher@orbisuk.com
> Fishers Lane              Web: http://www.orbisuk.com
> London W4 1RX / UK


git-svn-id: svn://10.0.0.236/trunk@73650 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-03 18:40:35 +00:00
BlakeR1234%aol.com
3794a301da Fix for 44442. r=me
git-svn-id: svn://10.0.0.236/trunk@73649 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-03 05:56:58 +00:00
rbs%maths.uq.edu.au
ab59c260ce [not part of default build] Fix bug 43443, and some updates in the stretchy chars land. a:waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@73648 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-03 05:40:13 +00:00
BlakeR1234%aol.com
35b930e4b5 Partial fix for bug 44442. Thanks to walk84@usa.net for catching it r=me
git-svn-id: svn://10.0.0.236/trunk@73647 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-03 00:41:30 +00:00
bienvenu%netscape.com
3ffd988c06 fix OS2 build bustage
git-svn-id: svn://10.0.0.236/trunk@73646 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 23:56:10 +00:00
jband%netscape.com
1cf39227e9 updating readme. Not part of build
git-svn-id: svn://10.0.0.236/trunk@73645 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 19:37:57 +00:00
cls%seawood.org
7fb57d53ad Removing last vestiges of raptor from unix build. Since some libs were renamed, a 'make distclean' is recommeneded to remove the old copies of those libs. Bug #8228 r=bryner
git-svn-id: svn://10.0.0.236/trunk@73643 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 18:44:42 +00:00
bienvenu%netscape.com
9ae501b0eb fix OS2 build bustage
git-svn-id: svn://10.0.0.236/trunk@73642 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 18:16:47 +00:00
bienvenu%netscape.com
9a4b6f8f61 fix os2 build bustage
git-svn-id: svn://10.0.0.236/trunk@73641 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 18:11:32 +00:00
ben%netscape.com
e1e301e649 tweaks to classic skin for mac (make throbber normal size, make splitter the right colour)
git-svn-id: svn://10.0.0.236/trunk@73640 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 07:03:16 +00:00
morse%netscape.com
38ca00123e fix bug 43227, quickfill still in menu on mac
git-svn-id: svn://10.0.0.236/trunk@73639 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 04:00:02 +00:00
dbaron%fas.harvard.edu
be229d0ebf Ignore the correct generated files (rather than the list copied from leaky).
git-svn-id: svn://10.0.0.236/trunk@73638 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-02 00:44:31 +00:00
dbaron%fas.harvard.edu
2b71a5740c Fix bug 35355 by not reading before the beginning of an array. Patch from Robert O'Callahan <roc+moz@cs.cmu.edu>.
Fix ConditionRect so really wide documents repaint correctly on Win95.
r=kmcclusk, a=waterson


git-svn-id: svn://10.0.0.236/trunk@73636 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 22:12:23 +00:00
leaf%mozilla.org
327240ef2a Automated update
git-svn-id: svn://10.0.0.236/trunk@73635 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 21:45:08 +00:00
dbaron%fas.harvard.edu
7c7f971183 Fix leak of content from trees introduced recently. r=hyatt,waterson
git-svn-id: svn://10.0.0.236/trunk@73634 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 21:45:06 +00:00
dbaron%fas.harvard.edu
43225d6206 Add Vidur's xmlextras to the list of *all* extensions (what you get with --with-extensions=all). Does not affect default build. r=vidur
git-svn-id: svn://10.0.0.236/trunk@73633 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 21:41:48 +00:00
dbaron%fas.harvard.edu
4606a3e8e6 Allow Vidur's xmlextras to be built on Linux (not part of default build). r=vidur
git-svn-id: svn://10.0.0.236/trunk@73632 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 21:40:53 +00:00
jab%atdot.org
e7e15146f2 A typo in the Windows makefile...
git-svn-id: svn://10.0.0.236/trunk@73631 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 12:41:53 +00:00
jab%atdot.org
c5fa278001 The mac build was not getting my new MANIFEST file. I think this might fix it.
git-svn-id: svn://10.0.0.236/trunk@73627 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 11:05:41 +00:00
jab%atdot.org
828533791e I had an extra tab after one of the makefile lines...
git-svn-id: svn://10.0.0.236/trunk@73626 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 10:49:06 +00:00
jab%atdot.org
027f444ba4 a=brendan@mozilla.org
Bug #16103
Support for SOCKS proxies in HTTP, HTTPS, and FTP protocols.
Also includes the prefs configuration and UI bits.


git-svn-id: svn://10.0.0.236/trunk@73625 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 10:25:25 +00:00
ssu%netscape.com
057942a772 fixing bug 44006 - Please don't use Windows extended dialogs in setupsrc.dll. nsbeta2+ r=sgehani
git-svn-id: svn://10.0.0.236/trunk@73624 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 08:50:44 +00:00
andreas.otte%primus-online.de
b0e4bff161 fix bug 43659, URL bar does not accept hexadecimal domain names, r=gagan@netscape.com, a=waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@73623 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 06:29:13 +00:00
rpotts%netscape.com
42b6d06869 Fixed a leak where child SHEntry were not being released when the parent SHEntry was deleted.
git-svn-id: svn://10.0.0.236/trunk@73622 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 05:37:40 +00:00
sspitzer%netscape.com
9a5dbb3cb7 last check in before sabbatical! fix for nsbeta2+ bugscape bug #1149.
install default templates in the case where the profile's locale
is not set.  r=mscott


git-svn-id: svn://10.0.0.236/trunk@73621 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 02:38:27 +00:00
brendan%mozilla.org
33739aa4fc Reference-count XBL JSClass structs, and LRU-cache unreferenced ones up to some quota, to avoid bloat and shutdown crashes due to unavoidable manual delete/last-use misorder (42530, r=hyatt).
git-svn-id: svn://10.0.0.236/trunk@73620 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 02:36:18 +00:00
nisheeth%netscape.com
d3c0d42db2 Fix for nsbeta2+ bug 12152. r=vidur, pollmann. Setting the src property during document load works on <IMG> and <INPUT type="image"> elements.
git-svn-id: svn://10.0.0.236/trunk@73619 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 02:26:30 +00:00
cmanske%netscape.com
dd3d32b37c Don't include current URL when building Recent Files menu. Checking in work for Ryan Cassin, b=17502, r=cmanske
git-svn-id: svn://10.0.0.236/trunk@73618 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 02:16:04 +00:00
dougt%netscape.com
44732d3a61 submitted by Quy Tonthat <quy@igelaus.com.au>
a=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73617 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 02:12:52 +00:00
javi%netscape.com
a11f6a01a8 Get the CRL dialog window to properly close and refresh the Signers pane
when no more CRL's are left.


git-svn-id: svn://10.0.0.236/trunk@73616 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 01:26:42 +00:00
javi%netscape.com
23bd6cfb23 First shot at having UI for deleting CRLs.
git-svn-id: svn://10.0.0.236/trunk@73615 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 01:19:22 +00:00
javi%netscape.com
f9f93685e4 Remove an unused button from dialog.
git-svn-id: svn://10.0.0.236/trunk@73614 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 01:15:28 +00:00
javi%netscape.com
f7a4c2177a Changes for having a dialog that does CRL deleting.
git-svn-id: svn://10.0.0.236/trunk@73613 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 01:14:22 +00:00
morse%netscape.com
7dd42d1f29 fix bug 42550, unable to delete single-signon database, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@73612 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 00:43:42 +00:00
jst%netscape.com
1a6f29b8e9 Checking in patch from timelesss@bemail.org, add access keys to javascript console menus, r=me, a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@73611 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 00:43:03 +00:00
tao%netscape.com
309b762723 Fix the broken localeSwitcher in "QA|Languages->". a=ben
git-svn-id: svn://10.0.0.236/trunk@73610 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 00:41:20 +00:00
cmanske%netscape.com
71c3960c36 Table Properties dialog and UI commands work. b=20973, r=sfraser
git-svn-id: svn://10.0.0.236/trunk@73609 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 00:37:38 +00:00
cmanske%netscape.com
b0cfe32ef3 Changed Composer test because of added parameter for JoinTableCells in connection with work for bug 20973. r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@73608 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 00:37:23 +00:00
cmanske%netscape.com
d916040dae Table editing work. b=20973, r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@73607 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-01 00:37:12 +00:00
hangas%netscape.com
bab0278a37 Fixing stop and print buttons in Classic skin. Wirtten by German r=hangas
git-svn-id: svn://10.0.0.236/trunk@73606 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 23:53:00 +00:00
hangas%netscape.com
1eef8580c5 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73605 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 23:50:37 +00:00
tor%cs.brown.edu
444120c5b6 Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73604 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 23:41:12 +00:00
valeski%netscape.com
d2709265b5 39474. r=rpotts,mscott. We now can load a stream directly into the uri loader (bypassing necko). built and pre-checkin tested on linux and win
git-svn-id: svn://10.0.0.236/trunk@73603 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 23:39:30 +00:00
vidur%netscape.com
f831750c24 Simple posting tests. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73602 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 23:10:56 +00:00
vidur%netscape.com
cc45defb2d Added support for synchronous posting. Got rid of unbreakable circular reference in the abort case. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73601 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 23:09:26 +00:00
rpotts%netscape.com
23edfd5232 Fixed the nsIWebNavigation methods on the docshell when SH_IN_FRAMES is defined...
git-svn-id: svn://10.0.0.236/trunk@73600 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 22:05:32 +00:00
edburns%acm.org
8e2c512db6 Automatically_generate_JAVAH_headers
git-svn-id: svn://10.0.0.236/trunk@73599 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 21:08:30 +00:00
edburns%acm.org
a8d3fcb4e4 Finally_make_use_of_Sherry_Shen_changes
git-svn-id: svn://10.0.0.236/trunk@73598 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 19:03:27 +00:00
edburns%acm.org
8c4107130e Finally_make_use_of_Sherry_Shen_changes
git-svn-id: svn://10.0.0.236/trunk@73597 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 18:50:02 +00:00
despotdaemon%netscape.com
fc06dfe5aa Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@73596 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 18:30:36 +00:00
edburns%acm.org
3560f2869c feature:
Now you can shift click to select a node in the DOM viewer.


git-svn-id: svn://10.0.0.236/trunk@73595 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 17:53:58 +00:00
edburns%acm.org
b5ac5f55b7 a=av
bug=23775
This is the last bit of the checkin that George Drapeau started
for bug 23775.  He didn't finish due to conflicts with this file
and, being the good engineer that he is, he waited for the author
to return from vacation.

George said I could check this in under the same approval for
the rest of 23775.


git-svn-id: svn://10.0.0.236/trunk@73594 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 17:31:02 +00:00
svn%xmlterm.org
322e1ee8a7 --NOT PART OF DEFAULT BUILD--
XMLterm changes only. Absolute URL chrome://xmlterm/skin/xmltpage.css is not
recognized in xmlterm.html. Using relative URL ../skin/xmltpage.css as a
workaround.


git-svn-id: svn://10.0.0.236/trunk@73593 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 14:53:19 +00:00
kin%netscape.com
f65d1b5fba Fix for bug #42178 Back causes data corruption
Modified CreateAnonymousContent() so that if the text widget has
a default value, it adds it as a text node under the div after it
is created. Add better error checking to avoid possible problems.
Removed calls to SetTextControlState() that were used
to initialize the text widget contents from GetPrefSize() because
it was causing a reflow within a reflow and the editor to be re-entered.
Added missing call to GetText() in Reset().

r=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73592 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 14:51:58 +00:00
bienvenu%netscape.com
2a1e519fc2 more fixes for progress meteors,r=mscott 38598
git-svn-id: svn://10.0.0.236/trunk@73591 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 13:30:02 +00:00
locka%iol.ie
c811c9255a Fixed problem with chrome content docshells
git-svn-id: svn://10.0.0.236/trunk@73590 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 12:40:52 +00:00
locka%iol.ie
647d05c9f4 NOT PART OF BUILD. Update the address field url after clicking on link
git-svn-id: svn://10.0.0.236/trunk@73589 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 12:37:05 +00:00
locka%iol.ie
29b59b41cc NOT PART OF BUILD. Tiny graphics for mini-nav
git-svn-id: svn://10.0.0.236/trunk@73588 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 12:25:49 +00:00
sdv%sparc.spb.su
cab8ea17e5 fixed a memory leak
git-svn-id: svn://10.0.0.236/trunk@73587 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 10:46:49 +00:00
locka%iol.ie
07a38859b7 NOT PART OF BUILD. Win32 only. Simple test of embedding APIs dumps out memory statistics.
git-svn-id: svn://10.0.0.236/trunk@73586 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 10:40:12 +00:00
cls%seawood.org
91d683a067 Removed obsolete REQUIRES variable from every Makefile.in/makefile.win
git-svn-id: svn://10.0.0.236/trunk@73583 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 08:08:04 +00:00
warren%netscape.com
9c9d05c025 Bug 37463. Fixed javascript: url deadlock. Also made the file transport more efficient in the process by eliminating the lock. r=waterson
git-svn-id: svn://10.0.0.236/trunk@73582 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 07:18:52 +00:00
alecf%netscape.com
530465ca79 mozilla side of fix for #34140
r=sspitzer

Allow protocol-specific attributes to be set in the ISP RDF file


git-svn-id: svn://10.0.0.236/trunk@73581 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 06:07:36 +00:00
mscott%netscape.com
ae61ab852e Bug #43887 --> fix build bustage on WIN2K platform. Not beta2 plussed yet but it's fixing build breakage.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73580 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 06:03:43 +00:00
alecf%netscape.com
892e042699 update ISP example (not part of build)
git-svn-id: svn://10.0.0.236/trunk@73579 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 06:03:21 +00:00
alecf%netscape.com
9bcdb3ba49 fix for #43911 - make double-clicking of messages in the search window open the target
message in a standalone message window - mostly moving files into threadPane.js and
abstracting out the folder datasource
r=putterman


git-svn-id: svn://10.0.0.236/trunk@73578 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 06:02:30 +00:00
mscott%netscape.com
8cc210d5a4 Bug #43887 --> fix build bustage on Win2K. This bug wasn't nsbeta2 plussed yet but it's build breakage fix!!
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73577 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 06:02:27 +00:00
jfrancis%netscape.com
890c0d5e35 fixing max text length initialization for text fields. 43275
git-svn-id: svn://10.0.0.236/trunk@73576 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 05:51:34 +00:00
jfrancis%netscape.com
6e3a97f5c5 fix for undo in ender-lite (text fields, url bar, etc)
git-svn-id: svn://10.0.0.236/trunk@73575 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 04:58:34 +00:00
jband%netscape.com
ce4fc31a2d Fix dogfood/crash bugs: 42750, 39858 and fix 43897 and improve JS/XPConnect error reporting to help with crasher 40792. r=mccabe@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@73574 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 04:04:46 +00:00
mcafee%netscape.com
e5d58071f5 Properly set up pref callbacks for intl.accept_languages (41046). r=gagan
git-svn-id: svn://10.0.0.236/trunk@73573 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 02:58:13 +00:00
rjc%netscape.com
51b30b4584 Fix bug # 44284: fix bookmark schedule XUL. Code from danm. r=me
git-svn-id: svn://10.0.0.236/trunk@73571 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 01:56:03 +00:00
hangas%netscape.com
37d6b09f85 More work on bug 43658 classic skin repair. Written by german. r= hangas.
git-svn-id: svn://10.0.0.236/trunk@73569 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 01:35:40 +00:00
dbaron%fas.harvard.edu
f7cbe48388 Add new regression tests. Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@73568 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 01:26:06 +00:00
danm%netscape.com
08d1dbfe04 change last revision to use general API rather than requiring a new one. r=morse@netscape.com. bug 25684
git-svn-id: svn://10.0.0.236/trunk@73567 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 01:23:16 +00:00
danm%netscape.com
5089e8ba38 get window for dialog parent from channel before defaulting to HiddenWindow in OnEndDocumentLoad. Fixes behaviour of the 'select a user' modal dialog. bugs 25684,44149. r=morse@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73566 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 01:13:37 +00:00
danm%netscape.com
2fa9187ebc the 'url has changed' alert in OnStopRequest now asks the channel for an nsIPrompt before defaulting to nsNetSupportDialog. bugs 25684,44171. r=rjc@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73565 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 00:47:01 +00:00
rginda%netscape.com
fd342c5cf5 -- not part of build --
make cview show up under tasks->tools when it is installed


git-svn-id: svn://10.0.0.236/trunk@73564 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 00:07:46 +00:00
morse%netscape.com
d48e534e40 partial fix for bug 43738, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@73563 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 00:05:03 +00:00
ashuk%eng.sun.com
ad8ed2e23e bug=44279
a=edburns
r=edburns
author=ashuk.

This code makes Webclient work with Mozilla M16.


git-svn-id: svn://10.0.0.236/trunk@73562 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-30 00:01:58 +00:00
ashuk%eng.sun.com
25d27834af The current webclient only works with M13, and the
old webclient, in classes and src, works with pre M13.

This change removes the old webclient.


git-svn-id: svn://10.0.0.236/trunk@73561 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 23:59:12 +00:00
hyatt%netscape.com
5943c19c08 Fix for dogfood bug#43169. r=pink
git-svn-id: svn://10.0.0.236/trunk@73560 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 23:34:46 +00:00
attinasi%netscape.com
e69e3af93f Temporarily turned off style context sharing while I figure out why it is causing incorrect styling of some XUL elements. b=43490
git-svn-id: svn://10.0.0.236/trunk@73559 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 23:13:46 +00:00
harishd%netscape.com
4fa2effbda Bug 40477 ( nsbeta2+ ) - Don't rely on ';' to terminate entities.
r=pollmann.


git-svn-id: svn://10.0.0.236/trunk@73558 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 23:05:46 +00:00
harishd%netscape.com
9fb7479d71 Bug 43274 ( nsbeta2+ ) - Checkin for Rickg.
r=harishd


git-svn-id: svn://10.0.0.236/trunk@73557 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 23:04:24 +00:00
danm%netscape.com
439598308a reverting the 2^# 'fix manifest' part of Ben's last checkin. (bug 43684, introduced five days ago)
git-svn-id: svn://10.0.0.236/trunk@73556 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:56:56 +00:00
rjc%netscape.com
f319773a37 Fix bug # 43906: non-existant file URLs can cause template failure for bookmarks. R=waterson
git-svn-id: svn://10.0.0.236/trunk@73555 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:47:24 +00:00
sfraser%netscape.com
3ace47ff12 Fix for 44118 and nsbeta2+ bug 42625, r=kin. Update selection-based commands (e.g. cut/copy) when the selection changes from collapsed to non-collapsed and vice versa, not just when it is uncollapsed.
git-svn-id: svn://10.0.0.236/trunk@73554 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:36:10 +00:00
jj%netscape.com
f3d839b628 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73553 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:34:11 +00:00
sfraser%netscape.com
a4946e4c9c Fix for nsbeta2+ bug 42625, written by brade, r=sfraser. When checking whether to get a special text field selection, QI to test for text area as well as input.
git-svn-id: svn://10.0.0.236/trunk@73552 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:33:36 +00:00
miodrag%netscape.com
95b10ba929 Updates for LDAPJDK 4.11
git-svn-id: svn://10.0.0.236/trunk@73551 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:31:17 +00:00
morse%netscape.com
74d3ff5e9d update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@73550 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:30:40 +00:00
pinkerton%netscape.com
ee4f55f0c4 Fix for 42250, popups holding onto deleted frame crash during reflow. fixed to only hold onto content, not frame, and use GetPrimaryFrameFor(). r=hyatt
git-svn-id: svn://10.0.0.236/trunk@73549 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:30:27 +00:00
pinkerton%netscape.com
44237ffeab part of 42250, make sure we close the popup when the listener is removed. just to be safe. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@73548 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:29:20 +00:00
jj%netscape.com
bf08b8ad48 bringing ASEncoder upt-to-date using new Universal Headers -- not part of the build. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@73547 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:28:59 +00:00
jband%netscape.com
59b22e86f2 updating status page - Not part of build
git-svn-id: svn://10.0.0.236/trunk@73546 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:17:54 +00:00
scc%mozilla.org
e2e3b170e1 fix self assignment, self append, self replace problems. r=waterson
git-svn-id: svn://10.0.0.236/trunk@73545 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:17:53 +00:00
scc%mozilla.org
8acd633ba4 bug #17294, fixed a dogfood+ assert, there's more to this bug, but the rest isn't dogfood. r=BenB; a=jar
git-svn-id: svn://10.0.0.236/trunk@73544 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:04:28 +00:00
scc%mozilla.org
70db954721 bug #17294, fixed a dogfood+ assert described in this bug, though unrelated to the underlying problem 17294 is really about. r=BenB; a=jar
git-svn-id: svn://10.0.0.236/trunk@73543 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:04:22 +00:00
mozilla.BenB%bucksch.org
d0f1d9df13 32336: Ignore formatting, if it was inserted by our or 4.x' TXT->HTML or HTML->HTML converter. r=akk, scc. a=waterson.
git-svn-id: svn://10.0.0.236/trunk@73542 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:04:13 +00:00
dbaron%fas.harvard.edu
f756eb4076 Fix bug 43882 (dogfood+) by removing special handling of empty P elements. (Most of the diffs are whitespace changes.) This also fixes bugs 43369, 43991, and 18050. However, it exposes a few other issues as well (the most important of which, nuking top margins on first *normal flow* children of BODY and TD, was previously fixed only in some cases, but shouldn't be hard to fix in general). r=waterson
git-svn-id: svn://10.0.0.236/trunk@73541 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 22:03:42 +00:00
av%netscape.com
5dc532340c Addressing 43075, patch by amusil, r=av
git-svn-id: svn://10.0.0.236/trunk@73540 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:51:15 +00:00
radha%netscape.com
c8ae707155 More code for feature 36547. CODE NOT PART OF THE BUILD. Will provide reviewer when
feature is enabled.


git-svn-id: svn://10.0.0.236/trunk@73539 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:48:18 +00:00
av%netscape.com
b7f9ac3860 Addressing 22954, patch by amusil, r=av
git-svn-id: svn://10.0.0.236/trunk@73538 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:48:09 +00:00
av%netscape.com
8c4649b786 Addressing 22954, patch by amusil, r=av
git-svn-id: svn://10.0.0.236/trunk@73537 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:42:13 +00:00
harishd%netscape.com
36b124ebdc Regression Test files.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@73536 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:41:02 +00:00
tor%cs.brown.edu
23041af290 Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73535 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:40:43 +00:00
relyea%netscape.com
049f0ca5d6 Fix memory leak when using hardware acceleraters.
git-svn-id: svn://10.0.0.236/trunk@73534 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:26:17 +00:00
relyea%netscape.com
743720da87 merge changes from NSS 3.0 branch to allow NT automated tests to work.
git-svn-id: svn://10.0.0.236/trunk@73533 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:25:41 +00:00
relyea%netscape.com
727ca98a0a merge 3.0_Branch changes to get NT to run back unto the tip.
git-svn-id: svn://10.0.0.236/trunk@73532 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 21:23:37 +00:00
bryner%uiuc.edu
4e013ab7eb Fixing smoketest blocker 44235. r=smfr.
git-svn-id: svn://10.0.0.236/trunk@73531 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 20:53:08 +00:00
beard%netscape.com
57307567af Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@73530 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:40:58 +00:00
mcgreer%netscape.com
5f0477176f add a > wordsize test for RC4
git-svn-id: svn://10.0.0.236/trunk@73529 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:38:30 +00:00
rogerl%netscape.com
a02f6ce0d8 use handleDot for call, too.
git-svn-id: svn://10.0.0.236/trunk@73525 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:30:47 +00:00
javi%netscape.com
4491af2512 Don't stop sending text to a log file just because one Write failed.
This way subsequent DEBUG messages may still get printed.


git-svn-id: svn://10.0.0.236/trunk@73524 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:19:03 +00:00
beard%netscape.com
ea7ae68414 delete property support.
git-svn-id: svn://10.0.0.236/trunk@73523 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:14:14 +00:00
beard%netscape.com
8f71e889d8 DELETE_PROP
git-svn-id: svn://10.0.0.236/trunk@73522 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:13:46 +00:00
beard%netscape.com
1ef1eb154f DELETE_PROP
git-svn-id: svn://10.0.0.236/trunk@73521 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 17:14:56 +00:00
beard%netscape.com
aa7664867d added DELETE_PROP instruction to implement the "delete" operation.
git-svn-id: svn://10.0.0.236/trunk@73520 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 17:11:50 +00:00
tor%cs.brown.edu
d56893b078 Fix test for 32bit type. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73519 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 13:48:01 +00:00
terry%mozilla.org
1061c1e126 Added some missing newlines.
git-svn-id: svn://10.0.0.236/trunk@73518 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 13:33:10 +00:00
tor%cs.brown.edu
c40af55f26 Off by one error in refresh(). Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73517 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 12:40:42 +00:00
tor%cs.brown.edu
c3bdf7d5ec Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73516 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 12:32:04 +00:00
jfrancis%netscape.com
aa3d7d7f48 bug fixes:
41744 - editor shouldnt be quite as loosy goosy about html 4.0 as CnavDTD is;

41746 - editor ui state (paragraph format feedback) wrong if a <br> is embedded inside the current block;

41971 - using alignment inside table cells gives unexpected results.


git-svn-id: svn://10.0.0.236/trunk@73515 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 09:23:41 +00:00
dbaron%fas.harvard.edu
e642f1b6f5 Some more regression tests for bug 43882 and collapsing margin issues. Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@73514 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 07:59:29 +00:00
Peter.VanderBeken%pandora.be
7e2e76befb Correct typo. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@73513 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 07:09:06 +00:00
beard%netscape.com
b669d93d26 unused parameter warning
git-svn-id: svn://10.0.0.236/trunk@73512 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 05:48:09 +00:00
beard%netscape.com
a0bbecd587 complementary operator delete(void*, JSClass*).
git-svn-id: svn://10.0.0.236/trunk@73511 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 05:46:36 +00:00
mjudge%netscape.com
261be0b4ae r=saari 42074 pd+dogfood ect. i think we finally nailed this one. focused objects now being passed focus events even when previous document couldnt take focus and is simply returning it. aka hitting return in url bar trying to focus document that will be destroyed to fetch new page.
git-svn-id: svn://10.0.0.236/trunk@73510 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 05:27:05 +00:00
mjudge%netscape.com
6b543c3d28 r=hyatt bug36617, sfrasier bug. simple change for select all to work.
git-svn-id: svn://10.0.0.236/trunk@73509 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 05:25:01 +00:00
mjudge%netscape.com
e40b754d98 oninput and on change now firing. this should be working completely now. bug 42045 uncommenting out lines that I had commented out for someone on accident. also this fixes listeners not firing for textareas and only for text inputs. pdt+dogfood+ ect.
git-svn-id: svn://10.0.0.236/trunk@73508 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 05:17:58 +00:00
beard%netscape.com
25cba868b5 some classes to test js2 with.
git-svn-id: svn://10.0.0.236/trunk@73507 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:49:48 +00:00
beard%netscape.com
a2b5cc5c2b updated dependencies
git-svn-id: svn://10.0.0.236/trunk@73506 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:25:10 +00:00
beard%netscape.com
963708a821 Changed StaticCall to use static slot.
git-svn-id: svn://10.0.0.236/trunk@73505 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:23:56 +00:00
beard%netscape.com
e88e8c2639 Fixing static dotted expressions.
git-svn-id: svn://10.0.0.236/trunk@73504 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:23:20 +00:00
beard%netscape.com
16f447e7ad now uses conditional compilation #if defined(OPCODE_NAMES), so that a simple "icode.h" can be included by vmtypes.h and vmtypes.cpp.
git-svn-id: svn://10.0.0.236/trunk@73503 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:21:00 +00:00
beard%netscape.com
41cb724c61 moved all machine generated classes, etc. to icode.h.
git-svn-id: svn://10.0.0.236/trunk@73502 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:19:19 +00:00
beard%netscape.com
4bd45aa1f8 Generated by tools/gencode.pl.
git-svn-id: svn://10.0.0.236/trunk@73501 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:18:16 +00:00
despotdaemon%netscape.com
8326043820 Pseudo-automatic update of changes made by mozilla.BenB@bucksch.org.
git-svn-id: svn://10.0.0.236/trunk@73500 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 03:17:25 +00:00
beard%netscape.com
ca9ef8f4a5 fixed static calls.
git-svn-id: svn://10.0.0.236/trunk@73499 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 03:15:52 +00:00
BlakeR1234%aol.com
fc6a0c74b6 Fix for 42204, a=trudelle
git-svn-id: svn://10.0.0.236/trunk@73498 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 03:15:05 +00:00
despotdaemon%netscape.com
54b5c8dd8d Pseudo-automatic update of changes made by ericb@neoplanet.com.
git-svn-id: svn://10.0.0.236/trunk@73497 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 03:06:45 +00:00
cls%seawood.org
3ccf18874c Erk, wrong identifier for OS/2
git-svn-id: svn://10.0.0.236/trunk@73496 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 03:03:43 +00:00
pollmann%netscape.com
ba1a3e50a6 Bug 41013: Prevent event passing from frames to content during document destruction r=joki
git-svn-id: svn://10.0.0.236/trunk@73495 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 02:02:43 +00:00
rogerl%netscape.com
0e43b9fadb Implicit this and class lookup stuff.
git-svn-id: svn://10.0.0.236/trunk@73493 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:21:41 +00:00
morse%netscape.com
6007530a61 fix bug 43235, wallet editor clipped on right side, r=ben
git-svn-id: svn://10.0.0.236/trunk@73492 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:20:45 +00:00
valeski%netscape.com
645ec1114b bustage fix
git-svn-id: svn://10.0.0.236/trunk@73491 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:19:45 +00:00
Jerry.Kirk%Nexwarecorp.com
f14ab80ee3 NOT PART OF BUILD - PHOTON ONLY
Fix the fonts so they are extenting properly


git-svn-id: svn://10.0.0.236/trunk@73490 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:13:25 +00:00
dbaron%fas.harvard.edu
96e57b18bd Add more regression tests for bug 43882. Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@73489 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:09:53 +00:00
despotdaemon%netscape.com
041162eebe Pseudo-automatic update of changes made by nbhatla@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@73488 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:03:15 +00:00
despotdaemon%netscape.com
de5bd7ec25 Pseudo-automatic update of changes made by dimator@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@73487 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:01:21 +00:00
valeski%netscape.com
4a64f9c451 43050. r=dougt. null checking and ctor null init'ing
git-svn-id: svn://10.0.0.236/trunk@73486 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 00:49:13 +00:00
dbaron%fas.harvard.edu
56ff07cb95 Adding regression tests to list. Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@73482 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 00:42:14 +00:00
dbaron%fas.harvard.edu
7f87ecb955 Adding regression tests (related to bug 43882). Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@73480 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 00:39:53 +00:00
wtc%netscape.com
1a5e114101 Bugzilla bug #44133: checked in NTO patches contributed by
Jerry Kirk <Jerry.Kirk@nexwarecorp.com>.


git-svn-id: svn://10.0.0.236/trunk@73479 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 00:31:42 +00:00
tao%netscape.com
27c3925e1f Remove obsolete pull l10n commands.
git-svn-id: svn://10.0.0.236/trunk@73476 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 00:18:55 +00:00
morse%netscape.com
c00b70fe9c fix bug 44045, master password was needed when deleting database, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@73475 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 00:05:41 +00:00
Peter.VanderBeken%pandora.be
d63cd8dfc3 Corrected small typo. Doesn't affect regular build.
git-svn-id: svn://10.0.0.236/trunk@73474 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:46:12 +00:00
Peter.VanderBeken%pandora.be
e0679adc12 Adding build logic for MNG, LDAP and XML Extras. Turned off by default.
Added/corrected build steps for Transformiix and cview. r=jj.


git-svn-id: svn://10.0.0.236/trunk@73473 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:16:49 +00:00
law%netscape.com
e7cfe89be4 New interface for displaying helper app launch confirm dialog; bug 43583
git-svn-id: svn://10.0.0.236/trunk@73472 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:14:57 +00:00
Peter.VanderBeken%pandora.be
b7424d7d9e Adding option flags for MNG, LDAP and XML Extras. Turned off by default. r=jj.
git-svn-id: svn://10.0.0.236/trunk@73471 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:11:40 +00:00
matt%netscape.com
d8a5f70577 adding localization for bug 30456.
R=law


git-svn-id: svn://10.0.0.236/trunk@73470 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:11:32 +00:00
Peter.VanderBeken%pandora.be
d8f977cd2f Adding Mac projects for MNG. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@73469 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:04:06 +00:00
Peter.VanderBeken%pandora.be
470f48a3f7 Adding locale files. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@73468 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 23:01:14 +00:00
Peter.VanderBeken%pandora.be
b65075f0d7 Adding locale info. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@73467 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:57:42 +00:00
Peter.VanderBeken%pandora.be
6e3a97a4bd Fixing access paths. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@73466 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:55:26 +00:00
cls%seawood.org
3e05da0165 wrap ifndef XPCONNECT_STANDALONE around xpconnect test components that require external interfaces. Thanks to Mark Adams <madams@janna.com> for the patch. Bug 42026
git-svn-id: svn://10.0.0.236/trunk@73465 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:53:55 +00:00
jst%netscape.com
a5659583f9 Fixing nsbeta2+ bug 37051, always set the form associated with a form control as the parent of the form controls script object, this meks form controls always be in the scope of the form they're in. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73464 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:50:06 +00:00
larryh%netscape.com
7f7c6608e0 BugZilla: 43337. Better implementation
git-svn-id: svn://10.0.0.236/trunk@73463 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:36:25 +00:00
cls%seawood.org
b966210cad OS/2's cmd.exe doesn't support the no-op ':' .
git-svn-id: svn://10.0.0.236/trunk@73462 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:31:12 +00:00
cls%seawood.org
bddf8befbd Reverting mkaply's checkin as it breaks --enable-elf-dynstr-gc on optimized builds.
git-svn-id: svn://10.0.0.236/trunk@73461 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:29:38 +00:00
evaughan%netscape.com
aa55de687f Fixes for gfx scrollbars and absolute/fixed positioning.
40494
28505
41294
36211
41763
23806


git-svn-id: svn://10.0.0.236/trunk@73460 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:19:54 +00:00
javi%netscape.com
1eb433ecd5 Change P12 file path request strings to be consistent with terms used in
Security Advisor.


git-svn-id: svn://10.0.0.236/trunk@73459 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 22:16:11 +00:00
mkaply%us.ibm.com
55548d119c #42637
r = dougt, a = brendan
Rather than using cast and &operator to get spec, use the Spec member function


git-svn-id: svn://10.0.0.236/trunk@73458 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:56:49 +00:00
dmose%mozilla.org
68f5f9d545 Added an item about thread death. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73457 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:42:15 +00:00
javi%netscape.com
6c78d1a039 Add some text to the cases where S/MIME signatures fail when OCSP is enabled.
git-svn-id: svn://10.0.0.236/trunk@73456 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:37:09 +00:00
javi%netscape.com
228ce2267f Fix to add some text to security advisor when S/MIME signatures faile
when OCSP is enabled.


git-svn-id: svn://10.0.0.236/trunk@73455 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:36:36 +00:00
ddrinan%netscape.com
dd9faec463 Fix for bug# 398838
git-svn-id: svn://10.0.0.236/trunk@73454 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:20:38 +00:00
locka%iol.ie
1f7530e509 added missing files
git-svn-id: svn://10.0.0.236/trunk@73453 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:15:09 +00:00
rginda%netscape.com
dec447e1d7 -- not part of build --
fixing windows makefiles
updating references to tasksOverlay.xul


git-svn-id: svn://10.0.0.236/trunk@73452 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 21:02:30 +00:00
chuang%netscape.com
21914ca7b3 Bug GetCardForEmailAddress() is case sensitive, r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@73451 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:57:48 +00:00
saari%netscape.com
fcda4acc7f simple null check to stop crasher. r=joki
git-svn-id: svn://10.0.0.236/trunk@73450 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:56:29 +00:00
rginda%netscape.com
add749b4b4 -- chatzilla changes only --
whitespace changes
fix default dalnet server


git-svn-id: svn://10.0.0.236/trunk@73449 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:51:40 +00:00
locka%iol.ie
8fdfd98bdc Now uses embedding API. Added some context menu & property page support
git-svn-id: svn://10.0.0.236/trunk@73448 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:42:50 +00:00
locka%iol.ie
6a58f5fdb2 Updated VC project
git-svn-id: svn://10.0.0.236/trunk@73447 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:40:29 +00:00
locka%iol.ie
1a51b71c8c Added property dialogs
git-svn-id: svn://10.0.0.236/trunk@73446 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:40:10 +00:00
locka%iol.ie
1937e5aa0c Added clipboard interfaces. Added interface refcount debugging
git-svn-id: svn://10.0.0.236/trunk@73445 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:39:42 +00:00
locka%iol.ie
5cb4c2a8ca Added proper MPL header
git-svn-id: svn://10.0.0.236/trunk@73444 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:38:53 +00:00
locka%iol.ie
192acf6d6a Changed makefile.win to use embedding APIs
git-svn-id: svn://10.0.0.236/trunk@73443 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:37:39 +00:00
locka%iol.ie
d753e3fa36 Added code for write/writeln to IE DOM. Thanks to Arne de Bruijn <arne@knoware.nl> for this contribution
git-svn-id: svn://10.0.0.236/trunk@73442 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:35:51 +00:00
bryner%uiuc.edu
1dd6e32fe1 Fixing bug 43710 - removing old mousewheel cruft and updating to work with
new tree.  r=hyatt,saari.


git-svn-id: svn://10.0.0.236/trunk@73441 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:35:32 +00:00
locka%iol.ie
054c650ff4 Removed unused CIDs and IIDs
git-svn-id: svn://10.0.0.236/trunk@73440 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:31:43 +00:00
locka%iol.ie
d05d21d7ae Changed diagnostic macro
git-svn-id: svn://10.0.0.236/trunk@73439 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:30:33 +00:00
locka%iol.ie
404dd0fb6d Added nsIContextMenuListener. Fixed some memory leaks
git-svn-id: svn://10.0.0.236/trunk@73438 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:29:49 +00:00
locka%iol.ie
d98ec92664 NOT PART OF BUILD. Added a DTD and localized the file somewhat
git-svn-id: svn://10.0.0.236/trunk@73437 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:27:51 +00:00
locka%iol.ie
d11baf7e00 NOT PART OF BUILD. Added some strings
git-svn-id: svn://10.0.0.236/trunk@73436 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:27:15 +00:00
dbragg%netscape.com
39dea0d743 Fix for nsbeta2+ bug 340786 r=sgehani
git-svn-id: svn://10.0.0.236/trunk@73435 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:26:39 +00:00
locka%iol.ie
46c5ef3b20 NOT PART OF BUILD. Removing obselete file
git-svn-id: svn://10.0.0.236/trunk@73434 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:26:28 +00:00
blizzard%redhat.com
488ebf1dbd fix bug #41820. The gtk embedding widget will now startup and shutdown XPCOM properly. Also, fix code that was broken when the nsIWebProgress changes happened. Only build tests when tests are built. Add interface to get the nsIWebBrowser object from the embedding widget. r=dougt,bryner a=brendan
git-svn-id: svn://10.0.0.236/trunk@73433 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 20:24:28 +00:00
dmose%mozilla.org
41245246c9 Added and updated a few more issues. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73432 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:56:08 +00:00
beard%netscape.com
487de01748 implemented JSClass::printProperties().
git-svn-id: svn://10.0.0.236/trunk@73431 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:46:13 +00:00
beard%netscape.com
43420973f7 Enhanced printing of types.
git-svn-id: svn://10.0.0.236/trunk@73430 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:45:44 +00:00
beard%netscape.com
8d4ccf1e51 Type of a JSType* is Type_Type (wow, recursive). Changed mBaseType to be JSType* instead of const JSType*.
git-svn-id: svn://10.0.0.236/trunk@73429 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:45:09 +00:00
dmose%mozilla.org
e52529dc5c gave the threading model a good whack. pushed the threading from the callers (eg nsLDAPChannel) down into the XPCOM wrapper code itself, so that the calling code doesn't need to deal with threading directly ( it gets callbacks via nsISupports proxies ) . this allows LDAP code to be written in Javascript without hanging the UI thread of the browser. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@73428 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:39:32 +00:00
sspitzer%netscape.com
301082731b fix classic skin problems. r=german
git-svn-id: svn://10.0.0.236/trunk@73427 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:31:29 +00:00
sspitzer%netscape.com
1626125790 fix addressbook splitter for classic skin. r=german
git-svn-id: svn://10.0.0.236/trunk@73426 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:25:05 +00:00
sspitzer%netscape.com
271ce07f58 fix bustage.
git-svn-id: svn://10.0.0.236/trunk@73425 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:17:51 +00:00
sspitzer%netscape.com
cf277676fb fix bustage.
git-svn-id: svn://10.0.0.236/trunk@73424 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:17:00 +00:00
hangas%netscape.com
1b6a8d8de9 Bug 43658 fixes to Classic Skin - written by german, r=hangas
git-svn-id: svn://10.0.0.236/trunk@73423 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:08:59 +00:00
hangas%netscape.com
fe3d3e85ff First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73422 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:03:04 +00:00
dmose%mozilla.org
cc89543233 Updated documentation. a=r=(not built).
git-svn-id: svn://10.0.0.236/trunk@73421 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:02:27 +00:00
hangas%netscape.com
212ccec140 Bug 43658 fixes to Classic Skin - written by bdonohoe, r=hangas
git-svn-id: svn://10.0.0.236/trunk@73420 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 19:01:15 +00:00
rogerl%netscape.com
b1eb71fadb First set of unified 'dot' handling changes for statics.
git-svn-id: svn://10.0.0.236/trunk@73418 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 18:41:30 +00:00
beard%netscape.com
9b99e9786f added jsclasses.h
git-svn-id: svn://10.0.0.236/trunk@73417 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 18:10:04 +00:00
cyeh%bluemartini.com
045c3716f1 fix for bug #44040 "sanitycheck.cgi dies if apostrophes in product, component, version,
or milestone". thanks to dave@intrec.com (Dave Miller) for the patch


git-svn-id: svn://10.0.0.236/trunk@73416 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 17:54:11 +00:00
mkaply%us.ibm.com
d771157655 #42637
r = leaf, a = leaf
Accidental bloat on pointer file


git-svn-id: svn://10.0.0.236/trunk@73415 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:51:24 +00:00
beard%netscape.com
fc7df849f1 Fix string <.
git-svn-id: svn://10.0.0.236/trunk@73414 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:38:20 +00:00
beard%netscape.com
98b2fcbf59 Fixed dynamic lookup of static slots. Added code to compare strings.
git-svn-id: svn://10.0.0.236/trunk@73413 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:32:52 +00:00
beard%netscape.com
e4a70d59c1 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Implemented GET_PROP/SET_PROP for class objects (looks up slot dynamically, etc.)
git-svn-id: svn://10.0.0.236/trunk@73412 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:15:06 +00:00
beard%netscape.com
a031ccd333 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Now using JSClass::hasStatic() rather than looking up statics in class' scope.
git-svn-id: svn://10.0.0.236/trunk@73411 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:14:18 +00:00
beard%netscape.com
c616ad04eb GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name.
git-svn-id: svn://10.0.0.236/trunk@73410 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:13:12 +00:00
beard%netscape.com
05cbd424c7 Static slots.
git-svn-id: svn://10.0.0.236/trunk@73409 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:11:54 +00:00
brade%netscape.com
bf51706d0a submission by Ryan Cassin (rcassin@supernova.org); recent files menu for editor; bug #17502; approved beppe
git-svn-id: svn://10.0.0.236/trunk@73408 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 14:58:36 +00:00
mkaply%us.ibm.com
527223a169 #42637
r=mkaply, a=brendan
OS/2 bringup - rewrite of nsFileSpecOS2.cpp to be more like Windows


git-svn-id: svn://10.0.0.236/trunk@73407 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 14:50:12 +00:00
mkaply%us.ibm.com
3e32a6af4d #43877
r=dougt, a=dougt
Using this pointer rather than other pointer causes crash


git-svn-id: svn://10.0.0.236/trunk@73406 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 14:37:25 +00:00
mkaply%us.ibm.com
83a1153237 #43357
NO ONE AROUND TO REVIEW
The change for ELF broke our tinderbox. The second ELF line should be in the else case for OS/2.


git-svn-id: svn://10.0.0.236/trunk@73405 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 14:19:33 +00:00
cls%seawood.org
d2e0e22ae5 Commented out check for multiple variables on a single line as this causes Makefiles that have multiple dir VPATHs to be only partially generated. Uncommented warning for unknown variables.
git-svn-id: svn://10.0.0.236/trunk@73404 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 10:21:53 +00:00
leaf%mozilla.org
51ffc5c580 Automated update
git-svn-id: svn://10.0.0.236/trunk@73403 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 08:00:17 +00:00
cls%seawood.org
73f8c0769a Check for -pthread support on OpenBSD as well.
git-svn-id: svn://10.0.0.236/trunk@73402 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 07:53:26 +00:00
cls%seawood.org
12054495f0 Do not explicitly link against -lc_r on OpenBSD. Bug #36467 r=wtc
git-svn-id: svn://10.0.0.236/trunk@73401 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 07:42:56 +00:00
leaf%mozilla.org
11c4cf7e8d Automated update
git-svn-id: svn://10.0.0.236/trunk@73400 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 07:15:07 +00:00
warren%netscape.com
90e03f1827 Fixed spelling.
git-svn-id: svn://10.0.0.236/trunk@73399 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 07:06:09 +00:00
cls%seawood.org
159e1068fd June cleaning.
git-svn-id: svn://10.0.0.236/trunk@73398 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 07:04:52 +00:00
cls%seawood.org
94c6107c67 Tweaks to build xpconnect standalone. Bug #42024. Thanks to Mark Adams <madams@janna.com> for the patches.
git-svn-id: svn://10.0.0.236/trunk@73397 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 07:03:13 +00:00
warren%netscape.com
20dce9fab9 Added hasSubstitutions for Hyatt & chrome protocol.
git-svn-id: svn://10.0.0.236/trunk@73396 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 06:54:56 +00:00
brendan%mozilla.org
f912d63a39 Interim checkin: -u option for unified (-f and standard) output, down/next links for sorted subgraph navigation, some -j (js-mode) support.
git-svn-id: svn://10.0.0.236/trunk@73395 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 06:42:29 +00:00
brendan%mozilla.org
b2b5554261 Work around unsolved bug reported by rusty.lynch@intel.com.
git-svn-id: svn://10.0.0.236/trunk@73391 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 06:22:29 +00:00
dougt%netscape.com
7afba7fd34 Forgot to check these changes is which were submitted by roc+moz@cs.cmu.edu
and approved by brendan.  See bug 43314.


git-svn-id: svn://10.0.0.236/trunk@73390 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 06:14:09 +00:00
waterson%netscape.com
417a2140ba Bug 43644. Better fix: nsLayoutAtoms::[AddRefAtoms|ReleaseAtoms] calls are unnecessary, as dbaron pointed out to me.
git-svn-id: svn://10.0.0.236/trunk@73388 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 05:36:32 +00:00
gordon%netscape.com
21cd8701fd Bug 19119 [dogfood+] Mac build of PSM in-process. r = beard.
Remove redundant build commands for security.


git-svn-id: svn://10.0.0.236/trunk@73387 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 05:01:34 +00:00
gordon%netscape.com
64c80082ed Bug 19119 [dogfood+] Mac build of PSM in-process. r = beard.
Added $build{security}.


git-svn-id: svn://10.0.0.236/trunk@73386 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 05:01:04 +00:00
tor%cs.brown.edu
fec03b23a5 Plug a region leak in nsRegionGTK::SetTo(). r=pavlov
git-svn-id: svn://10.0.0.236/trunk@73385 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 05:00:20 +00:00
BlakeR1234%aol.com
3e6da5568f Fix access key for Switch Theme button...the old one, a, no longer applies.
git-svn-id: svn://10.0.0.236/trunk@73384 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:49:48 +00:00
cls%seawood.org
515873b762 Adding configure option --enable-elf-dynstr-gc. Bug #43357
git-svn-id: svn://10.0.0.236/trunk@73383 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:32:15 +00:00
waterson%netscape.com
343c89fa5b Bug 43644. Add 'wildcard' atom to nsLayoutAtoms and use it instead of a statically leaked atom. r=jst,inaky.gonzales@intel.com
git-svn-id: svn://10.0.0.236/trunk@73382 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:17:26 +00:00
mjudge%netscape.com
a8730b8081 removing observer. put in on accident. editor will handle oninput changes. if not i can un comment this
git-svn-id: svn://10.0.0.236/trunk@73381 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:16:44 +00:00
gordon%netscape.com
ebc8514bc4 Bug 19119 [dogfood+] Mac build of PSM in-process. r = beard.
Initialize member to 0, to avoid crash.


git-svn-id: svn://10.0.0.236/trunk@73380 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:15:39 +00:00
gordon%netscape.com
22b85094e2 Bug 19119 [dogfood+] Mac build of PSM in-process. r = beard.
git-svn-id: svn://10.0.0.236/trunk@73379 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:12:26 +00:00
gordon%netscape.com
941dda2341 Bug 19119 [dogfood+] Mac build of PSM in-process. r = beard.
Add PSM to build commands.  Changed branch tags for pulling mozilla/security (on Mac only).


git-svn-id: svn://10.0.0.236/trunk@73378 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:12:04 +00:00
gordon%netscape.com
1c841d26be Bug 19119 [dogfood+] Mac build of PSM in-process. r = beard.
Change to link against PSMStubs.shlb


git-svn-id: svn://10.0.0.236/trunk@73377 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:10:04 +00:00
mjudge%netscape.com
771787b6c1 r=jfrancis,r=hyatt 42045 beta2+ 42675 beta2+ hitting return on text area not putting new line. onchange,oninput.
git-svn-id: svn://10.0.0.236/trunk@73374 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 04:00:12 +00:00
mjudge%netscape.com
eac23d41e2 wrong ifdef. 25% increase in editor typing on windows r=ftang
git-svn-id: svn://10.0.0.236/trunk@73373 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 03:41:32 +00:00
wtc%netscape.com
26f52bbdb4 Bugzilla bug #43507: install the SIGALRM signal handler in
_MD_EnableClockInterrupts before starting the interval timer.
Modified files: _unixos.h, unix.c


git-svn-id: svn://10.0.0.236/trunk@73372 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 02:49:24 +00:00
bryner%uiuc.edu
e23ddc4506 Attempting to fix mac bustage.
git-svn-id: svn://10.0.0.236/trunk@73371 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 02:32:45 +00:00
rginda%netscape.com
2d632ff5f8 -- chatzilla changes only --
Change default EFNet server to irc.mcs.net (no ident req'd.)


git-svn-id: svn://10.0.0.236/trunk@73370 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 02:23:12 +00:00
jim_nance%yahoo.com
0e8a2a6830 Fix build problem on Tru64 Unix. Scc says the code should run faster
this way anyhow.  r=scc


git-svn-id: svn://10.0.0.236/trunk@73369 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 02:07:25 +00:00
wtc%netscape.com
46fcf0e269 Avoid code duplication.
git-svn-id: svn://10.0.0.236/trunk@73368 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 01:42:54 +00:00
morse%netscape.com
53913ca457 bug 44039, back out unintentional change that caused regression
git-svn-id: svn://10.0.0.236/trunk@73367 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 01:26:56 +00:00
ddrinan%netscape.com
bbbbc2787d Added target to release the xpi file
git-svn-id: svn://10.0.0.236/trunk@73366 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 01:19:20 +00:00
wtc%netscape.com
9d4d1aa833 Bugzilla bug #42874: allow OpenProcessToken to fail with
ERROR_CALL_NOT_IMPLEMENTED (on non-NT systems) or ERROR_ACCESS_DENIED
(processes with insufficient access permissions).


git-svn-id: svn://10.0.0.236/trunk@73365 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 01:13:33 +00:00
BlakeR1234%aol.com
104188730b Part of bug 44025. r=dveditz a=johng
git-svn-id: svn://10.0.0.236/trunk@73364 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 01:04:12 +00:00
javi%netscape.com
1313dff449 Make the Pretty print window smaller so that it doesn't run off the bottom of
the screen w/ Mozilla.


git-svn-id: svn://10.0.0.236/trunk@73362 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 00:11:17 +00:00
wtc%netscape.com
77c8a1cc50 Bugzilla bug #39712: backed out the workaround for a compiler bug.
The compiler bug is fixed in Service Pack 4 of MSVC 6.0.


git-svn-id: svn://10.0.0.236/trunk@73361 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 00:10:29 +00:00
wtc%netscape.com
01ba4b5b2e Bugzilla bug #41832: set the error codes if pthread_cond_wait or
pthread_cond_timedwait fails.


git-svn-id: svn://10.0.0.236/trunk@73360 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 00:01:49 +00:00
evaughan%netscape.com
fbf211b82c Forgot file add for last checkin.
git-svn-id: svn://10.0.0.236/trunk@73359 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 00:01:19 +00:00
evaughan%netscape.com
3d5cc870c3 Clean up for autoscrolling menu landing. ScrollBox events need their own type and should not be
on top of menu events.

-r hyatt


git-svn-id: svn://10.0.0.236/trunk@73358 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 00:00:18 +00:00
cmanske%netscape.com
a13486f050 Changed AppendFilters when loading into Composer to favor HTML and TXT over 'All Files'. b=43834, r=brade, a=law
git-svn-id: svn://10.0.0.236/trunk@73357 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:55:12 +00:00
bienvenu%netscape.com
886f483b0f part of fix for throbber, r=jefft,mscott 38598
git-svn-id: svn://10.0.0.236/trunk@73356 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:54:57 +00:00
bienvenu%netscape.com
b17f453a49 fix problem with imap messages arriving out of order, r=jefft,mscott 40701
git-svn-id: svn://10.0.0.236/trunk@73355 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:52:05 +00:00
granrose%netscape.com
9c947a979b fixing xptlink.pl to work on mac as well as linux and win32 (43999).
git-svn-id: svn://10.0.0.236/trunk@73354 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:51:35 +00:00
varada%netscape.com
db092a1cea adding sidebar subdirectory in workspace
git-svn-id: svn://10.0.0.236/trunk@73353 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:43:55 +00:00
bryner%uiuc.edu
9f03a0e916 Fixing bug 43939 - timer leaks on Linux. r=scc.
git-svn-id: svn://10.0.0.236/trunk@73352 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:25:32 +00:00
tor%cs.brown.edu
78504e75e8 Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73351 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:22:13 +00:00
varada%netscape.com
49c5f42f51 Fix for bug #43890 -faulty ini file
git-svn-id: svn://10.0.0.236/trunk@73350 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:16:28 +00:00
cyeh%bluemartini.com
943388e1b3 lot's of stuff:
add whoid usergroupset comment query to bug data fields
add AppendComment function
add CanChangeField function to check if a person can change a field
add display() for quick dumps of the bug
add Collision to check for midair collisions before changing a bug
added a stub function for changing a bug in the database
init_bug will now take either a userid or an e-mail address as a valid parameter


git-svn-id: svn://10.0.0.236/trunk@73346 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 23:16:08 +00:00
rusty.lynch%intel.com
14e24dcb5c new fix for bug #43958. r=gagan
git-svn-id: svn://10.0.0.236/trunk@73345 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:53:29 +00:00
leaf%mozilla.org
723a9b2e4b removing pull of l10n from scripts, SeaMonkeyL10n is now part of SeaMonkeyAll
git-svn-id: svn://10.0.0.236/trunk@73344 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:38:59 +00:00
leaf%mozilla.org
51d9272109 adding SeaMonkeyL10n to SeaMonkeyAll -leaf
git-svn-id: svn://10.0.0.236/trunk@73343 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:37:26 +00:00
mkaply%us.ibm.com
89b244e2bc #42637
r=pinkerton, a=brendan
OS/2 bringup - Change from waterson and vidur - don't modify members in a const function


git-svn-id: svn://10.0.0.236/trunk@73342 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:31:43 +00:00
dbaron%fas.harvard.edu
0e664f2e7d Clean up the deprecated (and never really official) HTML namespace by replacing with the official XHTML namespace. b=7834,42280 r=vidur
git-svn-id: svn://10.0.0.236/trunk@73341 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:28:59 +00:00
mkaply%us.ibm.com
cceaef4079 #40177
r=leaf, a=brendan
OS/2 bringup - This really should be a semicolon for OS/2


git-svn-id: svn://10.0.0.236/trunk@73340 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:24:54 +00:00
tao%netscape.com
19e741ee13 39790: [L12y] Move all localizable prefs into chrome://.r=alecf.
git-svn-id: svn://10.0.0.236/trunk@73339 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:13:23 +00:00
gagan%netscape.com
68c7d26b63 Not in the build. Allow POST requests to handle special cases too.
git-svn-id: svn://10.0.0.236/trunk@73338 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:10:27 +00:00
mkaply%us.ibm.com
68127ac939 #42637
r=mkaply, a=brendan
OS/2 bringup - Makefiles to build RC files for objdir and non objdir builds


git-svn-id: svn://10.0.0.236/trunk@73337 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 22:07:30 +00:00
javi%netscape.com
2f50f7a064 When FIPS is enabled, do verification of detached signatures on a separate thread
to prevent dead-locking the front end thread.


git-svn-id: svn://10.0.0.236/trunk@73336 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:55:59 +00:00
dbaron%fas.harvard.edu
d42b7f141f Fix leak (holding past XPCOM shutdown) of 16 strings. r=waterson
git-svn-id: svn://10.0.0.236/trunk@73335 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:54:28 +00:00
javi%netscape.com
cc9f8602bd When verifying a cert, pass in the control connection as the wincx so
that when FIPS is enabled, we don't crash.


git-svn-id: svn://10.0.0.236/trunk@73334 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:53:59 +00:00
blizzard%redhat.com
3fabae78ee remove extra -lelf from the link line. make cvs shaddap. not part of the build.
git-svn-id: svn://10.0.0.236/trunk@73333 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:53:41 +00:00
dbaron%fas.harvard.edu
104b4c3dd8 Fix leak of an atom. r=gagan
git-svn-id: svn://10.0.0.236/trunk@73332 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:51:38 +00:00
mcafee%netscape.com
28367fd850 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@73331 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:46:26 +00:00
dougt%netscape.com
d3d5fc8a04 Check for null. If a NS_EXTERNALHELPERAPPSERVICE_PROGID was not found,
crash would occur.


git-svn-id: svn://10.0.0.236/trunk@73330 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:43:17 +00:00
mkaply%us.ibm.com
cd9d156541 #42637
r=mkaply, a=brendan
OS/2 bringup - Need to increment appshell refcount to prevent crash


git-svn-id: svn://10.0.0.236/trunk@73329 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:39:05 +00:00
mkaply%us.ibm.com
852a1ef060 #42637
r=mkaply, a=brendan
OS/2 bringup - Handle failure return from WinGetMsg


git-svn-id: svn://10.0.0.236/trunk@73328 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:38:07 +00:00
ftang%netscape.com
cae2e05f83 Check in the fix for jbetak. Move the priority of the bookmark / cache up. fix bug 18022
r=jbetak/ftang


git-svn-id: svn://10.0.0.236/trunk@73327 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:29:28 +00:00
ftang%netscape.com
b2f067bb44 fix 35076. r=vidur. escape the URL if it contains non ASCII character. Escape from the position
which the first non ASCII char appear.


git-svn-id: svn://10.0.0.236/trunk@73326 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:27:30 +00:00
robinf%netscape.com
a754e86ed3 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@73325 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:24:48 +00:00
mkaply%us.ibm.com
5bc9a0d2d2 #42637
r=valeski, a=brendan
OS/2 bringup - Support for OS/2 special system directories


git-svn-id: svn://10.0.0.236/trunk@73324 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:23:51 +00:00
morse%netscape.com
73cb88057f fix bug 43886, single signon no longer works, r=jefft
git-svn-id: svn://10.0.0.236/trunk@73323 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:13:50 +00:00
dougt%netscape.com
2e42013815 Adding windows embedding test harness to build.
43054
r=valeski
a=valeski & pdt.


git-svn-id: svn://10.0.0.236/trunk@73322 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:10:25 +00:00
blizzard%redhat.com
7d3b07b8ab fix for bug #42008. make HTTP basic auth case insensitive. r=shaver,brendan,gagan,valeski a=brendan.
git-svn-id: svn://10.0.0.236/trunk@73321 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 21:06:41 +00:00
dougt%netscape.com
d7128e8164 Initializing var before use. simple fix.
git-svn-id: svn://10.0.0.236/trunk@73320 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 20:55:54 +00:00
blizzard%redhat.com
521fbec8ee turn on base directory for unix ( part of previous checkin )
git-svn-id: svn://10.0.0.236/trunk@73319 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 20:55:11 +00:00
blizzard%redhat.com
28a52581a9 build the embedding/base code on unix. fix trailing newline in nsEmbedBase.h and put the thread hack back in until we get a long term solution. bug #43952. r=adamlock,valeski a=brendan
git-svn-id: svn://10.0.0.236/trunk@73318 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 20:54:15 +00:00
wtc%netscape.com
d2d95abe26 Bugzilla bug #42714: removed dependency on winmm.dll. Replaced
timeGetTime() with GetTickCount().
Modified files: pr/src/Makefile, pr/src/Makefile.in, ntinrval.c


git-svn-id: svn://10.0.0.236/trunk@73317 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 20:54:02 +00:00
dougt%netscape.com
1cdcbb34f4 Adding assert on invalid init of textTransformer. see bug 43094
Basic check for null.

Without this assert, you will crash if there is no nsILineBreakerFactory
found.


git-svn-id: svn://10.0.0.236/trunk@73316 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 20:54:01 +00:00
jst%netscape.com
475e145ee0 Fixing tree blocker 43958 by backing out the last change to this file since it broke my.netscape.com, developer.netscape.com, webmail.netscape.com and probably other sites too. a=granrose
git-svn-id: svn://10.0.0.236/trunk@73315 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 20:42:01 +00:00
mcafee%netscape.com
2fd11dd285 Upping the ante for bloat URLs. Adding test6 to test tables, adding test8 again to test cache. r=warren, a=leaf
git-svn-id: svn://10.0.0.236/trunk@73314 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 18:58:58 +00:00
despotdaemon%netscape.com
d53ddfefca Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@73313 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 18:21:13 +00:00
leaf%mozilla.org
2369f3b07f creating a SeaMonkeyL10n module for inclusion into SeaMonkeyAll -leaf
git-svn-id: svn://10.0.0.236/trunk@73312 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 18:12:04 +00:00
brade%netscape.com
48039fdde4 check in patch for buster; bug #42630; GetChildFrameContainingOffset was hiding inherited
git-svn-id: svn://10.0.0.236/trunk@73306 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 14:47:21 +00:00
tor%cs.brown.edu
cd57a86bb7 Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73305 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 14:40:32 +00:00
cls%seawood.org
0d5bee3573 For whatever reason, just calling "do" on the tinder-config.pl script was not causing the defaults to be overriden, so we manually read & process tinder-config.pl as we did tinder-defaults.pl.
git-svn-id: svn://10.0.0.236/trunk@73304 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 12:21:46 +00:00
locka%iol.ie
0678e56a3b NOT PART OF BUILD. Added popup menus
git-svn-id: svn://10.0.0.236/trunk@73303 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 12:01:24 +00:00
axel%pike.org
4fdb0334a9 Not part of build, r=kvisco, don't add abundant text nodes to document
git-svn-id: svn://10.0.0.236/trunk@73302 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 10:40:57 +00:00
Peter.VanderBeken%pandora.be
8f2fca0cbe Finishing jj's work on bug 39959. r=jj@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@73301 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 07:56:48 +00:00
nisheeth%netscape.com
7a3c35beaa Fix for bug 42196. A simple patch from Rod Spears to prevent asserts that were firing on reading mail messages.
git-svn-id: svn://10.0.0.236/trunk@73300 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 06:56:08 +00:00
mang%subcarrier.org
0f37a10bed progid no longer defined in nsISample.idl
Part of previous fix to bug 10904


git-svn-id: svn://10.0.0.236/trunk@73299 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 06:35:17 +00:00
alecf%netscape.com
f6d96a42e0 back out part of amasari@netscape.com's checkin. no reviewer, because this
string should never have been removed in the first place!
thanks to timeless@bemail.org for finding the error


git-svn-id: svn://10.0.0.236/trunk@73298 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 06:19:53 +00:00
ducarroz%netscape.com
28728c1f75 Fix for bug 43468. We need also to use .value when we pre file a recipient else we will loose the content of every non visible fields! This is more a work around that the reall fix which should be in the textcontrolframe code. R=putterman
git-svn-id: svn://10.0.0.236/trunk@73297 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 06:14:42 +00:00
cls%seawood.org
500003732d Given the statement "a == b ? c : d;" , the WorkShop 5.0 compiler expects c & d to be of the same type.
git-svn-id: svn://10.0.0.236/trunk@73296 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 06:10:21 +00:00
rich.burridge%sun.com
b779e86645 Fix to prevent build bustage on nebiros with Sun compilers.
The Sun compiler expects a specific format for the function
used by the #pragma statement. It should return void and
have no arguments. It also needs an initial function prototype.
r=cls
Fix for breakage for checkin for bug #40769.


git-svn-id: svn://10.0.0.236/trunk@73295 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:58:00 +00:00
mang%subcarrier.org
658e2df19f partial fix for bug 10904 - sample now works in M15
- moves CID/ProgID into header file
- adds more calls to enablePrivilege
- renames "write" callback to something that works as intended

a=brendan@mozilla.org
r=scc@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73294 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:54:46 +00:00
ben%netscape.com
ea23f52dda fix for 8002, patch from Peter Annema, r=ben
git-svn-id: svn://10.0.0.236/trunk@73293 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:47:07 +00:00
ben%netscape.com
0575090c65 fix for 42737, patch by Robert Kaiser, r=ben
git-svn-id: svn://10.0.0.236/trunk@73292 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:46:23 +00:00
alecf%netscape.com
5a51ad8bf4 fix for #43794 contributed by blaker1234@aol.com
r=alecf - just a tiny spelling error - "Outoing" -> "Outgoing"


git-svn-id: svn://10.0.0.236/trunk@73291 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:33:31 +00:00
alecf%netscape.com
3df82822e1 fix for #41645 contributed by <timeless@bemail.org> r=alecf
git-svn-id: svn://10.0.0.236/trunk@73290 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:30:19 +00:00
ducarroz%netscape.com
af2a45c882 Fix for bug 43575. Back out a line that Rods accidently change while checkin rev 1.40 R=hyatt
git-svn-id: svn://10.0.0.236/trunk@73289 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 05:26:28 +00:00
leaf%mozilla.org
1d0d34db54 Automated update
git-svn-id: svn://10.0.0.236/trunk@73288 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 04:45:09 +00:00
alecf%netscape.com
af28f7c68c make window sizable, part of #33101 r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@73287 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 04:42:34 +00:00
sspitzer%netscape.com
abf8ea00c6 back out part of jerry kirk's check in. not sure why he turned this off.
git-svn-id: svn://10.0.0.236/trunk@73286 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 04:37:15 +00:00
despotdaemon%netscape.com
4e8cabf2fc Pseudo-automatic update of changes made by brendan@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@73285 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:57:50 +00:00
beard%netscape.com
67503192d6 Win-specific operator== noise.
git-svn-id: svn://10.0.0.236/trunk@73284 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:52:56 +00:00
beard%netscape.com
b661c5b8ce Fixed unitialized static class members.
git-svn-id: svn://10.0.0.236/trunk@73283 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:43:40 +00:00
beard%netscape.com
e1bf2e7c86 addSlot -> defineSlot, added defineStatic.
git-svn-id: svn://10.0.0.236/trunk@73282 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:42:42 +00:00
dougt%netscape.com
ba45beb562 Bug 43314.
r=Henry Sobotka <sobotka@axess.com>
a=brendan@mozilla.org
s=Robert O'Callahan <roc+moz@cs.cmu.edu>


git-svn-id: svn://10.0.0.236/trunk@73281 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:35:32 +00:00
brendan%mozilla.org
efb5386074 Not again\!
git-svn-id: svn://10.0.0.236/trunk@73280 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:29:49 +00:00
beard%netscape.com
be8e774ffe Fixed type management.
git-svn-id: svn://10.0.0.236/trunk@73279 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:21:33 +00:00
brendan%mozilla.org
0270629fde Fix my stupid missing comma bustage.
git-svn-id: svn://10.0.0.236/trunk@73278 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:17:47 +00:00
leaf%mozilla.org
fb8db5157c Automated update
git-svn-id: svn://10.0.0.236/trunk@73277 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:00:11 +00:00
Jerry.Kirk%Nexwarecorp.com
8b32f1a0e2 Changes to allow the Photon version of Mozilla to not be a
MONOLITHIC_TOOLKIT any longer.
r=cls


git-svn-id: svn://10.0.0.236/trunk@73276 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 02:45:09 +00:00
rogerl%netscape.com
0ab4d1b650 lots of stuff me and Patrick did
git-svn-id: svn://10.0.0.236/trunk@73275 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 02:39:32 +00:00
brendan%mozilla.org
2a9d76e574 Fix JS_SetPrototype and __proto__ setting to deal with shared scopes; use JSObjectOps for setProto and setParent operations, and add spare op slots (41126, r=shaver@mozilla.org,pschwartau@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@73274 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 02:37:25 +00:00
javi%netscape.com
9e1cf0b293 Sigh. Preceed all <LINK ..> blocks with a <SCRIPT></SCRIPT> to work around
a bug in 4.x Communicator Solaris where the contents of the style sheet get
dumped to the screen.  Not sure why this solves that problem, but it does.


git-svn-id: svn://10.0.0.236/trunk@73273 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 01:32:39 +00:00
law%netscape.com
545f2ef5f6 Fix for bug 43892; properly calculate unicode string length; r=matt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73272 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 01:30:23 +00:00
dougt%netscape.com
01cf26060b simplify, simplify, simplify...
added editor support.
added multiple document support.
reduced what interfaces were needed by the WebBrowser class.


Not Part of build!


git-svn-id: svn://10.0.0.236/trunk@73271 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 01:30:20 +00:00
ddrinan%netscape.com
8db6580aa2 Build the PSM xpi files
git-svn-id: svn://10.0.0.236/trunk@73270 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 01:21:41 +00:00
nisheeth%netscape.com
ab324a8e94 Fix for bug 43019. Does not affect current build. Fixes a unix compile problem for XSL hooks in mozilla.
git-svn-id: svn://10.0.0.236/trunk@73269 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 01:12:44 +00:00
javi%netscape.com
9f043c0b2b Doh!! Forgot to add the psm executable to the xpi file.
git-svn-id: svn://10.0.0.236/trunk@73268 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:55:05 +00:00
jst%netscape.com
bf4dfc972a Fixing the remaining details in nsbeta2+ bug 38495, mozilla is now backwards compatible with existing plugin content as long as the plugins are updated. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73267 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:54:44 +00:00
javi%netscape.com
a6545ceffd Add an html file that can be used to install the xpi
git-svn-id: svn://10.0.0.236/trunk@73265 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:34:03 +00:00
endico%mozilla.org
7f200ff1ac added item on copying db from one installation to another
git-svn-id: svn://10.0.0.236/trunk@73264 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:27:10 +00:00
tao%netscape.com
bd20adbe0f 41054: Bundle 2-3 language packs with Seamonkey.r=jbetak
git-svn-id: svn://10.0.0.236/trunk@73263 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:24:48 +00:00
javi%netscape.com
0b43e84fbb Add a rule to automatically create XPi files.
git-svn-id: svn://10.0.0.236/trunk@73262 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:20:07 +00:00
ducarroz%netscape.com
f2590dfb53 Fix build bustage for rhp. Add msgUtils library to the Mac project (both target)
git-svn-id: svn://10.0.0.236/trunk@73261 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 00:12:48 +00:00
javi%netscape.com
825e2983b3 Checking in the file we use for xpi install on UNIX with mozilla.
git-svn-id: svn://10.0.0.236/trunk@73260 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 23:44:28 +00:00
cyeh%bluemartini.com
861e0acb60 fix for DBI compatibility
git-svn-id: svn://10.0.0.236/trunk@73259 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 23:04:40 +00:00
rhp%netscape.com
37687de29e Fix to use the server and port from AB Sync server - Bug # 43782 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@73258 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 23:04:37 +00:00
sgehani%netscape.com
722315f24b Fix font issue: make license readable in installer.
[nsbeta2+ b=40960; r=ssu]


git-svn-id: svn://10.0.0.236/trunk@73257 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 22:41:27 +00:00
cotter%netscape.com
5da5c16f30 Updated installation and what's new sections re Security directory on Windows, which no longer needs to be renamed when installing Netscape 6 after PSM for Communicator (or vice versa).
git-svn-id: svn://10.0.0.236/trunk@73256 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 22:32:55 +00:00
av%netscape.com
fc3f0b75fd Not part of the build yet. Default plugin.
git-svn-id: svn://10.0.0.236/trunk@73255 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 22:30:38 +00:00
leaf%mozilla.org
18ada066a1 Automated update
git-svn-id: svn://10.0.0.236/trunk@73254 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 22:30:09 +00:00
rich.burridge%sun.com
92fa85731e Fix to allow refcnt'ing on the Solaris platform.
r=scc@mozilla.org a=brendan@mozilla.org
Bug #40769


git-svn-id: svn://10.0.0.236/trunk@73253 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 22:23:47 +00:00
cls%seawood.org
c0ab59d720 Added BeOS debugger to debugger list. bug #43723
git-svn-id: svn://10.0.0.236/trunk@73252 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:52:27 +00:00
law%netscape.com
53bb7777ca Fix for bug 35956; turn off gzip content encodng when downloading via http; r=gagan
git-svn-id: svn://10.0.0.236/trunk@73251 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:36:28 +00:00
cmanske%netscape.com
2ba9df27e7 Added flag to be sure file exists when loading a file using Windows filepicker. part of fix for 43834, r&a=rods
git-svn-id: svn://10.0.0.236/trunk@73250 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:16:01 +00:00
nisheeth%netscape.com
3ac334fdb1 r=vidur, jst. Fix for bug 9076. The nodeName property is now case sensitive for XHTML elements and folded to uppercase for HTML elements.
git-svn-id: svn://10.0.0.236/trunk@73249 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:05:16 +00:00
sspitzer%netscape.com
79039ebdbd fix for #1144 (and various other bugs, I'm sure.)
export absync.properties on the Mac.  r=mscott


git-svn-id: svn://10.0.0.236/trunk@73248 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:03:55 +00:00
rusty.lynch%intel.com
d32014ccc6 David Baron's patch to fix bug #41172. r=waterson
git-svn-id: svn://10.0.0.236/trunk@73247 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:03:19 +00:00
evaughan%netscape.com
c91452df4c Fix for dogfood bug #43474
git-svn-id: svn://10.0.0.236/trunk@73246 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 21:00:44 +00:00
rusty.lynch%intel.com
dc44b012ca part of a fix for bug #40321. r=gagan
git-svn-id: svn://10.0.0.236/trunk@73245 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:58:04 +00:00
mkaply%us.ibm.com
ea8f1202b8 #42637
r=mscott, a=brendan
OS/2 bringup - need casts for VisualAge


git-svn-id: svn://10.0.0.236/trunk@73244 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:39:19 +00:00
Jerry.Kirk%Nexwarecorp.com
77d5ef4dab NOT PART oF BUILD - PHOTON ONLY
Made the timers for photon work as a component by defining
NS_TIMER_PH_CID and changing the component name to the new name.


git-svn-id: svn://10.0.0.236/trunk@73243 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:37:03 +00:00
endico%mozilla.org
0a6c3cfd47 change wording of mail notification
git-svn-id: svn://10.0.0.236/trunk@73242 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:29:10 +00:00
shanjian%netscape.com
165f5ef435 related to #40734
The rule has been changed. '=' will no longer be breakable in western
languages. Akkana agreed the change.


git-svn-id: svn://10.0.0.236/trunk@73241 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:26:47 +00:00
dougt%netscape.com
7515b96e14 Removing bookmark requirement.
43082.
r=jbetak@netscape.com
a=valeski@netscape.com


git-svn-id: svn://10.0.0.236/trunk@73240 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:26:16 +00:00
shanjian%netscape.com
dc73ec9814 #40734
Checkin the code again with small modification from previous one. The
failure in test should be corrected by changing the test case. The rule
has been changed. Akkana agreed the change.


git-svn-id: svn://10.0.0.236/trunk@73239 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:25:41 +00:00
mkaply%us.ibm.com
09621b24a4 r=cls, a=cls
Broken objdir stuff


git-svn-id: svn://10.0.0.236/trunk@73238 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 20:18:21 +00:00
mkaply%us.ibm.com
dd8be9c7b4 #42637
r=jst, a=brendan
OS/2 bring up - PR_CALLBACK for VisualAge


git-svn-id: svn://10.0.0.236/trunk@73237 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 19:59:18 +00:00
neeti%netscape.com
76dd70d02c Removing an useless include xpcomio_s from the Makefile.r/a=gagan
git-svn-id: svn://10.0.0.236/trunk@73236 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 19:57:41 +00:00
mkaply%us.ibm.com
d7d989774e #42637
r=mkaply, a=brendan
OS/2 bring up - Change window list behavior to be more like Windows - windows are only in the task list if they are visible


git-svn-id: svn://10.0.0.236/trunk@73235 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 19:54:19 +00:00
mkaply%us.ibm.com
8b0c128d62 #42637
r=mkaply, a=brendan
OS/2 bring up - Fixes for our cursors


git-svn-id: svn://10.0.0.236/trunk@73234 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 19:52:41 +00:00
cls%seawood.org
db4eb3374a Ok, that was a stupid mistake
git-svn-id: svn://10.0.0.236/trunk@73233 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 19:23:36 +00:00
rpallath%eng.sun.com
0f0ebad037 Added this test case
git-svn-id: svn://10.0.0.236/trunk@73232 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 18:09:44 +00:00
beard%netscape.com
ccd4698faf JSValue::operator==: added CASE(type) to fix warning.
git-svn-id: svn://10.0.0.236/trunk@73231 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 17:47:07 +00:00
beard%netscape.com
9ce999f990 added JSObject::deleteProperty(), and changed mName in JSType to be a JSString. Need to revisit other uses of String soon.
git-svn-id: svn://10.0.0.236/trunk@73230 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 17:42:20 +00:00
beard%netscape.com
248c6cb94b simplified string addition
git-svn-id: svn://10.0.0.236/trunk@73229 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 17:25:25 +00:00
beard%netscape.com
3054177c8b defined JSStringBase, and constructors from in JSString
git-svn-id: svn://10.0.0.236/trunk@73228 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 17:24:57 +00:00
beard%netscape.com
e530a8d939 String addition: don't share structure with LHS.
git-svn-id: svn://10.0.0.236/trunk@73227 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 17:09:27 +00:00
beard%netscape.com
38b67e2e27 added constructor from JSString&.
git-svn-id: svn://10.0.0.236/trunk@73226 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 16:55:01 +00:00
beard%netscape.com
dcf06c37e9 Reset register usage after generating each initializer statement.
git-svn-id: svn://10.0.0.236/trunk@73225 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 15:19:45 +00:00
beard%netscape.com
8764a7d072 Simplified NEW_CLASS, using a single do .. while loop, introducing nextPC instruction iterator to simplify initial case. now calls all defined constructors.
git-svn-id: svn://10.0.0.236/trunk@73224 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 15:06:36 +00:00
bienvenu%netscape.com
a100917856 fix for 38598 progress not working r=mscott
git-svn-id: svn://10.0.0.236/trunk@73223 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:54:28 +00:00
locka%iol.ie
d6ecfb9d7f NOT PART OF BUILD. Fixed DTD makefile
git-svn-id: svn://10.0.0.236/trunk@73222 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:50:53 +00:00
mkaply%us.ibm.com
b94aaf3d70 #42637
r=mkaply, a=brendan
OS/2 bring up - Set mresolvepath - OS/2 only


git-svn-id: svn://10.0.0.236/trunk@73221 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:50:20 +00:00
locka%iol.ie
a936ff0df5 NOT PART OF BUILD. First working cut of the mini navigator chrome
git-svn-id: svn://10.0.0.236/trunk@73220 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:49:39 +00:00
locka%iol.ie
5550039780 NOT PART OF BUILD. Fixed some path problems in makefiles & manifest
git-svn-id: svn://10.0.0.236/trunk@73219 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:48:54 +00:00
mkaply%us.ibm.com
12d5704c62 #40177
r=cls, a=brendan
OS/2 bring up - Forgot OSDIR to specify location of cpp file


git-svn-id: svn://10.0.0.236/trunk@73218 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:46:18 +00:00
bienvenu%netscape.com
edde59dd98 fix for 38598 progress not working r=mscott
git-svn-id: svn://10.0.0.236/trunk@73217 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 14:24:05 +00:00
bryner%uiuc.edu
572054010f Oops, need to check for microseconds overflow into full seconds. bug
43789.  r=pavlov.


git-svn-id: svn://10.0.0.236/trunk@73216 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 06:46:01 +00:00
pavlov%netscape.com
797bce8c48 fix for timers not firing accurately bug 43789. r=blizzard, syd, bryner
git-svn-id: svn://10.0.0.236/trunk@73215 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 05:58:17 +00:00
rjc%netscape.com
f4103e6374 Fix nsbeta2+ bug # 43498: search file update. R/A=me
git-svn-id: svn://10.0.0.236/trunk@73214 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 05:24:45 +00:00
rjc%netscape.com
bab06adffb Fix nsbeta2+ bug # 42887: allow charset specification in a search dataset. Code: nhotta R/A: me
git-svn-id: svn://10.0.0.236/trunk@73213 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 05:08:23 +00:00
dbaron%fas.harvard.edu
9f0ca0e3b5 Undo my previous change, which was wrong. PR_TRUE is the correct way to continue enumeration for |nsHashtable|s. I don't know what is causing the leak (bug 43707). r=hyatt
git-svn-id: svn://10.0.0.236/trunk@73212 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:39:49 +00:00
conrad%ingress.com
8f63a1e61f * Not part of build *
Filled in some nsIWebBrowserChrome and nsIBaseWindowMethods which were only stubbed out before.


git-svn-id: svn://10.0.0.236/trunk@73211 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:25:16 +00:00
conrad%ingress.com
946e16276a * Not part of build *
Changd nsAllocator::Free() to nsCRT::free()


git-svn-id: svn://10.0.0.236/trunk@73210 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:23:10 +00:00
conrad%ingress.com
0e814bc032 * Not part of build *
Hooked up progress UI


git-svn-id: svn://10.0.0.236/trunk@73209 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:21:51 +00:00
conrad%ingress.com
7b8b984943 * Not part of build *
Hooked up progress UI.


git-svn-id: svn://10.0.0.236/trunk@73208 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:21:27 +00:00
conrad%ingress.com
59a8e842e2 * Not part of build *
Added SetWebBrowser()


git-svn-id: svn://10.0.0.236/trunk@73207 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:20:54 +00:00
conrad%ingress.com
8fb6d2a0fc * Not part of build *
Took out calls to Repeater and PR_Sleep.
Added SetWebBrowser()


git-svn-id: svn://10.0.0.236/trunk@73206 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:20:04 +00:00
conrad%ingress.com
9ab457a9fb * Not part of build *
Moved calls to Repeater to ProcessEvent(). This used to be done in the SpendTime() method of each CBrowserShell which was wrong.


git-svn-id: svn://10.0.0.236/trunk@73205 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:18:32 +00:00
conrad%ingress.com
b478b71b4d * Not part of build *
Added res ID for plain browser window.


git-svn-id: svn://10.0.0.236/trunk@73204 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:13:19 +00:00
conrad%ingress.com
3f686dc68d * Not part of build *
Added progress bar.


git-svn-id: svn://10.0.0.236/trunk@73203 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 02:12:32 +00:00
ben%netscape.com
2b8fab70e7 tree tweak for classic skin.
git-svn-id: svn://10.0.0.236/trunk@73202 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 01:20:53 +00:00
mkaply%us.ibm.com
ae0e56406c # 40177
r = mkaply, a = brendan
OS/2 bring-up - Versions of these files for OS/2


git-svn-id: svn://10.0.0.236/trunk@73201 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 22:42:16 +00:00
mkaply%us.ibm.com
1b4a50ead4 # 40177
r = cls, a = brendan
OS/2 bring-up - Change so this builds on OS/2


git-svn-id: svn://10.0.0.236/trunk@73200 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 22:39:51 +00:00
Peter.VanderBeken%pandora.be
59914605fb Added expat to optimized target. Not part of build yet.
git-svn-id: svn://10.0.0.236/trunk@73199 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 20:57:37 +00:00
rhp%netscape.com
be18301515 Fixing problem with printing - simple one line JS fix for a missing call - Bug #43478 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@73198 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 17:33:57 +00:00
beard%netscape.com
8bb1ef70ac Only call non-null constructors.
git-svn-id: svn://10.0.0.236/trunk@73197 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 17:04:38 +00:00
beard%netscape.com
1bb0ae2fc2 Conditionally set constructor, if it has any instructions.
git-svn-id: svn://10.0.0.236/trunk@73196 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 17:04:01 +00:00
beard%netscape.com
75fa0c383f updated dependencies
git-svn-id: svn://10.0.0.236/trunk@73195 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 16:44:29 +00:00
beard%netscape.com
0935fcf077 check for non-null superClass
git-svn-id: svn://10.0.0.236/trunk@73194 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 16:43:25 +00:00
beard%netscape.com
491725a122 hooked up superClass' scope as the prototype of a class's scope, to do method inheritance, removed bogus JSInstance::getSlotCount(), which overcounted slots.
git-svn-id: svn://10.0.0.236/trunk@73193 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 16:35:33 +00:00
mkaply%us.ibm.com
534fd167f6 # 40177
r = cls, a = brendan
OS/2 bring-up - the PS dir is only needed for *IX platforms


git-svn-id: svn://10.0.0.236/trunk@73192 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 14:42:08 +00:00
ben%netscape.com
652948ad51 fixes for classic skin, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@73190 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 06:07:54 +00:00
tao%netscape.com
521fd4f1a0 back out l10n changes.
git-svn-id: svn://10.0.0.236/trunk@73189 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 04:05:08 +00:00
tao%netscape.com
ff8f01d63b Back out l10n changes
git-svn-id: svn://10.0.0.236/trunk@73188 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 04:01:42 +00:00
tao%netscape.com
6e79c944f9 Back out l10n changes.
git-svn-id: svn://10.0.0.236/trunk@73187 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 04:00:27 +00:00
tao%netscape.com
2329db2be4 change dirs ordering to see if this fixes install order.
git-svn-id: svn://10.0.0.236/trunk@73182 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 01:59:57 +00:00
beard%netscape.com
a3a1f59b43 Added calls to superClass constructors.
git-svn-id: svn://10.0.0.236/trunk@73177 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 22:42:43 +00:00
beard%netscape.com
5e640f5cf7 JSInstance::getSlotCount() no longer recursive.
git-svn-id: svn://10.0.0.236/trunk@73176 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 22:42:15 +00:00
beard%netscape.com
7f094b555a Beginning support for superclass slots.
git-svn-id: svn://10.0.0.236/trunk@73175 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 22:07:00 +00:00
tao%netscape.com
ed9af13cb6 41054: Bundle 2-3 language packs with Seamonkey.r=jbetak.
git-svn-id: svn://10.0.0.236/trunk@73174 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 21:48:17 +00:00
sspitzer%netscape.com
7657985439 comment out my printf.
git-svn-id: svn://10.0.0.236/trunk@73173 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 21:45:08 +00:00
sspitzer%netscape.com
53d802af6a fix for #39853. when populating the subscribe dialog from disk, we'd
block the entire ui.  this was bad if the hostinfo.dat file was big.
r=mscott


git-svn-id: svn://10.0.0.236/trunk@73172 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 21:35:59 +00:00
sspitzer%netscape.com
3676e6c34a fix for #41062. pop up an alert on news errors, like auth failure.
r=mscott.


git-svn-id: svn://10.0.0.236/trunk@73171 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 21:22:47 +00:00
jst%netscape.com
cafa975bba Fixing nsbeta2+ bug 13350, add a JS branch callback to the DOM code that runs the JS GC and also lets users abort extremely long running scripts (i.e. infinite JS loops). r=vidur&brendan
git-svn-id: svn://10.0.0.236/trunk@73170 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 16:18:41 +00:00
beard%netscape.com
3d0c7e4a46 Added emptyArgs, removed unused return value in readEvalFile
git-svn-id: svn://10.0.0.236/trunk@73169 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:42:51 +00:00
beard%netscape.com
b4ef9b75fb enable RTTI
git-svn-id: svn://10.0.0.236/trunk@73168 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:36:52 +00:00
beard%netscape.com
0f9a13273f VC++ doesn't like local classes in templates.
git-svn-id: svn://10.0.0.236/trunk@73167 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:36:09 +00:00
beard%netscape.com
8ee63e4a30 major surgery to enable the "load()" native function.
git-svn-id: svn://10.0.0.236/trunk@73166 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:25:33 +00:00
beard%netscape.com
032e7d113c Experiment with looking up methods in the prototype chain.
git-svn-id: svn://10.0.0.236/trunk@73165 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:22:23 +00:00
beard%netscape.com
771cfb9f71 Always use the target object, regardless of where a method property is found along the prototype chain.
git-svn-id: svn://10.0.0.236/trunk@73164 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:21:49 +00:00
beard%netscape.com
3fa84e139b When generating a reference to "this" use the current code generator's mClass when appropriate.
git-svn-id: svn://10.0.0.236/trunk@73163 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:21:03 +00:00
ben%netscape.com
544b1501f0 fix for 38262, 38497, r=verah@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73162 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 04:55:47 +00:00
ben%netscape.com
f1af12c6d0 more classic skin work
git-svn-id: svn://10.0.0.236/trunk@73161 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 04:52:59 +00:00
ben%netscape.com
ee8907c483 more classic skin work + fix manifest
git-svn-id: svn://10.0.0.236/trunk@73160 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 04:52:33 +00:00
morse%netscape.com
3557f39e20 update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@73159 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 04:34:18 +00:00
joki%netscape.com
c1ec0c7d3c Part of fix for 42418, patch up event target from PresShell after re-entrant events to avoid null targets. r:nisheeth
git-svn-id: svn://10.0.0.236/trunk@73158 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 03:58:13 +00:00
tor%cs.brown.edu
875aaade38 Dangling symbol reference was causing problems with Tru64 and MacOS.
Not in default build.


git-svn-id: svn://10.0.0.236/trunk@73157 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 03:54:35 +00:00
mcafee%netscape.com
f9fb471e4b Removing unused 4.x prefs (39812). r=pavlov
git-svn-id: svn://10.0.0.236/trunk@73156 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 03:32:40 +00:00
mcafee%netscape.com
6cbafd115c file is dead, removing. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@73155 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 03:20:39 +00:00
morse%netscape.com
830640e80c bug 42774, fix typo
git-svn-id: svn://10.0.0.236/trunk@73154 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 03:09:11 +00:00
mcafee%netscape.com
70eea3db84 Don't inherit the 4.x cache file location for mozilla (39812). r=pavlov
git-svn-id: svn://10.0.0.236/trunk@73153 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 03:04:51 +00:00
rginda%netscape.com
0670e54423 fixing source stepping (opcode stepping to come back later)
debugger is now quiet by default.


git-svn-id: svn://10.0.0.236/trunk@73152 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:53:29 +00:00
beard%netscape.com
6c8e7ab7a9 Removed JSType::isClassType().
git-svn-id: svn://10.0.0.236/trunk@73151 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:51:34 +00:00
beard%netscape.com
e24d5dd777 Added JSClass::get/setConstructor().
git-svn-id: svn://10.0.0.236/trunk@73150 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:51:03 +00:00
beard%netscape.com
d5f478e4b2 Added call to constructor when executing NEW_CLASS.
git-svn-id: svn://10.0.0.236/trunk@73149 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:50:23 +00:00
beard%netscape.com
eb882da672 Generating default constructor to run slot initializers.
git-svn-id: svn://10.0.0.236/trunk@73148 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:49:45 +00:00
ben%netscape.com
591f0a6158 [classic-skin] fix mac sidebar css to use correct colours
git-svn-id: svn://10.0.0.236/trunk@73147 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:16:38 +00:00
dougt%netscape.com
2c89b23807 fixing bustage.
git-svn-id: svn://10.0.0.236/trunk@73146 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:10:17 +00:00
gagan%netscape.com
0e6114432b Fix for bug 42841. We were sending a Host: foo:80 header for the default port cases. Several server cgi's that rely on this for virtual hosts were failing to compare the two as same. r=dougt,rjc Ooops... I think I ran this file thru my deruslanizer too.
git-svn-id: svn://10.0.0.236/trunk@73145 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:02:19 +00:00
dougt%netscape.com
5e1c69c466 adding helper source. Not part of built.
git-svn-id: svn://10.0.0.236/trunk@73144 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:01:29 +00:00
dougt%netscape.com
d647fb0127 Adjusting user of makeUnique. a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@73143 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:55:40 +00:00
dougt%netscape.com
b4fae1275b nsIFile unique file creation is racy and insecure
bug 43314. a=brendan@mozilla.org
written by Robert O'Callahan <roc+moz@cs.cmu.edu>


git-svn-id: svn://10.0.0.236/trunk@73142 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:50:53 +00:00
alecf%netscape.com
7b4aa37af0 fix for 39345 - remove save password from all UI
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73141 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:32:12 +00:00
dougt%netscape.com
5a016c0fee Change nsIDOMXULDocument --> nsIDOMDocument
bug 43424
r=akkana@netscape.com
a=phil@netscape.com ?


git-svn-id: svn://10.0.0.236/trunk@73140 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:29:58 +00:00
mscott%netscape.com
e2331d355d Bug #43651 --> can't read news without crashing. Implement GetContentType for nntp protocol.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73139 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:17:02 +00:00
ducarroz%netscape.com
97ce0a7bba Fix for bug 41266. Don't close the popup menu when pressing the up/down arrow key. R=mscott
git-svn-id: svn://10.0.0.236/trunk@73138 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:15:42 +00:00
mscott%netscape.com
381890bc97 Gee wizz...i didn't check in the progid registration for the external helper app service last night.
Bug #38374, 30157, 10802
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73137 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:14:52 +00:00
thayes%netscape.com
216910f39a Add tests for Secret Decoder Ring (SDR)
git-svn-id: svn://10.0.0.236/trunk@73136 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:06:26 +00:00
beard%netscape.com
154282855d testCompile() is static
git-svn-id: svn://10.0.0.236/trunk@73135 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:04:58 +00:00
rogerl%netscape.com
e8e7f3718b typing 'this'
git-svn-id: svn://10.0.0.236/trunk@73134 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:02:34 +00:00
rogerl%netscape.com
9d9a6a599f Got newClass working, added printProperties for instances, some slot
stuff is happening.


git-svn-id: svn://10.0.0.236/trunk@73133 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:50:59 +00:00
endico%mozilla.org
13c209ac50 add comment explaining how to set up mail alias
git-svn-id: svn://10.0.0.236/trunk@73132 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:13:55 +00:00
cltbld%netscape.com
420f7b4f04 added patches to build Mac with XSLT, SVG, MathML. fix for #39959. (activated by Options{} switches - default is off) --jj.
git-svn-id: svn://10.0.0.236/trunk@73131 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:06:58 +00:00
cltbld%netscape.com
999c778b9e added Options{} table. part of fix for #39959 -- jj.
git-svn-id: svn://10.0.0.236/trunk@73130 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:03:50 +00:00
dougt%netscape.com
bf15c34b53 I IDL-ifying the nsProxyObjectManager.
I have updated all users that I found
grepping the source tree.

r=valeski@netscape.com
a=waterson@netscape.com
b=43131

Also checking in changes to the window's embed test which is NOT
hooked up to the build system.


git-svn-id: svn://10.0.0.236/trunk@73129 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:03:10 +00:00
cltbld%netscape.com
9528ea55c9 added DefinesOptions.h to Mac build. part of fix for #39959
git-svn-id: svn://10.0.0.236/trunk@73128 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:02:31 +00:00
valeski%netscape.com
dce89aed9d a=waterson. adding idl file, part of dougt's checkin.
git-svn-id: svn://10.0.0.236/trunk@73127 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:56:55 +00:00
endico%mozilla.org
b4a89b36f1 add more whitespace to exporter's log message
git-svn-id: svn://10.0.0.236/trunk@73126 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:54:35 +00:00
radha%netscape.com
83f086107a More checkins for feature bug 36547. CODE NOT PART OF THE BUILD. reviewer will be provided
when feature is enabled.


git-svn-id: svn://10.0.0.236/trunk@73125 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:54:30 +00:00
cltbld%netscape.com
509b1f5c01 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73124 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:53:02 +00:00
endico%mozilla.org
c7416d554f move new path code to beginning
git-svn-id: svn://10.0.0.236/trunk@73123 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:52:32 +00:00
beard%netscape.com
f0d31a051c added NEW_CLASS instruction, to instantiate classes.
git-svn-id: svn://10.0.0.236/trunk@73122 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:49:48 +00:00
beard%netscape.com
b8d21f902b added NEW_CLASS instruction.
git-svn-id: svn://10.0.0.236/trunk@73121 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:49:17 +00:00
cltbld%netscape.com
173d29e9cc added XSLT, SVG, MathML to Mac build. fix for #39959
git-svn-id: svn://10.0.0.236/trunk@73119 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:47:11 +00:00
dveditz%netscape.com
645075a3e5 42762 create English language pack for l10n
git-svn-id: svn://10.0.0.236/trunk@73118 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:46:29 +00:00
cltbld%netscape.com
f52bc38217 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73117 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:45:00 +00:00
rogerl%netscape.com
071facaac6 Adding slot handling to code gen.
git-svn-id: svn://10.0.0.236/trunk@73116 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:43:24 +00:00
beard%netscape.com
5d613bac76 added NEW_CLASS instruction.
git-svn-id: svn://10.0.0.236/trunk@73115 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:41:27 +00:00
dougt%netscape.com
a08152032b Adding idl'ifed nsIProxyObjectManager interface file.
git-svn-id: svn://10.0.0.236/trunk@73114 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:34:11 +00:00
dveditz%netscape.com
bd33c6c595 42762 create English language pack for l10n, r=ssu
git-svn-id: svn://10.0.0.236/trunk@73113 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:33:01 +00:00
beard%netscape.com
324cafdec3 Added JSClass::hasSlot, getSlotCount(), and JSInstance.
git-svn-id: svn://10.0.0.236/trunk@73112 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:25:55 +00:00
beard%netscape.com
5bb59bebb9 JSValue::type now JSType* instead of const JSType*, all predefined JSType objects no longer const as well.
git-svn-id: svn://10.0.0.236/trunk@73111 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:25:14 +00:00
tor%cs.brown.edu
ef95bf8be2 Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@73110 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:59:51 +00:00
bryner%uiuc.edu
20f5e42ebc Fixing bug 43628. r=hyatt,pavlov.
git-svn-id: svn://10.0.0.236/trunk@73109 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:59:18 +00:00
ssu%netscape.com
c8156ba838 fixing bug #41054 - adding language packs to seamonkey product. r=dveditz,sgehani
git-svn-id: svn://10.0.0.236/trunk@73108 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:57:34 +00:00
endico%mozilla.org
74595fe77d include error messages for each bug in the exporter's confirmation mail
git-svn-id: svn://10.0.0.236/trunk@73107 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:56:45 +00:00
rogerl%netscape.com
f0dcf103dd Removed FUNCTION instruction, other class related junk.
git-svn-id: svn://10.0.0.236/trunk@73106 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:53:09 +00:00
vidur%netscape.com
19893b2add Fix for bug 35010. Since this is just a test case, I don't need an a= or r=. font.html
git-svn-id: svn://10.0.0.236/trunk@73105 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:52:39 +00:00
law%netscape.com
fb5f84dae8 Bug 31578; add 'Reload Frame' to context menu; r=matt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73104 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:49:05 +00:00
endico%mozilla.org
7959e0c5a2 find the path this script lives in and add it to @INC and to the current working directory.
git-svn-id: svn://10.0.0.236/trunk@73103 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:43:21 +00:00
cyeh%bluemartini.com
0714929f7c add voters to text
git-svn-id: svn://10.0.0.236/trunk@73102 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:35:38 +00:00
rginda%netscape.com
0deba46ad9 Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing
git-svn-id: svn://10.0.0.236/trunk@73101 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:27:17 +00:00
thayes%netscape.com
a2172d1094 Add SDR test command
git-svn-id: svn://10.0.0.236/trunk@73100 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:25:22 +00:00
vidur%netscape.com
153de75d02 Fix for bug 31376. Just modifying an incorrect comment.
git-svn-id: svn://10.0.0.236/trunk@73099 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:23:37 +00:00
saari%netscape.com
b98ddb60b1 adding null check to prevent a few crashers on windows and linux that I introduced (exposed new code path). r=bryner
git-svn-id: svn://10.0.0.236/trunk@73098 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:18:54 +00:00
dbaron%fas.harvard.edu
88967dd6f9 Add new style classes to the leak/bloat logs. This should increase the bloat statistics. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@73097 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:57:39 +00:00
javi%netscape.com
fc49242917 Move some localizable strings from psm_ui.properties.in to psm_text.properties.in
git-svn-id: svn://10.0.0.236/trunk@73096 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:54:32 +00:00
bryner%uiuc.edu
af531aefa9 Patching more (hopefully all) trees to work with the new tree widget (bug
30511).  r=hyatt.


git-svn-id: svn://10.0.0.236/trunk@73095 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:44:48 +00:00
jim_nance%yahoo.com
8b699a2717 Added line to print working directory of commands which fail.
git-svn-id: svn://10.0.0.236/trunk@73094 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:31:42 +00:00
matt%netscape.com
8213d2f2d9 pulling out search string from JS to a properties file.
R:law
bug:35124


git-svn-id: svn://10.0.0.236/trunk@73093 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:23:44 +00:00
rogerl%netscape.com
60220bebd1 Add return statement if the function doesn't end with one
git-svn-id: svn://10.0.0.236/trunk@73092 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:20:03 +00:00
waqar%netscape.com
d28f9e07c1 #=24871
r=pavlov@netscape.com
d=New timer code for GTK. This should speed up navigation quite a bit.


git-svn-id: svn://10.0.0.236/trunk@73091 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 20:54:02 +00:00
dcone%netscape.com
1db3197083 Printing regression test samples were revised. Does not effect the build.
git-svn-id: svn://10.0.0.236/trunk@73090 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 20:33:26 +00:00
joki%netscape.com
b25ef2eeab Temporary fix for bug 43390, allow modal dialogs/windows to be raised from script. r:vidur
git-svn-id: svn://10.0.0.236/trunk@73089 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 20:32:45 +00:00
dcone%netscape.com
cd2c52ab8a Added two files to build.. nsPrintOptionsImpl.cpp and nsPrintOptionsMac.cpp. r = kmclusky b=36796
git-svn-id: svn://10.0.0.236/trunk@73088 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 20:21:50 +00:00
attinasi%netscape.com
9a8808a5fa Checkin for dcone: Adding print options object to makefile. b=36796 r=attinasi
git-svn-id: svn://10.0.0.236/trunk@73087 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 20:15:59 +00:00
mkaply%us.ibm.com
fb2b5a0c8b r = pchen, a = pchen
EROFS is not defined in VisualAge so it breaks our Tinderbox


git-svn-id: svn://10.0.0.236/trunk@73086 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 20:13:04 +00:00
mcs%netscape.com
6d63f2fe67 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73085 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 19:42:37 +00:00
endico%mozilla.org
5b205da46a give more verbose error messages
git-svn-id: svn://10.0.0.236/trunk@73084 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 19:41:38 +00:00
cyeh%bluemartini.com
56d7c8e6ac committing to close bug 6682 "Chart all bug states". patches
contributed by mhamby@logicon.com


git-svn-id: svn://10.0.0.236/trunk@73083 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 18:59:48 +00:00
valeski%netscape.com
308822e8ed making urlinfo threadsafe for test harness a=granrose
git-svn-id: svn://10.0.0.236/trunk@73082 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 18:49:07 +00:00
chrisk%netscape.com
04c4ea3f80 Added and corrected some comments
Added $layercounter
Clarified $boundary generation (a boundary has leading AND trailing CRLFs!)


git-svn-id: svn://10.0.0.236/trunk@73081 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 18:37:33 +00:00
cyeh%bluemartini.com
97fb8ee283 checkin to fix Bug 25010 "Need a way to edit the list of available groups".
Patches and work contributed by dave@intrec.com (Dave Miller).
Some cleanup work needs to be done with regards to permissions and bit-twiddling
see other bugs that are dependent on 25010 for details.


git-svn-id: svn://10.0.0.236/trunk@73080 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 18:03:47 +00:00
sdv%sparc.spb.su
c1383224df added note about cvs tag DOM_PR1
git-svn-id: svn://10.0.0.236/trunk@73079 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 17:35:51 +00:00
sdv%sparc.spb.su
4f491022e3 got rid of dependance on java\config\localdefs.mak
git-svn-id: svn://10.0.0.236/trunk@73078 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 17:16:29 +00:00
sdv%sparc.spb.su
75efb3494b fix for bug=41494
removed headers generated by javah
updated makefiles


git-svn-id: svn://10.0.0.236/trunk@73077 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 17:14:11 +00:00
chrisk%netscape.com
2b65c3df83 Preliminary checkin at a state where smime can parse messages generated
by itself.


git-svn-id: svn://10.0.0.236/trunk@73076 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 16:40:31 +00:00
vidur%netscape.com
b674c84709 Allowed complete script access to our components. This is WIP and not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73075 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 15:51:47 +00:00
dcone%netscape.com
4d3af51cc1 Added the IDL file for Vidur.
git-svn-id: svn://10.0.0.236/trunk@73074 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 15:22:38 +00:00
german%netscape.com
4130b46949 Fixing messenger 3-pane splitter in classic skin by updating align='vertical' to orient='vertical'.
git-svn-id: svn://10.0.0.236/trunk@73073 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:51:05 +00:00
jst%netscape.com
23bcfd2e8d Removing references to removed makefiles. r=kin@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73072 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:41:50 +00:00
dcone%netscape.com
1a95dd11e1 Added a new interface file to compile for nsPrintOptions. r=kmmclusky b=36796
git-svn-id: svn://10.0.0.236/trunk@73071 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:41:06 +00:00
dcone%netscape.com
af00864e4f Added a new interface definition for nsIPrintOptons. r=kmmclusky. b=36796
git-svn-id: svn://10.0.0.236/trunk@73070 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:39:58 +00:00
mkaply%us.ibm.com
abfefdd565 #42637
r=mkaply, a=brendan
OS/2 bring up - Menus sometimes not drawing correctly


git-svn-id: svn://10.0.0.236/trunk@73069 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:38:08 +00:00
dcone%netscape.com
57052b8469 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@73068 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:35:57 +00:00
dcone%netscape.com
06b7383369 Added new class definitions for the PrintOptions class. r=kmmclusky b=36796
git-svn-id: svn://10.0.0.236/trunk@73067 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:34:17 +00:00
vidur%netscape.com
0ff74154af Checking in for mccabe, since he had to leave town. Partial fix for bug 41429. Adding a new interface that components can implement to control the capabilities needed for XPConnect access to them - default is UniversalXPConnect. r=vidur
git-svn-id: svn://10.0.0.236/trunk@73066 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:32:38 +00:00
dcone%netscape.com
9ece460fe3 Added class definitions for the PrintOptions class. r=kmmclusky b=36796
git-svn-id: svn://10.0.0.236/trunk@73065 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:32:06 +00:00
dcone%netscape.com
a510a98f69 Added class definitions for PrintOptions. r=kmmclusky b=36796
git-svn-id: svn://10.0.0.236/trunk@73064 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:30:55 +00:00
dcone%netscape.com
1d31530d44 new CID's for the PrintOptions class. r=kmmclusky b=36796
git-svn-id: svn://10.0.0.236/trunk@73063 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:28:54 +00:00
sdv%sparc.spb.su
5b284d85a5 updated patch to webshell, so it works with the
latest version.


git-svn-id: svn://10.0.0.236/trunk@73062 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:14:23 +00:00
jst%netscape.com
18d9bb2095 Fixing nsbeta2+ bug 41953, form element regressions. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73061 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:12:24 +00:00
sdv%sparc.spb.su
7a90f857bc fix for bug=43293
git-svn-id: svn://10.0.0.236/trunk@73060 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 14:09:19 +00:00
neeti%netscape.com
734b991480 fix for bug 43345.browser.cache.enable check, r=warren/gagan
git-svn-id: svn://10.0.0.236/trunk@73059 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 13:42:46 +00:00
neeti%netscape.com
dce6bd2291 fix for bug 39717 - Disk cache directory not being recreated after it's deleted.r=gagan
git-svn-id: svn://10.0.0.236/trunk@73058 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 13:39:44 +00:00
jdunn%netscape.com
b2fb06a133 fix for hp bustage. the last entry in enum can't have a ','
git-svn-id: svn://10.0.0.236/trunk@73057 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 13:21:57 +00:00
rods%netscape.com
26ec507dd2 Better fix for printf spewage.
git-svn-id: svn://10.0.0.236/trunk@73056 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 13:19:50 +00:00
sdv%sparc.spb.su
d4b0a9436d fix for bug=43473
git-svn-id: svn://10.0.0.236/trunk@73055 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 13:17:29 +00:00
locka%iol.ie
182b2fa29c NOT PART OF BUILD. Prototype (and currently non-functional) chrome for embedding apps
git-svn-id: svn://10.0.0.236/trunk@73054 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 10:17:13 +00:00
waterson%netscape.com
0c6159b166 Fix nsAReadableString assertions. r=jst.
git-svn-id: svn://10.0.0.236/trunk@73053 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 08:49:04 +00:00
warren%netscape.com
01f208bc5c Removed DNS_TIMING stuff from release builds. Bug 29534.
git-svn-id: svn://10.0.0.236/trunk@73052 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 08:01:54 +00:00
tajima%eng.sun.com
f1d0769832 XUL based print dialog on UNIX paltform,r=syd
git-svn-id: svn://10.0.0.236/trunk@73051 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 08:00:10 +00:00
mscott%netscape.com
89cbc0175c Bug #38374 --> make sure the temp file we are saving the file to is unqiue by calling make unique.
This call will be replaced by createUnique once that gets checked in. I also need to fix the temp file
name I use as well.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73050 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 06:42:14 +00:00
waterson%netscape.com
6a43f0364b Added MOZ_COUNT_CTOR/DTOR macros for ftp events. r=warren
git-svn-id: svn://10.0.0.236/trunk@73049 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 06:32:48 +00:00
evaughan%netscape.com
911083bad3 Fix for linux horkage.
git-svn-id: svn://10.0.0.236/trunk@73048 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 06:10:33 +00:00
beard%netscape.com
7fb39e02e0 added assertion to ensure that mPC is always valid before fetching the next instruction.
git-svn-id: svn://10.0.0.236/trunk@73047 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 06:10:14 +00:00
ben%netscape.com
86f82b0f06 fix mac bustage
git-svn-id: svn://10.0.0.236/trunk@73046 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 06:09:05 +00:00
vidur%netscape.com
91fa351b69 Getting rid of debug spewage left in by one of the last couple of checkins
git-svn-id: svn://10.0.0.236/trunk@73045 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:51:07 +00:00
saari%netscape.com
107a69004e Fix for nsbeta2+ bug 38673. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@73044 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:37:08 +00:00
saari%netscape.com
f8eecd30b7 updating mac project files for evaughan's checkin
git-svn-id: svn://10.0.0.236/trunk@73043 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:15:23 +00:00
evaughan%netscape.com
a87e4943ba Autoscrolling menus feature landing #32730
-r hyatt, saari


git-svn-id: svn://10.0.0.236/trunk@73042 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:15:04 +00:00
beard%netscape.com
c7d7e1af40 Additional JSClass processing: defining slots, generating methods.
git-svn-id: svn://10.0.0.236/trunk@73041 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:13:04 +00:00
beard%netscape.com
af70f28237 When using a JSScope that has a parent scope, don't bother defining the standard properties, they will be shared.
git-svn-id: svn://10.0.0.236/trunk@73040 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:10:46 +00:00
beard%netscape.com
62d8ad0434 A JSClass is a JSType now, and has a JSScope. Added addSlot, getSlot, getScope.
git-svn-id: svn://10.0.0.236/trunk@73039 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:09:37 +00:00
morse%netscape.com
dd870b875c fix bug 43211, missing text in select-user dialog
git-svn-id: svn://10.0.0.236/trunk@73038 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:59:11 +00:00
ben%netscape.com
dfa14ec130 more classic skin work
git-svn-id: svn://10.0.0.236/trunk@73037 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:57:28 +00:00
mscott%netscape.com
657cc24036 Bug #30157 --> add "network.protocols.useSystemDefaults" preference which is currently FALSE.
if set to TRUE, then link clicks will be dispatched to OS specified default protocol
handlers.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73036 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:49:47 +00:00
ben%netscape.com
78603c1dd7 didn't mean to check in changes to these files just yet...
git-svn-id: svn://10.0.0.236/trunk@73035 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:49:15 +00:00
mscott%netscape.com
17ef196c7c Bug #10802 --> in order to impelement open attachments, I needed to make sure the
stream converter passes out the same channel it is given. This makes the converter
much more transparant in the conversion process.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73034 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:48:29 +00:00
mscott%netscape.com
d79f1f4825 Bug #10802 --> remove special case of message/rfc822 content. we resolve this diffently now in order to make
open attachments work.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73033 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:47:30 +00:00
waterson%netscape.com
b502fc0e74 Fixed refcounting. r=warren
git-svn-id: svn://10.0.0.236/trunk@73032 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:46:58 +00:00
ben%netscape.com
12fc3f3df5 more classic skin work
git-svn-id: svn://10.0.0.236/trunk@73031 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:46:10 +00:00
mscott%netscape.com
c89cf4f0fc Bug #30157 --> add the ability to launch urls using OS default protocol handlers. You must set a pref to
enable this behavior.
r=valeski


git-svn-id: svn://10.0.0.236/trunk@73030 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:44:36 +00:00
mscott%netscape.com
b5e2f56993 Bug #38374, 30157, 10802 --> turn on launching of helper applications to handle content types we don't know how to handle!!
turn on the ability to launch urls using OS default protocol handlers.
uri loader modifications to make open attachment possible.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73029 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:43:28 +00:00
sspitzer%netscape.com
fe883b7d25 get launching of external apps working on the mac.
also, on the mac only, dump the temp file to the desktop.
r=mscott #38374.


git-svn-id: svn://10.0.0.236/trunk@73028 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:43:13 +00:00
dbaron%fas.harvard.edu
9487e204b2 Clean up the deprecated (and never really official) HTML namespace by replacing with the official XHTML namespace. b=7834,42280 r=vidur
git-svn-id: svn://10.0.0.236/trunk@73027 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:41:29 +00:00
waterson%netscape.com
03f3db19c0 Bug 43566. Fix nsPSMComponent leak. r=dougt
git-svn-id: svn://10.0.0.236/trunk@73026 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:10:25 +00:00
beard%netscape.com
64b6987bb7 remove unused file.
git-svn-id: svn://10.0.0.236/trunk@73025 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:10:04 +00:00
mjudge%netscape.com
88b03321ef fix for 42188,42347 r=akkana . use selection controller to tell the doc if it should display non-text-selection.
git-svn-id: svn://10.0.0.236/trunk@73024 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:01:19 +00:00
mjudge%netscape.com
57f0cefd69 fix for 42188, r=akkana 42347. use selection controller to tell the doc if it should display non-text-selection.
git-svn-id: svn://10.0.0.236/trunk@73023 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 04:00:45 +00:00
racham%netscape.com
56efcd2764 enabling biff bug 36011 review=scottip
git-svn-id: svn://10.0.0.236/trunk@73022 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 03:20:35 +00:00
gayatrib%netscape.com
774bf17511 Enabling biff bug 36011 review=scottip
git-svn-id: svn://10.0.0.236/trunk@73021 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 03:19:21 +00:00
gayatrib%netscape.com
658f7a601e Biff Feature bug 36011 review=scottip
git-svn-id: svn://10.0.0.236/trunk@73020 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 03:19:17 +00:00
mscott%netscape.com
889a4c8fd1 Bug #10802 --> in order to implement open attachment i need the mail news channels to implement set owner
and set/get contenttype
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@73019 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 03:11:20 +00:00
rods%netscape.com
6601b1f95f It wasn't call the NavQuirks sizing code when in NavQuirks mode.
Bug 42521,41629 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@73018 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:30:38 +00:00
drapeau%eng.sun.com
ca8d63a49a Two main things:
1) Fix for 23775 (three files changed for this)

2) Many OJI unit tests added.


git-svn-id: svn://10.0.0.236/trunk@73017 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:28:31 +00:00
rods%netscape.com
3031721539 minor fixes for reflow so textfield size correctly
Bug 42521, r=evaughan


git-svn-id: svn://10.0.0.236/trunk@73016 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:28:01 +00:00
beard%netscape.com
4fa1b03210 putting the JSClass* in the current global scope, and looking up superclass rereferences.
git-svn-id: svn://10.0.0.236/trunk@73015 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:22:55 +00:00
waterson%netscape.com
ab0925e6a8 Bug 21650. Add an assertion if the service manager is improperly re-entered. r=dbaron,warren
git-svn-id: svn://10.0.0.236/trunk@73014 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:02:48 +00:00
waterson%netscape.com
bb20e07c08 Bugs 21650, 42586. Remove nsISocketTransportService::LateInit(), move code that gets string bundles to lazily grab the bundle when it's needed. This avoids re-entrancy into the service manager which causes a leak. r=dbaron,warren
git-svn-id: svn://10.0.0.236/trunk@73013 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:02:04 +00:00
vidur%netscape.com
f8b5560630 Added Mac projects and make requirements from peter.vanderbeken@pandora.be. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@73012 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 01:55:42 +00:00
bryner%uiuc.edu
dfdbb96740 Bulletproofing fix for bug 41116. r=saari.
git-svn-id: svn://10.0.0.236/trunk@73011 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 01:54:20 +00:00
varada%netscape.com
b517c67e65 fix for bug#37180 -change nsIFileSpecWithUI to nsIFilePicker; r=scottip
git-svn-id: svn://10.0.0.236/trunk@73010 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 01:38:59 +00:00
sspitzer%netscape.com
0317e3c55d fix for #43548, and possibly #43392.
if internet config tells us the string is of zero length, set the 
out string to null.  r=mscott


git-svn-id: svn://10.0.0.236/trunk@73008 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 01:08:53 +00:00
rusty.lynch%intel.com
048f497f01 fix crasher on read-only filesystem (bug #43512)
-r=dveditz


git-svn-id: svn://10.0.0.236/trunk@73007 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 01:01:39 +00:00
law%netscape.com
f5c930b9a8 Bug 36658; adds urlwidgt dll/xpt to package list for windows
git-svn-id: svn://10.0.0.236/trunk@73006 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:57:23 +00:00
tao%netscape.com
e0f4b4416d Minimum set of langpack files.
git-svn-id: svn://10.0.0.236/trunk@73005 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:53:01 +00:00
saari%netscape.com
0bf1559e41 adding GetRootCommandDispatcher to nsPIDOMWindow for utility.
Needed for beta2+ bug 38673. r=hyatt


git-svn-id: svn://10.0.0.236/trunk@73004 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:42:21 +00:00
law%netscape.com
3ec75d6bd2 Bug 36658; patch submitted by Jesse Burris (JBurris@mmxi.com); adds urlwidget to component list; r=law
git-svn-id: svn://10.0.0.236/trunk@73003 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:36:00 +00:00
law%netscape.com
92fb4d990d Bug 36658; patch submitted by Jesse Burris (JBurris@mmxi.com); r=law
git-svn-id: svn://10.0.0.236/trunk@73002 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:31:24 +00:00
kmcclusk%netscape.com
6e1642ddc9 Nested divs with overflow now correctly position their child divs which have negative translations (patch from Robert O'Callahan) b=41153 r=attinasi@netscape.com tested on WIN32, Linux
git-svn-id: svn://10.0.0.236/trunk@73001 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:27:12 +00:00
jst%netscape.com
52bb73928e Fixing nsbeta2+ bug 33477, completing (more or less) the DOM Level 2 NamedNodeMap implementation, this includes modifying the XML content sink to properly pass attribute prefixes to the content objects. r=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@73000 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:21:32 +00:00
attinasi%netscape.com
37da4e4434 Additional BuildID parsing needed by Bindu. Not part of build.
git-svn-id: svn://10.0.0.236/trunk@72999 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:18:09 +00:00
inaky.gonzalez%intel.com
adbc59c7c4 Bug #39323. Change nsSoftwareUpdate::mMasterListener to be a
dynamically allocated object instead of a member, so we don't have to
do ugly tricks AddRefing it manually not to get it destroyed (and thus
segfaulting). r=waterson,dvedit a=dvedit


git-svn-id: svn://10.0.0.236/trunk@72998 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:14:22 +00:00
endico%mozilla.org
4739b31161 fix subject on confirmation mail
git-svn-id: svn://10.0.0.236/trunk@72997 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:10:34 +00:00
rogerl%netscape.com
4587e4f98f Added support for 'debugger' as a statement. (Rob made me)
git-svn-id: svn://10.0.0.236/trunk@72996 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:08:10 +00:00
sgehani%netscape.com
5e5606e05e Subdir in Linux installer tarball. (nsbeta2+)
[b=39735; r=ssu]


git-svn-id: svn://10.0.0.236/trunk@72995 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:04:24 +00:00
mscott%netscape.com
e6f27ed02d Bug #10802 --> register mime as a message/rfc822 to */* converter.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72994 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 00:00:52 +00:00
attinasi%netscape.com
aaba2428f9 When the PresShell is notified that a styleshet's state has changed, it now notifies the StyleSet so it can rebuild the rule processors. Part of fix for b=38026 that I missed checking in before (r=karnaze)
git-svn-id: svn://10.0.0.236/trunk@72993 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:58:03 +00:00
ftang%netscape.com
34555304c6 fix bug 35076. r=gagan add UCS2toUTF8 conversion before assign UTF8 back to nsString
git-svn-id: svn://10.0.0.236/trunk@72992 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:53:21 +00:00
ducarroz%netscape.com
9efa70383e Fix for bug 41137. Add support for mailing list. R=alecf
git-svn-id: svn://10.0.0.236/trunk@72991 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:47:16 +00:00
waterson%netscape.com
d0a0fc5cc4 Bug 41534. Fix 'style' attribute on XUL elements; use nsXULAtoms instead of hard-coded atoms. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72990 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:29:43 +00:00
dveditz%netscape.com
3a162a7ca2 removing obsolete files
git-svn-id: svn://10.0.0.236/trunk@72989 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:18:56 +00:00
av%netscape.com
c45a57b7cb Addressing 41197, r=serge
git-svn-id: svn://10.0.0.236/trunk@72988 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:17:50 +00:00
dveditz%netscape.com
a204e818a3 removing obsolete files. These are already not part of the build, but people keep editing them as they match patterns in global chrome cleanup sweeps
git-svn-id: svn://10.0.0.236/trunk@72987 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:17:12 +00:00
law%netscape.com
69b71eb39d Fix for 42384; make sure to deallocate using right method; r=bryner
git-svn-id: svn://10.0.0.236/trunk@72986 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:17:03 +00:00
chuang%netscape.com
98ddb5a878 Bug 43134 Dragging scrollbar thumb in the threadPane initiates a drag, fix the address book part. r=putterman
git-svn-id: svn://10.0.0.236/trunk@72985 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:15:08 +00:00
terry%mozilla.org
981fe96b56 TripleDB has been completely rewritten. Now requires Sleepycat Berkeley DB.
git-svn-id: svn://10.0.0.236/trunk@72984 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:11:37 +00:00
alecf%netscape.com
4cca076194 polish for #33101 contributed by
Josh Soref <soref@wam.umd.edu>
thanks timeless!
r=alecf


git-svn-id: svn://10.0.0.236/trunk@72983 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:08:07 +00:00
alecf%netscape.com
9629770f21 update paths to mailWidgets.xml for #33101 r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@72982 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 23:04:14 +00:00
tao%netscape.com
c6136ee1ce 41289: Proivde UI in the Browser (View | International Web Content) to
langpack download page.r=jbetak


git-svn-id: svn://10.0.0.236/trunk@72981 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:59:46 +00:00
rginda%netscape.com
0ffbfef04f -- Chatzilla only --
fix for 42947 and 43414 and an unreported regression with the view buttons


git-svn-id: svn://10.0.0.236/trunk@72980 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:57:09 +00:00
alecf%netscape.com
3020a9f247 oops, back out a debugging statement (doesn't affect release build)
git-svn-id: svn://10.0.0.236/trunk@72979 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:53:06 +00:00
alecf%netscape.com
83983a7bb3 pre-select the search folder when brought up from the 3-pane UI, for #33101
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72978 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:52:05 +00:00
av%netscape.com
ec53ea8c95 Part of 23667 fix, r=sean@beatnik.com
git-svn-id: svn://10.0.0.236/trunk@72977 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:51:36 +00:00
dbaron%fas.harvard.edu
38aa3f85f2 Fix leak of a string. r=waterson
git-svn-id: svn://10.0.0.236/trunk@72976 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:51:05 +00:00
morse%netscape.com
b44d6f0356 bug 43451, crash bringing up image viewer
git-svn-id: svn://10.0.0.236/trunk@72975 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:50:19 +00:00
dbaron%fas.harvard.edu
16f95fc441 Fix leak of an atom. r=waterson
git-svn-id: svn://10.0.0.236/trunk@72974 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:49:44 +00:00
dbaron%fas.harvard.edu
e01c1a7a60 Fix leak of nsInputDimensionSpec. r=waterson
git-svn-id: svn://10.0.0.236/trunk@72973 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:49:02 +00:00
alecf%netscape.com
3ea36ac882 move mailWidgets.xml into content - remove from skin
for #33101 r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72972 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:42:25 +00:00
alecf%netscape.com
d98c5ed0b7 move mailWidgets.xml out of skin and into content
(per security requirements) so search (#33101) will keep working


git-svn-id: svn://10.0.0.236/trunk@72971 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:38:24 +00:00
mscott%netscape.com
eca3622e2e 10802 --> implement open attachment
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@72970 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:37:22 +00:00
mscott%netscape.com
a3054b7102 Bug #10802 --> implement open attachment
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@72969 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:36:41 +00:00
av%netscape.com
f81e62f45e Part of 23667 fix, r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72968 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:36:37 +00:00
mscott%netscape.com
b5764b3e7d Bug #10802 --> add new interface for fetch mime part
which is only implemented by imap currently...this helps
free up the OpenAttachment name space that this method was
hogging before =).
modify the signature of open attachment to match my needs
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@72967 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:36:06 +00:00
ddrinan%netscape.com
02fa74a0b6 Changed version to 1.2
git-svn-id: svn://10.0.0.236/trunk@72966 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:21:16 +00:00
morse%netscape.com
c507956149 undo change that caused clipping in cookie pref panel
git-svn-id: svn://10.0.0.236/trunk@72965 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:20:11 +00:00
morse%netscape.com
66635ad512 undo change that caused clipping in wallet pref panel
git-svn-id: svn://10.0.0.236/trunk@72964 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:19:36 +00:00
morse%netscape.com
9f16c3ff39 bug 42774, changed security wording, coded=verah, r=morse
git-svn-id: svn://10.0.0.236/trunk@72963 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:17:48 +00:00
sspitzer%netscape.com
e631459f52 work for bug #38374 helperApps.rdf is now mimeTypes.rdf. use the file locator to get the mimeTypes file. fix the unix implementation of nsOSHelperAppService.cpp to go to the base class to determine what application to launch. r=mscott
git-svn-id: svn://10.0.0.236/trunk@72962 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:17:25 +00:00
morse%netscape.com
20528a066d bug 43452, can't get to cookie viewer from prefs panel, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72961 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:16:55 +00:00
mscott%netscape.com
def6033604 Bug #10802 --> add open attachment action type
r=bienvenu


git-svn-id: svn://10.0.0.236/trunk@72960 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:16:07 +00:00
morse%netscape.com
75c3a6876c bug 43201, columns not aligned, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72959 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:15:38 +00:00
sspitzer%netscape.com
d2c8b6c51c work for bug #38374
helperApps.rdf is now mimeTypes.rdf.
use the file locator to get the mimeTypes file.
fix the unix implementation of nsOSHelperAppService.cpp
to go to the base class to determine what application to launch.

r=mscott


git-svn-id: svn://10.0.0.236/trunk@72958 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:14:53 +00:00
mkaply%us.ibm.com
ac7a4c5ce3 #40177
r=cls, a=brendan
OS/2 bring up - need IMPORT_LIBS on OS/2


git-svn-id: svn://10.0.0.236/trunk@72957 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:11:45 +00:00
mkaply%us.ibm.com
2871a99309 #40177
r=cls, a=brendan
OS/2 bring up - copy dirent.h and getopt.h to the dist for VisualAge build


git-svn-id: svn://10.0.0.236/trunk@72956 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:10:43 +00:00
nhotta%netscape.com
67f0a6be64 Changed "force_ascii_search" to false as default, bug 5933, r=bienvenu,taka.
git-svn-id: svn://10.0.0.236/trunk@72955 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:07:32 +00:00
nhotta%netscape.com
74d2221f3b Hooked up charset converter and fixed a couple of bugs
(fixed charset passing to EncodeImap, GetImapCharsetParam to generate "CHARSET" param), bug 5933,r=bienvenu,taka.


git-svn-id: svn://10.0.0.236/trunk@72954 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:07:01 +00:00
ducarroz%netscape.com
e0d586af5d Fix for bug 43365. Avoid to divide by 0 when the tree doesn't have any row. R=hyatt
git-svn-id: svn://10.0.0.236/trunk@72953 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:06:38 +00:00
mscott%netscape.com
9ff01af610 Bug #10802 --> properly report the content type especially in the case of
attachments instead of always reporting "raw"
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72952 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:04:13 +00:00
attinasi%netscape.com
a33c356794 Daily run added for 6-20. Not part of build
git-svn-id: svn://10.0.0.236/trunk@72951 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:03:24 +00:00
andreas.otte%primus-online.de
ffab53289f small performance patch for SetDirectory from jst@netscape.com, r/a=gagan@netscape.com, a=waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@72950 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 22:02:47 +00:00
bryner%uiuc.edu
a660cd8052 Fix bug 43494 - client.mk should stop if you had checkout
conflicts.  r=alecf.


git-svn-id: svn://10.0.0.236/trunk@72949 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 21:56:41 +00:00
vidur%netscape.com
dc8257a1fa Added Unix makefiles and incorporated Andreas Otte's changes for building on Linux. This is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@72948 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 21:41:37 +00:00
javi%netscape.com
0d6134438a Update SSMVersionString value.
git-svn-id: svn://10.0.0.236/trunk@72947 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 21:05:42 +00:00
cotter%netscape.com
aa6d326b2b Minor correction to View Certificate Details section.
git-svn-id: svn://10.0.0.236/trunk@72945 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 20:36:11 +00:00
endico%mozilla.org
3b54fdbe7c send error messages as mail to appropriate parties instead of to stdout
git-svn-id: svn://10.0.0.236/trunk@72944 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 20:00:14 +00:00
larryh%netscape.com
c67cc20fa5 BugZilla: 39942. PR_SetError() calls free()
git-svn-id: svn://10.0.0.236/trunk@72943 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 19:46:28 +00:00
hyatt%netscape.com
78554c2d8f Remove error-checking for bad XUL.
git-svn-id: svn://10.0.0.236/trunk@72942 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 19:34:29 +00:00
alecf%netscape.com
f39732b7d3 fix for assertions - toolbarseparator->separator
a=granrose


git-svn-id: svn://10.0.0.236/trunk@72941 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 18:44:14 +00:00
alecf%netscape.com
cdec49d0cd fix for #43469 - trouble creating a POP account
r=putterman
a=granrose


git-svn-id: svn://10.0.0.236/trunk@72940 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 18:33:42 +00:00
vidur%netscape.com
bd78ce0927 Updated to the new version of nsIPrivateDOMImplementation. We now get a base URL for our own URL resolution from the subject codebase principal. This checkin is for code that is not part of the Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@72939 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 18:06:49 +00:00
javi%netscape.com
9d491e66f5 We need ssm_swap_bytes defined regardless of whether we're building on a
little endian machine.


git-svn-id: svn://10.0.0.236/trunk@72938 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 17:36:34 +00:00
bienvenu%netscape.com
43a9218387 try to fix build bustage on solaris
git-svn-id: svn://10.0.0.236/trunk@72936 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 14:37:17 +00:00
mkaply%us.ibm.com
2eaaa6d201 # 42637
r = mscott, a = brendan
OS/2 bring-up  - Used false instead of PR_FALSE


git-svn-id: svn://10.0.0.236/trunk@72935 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 14:25:27 +00:00
locka%iol.ie
165bf158bf Fix for incorrect cache checking. Checking in for Tomi.Leppikangas@oulu.fi
b=42505,r=adamlock


git-svn-id: svn://10.0.0.236/trunk@72934 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 14:18:03 +00:00
morse%netscape.com
c9469d0634 remove <div>, change suggested by hyatt, r=morse
git-svn-id: svn://10.0.0.236/trunk@72933 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 14:17:01 +00:00
mkaply%us.ibm.com
a5a6cc46e2 #42637
r=mkaply, a=brendan
OS/2 bring up - Make menus disappear when frame is clicked on


git-svn-id: svn://10.0.0.236/trunk@72932 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 14:00:16 +00:00
mkaply%us.ibm.com
186f173413 #42637
r=mkaply, a=brendan
OS/2 bring up - Make submenus appear


git-svn-id: svn://10.0.0.236/trunk@72931 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 13:59:05 +00:00
jefft%netscape.com
92cc0229f1 fixed bug 18293 - My ISP complains about not receiving a HELO command first; r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@72930 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 13:56:07 +00:00
bienvenu%netscape.com
70517dd15d fix build warning 14653
git-svn-id: svn://10.0.0.236/trunk@72929 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 13:55:44 +00:00
dcone%netscape.com
1ac6576e79 added a new file to the make for the print options. Effects windows only. r=KMcCluskey b=36976
git-svn-id: svn://10.0.0.236/trunk@72928 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 13:39:09 +00:00
dcone%netscape.com
26f1085525 Added an IDL file to the make. Effects Windows build only. r=KMcCluskey b=36796
git-svn-id: svn://10.0.0.236/trunk@72927 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 13:36:45 +00:00
jst%netscape.com
cc6b0ad6cd Fixing linux build bustage introduced by rich.burridge@sun.com. r=andreas.otte@primus-online.de
git-svn-id: svn://10.0.0.236/trunk@72926 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 12:29:14 +00:00
leaf%mozilla.org
6ec92428cb Automated update
git-svn-id: svn://10.0.0.236/trunk@72925 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 11:00:11 +00:00
rich.burridge%sun.com
1c219936b0 Fix to allow Mozilla to build/run on the Solaris Intel platform with
Sun native compilers (SC 5.0 and Workshop 6 aka Forte). The two
xptc...uniish_x86.cpp files are forced to be compiled optimised to
generate the correct assembly code.
r=mccabe@netscape.com a=brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@72924 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 10:58:06 +00:00
cls%seawood.org
4ad72b621b *sigh*. VPATH is seeing the old .o in unix for the non-objdir builds that recently ran so we need to remove it.
git-svn-id: svn://10.0.0.236/trunk@72923 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 09:23:09 +00:00
mscott%netscape.com
0f0df2f5bc maybe this wasn't the breakage...I was just backing out the makefile too quickly. linux went greeen
before this change went in the build.


git-svn-id: svn://10.0.0.236/trunk@72922 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:53:11 +00:00
mscott%netscape.com
cd1188e9a4 backing out dauphin's fix for my objdir breakage as it seems to break non-objdir linux builds.
git-svn-id: svn://10.0.0.236/trunk@72921 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:46:18 +00:00
ben%netscape.com
754a08046f fix call palcement, suggested by jag on IRC, r=me
git-svn-id: svn://10.0.0.236/trunk@72920 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:43:41 +00:00
pinkerton%netscape.com
0017dac901 fix leaked timer, bug 28226, r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@72919 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:42:18 +00:00
pinkerton%netscape.com
d3b1d2fab8 Adding drag auto-scrolling to trees. bug 28226, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72918 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:41:49 +00:00
pinkerton%netscape.com
e28bd7bc82 Adding drag auto-scrolling to trees, bug#28226, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72917 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:41:16 +00:00
pinkerton%netscape.com
c68de33028 Add drag auto-scrolling to trees. bug#28226, r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@72916 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:40:37 +00:00
cls%seawood.org
b5963d1ade Prepend additional paths to LD_LIBRARY_PATH rather than overriding it.
Pass ConfigureEnvArgs to make.


git-svn-id: svn://10.0.0.236/trunk@72915 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 08:14:54 +00:00
cls%seawood.org
4adca1d390 Fixed objdir bustage. r=bryner
git-svn-id: svn://10.0.0.236/trunk@72914 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 07:52:35 +00:00
ben%netscape.com
de5b7895b3 fix assert on startup
git-svn-id: svn://10.0.0.236/trunk@72913 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 07:43:40 +00:00
Peter.VanderBeken%pandora.be
8fe9d99bb1 Use StringList (instead of hashmap) for namespace URIs. Not part of build yet. a=leaf.
git-svn-id: svn://10.0.0.236/trunk@72912 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 07:30:07 +00:00
Peter.VanderBeken%pandora.be
2faa5c64d3 Fix UNICODE_CHAR bustage. Not part of build yet. a=leaf.
git-svn-id: svn://10.0.0.236/trunk@72911 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 07:29:20 +00:00
Peter.VanderBeken%pandora.be
af1ffa59d8 Remove include workaround. Not part of build yet. a=leaf.
git-svn-id: svn://10.0.0.236/trunk@72910 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 07:27:54 +00:00
mscott%netscape.com
c7232c80dc Bug #10802 --> expose load types to load info class so callers can set the load type
this is needed to implement things like open attachment so we can make the doc shell
think a user click happened when it talks to the uriloader.

I removed two boolean fields which were representing two load types. Simplified the api by allowing you
to pass in any of our load types.
r=valeski


git-svn-id: svn://10.0.0.236/trunk@72909 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 07:22:23 +00:00
mscott%netscape.com
374400d4d9 Bug #38374 --> we were throwing an assertion in correctly because we couldn't create a content viewer. This is
actually an okay case, we'll later try to fire a helper app in this condition. No need to assert.

r=valeski


git-svn-id: svn://10.0.0.236/trunk@72908 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:55:10 +00:00
ben%netscape.com
8f13170c10 classic skin work
git-svn-id: svn://10.0.0.236/trunk@72907 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:49:43 +00:00
morse%netscape.com
6c6c5ea322 fix bugs 42298 and 42299, wallet broken on mac, r=rjc
git-svn-id: svn://10.0.0.236/trunk@72906 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:47:34 +00:00
mscott%netscape.com
f3b76591bd add new files to mac project
git-svn-id: svn://10.0.0.236/trunk@72905 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:39:49 +00:00
mscott%netscape.com
09fc8199e6 add new files to idl project.
git-svn-id: svn://10.0.0.236/trunk@72904 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:39:33 +00:00
mscott%netscape.com
8778a786e8 export the idl files for exthandler
git-svn-id: svn://10.0.0.236/trunk@72903 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:38:45 +00:00
morse%netscape.com
1b667ee1ea update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@72902 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:31:58 +00:00
mscott%netscape.com
20c904f160 Start linking with exthandler static lib.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72901 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:26:05 +00:00
mscott%netscape.com
0fef56a4c7 Throw the switch and start building exthandler on unix. Not actually called by anything yet.
Bug #38374 and #30157
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72900 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:25:45 +00:00
mscott%netscape.com
29f9399b0a Add nsHelperAppRDF.h to the build.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72899 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:24:50 +00:00
mscott%netscape.com
beb4dfc2a4 Throw the switch and start building the exthandler directory on windows. None of this code being called yet.
this if for Bug #38374 and #30157 (launch external applications and launch using default protocol handlers)
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72898 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:24:01 +00:00
alecf%netscape.com
ee07919d75 fix for 43134 r=putterman
git-svn-id: svn://10.0.0.236/trunk@72897 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:20:14 +00:00
mscott%netscape.com
ffe8c6543d not part of the build!!!
fixes to get this buildling on the mac


git-svn-id: svn://10.0.0.236/trunk@72896 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:04:23 +00:00
mscott%netscape.com
970ba5efdb not part of the build!!!
fixes to get this building on the mac.


git-svn-id: svn://10.0.0.236/trunk@72895 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:04:06 +00:00
ben%netscape.com
b4d8067d91 fix prefwindow js errors
git-svn-id: svn://10.0.0.236/trunk@72894 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:03:09 +00:00
ben%netscape.com
6b36362463 fix prefwindow js errors, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72893 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 06:03:02 +00:00
pierre%netscape.com
27b7750cd1 #31136 (Rename prefs from "browser.xxx" to "browser.display.xxx"). Final and trivial touch to the larger fix from mcafee.
git-svn-id: svn://10.0.0.236/trunk@72892 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:41:11 +00:00
cmanske%netscape.com
290fb40fb7 Implement switching betweeen TH and TD elements for table editing. b=20973, r=jfrancis, akkana
git-svn-id: svn://10.0.0.236/trunk@72891 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:39:54 +00:00
pierre%netscape.com
f74c146d92 #12403 "border-style: hidden should force border-width: 0". Fixed RecalcData() to handle 'hidden' similarly to 'none'. r=attinasi.
git-svn-id: svn://10.0.0.236/trunk@72890 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:38:26 +00:00
rpotts%netscape.com
d40c34e0a8 DocShell cleanup. Removed the implementation of the unused nsIDocSHell::SetDocument() method and moved the implementation responsibility to the nsIContentViewer
git-svn-id: svn://10.0.0.236/trunk@72889 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:38:07 +00:00
radha%netscape.com
228d30b9de More code for feature bug 36547. CODE NOT PART OF TEH BUILD. reviewer will be provided when the feature is enabled.
git-svn-id: svn://10.0.0.236/trunk@72888 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:36:13 +00:00
pierre%netscape.com
5f1fee244c #42325 "Won't show page on www.teamtalk.com". Fix the parsing of ROWS="*%" in FRAMESETs. r=pollmann.
git-svn-id: svn://10.0.0.236/trunk@72887 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:32:56 +00:00
pierre%netscape.com
59320e5d39 #42029 "Dynamic use of the clip property is causing repaint problems". Make the clip area coordinates conform to the latest spec. r=attinasi.
git-svn-id: svn://10.0.0.236/trunk@72886 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:28:36 +00:00
cmanske%netscape.com
301d82ee01 Checkin for sfraser: Fix document-load listener to work when loading URL into an existing Composer window. b=41584, r=cmanske
git-svn-id: svn://10.0.0.236/trunk@72885 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:24:42 +00:00
attinasi%netscape.com
b50c868ad4 Eliminated warnings from recent checkin (trivial changes).
git-svn-id: svn://10.0.0.236/trunk@72884 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:14:32 +00:00
mscott%netscape.com
b51a2c172a Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

oops i reall don't want this file...take it back.


git-svn-id: svn://10.0.0.236/trunk@72883 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 05:06:02 +00:00
mscott%netscape.com
abe4af79de Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

add manifest file for the mac


git-svn-id: svn://10.0.0.236/trunk@72882 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:59:45 +00:00
cmanske%netscape.com
c17dd40810 Checking for brade: Use PreventDefault instead of returning NS_ERROR_BASE to stop event processing in mouse listners. b=42510, r=cmanske
git-svn-id: svn://10.0.0.236/trunk@72881 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:54:55 +00:00
mscott%netscape.com
baac52dea7 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

More mac file updates.


git-svn-id: svn://10.0.0.236/trunk@72880 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:41:36 +00:00
mcafee%netscape.com
d5a767b7c7 Ignore generated files.
git-svn-id: svn://10.0.0.236/trunk@72879 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:26:39 +00:00
rhp%netscape.com
dd0ef651da Adding COOL Auth to ABSync - Bug #: 43022 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@72878 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:21:43 +00:00
mcafee%netscape.com
710e85fe09 Contributed by Ken Estes <kestes@staff.mail.com>. Not part of normal mozilla build.
git-svn-id: svn://10.0.0.236/trunk@72877 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:17:19 +00:00
ben%netscape.com
9149f0da73 appearance fixes for browser main window (classic skin), expands upon german/hangas' earlier work.
git-svn-id: svn://10.0.0.236/trunk@72876 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 04:03:35 +00:00
tao%netscape.com
b65e8650fd 41054: Bundle 2-3 language packs with Seamonkey.r=jbetak.
git-svn-id: svn://10.0.0.236/trunk@72875 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 03:38:12 +00:00
tao%netscape.com
b52dc9675c 41054: Bundle 2-3 language packs with Seamonkey. r=jbetak.
git-svn-id: svn://10.0.0.236/trunk@72874 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 03:36:02 +00:00
mscott%netscape.com
351bcb91e4 Bug #10802 --> for open attachment, the mime converter needs to remember the
content type of the part is about to output.
r=rhp


git-svn-id: svn://10.0.0.236/trunk@72873 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 03:25:22 +00:00
cmanske%netscape.com
5b42cf3b3e Changes to <tree> usage for lists to conform to new XUL requiring <treecolgroup>. b=30511, r=bryner. Table editing xul/js work for bug 20973, r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@72872 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 03:13:08 +00:00
cmanske%netscape.com
f84202a2dd Simple comment change for clarity relating to table editing. b=20973, r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@72871 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 03:09:19 +00:00
tao%netscape.com
8912b6beee Use MOZ_LANGPACKS to control whether to build subdirs.
git-svn-id: svn://10.0.0.236/trunk@72870 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 02:52:03 +00:00
pollmann%netscape.com
5979bfb8c3 Bug 41585: Don't chop of query string when POSTing forms, only when GETting them r=harishd
git-svn-id: svn://10.0.0.236/trunk@72869 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 02:49:01 +00:00
pollmann%netscape.com
abe0bd1dd3 Bug 23571: Send an onchange event when a checkbox is (un)checked r=harishd
git-svn-id: svn://10.0.0.236/trunk@72868 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 02:46:53 +00:00
mcafee%netscape.com
4ab84e10d6 Adding PSM menu item to debug menu, localizing Composer test page menu (31521). r=matt, cmanske
git-svn-id: svn://10.0.0.236/trunk@72867 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:56:43 +00:00
bryner%uiuc.edu
4d12825f17 Fixing bug 15555. r=danm.
git-svn-id: svn://10.0.0.236/trunk@72866 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:39:40 +00:00
ben%netscape.com
1a32d9adc2 [classic skin] file organisation tango (share securityOverlay betw. platforms, fix classic skin startup failure by telling css file to get icons from right place)
git-svn-id: svn://10.0.0.236/trunk@72865 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:34:06 +00:00
javi%netscape.com
cf33ce111f Fix unicode conversion for win32 so that p12 export/import works again.
git-svn-id: svn://10.0.0.236/trunk@72864 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:28:03 +00:00
alecf%netscape.com
259f5d07b7 fix for #38027 - temporarily workaround broken html:selects by using a menulist and a hidden input
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72863 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:20:25 +00:00
cmanske%netscape.com
53059d96ce Fixed xul to use new treecolgroup in Composer main window b=30511 (by bryner, r=cmanske). Removed textfield in colorpicker - doesn't work, crashes in Linux b=41619, r=akkana
git-svn-id: svn://10.0.0.236/trunk@72862 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:13:28 +00:00
hyatt%netscape.com
b4bfe37959 Same bug as prev. checkin
git-svn-id: svn://10.0.0.236/trunk@72861 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 01:02:11 +00:00
shanjian%netscape.com
cb25c83080 Back out my previous change because the test failed on Linux.
Need to find out what's happening.


git-svn-id: svn://10.0.0.236/trunk@72860 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:54:43 +00:00
cls%seawood.org
8c810432fd Initial version. Bug #43357
git-svn-id: svn://10.0.0.236/trunk@72859 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:52:57 +00:00
evaughan%netscape.com
4445f1d95b Fix for dogfood bug #43206
git-svn-id: svn://10.0.0.236/trunk@72858 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:48:49 +00:00
danm%netscape.com
2972eb8e6e tracking change of name of window.content to _content. (bug 33650) r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72857 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:48:45 +00:00
hangas%netscape.com
e68d6e8c82 Fixing toolbar appearance on Classic Skin Mac, Win, Linux. Bug 41272. Written by German r=hangas
git-svn-id: svn://10.0.0.236/trunk@72856 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:48:41 +00:00
danm%netscape.com
0d626426f0 changing name of window.content to _content. bug 33650. r=hyatt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72855 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:42:34 +00:00
larryh%netscape.com
288570b7b7 BugZilla: 43337. PR_GetPeerName() asserts on NT
git-svn-id: svn://10.0.0.236/trunk@72854 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:42:05 +00:00
anthonyd%netscape.com
4abc5bba4f bug fix for #40742
crasher in DrillDownToEndOfLine()
r:mjudge a:beppe precheckin test done


git-svn-id: svn://10.0.0.236/trunk@72853 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:41:42 +00:00
attinasi%netscape.com
8bfb7bdd72 Reversed the order of testing for link-elements so that the most common (anchors) are tested first. Update to earlier checkin.
git-svn-id: svn://10.0.0.236/trunk@72852 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:41:25 +00:00
cata%netscape.com
20be06a0d4 Turning on charset override by default. r=nhotta a=ftang bug #41620.
git-svn-id: svn://10.0.0.236/trunk@72851 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:41:02 +00:00
bryner%uiuc.edu
cd180f189c First part of fix for 42345. Also fixes 42035. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@72850 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:39:49 +00:00
hyatt%netscape.com
b4f657bd5d XBL groundwork for 41145. r=ben
git-svn-id: svn://10.0.0.236/trunk@72849 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:36:19 +00:00
mcafee%netscape.com
14f60387b7 History was loading tasksOverlay.xul from the wrong place. (43043) r=akkana,jrgm
git-svn-id: svn://10.0.0.236/trunk@72848 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-22 00:07:42 +00:00
vidur%netscape.com
d9c3fc48fb Fix for bug 42278. Thought I'd got it with my prior checkin, but didn't notice rbs@maths.uq.edu.au's prior checkin to switch the namespace string literals. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72847 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:59:21 +00:00
beard%netscape.com
b2ad6db1a4 JSClass support.
git-svn-id: svn://10.0.0.236/trunk@72846 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:58:17 +00:00
beard%netscape.com
36c74a5208 initial checkin, starting on a representation for JS2 classes.
git-svn-id: svn://10.0.0.236/trunk@72845 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:57:09 +00:00
vidur%netscape.com
756dc76c80 Fix for bug 38349. Implemented nsIDOMNode::CloneNode() and ImportNode() for XML and HTML documents as part of finishing out our DOM1 and DOM2 implementations. Cleanup of DOMImplementation::createDocument. r=jst
git-svn-id: svn://10.0.0.236/trunk@72844 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:56:52 +00:00
attinasi%netscape.com
7eb58b89d3 Fixed bug 6306: AREA and LINK elements are now treated like links when it comes to matching selectors. Cleaned up SelectorMatches as well by moving link-logic into new method. r=kmcclusk@netscape.com b=6306
git-svn-id: svn://10.0.0.236/trunk@72842 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:48:21 +00:00
shanjian%netscape.com
77c22fe3b4 #40734 URL wrap
r = ftang
do the line breaking using western rule (dominant space). If a CJK
char is found, back to 4051.


git-svn-id: svn://10.0.0.236/trunk@72841 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:33:50 +00:00
ddrinan%netscape.com
112cd9a345 Add new attribute id to socket status resource. Bug #39680
git-svn-id: svn://10.0.0.236/trunk@72840 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:31:28 +00:00
ddrinan%netscape.com
447ae6670e Checked in fix for bug# 39680
git-svn-id: svn://10.0.0.236/trunk@72839 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:26:53 +00:00
nhotta%netscape.com
ba83736aa1 Changed to apply UTF-8 to UCS2 conversion before assigning the string to nsString, bug 42873, r=cata.
git-svn-id: svn://10.0.0.236/trunk@72838 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:26:36 +00:00
gagan%netscape.com
274afa85cf Part fix for bug 35956. HTTP now has an API to turn off automatic gunziping. r=rjc
git-svn-id: svn://10.0.0.236/trunk@72836 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:18:12 +00:00
varada%netscape.com
fc227477f9 fix for bug #20183;warn before deleting addressbook r=mscott
git-svn-id: svn://10.0.0.236/trunk@72835 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:15:54 +00:00
shanjian%netscape.com
cb49b8d942 #40734 URL wrap
r = ftang
'<' and '>' should be treated as open and close quote, because
they are often used that way.


git-svn-id: svn://10.0.0.236/trunk@72833 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:07:34 +00:00
wtc%netscape.com
0fec63268c bug #42100, Carbon compatibility. r=gordon, saari, pinkerton, sfraser
git-svn-id: svn://10.0.0.236/trunk@72832 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:05:27 +00:00
shanjian%netscape.com
4cb5796071 #40734 URLs wrap
r = ftang
'<' and '>' should be treated as open and close quote, because they are
often used that way.


git-svn-id: svn://10.0.0.236/trunk@72831 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:04:25 +00:00
shanjian%netscape.com
6ba48000f9 #40463 Cannot type anything in Composer at selecting Auto-Detect menus
After a new charset dectector is selected, url should be reloaded.
r=sfraser


git-svn-id: svn://10.0.0.236/trunk@72830 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:59:59 +00:00
av%netscape.com
56e5653a55 Addressing #23667 patch by sean@beatnik.com, r=av, a=brendan
git-svn-id: svn://10.0.0.236/trunk@72829 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:57:17 +00:00
wtc%netscape.com
d0d24a7d8c Checked in IPv6 patch for OpenVMS from Colin Blake <colin@theblakes.com>.
git-svn-id: svn://10.0.0.236/trunk@72828 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:51:45 +00:00
ducarroz%netscape.com
fc14561611 Fix for bug 43222
git-svn-id: svn://10.0.0.236/trunk@72827 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:46:03 +00:00
leaf%mozilla.org
31353b21fa added mozilla/tools/elf-dynstr-gc to SeaMonkeyCore for smaller elf binaries
git-svn-id: svn://10.0.0.236/trunk@72826 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:42:31 +00:00
andreas.otte%primus-online.de
a481b30ea1 fix bug 42342, [regression} Text before ':' in URL is interpreted as protocol, r=Adam Lock, Scott Collins, a=Chris Waterson
git-svn-id: svn://10.0.0.236/trunk@72825 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:36:50 +00:00
rogerl%netscape.com
c263fddb6c Work to support 'this'.
git-svn-id: svn://10.0.0.236/trunk@72823 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:32:21 +00:00
dcone%netscape.com
df06ab5472 New interface definition for printer options. a=KMcCluskey
git-svn-id: svn://10.0.0.236/trunk@72821 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:21:34 +00:00
bryner%uiuc.edu
0c97e4d4cb Moving persistence-related methods from nsIXULWindow to
nsIWebBrowserChrome as a basis for fixing bug 15555.  r=valeski.


git-svn-id: svn://10.0.0.236/trunk@72820 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:05:28 +00:00
sspitzer%netscape.com
2e200ba0fb fix for #42216. don't migrate the remember password pref for a server.
git-svn-id: svn://10.0.0.236/trunk@72819 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:03:03 +00:00
alecf%netscape.com
343cfc160f fix for #42330 contributed by gemal@gemal.dk
r=alecf
a=waterson


git-svn-id: svn://10.0.0.236/trunk@72818 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:41:28 +00:00
alecf%netscape.com
3c73f4ee7c fix for #42346 contributed by gemal@gemal.dk
a=waterson
r=alecf


git-svn-id: svn://10.0.0.236/trunk@72817 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:39:43 +00:00
radha%netscape.com
02769e6ea5 Fix for bug # 41555 r=pollmann. Update SH with form values on reload too.
A fallout from one of the earlier checkins. THis should also fix another
bug pollmann has.


git-svn-id: svn://10.0.0.236/trunk@72816 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:33:17 +00:00
robinf%netscape.com
16b188fc34 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@72815 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:17:44 +00:00
alecf%netscape.com
3e155e7b77 hook up nsIMsgWindow and status feedback to search #33101
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72814 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:15:55 +00:00
robinf%netscape.com
1cf864a66e *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@72813 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:12:02 +00:00
ducarroz%netscape.com
911c02c5ee Fix for bug 31693. Disable UI element when a Send/Save is in process. R=putterman
git-svn-id: svn://10.0.0.236/trunk@72812 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:11:53 +00:00
alecf%netscape.com
6f73f586b5 move mail status bar into a common overlay so that it can be used elsewhere like search (#33101)
r=putterman


git-svn-id: svn://10.0.0.236/trunk@72811 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:11:34 +00:00
blizzard%redhat.com
df1e752a39 string library vs. gcc 2.7.2. Round 3. Fight!
git-svn-id: svn://10.0.0.236/trunk@72810 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:09:54 +00:00
wtc%netscape.com
d0c72e3f1e Removed unused makefile variable DSO_LDFLAGS.
Modified files: FreeBSD.mk, HP-UX.mk, Linux.mk, NEWS-OS.mk, NetBSD.mk,
OpenBSD.mk


git-svn-id: svn://10.0.0.236/trunk@72809 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:07:10 +00:00
dougt%netscape.com
641e13e99c removing lame asserts so you can see it work.
NOT PART OF BUILD - test app work


git-svn-id: svn://10.0.0.236/trunk@72808 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 21:05:39 +00:00
harishd%netscape.com
0afaf65820 Fix bugs
18480 (nsbeta2+) - Hack to contain stack over flow
patch=jst, r=harishd.

40216 (nsbeta2+) - Shouldn't deal with mInsideNoXXXTag memeber for NOLAYER ( ON  by default ).
patch=rginda, r=harishd.


git-svn-id: svn://10.0.0.236/trunk@72807 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:53:10 +00:00
ddrinan%netscape.com
0d3c2e325b Some bug fixes
git-svn-id: svn://10.0.0.236/trunk@72806 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:52:33 +00:00
harishd%netscape.com
5288903c8f Fix bug
40713 ( nsbeta2+ ) - Style should leak out of TABLE.

r=dbaron@fas.harvard.edu


git-svn-id: svn://10.0.0.236/trunk@72804 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:50:00 +00:00
attinasi%netscape.com
84978456a9 Implemented Style Context Data sharing, reducing the amount of memory used in style by about 40%. Performance will degrade by about 10%, that is being worked on now. b=39618 r=waterson
git-svn-id: svn://10.0.0.236/trunk@72803 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:44:59 +00:00
ddrinan%netscape.com
739d6e076c Must convert unicode to/from NBO/HBO on little endian systems
git-svn-id: svn://10.0.0.236/trunk@72802 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:43:30 +00:00
mscott%netscape.com
b07d95d06c Bug #38374 --> fix refcounting problem on the application field
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72801 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:38:52 +00:00
blizzard%redhat.com
3c719298b1 try to fix solaris
git-svn-id: svn://10.0.0.236/trunk@72800 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 20:22:55 +00:00
javi%netscape.com
134fb8be7d Give these files a license.
git-svn-id: svn://10.0.0.236/trunk@72798 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:38:03 +00:00
morse%netscape.com
6e18a41b73 fix bug 43227 error in mac menu, r=dbragg
git-svn-id: svn://10.0.0.236/trunk@72797 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:36:33 +00:00
morse%netscape.com
96e56036bb fix bugs 43235,43241,42415, polish wallet editor, r=dbragg
git-svn-id: svn://10.0.0.236/trunk@72796 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:34:55 +00:00
blizzard%redhat.com
cb71cab2ab fix backwards check in GtkMozEmbedChrome::FindNamedBrowserItem as pointed out by Steven Work <steve@renlabs.com> r,a=brendan,waterson
git-svn-id: svn://10.0.0.236/trunk@72795 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:26:38 +00:00
chuang%netscape.com
74471ccdf1 Bug 32286 Exception Feature - Edit mailing list in address book, r=putterman
git-svn-id: svn://10.0.0.236/trunk@72794 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:25:45 +00:00
granrose%netscape.com
fb08825cd1 changing milestone from M16 to M17 in user agent string.
git-svn-id: svn://10.0.0.236/trunk@72793 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:23:51 +00:00
blizzard%redhat.com
867d6d38f4 fix for bug #42031. fix string leaks in moz remote code that I caused. r=waterson,scc a=waterson
git-svn-id: svn://10.0.0.236/trunk@72792 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:20:44 +00:00
cyeh%bluemartini.com
37dd6ebd32 Checkin for Bug 42851 'Use listbox with input for CC management on bug form'
contributed by dave@intrec.com (Dave Miller)


git-svn-id: svn://10.0.0.236/trunk@72791 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 19:03:45 +00:00
tao%netscape.com
e7c9b31277 Add langpacks.
git-svn-id: svn://10.0.0.236/trunk@72788 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 18:48:16 +00:00
chrisk%netscape.com
ad3c068fdf Added some comments and asserts
git-svn-id: svn://10.0.0.236/trunk@72781 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 18:12:02 +00:00
brendan%mozilla.org
ad1e1644ba Hoist loop invariant.
git-svn-id: svn://10.0.0.236/trunk@72780 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 18:03:34 +00:00
brendan%mozilla.org
fd75093332 Comment fixes.
git-svn-id: svn://10.0.0.236/trunk@72779 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 18:03:01 +00:00
tao%netscape.com
38c8ec60b9 Creating a placeholder for en-GB
git-svn-id: svn://10.0.0.236/trunk@72777 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 18:02:11 +00:00
brendan%mozilla.org
3d43822a6a Fix skip-one-frame-too-many backtrace lossage; update TODO.
git-svn-id: svn://10.0.0.236/trunk@72776 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 17:59:30 +00:00
nboyd%atg.com
b3f84fe9a2 Fix javadoc warning
git-svn-id: svn://10.0.0.236/trunk@72775 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 15:49:14 +00:00
cmanske%netscape.com
35ce501ebc Adding simple up, down, left, right arrow images for use by Composer Table Properties dialog (bug 20973) and also needed by prefs dialog. Changed editor CSS files to use these images. r=ben
git-svn-id: svn://10.0.0.236/trunk@72774 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 14:32:53 +00:00
Jerry.Kirk%Nexwarecorp.com
109c165e9a NOT PART OF BUILD - PHOTON ONLY
Simple for the Photon font name


git-svn-id: svn://10.0.0.236/trunk@72773 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 14:26:25 +00:00
brade%netscape.com
05541b0c69 don't let shift-keybinding work for new message, undo, redo, select all, cut, copy, paste (explicitly set shift="false") for bug #41989 (r=Pike,jst)
git-svn-id: svn://10.0.0.236/trunk@72772 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 14:26:16 +00:00
brade%netscape.com
85d8f0e5c2 don't let shift-keybinding work for open local, open remote, save, close, print, quit, find, find next, check spelling, bold, italic, underline (explicitly set shift="false") for bug #41989; r=jst, Pike
git-svn-id: svn://10.0.0.236/trunk@72771 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 14:20:42 +00:00
Jerry.Kirk%Nexwarecorp.com
478f158cba NOT PART OF BUILD - PHOTON ONLY
Small fix to remove GetCurrentSession method


git-svn-id: svn://10.0.0.236/trunk@72770 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 14:08:53 +00:00
bienvenu%netscape.com
cf68d00d31 fix running search twice, send notification on search done, add support for interrupting search , 33101 r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@72769 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 14:04:34 +00:00
dbragg%netscape.com
7a4c1b2e85 Fix for nsbeta2+ bug #40783 r=ssu
git-svn-id: svn://10.0.0.236/trunk@72768 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:43:37 +00:00
dbragg%netscape.com
0ab8a40f04 Fix for nsbeta2+ bug #37855 r=ssu
git-svn-id: svn://10.0.0.236/trunk@72767 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:43:07 +00:00
dbragg%netscape.com
b2bf67c3b3 Fix for nsbeta2+ bug #37848 r=ssu
git-svn-id: svn://10.0.0.236/trunk@72766 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:42:26 +00:00
locka%iol.ie
5df8ab853a NOT PART OF BUILD. Fixed a memory leak. Added a stop button. Added code to update the URL field when a page is loaded
git-svn-id: svn://10.0.0.236/trunk@72765 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:30:31 +00:00
locka%iol.ie
a0d9972be0 NOT PART OF BUILD. Created variant of NS_InitEmbedding that accepts an nsILocalFile object as a parameter
git-svn-id: svn://10.0.0.236/trunk@72764 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:19:12 +00:00
locka%iol.ie
7998f606b0 Added new enum for docshell tree items that own chrome content
git-svn-id: svn://10.0.0.236/trunk@72763 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:07:22 +00:00
locka%iol.ie
c1eb9afb8d NOT PART OF BUILD. Moved API declarations into nsEmbedAPI.h
git-svn-id: svn://10.0.0.236/trunk@72762 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:05:49 +00:00
locka%iol.ie
41b06f8880 NOT PART OF BUILD. Added exports for nsEmbedAPI.h, fixed a duff dependency rule
git-svn-id: svn://10.0.0.236/trunk@72761 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:05:21 +00:00
locka%iol.ie
0b2556aef4 NOT PART OF BUILD. Added preliminary header file for embedding API
git-svn-id: svn://10.0.0.236/trunk@72760 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 13:03:05 +00:00
locka%iol.ie
ab02ebf7ba Added nsIContextMenuListener to build
git-svn-id: svn://10.0.0.236/trunk@72759 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 12:50:38 +00:00
locka%iol.ie
d7fc50add6 New nsIContextMenuListener interface
git-svn-id: svn://10.0.0.236/trunk@72758 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 12:49:58 +00:00
locka%iol.ie
6d162b6454 Commented out both embedding hacks by default
git-svn-id: svn://10.0.0.236/trunk@72757 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 12:48:11 +00:00
brade%netscape.com
6a0493cc90 diff submitted by Josh Soref (soref@wam.umd.edu); add class and statusbar=true to progressmeter (a=waterson; r=sfraser) bug #41645
git-svn-id: svn://10.0.0.236/trunk@72756 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 12:42:24 +00:00
sdv%sparc.spb.su
4e33cfefc1 fix for bug=43290
git-svn-id: svn://10.0.0.236/trunk@72755 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 12:20:08 +00:00
mscott%netscape.com
0ca2097747 Bug #38374 --> NOT PART OF THE BUILD YET!!!!
more unix updates for helper application support


git-svn-id: svn://10.0.0.236/trunk@72754 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 08:37:32 +00:00
mscott%netscape.com
41fad92076 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

unix updates


git-svn-id: svn://10.0.0.236/trunk@72753 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 08:34:58 +00:00
mscott%netscape.com
e4964f6ab4 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

export our rdf vocabulary header file.


git-svn-id: svn://10.0.0.236/trunk@72752 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 08:29:47 +00:00
mscott%netscape.com
04fe2e2da5 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Landing of the RDF data source which keeps track of all the user specified mime type information.
Landing implementation of user over ride information when determining what helper app to run. now we'll
check the information stored in the data source first. If we don't ahve any over-ride information, then
fall back to the OS defaults.


git-svn-id: svn://10.0.0.236/trunk@72751 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 08:29:13 +00:00
radha%netscape.com
b3b4c14d9e New methods in nsIwebNavigation
git-svn-id: svn://10.0.0.236/trunk@72750 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 08:04:00 +00:00
endico%mozilla.org
b8a1d4b946 forgot the reporter and URL fields
git-svn-id: svn://10.0.0.236/trunk@72749 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 07:52:25 +00:00
endico%mozilla.org
df67d5c475 was converting from dbid to login + real name. Remove the real name
git-svn-id: svn://10.0.0.236/trunk@72748 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 07:50:16 +00:00
radha%netscape.com
2e86ea57c7 Dummy implementation for 2 new methods in nsIWebNavigation. fix burning tree.
git-svn-id: svn://10.0.0.236/trunk@72747 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 07:28:45 +00:00
BlakeR1234%aol.com
5f3c82bbcc Fix for bug 40591. r=scc, alecf a=pink
git-svn-id: svn://10.0.0.236/trunk@72746 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 07:08:10 +00:00
alecf%netscape.com
e420477f3c fix solaris bustage
git-svn-id: svn://10.0.0.236/trunk@72745 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:57:03 +00:00
BlakeR1234%aol.com
55034c0981 Fix for bug 43261, just a typo.
git-svn-id: svn://10.0.0.236/trunk@72744 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:43:00 +00:00
radha%netscape.com
48f3b6c24f More checkins for feature bug 36547. r=self(module owner) All code in this checkin are unused
ie., feature  not enabled.


git-svn-id: svn://10.0.0.236/trunk@72743 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:40:08 +00:00
BlakeR1234%aol.com
d1c84c620c Fix for bug 43263, just a typo.
git-svn-id: svn://10.0.0.236/trunk@72742 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:39:35 +00:00
alecf%netscape.com
8111b9a788 extra files I missed in the last checkin r=putterman
git-svn-id: svn://10.0.0.236/trunk@72741 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:35:58 +00:00
alecf%netscape.com
18d0a94766 move out threadpane-specific code so it can be reused in the search dialog for #33101 r=putterman
git-svn-id: svn://10.0.0.236/trunk@72740 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:34:59 +00:00
mscott%netscape.com
cdad905fd9 Bug #38374 --> add application and user preferred handle action to mime info.
I'm going to be storing this information in the helper app code.
r=valeski


git-svn-id: svn://10.0.0.236/trunk@72739 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:34:43 +00:00
mscott%netscape.com
d92552bbfe Bug #33768 --> add MakeUnqiue to nsIFile. this is actually dougt's code.
r=mscott


git-svn-id: svn://10.0.0.236/trunk@72738 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 06:32:45 +00:00
mscott%netscape.com
61621593ad Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD!!!!!!!!!)
code review will come when this is done and gets turned on.

RDF header file which defines our vocabulary for the mime mapping data source.


git-svn-id: svn://10.0.0.236/trunk@72737 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 05:27:29 +00:00
scc%mozilla.org
a6b40ede8b fix for commercial bustage on Mac (adding |operator const CharT*() const| to |basic_nsLiteralString|). fix for blizzards linux changes needing working |Substring|. r=beard,syd
git-svn-id: svn://10.0.0.236/trunk@72736 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 05:13:10 +00:00
dmose%mozilla.org
1ffa061258 made bindname an attribute of nsILDAPConnection. folded all remaining code from ldapSearch.cpp into various parts of nsLDAPChannel in preparation for pushing threading down out of nsLDAPChannel and into the core SDK wrapper classes (nsILDAP{Connection,Operation,Message}). added an (as-yet unimplemented) toString method to nsILDAPMessage; some of the code in nsLDAPChannel should eventually move there. a=r=(notbuilt)
git-svn-id: svn://10.0.0.236/trunk@72735 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 04:44:58 +00:00
endico%mozilla.org
ce7d9ee170 oops, bonsai was slow because the data dir had filled up with 27K temp files. lets delete them when we're done
git-svn-id: svn://10.0.0.236/trunk@72734 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 04:02:53 +00:00
pinkerton%netscape.com
5e191add7c adding nsIDragTracker.idl bug #28226
git-svn-id: svn://10.0.0.236/trunk@72733 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 03:46:22 +00:00
pinkerton%netscape.com
0ae9c3cd2f add NS_IS_DRAG_EVENT macro r=saari, bug 28226
git-svn-id: svn://10.0.0.236/trunk@72732 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 03:43:40 +00:00
pinkerton%netscape.com
5105a50cb9 add nsIDragTracker.idl bug #28226
git-svn-id: svn://10.0.0.236/trunk@72731 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 03:38:07 +00:00
pinkerton%netscape.com
ed0e0e5a67 add nsIDragTracker.idl
git-svn-id: svn://10.0.0.236/trunk@72730 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 03:37:32 +00:00
pinkerton%netscape.com
92fbe0bbe0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@72729 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 03:36:59 +00:00
waterson%netscape.com
2658ae08e5 Add regression tests for 22413, 27211, 39211, and 41521.
git-svn-id: svn://10.0.0.236/trunk@72727 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:37:05 +00:00
waterson%netscape.com
d31aa06379 Bugs 22413, 27211, 39211. On nsCSSFrameConstructor::ContentRemoved(), check the *child* instead of the parent to see if we need to reframe. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72726 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:35:28 +00:00
dougt%netscape.com
15900fdb04 check for null.
git-svn-id: svn://10.0.0.236/trunk@72725 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:29:08 +00:00
alecf%netscape.com
b693bd1379 add support for searching twice.... clear the scope term list between every search - #33101 r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@72724 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:17:14 +00:00
scc%mozilla.org
0b0baaac67 added blizzards tests for problems with |Substring|
git-svn-id: svn://10.0.0.236/trunk@72723 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:06:29 +00:00
scc%mozilla.org
8e52cd329b had to add a bunch of libraries to get the debug target to build
git-svn-id: svn://10.0.0.236/trunk@72722 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:05:54 +00:00
hyatt%netscape.com
2d0da42def Fix for 42806. r=waterson
git-svn-id: svn://10.0.0.236/trunk@72721 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 02:02:24 +00:00
av%netscape.com
5651f628be Filtering plugins from old installation down to three as per decision in 23856, r=amusil
git-svn-id: svn://10.0.0.236/trunk@72720 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:44:55 +00:00
mkaply%us.ibm.com
991b76195e #42637
r=mkaply, a=brendan
OS/2 bring up - Need io.h for GCC build


git-svn-id: svn://10.0.0.236/trunk@72719 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:35:21 +00:00
amusil%netscape.com
41f4fe3176 Turn on wchar_t
git-svn-id: svn://10.0.0.236/trunk@72718 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:31:09 +00:00
ben%netscape.com
81034ad1a4 Fix mac classic skin to have correct toolbar and other asstd main window styles.
git-svn-id: svn://10.0.0.236/trunk@72717 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:29:43 +00:00
sspitzer%netscape.com
ec061ef297 fix for #40051. thanks to Henrik Gemal <gemal@gemal.dk> for the patch.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72716 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:17:32 +00:00
sspitzer%netscape.com
a5c5ec8bf1 Bug #38374 --> more updates for external helper application support.
r=mscott


git-svn-id: svn://10.0.0.236/trunk@72715 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:16:32 +00:00
dbaron%fas.harvard.edu
99d1cb0540 Slightly refine my previous fix for string assertions so things behave exactly as before. r=pollmann b=42936
git-svn-id: svn://10.0.0.236/trunk@72714 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:13:10 +00:00
javi%netscape.com
b868f2ab85 added files: mozilla/extensions/psm-glue/src/nsKeygenHandler.cpp
git-svn-id: svn://10.0.0.236/trunk@72713 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 01:02:44 +00:00
mkaply%us.ibm.com
a9e4b20c22 #40177
r=cls, a=brendan
OS/2 bring up - Change some hardcoded values into variable - remove some extra loops that OS/2 was going down.


git-svn-id: svn://10.0.0.236/trunk@72712 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:54:56 +00:00
dbaron%fas.harvard.edu
a2903880c8 Fix leak by continuing to enumerate. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72711 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:54:42 +00:00
dbaron%fas.harvard.edu
1e33476ff7 Fix string assertions. b=42936 code=jst,dbaron r=harishd
git-svn-id: svn://10.0.0.236/trunk@72710 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:53:34 +00:00
vidur%netscape.com
a86b544c90 Fix for bug 9392. document.plugins now aliases to window.navigator.plugins. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72709 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:53:26 +00:00
vidur%netscape.com
0962618074 Fix for bug 42278. Switched around positions of old REC-html40 namespace URI and new XHTML namespace URI in the table so that we do the reverse mapping from namespaceID to URI correctly. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72708 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:49:22 +00:00
pavlov%netscape.com
4147bb60c2 moving ssl state icons from navigator to communicator. fix for bug 43175. r=valeski
git-svn-id: svn://10.0.0.236/trunk@72707 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:47:29 +00:00
ben%netscape.com
8febb91359 fix mac classic toolbars, 41272
git-svn-id: svn://10.0.0.236/trunk@72706 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:44:15 +00:00
javi%netscape.com
b640bf0549 Fixes for Bug #15623 and Bug #28430 r=thayes
psm-glue work for KEYGEN tag is in.

KEYGEN tag will work with PSM 1.2


git-svn-id: svn://10.0.0.236/trunk@72705 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:43:57 +00:00
vidur%netscape.com
26c84935a5 Fix for bug 42860. nsIScriptNameSpaceManager::RegisterGlobalName() now takes an additional IID parameter. If the IID is that of the nsIScriptObjectOwner interface, we assume it's an old-style idlc interface. Otherwise we try to wrap it using XPConnect. r=rginda
git-svn-id: svn://10.0.0.236/trunk@72704 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:42:59 +00:00
pollmann%netscape.com
31acca5c90 Bug 25300: Enable activation of buttons by the keyboard (space or enter) r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72703 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:40:11 +00:00
bienvenu%netscape.com
2a7fc5b929 fix 31411 problems interrupting imap message load r=jefft
git-svn-id: svn://10.0.0.236/trunk@72702 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:34:43 +00:00
BlakeR1234%aol.com
b48bba9005 Fix for bug 43217, regression which caused Go menu to disappear. r=smfr, disttsc@bart.nl
git-svn-id: svn://10.0.0.236/trunk@72701 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:34:13 +00:00
joki%netscape.com
1dadc3af0b fix for 29517, prevent DOM event access from regular content to anonymous content inside a file control.
git-svn-id: svn://10.0.0.236/trunk@72700 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:23:28 +00:00
mkaply%us.ibm.com
bd6a9629de #40177
r=cls, a=brendan
OS/2 bring up - remove trailing slash


git-svn-id: svn://10.0.0.236/trunk@72699 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:21:57 +00:00
joki%netscape.com
948602adcc Part of fix for 38117, prevent scripts from running event handlers on windows from other domains. r:mstoltz
git-svn-id: svn://10.0.0.236/trunk@72698 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:21:50 +00:00
joki%netscape.com
04fd4c2598 Fix for bug 25117, check security when sizing/positioning/configuring windows. r:danm
git-svn-id: svn://10.0.0.236/trunk@72697 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:20:39 +00:00
mkaply%us.ibm.com
f44461554c #40177
r=cls, a=brendan
OS/2 bring up - fix some various build problems relating to nsinstall and SHELL


git-svn-id: svn://10.0.0.236/trunk@72696 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:16:45 +00:00
pavlov%netscape.com
3e6091c956 forgot this file...
patch from Scott Schram (scott@ruthie.com) to add css2/3 cursor support on unix (bug 38444) a=brendan


git-svn-id: svn://10.0.0.236/trunk@72694 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:11:42 +00:00
mkaply%us.ibm.com
9698e13717 # 42637
r = valeski, a = brendan
OS/2 bring-up  - PR_CALLBACK for VisualAge


git-svn-id: svn://10.0.0.236/trunk@72693 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:07:57 +00:00
ben%netscape.com
de15bb5971 install classic skin into chrome registry on installation, 41272
git-svn-id: svn://10.0.0.236/trunk@72692 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:06:44 +00:00
ben%netscape.com
e0a40aa060 forgot to add files
git-svn-id: svn://10.0.0.236/trunk@72691 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:06:07 +00:00
bryner%uiuc.edu
7ae1b28e6d Fixing bugs 33549, 34033. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@72690 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:05:55 +00:00
ben%netscape.com
85dc94eb23 fixing classic skin so that it doesnt hang on startup, improving back and forward buttons. b41272
git-svn-id: svn://10.0.0.236/trunk@72689 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:05:00 +00:00
chrisk%netscape.com
ac3e94b5b9 Oops - fixed the fix. The prototype now correctly unpacks into a
DHPublicKey structure.


git-svn-id: svn://10.0.0.236/trunk@72688 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 00:04:38 +00:00
beard%netscape.com
225060e4fa bug #42100, Carbon compatibility. r=gordon, saari, pinkerton, sfraser
git-svn-id: svn://10.0.0.236/trunk@72686 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 23:10:06 +00:00
rogerl%netscape.com
ae69e1c56c Changed use of Register to TypedRegister throughout.
git-svn-id: svn://10.0.0.236/trunk@72685 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:45:45 +00:00
rogerl%netscape.com
656a834b8a Support for TypedRegister
git-svn-id: svn://10.0.0.236/trunk@72684 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:44:46 +00:00
javi%netscape.com
5efdef3fe4 Don't block forever waiting for socket status to get created. Mozilla
may call that function after the connection is gone in which case the
socket status will not exist.


git-svn-id: svn://10.0.0.236/trunk@72683 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:39:24 +00:00
wtc%netscape.com
0d28d012f4 Bugzilla bug #40941: added assembly language implementation of atomic
routines for IA-64 Linux.  Thanks to David Mosberger <davidm@hpl.hp.com>
for the code review.
Modifies files: configure, configure.in, _linux.h, pr/src/md/unix/Makefile,
pr/src/md/unix/Makefile.in, pr/src/md/unix/objs.mk
Added files: os_Linux_ia64.s


git-svn-id: svn://10.0.0.236/trunk@72682 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:22:23 +00:00
larryh%netscape.com
5044d318b8 BugZilla: 42367. Fix copyright date, Original Code
git-svn-id: svn://10.0.0.236/trunk@72681 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 21:48:45 +00:00
brade%netscape.com
00a24d0d7e File Removed.
git-svn-id: svn://10.0.0.236/trunk@72680 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 21:19:10 +00:00
edburns%acm.org
10bd03fb23 bug=41197
r=av
a=waterson.

This checkin makes it possible to use the default plugin even
for Java.


git-svn-id: svn://10.0.0.236/trunk@72679 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 21:04:52 +00:00
brade%netscape.com
4888e028ce File Removed.
git-svn-id: svn://10.0.0.236/trunk@72678 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 21:00:52 +00:00
sspitzer%netscape.com
091011aaae Bug #38374 --> more updates for external helper application support.
(NOT PART OF THE BUILD) r=mscott


git-svn-id: svn://10.0.0.236/trunk@72677 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 20:57:21 +00:00
sspitzer%netscape.com
a30e941673 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD) r=mscott
git-svn-id: svn://10.0.0.236/trunk@72676 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 20:43:54 +00:00
wtc%netscape.com
6f20b930cf Changed default host name to www.mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@72675 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 20:11:24 +00:00
mscott%netscape.com
2f7bb16fbd Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Unix stub files for the OS helper app service implementation.

a=granrose


git-svn-id: svn://10.0.0.236/trunk@72670 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 18:22:47 +00:00
endico%mozilla.org
8e873af9e0 rename move.cgi to move.pl
git-svn-id: svn://10.0.0.236/trunk@72665 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 17:14:00 +00:00
chrisk%netscape.com
f773ad5402 Fix OID for DC AVAs - the root OID in RFC2247 is not different from
the root OID in RFC1274 - so the one we had was WRONG.
I don't know where it came from.


git-svn-id: svn://10.0.0.236/trunk@72664 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 16:31:31 +00:00
chrisk%netscape.com
0cffe12987 Add code for generation of SMIMEProfile and SMIMEKeyEncryptionPreference
git-svn-id: svn://10.0.0.236/trunk@72663 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 16:28:59 +00:00
chrisk%netscape.com
6d6ec2de90 First feeble attempt at fixing the problem that our definition of
Diffie-Hellman key parameters does not encompass all the optional
fields defined in RFC2459, section 7.3.2 (namely j and validationParams).

I added comments reminding us of the fact that PQGParams need to be
extended to hold these, and fixed the ASN1 prototype from its previous
totally broken status to one that decodes prime, subPrime and base
correctly, and skips the rest.

This avoids failure in public key extraction (which is part of verification)
with DH certs.


git-svn-id: svn://10.0.0.236/trunk@72662 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 16:22:36 +00:00
chrisk%netscape.com
7ff55a4d25 Fix problem where DH certs were always rejected when verifying them
for EMail encryption.
A Diffie-Hellman key needs to be tested for KU_KEY_AGREEMENT, not
KU_KEY_ENCIPHERMENT.


git-svn-id: svn://10.0.0.236/trunk@72661 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 16:15:32 +00:00
chrisk%netscape.com
4be6618598 Fixed bug in sequence printing code: array counter was overshooting by one
git-svn-id: svn://10.0.0.236/trunk@72660 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 14:35:17 +00:00
brade%netscape.com
57c4115007 fix returned error codes (as part of bug #42510)
git-svn-id: svn://10.0.0.236/trunk@72659 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 14:25:34 +00:00
brade%netscape.com
9f2a620177 call PreventDefault for key events which we want to "consume" (bug #42510); r=smfr
git-svn-id: svn://10.0.0.236/trunk@72658 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 14:23:43 +00:00
mkaply%us.ibm.com
330dd35387 #42637
r=mkaply, a=brendan
OS/2 bring up - rewrite some nsLocalFileOS2 stuff to be more like Windows


git-svn-id: svn://10.0.0.236/trunk@72657 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 14:06:00 +00:00
mkaply%us.ibm.com
1e74f6b8a9 #42637
r=valeski, a=brendan
OS/2 bring up - Change DebugBreak code for OS/2 to make it a little easier


git-svn-id: svn://10.0.0.236/trunk@72656 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 13:59:17 +00:00
mkaply%us.ibm.com
a22e45a75a #42637
r=hyatt, a=brendan
OS/2 bring up - change menu code so clicks are NOT passed to the default window proc if they are handled.
This fix has been tested on Linux, Windows, OS/2 - does not affect Mac.


git-svn-id: svn://10.0.0.236/trunk@72655 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 13:49:24 +00:00
mkaply%us.ibm.com
bbc83a1967 #42637
r=mkaply, a=brendan
OS/2 bring up - Trap when typing in URL bar


git-svn-id: svn://10.0.0.236/trunk@72654 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 13:24:52 +00:00
chrisk%netscape.com
6db98da95b Fix bug in decoder:
When encoding indefinitely & encountering an optional field at the end of
a sequence, right after an IMPLICIT or POINTER template, the decoder
was not propagating the optionalness and the end-of-contents condition
correctly as it hits the end-of-contents octets instead of the optional
field. This is because IMPLICIT and POINTER push TWO states to look
for the next tag, not just one.
(The first state is "afterImplicit" or "afterPointer", the second one
starts with "beforeIdentifier" as usual).
This finally makes decoding envelopedData messages in cmsutil work.


git-svn-id: svn://10.0.0.236/trunk@72653 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 13:24:01 +00:00
mkaply%us.ibm.com
eb1ac6eaf8 #42637
r=mkaply, a=brendan
Makefile change to build timer


git-svn-id: svn://10.0.0.236/trunk@72652 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 13:22:43 +00:00
mkaply%us.ibm.com
77bd26d806 #42637
r=mkaply, a=brendan
Remove OS/2 debugging messages during bringup


git-svn-id: svn://10.0.0.236/trunk@72651 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 13:21:22 +00:00
ben%netscape.com
0ef5ba9960 forgot to add classic skin to packager files in earlier checkin
git-svn-id: svn://10.0.0.236/trunk@72649 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 10:30:19 +00:00
ben%netscape.com
1575c6f556 fix for skin switching writing to install directory instead of profile, 30536, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72648 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 09:47:33 +00:00
hyatt%netscape.com
52384c15ff 33524. r=ben
git-svn-id: svn://10.0.0.236/trunk@72647 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 09:21:42 +00:00
pinkerton%netscape.com
c46cbc5873 Migrating d&d back into new tree-grid. bug# 30511, r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72646 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 08:13:14 +00:00
rpotts%netscape.com
5c4ca89c3b Added Set/GetLoadCookie methods to nsDocShell. The mLoadCookie is no longer directly set by the nsDSURIContentListener class!
git-svn-id: svn://10.0.0.236/trunk@72645 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 08:01:19 +00:00
rpotts%netscape.com
7a02e24f0f Made the nsDocShell a nsIWebProgressListener. This is a first step for the Session History changes and ultimately removing the nsIDocumentLoaderObserver interface...
git-svn-id: svn://10.0.0.236/trunk@72644 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 07:59:45 +00:00
pavlov%netscape.com
ce24c6e044 fix for submitting insecure form not displaying anything bug 42958. from Peter Annema <disttsc@bart.nl>. r=pavlov a=waterson
git-svn-id: svn://10.0.0.236/trunk@72642 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 07:35:41 +00:00
rpotts%netscape.com
3733bf65af Fixed the GTK_MOZ_EMBED_STATUS enum to have the *correct* decimal values of their corrosponding NS_ERROR codes.
git-svn-id: svn://10.0.0.236/trunk@72641 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 06:19:40 +00:00
dougt%netscape.com
479ab6fb44 Backing out amasri. This change caused the browser to not open. When I control-c
the application, I see:

XML Error in file
'chrome://communicator/content/profile/profileSelection.xul',
Line Number: 100, Col Number: 43, Description: undefined entity
Source Line:         <checkbox id="offlineState"
value="&offlineState.label;" accesskey="&offlineState.accesskey;"/>


git-svn-id: svn://10.0.0.236/trunk@72638 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:55:58 +00:00
waterson%netscape.com
ffe15b5764 Use NS_LITERAL_STRING instead of an nsAutoString to avoid copy/inflate on platforms that support two-byte wchar_t. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@72637 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:45:07 +00:00
ben%netscape.com
ad58e0b491 fix for 41657, r=waterson, hyatt
git-svn-id: svn://10.0.0.236/trunk@72636 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:43:52 +00:00
Peter.VanderBeken%pandora.be
6f91f690d7 Recognize local .xsl files as text/xml.
r=Andreas Otte, a=gagan, a=waterson.


git-svn-id: svn://10.0.0.236/trunk@72635 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:24:10 +00:00
dmose%mozilla.org
c70724e4c9 Simplified nsILDAPMessageListener, and refactored much of the code in ldapSearch.cpp into nsLDAPChannel.cpp itself, using the simplified nsILDAPMessageListener callback interface. This work is in preparation for pushing all threading code out of nsILDAPChannel down into nsILDAPConnection/Operation/Message. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72634 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:17:51 +00:00
rpotts%netscape.com
1760eb8eb4 Fixed memofy leak of StdURLs introduced by the last checkin...
git-svn-id: svn://10.0.0.236/trunk@72633 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:14:42 +00:00
dmose%mozilla.org
7d0df230ae Simplified nsILDAPMessageListener, and refactored much of the code in ldapSearch.cpp into nsLDAPChannel.cpp itself, using the simplified nsILDAPMessageListener class. This work is in preparation for pushing all threading code out of nsILDAPChannel down into nsILDAPConnection/Operation/Message. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72632 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 05:12:32 +00:00
pchen%netscape.com
ee64e1da57 Bug #41272. Turn on classic skin in build. r=don
git-svn-id: svn://10.0.0.236/trunk@72631 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:57:12 +00:00
pchen%netscape.com
a9637358ce Bug #41272. Make toolbar color #DDDDDD which is same as Mac 4.x and fixed main grippy image. r=don
git-svn-id: svn://10.0.0.236/trunk@72630 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:56:37 +00:00
pchen%netscape.com
de5021706c Bug #41272. Include communicator/skin/toolbar.css. r=don
git-svn-id: svn://10.0.0.236/trunk@72629 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:56:36 +00:00
pchen%netscape.com
0004d1d2be Bug #41272. Set toolbar colors to #DDDDDD which is same as Mac 4.x. r=don
git-svn-id: svn://10.0.0.236/trunk@72628 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:56:35 +00:00
pchen%netscape.com
b89a095e34 Bug #41272. Remove background imgs leftover from modern skin and make toolbar buttons look more classic-like. r=don
git-svn-id: svn://10.0.0.236/trunk@72627 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:56:34 +00:00
BlakeR1234%aol.com
c373f6ca9c Fix for bug 42135. r=ben
git-svn-id: svn://10.0.0.236/trunk@72626 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:47:56 +00:00
hyatt%netscape.com
8f4f8703e6 Fix for 41664, r=ben
git-svn-id: svn://10.0.0.236/trunk@72625 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:45:30 +00:00
hyatt%netscape.com
a983145309 Fix for 41664, r=ben
git-svn-id: svn://10.0.0.236/trunk@72624 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:44:44 +00:00
ben%netscape.com
690e4dc7f5 turn on classic skin for windows (yay) 41272, a=hangas
git-svn-id: svn://10.0.0.236/trunk@72623 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:44:30 +00:00
scc%mozilla.org
a53138318f removing nsWork[C]String. It's already been removed from the Mac manifest, the windows and unix makefiles, and the string factoring test project. The header is not included anywhere else. After discussion with waterson, decided this class is not what or where we want it
git-svn-id: svn://10.0.0.236/trunk@72622 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:36:25 +00:00
scc%mozilla.org
ba5ba16a17 removed "nsWorkString.h" as discussed with waterson
git-svn-id: svn://10.0.0.236/trunk@72621 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:33:52 +00:00
scc%mozilla.org
d8b570c50a removed nsWork[C]String, as discussed with waterson
git-svn-id: svn://10.0.0.236/trunk@72620 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:31:42 +00:00
scc%mozilla.org
5d68b0f22c added tests for self-assignment, self-insertion, self-appending, and self-replacement
git-svn-id: svn://10.0.0.236/trunk@72619 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:31:00 +00:00
dougt%netscape.com
2a1b9ce8bc THIS IS NOT PART OF THE BUILD.
Update nsIWebProgressListener to match rpotts work.

r/a = valeski@netscape.com
bug 43054


git-svn-id: svn://10.0.0.236/trunk@72618 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:30:41 +00:00
scc%mozilla.org
6c6171d864 fix for bug #43085. r=waterson, a=waterson
git-svn-id: svn://10.0.0.236/trunk@72617 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:25:20 +00:00
ben%netscape.com
4866b6b787 oops, part of earlier fix to find panel (remove html:selects from UI to unblock rods), forgot to check in associated js file that makes the bm search work
git-svn-id: svn://10.0.0.236/trunk@72616 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 04:21:08 +00:00
dmose%mozilla.org
de51b96975 forgot this critical file for the nsILDAPURL interface checkin earlier. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72615 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:59:52 +00:00
waterson%netscape.com
c4be9e89cc Bug 40868. Check to see if 'docroot == this' before recursing. r=dmose
git-svn-id: svn://10.0.0.236/trunk@72614 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:58:24 +00:00
dbaron%fas.harvard.edu
a524a36d2b Really fix the leak in JS error reporting. (Checked in from the wrong machine last time.) r=vidur
git-svn-id: svn://10.0.0.236/trunk@72613 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:51:07 +00:00
BlakeR1234%aol.com
aacd5feacd Fix for bug 42042. r=ianr a=waterson
git-svn-id: svn://10.0.0.236/trunk@72612 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:50:40 +00:00
dbaron%fas.harvard.edu
e84d5a00a5 Fix bug 42685, nsbeta2+. Revert percentage width calculations to the way they used to be, except for floats with auto widths. code=buster r=me
git-svn-id: svn://10.0.0.236/trunk@72611 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:47:49 +00:00
dbaron%fas.harvard.edu
e6f57cbe9d Delete nsJSEnvironment (and the things it owns) during XPCOM shutdown instead of after (they won't be shown as leaks anymore). Also, fix a leak in JS error reporting. r=vidur
git-svn-id: svn://10.0.0.236/trunk@72610 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:45:21 +00:00
bryner%uiuc.edu
00c4a6b3fd Patching filepicker for new tree widget. part of bug 30511. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@72609 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:35:37 +00:00
dmose%mozilla.org
30403e0e3d adding an LDAP module to the NS_ERROR global define space. a=r=waterson@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@72608 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:33:26 +00:00
dougt%netscape.com
f6d6ee5b4d THIS IS NOT PART OF BUILD
This is the window test harness for embedding.

r/a=valeski@netscape.com
bug number: 43054


git-svn-id: svn://10.0.0.236/trunk@72607 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:22:47 +00:00
BlakeR1234%aol.com
e9a0e1256a Fix for bug 41342. r=andreww a=waterson
git-svn-id: svn://10.0.0.236/trunk@72606 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:12:03 +00:00
pavlov%netscape.com
ae2799e229 fix for nsImapSearchResultSequence::Clear() crash. bug 43079. r=mscott
git-svn-id: svn://10.0.0.236/trunk@72605 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 03:11:09 +00:00
hyatt%netscape.com
2aad3d73d8 Fix for 41372. r=ben
git-svn-id: svn://10.0.0.236/trunk@72604 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:50:57 +00:00
ddrinan%netscape.com
ccd88a0b63 We need libnlslocale for unix
git-svn-id: svn://10.0.0.236/trunk@72603 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:43:46 +00:00
amasri%netscape.com
65bac4595f Adding localization notes per Bugzilla #39775
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72602 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:42:21 +00:00
hyatt%netscape.com
9b90b3046b 37298. r=ben
git-svn-id: svn://10.0.0.236/trunk@72601 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:38:39 +00:00
amasri%netscape.com
f5026f3ba6 Adding localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72600 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:38:06 +00:00
amasri%netscape.com
b9ae79f716 Adding localization notes per Bugzilla #39975 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72599 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:34:08 +00:00
amasri%netscape.com
39416b05a3 Adding localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72598 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:30:45 +00:00
waterson%netscape.com
ef121c4411 Bug 42991. Get rid of obsolete 'rdf:child' identifier. r=rjc
git-svn-id: svn://10.0.0.236/trunk@72597 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:25:48 +00:00
amasri%netscape.com
490b1244bb Adding Localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72596 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:20:42 +00:00
amasri%netscape.com
4416205171 Adding localization notes per Bugzilla #39775 beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72595 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:16:05 +00:00
amasri%netscape.com
30ba5c12a6 Adding Localization Notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72594 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:14:21 +00:00
amasri%netscape.com
ba84e9e155 Adding Localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72593 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 02:09:45 +00:00
amasri%netscape.com
8840acf0d2 Adding Localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72592 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:59:17 +00:00
amasri%netscape.com
91338cb214 Adding Localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72591 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:51:55 +00:00
rjc%netscape.com
7a84a4b08d Fix nsbeta2+ bug # 39539: fix bookmarks so that new items can be created. r=ben@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72590 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:47:15 +00:00
amasri%netscape.com
c60d799059 Adding localization notes per Bugzilla #39775 Beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72589 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:46:22 +00:00
waterson%netscape.com
0beeb822e0 Add .cvsignore for block/bugs regression tests.
git-svn-id: svn://10.0.0.236/trunk@72588 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:45:38 +00:00
bryner%uiuc.edu
9690dc2086 Turning on classic skin on unix. a=hangas.
git-svn-id: svn://10.0.0.236/trunk@72587 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:44:54 +00:00
amasri%netscape.com
7080f80262 Adding localization notes per Bugzilla #39775 beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72586 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:43:55 +00:00
amasri%netscape.com
309bc82bf8 Adding Localization notes per Bugzilla #39775 beta2+
r=rchen@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72585 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:41:30 +00:00
edburns%acm.org
e21fba78c3 Added DOM 0510.
git-svn-id: svn://10.0.0.236/trunk@72584 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:08:31 +00:00
hyatt%netscape.com
344150583e 30511. evaughan
git-svn-id: svn://10.0.0.236/trunk@72583 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:04:20 +00:00
mscott%netscape.com
8e15d727ed Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

adding manifest files for the mac build


git-svn-id: svn://10.0.0.236/trunk@72582 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:02:32 +00:00
ducarroz%netscape.com
382be98cb0 Fix for bug 38716 & bug 38715. Do not kill the dragdrop event when is not a flavor supported by the editfield. R=brade
git-svn-id: svn://10.0.0.236/trunk@72581 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 01:01:49 +00:00
waterson%netscape.com
17634000b5 Check in buster's block regression tests.
git-svn-id: svn://10.0.0.236/trunk@72580 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:53:47 +00:00
hyatt%netscape.com
723f41dc0e Fix for 42867. r=evaughan
git-svn-id: svn://10.0.0.236/trunk@72579 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:52:57 +00:00
morse%netscape.com
8a905652c3 update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@72578 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:50:15 +00:00
ben%netscape.com
a78989f0cb fix for 38027 - remove html:select from find in bookmarks/history dialog
git-svn-id: svn://10.0.0.236/trunk@72576 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:46:49 +00:00
saari%netscape.com
b51d6959c0 base work for bug 42553, r=danm
git-svn-id: svn://10.0.0.236/trunk@72575 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:45:47 +00:00
saari%netscape.com
840db009a2 foundation for fixing 42553, r=danm
git-svn-id: svn://10.0.0.236/trunk@72574 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:44:55 +00:00
pavlov%netscape.com
623041dcad fix for bug security icon not changing when entering secure sites 43041 r=anthonyd (also removed tabs, yadda yadda)
git-svn-id: svn://10.0.0.236/trunk@72573 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:36:04 +00:00
cyeh%bluemartini.com
860d5b3d31 fix GD and Chart::Lines documenation
git-svn-id: svn://10.0.0.236/trunk@72572 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:14:25 +00:00
bryner%uiuc.edu
7d945bdfb7 Fixing tasksOverlay location so that Manage Bookmarks window will
open.  r=ben,hyatt.


git-svn-id: svn://10.0.0.236/trunk@72571 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 00:06:02 +00:00
cotter%netscape.com
350b750de0 Added first draft of PSM 1.2 release notes.
git-svn-id: svn://10.0.0.236/trunk@72570 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:58:25 +00:00
hyatt%netscape.com
c74a1ebae5 30511
git-svn-id: svn://10.0.0.236/trunk@72569 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:55:45 +00:00
hyatt%netscape.com
e79d547267 30511
git-svn-id: svn://10.0.0.236/trunk@72568 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:51:17 +00:00
hyatt%netscape.com
f53cbb4b5c 30511
git-svn-id: svn://10.0.0.236/trunk@72567 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:39:43 +00:00
hyatt%netscape.com
308f1becd8 30511.
git-svn-id: svn://10.0.0.236/trunk@72566 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:38:42 +00:00
hyatt%netscape.com
14107db56c 30511
git-svn-id: svn://10.0.0.236/trunk@72565 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:29:51 +00:00
hyatt%netscape.com
a7c36a09a2 30511.
git-svn-id: svn://10.0.0.236/trunk@72564 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:26:36 +00:00
hyatt%netscape.com
00aec817b7 30511
git-svn-id: svn://10.0.0.236/trunk@72563 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:23:50 +00:00
hyatt%netscape.com
bf6e92f29c 30511. r=evaughan
git-svn-id: svn://10.0.0.236/trunk@72562 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:20:24 +00:00
hyatt%netscape.com
7d5215362d 30511. r=evaughan
git-svn-id: svn://10.0.0.236/trunk@72561 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:15:37 +00:00
javi%netscape.com
c373a57c35 Whomping SECURITY_CLIENT_BRANCH onto tip.
git-svn-id: svn://10.0.0.236/trunk@72558 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:05:49 +00:00
bryner%uiuc.edu
07925fe1e3 Updating trees for new tree widget. bug 30511. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@72557 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 23:03:40 +00:00
hyatt%netscape.com
dd3b6e2b74 New tree widget. r=saari, bug#30511
git-svn-id: svn://10.0.0.236/trunk@72556 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 22:59:39 +00:00
hyatt%netscape.com
2c9eea256a Landing new tree widget. Bug #30511, r=evaughan
git-svn-id: svn://10.0.0.236/trunk@72555 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 22:59:20 +00:00
hyatt%netscape.com
4e2279f89c Bug #30511, r=evuaghan
git-svn-id: svn://10.0.0.236/trunk@72554 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 22:58:56 +00:00
javi%netscape.com
f18fafc08d Whomping SECURITY_CLIENT_BRANCH onto tip.
git-svn-id: svn://10.0.0.236/trunk@72553 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 22:58:15 +00:00
hyatt%netscape.com
fd933e0e96 Turning on the new tree widget. Bug#30511, r=evaughan
git-svn-id: svn://10.0.0.236/trunk@72552 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 22:57:39 +00:00
varada%netscape.com
bf65000649 changes to cck.ini
git-svn-id: svn://10.0.0.236/trunk@72551 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 22:06:08 +00:00
dmose%mozilla.org
e467c5ca10 scaffolding & some initial work on an nsILDAPURL interface and an nsLDAPURL component that implements it. (a=r=not built)
git-svn-id: svn://10.0.0.236/trunk@72550 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 21:43:33 +00:00
dmose%mozilla.org
c0860f37ca changed non-portable int type to PRInt32. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72549 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 21:40:29 +00:00
dmose%mozilla.org
2ada2e1670 clarified comments. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72548 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 21:36:09 +00:00
dmose%mozilla.org
9fc87bbe32 removed NS_ENSURE_ARG macros, as NULL pointers are valid for either argument. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72547 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 21:34:30 +00:00
edburns%acm.org
dd91947037 bug=41197
a=law@netscape.com
See http://bugzilla.mozilla.org/show_bug.cgi?id=43051


git-svn-id: svn://10.0.0.236/trunk@72545 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 18:38:16 +00:00
sdv%sparc.spb.su
b11df9429d added support of namespaces
git-svn-id: svn://10.0.0.236/trunk@72543 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 15:09:47 +00:00
jdunn%netscape.com
7d17331399 adding newline for HPUX
git-svn-id: svn://10.0.0.236/trunk@72542 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 14:24:15 +00:00
jdunn%netscape.com
c67a8b078a adding newline, required by HPUX
git-svn-id: svn://10.0.0.236/trunk@72541 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 13:03:52 +00:00
Jerry.Kirk%Nexwarecorp.com
9116f43ff2 Not Part of Build... PHOTON ONLY
Missed a Makefile.in  this makes the the gfx library for Photon a component
just like gtk.


git-svn-id: svn://10.0.0.236/trunk@72540 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 12:25:31 +00:00
Jerry.Kirk%Nexwarecorp.com
67d7d4d57f Not Part of Build... PHOTON ONLY
Changed photon widget to be a component like gtk.
Had to comment out some printing support in GFK because of Photon library bugs.


git-svn-id: svn://10.0.0.236/trunk@72539 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 12:01:21 +00:00
kvisco%ziplink.net
ac9dd9e2bd Not part of build, a=leaf
Added fix from Peter Van der Beken to fix Name conflicts with NodeType tokens
Added fix to bug reported by Axel Hecht (#42502)


git-svn-id: svn://10.0.0.236/trunk@72538 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 09:03:12 +00:00
kvisco%ziplink.net
bad8e8476d Not part of build, a=leaf
updated docs


git-svn-id: svn://10.0.0.236/trunk@72537 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 07:53:55 +00:00
kvisco%ziplink.net
336b629b22 Not part of build, a=leaf
Fixed a cut-and-paste error


git-svn-id: svn://10.0.0.236/trunk@72536 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 07:16:37 +00:00
kvisco%ziplink.net
fc542fea73 Not part of build, a=leaf
Checked in changes from Olivier to improve template parameter handling


git-svn-id: svn://10.0.0.236/trunk@72535 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 07:09:02 +00:00
rpotts%netscape.com
9dd49c320b Added new PR_LOG...
git-svn-id: svn://10.0.0.236/trunk@72534 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 05:59:50 +00:00
rpotts%netscape.com
406f61beb3 Reworked the nsIWebProgress interfaces and implementation...
git-svn-id: svn://10.0.0.236/trunk@72533 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 05:54:37 +00:00
rpotts%netscape.com
a5e58dbb84 Reworked nsIWebProgress...
git-svn-id: svn://10.0.0.236/trunk@72532 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 05:48:38 +00:00
morse%netscape.com
170483674e update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@72531 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-19 00:24:12 +00:00
ben%netscape.com
953acac36d fix glitches caused by my 30536 checkin friday night
git-svn-id: svn://10.0.0.236/trunk@72530 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 23:38:23 +00:00
mscott%netscape.com
e3f962ccb7 Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

part of the mac internet config stuff.


git-svn-id: svn://10.0.0.236/trunk@72529 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:48:43 +00:00
mscott%netscape.com
5c70539151 Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Add the ability to launch urls using a OS specified protocol handler for windows. Implement nsIExternalProtocolService.


git-svn-id: svn://10.0.0.236/trunk@72528 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:08:32 +00:00
mscott%netscape.com
8469f138dc Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

add nsIExternalProtocolService support to the base class.


git-svn-id: svn://10.0.0.236/trunk@72527 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:07:54 +00:00
mscott%netscape.com
d6c0a9ba95 Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

this file is now obselete and has been replaced with nsCExternalHandler.idl.


git-svn-id: svn://10.0.0.236/trunk@72526 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:07:00 +00:00
mscott%netscape.com
1978734657 Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

export nsCExternalHandlerService.idl


git-svn-id: svn://10.0.0.236/trunk@72525 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:05:53 +00:00
mscott%netscape.com
1879f73d04 Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

New file. This file replaces nsCExternalHelperApp.idl. It includes both protocol and helper app service progid information.


git-svn-id: svn://10.0.0.236/trunk@72524 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:05:25 +00:00
mscott%netscape.com
3015fe31e1 Bug #30157 --> add the ability to launch urls using OS default protocol handlers. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Initial interface for interacting with an OS specific external protocol handler.


git-svn-id: svn://10.0.0.236/trunk@72523 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 22:04:28 +00:00
cls%seawood.org
23e150ab44 Don't declare a variable twice. It breaks the HP-UX builds.
git-svn-id: svn://10.0.0.236/trunk@72522 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 21:34:45 +00:00
cls%seawood.org
b77e90ede0 nscore.h is included by .c files so c++ comments have to go. Fix for WS5.0 bustage.
git-svn-id: svn://10.0.0.236/trunk@72521 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 21:27:27 +00:00
mscott%netscape.com
8151785143 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Mac specific implementation of the helper app service. Note: this is incomplete...I have added FIX ME comments
in all the places where we need Mac specific information for interacting with internet config.


git-svn-id: svn://10.0.0.236/trunk@72520 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 19:54:37 +00:00
pavlov%netscape.com
d5a60ee333 patch from Tomi Leppikangas <tomilepp@sun3.oulu.fi> to fix some GC leaks r=pavlov a=brendan
git-svn-id: svn://10.0.0.236/trunk@72519 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 18:56:27 +00:00
ben%netscape.com
5380207b61 30536 - skinnable front end. remove dependencies on current skin.
git-svn-id: svn://10.0.0.236/trunk@72518 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 17:52:37 +00:00
ben%netscape.com
4f45d8294a Skinnable text. b30536 (skinnable front end)
git-svn-id: svn://10.0.0.236/trunk@72517 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 17:43:57 +00:00
bienvenu%netscape.com
c86448f9e9 fix init of search data source r=sspitzer 33101
git-svn-id: svn://10.0.0.236/trunk@72516 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 15:02:00 +00:00
bienvenu%netscape.com
ebdcbdb9c0 back out last changes which break the folder and thread pane
git-svn-id: svn://10.0.0.236/trunk@72515 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 14:44:48 +00:00
morse%netscape.com
5907db2186 bug 42362, assertions at startup, coder=roc+moz@cs.cmu.edu, r=morse, a=morse+waterson(anticipated)
git-svn-id: svn://10.0.0.236/trunk@72514 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 06:16:30 +00:00
alecf%netscape.com
fea95b8553 cleanup search folder picker for #33101
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72513 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:52:51 +00:00
alecf%netscape.com
4c3fd12093 finally hook up search, and bring filters more in line with the way search does things
r=sspitzer
#33101


git-svn-id: svn://10.0.0.236/trunk@72512 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:52:03 +00:00
alecf%netscape.com
badd5af08a update search datasource
- use the URI of the datasource as the root of the messages returned by this datasource
- implement HasAssertions and remember the search results.
r=sspitzer
#33101


git-svn-id: svn://10.0.0.236/trunk@72511 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:48:14 +00:00
alecf%netscape.com
dcf35347af further bring the searchsession and mailfilter apis together so that they can share code from JS - basically expose the search term as a readonly array, and reset it with Clear() rather than destroying it.
r=sspitzer
for #33101


git-svn-id: svn://10.0.0.236/trunk@72510 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:45:19 +00:00
alecf%netscape.com
c839a774fa quiet down RDF by handling datasources without windows gracefully (needed for search, so I could reuse the threadpane without causing assertions)
r=sspitzer
for #33101


git-svn-id: svn://10.0.0.236/trunk@72509 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:43:32 +00:00
alecf%netscape.com
c2dc8497d9 remove a dead file that we weren't building
git-svn-id: svn://10.0.0.236/trunk@72508 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:40:46 +00:00
scc%mozilla.org
2a2a840b4d fixing OS/2 VisualAge platform bustage, and bad dates in licenses
git-svn-id: svn://10.0.0.236/trunk@72507 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 05:00:31 +00:00
mscott%netscape.com
6029dc0d20 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Use the 4.x windows registry information in an effort to figure out the correct file extension
for a particular content type. This is necessary because we need the file extension to figure out
which helper app to use, not the content type.

Pass the file extension to be associated with this content type to the external content handler when
we create it.


git-svn-id: svn://10.0.0.236/trunk@72505 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 01:14:23 +00:00
mscott%netscape.com
3cc6959b0f Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Pass in the file extension (determined by the content type) that we want to use when generating the name
of the temp file for saving the data for the helper application.


git-svn-id: svn://10.0.0.236/trunk@72504 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-18 01:13:04 +00:00
mscott%netscape.com
566a2d76ee Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Add external application implementation.
Add windows registry sniffying code to find the right external helper application for a given file extension.
Add windows registry code for launching the application.


git-svn-id: svn://10.0.0.236/trunk@72503 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 23:06:23 +00:00
mscott%netscape.com
2f31eb7d43 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Add support for nsPIExternalAppLauncher. Call back to the OS app service to launch the app once we are done
saving the file to a temp file.


git-svn-id: svn://10.0.0.236/trunk@72502 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 23:04:53 +00:00
mscott%netscape.com
b3a89090c2 Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Add a private interface to be shared between the os specific helper app service and the external app handler
for launching an app.


git-svn-id: svn://10.0.0.236/trunk@72501 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 23:03:24 +00:00
radha%netscape.com
819e1783db Initial checin for feature bug 36547. r=self(module owner) No code in this checkin is currently used by
any parts of the build.


git-svn-id: svn://10.0.0.236/trunk@72500 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 22:43:06 +00:00
morse%netscape.com
b9af0355f8 restoring changes that were accidentally backed out, r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72499 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 22:24:07 +00:00
mscott%netscape.com
690ae18b9d Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

properly implement saving the data to a temp file.


git-svn-id: svn://10.0.0.236/trunk@72498 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 19:53:44 +00:00
alecf%netscape.com
fa3511c5ef for #33101 - sync up nsIMsgSearchSession and nsIMsgFilter APIs so that I can share the same JS to add/create terms
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72497 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 19:18:46 +00:00
alecf%netscape.com
8422d18050 oops, missing file from my fix to #40341 r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@72496 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:56:16 +00:00
alecf%netscape.com
01c298c769 add search datasource to base factory (r=sspitzer) for #33101
git-svn-id: svn://10.0.0.236/trunk@72495 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:42:59 +00:00
alecf%netscape.com
f84480d0ee also export the search datasource header so it can be seen from the factory
git-svn-id: svn://10.0.0.236/trunk@72494 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:42:32 +00:00
alecf%netscape.com
1e3e88ccfc add search datasource to unix build (file has been reviewed/tested, this is just adding it to the build, so no reviewer) for #33101
git-svn-id: svn://10.0.0.236/trunk@72493 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:40:07 +00:00
alecf%netscape.com
b336a3fec3 added files: mozilla/mailnews/base/search/src/nsMsgSearchDataSource.cpp
git-svn-id: svn://10.0.0.236/trunk@72492 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:38:12 +00:00
alecf%netscape.com
6a421aa171 fix solaris native compiler bustage for pav
git-svn-id: svn://10.0.0.236/trunk@72491 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:34:49 +00:00
mscott%netscape.com
5cc657553d Bug #41199 --> language extension tweak...don't issue the language request if we don't have a preferred language
nsString to nsAutoString change
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72490 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 18:34:42 +00:00
morse%netscape.com
4437604fad update wallet tables, does not affect build
git-svn-id: svn://10.0.0.236/trunk@72489 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 16:00:20 +00:00
bienvenu%netscape.com
048f34db5f fix for 41754 threads not showing up completely r=jefft
git-svn-id: svn://10.0.0.236/trunk@72488 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 13:48:04 +00:00
ben%netscape.com
6bff5e75d4 fix reference to tasksOverlay.xul
git-svn-id: svn://10.0.0.236/trunk@72487 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 08:09:09 +00:00
ben%netscape.com
a72fb2961d fix mac manifest, remove dead files
git-svn-id: svn://10.0.0.236/trunk@72486 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 07:53:23 +00:00
ben%netscape.com
e9c63f05d1 point dialogOverlay to the correct location for its css file
git-svn-id: svn://10.0.0.236/trunk@72485 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 07:46:43 +00:00
ben%netscape.com
a98d00596f partial fixes for 32347, 30536, 41120
git-svn-id: svn://10.0.0.236/trunk@72484 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:51:16 +00:00
ben%netscape.com
62d44f7d26 remove dead manifests
git-svn-id: svn://10.0.0.236/trunk@72483 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:46:14 +00:00
ben%netscape.com
482155678e update build list
git-svn-id: svn://10.0.0.236/trunk@72482 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:45:34 +00:00
sfraser%netscape.com
7147950f45 Fix the menu code to not hold onto webshells, and to use weak refs for the previous menu stack etc. This allows menus to be cleaned up properly on quit (look ma, no leaks!). Bug 41695. r=saari, pinkerton
git-svn-id: svn://10.0.0.236/trunk@72481 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:38:00 +00:00
ben%netscape.com
8a930cec8b partial fixes for 32347, 30536, 41120
git-svn-id: svn://10.0.0.236/trunk@72480 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:26:47 +00:00
dmose%mozilla.org
adb6a7750f canonicalized method names to proper XPIDL interCaps style. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72479 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:15:23 +00:00
ben%netscape.com
efc0a6b0dc remove dead files
git-svn-id: svn://10.0.0.236/trunk@72478 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:10:26 +00:00
ben%netscape.com
c5ab160b86 removing dead files
git-svn-id: svn://10.0.0.236/trunk@72477 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:09:57 +00:00
ben%netscape.com
224b5e40a2 begin series of checkins containing partial fixes for 32347, 30536, 41120
git-svn-id: svn://10.0.0.236/trunk@72476 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:05:50 +00:00
mscott%netscape.com
56ca94fd4c Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

fix some method signature problems.


git-svn-id: svn://10.0.0.236/trunk@72475 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 03:02:08 +00:00
mscott%netscape.com
bd9ffe483a Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

Add code to actually store the incoming data into a temp file.


git-svn-id: svn://10.0.0.236/trunk@72474 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 02:34:44 +00:00
mscott%netscape.com
f263bd8b3a Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.

initialize an external app handler with an nsIFile which represents the app.


git-svn-id: svn://10.0.0.236/trunk@72473 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 02:34:24 +00:00
warren%netscape.com
662f0fe1e7 Bug 41390. js prompt() contains remember this value checkbox. r=morse
git-svn-id: svn://10.0.0.236/trunk@72472 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:57:36 +00:00
vidur%netscape.com
dc0d9afb5a Fix for bug 15118. XML content sink now processes the DOCTYPE. r=jst,nisheeth
git-svn-id: svn://10.0.0.236/trunk@72471 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:49:19 +00:00
vidur%netscape.com
fc4c72f2e9 Work for bug 33475 - completion of Document related DOM Level 2 support. Load() no longer takes extra unused argument. r=jst,nisheeth
git-svn-id: svn://10.0.0.236/trunk@72470 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:47:02 +00:00
vidur%netscape.com
399e8e229b Work for bug 33475 - completion of Document related DOM Level 2 support. Load no longer takes extra unused argument. r=jst,nisheeth
git-svn-id: svn://10.0.0.236/trunk@72469 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:46:59 +00:00
vidur%netscape.com
42dd385f64 Work for bug 33475 - completion of Document-related DOM Level 2 support. Null-checks for the empty document case. The documentElement can now be replaced. Load() no longer takes extra unused argument. r=jst,nisheeth
git-svn-id: svn://10.0.0.236/trunk@72468 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:46:58 +00:00
waterson%netscape.com
13c02235e0 Fix DEBUG mac build bustage.
git-svn-id: svn://10.0.0.236/trunk@72467 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:38:36 +00:00
pollmann%netscape.com
38da98b6b8 Bug 4891: document.forms[x] fixed for document.written forms r=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72466 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:28:41 +00:00
waterson%netscape.com
e32e7767b4 Bug 42836. Handle null string in NS_ConvertUCS2toUTF8::Init().
git-svn-id: svn://10.0.0.236/trunk@72465 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 01:24:39 +00:00
beard%netscape.com
3f61534047 bug 42100: removed toc file parameter from BuildOneProject, in preparation for landing bigger changes soon. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@72464 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 00:58:07 +00:00
brendan%mozilla.org
d75f1916ed Preserve quoted whitespace in arguments.
git-svn-id: svn://10.0.0.236/trunk@72463 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 00:54:07 +00:00
mscott%netscape.com
94ea22732b Bug #38374 --> more updates for external helper application support. (NOT PART OF THE BUILD)
code review will come when this is done and gets turned on.


git-svn-id: svn://10.0.0.236/trunk@72462 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-17 00:06:26 +00:00
mscott%netscape.com
337f4b2315 Bug #42836 --> attempt to fix crash on linux with migrated profiles by adding some null ptr checks.
r=putterman


git-svn-id: svn://10.0.0.236/trunk@72461 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:45:38 +00:00
tajima%eng.sun.com
3d2fb65027 bugid=41935, a=waterson, r=dcone@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72460 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:38:24 +00:00
nisheeth%netscape.com
72b21b2508 Checking in patch from Andreas to fix Mozilla's XSL hooks (bug 36038). Does not affect the default mozilla build.
git-svn-id: svn://10.0.0.236/trunk@72459 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:29:19 +00:00
beard%netscape.com
b5b34a2a70 bug #19119: added link dependency on PSM[Debug].shlb, added access paths to find PSMClient[Debug.o], PSMProtocol[Debug].o. a=ddrinan, r=gordon
git-svn-id: svn://10.0.0.236/trunk@72458 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:26:53 +00:00
thayes%netscape.com
3ee6c658db Fix double free of item value that is in an arena.
git-svn-id: svn://10.0.0.236/trunk@72457 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:26:16 +00:00
mccabe%netscape.com
19762bc408 Fix for 38495, nsbeta+.
Reinstate previously backed-out fix, now that the nsIScriptablePlugin interface it needs is building successfully on the mac.

a=beard,r=jst


git-svn-id: svn://10.0.0.236/trunk@72456 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:25:00 +00:00
javi%netscape.com
eb6f4713ac Watch out for the case where the user hits Cancel. Don't wanna dead-lock
waiting for a message that will never show up.


git-svn-id: svn://10.0.0.236/trunk@72455 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:22:39 +00:00
thayes%netscape.com
801d77ef42 Bug 26085 - use real version of encryption code for storing wallet data.
r=morse


git-svn-id: svn://10.0.0.236/trunk@72454 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:20:01 +00:00
beard%netscape.com
a0206c0c37 bug 19119: remove build of PSMGlue which now depends on PSM.shlb. r=gordon
git-svn-id: svn://10.0.0.236/trunk@72453 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:07:07 +00:00
thayes%netscape.com
b484456be7 Bug 26085. Fix handling of cancel for Personal Security Password dialog box.
r=morse


git-svn-id: svn://10.0.0.236/trunk@72452 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:01:20 +00:00
beard%netscape.com
108fce50e5 bug 19119: fires up PSM thread explicitly, and waits for it to start. a=ddrinan, r=gordon
git-svn-id: svn://10.0.0.236/trunk@72451 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 23:01:07 +00:00
morse%netscape.com
a28c786ae3 fix bug 42844, wallet table change
git-svn-id: svn://10.0.0.236/trunk@72450 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:56:07 +00:00
garyf%netscape.com
8077ca93be Fixed round off error by making nsTransform2D::TransformCoord(x,y,w,h) round the translation values for the scale & translate case in the same way as nsTransform2D::TransformCoord(x,y). r=evaughan bug=29949
git-svn-id: svn://10.0.0.236/trunk@72449 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:47:34 +00:00
javi%netscape.com
c08e4aac4b Work around for Mozilla. If we're told to wait for a resource to shut down
that isn't a keygen context, sleep for a second so that the user actually
sees the dialog instead of a window that mysteriously appears and disappears
without ever showing them anything.


git-svn-id: svn://10.0.0.236/trunk@72448 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:45:48 +00:00
ddrinan%netscape.com
b1899dd084 Include nslocale component
git-svn-id: svn://10.0.0.236/trunk@72447 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:40:13 +00:00
anthonyd%netscape.com
8febe65f8c warning fixes for linux. r: mjudge a: beppe
git-svn-id: svn://10.0.0.236/trunk@72446 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:28:10 +00:00
av%netscape.com
a7185b0ff0 Fixing 38094 with patch by sean@beatnik.com, ra=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@72445 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:27:16 +00:00
beard%netscape.com
6aa82d3011 bug 19119: export file for PSM[Debug].shlb.
git-svn-id: svn://10.0.0.236/trunk@72443 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:25:43 +00:00
mstoltz%netscape.com
3d1b833a1e Dogfood bug 42076 - allowing file:// urls to load chrome:// URLs. r=evaughan.
git-svn-id: svn://10.0.0.236/trunk@72442 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:22:38 +00:00
valeski%netscape.com
a6fbe82412 fixing a leak
git-svn-id: svn://10.0.0.236/trunk@72441 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:21:50 +00:00
beard%netscape.com
0f612d18b0 bug 19119, changes for XP_MAC to allow client to synchronize with server thread. a=ddrinan, r=gordon
git-svn-id: svn://10.0.0.236/trunk@72440 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:21:16 +00:00
attinasi%netscape.com
82685de2d9 New Performance data: not part of build
git-svn-id: svn://10.0.0.236/trunk@72439 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:20:19 +00:00
beard%netscape.com
1a34e48c9c (not part of build) added nlslayer.cpp.
git-svn-id: svn://10.0.0.236/trunk@72438 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:18:38 +00:00
waterson%netscape.com
9d994e1889 Fix mac bustage: JSObject is an opaque type here.
git-svn-id: svn://10.0.0.236/trunk@72436 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:17:46 +00:00
ducarroz%netscape.com
f9d206e0c0 Fix for bug 41828. Do not autocomplete if the user is not typing at the end of the text. R=mscott
git-svn-id: svn://10.0.0.236/trunk@72435 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:17:34 +00:00
nhotta%netscape.com
ddd32037e9 Added code to parse Content-Type charset and store to DB, bug 33101, r=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@72434 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:17:06 +00:00
nhotta%netscape.com
d83d73ebb3 Changed the line wrap code to take care character width, contrituted by bratell@lysator.liu.se, bug 41453, r=akkana,nhotta.
git-svn-id: svn://10.0.0.236/trunk@72433 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:16:14 +00:00
kmcclusk%netscape.com
105e5c18f1 Removed clipwidget used by ender-lite widgets. b=35740 r=rods@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72432 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:11:43 +00:00
javi%netscape.com
03d6fd60c6 Some tweaks to key gen context and oldfunc.c so that Mozilla can more
easily handle the KEYGEN tag.


git-svn-id: svn://10.0.0.236/trunk@72431 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:08:16 +00:00
ducarroz%netscape.com
718f59007b FIx for bug 42088. Do not try to hidde a window that we have juste closed!!! r=mscott
git-svn-id: svn://10.0.0.236/trunk@72430 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:06:41 +00:00
javi%netscape.com
93c008cfd0 Make some API changes so that the Mozilla client can more easily handle
the KEYGEN tag.


git-svn-id: svn://10.0.0.236/trunk@72429 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:05:18 +00:00
edburns%acm.org
7af4ea35a6 Removed accidentally introduced ^M's
git-svn-id: svn://10.0.0.236/trunk@72428 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:59:04 +00:00
pavlov%netscape.com
db5a1c5e8f patch from Scott Schram (scott@ruthie.com) to add css2/3 cursor support on unix (bug 38444) a=brendan
git-svn-id: svn://10.0.0.236/trunk@72427 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:54:47 +00:00
ruslan%netscape.com
6fa6ba72ba Fix potential crasher (42714), r/a=gagan
git-svn-id: svn://10.0.0.236/trunk@72426 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:49:43 +00:00
waterson%netscape.com
dba54e0bba Bug 12874. Remove unnecessary refcount hackery. This hasn't been necessary since we made NS_IMPL_ISUPPORTS and friends stabilize refcount before calling dtor.
git-svn-id: svn://10.0.0.236/trunk@72425 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:47:13 +00:00
waterson%netscape.com
5a1c1073a1 Bug 39699. Add re-entrancy guards so that we ignore updates while we're in the middle of building content. r=rjc
git-svn-id: svn://10.0.0.236/trunk@72424 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:46:04 +00:00
valeski%netscape.com
51f1dd1c1d 35506. r=warren. File transport now fires OnStart for *all* loads.
git-svn-id: svn://10.0.0.236/trunk@72423 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:46:03 +00:00
waterson%netscape.com
3268ebcce6 Bug 39699. Ignore errors from nsIFile, hyatt-style! seriously, though: nsIFile returns random error codes per-platform when you ask if a non-existant file is a directory. This was causing the RDF enumeration to abort prematurely for no good reason. r=rjc
git-svn-id: svn://10.0.0.236/trunk@72422 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:45:00 +00:00
waterson%netscape.com
3f98638bc1 Bug 41855. Hold on to the nsIScriptContext instead of the raw JSContext. This ensures that the JSContext won't be yanked out from beneath us. r=shaver
git-svn-id: svn://10.0.0.236/trunk@72421 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:43:04 +00:00
despotdaemon%netscape.com
ea8d1940c4 Pseudo-automatic update of changes made by jab@atdot.org.
git-svn-id: svn://10.0.0.236/trunk@72420 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:40:09 +00:00
mscott%netscape.com
f062d901b2 Bug #38374 --> foundation for helper app architecture.
Not part of the build yet. review will come when this is ready to go.


git-svn-id: svn://10.0.0.236/trunk@72419 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:35:13 +00:00
mscott%netscape.com
c209efd840 Bug #38374 --> foundation for helper app architecture. Windows specific implementation of the
helper app service.
Not part of the build yet. review will come when this is ready to go.


git-svn-id: svn://10.0.0.236/trunk@72418 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:34:35 +00:00
akkana%netscape.com
7f48615b17 Warning fix (part of checkin for 38154). r=cmanske
git-svn-id: svn://10.0.0.236/trunk@72417 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:24:06 +00:00
pinkerton%netscape.com
c5fee124d0 add new grid-tree files for hyatt. bug# 30511. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@72416 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:24:05 +00:00
akkana%netscape.com
327c9217ba 38154: include user-defined tags in html output. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@72415 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:23:48 +00:00
akkana%netscape.com
1d30268f47 Make table tests run on linux; add comments explaining how to run them.
Needed for testing 41916.  r=karnaze


git-svn-id: svn://10.0.0.236/trunk@72414 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:23:16 +00:00
akkana%netscape.com
7bd950e195 Ignore files generated by table tests. r=karnaze
git-svn-id: svn://10.0.0.236/trunk@72413 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:22:50 +00:00
akkana%netscape.com
0044c43edb 41916: Remove <td> from the list of inline tags; don't include the enclosing
<td> in a selection that happens to fall inside a table cell. r=rickg


git-svn-id: svn://10.0.0.236/trunk@72412 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:22:00 +00:00
mscott%netscape.com
f82d87f16a Bug #40116 --> check to see if the channel was canceled before
propogating calls to the content listener...
this is actually warren's code.
r=mscott


git-svn-id: svn://10.0.0.236/trunk@72411 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:21:57 +00:00
mscott%netscape.com
a8d1fa1f0e Bug #40116 --> check to see if the channel was canceled before
propogating calls to the content listener...
r=valeski


git-svn-id: svn://10.0.0.236/trunk@72410 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:21:04 +00:00
dmose%mozilla.org
1131c95ec9 pull the LDAP C SDK code by default (it's on a branch). a=r=leaf@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@72409 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:20:18 +00:00
mscott%netscape.com
8320a56cd0 Bug #42016 --> fix by Ben Bucksch
r=mscott, a=waterson


git-svn-id: svn://10.0.0.236/trunk@72408 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:20:13 +00:00
beard%netscape.com
cf240ee6c4 bug #19119: Added call to initialize Mac toolbox. (not part of build)
git-svn-id: svn://10.0.0.236/trunk@72407 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 21:12:27 +00:00
javi%netscape.com
ce876e1ffb Add some attributes to query URL's for setting the password and for
choosing which token to use when processing a KEYGEN tag.x


git-svn-id: svn://10.0.0.236/trunk@72404 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 20:48:25 +00:00
dmose%mozilla.org
444572d5d5 changed nsILDAPOperation::Result() to use PRIntervalTime rather than PRTime for the timeout value. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72403 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 19:16:59 +00:00
ruslan%netscape.com
b24f1a5d39 Continuing preparations for SOCKS landing. Not part of the build
git-svn-id: svn://10.0.0.236/trunk@72402 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 18:44:04 +00:00
ruslan%netscape.com
cc6cdd5fb4 Some future design work. Not part of any build
git-svn-id: svn://10.0.0.236/trunk@72399 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 18:17:59 +00:00
ruslan%netscape.com
43b6ebd1a0 Preparing for landing of SOCKS support (16103) from justin@ukans.edu
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@72398 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 17:53:22 +00:00
ddrinan%netscape.com
5dceecbad0 Fixed build bustage for linux
git-svn-id: svn://10.0.0.236/trunk@72397 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 17:17:49 +00:00
vidur%netscape.com
18748f8353 First cut of XMLSerializer and XMLHttpRequest. This is WIP and not part of the Mozilla/Seamonkey build.
git-svn-id: svn://10.0.0.236/trunk@72396 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 16:52:09 +00:00
valeski%netscape.com
a2d7511623 fixing assertion
git-svn-id: svn://10.0.0.236/trunk@72395 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 16:20:29 +00:00
valeski%netscape.com
798b59895f missed an arg.
git-svn-id: svn://10.0.0.236/trunk@72394 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 15:02:14 +00:00
valeski%netscape.com
5297878f1d 42767. AsyncOpen (dead code) removal.
git-svn-id: svn://10.0.0.236/trunk@72393 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:59:30 +00:00
danm%netscape.com
3b897ee5f4 use nsIPrompt supplied by nsHTTPChannel for bringing up cookie dialog. bugs 25684,28594. r=morse@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72392 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:56:47 +00:00
danm%netscape.com
c318e40ece supply nsIPrompt to streamloader created when processing a script tag. bugs 25684,28594. r=nisheeth@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72391 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:54:57 +00:00
danm%netscape.com
30659fd9ec adding accessor for nsIPrompt member variable. bugs 25684,28594. r=gagan@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72390 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:52:53 +00:00
leaf%mozilla.org
24afa3867d Automated update
git-svn-id: svn://10.0.0.236/trunk@72389 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:45:09 +00:00
valeski%netscape.com
a6c10e4ead 42767. AsyncOpen (dead code) removal.
git-svn-id: svn://10.0.0.236/trunk@72388 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:44:36 +00:00
valeski%netscape.com
23654db003 42767. AsyncOpen (dead code) removal.
git-svn-id: svn://10.0.0.236/trunk@72387 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:39:19 +00:00
mkaply%us.ibm.com
535e2f55e5 # 42637
r = mkaply, a = brendan
OS/2 bring-up  - makefile changes to build resource files


git-svn-id: svn://10.0.0.236/trunk@72386 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:33:17 +00:00
mkaply%us.ibm.com
7c24e14eba # 40177
r = cls, a = brendan
OS/2 bring-up  - VisualAge changes for configure.in


git-svn-id: svn://10.0.0.236/trunk@72385 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:31:03 +00:00
cmanske%netscape.com
3d1ca91fb9 Fixed paragraph, heading, and list menus and check state: bug 41735, r=brade
git-svn-id: svn://10.0.0.236/trunk@72384 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:22:12 +00:00
cmanske%netscape.com
7d50f98cd8 Fixed list command problems: bug 41735, r=brade
git-svn-id: svn://10.0.0.236/trunk@72383 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:21:46 +00:00
cmanske%netscape.com
9c095c8dc4 Added list commandset; part of bug 41735, r=brade
git-svn-id: svn://10.0.0.236/trunk@72382 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:21:39 +00:00
mkaply%us.ibm.com
ae18c5038b # 42637
r = mkaply, a = brendan
OS/2 bring-up  - fixes for nsWindow.* and menu code


git-svn-id: svn://10.0.0.236/trunk@72381 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:18:49 +00:00
mkaply%us.ibm.com
a7340f6ae8 # 40177
r = leaf, a = brendan
OS/2 bring-up for M16 - need additional TIMER lib for OS/2


git-svn-id: svn://10.0.0.236/trunk@72380 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:12:04 +00:00
mkaply%us.ibm.com
fe7123ad19 # 40177
r = cls, a = brendan
OS/2 bring-up for M16 - add OS/2 to config.* files - also submitting to autoconf


git-svn-id: svn://10.0.0.236/trunk@72379 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:06:23 +00:00
kin%netscape.com
fccb6df0e3 Fix for bug #41206: Text inserted into composer is initially invisible
Removed call to FlushPendingNotifications() in SetCaretEnabled()
because it causes a reflow during painting. That can cause certain
view updates to be dropped on the floor on Linux. Also removed
tab characters in SetCaretEnabled().

r=sfraser@netscape.com, a=beppe@netscape.com


git-svn-id: svn://10.0.0.236/trunk@72378 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 14:05:03 +00:00
jefft%netscape.com
92a2eb55bc fixed bug 32178 -- Undo: completely unpredictable when it will enable or work; r=scottip, bienvenu
git-svn-id: svn://10.0.0.236/trunk@72377 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 13:48:02 +00:00
jst%netscape.com
3e8ddbd2cb Fixing nsbeta2+ bug 41588, accessing document.documentElement on an empty document in JS threw a NS_ERROR_FAILURE exception in stead of just returning null. r=heikki@citec.fi
git-svn-id: svn://10.0.0.236/trunk@72376 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 13:37:46 +00:00
bienvenu%netscape.com
f8e1e24a32 override delete model for aol server, r=sspitzer 32519
git-svn-id: svn://10.0.0.236/trunk@72375 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 13:31:51 +00:00
bienvenu%netscape.com
3aaa3fee22 fix fmr in imap parser causing envelope parser problems r=jefft 42498
git-svn-id: svn://10.0.0.236/trunk@72374 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 13:24:19 +00:00
bienvenu%netscape.com
a0adb56627 more work on search BE, 33101 r=alecf parse local folders before searching
git-svn-id: svn://10.0.0.236/trunk@72373 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 13:21:41 +00:00
jst%netscape.com
3152e30813 Fixing well-formedness error in XUL overlay file that prevents mozilla from even opening the first browser window, r=brade&disttsc@bart.nl
git-svn-id: svn://10.0.0.236/trunk@72372 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 13:09:36 +00:00
rods%netscape.com
3910c6d504 input type=image need to create their "alt" text
b=24778 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@72371 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 12:57:44 +00:00
morse%netscape.com
134a4a2d66 bugs 41390 and 41419, wallet editor fixes
git-svn-id: svn://10.0.0.236/trunk@72370 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 12:57:32 +00:00
rods%netscape.com
2597ebacec image buttons need their font set for "alt" text
b=24778 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@72369 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 12:56:02 +00:00
morse%netscape.com
c7fdf58e56 bugs 42475, 42550, and 42436 r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72368 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 12:51:14 +00:00
morse%netscape.com
fb223e9b7c bugs 42475, 42550, and 42436 r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72367 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 12:44:04 +00:00
sgehani%netscape.com
81c4f9a108 Allow for more component names in setup type description without falling off. (nsbeta2+)
[b=41353; r=dveditz]


git-svn-id: svn://10.0.0.236/trunk@72366 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 10:44:33 +00:00
pavel%gingerall.cz
01d10dc6a7 - workaround of -rdynamic (JS_PERLCONNECT only)
git-svn-id: svn://10.0.0.236/trunk@72365 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 08:56:03 +00:00
rjc%netscape.com
14ac16bebc Fix nsbeta2+ bug # 40365: update search files from Netcenter. r/a=me
git-svn-id: svn://10.0.0.236/trunk@72364 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 08:26:36 +00:00
mccabe%netscape.com
8e6c612c26 Build nsIScriptablePlugin.idl on the mac; remaining part of fix for 39911. a=beard,r=don
git-svn-id: svn://10.0.0.236/trunk@72363 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 08:23:28 +00:00
BlakeR1234%aol.com
150979855e Fix for bug 41900 r=dveditz a=verah
git-svn-id: svn://10.0.0.236/trunk@72362 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 08:05:06 +00:00
warren%netscape.com
af2c72d1b7 Bug 42283. Crash downloading jar file.
git-svn-id: svn://10.0.0.236/trunk@72361 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:47:46 +00:00
alecf%netscape.com
a55c6aacac oops, missed a properties file with last checkin (#33101)
git-svn-id: svn://10.0.0.236/trunk@72360 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:45:38 +00:00
alecf%netscape.com
a87583f4cc update examples for people looking to hook up ISPs to the account wizard (not part of build)
git-svn-id: svn://10.0.0.236/trunk@72359 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:44:22 +00:00
alecf%netscape.com
e8000a5455 make the search folder picker come from the folder picker overlay, and make it update correctly, plus start to hook up the datasources to the thread pane in the search window
r=sspitzer
part of bug #33101


git-svn-id: svn://10.0.0.236/trunk@72358 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:43:42 +00:00
BlakeR1234%aol.com
9f5dcee0a1 Oops...overwrote rbs@maths.uq.edu.au's changes. sorry
git-svn-id: svn://10.0.0.236/trunk@72357 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:43:35 +00:00
alecf%netscape.com
9d9053792b update search datasource for #33101 - allow nsIMessages to be created from nsIMsgDBHdrs, and get rid of extraneous attribute from the search hit notify listener
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72356 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:41:37 +00:00
brade%netscape.com
320e017be4 improved detection of edit fields; r/a=law a=beppe (bug #14874)
git-svn-id: svn://10.0.0.236/trunk@72355 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:37:44 +00:00
rickg%netscape.com
de64f8f668 fixed a few nsbeta2+ bugs; r=harishd and kmcclusk
git-svn-id: svn://10.0.0.236/trunk@72354 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:28:02 +00:00
BlakeR1234%aol.com
c2d42fa98d Fix nsbeta2+ bug 41614 r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72353 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:21:05 +00:00
BlakeR1234%aol.com
16ca13a932 Fix for nsbeta2+ bug 41614 r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72352 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:19:21 +00:00
tor%cs.brown.edu
596ea132b1 Patch from roc+moz@cs.cmu.edu to get this building on windows.
Not in default build.  r=tor


git-svn-id: svn://10.0.0.236/trunk@72351 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 07:02:42 +00:00
heikki%citec.fi
1b1b0cd15f Bug 41908. Implemented Open in New Window for simple XLinks. Relative URLs and XML Base do not yet work. r=law&jst.
git-svn-id: svn://10.0.0.236/trunk@72350 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:59:36 +00:00
rpotts%netscape.com
1e04a2e702 bug #39797. Fixed unknown content-type sniffer to handle 8-bit characters...
git-svn-id: svn://10.0.0.236/trunk@72349 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:15:13 +00:00
sfraser%netscape.com
f5dc32b34c Fix bug 42145 -- need to clear the editor out of the editor controller when the text frame is going away (like when its content is hidden in a popup window). r=kin
git-svn-id: svn://10.0.0.236/trunk@72348 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:09:33 +00:00
sfraser%netscape.com
f7448c53e6 Belt-and-braces check for bug 42145; check for null args. r=akkana
git-svn-id: svn://10.0.0.236/trunk@72347 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:06:55 +00:00
sfraser%netscape.com
25d51d7143 Remove obsolete charset menu cruft. r=fm
git-svn-id: svn://10.0.0.236/trunk@72346 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:05:51 +00:00
ssu%netscape.com
de5fe27bfa fixing nsbeta2+ bug #41581. [regression]the installer only wants to install to a top-level directory on the disk (e.g., c:\Mozilla). r=sgehani. affects windows platforms only
git-svn-id: svn://10.0.0.236/trunk@72345 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:02:01 +00:00
sfraser%netscape.com
2316120009 Partial fix for bug 42098 -- leakage of XUL doc and editor in composer window. This change fixes the doc leak, but the nsEditorShell still leaks. This fix is a band-aid until 42530 is fixed. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72344 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 06:01:19 +00:00
cotter%netscape.com
864c4204ea Updated OSCP help.
git-svn-id: svn://10.0.0.236/trunk@72343 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 05:45:58 +00:00
brendan%mozilla.org
7a227ba4ec sfraser@netscape.com's fine GC_MARK_DEBUG enhancement for XPConnect.
git-svn-id: svn://10.0.0.236/trunk@72342 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 04:34:00 +00:00
dmose%mozilla.org
30a76fc5b2 first cut at some new-style windows makefiles for the C SDK. these don't really work yet - they are being checked in to allow other developers to collaborate on them. a=r=(not built)
git-svn-id: svn://10.0.0.236/trunk@72341 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 02:35:41 +00:00
ddrinan%netscape.com
badc3f1ac6 Fix for bug# 34384
git-svn-id: svn://10.0.0.236/trunk@72339 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:47:18 +00:00
rogerl%netscape.com
63176f2628 Added tests for scripts as strings.
git-svn-id: svn://10.0.0.236/trunk@72338 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:37:47 +00:00
rogerl%netscape.com
5f2e9befeb Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.


git-svn-id: svn://10.0.0.236/trunk@72337 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
ebaa77a03f Fixed spelling.
git-svn-id: svn://10.0.0.236/trunk@72336 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:35:25 +00:00
pollmann%netscape.com
781f953b02 Reenabling my change, not part of smoketest bustage. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72335 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:21:56 +00:00
pierre%netscape.com
584e941a6d #42139 "background-position misinterpreted with fixed backgrounds". Fixed a regression introduced during the last checkin. r=attinasi.
git-svn-id: svn://10.0.0.236/trunk@72334 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 00:50:56 +00:00
cyeh%bluemartini.com
2100d31ebd add url for where to find the latest libgd
git-svn-id: svn://10.0.0.236/trunk@72333 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 00:50:49 +00:00
mcgreer%netscape.com
84112f1bce attempt to add token support for listing certs & keys
git-svn-id: svn://10.0.0.236/trunk@72332 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 00:38:44 +00:00
mcgreer%netscape.com
92d86935db more cleanup on cert listing
git-svn-id: svn://10.0.0.236/trunk@72331 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 00:36:43 +00:00
waterson%netscape.com
9f0f77a822 Bug 42518. Remove bogus re-implementation of GetCurrentSession(). r=pink
git-svn-id: svn://10.0.0.236/trunk@72330 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 00:32:17 +00:00
pollmann%netscape.com
884e996435 Temporarily disabling my change to help narrow down smoketest bustage. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72329 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 00:23:21 +00:00
karnaze%netscape.com
0810fad6c2 bug 42726 - back out previous checkin.
git-svn-id: svn://10.0.0.236/trunk@72328 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 23:39:49 +00:00
scc%mozilla.org
900f215543 undo the change of the 10th. The code is still in, conditioned on |NS_DONT_USE_CHUNKY_STRING_ALLOCATION|. The performance hit was unacceptable, and checking the original change in on the tip was a mistake. r=rpotts; a=leaf, phil
git-svn-id: svn://10.0.0.236/trunk@72327 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 22:13:19 +00:00
radha%netscape.com
6b81b2f605 Fix for bug # 41373. r=pollmann. a=don,phil,leger,leaf
git-svn-id: svn://10.0.0.236/trunk@72326 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 22:08:25 +00:00
ddrinan%netscape.com
d0057568a9 Use M16 version of nlslayer for unix
git-svn-id: svn://10.0.0.236/trunk@72324 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 21:34:56 +00:00
sspitzer%netscape.com
a092cc2d34 workaround for smoketest blocker #42686
now we assert and gracefully continue, instead of crashing.
I'll go give this bug to a better owner.  a=brade, r=mscott


git-svn-id: svn://10.0.0.236/trunk@72323 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 21:20:19 +00:00
thayes%netscape.com
0be4db9ae1 Change password prompt and retry text.
git-svn-id: svn://10.0.0.236/trunk@72322 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 21:13:35 +00:00
javi%netscape.com
720cc9bec3 Add help targets for cert pretty print and issuer not found when walking
the certificate chain.


git-svn-id: svn://10.0.0.236/trunk@72321 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 21:02:45 +00:00
mcs%netscape.com
7b93ae9b59 removed old project and .exp files.
git-svn-id: svn://10.0.0.236/trunk@72319 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 20:31:13 +00:00
ddrinan%netscape.com
d30cd61bec Use the M16 version of nlslayer
git-svn-id: svn://10.0.0.236/trunk@72318 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 20:22:12 +00:00
ddrinan%netscape.com
e5e2013da6 Use the intl M16 interfaces
git-svn-id: svn://10.0.0.236/trunk@72317 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 20:02:52 +00:00
Peter.VanderBeken%pandora.be
6b63ee0f89 Reenable creation of HTML elements in XML documents. r=nisheeth, r=kin, a=waterson.
git-svn-id: svn://10.0.0.236/trunk@72315 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 17:48:19 +00:00
rogerl%netscape.com
f7ed7da244 Added op= support.
git-svn-id: svn://10.0.0.236/trunk@72314 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 16:03:54 +00:00
karnaze%netscape.com
0b74ec8686 bug 41306 - remove special cell auto percentage base code, r=rods
git-svn-id: svn://10.0.0.236/trunk@72313 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 14:54:04 +00:00
karnaze%netscape.com
7e1b9a4668 bug 40721 - better in determining if height of a cell gets smaller during incremental reflow, r=rods
git-svn-id: svn://10.0.0.236/trunk@72312 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 14:31:12 +00:00
dbragg%netscape.com
7d9c34376b fix for nsbeta2+ bugs 37363 and 39157. r=dveditz
git-svn-id: svn://10.0.0.236/trunk@72311 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 14:28:28 +00:00
cmanske%netscape.com
68affc7086 Optimized stylesheet code to not enable/disable unecessarily, avoiding extra reflows. For bug 40767, r=akkana
git-svn-id: svn://10.0.0.236/trunk@72310 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 14:17:13 +00:00
nboyd%atg.com
45295349db Wrapping a class produces a NativeJavaClass.
git-svn-id: svn://10.0.0.236/trunk@72309 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 14:00:31 +00:00
pete%alphanumerica.com
21978cfb33 r=dougt,brendan a=dougt
not part of the build.

--pete


git-svn-id: svn://10.0.0.236/trunk@72308 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 13:16:49 +00:00
rods%netscape.com
f58dc37a07 removed the incremental reflow targeted at the display text
instead we just reflow the text and the button each time.
b=40644 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@72307 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 13:02:10 +00:00
rods%netscape.com
1a499e2d1a ifdef'ing out the where we get the value of the label
currently we aren't supporting "label" for options because they get
concatentated with the content
b=4050 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@72306 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 13:00:23 +00:00
rods%netscape.com
40f308956d ifdef'ing out the where we get the value of the label
b=4050 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@72305 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 12:58:54 +00:00
sdv%sparc.spb.su
5fd3575052 addon to fix a bug=42336
git-svn-id: svn://10.0.0.236/trunk@72304 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 11:14:47 +00:00
rjc%netscape.com
7fbc71dde2 Fix nsbeta2+ bug # 40367: auto-updating of search files. r=gagan,sdagley a=don
git-svn-id: svn://10.0.0.236/trunk@72303 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 10:36:40 +00:00
rbs%maths.uq.edu.au
87933691a6 Commented section that was enabled in my tree
git-svn-id: svn://10.0.0.236/trunk@72302 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 10:15:27 +00:00
rbs%maths.uq.edu.au
2bd5335be3 Change invalid REC-html40 to correct XHTML namespace. b:7834. a:ekrock@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72301 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 10:11:03 +00:00
rbs%maths.uq.edu.au
de23cc3486 Change invalid REC-html40 to correct XHTML namespace. b:7834. a:ekrock@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72300 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 09:54:41 +00:00
BlakeR1234%aol.com
52eb7c31a5 Fix for bug 4162. r=ben a=waterson
git-svn-id: svn://10.0.0.236/trunk@72299 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 07:33:35 +00:00
mccabe%netscape.com
c3790a20ac Bustage occurred, not sure if it's me, but mine was the only checkin in layout; backing out just in case.
git-svn-id: svn://10.0.0.236/trunk@72298 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:53:18 +00:00
waterson%netscape.com
b84772d2c3 Fix UMRs.
git-svn-id: svn://10.0.0.236/trunk@72297 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:42:27 +00:00
alecf%netscape.com
7a9f7cd21f oops, fix a typo in the last checkin
git-svn-id: svn://10.0.0.236/trunk@72296 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:42:18 +00:00
alecf%netscape.com
00489292b9 null-pointer check to attempt to fix #42271
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72295 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:41:25 +00:00
waterson%netscape.com
c2a827c3b4 Fix leak.
git-svn-id: svn://10.0.0.236/trunk@72294 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:41:17 +00:00
sspitzer%netscape.com
ad3905ebd0 fix error message in build log. this is not for the build bustage.
git-svn-id: svn://10.0.0.236/trunk@72293 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:40:36 +00:00
ssu%netscape.com
4c9b4b8cf1 Patch from gemal@gemal.dk that fixes bugs:
#38456 - ":" should not be in "Destination Directory:"
  #38563 - New title to exit installer dialog
  #34857 - "Total download size" should be "Total Install Size"

did not apply part of patch that fixes bug #33342 because I need marketing approval.  I reassigned that bug to the appropriate approver.

a=leaf
r=sgehani

affects only windows platforms.


git-svn-id: svn://10.0.0.236/trunk@72292 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:37:50 +00:00
ssu%netscape.com
5af3030df4 Patch from BlakeR1234@aol.com that fixes bug #42203. Typo in xpinstall.properties string. a=leaf r=sgehani
git-svn-id: svn://10.0.0.236/trunk@72291 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:20:15 +00:00
ssu%netscape.com
060825d5c7 fixing bug #42203. Typo in xpinstall.properties string. a=leaf r=sgehani
git-svn-id: svn://10.0.0.236/trunk@72290 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:18:08 +00:00
mccabe%netscape.com
1491849620 Fix for 38495, nsbeta+.
Teach EmbedElements how to expose plugin objects via XPConnect, after using the nsIScriptablePlugin interface to find an appropriate interface to expose.

r=jst
a=beard


git-svn-id: svn://10.0.0.236/trunk@72289 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 06:07:35 +00:00
sspitzer%netscape.com
51ec51304a remove unnecessary line. part of my checkin for #1181
git-svn-id: svn://10.0.0.236/trunk@72288 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:52:02 +00:00
bryner%uiuc.edu
955cf36671 Fix nsbeta2+ bug 39633. r=kin.
git-svn-id: svn://10.0.0.236/trunk@72287 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:31:32 +00:00
sspitzer%netscape.com
5e3a130175 pass the ns<foo>Stream by reference, not by value. thanks to sfraser
for pointing out the mistake in this copied code.


git-svn-id: svn://10.0.0.236/trunk@72286 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:28:31 +00:00
sspitzer%netscape.com
a9244f361b part of fix for #1182. when migrating an imap user, add the
default templates to Local Folders/Templates.  r=alecf


git-svn-id: svn://10.0.0.236/trunk@72285 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:14:02 +00:00
chuang%netscape.com
f8c754cb4e Bug 32286 Edit mailing list in address book, r=putterman
git-svn-id: svn://10.0.0.236/trunk@72284 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:10:03 +00:00
tara%tequilarista.org
1763585622 Fixing bug #17779 with patch from cdurst@world.std.com
git-svn-id: svn://10.0.0.236/trunk@72283 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:07:13 +00:00
sspitzer%netscape.com
f430774552 fix #1181. make it so we install templates into bin/defaults/Templates and
bin/defaults/en-US/Templates.  then fix it so we check in the locale
directory first, and fall back to the other one if we have too.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@72282 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 05:04:49 +00:00
putterman%netscape.com
19427a3374 fix for 37972 and 37976. Enable address book collection prefs for incoming and outgoing
mail. r=sspitzer.


git-svn-id: svn://10.0.0.236/trunk@72281 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 04:57:16 +00:00
cls%seawood.org
25f73a5b2a Adding MOZ_JS_LIBS to EXTRA_DSO_LDOPTS for BeOS. Bug #42562
git-svn-id: svn://10.0.0.236/trunk@72280 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:49:52 +00:00
dbaron%fas.harvard.edu
4c9e389cd9 Fix bug 38766 (JS errors given wrong for linked scripts in XML documents), nsbeta2+. r=harishd@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72279 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:33:22 +00:00
dbaron%fas.harvard.edu
a93592acd2 Code for nsCOMPtr leak logging, a new tool to help debug memory leaks (not yet fully enabled on non-autoconf platforms). r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72278 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:23:55 +00:00
dbaron%fas.harvard.edu
f42beb99b8 Fix bug 38766 (JS errors given wrong for linked scripts in XML documents), nsbeta2+. r=harishd@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72277 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:22:09 +00:00
dbaron%fas.harvard.edu
d567a6243d Change MOZ_DECL_CTOR_COUNTERs that I added to use ;, as all others do. r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72276 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:20:30 +00:00
dbaron%fas.harvard.edu
cbaaa66fd8 Count various classes in leak/bloat logs. r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72275 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:18:32 +00:00
dbaron%fas.harvard.edu
d83741b111 Fix leak of XMLElementFactoryImpl. r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72274 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:16:28 +00:00
dbaron%fas.harvard.edu
b71cd6c86c Fix leak of nsImageGTK (or equivalent on other platforms). r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72273 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:15:36 +00:00
leaf%mozilla.org
3e6d574717 Automated update
git-svn-id: svn://10.0.0.236/trunk@72272 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:15:09 +00:00
dbaron%fas.harvard.edu
7f52a2baa5 Fix leaks of nsHTMLHeadElement. r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72271 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:14:16 +00:00
dbaron%fas.harvard.edu
3d55e5aa70 Changes to turn on nsCOMPtr leak logging on autoconf based platforms. r=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@72270 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:13:07 +00:00
dougt%netscape.com
d4ad25f8dd added files: mozilla/netwerk/base/public/nsIWebFilters.idl
git-svn-id: svn://10.0.0.236/trunk@72269 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 02:04:28 +00:00
rhp%netscape.com
9f63cb7f2c Fix for null pointer access crasher - Bug #: 42359 - r: scottip
git-svn-id: svn://10.0.0.236/trunk@72268 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 01:53:39 +00:00
dougt%netscape.com
b6f1faf5f3 Fixing nsIWebFilters not being handled by the http handler. Also making
CreateInstance=>GetService.

r= gagan@netscape.com, a=brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@72267 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 01:50:08 +00:00
ducarroz%netscape.com
808aa7a846 Fix for bug 41266. Don't clone the popup node else the XBL binding wont work! Also, close the popup menu when the use start typing again else it will not open all the time. R=mscott
git-svn-id: svn://10.0.0.236/trunk@72266 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 01:48:41 +00:00
sgehani%netscape.com
e8fe000dc1 No longer remove the old core directory eliminating potential OS file manager sync'ing issues causing component registration errors. (nsbeta2+)
[b=41376; r=dveditz]


git-svn-id: svn://10.0.0.236/trunk@72265 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 01:10:34 +00:00
av%netscape.com
f06fee1ede Addressing bug #41276, r=sean@beatnik.com
git-svn-id: svn://10.0.0.236/trunk@72264 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 01:07:27 +00:00
despotdaemon%netscape.com
ff7a18d43f Pseudo-automatic update of changes made by BlakeR1234@aol.com.
git-svn-id: svn://10.0.0.236/trunk@72263 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:56:26 +00:00
hyatt%netscape.com
b5fe320678 Classic change for twisty nsbeta2= bug. r=ben
git-svn-id: svn://10.0.0.236/trunk@72262 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:45:04 +00:00
hyatt%netscape.com
dbb7c92107 Bug #41266, r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@72261 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:40:14 +00:00
varada%netscape.com
ba4b7ba0a3 fix for bug #32963- including Mail/News Account Settings in mail compose window menu
git-svn-id: svn://10.0.0.236/trunk@72260 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:40:13 +00:00
scc%mozilla.org
85ba05cab0 Fix for an assert that has been bugging rods, particularly when testing with the top 100. The assert is the string |CharAt| out-of-range assert. The problem is the code was iterating off the end of the string to stop at the implicit |'\0'|. But there need not be null termination and accessing outside the strings defined range is bad. Fixed the loop in question to not step outside of the token string, and to iterate more efficiently. r=waterson
git-svn-id: svn://10.0.0.236/trunk@72259 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:39:21 +00:00
pollmann%netscape.com
d5ebd0e9c7 Bug 32770: Save scroll position in session history r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72258 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:35:46 +00:00
brendan%mozilla.org
bcefbad6b8 Use nsAutoString rather than auto nsString (r=scc,evaughan).
git-svn-id: svn://10.0.0.236/trunk@72257 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 00:08:47 +00:00
buster%netscape.com
86be006781 fixing a platform compile problem
git-svn-id: svn://10.0.0.236/trunk@72256 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:58:41 +00:00
pollmann%netscape.com
1783536d2e Fixing Linux build bustage
git-svn-id: svn://10.0.0.236/trunk@72255 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:58:31 +00:00
garywade%netscape.com
dfde09b674 Bug 30300/6588
Fixed the way that font preferences were proliferated in order that the user-defined font settings could be used.


git-svn-id: svn://10.0.0.236/trunk@72254 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:40:25 +00:00
garywade%netscape.com
2ef163234f Bug 30300/6588
Needed to turn off inlining of functions in the debug target to facilitate debugging.


git-svn-id: svn://10.0.0.236/trunk@72253 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:39:02 +00:00
pollmann%netscape.com
651f5e094f Bug 32770: Save scroll position in session history r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@72252 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:37:06 +00:00
alecf%netscape.com
1bf121d580 fix for #40341 - enable/disable filters
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72251 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:36:12 +00:00
robinf%netscape.com
6b1080a2f2 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@72250 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:35:24 +00:00
rogerl%netscape.com
4be5f4c80d Mark top-level execution as 'script' rather than function - to handle
vars correctly.


git-svn-id: svn://10.0.0.236/trunk@72249 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:28:38 +00:00
rogerl%netscape.com
13c4b90ec8 Added 'Function' instruction, plus suppresses class output if there is
no super specified. (ok it's a hack, but it works)


git-svn-id: svn://10.0.0.236/trunk@72248 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:27:28 +00:00
rogerl%netscape.com
27c8e7b5f6 Adding support for Functions and Vars, preXcrement, object literals.
git-svn-id: svn://10.0.0.236/trunk@72247 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:26:15 +00:00
evaughan%netscape.com
98273189eb Fix for beta2+ #41951
and beta2+ #39927

-r pinkerton


git-svn-id: svn://10.0.0.236/trunk@72246 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:24:41 +00:00
pinkerton%netscape.com
4aec10bde4 on the way to fixing 28226. make reflow processing immediate if we're doing a drag.
git-svn-id: svn://10.0.0.236/trunk@72243 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:18:54 +00:00
chrisk%netscape.com
d8f1264a7c Add generation of SMIMECapabilities
git-svn-id: svn://10.0.0.236/trunk@72242 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:17:52 +00:00
buster%netscape.com
e8833a517e fixed nsbeta2+ bugs 42138 35772 37657 38157 40283 35964
r=waterson, rods


git-svn-id: svn://10.0.0.236/trunk@72241 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:15:59 +00:00
bryner%uiuc.edu
f18c290ffb Fixing bug 42282. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@72240 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:15:52 +00:00
chrisk%netscape.com
3e04f59f9a canonicalization step adds CRs to LFs only of there are no CRs present.
git-svn-id: svn://10.0.0.236/trunk@72239 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:15:06 +00:00
chrisk%netscape.com
620125c624 Make example 5.7 of ietf-smime-examples draft decode correctly
(we still cannot look up certs by SubjectKeyID, so it won't verify)


git-svn-id: svn://10.0.0.236/trunk@72238 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:12:48 +00:00
jst%netscape.com
67f52e2c7a Fixing nsbeta2+ bug 40944. document.doctype.systemId was always empty in HTML documents. r=nisheeth@netscape.com&heikki@citec.fi
git-svn-id: svn://10.0.0.236/trunk@72237 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:08:19 +00:00
yueheng.xu%intel.com
6db14a1487 fix for #42484 (extra ";" after the loop control). r=cata, a=waterson
git-svn-id: svn://10.0.0.236/trunk@72235 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 22:13:13 +00:00
despotdaemon%netscape.com
1992cec62e Pseudo-automatic update of changes made by garywade@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@72234 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 21:08:44 +00:00
blizzard%redhat.com
a09e848e27 remove annoying ^Ms. not part of the build.
git-svn-id: svn://10.0.0.236/trunk@72233 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 19:57:25 +00:00
blizzard%redhat.com
f3e20bb800 this is the most recent iteration of alex's tool. seems to work on an optimized build now.
git-svn-id: svn://10.0.0.236/trunk@72232 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 19:39:20 +00:00
putterman%netscape.com
80073ca820 Backing out changes to these files to fix blocker bugs 42485 and 42488. r=sspitzer, a=leaf.
git-svn-id: svn://10.0.0.236/trunk@72231 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 18:03:49 +00:00
rusty.lynch%intel.com
32b0ceaf7f (Re)Fix for bug #23546
a=brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@72230 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 17:58:49 +00:00
pollmann%netscape.com
1826a073a2 Bug 39723: Send only one request to the server when clicking on an image map. r=joki
git-svn-id: svn://10.0.0.236/trunk@72225 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 15:02:18 +00:00
tor%cs.brown.edu
8f2c21ff8e Add mng to required libraries list. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@72224 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 14:21:49 +00:00
tor%cs.brown.edu
c5974ce3f8 Update libmng snapshot. Not in default build.
git-svn-id: svn://10.0.0.236/trunk@72223 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 14:20:55 +00:00
putterman%netscape.com
ea3724a55d Fix for 41327. r=sspitzer. Remove statement that gets printed to console a lot.
git-svn-id: svn://10.0.0.236/trunk@72222 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 14:05:46 +00:00
putterman%netscape.com
16b2cf898f Fix for 39770, remove return receipts from prefs. r=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@72221 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 14:01:57 +00:00
nboyd%atg.com
6345f2163b Fix bug 42097
git-svn-id: svn://10.0.0.236/trunk@72218 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 13:39:44 +00:00
morse%netscape.com
3c7b707a95 update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@72217 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 12:32:37 +00:00
sdv%sparc.spb.su
b12debbf5d added workaround for bug=30927
git-svn-id: svn://10.0.0.236/trunk@72216 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 12:16:29 +00:00
axel%pike.org
3a1017bf33 Updating Makefile.in, not part of build
git-svn-id: svn://10.0.0.236/trunk@72215 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 11:55:16 +00:00
hyatt%netscape.com
aee8a341dd Oops. tree should not be on.
git-svn-id: svn://10.0.0.236/trunk@72212 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 09:18:31 +00:00
hyatt%netscape.com
1be0a30bc7 Oops. New tree should be off.
git-svn-id: svn://10.0.0.236/trunk@72211 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 09:17:18 +00:00
hyatt%netscape.com
92ee2738d4 30511. r=ben
git-svn-id: svn://10.0.0.236/trunk@72210 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 09:13:42 +00:00
hyatt%netscape.com
61618e39a9 Fix for bug #36740, r=ben
git-svn-id: svn://10.0.0.236/trunk@72209 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 08:47:12 +00:00
hyatt%netscape.com
50e0e0cc61 Fix for 41281, r=brendan
git-svn-id: svn://10.0.0.236/trunk@72208 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 08:25:50 +00:00
hyatt%netscape.com
98f686e914 Fix for #41878, r=ben
git-svn-id: svn://10.0.0.236/trunk@72207 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 08:21:56 +00:00
hyatt%netscape.com
80d84154b7 Fix for #41281, r=brendan
git-svn-id: svn://10.0.0.236/trunk@72206 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 08:19:07 +00:00
hyatt%netscape.com
e575b1749c Fix for bug #41281, r=brendan
git-svn-id: svn://10.0.0.236/trunk@72205 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 08:12:32 +00:00
axel%pike.org
b8a7545f4e Code cleanup, XSL->MOZ_XSL, r=nisheeth, a=waterson
git-svn-id: svn://10.0.0.236/trunk@72204 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 07:35:26 +00:00
waterson%netscape.com
49b93fea7c Fix leak I made. r=warren
git-svn-id: svn://10.0.0.236/trunk@72203 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 07:27:08 +00:00
pavel%gingerall.cz
c86edbe37a - fixes in original version of perlconnect (JSVALToSV SVToJSVAL etc.)
- object delegation (like JSCreateObject) Perl->JS
- ParlValue handles PerlObject correctly
- undef values handled correctly (in both directions)
- JS arrays may be tied to perl arrays
- error handlers supported on Perl side
- no globals
- several minor fixes


git-svn-id: svn://10.0.0.236/trunk@72202 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 07:23:58 +00:00
pavel%gingerall.cz
2e7ae72a07 - minor change of jsperl.h inclusion, matters for perlconnect build only
git-svn-id: svn://10.0.0.236/trunk@72201 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 07:18:41 +00:00
cls%seawood.org
7fc9f9e637 Move themes around to avoid warnings in standalone builds.
git-svn-id: svn://10.0.0.236/trunk@72200 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 06:46:51 +00:00
cls%seawood.org
658814f84a The WS5.0 problem cropped up again so I'm reapplying pavlov's previous fix.
git-svn-id: svn://10.0.0.236/trunk@72199 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 06:28:13 +00:00
hyatt%netscape.com
d8a304b7bb Bug #30511. r=ben
git-svn-id: svn://10.0.0.236/trunk@72198 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 06:14:24 +00:00
hyatt%netscape.com
3b229e67d4 30511. r=ben
git-svn-id: svn://10.0.0.236/trunk@72197 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 06:13:59 +00:00
hyatt%netscape.com
ace654498a 30511. r=ben
git-svn-id: svn://10.0.0.236/trunk@72196 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 06:13:39 +00:00
scc%mozilla.org
b09172d69e Adding |nsWork[C]String| classes
git-svn-id: svn://10.0.0.236/trunk@72195 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 05:47:30 +00:00
scc%mozilla.org
34851bed47 adding |nsWork[C]String| classes
git-svn-id: svn://10.0.0.236/trunk@72194 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 05:41:05 +00:00
hyatt%netscape.com
1890664385 30511. r=ben
git-svn-id: svn://10.0.0.236/trunk@72193 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 05:31:47 +00:00
rpotts%netscape.com
7b6436e9c1 Made nsSocketProviderService use NS_IMPL_THREADSAFE_ISUPPORTS to avoid an assertion on shutdown...
git-svn-id: svn://10.0.0.236/trunk@72192 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 05:16:10 +00:00
sfraser%netscape.com
a6254706a2 Fix the windows build. Suckage; I needed to repace nsAutoString with nsString in the overloaded function.
git-svn-id: svn://10.0.0.236/trunk@72191 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 05:05:32 +00:00
cmanske%netscape.com
f4a5695489 Part of table dialog work: new method needed to convert to TH from TD and vice versa. b=20973. r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@72190 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:59:50 +00:00
cmanske%netscape.com
949e725655 New method for table editing (b=20973, r=jfrancis); Use nsIStyleSheet::SetEnable() for editmode stylesheets instead of removing and reloading -- necessary for bug 40767. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@72189 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:58:29 +00:00
brendan%mozilla.org
39c808b988 Restore "javascript:\n"-in-location-brings-up-console compatibility (r=mccabe@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@72188 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:57:49 +00:00
hyatt%netscape.com
ca5a96f13d 30511. r=ben
git-svn-id: svn://10.0.0.236/trunk@72187 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:50:20 +00:00
brendan%mozilla.org
154af1de4d Fiddle whitespace style.
git-svn-id: svn://10.0.0.236/trunk@72186 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:46:22 +00:00
sfraser%netscape.com
b2dc9564c5 Back out some of my changes for string cleanup which broke form autofill (the overloaded wallet_ReadFromList methods are back, with their unfathomable index modifications), and putting in some nsCOMPtr goodness. r=scc.
git-svn-id: svn://10.0.0.236/trunk@72185 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:32:37 +00:00
scc%mozilla.org
e031ff2a36 Adding a new string class for to help fix performance problems.
git-svn-id: svn://10.0.0.236/trunk@72184 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 04:10:00 +00:00
cls%seawood.org
815321e9a9 Use $(wildcard..) to make certain configure dependencies optional. Bug #42211
git-svn-id: svn://10.0.0.236/trunk@72183 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:51:17 +00:00
valeski%netscape.com
50e07a6702 41110. r=sspitzer. more nsIWebshellWindow removal.
git-svn-id: svn://10.0.0.236/trunk@72182 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:30:53 +00:00
waterson%netscape.com
7d48674081 Bug 42360. Fix SUNWspro5.0 bustage. r=tor
git-svn-id: svn://10.0.0.236/trunk@72181 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:27:46 +00:00
beard%netscape.com
3726e15c5e (not part of build) added non-debug target (PSM.shlb)
git-svn-id: svn://10.0.0.236/trunk@72180 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:25:37 +00:00
beard%netscape.com
beaa16cfdb (not part of build) added mozilla/security/nss/lib/smime to access paths, added nlslayer.cpp directly (rather than building as a separate library).
git-svn-id: svn://10.0.0.236/trunk@72179 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:18:10 +00:00
beard%netscape.com
51c31d04ba (not part of build) added mozilla/security/nss/lib/smime to access paths.
git-svn-id: svn://10.0.0.236/trunk@72178 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:16:41 +00:00
mjudge%netscape.com
6e990f8280 handling of on input. adding selection change notifications to commands. we must tell the document when selection happens in the input fields. regriession from 34986, r=saari a=pdt+
git-svn-id: svn://10.0.0.236/trunk@72177 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 03:01:31 +00:00
mjudge%netscape.com
e85fda1167 fixing blocker bug for focus not typing in url bar after progromatic change to focus on other document. r=saari. (from regression of 34986) pdt+
git-svn-id: svn://10.0.0.236/trunk@72176 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:59:54 +00:00
mjudge%netscape.com
58f329a378 regressions from 34986 ender-lite. listeners now block percolation of events. until we have better fix. r=saari, akkana
git-svn-id: svn://10.0.0.236/trunk@72175 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:58:34 +00:00
mjudge%netscape.com
f1cf76f9e7 fixing regressions from 34986 ender-lite. adding new selection controller sensitivity. r=saari
git-svn-id: svn://10.0.0.236/trunk@72174 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:57:26 +00:00
scc%mozilla.org
187005e5ed Temporarily (till Thursday) commented out the definition that made |PRUnichar*| incompatible with |OLECHAR*| as a favor to the AIM team, so they can decide whether to cast in their code, or alter their headers. They know what to do in either case, and have agreed that this definnition can be re-activated on Thursday. r=vishy
git-svn-id: svn://10.0.0.236/trunk@72173 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:54:40 +00:00
rhp%netscape.com
a298a82a1c Fixing problem with data loss on forwarding - Bug #: 42398 - r: sspitzer
One is a structure and one is a spec of the attachment URI...they are used
differently...one can be null while the other is valid...I was throwing
away attachments by mistake forwarded messages were falling into this list


git-svn-id: svn://10.0.0.236/trunk@72172 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:50:09 +00:00
mccabe%netscape.com
d02312ed59 Makefile fix, thanks to Dan Veditz. Should fix bustage.
git-svn-id: svn://10.0.0.236/trunk@72171 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:40:00 +00:00
mccabe%netscape.com
552b1a1104 Backing out for now to fix bustage.
git-svn-id: svn://10.0.0.236/trunk@72170 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 02:33:45 +00:00
ruslan%netscape.com
6c38a98650 Fixing 22103, a=gagan
git-svn-id: svn://10.0.0.236/trunk@72169 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:35:24 +00:00
cmanske%netscape.com
bc2671681c Fixed problem in nsEditor::CloneAttributes where undo system used when it shouldn't. b=41862. r=sfraser. a=beppe
git-svn-id: svn://10.0.0.236/trunk@72168 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:32:27 +00:00
cmanske%netscape.com
10146f6bae Fixed Composer dialog layout problems when resizing. b=42210 r=evaughan
git-svn-id: svn://10.0.0.236/trunk@72167 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:26:43 +00:00
mccabe%netscape.com
35280d6bef Fix to 39911, which nsbeta+ 38495 depends on.
Build nsIScriptablePlugin.idl on Unix and Windows.

a=beard


git-svn-id: svn://10.0.0.236/trunk@72166 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:21:39 +00:00
rods%netscape.com
f86a48604d moved the unreg of the access keys from the destructor to the Destroy method
r=dcone, b=41246


git-svn-id: svn://10.0.0.236/trunk@72165 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:16:08 +00:00
beard%netscape.com
fbbcd98705 project to compile nsIScriptablePlugin.idl for mccabe. bug #39911, a=beard, r=mccabe
git-svn-id: svn://10.0.0.236/trunk@72164 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:14:35 +00:00
mccabe%netscape.com
984f9b048c Part of fix for 39911, which is a dependency of nsbeta+ bug 38495.
Interface for plugins to expose to advertise a scriptable peer object and the interface that XPConnect should expose it with.

r=sechevarria@beatnik.com,beard@netscape.com
a=beard@netscape.com

NOTE This is not yet built on any platform.


git-svn-id: svn://10.0.0.236/trunk@72163 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 01:04:06 +00:00
attinasi%netscape.com
8fd5c9cbf6 To fix the bug we added support for hspace and vspace attributes in QuirkMode. b=41863 karnaze@netscape.com did part of the fix and we reviewed each others code
git-svn-id: svn://10.0.0.236/trunk@72162 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:59:29 +00:00
jst%netscape.com
bc3e91849d Fixing nsbeta2+ bug 41367, area.pathname incorrectly contained the ref and search parts of the URL. r=vidur
git-svn-id: svn://10.0.0.236/trunk@72161 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:48:34 +00:00
bryner%uiuc.edu
3e2763bedf Fixing import line. r=ben. Not part of build.
git-svn-id: svn://10.0.0.236/trunk@72160 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:44:43 +00:00
mkaply%us.ibm.com
fa06a1e262 # 37239
r = valeski, a = brendan
OS/2 bring-up - Yes I know this is ugly.
We are getting a linker error on this delete.
We want to get our builds up by any means necessary,
so I need to comment this out for us for now.


git-svn-id: svn://10.0.0.236/trunk@72159 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:26:52 +00:00
rginda%netscape.com
7e145bf1b9 -- NOT PART OF THE BUILD --
Conditionally build lcshell w/ jdk 1.1.8 or 1.2.2 on windows


git-svn-id: svn://10.0.0.236/trunk@72157 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:14:56 +00:00
mkaply%us.ibm.com
1471b70394 # 37239
r = mccabe, a = brendan
OS/2 bring-up - PR_CALLBACK for VisualAge


git-svn-id: svn://10.0.0.236/trunk@72156 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:07:08 +00:00
jst%netscape.com
6af64ec54b Fixing nsbeta2+ bug 39892. Adding support for getting the computed value of the 'behavior' property with getComputedStyle(). r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72155 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:06:36 +00:00
alecf%netscape.com
e06fc1cc5e fix for #42082 - enable the filter on creation
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@72153 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 00:04:43 +00:00
mstoltz%netscape.com
ab175b2de3 Fix for bug 31818. Dogfood. r=brendan
git-svn-id: svn://10.0.0.236/trunk@72152 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:56:30 +00:00
ddrinan%netscape.com
fe76e7598f Move nlslayer from my machine to sbc
git-svn-id: svn://10.0.0.236/trunk@72151 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:54:37 +00:00
racham%netscape.com
7170b49a9f Fixing bug 40180. If the profile directory is deleted, a new directory is created with default contents on all platforms. On Mac, which is the main concern of this bug, the folder in the trash is ignored and the new folder is considered as an active profile directory. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@72150 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:53:42 +00:00
rjc%netscape.com
c2abb02c4f Ensure gRefCnt is initialized to zero. Code from ericb@neoplanet.com, approval=me
git-svn-id: svn://10.0.0.236/trunk@72149 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:45:20 +00:00
leaf%mozilla.org
5c7ccba235 Automated update
git-svn-id: svn://10.0.0.236/trunk@72148 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:45:09 +00:00
dbragg%netscape.com
31bc47961c Fix for bug #42201. Patch submitted by BlakeR1234@aol.com. a=dveditz r=dbragg
git-svn-id: svn://10.0.0.236/trunk@72147 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:37:11 +00:00
cls%seawood.org
d67cf1b15a Call AC_SUBST to that MOZ_MNG is properly (un)set.
git-svn-id: svn://10.0.0.236/trunk@72146 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:32:42 +00:00
av%netscape.com
95f3dcdd98 Addressing #41276, r=sechevarria@beatnik.com
git-svn-id: svn://10.0.0.236/trunk@72144 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:23:13 +00:00
akkana%netscape.com
e3cd9fcb21 42306: remove hacky workaround for middle mouse handling, no longer
needed; event bubbling now happens correctly.  r=saari,mjudge; a=beppe


git-svn-id: svn://10.0.0.236/trunk@72143 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:21:37 +00:00
akkana%netscape.com
f33db3b092 42306: Change middle-mouse paste from MouseDown to MouseClick,
and prevent it bubbling up to where navigator.js will handle it.
r=saari,mjudge; a=beppe


git-svn-id: svn://10.0.0.236/trunk@72142 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:19:48 +00:00
mccabe%netscape.com
a1fc28a313 First part of fix for 38495, support for exposing plugin methods to JavaScript.
This patch teaches XPConnected objects to look in their JavaScript __proto__ chain for any names they can't resolve themselves.  The rest of the fix to this bug sets the original DOM node object as the prototype of a new xpconnect-exposed plugin object, so javascript accesses will see names from both objects.

r=jst,brendan
a=beard


git-svn-id: svn://10.0.0.236/trunk@72141 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:18:21 +00:00
jefft%netscape.com
5d2b2513f8 fixed bug 41170 - opening the twisty for an imap server should refresh the folder list; r=sspitzer, bienvenu
git-svn-id: svn://10.0.0.236/trunk@72140 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:18:04 +00:00
av%netscape.com
a19cf68e38 Addressing #41276, r=edburns
git-svn-id: svn://10.0.0.236/trunk@72139 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:16:05 +00:00
pinkerton%netscape.com
9b3832ad63 fix for bug 39764 (disabled values added to context menu). check the target of the oncreate/destroy event before processing it, as this will bubble from submenus. r=brade.
git-svn-id: svn://10.0.0.236/trunk@72138 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:15:53 +00:00
cls%seawood.org
f97c8803c1 Applying BeOS fixes for PSM to tip. Bug #39164
git-svn-id: svn://10.0.0.236/trunk@72137 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 23:13:48 +00:00
chrisk%netscape.com
c97a690adc Merge smimetk_branch to tip...
git-svn-id: svn://10.0.0.236/trunk@72136 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 21:56:37 +00:00
relyea%netscape.com
aee8ba11d6 reuse old key structures on a given token rather than building it up and
tearing it down every time.


git-svn-id: svn://10.0.0.236/trunk@72135 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 21:37:28 +00:00
relyea%netscape.com
a5edb397ba Reuse old Object structures rather than build and free them every time.
git-svn-id: svn://10.0.0.236/trunk@72134 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 21:34:52 +00:00
sdv%sparc.spb.su
010e6705be support of latest w3c dom spec changes
fixed a bug with unicode strings


git-svn-id: svn://10.0.0.236/trunk@72133 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 21:22:35 +00:00
sdv%sparc.spb.su
0c33004b05 support of latest w3c dom spec changes
git-svn-id: svn://10.0.0.236/trunk@72132 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 21:21:21 +00:00
larryh%netscape.com
5ff71dac06 BugZilla 42367. change license to dual-license
git-svn-id: svn://10.0.0.236/trunk@72131 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 20:59:02 +00:00
bryner%uiuc.edu
e3d14ef96a Hardcode the background color to white on unix. r=ben. Not part of the
build.


git-svn-id: svn://10.0.0.236/trunk@72128 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 20:42:09 +00:00
hyatt%netscape.com
106f7a9edc more 30511 patch.
git-svn-id: svn://10.0.0.236/trunk@72127 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 20:37:53 +00:00
hyatt%netscape.com
9ce908fcc1 Fix from Jan Varga. 30511. r=danm.
git-svn-id: svn://10.0.0.236/trunk@72126 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 20:28:03 +00:00
hyatt%netscape.com
5df74e4a0f Patch for bug #30511 from external Mozilla contributor (Jan Varga). r=danm
git-svn-id: svn://10.0.0.236/trunk@72125 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 20:27:15 +00:00
bryner%uiuc.edu
f56d2b3f76 Fix for blocker bug 42371 - unable to startup on Linux. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@72124 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 20:26:30 +00:00
sfraser%netscape.com
a5f074b4f1 Fix Mac commercial build bustage by turning wchar_t support on. r=scc, pinkerton.
git-svn-id: svn://10.0.0.236/trunk@72123 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 19:20:55 +00:00
endico%mozilla.org
62f6a60a6c this file is superceded by xml.cgi
git-svn-id: svn://10.0.0.236/trunk@72122 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 17:20:53 +00:00
endico%mozilla.org
ae2c551c2c fix logic for restricting who can move bugs
git-svn-id: svn://10.0.0.236/trunk@72121 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 16:49:15 +00:00
leaf%mozilla.org
59f7815865 Automated update
git-svn-id: svn://10.0.0.236/trunk@72120 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 15:00:08 +00:00
mkaply%us.ibm.com
3a5e33c1bc # 40177
r = cls, a = brendan
OS/2 bring-up - Change EMX param for OS/2


git-svn-id: svn://10.0.0.236/trunk@72118 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 14:55:49 +00:00
mkaply%us.ibm.com
0994e12ee1 # 40177
r = cls, a = brendan
OS/2 bring-up - Makefiles changes for VisualAge


git-svn-id: svn://10.0.0.236/trunk@72116 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 14:51:01 +00:00
morse%netscape.com
8443fd740d update wallet tables, not part of build
git-svn-id: svn://10.0.0.236/trunk@72115 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 14:43:15 +00:00
nboyd%atg.com
2c5799c5c0 Begin 1.5R2 effort.
Commit the following contributions:
* Andi Vajda's changes to allow embedders to capture the generated bytecode (and thus control
generated class names).
* Marshall Cline's changes to allow embedders to override the default Java object wrapping
behavior
* Kurt Westerfeld's change to handle calling static methods better


git-svn-id: svn://10.0.0.236/trunk@72114 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 14:33:54 +00:00
putterman%netscape.com
4b526415c6 Fix for 41364. r=alecf. Address book picker from compose window now comes up and
displays addresses.


git-svn-id: svn://10.0.0.236/trunk@72113 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 13:41:49 +00:00
axel%pike.org
6a7984cca5 Code cleanup, not part of build, needed for SUN Workshop compilers
git-svn-id: svn://10.0.0.236/trunk@72112 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 12:10:09 +00:00
locka%iol.ie
0c62e3664e Fixed incorrect pathname resolution for embedding apps trying to load res:// URLs from places other than mozilla/bin
b=42249, approved=warren


git-svn-id: svn://10.0.0.236/trunk@72111 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 11:50:40 +00:00
endico%mozilla.org
9e39906a7c use background delivery instead of defered so mail is delivered sooner and bug moving process goes faster.
git-svn-id: svn://10.0.0.236/trunk@72110 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 10:00:32 +00:00
endico%mozilla.org
cddfc7f332 initial checkin. still incomplete
git-svn-id: svn://10.0.0.236/trunk@72109 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 09:53:38 +00:00
endico%mozilla.org
a2011746de adding toArrayOfStrings subroutine needed by Bug.pm
git-svn-id: svn://10.0.0.236/trunk@72108 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 09:45:12 +00:00
heikki%citec.fi
bb910505ef Fixed NS_ENSURE_ARG_MAX macro (a typo), it did not even compile if you tried to use it.
git-svn-id: svn://10.0.0.236/trunk@72107 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 08:36:06 +00:00
waterson%netscape.com
3dbf9953fc Grow by power of two after reaching 16 elements; factor 'implementation' into a separate struct so the nsVoidArray object is one word when empty.
git-svn-id: svn://10.0.0.236/trunk@72106 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 08:33:19 +00:00
waterson%netscape.com
af437d0411 Add test for Iterator.
git-svn-id: svn://10.0.0.236/trunk@72105 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 08:02:30 +00:00
waterson%netscape.com
aee4ad44fa Fix else-after-break and other stylistic atrocities; add default and copy ctors for Iterator; add operator=() for Iterator.
git-svn-id: svn://10.0.0.236/trunk@72104 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 08:02:08 +00:00
waterson%netscape.com
6307400dab Fix gcc-2.7.2.3 bustage.
git-svn-id: svn://10.0.0.236/trunk@72103 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 06:32:09 +00:00
waterson%netscape.com
6a951cdedc Sweet jesus.
git-svn-id: svn://10.0.0.236/trunk@72101 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 05:27:45 +00:00
waterson%netscape.com
d26a0017f7 How'd that get in there?
git-svn-id: svn://10.0.0.236/trunk@72100 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 05:26:00 +00:00
waterson%netscape.com
dee01185a5 Reduce index and data node size to eight words; pack bits harder so overhead per node is one word; add Iterator and make singleton iterator be simpler.
git-svn-id: svn://10.0.0.236/trunk@72099 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 05:16:02 +00:00
sspitzer%netscape.com
5d189a9ac4 start of changes for http://bugscape/show_bug.cgi?id=1149
allow for default templates for the "Local Folders" account.
r=alecf


git-svn-id: svn://10.0.0.236/trunk@72098 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 05:04:34 +00:00
waterson%netscape.com
dc8a976f94 Add TestVoidBTree to the build.
git-svn-id: svn://10.0.0.236/trunk@72097 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:57:14 +00:00
waterson%netscape.com
025ae7ff42 Add nsVoidBTree and nsStatistics to the build.
git-svn-id: svn://10.0.0.236/trunk@72096 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:56:38 +00:00
waterson%netscape.com
ed9f913d65 Add nsStatistics.cpp and nsVoidBTree.cpp to the build.
git-svn-id: svn://10.0.0.236/trunk@72095 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:55:22 +00:00
waterson%netscape.com
3f928b2e1b Add nsVoidBTree.cpp and nsStatistics.cpp to the build
git-svn-id: svn://10.0.0.236/trunk@72094 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:54:23 +00:00
waterson%netscape.com
b8bcebd628 Add nsVoidBTree.h and nsStatistics.h
git-svn-id: svn://10.0.0.236/trunk@72093 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:53:54 +00:00
waterson%netscape.com
6c0f17219d Clean up egcs warnings.
git-svn-id: svn://10.0.0.236/trunk@72092 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:52:33 +00:00
waterson%netscape.com
e5f219288b First checked in. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@72091 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 04:30:45 +00:00
ben%netscape.com
2c10f18336 Fix for b40799, countrypicker UI for profile wizard.
git-svn-id: svn://10.0.0.236/trunk@72090 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 03:54:59 +00:00
ruslan%netscape.com
00dde597ed Fixing 42107, a=gagan. Documenting some APIs in the process as well.
git-svn-id: svn://10.0.0.236/trunk@72089 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 03:00:53 +00:00
rickg%netscape.com
50cc48a787 fixed nsBeta2+ bugs: 42180, 42270; added env setting for view-errors, which is disabled by default. r=pollmann; a=pdt
git-svn-id: svn://10.0.0.236/trunk@72088 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 02:50:24 +00:00
evaughan%netscape.com
e3e2a8e736 Fixed titledbox padding breakage. Only .css files
-r ben


git-svn-id: svn://10.0.0.236/trunk@72087 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 01:58:01 +00:00
warren%netscape.com
5d3f4ac148 Taking out jar step since tinderbox doesn't seem to have perl installed.
git-svn-id: svn://10.0.0.236/trunk@72086 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 01:53:47 +00:00
alecf%netscape.com
000014f444 revive dom viewer enough to get dmose started
(not part of seamonkey - favor for dmose)


git-svn-id: svn://10.0.0.236/trunk@72085 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 01:50:26 +00:00
warren%netscape.com
40a0a87426 Bug 18433. Starting to package resources into jar files.
git-svn-id: svn://10.0.0.236/trunk@72083 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 01:23:28 +00:00
ducarroz%netscape.com
1207d3630f Fix (workaround) for bug 41143, 41686. Instead of setting the value (the dot value) during the recipient field creation (which solved bug 37435 but exposes bug 41143 & 41686), I check if the value of the text field is defined when transfering the recipients to the compose fields else I get the attribute value. R=sspitzer
git-svn-id: svn://10.0.0.236/trunk@72082 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 01:21:53 +00:00
bryner%uiuc.edu
bdd43b4411 Fixing bug 29027 - now we restore an iconified window when we send focus to it. r=law.
git-svn-id: svn://10.0.0.236/trunk@72081 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 01:16:31 +00:00
colin%theblakes.com
160e455ff8 OpenVMS specific build change. r,a=leaf
git-svn-id: svn://10.0.0.236/trunk@72080 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:40:16 +00:00
sfraser%netscape.com
deeb069109 Fix build bustage - some compilers don't like the new Substring(). r=scc
git-svn-id: svn://10.0.0.236/trunk@72079 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:35:47 +00:00
scc%mozilla.org
00529932a5 fix bustage, |const| needed on Windows
git-svn-id: svn://10.0.0.236/trunk@72078 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:21:53 +00:00
bryner%uiuc.edu
4afc3b4a94 Fix bug 42186 - incorrect GdkColor to nscolor conversion. Also change
some of the CSS system colors to be more accurate.  r=blizzard,pavlov.


git-svn-id: svn://10.0.0.236/trunk@72077 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:18:24 +00:00
ben%netscape.com
b83f86342b fixes for b41817 (cannot delete profile), and b32808 (profile not created in selected dir), r=hyatt
git-svn-id: svn://10.0.0.236/trunk@72076 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:12:30 +00:00
scc%mozilla.org
de78c5bfbc make |PRUnichar| be |wchar_t| on Mac. Soon on Windows, as well.
git-svn-id: svn://10.0.0.236/trunk@72075 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:05:18 +00:00
nhotta%netscape.com
3af9896a8f Added charset conversions in order to pass unicode data to HTML to Plain text converter, bug 41771, r=rhp.
git-svn-id: svn://10.0.0.236/trunk@72074 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-13 00:00:21 +00:00
scc%mozilla.org
fd1efd70c8 fix type equivalence between |PRUnichar| and |jschar| now that |PRUnchar| may be |wchar_t| on select platforms
git-svn-id: svn://10.0.0.236/trunk@72073 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-12 23:52:31 +00:00
445 changed files with 96529 additions and 79155 deletions

214
mozilla/js/rhino/Makefile Normal file
View File

@@ -0,0 +1,214 @@
#! gmake
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (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 oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Rhino code, released
# May 6, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
# Makefile for javascript in java.
#
# This makefile is intended for packaging releases, and probably isn't
# suitable for production use - it doesn't attempt to do understand
# java dependencies beyond the package level.
#
# The makefiles for the subdirectories included in this package are
# intended to be called by this makefile with the proper CLASSDIR,
# PATH_PREFIX etc. variables. Makefiles in subdirectories are
# actually executed in the toplevel directory, with the PATH_PREFIX
# variable set to the subdirectory where the makefile is located.
#
# Initial version courtesy Mike Ang.
# Next version by Mike McCabe
# Don't include SHELL define (per GNU manual recommendation) because it
# breaks WinNT (with GNU make) builds.
# SHELL = /bin/sh
# Some things we might want to tweek.
CLASSDIR = classes
PACKAGE_NAME = org.mozilla.javascript
PACKAGE_PATH = org/mozilla/javascript
# jar filenames and the directories that build them.
JS_JAR = js.jar
JS_DIR = $(PACKAGE_PATH)
JSTOOLS_JAR = jstools.jar
JSTOOLS_DIR = $(PACKAGE_PATH)/tools
JARS = $(JS_JAR) $(JSTOOLS_JAR)
# It's not polite to store toplevel files in a tarball or zip files.
# What is the name of the toplevel directory to store files in?
# XXX we should probably add versioning to this.
DIST_DIR = jsjava
# XXX test this with sj
JAVAC = javac
# We don't define JFLAGS but we do export it to child
# builds in case it's defined by the environment.
# To build optimized (with javac) say 'make JFLAGS=-O'
GZIP = gzip
ZIP = zip
UNZIP = unzip
# Shouldn't need to change anything below here.
# For Windows NT builds (under GNU make).
ifeq ($(OS_TARGET), WINNT)
CLASSPATHSEP = '\\;'
else
CLASSPATHSEP = :
endif
# Make compatibility - use these instead of gmake 'export VARIABLE'
EXPORTS = CLASSDIR=$(CLASSDIR) JAVAC=$(JAVAC) JFLAGS=$(JFLAGS) SHELL=$(SHELL) \
PACKAGE_PATH=$(PACKAGE_PATH) PACKAGE_NAME=$(PACKAGE_NAME)
helpmessage : FORCE
@echo 'Targets include:'
@echo ' all - make jars, examples'
@echo ' jars - make js.jar, jstools.jar'
@echo ' fast - quick-and-dirty "make jars", for development'
@echo ' examples - build the .class files in the examples directory'
@echo ' check - perform checks on the source.'
@echo ' clean - remove intermediate files'
@echo ' clobber - make clean, and remove .jar files'
@echo ' zip - make a distribution .zip file'
@echo ' zip-source - make a distribution .zip file, with source'
@echo ' tar - make a distribution .tar.gz file'
@echo ' tar-source - make a distribution .tar.gz, with source'
@echo
@echo 'Define OS_TARGET to "WINNT" to build on Windows NT with GNU make.'
@echo
all : jars examples
jars : $(JARS)
fast : fast_$(JS_JAR) $(JSTOOLS_JAR)
# Always call the sub-Makefile - which may decide that the jar is up to date.
$(JS_JAR) : FORCE
$(MAKE) -f $(JS_DIR)/Makefile JAR=$(@) $(EXPORTS) \
PATH_PREFIX=$(JS_DIR) \
CLASSPATH=.
fast_$(JS_JAR) :
$(MAKE) -f $(JS_DIR)/Makefile JAR=$(JS_JAR) $(EXPORTS) \
PATH_PREFIX=$(JS_DIR) \
CLASSPATH=. \
fast
$(JSTOOLS_JAR) : $(JS_JAR) FORCE
$(MAKE) -f $(JSTOOLS_DIR)/Makefile JAR=$(@) $(EXPORTS) \
PATH_PREFIX=$(JSTOOLS_DIR) \
CLASSPATH=./$(JS_JAR)$(CLASSPATHSEP).
examples : $(JS_JAR) FORCE
$(MAKE) -f examples/Makefile $(EXPORTS) \
PATH_PREFIX=examples \
CLASSPATH=./$(JS_JAR)
# We ask the subdirs to update their MANIFESTs
MANIFEST : FORCE
$(MAKE) -f $(JS_DIR)/Makefile JAR=$(JS_JAR) $(EXPORTS) \
PATH_PREFIX=$(JS_DIR) $(JS_DIR)/MANIFEST
$(MAKE) -f $(JSTOOLS_DIR)/Makefile JAR=$(JSTOOLS_JAR) $(EXPORTS) \
PATH_PREFIX=$(JSTOOLS_DIR) $(JSTOOLS_DIR)/MANIFEST
$(MAKE) -f examples/Makefile $(EXPORTS) \
PATH_PREFIX=examples examples/MANIFEST
# so ls below always has something to work on
touch MANIFEST
# examples/Makefile doesn't get included in the
# MANIFEST file, (which is used to create the non-source distribution) so
# we include it here.
cat examples/MANIFEST $(JS_DIR)/MANIFEST \
$(JSTOOLS_DIR)/MANIFEST \
| xargs ls MANIFEST README.html \
$(JARS) \
Makefile examples/Makefile \
> $(@)
# Make a MANIFEST file containing only the binaries and documentation.
# This could be abstracted further...
MANIFEST_binonly : MANIFEST
cat examples/MANIFEST \
| xargs ls $(JARS) README.html MANIFEST > MANIFEST
# A subroutine - not intended to be called from outside the makefile.
do_zip :
# Make sure we get a fresh one
- rm -r $(DIST_DIR)
- mkdir $(DIST_DIR)
- rm $(DIST_DIR).zip
cat MANIFEST | xargs $(ZIP) -0 -q $(DIST_DIR).zip
mv $(DIST_DIR).zip $(DIST_DIR)
cd $(DIST_DIR) ; \
$(UNZIP) -q $(DIST_DIR).zip ; \
rm $(DIST_DIR).zip
$(ZIP) -r -9 -q $(DIST_DIR).zip $(DIST_DIR)
- rm -r $(DIST_DIR)
zip : check jars examples MANIFEST_binonly do_zip
zip-source : check jars examples MANIFEST do_zip
# A subroutine - not intended to be called from outside the makefile.
do_tar :
- rm -r $(DIST_DIR)
- mkdir $(DIST_DIR)
- rm $(DIST_DIR).tar $(DIST_DIR).tar.gz
cat MANIFEST | xargs tar cf $(DIST_DIR).tar
mv $(DIST_DIR).tar $(DIST_DIR)
cd $(DIST_DIR) ; \
tar xf $(DIST_DIR).tar ; \
rm $(DIST_DIR).tar
tar cf $(DIST_DIR).tar $(DIST_DIR)
- rm -r $(DIST_DIR)
$(GZIP) -9 $(DIST_DIR).tar
tar: check jars examples MANIFEST_binonly do_tar
tar-source : check jars examples MANIFEST do_tar
# These commands just get passed to the respective sub-Makefiles.
clean clobber check:
$(MAKE) -f $(JS_DIR)/Makefile $(EXPORTS) JAR=$(JS_JAR) \
PATH_PREFIX=$(JS_DIR) $(@)
$(MAKE) -f $(JSTOOLS_DIR)/Makefile $(EXPORTS) JAR=$(JSTOOLS_JAR) \
PATH_PREFIX=$(JSTOOLS_DIR) $(@)
$(MAKE) -f examples/Makefile $(EXPORTS) PATH_PREFIX=examples $(@)
#emulate .PHONY
FORCE :

View File

@@ -0,0 +1,46 @@
<html>
<!--
- The contents of this file are subject to the Netscape Public
- License Version 1.1 (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 Rhino code, released
- May 6, 1999.
-
- The Initial Developer of the Original Code is Netscape
- Communications Corporation. Portions created by Netscape are
- Copyright (C) 1998-1999 Netscape Communications Corporation. All
- Rights Reserved.
-
- Contributor(s):
- Norris Boyd
-
- Alternatively, the contents of this file may be used under the
- terms of the GNU Public License (the "GPL"), in which case the
- provisions of the GPL are applicable instead of those above.
- If you wish to allow use of your version of this file only
- under the terms of the GPL and not to allow others to use your
- version of this file under the NPL, indicate your decision by
- deleting the provisions above and replace them with the notice
- and other provisions required by the GPL. If you do not delete
- the provisions above, a recipient may use your version of this
- file under either the NPL or the GPL.
-->
<body>
<h1>
<span CLASS=LXRSHORTDESC>
Rhino: JavaScript in Java<p>
</span>
</h1>
<span CLASS=LXRLONGDESC>
Rhino is an implementation of JavaScript in Java. Documentation can be found
<a href="http://www.mozilla.org/js/rhino/rhino.html">here</a>.
</span>
</body>
</html>

View File

@@ -0,0 +1,105 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
/**
* Example of controlling the JavaScript execution engine.
*
* We evaluate a script and then manipulate the result.
*
*/
public class Control {
/**
* Main entry point.
*
* Process arguments as would a normal Java program. Also
* create a new Context and associate it with the current thread.
* Then set up the execution environment and begin to
* execute scripts.
*/
public static void main(String[] args) {
Context cx = Context.enter();
// Set version to JavaScript1.2 so that we get object-literal style
// printing instead of "[object Object]"
cx.setLanguageVersion(Context.VERSION_1_2);
// Initialize the standard objects (Object, Function, etc.)
// This must be done before scripts can be executed.
Scriptable scope = cx.initStandardObjects(null);
// Now we can evaluate a script. Let's create a new object
// using the object literal notation.
Object result = null;
try {
result = cx.evaluateString(scope, "obj = {a:1, b:['x','y']}",
"MySource", 1, null);
}
catch (JavaScriptException jse) {
// ignore
}
Scriptable obj = (Scriptable) scope.get("obj", scope);
// Should print "obj == result" (Since the result of an assignment
// expression is the value that was assigned)
System.out.println("obj " + (obj == result ? "==" : "!=") +
" result");
// Should print "obj.a == 1"
System.out.println("obj.a == " + obj.get("a", obj));
Scriptable b = (Scriptable) obj.get("b", obj);
// Should print "obj.b[0] == x"
System.out.println("obj.b[0] == " + b.get(0, b));
// Should print "obj.b[1] == y"
System.out.println("obj.b[1] == " + b.get(1, b));
try {
// Should print {a:1, b:["x", "y"]}
Function fn = (Function) ScriptableObject.getProperty(obj, "toString");
System.out.println(fn.call(cx, scope, obj, new Object[0]));
} catch (JavaScriptException e) {
// ignore
}
cx.exit();
}
}

View File

@@ -0,0 +1,55 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
public class Counter extends ScriptableObject {
// The zero-argument constructor used by Rhino runtime to create instances
public Counter() { }
// Method jsConstructor defines the JavaScript constructor
public void jsConstructor(int a) { count = a; }
// The class name is defined by the getClassName method
public String getClassName() { return "Counter"; }
// The method jsGet_count defines the count property.
public int jsGet_count() { return count++; }
// Methods can be defined using the jsFunction_ prefix. Here we define
// resetCount for JavaScript.
public void jsFunction_resetCount() { count = 0; }
private int count;
}

View File

@@ -0,0 +1,178 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
/**
* Example of controlling the JavaScript with multiple scopes and threads.
*/
public class DynamicScopes {
/**
* Main entry point.
*
* Set up the shared scope and then spawn new threads that execute
* relative to that shared scope. Try compiling functions with and
* without dynamic scope to see the effect.
*
* The expected output is
* <pre>
* sharedScope
* sharedScope
* sharedScope
* thread0
* thread1
* thread2
* </pre>
* The final three lines may be permuted in any order depending on
* thread scheduling.
*/
public static void main(String[] args)
throws JavaScriptException
{
Context cx = Context.enter();
try {
cx.setCompileFunctionsWithDynamicScope(false);
runScripts(cx);
cx.setCompileFunctionsWithDynamicScope(true);
runScripts(cx);
} finally {
cx.exit();
}
}
static void runScripts(Context cx)
throws JavaScriptException
{
// Initialize the standard objects (Object, Function, etc.)
// This must be done before scripts can be executed. The call
// returns a new scope that we will share.
Scriptable scope = cx.initStandardObjects(null);
// Now we can evaluate a script and functions will be compiled to
// use dynamic scope if the Context is so initialized.
String source = "var x = 'sharedScope';" +
"function f() { return x; }";
cx.evaluateString(scope, source, "MySource", 1, null);
// Now we spawn some threads that execute a script that calls the
// function 'f'. The scope chain looks like this:
// <pre>
// ------------------
// | shared scope |
// ------------------
// ^
// |
// ------------------
// | per-thread scope |
// ------------------
// ^
// |
// ------------------
// | f's activation |
// ------------------
// </pre>
// Both the shared scope and the per-thread scope have variables 'x'
// defined in them. If 'f' is compiled with dynamic scope enabled,
// the 'x' from the per-thread scope will be used. Otherwise, the 'x'
// from the shared scope will be used. The 'x' defined in 'g' (which
// calls 'f') should not be seen by 'f'.
final int threadCount = 3;
Thread[] t = new Thread[threadCount];
for (int i=0; i < threadCount; i++) {
String script = "function g() { var x = 'local'; return f(); }" +
"java.lang.System.out.println(g());";
t[i] = new Thread(new PerThread(scope, script,
"thread" + i));
}
for (int i=0; i < threadCount; i++)
t[i].start();
// Don't return in this thread until all the spawned threads have
// completed.
for (int i=0; i < threadCount; i++) {
try {
t[i].join();
} catch (InterruptedException e) {
}
}
}
static class PerThread implements Runnable {
PerThread(Scriptable scope, String script, String x) {
this.scope = scope;
this.script = script;
this.x = x;
}
public void run() {
// We need a new Context for this thread.
Context cx = Context.enter();
try {
// We can share the scope.
Scriptable threadScope = cx.newObject(scope);
threadScope.setPrototype(scope);
// We want "threadScope" to be a new top-level
// scope, so set its parent scope to null. This
// means that any variables created by assignments
// will be properties of "threadScope".
threadScope.setParentScope(null);
// Create a JavaScript property of the thread scope named
// 'x' and save a value for it.
threadScope.put("x", threadScope, x);
cx.evaluateString(threadScope, script, "threadScript", 1, null);
}
catch (NotAFunctionException jse) {
// ignore
}
catch (PropertyException jse) {
// ignore
}
catch (JavaScriptException jse) {
// ignore
}
finally {
Context.exit();
}
}
private Scriptable scope;
private String script;
private String x;
}
}

View File

@@ -0,0 +1,356 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
import java.io.*;
import java.util.Vector;
/**
* Define a simple JavaScript File object.
*
* This isn't intended to be any sort of definitive attempt at a
* standard File object for JavaScript, but instead is an example
* of a more involved definition of a host object.
*
* Example of use of the File object:
* <pre>
* js> defineClass("File")
* js> file = new File("myfile.txt");
* [object File]
* js> file.writeLine("one"); <i>only now is file actually opened</i>
* js> file.writeLine("two");
* js> file.writeLine("thr", "ee");
* js> file.close(); <i>must close file before we can reopen for reading</i>
* js> var a = file.readLines(); <i>creates and fills an array with the contents of the file</i>
* js> a;
* one,two,three
* js>
* </pre>
*
*
* File errors or end-of-file signaled by thrown Java exceptions will
* be wrapped as JavaScript exceptions when called from JavaScript,
* and may be caught within JavaScript.
*
* @author Norris Boyd
*/
public class File extends ScriptableObject {
/**
* The zero-parameter constructor.
*
* When Context.defineClass is called with this class, it will
* construct File.prototype using this constructor.
*/
public File() {
}
/**
* The Java method defining the JavaScript File constructor.
*
* If the constructor has one or more arguments, and the
* first argument is not undefined, the argument is converted
* to a string as used as the filename.<p>
*
* Otherwise System.in or System.out is assumed as appropriate
* to the use.
*/
public static Scriptable jsConstructor(Context cx, Object[] args,
Function ctorObj,
boolean inNewExpr)
{
File result = new File();
if (args.length == 0 || args[0] == Context.getUndefinedValue()) {
result.name = "";
result.file = null;
} else {
result.name = Context.toString(args[0]);
result.file = new java.io.File(result.name);
}
return result;
}
/**
* Returns the name of this JavaScript class, "File".
*/
public String getClassName() {
return "File";
}
/**
* Get the name of the file.
*
* Used to define the "name" property.
*/
public String jsGet_name() {
return name;
}
/**
* Read the remaining lines in the file and return them in an array.
*
* Implements a JavaScript function.<p>
*
* This is a good example of creating a new array and setting
* elements in that array.
*
* @exception IOException if an error occurred while accessing the file
* associated with this object
* @exception JavaScriptException if a JavaScript exception occurred
* while creating the result array
*/
public Object jsFunction_readLines()
throws IOException, JavaScriptException
{
Vector v = new Vector();
String s;
while ((s = jsFunction_readLine()) != null) {
v.addElement(s);
}
Object[] lines = new Object[v.size()];
v.copyInto(lines);
Scriptable scope = ScriptableObject.getTopLevelScope(this);
Scriptable result;
try {
Context cx = Context.getCurrentContext();
result = cx.newObject(scope, "Array", lines);
} catch (PropertyException e) {
throw Context.reportRuntimeError(e.getMessage());
} catch (NotAFunctionException e) {
throw Context.reportRuntimeError(e.getMessage());
}
return result;
}
/**
* Read a line.
*
* Implements a JavaScript function.
* @exception IOException if an error occurred while accessing the file
* associated with this object, or EOFException if the object
* reached the end of the file
*/
public String jsFunction_readLine() throws IOException {
return getReader().readLine();
}
/**
* Read a character.
*
* @exception IOException if an error occurred while accessing the file
* associated with this object, or EOFException if the object
* reached the end of the file
*/
public String jsFunction_readChar() throws IOException {
int i = getReader().read();
if (i == -1)
return null;
char[] charArray = { (char) i };
return new String(charArray);
}
/**
* Write strings.
*
* Implements a JavaScript function. <p>
*
* This function takes a variable number of arguments, converts
* each argument to a string, and writes that string to the file.
* @exception IOException if an error occurred while accessing the file
* associated with this object
*/
public static void jsFunction_write(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws IOException
{
write0(thisObj, args, false);
}
/**
* Write strings and a newline.
*
* Implements a JavaScript function.
* @exception IOException if an error occurred while accessing the file
* associated with this object
*
*/
public static void jsFunction_writeLine(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws IOException
{
write0(thisObj, args, true);
}
public int jsGet_lineNumber()
throws FileNotFoundException
{
return getReader().getLineNumber();
}
/**
* Close the file. It may be reopened.
*
* Implements a JavaScript function.
* @exception IOException if an error occurred while accessing the file
* associated with this object
*/
public void jsFunction_close() throws IOException {
if (reader != null) {
reader.close();
reader = null;
} else if (writer != null) {
writer.close();
writer = null;
}
}
/**
* Finalizer.
*
* Close the file when this object is collected.
*/
public void finalize() {
try {
jsFunction_close();
}
catch (IOException e) {
}
}
/**
* Get the Java reader.
*/
public Object jsFunction_getReader() {
if (reader == null)
return null;
// Here we use toObject() to "wrap" the BufferedReader object
// in a Scriptable object so that it can be manipulated by
// JavaScript.
Scriptable parent = ScriptableObject.getTopLevelScope(this);
return Context.toObject(reader, parent);
}
/**
* Get the Java writer.
*
* @see File#jsFunction_getReader
*
*/
public Object jsFunction_getWriter() {
if (writer == null)
return null;
Scriptable parent = ScriptableObject.getTopLevelScope(this);
return Context.toObject(writer, parent);
}
/**
* Get the reader, checking that we're not already writing this file.
*/
private LineNumberReader getReader() throws FileNotFoundException {
if (writer != null) {
throw Context.reportRuntimeError("already writing file \""
+ name
+ "\"");
}
if (reader == null)
reader = new LineNumberReader(file == null
? new InputStreamReader(System.in)
: new FileReader(file));
return reader;
}
/**
* Perform the guts of write and writeLine.
*
* Since the two functions differ only in whether they write a
* newline character, move the code into a common subroutine.
*
*/
private static void write0(Scriptable thisObj, Object[] args, boolean eol)
throws IOException
{
File thisFile = checkInstance(thisObj);
if (thisFile.reader != null) {
throw Context.reportRuntimeError("already writing file \""
+ thisFile.name
+ "\"");
}
if (thisFile.writer == null)
thisFile.writer = new BufferedWriter(
thisFile.file == null ? new OutputStreamWriter(System.out)
: new FileWriter(thisFile.file));
for (int i=0; i < args.length; i++) {
String s = Context.toString(args[i]);
thisFile.writer.write(s, 0, s.length());
}
if (eol)
thisFile.writer.newLine();
}
/**
* Perform the instanceof check and return the downcasted File object.
*
* This is necessary since methods may reside in the File.prototype
* object and scripts can dynamically alter prototype chains. For example:
* <pre>
* js> defineClass("File");
* js> o = {};
* [object Object]
* js> o.__proto__ = File.prototype;
* [object File]
* js> o.write("hi");
* js: called on incompatible object
* </pre>
* The runtime will take care of such checks when non-static Java methods
* are defined as JavaScript functions.
*/
private static File checkInstance(Scriptable obj) {
if (obj == null || !(obj instanceof File)) {
throw Context.reportRuntimeError("called on incompatible object");
}
return (File) obj;
}
/**
* Some private data for this class.
*/
private String name;
private java.io.File file; // may be null, meaning to use System.out or .in
private LineNumberReader reader;
private BufferedWriter writer;
}

View File

@@ -0,0 +1,168 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
/**
* An example host object class.
*
* Here's a shell session showing the Foo object in action:
* <pre>
* js> defineClass("Foo")
* js> foo = new Foo(); <i>A constructor call, see <a href="#Foo">Foo</a> below.</i>
* [object Foo] <i>The "Foo" here comes from <a href"#getClassName">getClassName</a>.</i>
* js> foo.counter; <i>The counter property is defined by the <code>defineProperty</code></i>
* 0 <i>call below and implemented by the <a href="#getCounter">getCounter</a></i>
* js> foo.counter; <i>method below.</i>
* 1
* js> foo.counter;
* 2
* js> foo.resetCounter(); <i>Results in a call to <a href="#resetCounter">resetCounter</a>.</i>
* js> foo.counter; <i>Now the counter has been reset.</i>
* 0
* js> foo.counter;
* 1
* js> bar = new Foo(37); <i>Create a new instance.</i>
* [object Foo]
* js> bar.counter; <i>This instance's counter is distinct from</i>
* 37 <i>the other instance's counter.</i>
* js> foo.varargs(3, "hi"); <i>Calls <a href="#varargs">varargs</a>.</i>
* this = [object Foo]; args = [3, hi]
* js> foo[7] = 34; <i>Since we extended ScriptableObject, we get</i>
* 34 <i>all the behavior of a JavaScript object</i>
* js> foo.a = 23; <i>for free.</i>
* 23
* js> foo.a + foo[7];
* 57
* js>
* </pre>
*
* @see org.mozilla.javascript.Context
* @see org.mozilla.javascript.Scriptable
* @see org.mozilla.javascript.ScriptableObject
*
* @author Norris Boyd
*/
public class Foo extends ScriptableObject {
/**
* The zero-parameter constructor.
*
* When Context.defineClass is called with this class, it will
* construct Foo.prototype using this constructor.
*/
public Foo() {
}
/**
* The Java method defining the JavaScript Foo constructor.
*
* Takes an initial value for the counter property.
* Note that in the example Shell session above, we didn't
* supply a argument to the Foo constructor. This means that
* the Undefined value is used as the value of the argument,
* and when the argument is converted to an integer, Undefined
* becomes 0.
*/
public Foo(int counterStart) {
counter = counterStart;
}
/**
* Returns the name of this JavaScript class, "Foo".
*/
public String getClassName() {
return "Foo";
}
/**
* The Java method defining the JavaScript resetCounter function.
*
* Resets the counter to 0.
*/
public void jsFunction_resetCounter() {
counter = 0;
}
/**
* The Java method implementing the getter for the counter property.
* <p>
* If "setCounter" had been defined in this class, the runtime would
* call the setter when the property is assigned to.
*/
public int jsGet_counter() {
return counter++;
}
/**
* An example of a variable-arguments method.
*
* All variable arguments methods must have the same number and
* types of parameters, and must be static. <p>
* @param cx the Context of the current thread
* @param thisObj the JavaScript 'this' value.
* @param args the array of arguments for this call
* @param funObj the function object of the invoked JavaScript function
* This value is useful to compute a scope using
* Context.getTopLevelScope().
* @return computes the string values and types of 'this' and
* of each of the supplied arguments and returns them in a string.
*
* @exception ThreadAssociationException if the current
* thread is not associated with a Context
* @see org.mozilla.javascript.ScriptableObject#getTopLevelScope
*/
public static Object jsFunction_varargs(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
StringBuffer buf = new StringBuffer();
buf.append("this = ");
buf.append(Context.toString(thisObj));
buf.append("; args = [");
for (int i=0; i < args.length; i++) {
buf.append(Context.toString(args[i]));
if (i+1 != args.length)
buf.append(", ");
}
buf.append("]");
return buf.toString();
}
/**
* A piece of private data for this class.
*/
private int counter;
}

View File

@@ -0,0 +1,59 @@
#! gmake
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (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 oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Rhino code, released
# May 6, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
# Makefile for the examples directory.
#
# This Makefile just calls $(JAVAC) on all the .java files. This
# Makefile is intended to be called from the toplevel Makefile.
#
JSFILES = $(PATH_PREFIX)/*.js
SOURCES = $(PATH_PREFIX)/*.java
CLASSES = $(PATH_PREFIX)/*.class
$(CLASSES) : $(SOURCES)
$(JAVAC) $(JFLAGS) $(SOURCES)
clean :
- rm $(CLASSES) $(PATH_PREFIX)/MANIFEST
clobber : clean
check :
$(PATH_PREFIX)/MANIFEST : $(SOURCES) $(CLASSES) $(JSFILES)
ls $(SOURCES) $(CLASSES) $(JSFILES) \
> $(@)
# Emulate .PHONY
FORCE :

View File

@@ -0,0 +1,274 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
import java.util.Vector;
/**
* Matrix: An example host object class that implements the Scriptable interface.
*
* Built-in JavaScript arrays don't handle multiple dimensions gracefully: the
* script writer must create every array in an array of arrays. The Matrix class
* takes care of that by automatically allocating arrays for every index that
* is accessed. What's more, the Matrix constructor takes a integer argument
* that specifies the dimension of the Matrix. If m is a Matrix with dimension 3,
* then m[0] will be a Matrix with dimension 1, and m[0][0] will be an Array.
*
* Here's a shell session showing the Matrix object in action:
* <pre>
* js> defineClass("Matrix")
* js> m = new Matrix(2); <i>A constructor call, see <a href="#Matrix">Matrix</a> below.</i>
* [object Matrix] <i>The "Matrix" here comes from <a href"#getClassName">getClassName</a>.</i>
* js> version(120); <i>switch to JavaScript1.2 to see arrays better</i>
* 0
* js> m[0][0] = 3;
* 3
* js> m[0]; <i>an array was created automatically!</i>
* [3]
* js> m[1]; <i>array is created even if we don't set a value</i>
* []
* js> m.dim; <i>we can access the "dim" property</i>
* 2
* js> m.dim = 3;
* 3
* js> m.dim; <i>but not modify it</i>
* 2
* </pre>
*
* @see org.mozilla.javascript.Context
* @see org.mozilla.javascript.Scriptable
*
* @author Norris Boyd
*/
public class Matrix implements Scriptable {
/**
* The zero-parameter constructor.
*
* When Context.defineClass is called with this class, it will
* construct Matrix.prototype using this constructor.
*/
public Matrix() {
}
/**
* The Java constructor, also used to define the JavaScript constructor.
*/
public Matrix(int dimension) {
if (dimension <= 0) {
throw Context.reportRuntimeError(
"Dimension of Matrix must be greater than zero");
}
dim = dimension;
v = new Vector();
}
/**
* Returns the name of this JavaScript class, "Matrix".
*/
public String getClassName() {
return "Matrix";
}
/**
* Defines the "dim" property by returning true if name is
* equal to "dim".
* <p>
* Defines no other properties, i.e., returns false for
* all other names.
*
* @param name the name of the property
* @param start the object where lookup began
*/
public boolean has(String name, Scriptable start) {
return name.equals("dim");
}
/**
* Defines all numeric properties by returning true.
*
* @param index the index of the property
* @param start the object where lookup began
*/
public boolean has(int index, Scriptable start) {
return true;
}
/**
* Get the named property.
* <p>
* Handles the "dim" property and returns NOT_FOUND for all
* other names.
* @param name the property name
* @param start the object where the lookup began
*/
public Object get(String name, Scriptable start) {
if (name.equals("dim"))
return new Integer(dim);
return NOT_FOUND;
}
/**
* Get the indexed property.
* <p>
* Look up the element in the associated vector and return
* it if it exists. If it doesn't exist, create it.<p>
* @param index the index of the integral property
* @param start the object where the lookup began
*/
public Object get(int index, Scriptable start) {
if (index >= v.size())
v.setSize(index+1);
Object result = v.elementAt(index);
if (result != null)
return result;
if (dim > 2) {
Matrix m = new Matrix(dim-1);
m.setParentScope(getParentScope());
m.setPrototype(getPrototype());
result = m;
} else {
Context cx = Context.getCurrentContext();
Scriptable scope = ScriptableObject.getTopLevelScope(start);
result = cx.newArray(scope, 0);
}
v.setElementAt(result, index);
return result;
}
/**
* Set a named property.
*
* We do nothing here, so all properties are effectively read-only.
*/
public void put(String name, Scriptable start, Object value) {
}
/**
* Set an indexed property.
*
* We do nothing here, so all properties are effectively read-only.
*/
public void put(int index, Scriptable start, Object value) {
}
/**
* Remove a named property.
*
* This method shouldn't even be called since we define all properties
* as PERMANENT.
*/
public void delete(String id) {
}
/**
* Remove an indexed property.
*
* This method shouldn't even be called since we define all properties
* as PERMANENT.
*/
public void delete(int index) {
}
/**
* Get prototype.
*/
public Scriptable getPrototype() {
return prototype;
}
/**
* Set prototype.
*/
public void setPrototype(Scriptable prototype) {
this.prototype = prototype;
}
/**
* Get parent.
*/
public Scriptable getParentScope() {
return parent;
}
/**
* Set parent.
*/
public void setParentScope(Scriptable parent) {
this.parent = parent;
}
/**
* Get properties.
*
* We return an empty array since we define all properties to be DONTENUM.
*/
public Object[] getIds() {
return new Object[0];
}
/**
* Default value.
*
* Use the convenience method from Context that takes care of calling
* toString, etc.
*/
public Object getDefaultValue(Class typeHint) {
return "[object Matrix]";
}
/**
* instanceof operator.
*
* We mimick the normal JavaScript instanceof semantics, returning
* true if <code>this</code> appears in <code>value</code>'s prototype
* chain.
*/
public boolean hasInstance(Scriptable value) {
Scriptable proto = value.getPrototype();
while (proto != null) {
if (proto.equals(this)) return true;
}
return false;
}
/**
* Some private data for this class.
*/
private int dim;
private Vector v;
private Scriptable prototype, parent;
}

View File

@@ -0,0 +1,7 @@
<html>
<body>
This is the NervousText applet in javascript:
<applet code=NervousText.class width=200 height=50 >
</applet>
</body>
</html>

View File

@@ -0,0 +1,75 @@
// The Java "NervousText" example ported to JavaScript.
// Compile using java org.mozilla.tools.jsc.Main -extends java.applet.Applet -implements java.lang.Runnable NervousText.js
/*
Adapted from Java code by
Daniel Wyszynski
Center for Applied Large-Scale Computing (CALC)
04-12-95
Test of text animation.
kwalrath: Changed string; added thread suspension. 5-9-95
*/
var Font = java.awt.Font;
var Thread = java.lang.Thread;
var separated;
var s = null;
var killme = null;
var i;
var x_coord = 0, y_coord = 0;
var num;
var speed=35;
var counter =0;
var threadSuspended = false; //added by kwalrath
function init() {
resize(150,50);
setFont(new Font("TimesRoman",Font.BOLD,36));
s = getParameter("text");
if (s == null) {
s = "Rhino";
}
separated = s.split('');
}
function start() {
if(killme == null)
{
killme = new java.lang.Thread(java.lang.Runnable(this));
killme.start();
}
}
function stop() {
killme = null;
}
function run() {
while (killme != null) {
try {Thread.sleep(100);} catch (e){}
repaint();
}
killme = null;
}
function paint(g) {
for(i=0;i<separated.length;i++)
{
x_coord = Math.random()*10+15*i;
y_coord = Math.random()*10+36;
g.drawChars(separated, i,1,x_coord,y_coord);
}
}
/* Added by kwalrath. */
function mouseDown(evt, x, y) {
if (threadSuspended) {
killme.resume();
}
else {
killme.suspend();
}
threadSuspended = !threadSuspended;
return true;
}

View File

@@ -0,0 +1,73 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
/**
* RunScript: simplest example of controlling execution of Rhino.
*
* Collects its arguments from the command line, executes the
* script, and prints the result.
*
* @author Norris Boyd
*/
public class RunScript {
public static void main(String args[])
throws JavaScriptException
{
// Creates and enters a Context. The Context stores information
// about the execution environment of a script.
Context cx = Context.enter();
// Initialize the standard objects (Object, Function, etc.)
// This must be done before scripts can be executed. Returns
// a scope object that we use in later calls.
Scriptable scope = cx.initStandardObjects(null);
// Collect the arguments into a single string.
String s = "";
for (int i=0; i < args.length; i++)
s += args[i];
// Now evaluate the string we've colected.
Object result = cx.evaluateString(scope, s, "<cmd>", 1, null);
// Convert the result to a string and print it.
System.err.println(cx.toString(result));
// Exit from the context.
Context.exit();
}
}

View File

@@ -0,0 +1,63 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
/**
* RunScript2: Like RunScript, but reflects the System.out into JavaScript.
*
* @author Norris Boyd
*/
public class RunScript2 {
public static void main(String args[])
throws JavaScriptException
{
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects(null);
// Add a global variable "out" that is a JavaScript reflection
// of System.out
Scriptable jsArgs = Context.toObject(System.out, scope);
scope.put("out", scope, jsArgs);
String s = "";
for (int i=0; i < args.length; i++)
s += args[i];
Object result = cx.evaluateString(scope, s, "<cmd>", 1, null);
System.err.println(cx.toString(result));
Context.exit();
}
}

View File

@@ -0,0 +1,63 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
/**
* RunScript3: Execute scripts in an environment that includes the
* example Counter class.
*
* @author Norris Boyd
*/
public class RunScript3 {
public static void main(String args[])
throws Exception
{
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects(null);
// Use the Counter class to define a Counter constructor
// and prototype in JavaScript.
ScriptableObject.defineClass(scope, Counter.class);
String s = "";
for (int i=0; i < args.length; i++)
s += args[i];
Object result = cx.evaluateString(scope, s, "<cmd>", 1, null);
System.err.println(cx.toString(result));
Context.exit();
}
}

View File

@@ -0,0 +1,352 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
import org.mozilla.javascript.*;
import java.io.*;
/**
* The shell program.
*
* Can execute scripts interactively or in batch mode at the command line.
* An example of controlling the JavaScript engine.
*
* @author Norris Boyd
*/
public class Shell extends ScriptableObject {
/**
* Main entry point.
*
* Process arguments as would a normal Java program. Also
* create a new Context and associate it with the current thread.
* Then set up the execution environment and begin to
* execute scripts.
*/
public static void main(String args[]) {
// Associate a new Context with this thread
Context cx = Context.enter();
// A bit of shorthand: since Shell extends ScriptableObject,
// we can make it the global object.
global = new Shell();
// Initialize the standard objects (Object, Function, etc.)
// This must be done before scripts can be executed.
cx.initStandardObjects(global);
// Define some global functions particular to the shell. Note
// that these functions are not part of ECMA.
String[] names = { "print", "quit", "version", "load", "help" };
try {
global.defineFunctionProperties(names, Shell.class,
ScriptableObject.DONTENUM);
} catch (PropertyException e) {
throw new Error(e.getMessage());
}
args = processOptions(cx, args);
// Set up "arguments" in the global scope to contain the command
// line arguments after the name of the script to execute
Object[] array = args;
if (args.length > 0) {
int length = args.length - 1;
array = new Object[length];
System.arraycopy(args, 1, array, 0, length);
}
Scriptable argsObj = cx.newArray(global, array);
global.defineProperty("arguments", argsObj,
ScriptableObject.DONTENUM);
processSource(cx, args.length == 0 ? null : args[0]);
cx.exit();
}
/**
* Parse arguments.
*/
public static String[] processOptions(Context cx, String args[]) {
for (int i=0; i < args.length; i++) {
String arg = args[i];
if (!arg.startsWith("-")) {
String[] result = new String[args.length - i];
for (int j=i; j < args.length; j++)
result[j-i] = args[j];
return result;
}
if (arg.equals("-version")) {
if (++i == args.length)
usage(arg);
double d = cx.toNumber(args[i]);
if (d != d)
usage(arg);
cx.setLanguageVersion((int) d);
continue;
}
usage(arg);
}
return new String[0];
}
/**
* Return name of this class, the global object.
*
* This method must be implemented in all concrete classes
* extending ScriptableObject.
*
* @see org.mozilla.javascript.Scriptable#getClassName
*/
public String getClassName() {
return "global";
}
/**
* Print a usage message.
*/
public static void usage(String s) {
p("Didn't understand \"" + s + "\".");
p("Valid arguments are:");
p("-version 100|110|120|130");
System.exit(1);
}
/**
* Print a help message.
*
* This method is defined as a JavaScript function.
*/
public static void help(String s) {
p("");
p("Command Description");
p("======= ===========");
p("help() Display usage and help messages. ");
p("defineClass(className) Define an extension using the Java class");
p(" named with the string argument. ");
p(" Uses ScriptableObject.defineClass(). ");
p("load(['foo.js', ...]) Load JavaScript source files named by ");
p(" string arguments. ");
p("loadClass(className) Load a class named by a string argument.");
p(" The class must be a script compiled to a");
p(" class file. ");
p("print([expr ...]) Evaluate and print expressions. ");
p("quit() Quit the shell. ");
p("version([number]) Get or set the JavaScript version number.");
p("");
}
/**
* Print the string values of its arguments.
*
* This method is defined as a JavaScript function.
* Note that its arguments are of the "varargs" form, which
* allows it to handle an arbitrary number of arguments
* supplied to the JavaScript function.
*
*/
public static void print(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
for (int i=0; i < args.length; i++) {
if (i > 0)
System.out.print(" ");
// Convert the arbitrary JavaScript value into a string form.
String s = Context.toString(args[i]);
System.out.print(s);
}
System.out.println();
}
/**
* Quit the shell.
*
* This only affects the interactive mode.
*
* This method is defined as a JavaScript function.
*/
public static void quit() {
quitting = true;
}
/**
* Get and set the language version.
*
* This method is defined as a JavaScript function.
*/
public static double version(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
double result = (double) cx.getLanguageVersion();
if (args.length > 0) {
double d = cx.toNumber(args[0]);
cx.setLanguageVersion((int) d);
}
return result;
}
/**
* Load and execute a set of JavaScript source files.
*
* This method is defined as a JavaScript function.
*
*/
public static void load(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
for (int i=0; i < args.length; i++) {
processSource(cx, cx.toString(args[i]));
}
}
/**
* Evaluate JavaScript source.
*
* @param cx the current context
* @param filename the name of the file to compile, or null
* for interactive mode.
*/
public static void processSource(Context cx, String filename) {
if (filename == null) {
BufferedReader in = new BufferedReader
(new InputStreamReader(System.in));
String sourceName = "<stdin>";
int lineno = 1;
boolean hitEOF = false;
do {
int startline = lineno;
System.err.print("js> ");
System.err.flush();
try {
String source = "";
// Collect lines of source to compile.
while(true) {
String newline;
newline = in.readLine();
if (newline == null) {
hitEOF = true;
break;
}
source = source + newline + "\n";
lineno++;
// Continue collecting as long as more lines
// are needed to complete the current
// statement. stringIsCompilableUnit is also
// true if the source statement will result in
// any error other than one that might be
// resolved by appending more source.
if (cx.stringIsCompilableUnit(source))
break;
}
Object result = cx.evaluateString(global, source,
sourceName, startline,
null);
if (result != cx.getUndefinedValue()) {
System.err.println(cx.toString(result));
}
}
catch (WrappedException we) {
// Some form of exception was caught by JavaScript and
// propagated up.
System.err.println(we.getWrappedException().toString());
we.printStackTrace();
}
catch (EvaluatorException ee) {
// Some form of JavaScript error.
System.err.println("js: " + ee.getMessage());
}
catch (JavaScriptException jse) {
// Some form of JavaScript error.
System.err.println("js: " + jse.getMessage());
}
catch (IOException ioe) {
System.err.println(ioe.toString());
}
if (quitting) {
// The user executed the quit() function.
break;
}
} while (!hitEOF);
System.err.println();
} else {
FileReader in = null;
try {
in = new FileReader(filename);
}
catch (FileNotFoundException ex) {
Context.reportError("Couldn't open file \"" + filename + "\".");
return;
}
try {
// Here we evalute the entire contents of the file as
// a script. Text is printed only if the print() function
// is called.
cx.evaluateReader(global, in, filename, 1, null);
}
catch (WrappedException we) {
System.err.println(we.getWrappedException().toString());
we.printStackTrace();
}
catch (EvaluatorException ee) {
System.err.println("js: " + ee.getMessage());
}
catch (JavaScriptException jse) {
System.err.println("js: " + jse.getMessage());
}
catch (IOException ioe) {
System.err.println(ioe.toString());
}
finally {
try {
in.close();
}
catch (IOException ioe) {
System.err.println(ioe.toString());
}
}
}
System.gc();
}
private static void p(String s) {
System.out.println(s);
}
static Shell global;
static boolean quitting;
}

View File

@@ -0,0 +1,134 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/**
* checkParam.js
*
* The files given as arguments on the command line are assumed to be
* Java source code files. This program checks to see that the @param
* tags in the documentation comments match with the parameters for
* the associated Java methods.
* <p>
* Any errors found are reported.
*
*/
defineClass("File")
// Return true if "str" ends with "suffix".
function stringEndsWith(str, suffix) {
return str.substring(str.length - suffix.length) == suffix;
}
/**
* Perform processing once the end of a documentation comment is seen.
*
* Look for a parameter list following the end of the comment and
* collect the parameters and compare to the @param entries.
* Report any discrepancies.
* @param f the current file
* @param a an array of parameters from @param comments
* @param line the string containing the comment end (in case the
* parameters are on the same line)
*/
function processCommentEnd(f, a, line) {
while (line != null && !line.match(/\(/))
line = f.readLine();
while (line != null && !line.match(/\)/))
line += f.readLine();
if (line === null)
return;
var m = line.match(/\(([^\)]+)\)/);
var args = m ? m[1].split(",") : [];
if (a.length != args.length) {
print('"' + f.name +
'"; line ' + f.lineNumber +
' mismatch: had a different number' +
' of @param entries and parameters.');
} else {
for (var i=0; i < a.length; i++) {
if (!stringEndsWith(args[i], a[i])) {
print('"' + f.name +
'"; line ' + f.lineNumber +
' mismatch: had "' + a[i] +
'" and "' + args[i] + '".');
break;
}
}
}
}
/**
* Process the given file, looking for mismatched @param lists and
* parameter lists.
* @param f the file to process
*/
function processFile(f) {
var line;
var m;
var i = 0;
var a = [];
outer:
while ((line = f.readLine()) != null) {
if (line.match(/@param/)) {
while (m = line.match(/@param[ ]+([^ ]+)/)) {
a[i++] = m[1];
line = f.readLine();
if (line == null)
break outer;
}
}
if (i != 0 && line.match(/\*\//)) {
processCommentEnd(f, a, line);
i = 0;
a = [];
}
}
if (i != 0) {
print('"' + f.name +
'"; line ' + f.lineNumber +
' missing parameters at end of file.');
}
}
// main script: process each file in arguments list
for (var i=0; i < arguments.length; i++) {
var filename = String(arguments[i]);
print("Checking " + filename + "...");
var f = new File(filename);
processFile(f);
}
print("done.");

View File

@@ -0,0 +1,70 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Patrick Beard
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/*
enum.js
Implementing the interface java.util.Enumeration using the new syntax.
Note that this syntax is experimental only, and hasn't been approved
by ECMA.
The same functionality can be had without the new syntax using the
uglier syntax:
var elements = new JavaAdapter(java.util.Enumeration, {
index: 0, elements: array,
hasMoreElements: function ...
nextElement: function ...
});
by Patrick C. Beard.
*/
// an array to enumerate.
var array = [0, 1, 2];
// create an array enumeration.
var elements = new java.util.Enumeration() {
index: 0, elements: array,
hasMoreElements: function() {
return (this.index < this.elements.length);
},
nextElement: function() {
return this.elements[this.index++];
}
};
// now print out the array by enumerating through the Enumeration
while (elements.hasMoreElements())
print(elements.nextElement());

View File

@@ -0,0 +1,508 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roland Pennings
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/**
* Process a JavaScript source file and process special comments
* to produce an HTML file of documentation, similar to javadoc.
* @author Norris Boyd
* @see rhinotip.jar
* @lastmodified xx
* @version 1.2 Roland Pennings: Allow multiple files for a function.
* @version 1.3 Roland Pennings: Removes ../.. from the input directory name
*/
defineClass("File")
var functionDocArray = [];
var inputDirName = "";
var indexFileArray = [];
var indexFile = "";
var indexFileName = "index_files";
var indexFunctionArray = [];
var indexFunction = "";
var indexFunctionName = "index_functions";
var FileList = [];
var DirList = [];
var outputdir = null;
var debug = 0;
/**
* Process JavaScript source file <code>f</code>, writing jsdoc to
* file <code>out</code>.
* @param f input file
* @param fname name of the input file (without the path)
* @param inputdir directory of the input file
* @param out output file
*/
function processFile(f, fname, inputdir, out) {
var s;
var firstLine = true;
indexFileArray[fname] = "";
// write the header of the output file
out.writeLine('<HTML><HEADER><TITLE>' + fname + '</TITLE><BODY>');
if (inputdir != null) {
outstr = '<a name=\"_top_\"></a><pre><a href=\"' + indexFile + '\">Index Files</a> ';
outstr += '<a href=\"' + indexFunction + '\">Index Functions</a></pre><hr>';
out.writeLine(outstr);
}
// process the input file
var comment = "";
while ((s = f.readLine()) != null) {
var m = s.match(/\/\*\*(.*)/);
if (m != null) {
// Found a comment start.
s = "*" + m[1];
do {
m = s.match(/(.*)\*\//);
if (m != null) {
// Found end of comment.
comment += m[1];
break;
}
// Strip leading whitespace and "*".
comment += s.replace(/^\s*\*/, "");
s = f.readLine();
} while (s != null);
if (debug)
print("Found comment " + comment);
if (firstLine) {
// We have a comment for the whole file.
out.writeLine('<H1>File ' + fname + '</H1>');
out.writeLine(processComment(comment,firstLine,fname));
out.writeLine('<HR>');
firstLine = false;
comment = "";
continue;
}
}
// match the beginning of the function
// NB we also match functions without a comment!
// if we have two comments one after another only the last one will be taken
m = s.match(/^\s*function\s+((\w+)|(\w+)(\s+))\(([^)]*)\)/);
if (m != null)
{
// Found a function start
var htmlText = processFunction(m[1], m[2], comment);
// Save the text in a global variable, so we
// can write out a table of contents first.
functionDocArray[functionDocArray.length] =
{name:m[1], text:htmlText};
// Store the function also in the indexFunctionArray
// so we can have a seperate file with the function table of contents
if (indexFunctionArray[m[1]]) {
// print("ERROR: function: " + m[1] + " is defined more than once!");
// Allow multiple files for a function
with (indexFunctionArray[m[1]]) {
filename = filename + "|" + fname;
// print("filename = " + filename);
}
} else {
indexFunctionArray[m[1]] =
{filename:fname};
}
//reset comment
comment = "";
}
firstLine = false;
}
// Write table of contents.
for (var i=0; i < functionDocArray.length; i++) {
with (functionDocArray[i]) {
out.writeLine('function <A HREF=#' + name +
'>' + name + '</A><BR>');
}
}
out.writeLine('<HR>');
// Now write the saved function documentation.
for (i=0; i < functionDocArray.length; i++) {
with (functionDocArray[i]) {
out.writeLine('<A NAME=' + name + '>');
out.writeLine(text);
}
}
out.writeLine('</BODY></HTML>');
// Now clean up the doc array
functionDocArray = [];
}
/**
* Process function and associated comment.
* @param name the name of the function
* @param args the args of the function as a single string
* @param comment the text of the comment
* @return a string for the HTML text of the documentation
*/
function processFunction(name, args, comment) {
if (debug)
print("Processing " + name + " " + args + " " + comment);
return "<H2>Function " + name + "</H2>" +
"<PRE>" +
"function " + name + "(" + args + ")" +
"</PRE>" +
processComment(comment,0,name) +
"<P><BR><BR>";
}
/**
* Process comment.
* @param comment the text of the comment
* @param firstLine shows if comment is at the beginning of the file
* @param fname name of the file (without path)
* @return a string for the HTML text of the documentation
*/
function processComment(comment,firstLine,fname) {
var tags = {};
// Use the "lambda" form of regular expression replace,
// where the replacement object is a function rather
// than a string. The function is called with the
// matched text and any parenthetical matches as
// arguments, and the result of the function used as the
// replacement text.
// Here we use the function to build up the "tags" object,
// which has a property for each "@" tag that is the name
// of the tag, and whose value is an array of the
// text following that tag.
comment = comment.replace(/@(\w+)\s+([^@]*)/g,
function (s, name, text) {
var a = tags[name] || [];
a.push(text);
tags[name] = a;
return "";
});
// if we have a comment at the beginning of a file
// store the comment for the index file
if (firstLine) {
indexFileArray[fname] = comment;
}
var out = comment + '<P>';
if (tags["param"]) {
// Create a table of parameters and their descriptions.
var array = tags["param"];
var params = "";
for (var i=0; i < array.length; i++) {
var m = array[i].match(/(\w+)\s+(.*)/);
params += '<TR><TD><I>'+m[1]+'</I></TD>' +
'<TD>'+m[2]+'</TD></TR>';
}
out += '<TABLE WIDTH="90%" BORDER=1>';
out += '<TR BGCOLOR=0xdddddddd>';
out += '<TD><B>Parameter</B></TD>';
out += '<TD><B>Description</B></TD></TR>';
out += params;
out += '</TABLE><P>';
}
if (tags["return"]) {
out += "<DT><B>Returns:</B><DD>";
out += tags["return"][0] + "</DL><P>";
}
if (tags["author"]) {
// List the authors together, separated by commas.
out += '<DT><B>Author:</B><DD>';
var array = tags["author"];
for (var i=0; i < array.length; i++) {
out += array[i];
if (i+1 < array.length)
out += ", ";
}
out += '</DL><P>';
}
if (tags["version"]) {
// Show the version.
out += '<DT><B>Version:</B><DD>';
var array = tags["version"];
for (var i=0; i < array.length; i++) {
out += array[i];
if (i+1 < array.length)
out += "<BR><DD>";
}
out += '</DL><P>';
}
if (tags["see"]) {
// List the see modules together, separated by <BR>.
out += '<DT><B>Dependencies:</B><DD>';
var array = tags["see"];
for (var i=0; i < array.length; i++) {
out += array[i];
if (i+1 < array.length)
out += "<BR><DD>";
}
out += '</DL><P>';
}
if (tags["lastmodified"]) {
// Shows a last modified description with client-side js.
out += '<DT><B>Last modified:</B><DD>';
out += '<script><!--\n';
out += 'document.writeln(document.lastModified);\n';
out += '// ---></script>\n';
out += '</DL><P>';
}
// additional tags can be added here (i.e., "if (tags["see"])...")
return out;
}
/**
* Create an html output file
* @param outputdir directory to put the file
* @param htmlfile name of the file
*/
function CreateOutputFile(outputdir,htmlfile)
{
if (outputdir==null)
{
var outname = htmlfile;
}
else
{
var separator = Packages.java.io.File.separator;
var outname = outputdir + separator + htmlfile.substring(htmlfile.lastIndexOf(separator),htmlfile.length);
}
print("output file: " + outname);
return new File(outname);
}
/**
* Process a javascript file. Puts the generated HTML file in the outdir
* @param filename name of the javascript file
* @inputdir input directory of the file (default null)
*/
function processJSFile(filename,inputdir)
{
if (debug) print("filename = " + filename + " inputdir = " + inputdir);
if (!filename.match(/\.js$/)) {
print("Expected filename to end in '.js'; had instead " +
filename + ". I don't treat the file.");
} else {
if (inputdir==null)
{
var inname = filename;
}
else
{
var separator = Packages.java.io.File.separator;
var inname = inputdir + separator + filename;
}
print("Processing file " + inname);
var f = new File(inname);
// create the output file
var htmlfile = filename.replace(/\.js$/, ".html");
var out = CreateOutputFile(outputdir,htmlfile);
processFile(f, filename, inputdir, out);
out.close();
}
}
/**
* Generate index files containing links to the processed javascript files
* and the generated functions
*/
function GenerateIndex(dirname)
{
// construct the files index file
var out = CreateOutputFile(outputdir,indexFile);
// write the beginning of the file
out.writeLine('<HTML><HEADER><TITLE>File Index - directory: ' + dirname + '</TITLE><BODY>');
out.writeLine('<H1>File Index - directory: ' + dirname + '</H1>\n');
out.writeLine('<TABLE WIDTH="90%" BORDER=1>');
out.writeLine('<TR BGCOLOR=0xdddddddd>');
out.writeLine('<TD><B>File</B></TD>');
out.writeLine('<TD><B>Description</B></TD></TR>');
var separator = Packages.java.io.File.separator;
// sort the index file array
var SortedFileArray = [];
for (var fname in indexFileArray)
SortedFileArray.push(fname);
SortedFileArray.sort();
for (var i=0; i < SortedFileArray.length; i++) {
var fname = SortedFileArray[i];
var htmlfile = fname.replace(/\.js$/, ".html");
out.writeLine('<TR><TD><A HREF=\"' + htmlfile + '\">' + fname + '</A></TD></TD><TD>');
if (indexFileArray[fname])
out.writeLine(indexFileArray[fname]);
else
out.writeLine('No comments');
out.writeLine('</TD></TR>\n');
}
out.writeLine('</TABLE></BODY></HTML>');
out.close();
// construct the functions index file
var out = CreateOutputFile(outputdir,indexFunction);
// write the beginning of the file
out.writeLine('<HTML><HEADER><TITLE>Function Index - directory: ' + dirname + '</TITLE><BODY>');
out.writeLine('<H1>Function Index - directory: ' + dirname + '</H1>\n');
out.writeLine('<TABLE WIDTH="90%" BORDER=1>');
out.writeLine('<TR BGCOLOR=0xdddddddd>');
out.writeLine('<TD><B>Function</B></TD>');
out.writeLine('<TD><B>Files</B></TD></TR>');
// sort the function array
var SortedFunctionArray = [];
for (var functionname in indexFunctionArray)
SortedFunctionArray.push(functionname);
SortedFunctionArray.sort();
for (var j=0; j < SortedFunctionArray.length; j++) {
var funcname = SortedFunctionArray[j];
with (indexFunctionArray[funcname]) {
var outstr = '<TR><TD>' + funcname + '</TD><TD>';
var filelst = filename.split("|");
for (var i in filelst) {
var htmlfile = filelst[i].replace(/\.js$/, ".html");
outstr += '<A HREF=\"' + htmlfile + '#' + funcname + '\">' + filelst[i] + '</A>&nbsp;';
}
outstr += '</TD></TR>';
out.writeLine(outstr);
}
}
out.writeLine('</TABLE></BODY></HTML>');
out.close();
}
/**
* prints the options for JSDoc
*/
function PrintOptions()
{
print("You can use the following options:\n");
print("-d: specify an output directory for the generated html files\n");
print("-i: processes all files in an input directory (you can specify several directories)\n");
quit();
}
// Main Script
// first read the arguments
if (! arguments)
PrintOptions();
for (var i=0; i < arguments.length; i++) {
if (debug) print("argument: + \'" + arguments[i] + "\'");
if (arguments[i].match(/^\-/)) {
if (String(arguments[i])=="-d"){
// output directory for the generated html files
outputdir = String(arguments[i+1]);
if (debug) print("outputdir: + \'" + outputdir + "\'");
i++;
}
else if (String(arguments[i])=="-i"){
// process all files in an input directory
DirList.push(String(arguments[i+1]));
if (debug) print("inputdir: + \'" + arguments[i+1] + "\'");
i++;
}
else {
print("Unknown option: " + arguments[i] + "\n");
PrintOptions();
}
}
else
{
// we have a single file
if (debug) print("file: + \'" + arguments[i] + "\'");
FileList.push(String(arguments[i]));
}
}
// first handle the single files
for (var i in FileList)
processJSFile(FileList[i],null);
// then handle the input directories
for (var j in DirList) {
var inputdir = String(DirList[j]);
print("Process input directory: " + inputdir);
// clean up index arrays
var indexFileArray = [];
var indexFunctionArray = [];
// for the directory name get rid of ../../ or ..\..\
inputDirName = inputdir.replace(/\.\.\/|\.\.\\/g,"");
indexFile = indexFileName + "_" + inputDirName + ".html";
indexFunction = indexFunctionName + "_" + inputDirName + ".html";
print("indexFile = " + indexFile);
print("indexFunction = " + indexFunction);
// read the files in the directory
var DirFile = new java.io.File(inputdir);
var lst = DirFile.list();
var separator = Packages.java.io.File.separator;
for (var i=0; i < lst.length; i++)
{
processJSFile(String(lst[i]),inputdir);
}
// generate the index files for the input directory
GenerateIndex(inputDirName);
}

View File

@@ -0,0 +1,54 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/**
* liveConnect.js: a simple demonstration of JavaScript-to-Java connectivity
*/
// Create a new StringBuffer. Note that the class name must be fully qualified
// by its package. Packages other than "java" must start with "Packages", i.e.,
// "Packages.javax.servlet...".
var sb = new java.lang.StringBuffer();
// Now add some stuff to the buffer.
sb.append("hi, mom");
sb.append(3); // this will add "3.0" to the buffer since all JS numbers
// are doubles by default
sb.append(true);
// Now print it out. (The toString() method of sb is automatically called
// to convert the buffer to a string.)
// Should print "hi, mom3.0true".
print(sb);

View File

@@ -0,0 +1,53 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// unique.js: read the contents of a file and print out the unique lines
defineClass("File")
// "arguments[0]" refers to the first argument at the command line to the
// script, if present. If not present, "arguments[0]" will be undefined,
// which will cause f to read from System.in.
var f = new File(arguments[0]);
var o = {}
var line;
while ((line = f.readLine()) != null) {
// Use JavaScript objects' inherent nature as an associative
// array to provide uniqueness
o[line] = true;
}
for (i in o) {
print(i);
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
Manifest-Version: 1.0
Main-Class: org.mozilla.javascript.tools.shell.Main

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,130 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This class implements the "arguments" object.
*
* See ECMA 10.1.8
*
* @see org.mozilla.javascript.NativeCall
* @author Norris Boyd
*/
class Arguments extends ScriptableObject {
public Arguments(NativeCall activation) {
this.activation = activation;
Scriptable parent = activation.getParentScope();
setParentScope(parent);
setPrototype(ScriptableObject.getObjectPrototype(parent));
args = activation.getOriginalArguments();
int length = args.length;
Object callee = activation.funObj;
defineProperty("length", new Integer(length),
ScriptableObject.DONTENUM);
defineProperty("callee", callee, ScriptableObject.DONTENUM);
hasCaller = (activation.funObj.version <= Context.VERSION_1_3 &&
activation.funObj.version != Context.VERSION_DEFAULT);
}
public String getClassName() {
return "Arguments";
}
public boolean has(String name, Scriptable start) {
return (hasCaller && name.equals("caller")) || super.has(name, start);
}
public boolean has(int index, Scriptable start) {
Object[] args = activation.getOriginalArguments();
return (0 <= index && index < args.length) || super.has(index, start);
}
public Object get(String name, Scriptable start) {
if (hasCaller && name.equals("caller")) {
NativeCall caller = activation.caller;
if (caller == null || caller.originalArgs == null)
return null;
return caller.get("arguments", caller);
}
return super.get(name, start);
}
public Object get(int index, Scriptable start) {
if (0 <= index && index < args.length) {
NativeFunction f = activation.funObj;
if (index < f.argCount)
return activation.get(f.names[index+1], activation);
return args[index];
}
return super.get(index, start);
}
public void put(String name, Scriptable start, Object value) {
if (name.equals("caller")) {
// Set "hasCaller" to false so that we won't look up a
// computed value.
hasCaller = false;
}
super.put(name, start, value);
}
public void put(int index, Scriptable start, Object value) {
if (0 <= index && index < args.length) {
NativeFunction f = activation.funObj;
if (index < f.argCount)
activation.put(f.names[index+1], activation, value);
else
args[index] = value;
return;
}
super.put(index, start, value);
}
public void delete(String name) {
if (name.equals("caller"))
hasCaller = false;
super.delete(name);
}
private NativeCall activation;
private Object[] args;
private boolean hasCaller;
}

View File

@@ -0,0 +1,75 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Waldemar Horwat
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
final class BinaryDigitReader {
int lgBase; // Logarithm of base of number
int digit; // Current digit value in radix given by base
int digitPos; // Bit position of last bit extracted from digit
String digits; // String containing the digits
int start; // Index of the first remaining digit
int end; // Index past the last remaining digit
BinaryDigitReader(int base, String digits, int start, int end) {
lgBase = 0;
while (base != 1) {
lgBase++;
base >>= 1;
}
digitPos = 0;
this.digits = digits;
this.start = start;
this.end = end;
}
/* Return the next binary digit from the number or -1 if done */
int getNextBinaryDigit()
{
if (digitPos == 0) {
if (start == end)
return -1;
char c = digits.charAt(start++);
if ('0' <= c && c <= '9')
digit = c - '0';
else if ('a' <= c && c <= 'z')
digit = c - 'a' + 10;
else digit = c - 'A' + 10;
digitPos = lgBase;
}
return digit >> --digitPos & 1;
}
}

View File

@@ -0,0 +1,48 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* Thrown if errors are detected while attempting to define a host object
* from a Java class.
*/
public class ClassDefinitionException extends Exception {
public ClassDefinitionException(String detail) {
super(detail);
}
}

View File

@@ -0,0 +1,61 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Andi Vajda
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
public interface ClassNameHelper {
public String getTargetClassFileName();
public void setTargetClassFileName(String classFileName);
public String getTargetPackage();
public void setTargetPackage(String targetPackage);
public String getTargetClassFileName(String className);
public String getGeneratingDirectory();
public void setTargetExtends(Class extendsClass);
public void setTargetImplements(Class[] implementsClasses);
public ClassOutput getClassOutput();
public void setClassOutput(ClassOutput classOutput);
}

View File

@@ -0,0 +1,56 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Andi Vajda
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
// API class
import java.io.*;
/**
* This interface is implemented by classes interested in the bytecode
* generated by the rhino compiler for script objects.
*
* @see Context
* @author Andi Vajda
*/
public interface ClassOutput {
/**
* @param className the name of the class for which bytecode is ready.
* @return a stream into which to write bytecode.
* @since 1.5 Release 2
*/
public OutputStream getOutputStream(String className)
throws IOException;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,63 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This is the default error reporter for JavaScript.
*
* @author Norris Boyd
*/
class DefaultErrorReporter implements ErrorReporter {
public void warning(String message, String sourceName, int line,
String lineSource, int lineOffset)
{
// do nothing
}
public void error(String message, String sourceName, int line,
String lineSource, int lineOffset)
{
throw new EvaluatorException(message);
}
public EvaluatorException runtimeError(String message, String sourceName,
int line, String lineSource,
int lineOffset)
{
return new EvaluatorException(message);
}
}

View File

@@ -0,0 +1,152 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* The class of exceptions raised by the engine as described in
* ECMA edition 3. See section 15.11.6 in particular.
*/
public class EcmaError extends RuntimeException {
/**
* Create an exception with the specified detail message.
*
* Errors internal to the JavaScript engine will simply throw a
* RuntimeException.
*
* @param nativeError the NativeError object constructed for this error
* @param sourceName the name of the source reponsible for the error
* @param lineNumber the line number of the source
* @param columnNumber the columnNumber of the source (may be zero if
* unknown)
* @param lineSource the source of the line containing the error (may be
* null if unknown)
*/
public EcmaError(NativeError nativeError, String sourceName,
int lineNumber, int columnNumber, String lineSource)
{
super("EcmaError");
errorObject = nativeError;
this.sourceName = sourceName;
this.lineNumber = lineNumber;
this.columnNumber = columnNumber;
this.lineSource = lineSource;
}
/**
* Return a string representation of the error, which currently consists
* of the name of the error together with the message.
*/
public String toString() {
if (sourceName != null && lineNumber > 0)
return errorObject.toString() + " (" + sourceName +
"; line " + lineNumber + ")";
else
return errorObject.toString();
}
/**
* Gets the name of the error.
*
* ECMA edition 3 defines the following
* errors: EvalError, RangeError, ReferenceError,
* SyntaxError, TypeError, and URIError. Additional error names
* may be added in the future.
*
* See ECMA edition 3, 15.11.7.9.
*
* @return the name of the error.
*/
public String getName() {
return errorObject.getName();
}
/**
* Gets the message corresponding to the error.
*
* See ECMA edition 3, 15.11.7.10.
*
* @return an implemenation-defined string describing the error.
*/
public String getMessage() {
return errorObject.getMessage();
}
/**
* Get the name of the source containing the error, or null
* if that information is not available.
*/
public String getSourceName() {
return sourceName;
}
/**
* Returns the line number of the statement causing the error,
* or zero if not available.
*/
public int getLineNumber() {
return lineNumber;
}
/**
* Get the error object corresponding to this exception.
*/
public Scriptable getErrorObject() {
return errorObject;
}
/**
* The column number of the location of the error, or zero if unknown.
*/
public int getColumnNumber() {
return columnNumber;
}
/**
* The source of the line causing the error, or zero if unknown.
*/
public String getLineSource() {
return lineSource;
}
private NativeError errorObject;
private String sourceName;
private int lineNumber;
private int columnNumber;
private String lineSource;
}

View File

@@ -0,0 +1,103 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* This is interface defines a protocol for the reporting of
* errors during JavaScript translation or execution.
*
* @author Norris Boyd
*/
public interface ErrorReporter {
/**
* Report a warning.
*
* The implementing class may choose to ignore the warning
* if it desires.
*
* @param message a String describing the warning
* @param sourceName a String describing the JavaScript source
* where the warning occured; typically a filename or URL
* @param line the line number associated with the warning
* @param lineSource the text of the line (may be null)
* @param lineOffset the offset into lineSource where problem was detected
*/
void warning(String message, String sourceName, int line,
String lineSource, int lineOffset);
/**
* Report an error.
*
* The implementing class is free to throw an exception if
* it desires.
*
* If execution has not yet begun, the JavaScript engine is
* free to find additional errors rather than terminating
* the translation. It will not execute a script that had
* errors, however.
*
* @param message a String describing the error
* @param sourceName a String describing the JavaScript source
* where the error occured; typically a filename or URL
* @param line the line number associated with the error
* @param lineSource the text of the line (may be null)
* @param lineOffset the offset into lineSource where problem was detected
*/
void error(String message, String sourceName, int line,
String lineSource, int lineOffset);
/**
* Creates an EvaluatorException that may be thrown.
*
* runtimeErrors, unlike errors, will always terminate the
* current script.
*
* @param message a String describing the error
* @param sourceName a String describing the JavaScript source
* where the error occured; typically a filename or URL
* @param line the line number associated with the error
* @param lineSource the text of the line (may be null)
* @param lineOffset the offset into lineSource where problem was detected
* @return an EvaluatorException that will be thrown.
*/
EvaluatorException runtimeError(String message, String sourceName,
int line, String lineSource,
int lineOffset);
}

View File

@@ -0,0 +1,56 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* The class of exceptions thrown by the JavaScript engine.
*/
public class EvaluatorException extends RuntimeException {
/**
* Create an exception with the specified detail message.
*
* Errors internal to the JavaScript engine will simply throw a
* RuntimeException.
*
* @param detail a message with detail about the exception
*/
public EvaluatorException(String detail) {
super(detail);
}
}

View File

@@ -0,0 +1,342 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Hashtable;
import java.util.Enumeration;
/**
* Manipulate a Scriptable object as if its prototype chain were flattened.
* <p>
* This class has been deprecated in favor of the static methods
* <code>getProperty</code>, <code>putProperty</code>, and
* <code>deleteProperty</code>. Those methods provide the
* same functionality without the confusing and inefficient need to construct
* a new object instance.
*
* @see org.mozilla.javascript.ScriptableObject
*
* @author Norris Boyd
*/
public class FlattenedObject {
/**
* Construct a new FlattenedObject.
*
* @param object the object to be viewed with flattened properties
* @deprecated
*/
public FlattenedObject(Scriptable object) {
this.obj = object;
}
/**
* Get the associated Scriptable object.
* @deprecated
*/
public Scriptable getObject() {
return obj;
}
/**
* Determine if a property exists in an object.
*
* This is a more convenient (and less efficient) form than
* <code>Scriptable.has()</code>.
* It returns true if and only if the property
* exists in this object or any of the objects in its prototype
* chain.
*
* @param id the property index, which may be either a String or a
* Number
* @return true if and only if the property exists in the prototype
* chain
* @see org.mozilla.javascript.Scriptable#has
* @deprecated As of 1.5R2, replaced by ScriptableObject.getProperty
*/
public boolean hasProperty(Object id) {
String stringId = ScriptRuntime.toString(id);
String s = ScriptRuntime.getStringId(stringId);
if (s == null)
return getBase(obj, ScriptRuntime.getIntId(stringId)) != null;
return getBase(obj, s) != null;
}
/**
* Get a property of an object.
* <p>
* This is a more convenient (and less efficient) form than
* <code>Scriptable.get()</code>. It corresponds exactly to the
* expression <code>obj[id]</code> in JavaScript. This method
* will traverse the prototype chain of an object to find the
* property.<p>
*
* If the property does not exist in the object or its prototype
* chain, the undefined value will be returned.
*
* @param id the property index; can be a String or a Number; the
* String may contain characters representing a number
* @return the value of the property or the undefined value
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.Context#getUndefinedValue
* @deprecated As of 1.5R2, replaced by ScriptableObject.getProperty
*/
public Object getProperty(Object id) {
String s = ScriptRuntime.getStringId(id);
int index = s == null ? ScriptRuntime.getIntId(id) : 0;
Scriptable m = obj;
Object result;
for(;;) {
result = s == null ? m.get(index, obj) : m.get(s, obj);
if (result != Scriptable.NOT_FOUND)
break;
m = m.getPrototype();
if (m == null)
return Undefined.instance;
}
if (result instanceof Scriptable)
return new FlattenedObject((Scriptable) result);
return result;
}
/**
* Set a property of an object.
*
* This is a more convenient (and less efficient) form than that
* provided in Scriptable. It corresponds exactly to the
* expression <code>obj[id] = val</code> in JavaScript.<p>
*
* @param id the property index, which may be either a String or
* a Number
* @param value the value of the property
* @see org.mozilla.javascript.Scriptable#put
* @deprecated As of 1.5R2, replaced by ScriptableObject.putProperty
*/
public void putProperty(Object id, Object value) {
String s = ScriptRuntime.getStringId(id);
if (value instanceof FlattenedObject)
value = ((FlattenedObject) value).getObject();
Scriptable x;
if (s == null) {
int index = ScriptRuntime.getIntId(id);
x = getBase(obj, index);
if (x == null)
x = obj;
x.put(index, obj, value);
return;
}
x = getBase(obj, s);
if (x == null)
x = obj;
x.put(s, obj, value);
}
/**
* Remove a property.
*
* This method provides the functionality of the <code>delete</code>
* operator in JavaScript.
*
* @param id the property index, which may be either a String or
* a Number
* @return true if the property didn't exist, or existed and was removed
* @see org.mozilla.javascript.Scriptable#delete
* @deprecated as of 1.5R2, replaced by ScriptableObject.deleteProperty
*/
public boolean deleteProperty(Object id) {
String s = ScriptRuntime.getStringId(id);
if (s == null) {
int index = ScriptRuntime.getIntId(id);
Scriptable base = getBase(obj, index);
if (base == null)
return true;
base.delete(index);
return !base.has(index, base);
}
Scriptable base = getBase(obj, s);
if (base == null)
return true;
base.delete(s);
return !base.has(s, base);
}
/**
* Return an array that contains the ids of the properties.
*
* <p>This method will walk the prototype chain and collect the
* ids of all objects in the prototype chain.<p>
*
* If an id appears in more than one object in the prototype chain,
* it will only be in the array once. (So all the entries in the
* array will be unique respective to equals().)
*
* @see org.mozilla.javascript.Scriptable#getIds
* @deprecated
*/
public Object[] getIds() {
Hashtable h = new Hashtable(11);
Scriptable m = obj;
while (m != null) {
Object[] e = m.getIds();
for (int i=0; i < e.length; i++) {
h.put(e[i], Boolean.TRUE);
}
m = m.getPrototype();
}
Enumeration keys = h.keys();
Object elem;
Object[] result = new Object[h.size()];
int index = 0;
while (keys.hasMoreElements()) {
elem = keys.nextElement();
result[index++] = elem;
}
return result;
}
/**
* Consider this object to be a function, and call it.
*
* @param cx the current Context for this thread
* @param thisObj the JavaScript 'this' for the call
* @param args the arguments for the call
* @return the result of the JavaScript function call
* @exception NotAFunctionException if this object is not a function
* @exception JavaScriptException if an uncaught JavaScript exception
* occurred while executing the function
* @see org.mozilla.javascript.Function#call
* @deprecated
*/
public Object call(Context cx, Scriptable thisObj, Object[] args)
throws NotAFunctionException,
JavaScriptException
{
if (!(obj instanceof Function)) {
throw new NotAFunctionException();
}
return ScriptRuntime.call(cx, obj, thisObj, args, (Function) obj);
}
/**
* Consider this object to be a function, and invoke it as a
* constructor call.
*
* @param cx the current Context for this thread
* @param args the arguments for the constructor call
* @return the allocated object
* @exception NotAFunctionException if this object is not a function
* @exception JavaScriptException if an uncaught JavaScript exception
* occurred while executing the constructor
* @see org.mozilla.javascript.Function#construct
* @deprecated
*/
public Scriptable construct(Context cx, Object[] args)
throws NotAFunctionException,
JavaScriptException
{
if (!(obj instanceof Function)) {
throw new NotAFunctionException();
}
return ScriptRuntime.newObject(cx, obj, args, null);
}
/**
* Get the property indicated by the id, and invoke it with the
* specified arguments.
* <p>
* For example, for a FlattenedObject <code>obj</code>,
* and a Java array <code>a</code> consisting of a single string
* <code>"hi"</code>, the call <pre>
* obj.callMethod("m", a)</pre>
* is equivalent to the JavaScript code <code>obj.m("hi")</code>.<p>
*
* If the property is not found or is not a function, an
* exception will be thrown.
*
* @param id the Number or String to use to find the function property
* to call
* @param args the arguments for the constructor call
* @return the result of the call
* @exception PropertyException if the designated property
* was not found
* @exception NotAFunctionException if this object is not a function
* @exception JavaScriptException if an uncaught JavaScript exception
* occurred while executing the method
* @see org.mozilla.javascript.Function#call
* @deprecated
*/
public Object callMethod(Object id, Object[] args)
throws PropertyException,
NotAFunctionException,
JavaScriptException
{
if (!hasProperty(id)) {
throw new PropertyException(
Context.getMessage("msg.prop.not.found", null));
}
Object o = getProperty(id);
if (o instanceof FlattenedObject)
return ((FlattenedObject) o).call(Context.getContext(), obj, args);
throw new NotAFunctionException();
}
/****** End of API *******/
private static Scriptable getBase(Scriptable obj, String s) {
Scriptable m = obj;
while (m != null) {
if (m.has(s, obj))
return m;
m = m.getPrototype();
}
return null;
}
private static Scriptable getBase(Scriptable obj, int index) {
Scriptable m = obj;
while (m != null) {
if (m.has(index, obj))
return m;
m = m.getPrototype();
}
return null;
}
private Scriptable obj;
}

View File

@@ -0,0 +1,86 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* This is interface that all functions in JavaScript must implement.
* The interface provides for calling functions and constructors.
*
* @see org.mozilla.javascript.Scriptable
* @author Norris Boyd
*/
public interface Function extends Scriptable {
/**
* Call the function.
*
* Note that the array of arguments is not guaranteed to have
* length greater than 0.
*
* @param cx the current Context for this thread
* @param scope the scope to execute the function relative to. This is
* set to the value returned by getParentScope() except
* when the function is called from a closure.
* @param thisObj the JavaScript <code>this</code> object
* @param args the array of arguments
* @return the result of the call
* @exception JavaScriptException if an uncaught exception
* occurred while executing the function
*/
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException;
/**
* Call the function as a constructor.
*
* This method is invoked by the runtime in order to satisfy a use
* of the JavaScript <code>new</code> operator. This method is
* expected to create a new object and return it.
*
* @param cx the current Context for this thread
* @param scope an enclosing scope of the caller except
* when the function is called from a closure.
* @param args the array of arguments
* @return the allocated object
* @exception JavaScriptException if an uncaught exception
* occurred while executing the constructor
*/
public Scriptable construct(Context cx, Scriptable scope, Object[] args)
throws JavaScriptException;
}

View File

@@ -0,0 +1,94 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.*;
public class FunctionNode extends Node {
public FunctionNode(String name, Node left, Node right) {
super(TokenStream.FUNCTION, left, right, name);
itsVariableTable = new VariableTable();
}
public String getFunctionName() {
return getString();
}
public VariableTable getVariableTable() {
return itsVariableTable;
}
public boolean requiresActivation() {
return itsNeedsActivation;
}
public boolean setRequiresActivation(boolean b) {
return itsNeedsActivation = b;
}
/**
* There are three types of functions that can be defined. The first
* is a function statement. This is a function appearing as a top-level
* statement (i.e., not nested inside some other statement) in either a
* script or a function.
*
* The second is a function expression, which is a function appearing in
* an expression except for the third type, which is...
*
* The third type is a function expression where the expression is the
* top-level expression in an expression statement.
*
* The three types of functions have different treatment and must be
* distinquished.
*/
public static final byte FUNCTION_STATEMENT = 1;
public static final byte FUNCTION_EXPRESSION = 2;
public static final byte FUNCTION_EXPRESSION_STATEMENT = 3;
public byte getFunctionType() {
return itsFunctionType;
}
public void setFunctionType(byte functionType) {
itsFunctionType = functionType;
}
protected VariableTable itsVariableTable;
protected boolean itsNeedsActivation;
protected byte itsFunctionType;
}

View File

@@ -0,0 +1,636 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Ted Neward
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
import java.util.Hashtable;
import java.util.Vector;
import java.lang.reflect.*;
public class FunctionObject extends NativeFunction {
/**
* Create a JavaScript function object from a Java method.
*
* <p>The <code>member</code> argument must be either a java.lang.reflect.Method
* or a java.lang.reflect.Constructor and must match one of two forms.<p>
*
* The first form is a member with zero or more parameters
* of the following types: Object, String, boolean, Scriptable,
* byte, short, int, float, or double. The Long type is not supported
* because the double representation of a long (which is the
* EMCA-mandated storage type for Numbers) may lose precision.
* If the member is a Method, the return value must be void or one
* of the types allowed for parameters.<p>
*
* The runtime will perform appropriate conversions based
* upon the type of the parameter. A parameter type of
* Object specifies that no conversions are to be done. A parameter
* of type String will use Context.toString to convert arguments.
* Similarly, parameters of type double, boolean, and Scriptable
* will cause Context.toNumber, Context.toBoolean, and
* Context.toObject, respectively, to be called.<p>
*
* If the method is not static, the Java 'this' value will
* correspond to the JavaScript 'this' value. Any attempt
* to call the function with a 'this' value that is not
* of the right Java type will result in an error.<p>
*
* The second form is the variable arguments (or "varargs")
* form. If the FunctionObject will be used as a constructor,
* the member must have the following parameters
* <pre>
* (Context cx, Object[] args, Function ctorObj,
* boolean inNewExpr)</pre>
* and if it is a Method, be static and return an Object result.<p>
*
* Otherwise, if the FunctionObject will <i>not</i> be used to define a
* constructor, the member must be a static Method with parameters
* (Context cx, Scriptable thisObj, Object[] args,
* Function funObj) </pre>
* <pre>
* and an Object result.<p>
*
* When the function varargs form is called as part of a function call,
* the <code>args</code> parameter contains the
* arguments, with <code>thisObj</code>
* set to the JavaScript 'this' value. <code>funObj</code>
* is the function object for the invoked function.<p>
*
* When the constructor varargs form is called or invoked while evaluating
* a <code>new</code> expression, <code>args</code> contains the
* arguments, <code>ctorObj</code> refers to this FunctionObject, and
* <code>inNewExpr</code> is true if and only if a <code>new</code>
* expression caused the call. This supports defining a function that
* has different behavior when called as a constructor than when
* invoked as a normal function call. (For example, the Boolean
* constructor, when called as a function,
* will convert to boolean rather than creating a new object.)<p>
*
* @param name the name of the function
* @param methodOrConstructor a java.lang.reflect.Method or a java.lang.reflect.Constructor
* that defines the object
* @param scope enclosing scope of function
* @see org.mozilla.javascript.Scriptable
*/
public FunctionObject(String name, Member methodOrConstructor,
Scriptable scope)
{
String methodName;
if (methodOrConstructor instanceof Constructor) {
ctor = (Constructor) methodOrConstructor;
isStatic = true; // well, doesn't take a 'this'
types = ctor.getParameterTypes();
methodName = ctor.getName();
} else {
method = (Method) methodOrConstructor;
isStatic = Modifier.isStatic(method.getModifiers());
types = method.getParameterTypes();
methodName = method.getName();
}
String myNames[] = { name };
super.names = myNames;
int length;
if (types.length == 4 && (types[1].isArray() || types[2].isArray())) {
// Either variable args or an error.
if (types[1].isArray()) {
if (!isStatic ||
types[0] != Context.class ||
types[1].getComponentType() != ScriptRuntime.ObjectClass ||
types[2] != ScriptRuntime.FunctionClass ||
types[3] != Boolean.TYPE)
{
String[] args = { methodName };
String message = Context.getMessage("msg.varargs.ctor",
args);
throw Context.reportRuntimeError(message);
}
parmsLength = VARARGS_CTOR;
} else {
if (!isStatic ||
types[0] != Context.class ||
types[1] != ScriptRuntime.ScriptableClass ||
types[2].getComponentType() != ScriptRuntime.ObjectClass ||
types[3] != ScriptRuntime.FunctionClass)
{
String[] args = { methodName };
String message = Context.getMessage("msg.varargs.fun",
args);
throw Context.reportRuntimeError(message);
}
parmsLength = VARARGS_METHOD;
}
// XXX check return type
length = 1;
} else {
parmsLength = (short) types.length;
boolean hasConversions = false;
for (int i=0; i < parmsLength; i++) {
Class type = types[i];
if (type == ScriptRuntime.ObjectClass) {
// may not need conversions
} else if (type == ScriptRuntime.StringClass ||
type == ScriptRuntime.BooleanClass ||
ScriptRuntime.NumberClass.isAssignableFrom(type) ||
Scriptable.class.isAssignableFrom(type))
{
hasConversions = true;
} else if (type == Boolean.TYPE) {
hasConversions = true;
types[i] = ScriptRuntime.BooleanClass;
} else if (type == Byte.TYPE) {
hasConversions = true;
types[i] = ScriptRuntime.ByteClass;
} else if (type == Short.TYPE) {
hasConversions = true;
types[i] = ScriptRuntime.ShortClass;
} else if (type == Integer.TYPE) {
hasConversions = true;
types[i] = ScriptRuntime.IntegerClass;
} else if (type == Float.TYPE) {
hasConversions = true;
types[i] = ScriptRuntime.FloatClass;
} else if (type == Double.TYPE) {
hasConversions = true;
types[i] = ScriptRuntime.DoubleClass;
}
// Note that long is not supported; see comments above
else {
Object[] errArgs = { methodName };
throw Context.reportRuntimeError(
Context.getMessage("msg.bad.parms", errArgs));
}
}
if (!hasConversions)
types = null;
length = parmsLength;
}
// Initialize length property
lengthPropertyValue = (short) length;
hasVoidReturn = method != null && method.getReturnType() == Void.TYPE;
this.argCount = (short) length;
setParentScope(scope);
setPrototype(getFunctionPrototype(scope));
Context cx = Context.getCurrentContext();
useDynamicScope = cx != null &&
cx.hasCompileFunctionsWithDynamicScope();
}
/**
* Override ScriptableObject's has, get, and set in order to define
* the "length" property of the function. <p>
*
* We could also have defined the property using ScriptableObject's
* defineProperty method, but that would have consumed a slot in every
* FunctionObject. Most FunctionObjects typically don't have any
* properties anyway, so having the "length" property would cause us
* to allocate an array of slots. <p>
*
* In particular, this method will return true for
* <code>name.equals("length")</code>
* and will delegate to the superclass for all other
* values of <code>name</code>.
*/
public boolean has(String name, Scriptable start) {
return name.equals("length") || super.has(name, start);
}
/**
* Override ScriptableObject's has, get, and set in order to define
* the "length" property of the function. <p>
*
* In particular, this method will return the value defined by
* the method used to construct the object (number of parameters
* of the method, or 1 if the method is a "varargs" form), unless
* setLength has been called with a new value.
*
* @see org.mozilla.javascript.FunctionObject#setLength
*/
public Object get(String name, Scriptable start) {
if (name.equals("length"))
return new Integer(lengthPropertyValue);
return super.get(name, start);
}
/**
* Override ScriptableObject's has, get, and set in order to define
* the "length" property of the function. <p>
*
* In particular, this method will ignore all attempts to set the
* "length" property and forward all other requests to ScriptableObject.
*
* @see org.mozilla.javascript.FunctionObject#setLength
*/
public void put(String name, Scriptable start, Object value) {
if (!name.equals("length"))
super.put(name, start, value);
}
/**
* Set the value of the "length" property.
*
* <p>Changing the value of the "length" property of a FunctionObject only
* affects the value retrieved from get() and does not affect the way
* the method itself is called. <p>
*
* The "length" property will be defined by default as the number
* of parameters of the method used to construct the FunctionObject,
* unless the method is a "varargs" form, in which case the "length"
* property will be defined to 1.
*
* @param length the new length
*/
public void setLength(short length) {
lengthPropertyValue = length;
}
// TODO: Make not public
/**
* Finds methods of a given name in a given class.
*
* <p>Searches <code>clazz</code> for methods with name
* <code>name</code>. Maintains a cache so that multiple
* lookups on the same class are cheap.
*
* @param clazz the class to search
* @param name the name of the methods to find
* @return an array of the found methods, or null if no methods
* by that name were found.
* @see java.lang.Class#getMethods
*/
public static Method[] findMethods(Class clazz, String name) {
return findMethods(getMethodList(clazz), name);
}
static Method[] findMethods(Method[] methods, String name) {
// Usually we're just looking for a single method, so optimize
// for that case.
Vector v = null;
Method first = null;
for (int i=0; i < methods.length; i++) {
if (methods[i] == null)
continue;
if (methods[i].getName().equals(name)) {
if (first == null) {
first = methods[i];
} else {
if (v == null) {
v = new Vector(5);
v.addElement(first);
}
v.addElement(methods[i]);
}
}
}
if (v == null) {
if (first == null)
return null;
Method[] single = { first };
return single;
}
Method[] result = new Method[v.size()];
v.copyInto(result);
return result;
}
static Method[] getMethodList(Class clazz) {
Method[] cached = methodsCache; // get once to avoid synchronization
if (cached != null && cached[0].getDeclaringClass() == clazz)
return cached;
Method[] methods = null;
try {
// getDeclaredMethods may be rejected by the security manager
// but getMethods is more expensive
if (!sawSecurityException)
methods = clazz.getDeclaredMethods();
} catch (SecurityException e) {
// If we get an exception once, give up on getDeclaredMethods
sawSecurityException = true;
}
if (methods == null) {
methods = clazz.getMethods();
}
int count = 0;
for (int i=0; i < methods.length; i++) {
if (sawSecurityException
? methods[i].getDeclaringClass() != clazz
: !Modifier.isPublic(methods[i].getModifiers()))
{
methods[i] = null;
} else {
count++;
}
}
Method[] result = new Method[count];
int j=0;
for (int i=0; i < methods.length; i++) {
if (methods[i] != null)
result[j++] = methods[i];
}
if (result.length > 0 && Context.isCachingEnabled)
methodsCache = result;
return result;
}
/**
* Define this function as a JavaScript constructor.
* <p>
* Sets up the "prototype" and "constructor" properties. Also
* calls setParent and setPrototype with appropriate values.
* Then adds the function object as a property of the given scope, using
* <code>prototype.getClassName()</code>
* as the name of the property.
*
* @param scope the scope in which to define the constructor (typically
* the global object)
* @param prototype the prototype object
* @see org.mozilla.javascript.Scriptable#setParentScope
* @see org.mozilla.javascript.Scriptable#setPrototype
* @see org.mozilla.javascript.Scriptable#getClassName
*/
public void addAsConstructor(Scriptable scope, Scriptable prototype) {
setParentScope(scope);
setPrototype(getFunctionPrototype(scope));
prototype.setParentScope(this);
final int attr = ScriptableObject.DONTENUM |
ScriptableObject.PERMANENT |
ScriptableObject.READONLY;
defineProperty("prototype", prototype, attr);
String name = prototype.getClassName();
if (!name.equals("With")) {
// A "With" object would delegate these calls to the prototype:
// not the right thing to do here!
if (prototype instanceof ScriptableObject) {
((ScriptableObject) prototype).defineProperty("constructor",
this, attr);
} else {
prototype.put("constructor", prototype, this);
}
}
if (scope instanceof ScriptableObject) {
((ScriptableObject) scope).defineProperty(name, this,
ScriptableObject.DONTENUM);
} else {
scope.put(name, scope, this);
}
setParentScope(scope);
}
static public Object convertArg(Scriptable scope,
Object arg, Class desired)
{
if (desired == ScriptRuntime.BooleanClass
|| desired == Boolean.TYPE)
return ScriptRuntime.toBoolean(arg) ? Boolean.TRUE
: Boolean.FALSE;
else if (desired == ScriptRuntime.StringClass)
return ScriptRuntime.toString(arg);
else if (desired == ScriptRuntime.IntegerClass
|| desired == Integer.TYPE)
return new Integer(ScriptRuntime.toInt32(arg));
else if (desired == ScriptRuntime.DoubleClass
|| desired == Double.TYPE)
return new Double(ScriptRuntime.toNumber(arg));
else if (desired == ScriptRuntime.ScriptableClass)
return ScriptRuntime.toObject(scope, arg);
else if (desired == ScriptRuntime.ObjectClass)
return arg;
// Note that the long type is not supported; see the javadoc for
// the constructor for this class
else {
Object[] errArgs = { desired.getName() };
throw Context.reportRuntimeError(
Context.getMessage("msg.cant.convert", errArgs));
}
}
/**
* Performs conversions on argument types if needed and
* invokes the underlying Java method or constructor.
* <p>
* Implements Function.call.
*
* @see org.mozilla.javascript.Function#call
* @exception JavaScriptException if the underlying Java method or
* constructor threw an exception
*/
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
if (parmsLength < 0)
return callVarargs(cx, thisObj, args, false);
if (!isStatic) {
// OPT: cache "clazz"?
Class clazz = method != null ? method.getDeclaringClass()
: ctor.getDeclaringClass();
while (!clazz.isInstance(thisObj)) {
thisObj = thisObj.getPrototype();
if (thisObj == null || !useDynamicScope) {
// Couldn't find an object to call this on.
Object[] errArgs = { names[0] };
String msg = Context.getMessage("msg.incompat.call", errArgs);
throw NativeGlobal.constructError(cx, "TypeError", msg, scope);
}
}
}
Object[] invokeArgs;
int i;
if (parmsLength == args.length) {
invokeArgs = args;
// avoid copy loop if no conversions needed
i = (types == null) ? parmsLength : 0;
} else {
invokeArgs = new Object[parmsLength];
i = 0;
}
for (; i < parmsLength; i++) {
Object arg = (i < args.length)
? args[i]
: Undefined.instance;
if (types != null) {
arg = convertArg(this, arg, types[i]);
}
invokeArgs[i] = arg;
}
try {
Object result = (method != null)
? method.invoke(thisObj, invokeArgs)
: ctor.newInstance(invokeArgs);
return hasVoidReturn ? Undefined.instance : result;
}
catch (InvocationTargetException e) {
throw JavaScriptException.wrapException(scope, e);
}
catch (IllegalAccessException e) {
throw WrappedException.wrapException(e);
}
catch (InstantiationException e) {
throw WrappedException.wrapException(e);
}
}
/**
* Performs conversions on argument types if needed and
* invokes the underlying Java method or constructor
* to create a new Scriptable object.
* <p>
* Implements Function.construct.
*
* @param cx the current Context for this thread
* @param scope the scope to execute the function relative to. This
* set to the value returned by getParentScope() except
* when the function is called from a closure.
* @param args arguments to the constructor
* @see org.mozilla.javascript.Function#construct
* @exception JavaScriptException if the underlying Java method or constructor
* threw an exception
*/
public Scriptable construct(Context cx, Scriptable scope, Object[] args)
throws JavaScriptException
{
if (method == null || parmsLength == VARARGS_CTOR) {
Scriptable result;
if (method != null) {
// Ugly: allow variable-arg constructors that need access to the
// scope to get it from the Context. Cleanest solution would be
// to modify the varargs form, but that would require users with
// the old form to change their code.
cx.ctorScope = scope;
result = (Scriptable) callVarargs(cx, null, args, true);
cx.ctorScope = null;
} else {
result = (Scriptable) call(cx, scope, null, args);
}
if (result.getPrototype() == null)
result.setPrototype(getClassPrototype());
if (result.getParentScope() == null) {
Scriptable parent = getParentScope();
if (result != parent)
result.setParentScope(parent);
}
return result;
} else if (method != null && !isStatic) {
Scriptable result;
try {
result = (Scriptable) method.getDeclaringClass().newInstance();
} catch (IllegalAccessException e) {
throw WrappedException.wrapException(e);
} catch (InstantiationException e) {
throw WrappedException.wrapException(e);
}
result.setPrototype(getClassPrototype());
result.setParentScope(getParentScope());
Object val = call(cx, scope, result, args);
if (val != null && val != Undefined.instance &&
val instanceof Scriptable)
{
return (Scriptable) val;
}
return result;
}
return super.construct(cx, scope, args);
}
private Object callVarargs(Context cx, Scriptable thisObj, Object[] args,
boolean inNewExpr)
throws JavaScriptException
{
try {
if (parmsLength == VARARGS_METHOD) {
Object[] invokeArgs = { cx, thisObj, args, this };
Object result = method.invoke(null, invokeArgs);
return hasVoidReturn ? Undefined.instance : result;
} else {
Boolean b = inNewExpr ? Boolean.TRUE : Boolean.FALSE;
Object[] invokeArgs = { cx, args, this, b };
return (method == null)
? ctor.newInstance(invokeArgs)
: method.invoke(null, invokeArgs);
}
}
catch (InvocationTargetException e) {
Throwable target = e.getTargetException();
if (target instanceof EvaluatorException)
throw (EvaluatorException) target;
if (target instanceof EcmaError)
throw (EcmaError) target;
Scriptable scope = thisObj == null ? this : thisObj;
throw JavaScriptException.wrapException(scope, target);
}
catch (IllegalAccessException e) {
throw WrappedException.wrapException(e);
}
catch (InstantiationException e) {
throw WrappedException.wrapException(e);
}
}
boolean isVarArgsMethod() {
return parmsLength == VARARGS_METHOD;
}
boolean isVarArgsConstructor() {
return parmsLength == VARARGS_CTOR;
}
private static final short VARARGS_METHOD = -1;
private static final short VARARGS_CTOR = -2;
private static boolean sawSecurityException;
static Method[] methodsCache;
Method method;
Constructor ctor;
private Class[] types;
private short parmsLength;
private short lengthPropertyValue;
private boolean hasVoidReturn;
private boolean isStatic;
private boolean useDynamicScope;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,144 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
import java.util.Vector;
/**
* Class ImporterTopLevel
*
* This class defines a ScriptableObject that can be instantiated
* as a top-level ("global") object to provide functionality similar
* to Java's "import" statement.
* <p>
* This class can be used to create a top-level scope using the following code:
* <pre>
* Scriptable scope = cx.initStandardObjects(new ImporterTopLevel());
* </pre>
* Then JavaScript code will have access to the following methods:
* <ul>
* <li>importClass - will "import" a class by making its unqualified name
* available as a property of the top-level scope
* <li>importPackage - will "import" all the classes of the package by
* searching for unqualified names as classes qualified
* by the given package.
* </ul>
* The following code from the shell illustrates this use:
* <pre>
* js> importClass(java.io.File)
* js> f = new File('help.txt')
* help.txt
* js> importPackage(java.util)
* js> v = new Vector()
* []
*
* @author Norris Boyd
*/
public class ImporterTopLevel extends ScriptableObject {
public ImporterTopLevel() {
String[] names = { "importClass", "importPackage" };
try {
this.defineFunctionProperties(names, ImporterTopLevel.class,
ScriptableObject.DONTENUM);
} catch (PropertyException e) {
throw new Error(); // should never happen
}
}
public String getClassName() {
return "global";
}
public Object get(String name, Scriptable start) {
Object result = super.get(name, start);
if (result == NOT_FOUND && importedPackages != null) {
for (int i=0; i < importedPackages.size(); i++) {
Object o = importedPackages.elementAt(i);
NativeJavaPackage p = (NativeJavaPackage) o;
Object v = p.getPkgProperty(name, start, false);
if (v != null && !(v instanceof NativeJavaPackage)) {
if (result == NOT_FOUND) {
result = v;
} else {
String[] args = { result.toString(), v.toString() };
throw Context.reportRuntimeError(
Context.getMessage("msg.ambig.import",
args));
}
}
}
}
return result;
}
public void importClass(Object cl) {
if (!(cl instanceof NativeJavaClass)) {
String[] args = { Context.toString(cl) };
throw Context.reportRuntimeError(
Context.getMessage("msg.not.class", args));
}
String s = ((NativeJavaClass) cl).getClassObject().getName();
String n = s.substring(s.lastIndexOf('.')+1);
Object val = this.get(n, this);
if (val != NOT_FOUND && val != cl) {
String[] args = { n };
throw Context.reportRuntimeError(
Context.getMessage("msg.prop.defined", args));
}
this.defineProperty(n, cl, DONTENUM);
}
public void importPackage(Object pkg) {
if (importedPackages == null)
importedPackages = new Vector();
if (!(pkg instanceof NativeJavaPackage)) {
String[] args = { Context.toString(pkg) };
throw Context.reportRuntimeError(
Context.getMessage("msg.not.pkg", args));
}
for (int i=0; i < importedPackages.size(); i++) {
if (pkg == importedPackages.elementAt(i))
return; // allready in list
}
importedPackages.addElement(pkg);
}
private Vector importedPackages;
}

View File

@@ -0,0 +1,113 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.*;
import org.mozilla.javascript.debug.DebuggableScript;
class InterpretedFunction extends NativeFunction implements DebuggableScript {
InterpretedFunction(InterpreterData theData, Context cx)
{
itsData = theData;
init(cx);
}
void init(Context cx)
{
// probably too much copying going on from theData to the InterpretedFunction object
// should pass them as parameters - unless we need them in the data block anyway?
names = new String[itsData.itsVariableTable.size() + 1];
names[0] = itsData.itsName;
for (int i = 0; i < itsData.itsVariableTable.size(); i++)
names[i + 1] = itsData.itsVariableTable.getName(i);
argCount = (short)itsData.itsVariableTable.getParameterCount();
source = itsData.itsSource;
nestedFunctions = itsData.itsNestedFunctions;
if (cx != null)
version = (short)cx.getLanguageVersion();
}
InterpretedFunction(InterpretedFunction theOther,
Scriptable theScope, Context cx)
{
itsData = theOther.itsData;
itsClosure = theScope;
init(cx);
}
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
itsData.itsCX = cx;
if (itsClosure != null)
scope = itsClosure;
else if (!itsData.itsUseDynamicScope)
scope = getParentScope();
if (itsData.itsNeedsActivation)
scope = ScriptRuntime.initVarObj(cx, scope, this, thisObj, args);
itsData.itsScope = scope;
itsData.itsThisObj = thisObj;
itsData.itsInArgs = args;
return Interpreter.interpret(itsData, this);
}
public Scriptable getScriptable() {
return this;
}
public String getSourceName() {
return itsData.itsSourceFile;
}
public Enumeration getLineNumbers() {
return itsData.itsLineNumberTable.keys();
}
public boolean placeBreakpoint(int line) { // XXX throw exn?
return itsData.placeBreakpoint(line);
}
public boolean removeBreakpoint(int line) {
return itsData.removeBreakpoint(line);
}
InterpreterData itsData;
Scriptable itsClosure;
}

View File

@@ -0,0 +1,96 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import org.mozilla.javascript.debug.*;
import java.util.*;
public class InterpretedScript extends NativeScript implements DebuggableScript {
InterpretedScript(InterpreterData theData, Context cx)
{
itsData = theData;
names = new String[itsData.itsVariableTable.size() + 1];
names[0] = "";
for (int i = 0; i < itsData.itsVariableTable.size(); i++)
names[i + 1] = itsData.itsVariableTable.getName(i);
nestedFunctions = itsData.itsNestedFunctions;
version = (short)cx.getLanguageVersion();
}
public Object exec(Context cx, Scriptable scope)
throws JavaScriptException
{
return call(cx, scope, scope, null);
}
public Object call(Context cx, Scriptable scope,
Scriptable thisObj, Object[] args)
throws JavaScriptException
{
scope = ScriptRuntime.initScript(cx, scope, this, thisObj,
itsData.itsFromEvalCode);
itsData.itsCX = cx;
itsData.itsScope = scope;
itsData.itsThisObj = thisObj;
itsData.itsInArgs = args;
return Interpreter.interpret(itsData, this);
}
public Scriptable getScriptable() {
return this;
}
public String getSourceName() {
return itsData.itsSourceFile;
}
public Enumeration getLineNumbers() {
return itsData.itsLineNumberTable.keys();
}
public boolean placeBreakpoint(int line) { // XXX throw exn?
return itsData.placeBreakpoint(line);
}
public boolean removeBreakpoint(int line) {
return itsData.removeBreakpoint(line);
}
InterpreterData itsData;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,138 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Vector;
class InterpreterData {
static final int INITIAL_MAX_ICODE_LENGTH = 1024;
static final int INITIAL_STRINGTABLE_SIZE = 64;
static final int INITIAL_NUMBERTABLE_SIZE = 64;
InterpreterData(int lastICodeTop, int lastStringTableIndex,
int lastNumberTableIndex, Object securityDomain,
boolean useDynamicScope)
{
itsICodeTop = lastICodeTop == 0
? INITIAL_MAX_ICODE_LENGTH
: lastICodeTop * 2;
itsICode = new byte[itsICodeTop];
itsStringTable = new String[lastStringTableIndex == 0
? INITIAL_STRINGTABLE_SIZE
: lastStringTableIndex * 2];
itsNumberTable = new Number[lastNumberTableIndex == 0
? INITIAL_NUMBERTABLE_SIZE
: lastNumberTableIndex * 2];
itsUseDynamicScope = useDynamicScope;
if (securityDomain == null && Context.isSecurityDomainRequired())
throw new SecurityException("Required security context missing");
this.securityDomain = securityDomain;
}
public boolean placeBreakpoint(int line) { // XXX throw exn?
int offset = getOffset(line);
if (offset != -1 && (itsICode[offset] == TokenStream.LINE ||
itsICode[offset] == TokenStream.BREAKPOINT))
{
itsICode[offset] = (byte) TokenStream.BREAKPOINT;
return true;
}
return false;
}
public boolean removeBreakpoint(int line) {
int offset = getOffset(line);
if (offset != -1 && itsICode[offset] == TokenStream.BREAKPOINT)
{
itsICode[offset] = (byte) TokenStream.LINE;
return true;
}
return false;
}
private int getOffset(int line) {
Object offset = itsLineNumberTable.get(new Integer(line));
if (offset != null && offset instanceof Integer) {
int i = ((Integer)offset).intValue();
if (i >= 0 && i < itsICode.length)
{
return i;
}
}
return -1;
}
VariableTable itsVariableTable;
String itsName;
String itsSource;
String itsSourceFile;
boolean itsNeedsActivation;
boolean itsFromEvalCode;
boolean itsUseDynamicScope;
byte itsFunctionType;
String[] itsStringTable;
int itsStringTableIndex;
Number[] itsNumberTable;
int itsNumberTableIndex;
InterpretedFunction[] itsNestedFunctions;
Object[] itsRegExpLiterals;
byte[] itsICode;
int itsICodeTop;
int itsMaxLocals;
int itsMaxArgs;
int itsMaxStack;
int itsMaxTryDepth;
java.util.Hashtable itsLineNumberTable;
Object securityDomain;
Context itsCX;
Scriptable itsScope;
Scriptable itsThisObj;
Object[] itsInArgs;
}

View File

@@ -0,0 +1,77 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Vector;
import org.mozilla.javascript.debug.*;
class InterpreterFrame implements Frame {
InterpreterFrame(Scriptable scope, InterpreterData data, Scriptable obj) {
this.scope = scope;
this.data = data;
this.lineNumber = -1;
this.obj = obj;
}
public Scriptable getVariableObject() {
return scope;
}
public String getSourceName() {
return data.itsSourceFile;
}
public void setLineNumber(int lineNumber) {
this.lineNumber = lineNumber;
}
public int getLineNumber() {
return lineNumber;
}
public DebuggableScript getScript() {
if (obj instanceof DebuggableScript)
return (DebuggableScript) obj;
return null;
}
private Scriptable scope;
private InterpreterData data;
private Scriptable obj;
private int lineNumber;
}

View File

@@ -0,0 +1,849 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Patrick Beard
* Norris Boyd
* Mike McCabe
* Matthias Radestock
* Andi Vajda
* Andrew Wason
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import org.mozilla.classfile.*;
import java.lang.reflect.*;
import java.io.*;
import java.util.*;
public class JavaAdapter extends ScriptableObject {
public boolean equals(Object obj) {
return super.equals(obj);
}
public String getClassName() {
return "JavaAdapter";
}
public static Object convertResult(Object result, String classname)
throws ClassNotFoundException
{
Class c = ScriptRuntime.loadClassName(classname);
if (result == Undefined.instance &&
(c != ScriptRuntime.ObjectClass &&
c != ScriptRuntime.StringClass))
{
// Avoid an error for an undefined value; return null instead.
return null;
}
return NativeJavaObject.coerceType(c, result);
}
public static Object js_JavaAdapter(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
throws InstantiationException, NoSuchMethodException,
IllegalAccessException, InvocationTargetException,
ClassNotFoundException
{
Class superClass = Object.class;
Class[] intfs = new Class[args.length-1];
int interfaceCount = 0;
for (int i=0; i < args.length-1; i++) {
if (!(args[i] instanceof NativeJavaClass)) {
// TODO: report error
throw new RuntimeException("expected java class object");
}
Class c = ((NativeJavaClass) args[i]).getClassObject();
if (!c.isInterface()) {
superClass = c;
break;
}
intfs[interfaceCount++] = c;
}
Class[] interfaces = new Class[interfaceCount];
System.arraycopy(intfs, 0, interfaces, 0, interfaceCount);
Scriptable obj = (Scriptable) args[args.length - 1];
ClassSignature sig = new ClassSignature(superClass, interfaces, obj);
Class adapterClass = (Class) generatedClasses.get(sig);
if (adapterClass == null) {
String adapterName = "adapter" + serial++;
adapterClass = createAdapterClass(cx, obj, adapterName,
superClass, interfaces,
null, null);
generatedClasses.put(sig, adapterClass);
}
Class[] ctorParms = { Scriptable.class };
Object[] ctorArgs = { obj };
Object v = adapterClass.getConstructor(ctorParms).newInstance(ctorArgs);
return cx.toObject(v, ScriptableObject.getTopLevelScope(ctorObj));
}
public static Class createAdapterClass(Context cx, Scriptable jsObj,
String adapterName, Class superClass,
Class[] interfaces,
String scriptClassName,
ClassNameHelper nameHelper)
throws ClassNotFoundException
{
ClassFileWriter cfw = new ClassFileWriter(adapterName,
superClass.getName(),
"<adapter>");
cfw.addField("self", "Lorg/mozilla/javascript/Scriptable;",
(short) (ClassFileWriter.ACC_PUBLIC |
ClassFileWriter.ACC_FINAL));
int interfacesCount = interfaces == null ? 0 : interfaces.length;
for (int i=0; i < interfacesCount; i++) {
if (interfaces[i] != null)
cfw.addInterface(interfaces[i].getName());
}
String superName = superClass.getName().replace('.', '/');
generateCtor(cfw, adapterName, superName);
if (scriptClassName != null)
generateEmptyCtor(cfw, adapterName, superName, scriptClassName);
Hashtable generatedOverrides = new Hashtable();
Hashtable generatedMethods = new Hashtable();
// generate methods to satisfy all specified interfaces.
for (int i = 0; i < interfacesCount; i++) {
Method[] methods = interfaces[i].getMethods();
for (int j = 0; j < methods.length; j++) {
Method method = methods[j];
int mods = method.getModifiers();
if (Modifier.isStatic(mods) || Modifier.isFinal(mods))
continue;
// make sure to generate only one instance of a particular
// method/signature.
String methodName = method.getName();
String methodKey = methodName + getMethodSignature(method);
if (! generatedOverrides.containsKey(methodKey)) {
generateMethod(cfw, adapterName, methodName,
method.getParameterTypes(),
method.getReturnType());
generatedOverrides.put(methodKey, Boolean.TRUE);
generatedMethods.put(methodName, Boolean.TRUE);
}
}
}
// Now, go through the superclasses methods, checking for abstract
// methods or additional methods to override.
// generate any additional overrides that the object might contain.
Method[] methods = superClass.getMethods();
for (int j = 0; j < methods.length; j++) {
Method method = methods[j];
int mods = method.getModifiers();
if (Modifier.isStatic(mods) || Modifier.isFinal(mods))
continue;
// if a method is marked abstract, must implement it or the
// resulting class won't be instantiable. otherwise, if the object
// has a property of the same name, then an override is intended.
boolean isAbstractMethod = Modifier.isAbstract(mods);
if (isAbstractMethod ||
(jsObj != null && jsObj.has(method.getName(), jsObj)))
{
// make sure to generate only one instance of a particular
// method/signature.
String methodName = method.getName();
String methodSignature = getMethodSignature(method);
String methodKey = methodName + methodSignature;
if (! generatedOverrides.containsKey(methodKey)) {
generateMethod(cfw, adapterName, methodName,
method.getParameterTypes(),
method.getReturnType());
generatedOverrides.put(methodKey, Boolean.TRUE);
generatedMethods.put(methodName, Boolean.TRUE);
}
// if a method was overridden, generate a "super$method"
// which lets the delegate call the superclass' version.
if (!isAbstractMethod) {
generateSuper(cfw, adapterName, superName,
methodName, methodSignature,
method.getParameterTypes(),
method.getReturnType());
}
}
}
// Generate Java methods, fields for remaining properties that
// are not overrides.
Object[] ids = jsObj.getIds();
for (int j=0; j < ids.length; j++) {
if (!(ids[j] instanceof String))
continue;
String id = (String) ids[j];
if (generatedMethods.containsKey(id))
continue;
Object f = jsObj.get(id, jsObj);
int length;
if (f instanceof Scriptable) {
Scriptable p = (Scriptable) f;
if (!(p instanceof Function))
continue;
length = (int) Context.toNumber(
ScriptableObject.getProperty(p, "length"));
} else if (f instanceof FunctionNode) {
length = ((FunctionNode) f).getVariableTable().getParameterCount();
} else {
continue;
}
Class[] parms = new Class[length];
for (int k=0; k < length; k++)
parms[k] = Object.class;
generateMethod(cfw, adapterName, id, parms, Object.class);
}
ByteArrayOutputStream out = new ByteArrayOutputStream(512);
try {
cfw.write(out);
}
catch (IOException ioe) {
throw new RuntimeException("unexpected IOException");
}
byte[] bytes = out.toByteArray();
if (nameHelper != null)
{
if (nameHelper.getGeneratingDirectory() != null) {
try {
int lastDot = adapterName.lastIndexOf('.');
if (lastDot != -1)
adapterName = adapterName.substring(lastDot+1);
String filename = nameHelper.getTargetClassFileName(adapterName);
FileOutputStream file = new FileOutputStream(filename);
file.write(bytes);
file.close();
}
catch (IOException iox) {
throw WrappedException.wrapException(iox);
}
return null;
} else {
try {
ClassOutput classOutput = nameHelper.getClassOutput();
if (classOutput != null) {
OutputStream cOut =
classOutput.getOutputStream(adapterName);
cOut.write(bytes);
cOut.close();
}
} catch (IOException iox) {
throw WrappedException.wrapException(iox);
}
}
}
SecuritySupport ss = cx.getSecuritySupport();
if (ss != null) {
Object securityDomain = cx.getSecurityDomainForStackDepth(-1);
return ss.defineClass(adapterName, bytes, securityDomain);
} else {
if (classLoader == null)
classLoader = new MyClassLoader();
classLoader.defineClass(adapterName, bytes);
return classLoader.loadClass(adapterName, true);
}
}
/**
* Utility method, which dynamically binds a Context to the current thread,
* if none already exists.
*/
public static Object callMethod(Scriptable object, String methodId,
Object[] args)
{
if (object.has(methodId, object)) {
try {
Context cx = Context.enter();
Object fun = object.get(methodId, object);
return ScriptRuntime.call(cx, fun, object, args, object);
} catch (JavaScriptException ex) {
// TODO: could occur
} finally {
Context.exit();
}
}
return Context.getUndefinedValue();
}
public static Scriptable toObject(Object value, Scriptable scope,
Class staticType)
{
Context.enter();
try {
return Context.toObject(value, scope, staticType);
} finally {
Context.exit();
}
}
private static void generateCtor(ClassFileWriter cfw, String adapterName,
String superName)
{
cfw.startMethod("<init>",
"(Lorg/mozilla/javascript/Scriptable;)V",
ClassFileWriter.ACC_PUBLIC);
// Invoke base class constructor
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.INVOKESPECIAL, superName, "<init>", "()", "V");
// Save parameter in instance variable "self"
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.ALOAD_1); // first arg
cfw.add(ByteCode.PUTFIELD, adapterName, "self",
"Lorg/mozilla/javascript/Scriptable;");
// Set the prototype of the js object to be a LiveConnect
// wrapper of the generated class's object
cfw.add(ByteCode.ALOAD_1); // first arg
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/ScriptRuntime",
"setAdapterProto",
"(Lorg/mozilla/javascript/Scriptable;" +
"Ljava/lang/Object;)",
"V");
cfw.add(ByteCode.RETURN);
cfw.stopMethod((short)20, null); // TODO: magic number "20"
}
private static void generateEmptyCtor(ClassFileWriter cfw, String adapterName,
String superName, String scriptClassName)
{
cfw.startMethod("<init>", "()V", ClassFileWriter.ACC_PUBLIC);
// Invoke base class constructor
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.INVOKESPECIAL, superName, "<init>", "()", "V");
// Load script class
cfw.add(ByteCode.NEW, scriptClassName);
cfw.add(ByteCode.DUP);
cfw.add(ByteCode.INVOKESPECIAL, scriptClassName, "<init>", "()", "V");
// Run script and save resulting scope
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/ScriptRuntime",
"runScript",
"(Lorg/mozilla/javascript/Script;)",
"Lorg/mozilla/javascript/Scriptable;");
cfw.add(ByteCode.ASTORE_1);
// Save the Scriptable in instance variable "self"
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.ALOAD_1); // the Scriptable
cfw.add(ByteCode.PUTFIELD, adapterName, "self",
"Lorg/mozilla/javascript/Scriptable;");
// Set the prototype of the js object to be a LiveConnect
// wrapper of the generated class's object
cfw.add(ByteCode.ALOAD_1); // the Scriptable
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/ScriptRuntime",
"setAdapterProto",
"(Lorg/mozilla/javascript/Scriptable;" +
"Ljava/lang/Object;)",
"V");
cfw.add(ByteCode.RETURN);
cfw.stopMethod((short)20, null); // TODO: magic number "20"
}
/**
* Generates code to create a java.lang.Boolean, java.lang.Character or a
* java.lang.Double to wrap the specified primitive parameter. Leaves the
* wrapper object on the top of the stack.
*/
private static int generateWrapParam(ClassFileWriter cfw, int paramOffset,
Class paramType)
{
if (paramType.equals(Boolean.TYPE)) {
// wrap boolean values with java.lang.Boolean.
cfw.add(ByteCode.NEW, "java/lang/Boolean");
cfw.add(ByteCode.DUP);
cfw.add(ByteCode.ILOAD, paramOffset++);
cfw.add(ByteCode.INVOKESPECIAL, "java/lang/Boolean",
"<init>", "(Z)", "V");
} else
if (paramType.equals(Character.TYPE)) {
// Create a string of length 1 using the character parameter.
cfw.add(ByteCode.NEW, "java/lang/String");
cfw.add(ByteCode.DUP);
cfw.add(ByteCode.ICONST_1);
cfw.add(ByteCode.NEWARRAY, ByteCode.T_CHAR);
cfw.add(ByteCode.DUP);
cfw.add(ByteCode.ICONST_0);
cfw.add(ByteCode.ILOAD, paramOffset++);
cfw.add(ByteCode.CASTORE);
cfw.add(ByteCode.INVOKESPECIAL, "java/lang/String",
"<init>", "([C)", "V");
} else {
// convert all numeric values to java.lang.Double.
cfw.add(ByteCode.NEW, "java/lang/Double");
cfw.add(ByteCode.DUP);
String typeName = paramType.getName();
switch (typeName.charAt(0)) {
case 'b':
case 's':
case 'i':
// load an int value, convert to double.
cfw.add(ByteCode.ILOAD, paramOffset++);
cfw.add(ByteCode.I2D);
break;
case 'l':
// load a long, convert to double.
cfw.add(ByteCode.LLOAD, paramOffset);
cfw.add(ByteCode.L2D);
paramOffset += 2;
break;
case 'f':
// load a float, convert to double.
cfw.add(ByteCode.FLOAD, paramOffset++);
cfw.add(ByteCode.F2D);
break;
case 'd':
cfw.add(ByteCode.DLOAD, paramOffset);
paramOffset += 2;
break;
}
cfw.add(ByteCode.INVOKESPECIAL, "java/lang/Double",
"<init>", "(D)", "V");
}
return paramOffset;
}
/**
* Generates code to convert a wrapped value type to a primitive type.
* Handles unwrapping java.lang.Boolean, and java.lang.Number types.
* May need to map between char and java.lang.String as well.
* Generates the appropriate RETURN bytecode.
*/
private static void generateReturnResult(ClassFileWriter cfw,
Class retType)
{
// wrap boolean values with java.lang.Boolean, convert all other
// primitive values to java.lang.Double.
if (retType.equals(Boolean.TYPE)) {
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/Context",
"toBoolean", "(Ljava/lang/Object;)",
"Z");
cfw.add(ByteCode.IRETURN);
} else if (retType.equals(Character.TYPE)) {
// characters are represented as strings in JavaScript.
// return the first character.
// first convert the value to a string if possible.
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/Context",
"toString", "(Ljava/lang/Object;)",
"Ljava/lang/String;");
cfw.add(ByteCode.ICONST_0);
cfw.add(ByteCode.INVOKEVIRTUAL, "java/lang/String", "charAt",
"(I)", "C");
cfw.add(ByteCode.IRETURN);
} else if (retType.isPrimitive()) {
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/Context",
"toNumber", "(Ljava/lang/Object;)",
"D");
String typeName = retType.getName();
switch (typeName.charAt(0)) {
case 'b':
case 's':
case 'i':
cfw.add(ByteCode.D2I);
cfw.add(ByteCode.IRETURN);
break;
case 'l':
cfw.add(ByteCode.D2L);
cfw.add(ByteCode.LRETURN);
break;
case 'f':
cfw.add(ByteCode.D2F);
cfw.add(ByteCode.FRETURN);
break;
case 'd':
cfw.add(ByteCode.DRETURN);
break;
default:
throw new RuntimeException("Unexpected return type " +
retType.toString());
}
} else {
String retTypeStr = retType.getName();
cfw.addLoadConstant(retTypeStr);
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/JavaAdapter",
"convertResult",
"(Ljava/lang/Object;" +
"Ljava/lang/String;)",
"Ljava/lang/Object;");
// Now cast to return type
cfw.add(ByteCode.CHECKCAST, retTypeStr.replace('.', '/'));
cfw.add(ByteCode.ARETURN);
}
}
private static void generateMethod(ClassFileWriter cfw, String genName,
String methodName, Class[] parms,
Class returnType)
{
StringBuffer sb = new StringBuffer();
sb.append('(');
short arrayLocal = 1; // includes this.
for (int i = 0; i < parms.length; i++) {
Class type = parms[i];
appendTypeString(sb, type);
if (type.equals(Long.TYPE) || type.equals(Double.TYPE))
arrayLocal += 2;
else
arrayLocal += 1;
}
sb.append(')');
appendTypeString(sb, returnType);
String methodSignature = sb.toString();
// System.out.println("generating " + m.getName() + methodSignature);
// System.out.flush();
cfw.startMethod(methodName, methodSignature,
ClassFileWriter.ACC_PUBLIC);
cfw.add(ByteCode.BIPUSH, (byte) parms.length); // > 255 parms?
cfw.add(ByteCode.ANEWARRAY, "java/lang/Object");
cfw.add(ByteCode.ASTORE, arrayLocal);
// allocate a local variable to store the scope used to wrap native objects.
short scopeLocal = (short) (arrayLocal + 1);
boolean loadedScope = false;
int paramOffset = 1;
for (int i = 0; i < parms.length; i++) {
cfw.add(ByteCode.ALOAD, arrayLocal);
cfw.add(ByteCode.BIPUSH, i);
if (parms[i].isPrimitive()) {
paramOffset = generateWrapParam(cfw, paramOffset, parms[i]);
} else {
// An arbitary Java object; call Context.toObject to wrap in
// a Scriptable object
cfw.add(ByteCode.ALOAD, paramOffset++);
if (! loadedScope) {
// load this.self into a local the first time it's needed.
// it will provide the scope needed by Context.toObject().
cfw.add(ByteCode.ALOAD_0);
cfw.add(ByteCode.GETFIELD, genName, "self",
"Lorg/mozilla/javascript/Scriptable;");
cfw.add(ByteCode.ASTORE, scopeLocal);
loadedScope = true;
}
cfw.add(ByteCode.ALOAD, scopeLocal);
// Get argument Class
cfw.addLoadConstant(parms[i].getName());
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/ScriptRuntime",
"loadClassName",
"(Ljava/lang/String;)",
"Ljava/lang/Class;");
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/JavaAdapter",
"toObject",
"(Ljava/lang/Object;" +
"Lorg/mozilla/javascript/Scriptable;" +
"Ljava/lang/Class;)",
"Lorg/mozilla/javascript/Scriptable;");
}
cfw.add(ByteCode.AASTORE);
}
cfw.add(ByteCode.ALOAD_0); // this
cfw.add(ByteCode.GETFIELD, genName, "self",
"Lorg/mozilla/javascript/Scriptable;");
cfw.addLoadConstant(methodName);
cfw.add(ByteCode.ALOAD, arrayLocal);
// go through utility method, which creates a Context to run the
// method in.
cfw.add(ByteCode.INVOKESTATIC,
"org/mozilla/javascript/JavaAdapter",
"callMethod",
"(Lorg/mozilla/javascript/Scriptable;" +
"Ljava/lang/String;[Ljava/lang/Object;)",
"Ljava/lang/Object;");
Class retType = returnType;
if (retType.equals(Void.TYPE)) {
cfw.add(ByteCode.POP);
cfw.add(ByteCode.RETURN);
} else {
generateReturnResult(cfw, retType);
}
cfw.stopMethod((short)(scopeLocal + 1), null);
}
/**
* Generates code to push typed parameters onto the operand stack
* prior to a direct Java method call.
*/
private static int generatePushParam(ClassFileWriter cfw, int paramOffset,
Class paramType)
{
String typeName = paramType.getName();
switch (typeName.charAt(0)) {
case 'z':
case 'b':
case 'c':
case 's':
case 'i':
// load an int value, convert to double.
cfw.add(ByteCode.ILOAD, paramOffset++);
break;
case 'l':
// load a long, convert to double.
cfw.add(ByteCode.LLOAD, paramOffset);
paramOffset += 2;
break;
case 'f':
// load a float, convert to double.
cfw.add(ByteCode.FLOAD, paramOffset++);
break;
case 'd':
cfw.add(ByteCode.DLOAD, paramOffset);
paramOffset += 2;
break;
}
return paramOffset;
}
/**
* Generates code to return a Java type, after calling a Java method
* that returns the same type.
* Generates the appropriate RETURN bytecode.
*/
private static void generatePopResult(ClassFileWriter cfw,
Class retType)
{
if (retType.isPrimitive()) {
String typeName = retType.getName();
switch (typeName.charAt(0)) {
case 'b':
case 'c':
case 's':
case 'i':
case 'z':
cfw.add(ByteCode.IRETURN);
break;
case 'l':
cfw.add(ByteCode.LRETURN);
break;
case 'f':
cfw.add(ByteCode.FRETURN);
break;
case 'd':
cfw.add(ByteCode.DRETURN);
break;
}
} else {
cfw.add(ByteCode.ARETURN);
}
}
/**
* Generates a method called "super$methodName()" which can be called
* from JavaScript that is equivalent to calling "super.methodName()"
* from Java. Eventually, this may be supported directly in JavaScript.
*/
private static void generateSuper(ClassFileWriter cfw,
String genName, String superName,
String methodName, String methodSignature,
Class[] parms, Class returnType)
{
cfw.startMethod("super$" + methodName, methodSignature,
ClassFileWriter.ACC_PUBLIC);
// push "this"
cfw.add(ByteCode.ALOAD, 0);
// push the rest of the parameters.
int paramOffset = 1;
for (int i = 0; i < parms.length; i++) {
if (parms[i].isPrimitive()) {
paramOffset = generatePushParam(cfw, paramOffset, parms[i]);
} else {
cfw.add(ByteCode.ALOAD, paramOffset++);
}
}
// split the method signature at the right parentheses.
int rightParen = methodSignature.indexOf(')');
// call the superclass implementation of the method.
cfw.add(ByteCode.INVOKESPECIAL,
superName,
methodName,
methodSignature.substring(0, rightParen + 1),
methodSignature.substring(rightParen + 1));
// now, handle the return type appropriately.
Class retType = returnType;
if (!retType.equals(Void.TYPE)) {
generatePopResult(cfw, retType);
} else {
cfw.add(ByteCode.RETURN);
}
cfw.stopMethod((short)(paramOffset + 1), null);
}
/**
* Returns a fully qualified method name concatenated with its signature.
*/
private static String getMethodSignature(Method method) {
Class[] parms = method.getParameterTypes();
StringBuffer sb = new StringBuffer();
sb.append('(');
for (int i = 0; i < parms.length; i++) {
Class type = parms[i];
appendTypeString(sb, type);
}
sb.append(')');
appendTypeString(sb, method.getReturnType());
return sb.toString();
}
private static StringBuffer appendTypeString(StringBuffer sb, Class type)
{
while (type.isArray()) {
sb.append('[');
type = type.getComponentType();
}
if (type.isPrimitive()) {
if (type.equals(Boolean.TYPE)) {
sb.append('Z');
} else
if (type.equals(Long.TYPE)) {
sb.append('J');
} else {
String typeName = type.getName();
sb.append(Character.toUpperCase(typeName.charAt(0)));
}
} else {
sb.append('L');
sb.append(type.getName().replace('.', '/'));
sb.append(';');
}
return sb;
}
static final class MyClassLoader extends ClassLoader {
public Class defineClass(String name, byte data[]) {
return super.defineClass(name, data, 0, data.length);
}
protected Class loadClass(String name, boolean resolve)
throws ClassNotFoundException
{
Class clazz = findLoadedClass(name);
if (clazz == null) {
ClassLoader loader = getClass().getClassLoader();
try {
if (loader != null)
return loader.loadClass(name);
clazz = findSystemClass(name);
} catch (ClassNotFoundException e) {
return ScriptRuntime.loadClassName(name);
}
}
if (resolve)
resolveClass(clazz);
return clazz;
}
}
/**
* Provides a key with which to distinguish previously generated
* adapter classes stored in a hash table.
*/
static class ClassSignature {
Class mSuperClass;
Class[] mInterfaces;
Object[] mProperties;
ClassSignature(Class superClass, Class[] interfaces, Scriptable jsObj) {
mSuperClass = superClass;
mInterfaces = interfaces;
mProperties = jsObj.getIds();
}
public boolean equals(Object obj) {
if (obj instanceof ClassSignature) {
ClassSignature sig = (ClassSignature) obj;
if (mSuperClass == sig.mSuperClass) {
Class[] interfaces = sig.mInterfaces;
if (mInterfaces != interfaces) {
if (mInterfaces == null || interfaces == null)
return false;
if (mInterfaces.length != interfaces.length)
return false;
for (int i = 0; i < interfaces.length; i++)
if (mInterfaces[i] != interfaces[i])
return false;
}
Object[] properties = sig.mProperties;
if (mProperties.length != properties.length)
return false;
for (int i = 0; i < properties.length; i++)
if (!mProperties[i].equals(properties[i]))
return false;
return true;
}
}
return false;
}
public int hashCode() {
return mSuperClass.hashCode();
}
}
private static int serial;
private static MyClassLoader classLoader;
private static Hashtable generatedClasses = new Hashtable(7);
}

View File

@@ -0,0 +1,595 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
* Kurt Westerfeld
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
import java.util.Hashtable;
import java.util.Enumeration;
/**
*
* @author Mike Shaver
* @author Norris Boyd
* @see NativeJavaObject
* @see NativeJavaClass
*/
class JavaMembers {
JavaMembers(Scriptable scope, Class cl) {
this.members = new Hashtable(23);
this.staticMembers = new Hashtable(7);
this.cl = cl;
reflect(scope, cl);
}
boolean has(String name, boolean isStatic) {
Hashtable ht = isStatic ? staticMembers : members;
Object obj = ht.get(name);
if (obj != null) {
return true;
} else {
Member member = this.findExplicitFunction(name, isStatic);
return member != null;
}
}
Object get(Scriptable scope, String name, Object javaObject,
boolean isStatic)
{
Hashtable ht = isStatic ? staticMembers : members;
Object member = ht.get(name);
if (!isStatic && member == null) {
// Try to get static member from instance (LC3)
member = staticMembers.get(name);
}
if (member == null) {
member = this.getExplicitFunction(scope, name,
javaObject, isStatic);
if (member == null)
return Scriptable.NOT_FOUND;
}
if (member instanceof Scriptable)
return member; // why is this here?
Object rval;
Class type;
try {
if (member instanceof BeanProperty) {
BeanProperty bp = (BeanProperty) member;
rval = bp.getter.invoke(javaObject, ScriptRuntime.emptyArgs);
type = bp.getter.getReturnType();
} else {
Field field = (Field) member;
rval = field.get(isStatic ? null : javaObject);
type = field.getType();
}
} catch (IllegalAccessException accEx) {
throw new RuntimeException("unexpected IllegalAccessException "+
"accessing Java field");
} catch (InvocationTargetException e) {
throw new WrappedException(e.getTargetException());
}
// Need to wrap the object before we return it.
scope = ScriptableObject.getTopLevelScope(scope);
return NativeJavaObject.wrap(scope, rval, type);
}
Member findExplicitFunction(String name, boolean isStatic) {
Hashtable ht = isStatic ? staticMembers : members;
int sigStart = name.indexOf('(');
Member[] methodsOrCtors = null;
NativeJavaMethod method = null;
boolean isCtor = (isStatic && sigStart == 0);
if (isCtor) {
// Explicit request for an overloaded constructor
methodsOrCtors = ctors;
}
else if (sigStart > 0) {
// Explicit request for an overloaded method
String trueName = name.substring(0,sigStart);
Object obj = ht.get(trueName);
if (!isStatic && obj == null) {
// Try to get static member from instance (LC3)
obj = staticMembers.get(trueName);
}
if (obj != null && obj instanceof NativeJavaMethod) {
method = (NativeJavaMethod)obj;
methodsOrCtors = method.getMethods();
}
}
if (methodsOrCtors != null) {
for (int i = 0; i < methodsOrCtors.length; i++) {
String nameWithSig =
NativeJavaMethod.signature(methodsOrCtors[i]);
if (name.equals(nameWithSig)) {
return methodsOrCtors[i];
}
}
}
return null;
}
Object getExplicitFunction(Scriptable scope, String name,
Object javaObject, boolean isStatic)
{
Hashtable ht = isStatic ? staticMembers : members;
Object member = null;
Member methodOrCtor = this.findExplicitFunction(name, isStatic);
if (methodOrCtor != null) {
Scriptable prototype =
ScriptableObject.getFunctionPrototype(scope);
if (methodOrCtor instanceof Constructor) {
NativeJavaConstructor fun =
new NativeJavaConstructor((Constructor)methodOrCtor);
fun.setPrototype(prototype);
member = fun;
ht.put(name, fun);
} else {
String trueName = methodOrCtor.getName();
member = ht.get(trueName);
if (member instanceof NativeJavaMethod &&
((NativeJavaMethod)member).getMethods().length > 1 ) {
NativeJavaMethod fun =
new NativeJavaMethod((Method)methodOrCtor, name);
fun.setPrototype(prototype);
ht.put(name, fun);
member = fun;
}
}
}
return member;
}
public void put(String name, Object javaObject, Object value,
boolean isStatic)
{
Hashtable ht = isStatic ? staticMembers : members;
Object member = ht.get(name);
if (!isStatic && member == null) {
// Try to get static member from instance (LC3)
member = staticMembers.get(name);
}
if (member == null)
throw reportMemberNotFound(name);
if (member instanceof FieldAndMethods) {
FieldAndMethods fam = (FieldAndMethods) ht.get(name);
member = fam.getField();
}
// Is this a bean property "set"?
if (member instanceof BeanProperty) {
try {
Method method = ((BeanProperty) member).setter;
if (method == null)
throw reportMemberNotFound(name);
Class[] types = method.getParameterTypes();
Object[] params = { NativeJavaObject.coerceType(types[0], value) };
method.invoke(javaObject, params);
} catch (IllegalAccessException accessEx) {
throw new RuntimeException("unexpected IllegalAccessException " +
"accessing Java field");
} catch (InvocationTargetException e) {
throw new WrappedException(e.getTargetException());
}
}
else {
Field field = null;
try {
field = (Field) member;
if (field == null) {
Object[] args = {name};
throw Context.reportRuntimeError(
Context.getMessage("msg.java.internal.private", args));
}
field.set(javaObject, NativeJavaObject.coerceType(field.getType(),
value));
} catch (ClassCastException e) {
Object errArgs[] = { name };
throw Context.reportRuntimeError(Context.getMessage
("msg.java.method.assign",
errArgs));
} catch (IllegalAccessException accessEx) {
throw new RuntimeException("unexpected IllegalAccessException "+
"accessing Java field");
} catch (IllegalArgumentException argEx) {
Object errArgs[] = { value.getClass().getName(), field,
javaObject.getClass().getName() };
throw Context.reportRuntimeError(Context.getMessage(
"msg.java.internal.field.type", errArgs));
}
}
}
Object[] getIds(boolean isStatic) {
Hashtable ht = isStatic ? staticMembers : members;
int len = ht.size();
Object[] result = new Object[len];
Enumeration keys = ht.keys();
for (int i=0; i < len; i++)
result[i] = keys.nextElement();
return result;
}
Class getReflectedClass() {
return cl;
}
void reflectField(Scriptable scope, Field field) {
int mods = field.getModifiers();
if (!Modifier.isPublic(mods))
return;
boolean isStatic = Modifier.isStatic(mods);
Hashtable ht = isStatic ? staticMembers : members;
String name = field.getName();
Object member = ht.get(name);
if (member != null) {
if (member instanceof NativeJavaMethod) {
NativeJavaMethod method = (NativeJavaMethod) member;
FieldAndMethods fam = new FieldAndMethods(method.getMethods(),
field,
null);
fam.setPrototype(ScriptableObject.getFunctionPrototype(scope));
getFieldAndMethodsTable(isStatic).put(name, fam);
ht.put(name, fam);
return;
}
if (member instanceof Field) {
Field oldField = (Field) member;
// If this newly reflected field shadows an inherited field,
// then replace it. Otherwise, since access to the field
// would be ambiguous from Java, no field should be reflected.
// For now, the first field found wins, unless another field
// explicitly shadows it.
if (oldField.getDeclaringClass().isAssignableFrom(field.getDeclaringClass()))
ht.put(name, field);
return;
}
throw new RuntimeException("unknown member type");
}
ht.put(name, field);
}
void reflectMethod(Scriptable scope, Method method) {
int mods = method.getModifiers();
if (!Modifier.isPublic(mods))
return;
boolean isStatic = Modifier.isStatic(mods);
Hashtable ht = isStatic ? staticMembers : members;
String name = method.getName();
NativeJavaMethod fun = (NativeJavaMethod) ht.get(name);
if (fun == null) {
fun = new NativeJavaMethod();
if (scope != null)
fun.setPrototype(ScriptableObject.getFunctionPrototype(scope));
ht.put(name, fun);
fun.add(method);
} else {
fun.add(method);
}
}
void reflect(Scriptable scope, Class cl) {
// We reflect methods first, because we want overloaded field/method
// names to be allocated to the NativeJavaMethod before the field
// gets in the way.
Method[] methods = cl.getMethods();
for (int i = 0; i < methods.length; i++)
reflectMethod(scope, methods[i]);
Field[] fields = cl.getFields();
for (int i = 0; i < fields.length; i++)
reflectField(scope, fields[i]);
makeBeanProperties(scope, false);
makeBeanProperties(scope, true);
ctors = cl.getConstructors();
}
Hashtable getFieldAndMethodsTable(boolean isStatic) {
Hashtable fmht = isStatic ? staticFieldAndMethods
: fieldAndMethods;
if (fmht == null) {
fmht = new Hashtable(11);
if (isStatic)
staticFieldAndMethods = fmht;
else
fieldAndMethods = fmht;
}
return fmht;
}
void makeBeanProperties(Scriptable scope, boolean isStatic) {
Hashtable ht = isStatic ? staticMembers : members;
Hashtable toAdd = new Hashtable();
// Now, For each member, make "bean" properties.
for (Enumeration e = ht.keys(); e.hasMoreElements(); ) {
// Is this a getter?
String name = (String) e.nextElement();
boolean memberIsGetMethod = name.startsWith("get");
boolean memberIsIsMethod = name.startsWith("is");
if (memberIsGetMethod || memberIsIsMethod) {
// Double check name component.
String nameComponent = name.substring(memberIsGetMethod ? 3 : 2);
if (nameComponent.length() == 0)
continue;
// Make the bean property name.
String beanPropertyName = nameComponent;
if (nameComponent.length() > 1 &&
Character.isUpperCase(nameComponent.charAt(0)) &&
!Character.isUpperCase(nameComponent.charAt(1)))
{
beanPropertyName = Character.toLowerCase(nameComponent.charAt(0)) +
nameComponent.substring(1);
}
// If we already have a member by this name, don't do this
// property.
if (ht.containsKey(beanPropertyName))
continue;
// Get the method by this name.
Object method = ht.get(name);
if (!(method instanceof NativeJavaMethod))
continue;
NativeJavaMethod getJavaMethod = (NativeJavaMethod) method;
// Grab and inspect the getter method; does it have an empty parameter list,
// with a return value (eg. a getSomething() or isSomething())?
Class[] params;
Method[] getMethods = getJavaMethod.getMethods();
Class type;
if (getMethods != null &&
getMethods.length == 1 &&
(type = getMethods[0].getReturnType()) != null &&
(params = getMethods[0].getParameterTypes()) != null &&
params.length == 0)
{
// Make sure the method static-ness is preserved for this property.
if (isStatic && !Modifier.isStatic(getMethods[0].getModifiers()))
continue;
// We have a getter. Now, do we have a setter?
Method setMethod = null;
String setter = "set" + nameComponent;
if (ht.containsKey(setter)) {
// Is this value a method?
method = ht.get(setter);
if (method instanceof NativeJavaMethod) {
//
// Note: it may be preferable to allow NativeJavaMethod.findFunction()
// to find the appropriate setter; unfortunately, it requires an
// instance of the target arg to determine that.
//
// Make two passes: one to find a method with direct type assignment,
// and one to find a widening conversion.
NativeJavaMethod setJavaMethod = (NativeJavaMethod) method;
Method[] setMethods = setJavaMethod.getMethods();
for (int pass = 1; pass <= 2 && setMethod == null; ++pass) {
for (int i = 0; i < setMethods.length; ++i) {
if (setMethods[i].getReturnType() == void.class &&
(!isStatic || Modifier.isStatic(setMethods[i].getModifiers())) &&
(params = setMethods[i].getParameterTypes()) != null &&
params.length == 1 ) {
if ((pass == 1 && params[0] == type) ||
(pass == 2 && params[0].isAssignableFrom(type))) {
setMethod = setMethods[i];
break;
}
}
}
}
}
}
// Make the property.
BeanProperty bp = new BeanProperty(getMethods[0], setMethod);
toAdd.put(beanPropertyName, bp);
}
}
}
// Add the new bean properties.
for (Enumeration e = toAdd.keys(); e.hasMoreElements();) {
String key = (String) e.nextElement();
Object value = toAdd.get(key);
ht.put(key, value);
}
}
Hashtable getFieldAndMethodsObjects(Scriptable scope, Object javaObject,
boolean isStatic)
{
Hashtable ht = isStatic ? staticFieldAndMethods : fieldAndMethods;
if (ht == null)
return null;
int len = ht.size();
Hashtable result = new Hashtable(Math.max(len,1));
Enumeration e = ht.elements();
while (len-- > 0) {
FieldAndMethods fam = (FieldAndMethods) e.nextElement();
fam = (FieldAndMethods) fam.clone();
fam.setJavaObject(javaObject);
result.put(fam.getName(), fam);
}
return result;
}
Constructor[] getConstructors() {
return ctors;
}
static JavaMembers lookupClass(Scriptable scope, Class dynamicType,
Class staticType)
{
Class cl = dynamicType;
Hashtable ct = classTable; // use local reference to avoid synchronize
JavaMembers members = (JavaMembers) ct.get(cl);
if (members != null)
return members;
if (staticType != null && staticType != dynamicType &&
!Modifier.isPublic(dynamicType.getModifiers()) &&
Modifier.isPublic(staticType.getModifiers()))
{
cl = staticType;
// We can use the static type, and that is OK, but we'll trace
// back the java class chain here to look for something more suitable.
for (Class parentType = dynamicType;
parentType != null && parentType != ScriptRuntime.ObjectClass;
parentType = parentType.getSuperclass())
{
if (Modifier.isPublic(parentType.getModifiers())) {
cl = parentType;
break;
}
}
}
try {
members = new JavaMembers(scope, cl);
} catch (SecurityException e) {
// Reflection may fail for objects that are in a restricted
// access package (e.g. sun.*). If we get a security
// exception, try again with the static type. Otherwise,
// rethrow the exception.
if (cl != staticType)
members = new JavaMembers(scope, staticType);
else
throw e;
}
if (Context.isCachingEnabled)
ct.put(cl, members);
return members;
}
RuntimeException reportMemberNotFound(String memberName) {
Object errArgs[] = { cl.getName(),
memberName };
return Context.reportRuntimeError(
Context.getMessage("msg.java.member.not.found",
errArgs));
}
static Hashtable classTable = new Hashtable();
private Class cl;
private Hashtable members;
private Hashtable fieldAndMethods;
private Hashtable staticMembers;
private Hashtable staticFieldAndMethods;
private Constructor[] ctors;
}
class BeanProperty {
BeanProperty(Method getter, Method setter) {
this.getter = getter;
this.setter = setter;
}
Method getter;
Method setter;
}
class FieldAndMethods extends NativeJavaMethod {
FieldAndMethods(Method[] methods, Field field, String name) {
super(methods);
this.field = field;
this.name = name;
}
void setJavaObject(Object javaObject) {
this.javaObject = javaObject;
}
String getName() {
if (field == null)
return name;
return field.getName();
}
Field getField() {
return field;
}
public Object getDefaultValue(Class hint) {
if (hint == ScriptRuntime.FunctionClass)
return this;
Object rval;
Class type;
try {
rval = field.get(javaObject);
type = field.getType();
} catch (IllegalAccessException accEx) {
Object[] args = {getName()};
throw Context.reportRuntimeError(Context.getMessage
("msg.java.internal.private", args));
}
rval = NativeJavaObject.wrap(this, rval, type);
if (rval instanceof Scriptable) {
rval = ((Scriptable) rval).getDefaultValue(hint);
}
return rval;
}
public Object clone() {
FieldAndMethods result = new FieldAndMethods(methods, field, name);
result.javaObject = javaObject;
return result;
}
private Field field;
private Object javaObject;
private String name;
}

View File

@@ -0,0 +1,109 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
import java.lang.reflect.InvocationTargetException;
/**
* Java reflection of JavaScript exceptions. (Possibly wrapping a Java exception.)
*
* @author Mike McCabe
*/
public class JavaScriptException extends Exception {
/**
* Create a JavaScript exception wrapping the given JavaScript value.
*
* Instances of this class are thrown by the JavaScript 'throw' keyword.
*
* @param value the JavaScript value thrown.
*/
public JavaScriptException(Object value) {
super(ScriptRuntime.toString(value));
this.value = value;
}
/**
* Get the exception message.
*
* <p>Will just convert the wrapped exception to a string.
*/
public String getMessage() {
return ScriptRuntime.toString(value);
}
static JavaScriptException wrapException(Scriptable scope,
Throwable exn)
{
if (exn instanceof InvocationTargetException)
exn = ((InvocationTargetException)exn).getTargetException();
if (exn instanceof JavaScriptException)
return (JavaScriptException)exn;
Object wrapper = NativeJavaObject.wrap(scope, exn, Throwable.class);
return new JavaScriptException(wrapper);
}
/**
* Get the exception value originally thrown. This may be a
* JavaScript value (null, undefined, Boolean, Number, String,
* Scriptable or Function) or a Java exception value thrown from a
* host object or from Java called through LiveConnect.
*
* @return the value wrapped by this exception
*/
public Object getValue() {
if (value != null && value instanceof Wrapper)
// this will also catch NativeStrings...
return ((Wrapper)value).unwrap();
else
return value;
}
/**
* The JavaScript exception value. This value is not
* intended for general use; if the JavaScriptException wraps a
* Java exception, getScriptableValue may return a Scriptable
* wrapping the original Java exception object.
*
* We would prefer to go through a getter to encapsulate the value,
* however that causes the bizarre error "nanosecond timeout value
* out of range" on the MS JVM.
* @serial
*/
Object value;
}

View File

@@ -0,0 +1,104 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
public class Label {
private static final int FIXUPTABLE_SIZE = 8;
private static final boolean DEBUG = true;
public Label()
{
itsPC = -1;
}
public short getPC()
{
return itsPC;
}
public void fixGotos(byte theCodeBuffer[])
{
if (DEBUG) {
if ((itsPC == -1) && (itsFixupTable != null))
throw new RuntimeException("Unlocated label");
}
if (itsFixupTable != null) {
for (int i = 0; i < itsFixupTableTop; i++) {
int fixupSite = itsFixupTable[i];
// -1 to get delta from instruction start
short offset = (short)(itsPC - (fixupSite - 1));
theCodeBuffer[fixupSite++] = (byte)(offset >> 8);
theCodeBuffer[fixupSite] = (byte)offset;
}
}
itsFixupTable = null;
}
public void setPC(short thePC)
{
if (DEBUG) {
if ((itsPC != -1) && (itsPC != thePC))
throw new RuntimeException("Duplicate label");
}
itsPC = thePC;
}
public void addFixup(int fixupSite)
{
if (itsFixupTable == null) {
itsFixupTableTop = 1;
itsFixupTable = new int[FIXUPTABLE_SIZE];
itsFixupTable[0] = fixupSite;
}
else {
if (itsFixupTableTop == itsFixupTable.length) {
int oldLength = itsFixupTable.length;
int newTable[] = new int[oldLength + FIXUPTABLE_SIZE];
System.arraycopy(itsFixupTable, 0, newTable, 0, oldLength);
itsFixupTable = newTable;
}
itsFixupTable[itsFixupTableTop++] = fixupSite;
}
}
private short itsPC;
private int itsFixupTable[];
private int itsFixupTableTop;
}

View File

@@ -0,0 +1,80 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
public class LabelTable {
private static final boolean DEBUGLABELS = false;
private static final int LabelTableSize = 32;
protected Label itsLabelTable[];
protected int itsLabelTableTop;
public int acquireLabel()
{
if (itsLabelTable == null) {
itsLabelTable = new Label[LabelTableSize];
itsLabelTable[0] = new Label();
itsLabelTableTop = 1;
return 0x80000000;
}
else {
if (itsLabelTableTop == itsLabelTable.length) {
Label oldTable[] = itsLabelTable;
itsLabelTable = new Label[itsLabelTableTop * 2];
System.arraycopy(oldTable, 0, itsLabelTable, 0, itsLabelTableTop);
}
itsLabelTable[itsLabelTableTop] = new Label();
int result = itsLabelTableTop++;
return result | 0x80000000;
}
}
public int markLabel(int theLabel, int pc)
{
if (DEBUGLABELS) {
if ((theLabel & 0x80000000) != 0x80000000)
throw new RuntimeException("Bad label, no biscuit");
}
theLabel &= 0x7FFFFFFF;
if (DEBUGLABELS) {
System.out.println("Marking label " + theLabel + " at " + pc);
}
itsLabelTable[theLabel].setPC((short)pc);
return theLabel | 0x80000000;
}
}

View File

@@ -0,0 +1,99 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
/**
* Avoid loading classes unless they are used.
*
* <p> This improves startup time and average memory usage.
*/
class LazilyLoadedCtor {
LazilyLoadedCtor(ScriptableObject scope, String ctorName,
String className, int attributes)
throws PropertyException
{
this.className = className;
this.ctorName = ctorName;
Class cl = getClass();
Method[] getter = FunctionObject.findMethods(cl, "getProperty");
Method[] setter = FunctionObject.findMethods(cl, "setProperty");
scope.defineProperty(this.ctorName, this, getter[0], setter[0],
attributes);
}
public Object getProperty(ScriptableObject obj) {
try {
synchronized (obj) {
if (!isReplaced)
ScriptableObject.defineClass(obj, Class.forName(className));
isReplaced = true;
}
}
catch (ClassNotFoundException e) {
throw WrappedException.wrapException(e);
}
catch (InstantiationException e) {
throw WrappedException.wrapException(e);
}
catch (IllegalAccessException e) {
throw WrappedException.wrapException(e);
}
catch (InvocationTargetException e) {
throw WrappedException.wrapException(e);
}
catch (ClassDefinitionException e) {
throw WrappedException.wrapException(e);
}
catch (PropertyException e) {
throw WrappedException.wrapException(e);
}
return obj.get(ctorName, obj);
}
public Object setProperty(ScriptableObject obj, Object val) {
synchronized (obj) {
isReplaced = true;
return val;
}
}
private String ctorName;
private String className;
private boolean isReplaced;
}

View File

@@ -0,0 +1,412 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.io.Reader;
import java.io.IOException;
/**
* An input buffer that combines fast character-based access with
* (slower) support for retrieving the text of the current line. It
* also supports building strings directly out of the internal buffer
* to support fast scanning with minimal object creation.
*
* Note that it is customized in several ways to support the
* TokenStream class, and should not be considered general.
*
* Credits to Kipp Hickman and John Bandhauer.
*
* @author Mike McCabe
*/
final class LineBuffer {
/*
* for smooth operation of getLine(), this should be greater than
* the length of any expected line. Currently, 256 is 3% slower
* than 4096 for large compiles, but seems safer given evaluateString.
* Strings for the scanner are are built with StringBuffers
* instead of directly out of the buffer whenever a string crosses
* a buffer boundary, so small buffer sizes will mean that more
* objects are created.
*/
static final int BUFLEN = 256;
LineBuffer(Reader in, int lineno) {
this.in = in;
this.lineno = lineno;
}
int read() throws IOException {
for(;;) {
if (end == offset && !fill())
return -1;
// Do only a bitmask + branch per character, at the cost of
// three branches per low-bits-only (or 2028/9) character.
if ((buffer[offset] & '\udfd0') == 0) {
if (buffer[offset] == '\r') {
// if the next character is a newline, skip past it.
if ((offset + 1) < end) {
if (buffer[offset + 1] == '\n')
offset++;
} else {
// set a flag for fill(), in case the first char of the
// next fill is a newline.
lastWasCR = true;
}
}
else
if ((buffer[offset] != '\n')
&& (buffer[offset] != '\u2028')
&& (buffer[offset] != '\u2029'))
{
if (Character.getType(buffer[offset])
== Character.FORMAT) {
hadCFSinceStringStart = true;
offset++;
continue;
}
return (int) buffer[offset++];
}
offset++;
prevStart = lineStart;
lineStart = offset;
lineno++;
return '\n';
}
if ((buffer[offset] >= 128)
&& (Character.getType(buffer[offset]) == Character.FORMAT)) {
hadCFSinceStringStart = true;
offset++;
}
else
break;
}
return (int) buffer[offset++];
}
void unread() {
if (offset == 0)
// We can get here when we're asked to unread() an
// implicit EOF_CHAR.
// This would also be wrong behavior in the general case,
// because a peek() could map a buffer.length offset to 0
// in the process of a fill(), and leave it there. But
// the scanner never calls peek() or a failed match()
// followed by unread()... this would violate 1-character
// lookahead. So we're OK.
return;
offset--;
if ((buffer[offset] & '\ufff0') == 0
&& (buffer[offset] == '\r' || buffer[offset] == '\n')) {
// back off from the line start we presumably just registered...
lineStart = prevStart;
lineno--;
}
}
int peek() throws IOException {
if (end == offset && !fill())
return -1;
if (buffer[offset] == '\r')
return '\n';
return buffer[offset];
}
boolean match(char c) throws IOException {
if (end == offset && !fill())
return false;
// This'd be a place where we'd need to map '\r' to '\n' and
// do other updates, but TokenStream never looks ahead for
// '\n', so we don't bother.
if (buffer[offset] == c) {
offset++;
return true;
}
return false;
}
// Reconstruct a source line from the buffers. This can be slow...
String getLine() {
StringBuffer result = new StringBuffer();
int start = lineStart;
if (start >= offset) {
// the line begins somewhere in the other buffer; get that first.
if (otherStart < otherEnd)
// if a line ending was seen in the other buffer... otherwise
// just ignore this strange case.
result.append(otherBuffer, otherStart,
otherEnd - otherStart);
start = 0;
}
// get the part of the line in the current buffer.
result.append(buffer, start, offset - start);
// Get the remainder of the line.
int i = offset;
while(true) {
if (i == buffer.length) {
// we're out of buffer, let's just expand it. We do
// this instead of reading into a StringBuffer to
// preserve the stream for later reads.
char[] newBuffer = new char[buffer.length * 2];
System.arraycopy(buffer, 0, newBuffer, 0, buffer.length);
buffer = newBuffer;
int charsRead = 0;
try {
charsRead = in.read(buffer, end, buffer.length - end);
} catch (IOException ioe) {
// ignore it, we're already displaying an error...
}
if (charsRead < 0)
break;
end += charsRead;
}
if (buffer[i] == '\r' || buffer[i] == '\n')
break;
i++;
}
result.append(buffer, offset, i - offset);
return result.toString();
}
// Get the offset of the current character, relative to
// the line that getLine() returns.
int getOffset() {
if (lineStart >= offset)
// The line begins somewhere in the other buffer.
return offset + (otherEnd - otherStart);
else
return offset - lineStart;
}
// Set a mark to indicate that the reader should begin
// accumulating characters for getString(). The string begins
// with the last character read.
void startString() {
if (offset == 0) {
// We can get here if startString is called after a peek()
// or failed match() with offset past the end of the
// buffer.
// We're at the beginning of the buffer, and the previous character
// (which we want to include) is at the end of the last one, so
// we just go to StringBuffer mode.
stringSoFar = new StringBuffer();
stringSoFar.append(otherBuffer, otherEnd - 1, 1);
stringStart = -1; // Set sentinel value.
hadCFSinceStringStart = ((otherBuffer[otherEnd - 1] >= 128)
&& Character.getType(otherBuffer[otherEnd - 1])
== Character.FORMAT);
} else {
// Support restarting strings
stringSoFar = null;
stringStart = offset - 1;
hadCFSinceStringStart = ((buffer[stringStart] >= 128)
&& Character.getType(buffer[stringStart]) == Character.FORMAT);
}
}
// Get a string consisting of the characters seen since the last
// startString.
String getString() {
String result;
/*
* There's one strange case here: If the character offset currently
* points to (which we never want to include in the string) is
* a newline, then if the previous character is a carriage return,
* we probably want to exclude that as well. If the offset is 0,
* then we hope that fill() handled excluding it from stringSoFar.
*/
int loseCR = (offset > 0 &&
buffer[offset] == '\n' && buffer[offset - 1] == '\r') ?
1 : 0;
if (stringStart != -1) {
// String mark is valid, and in this buffer.
result = new String(buffer, stringStart,
offset - stringStart - loseCR);
} else {
if (stringSoFar == null)
stringSoFar = new StringBuffer();
// Exclude cr as well as nl of newline. If offset is 0, then
// hopefully fill() did the right thing.
result = (stringSoFar.append(buffer, 0, offset - loseCR)).toString();
}
stringStart = -1;
stringSoFar = null;
if (hadCFSinceStringStart) {
char c[] = result.toCharArray();
StringBuffer x = null;
for (int i = 0; i < c.length; i++) {
if (Character.getType(c[i]) == Character.FORMAT) {
if (x == null) {
x = new StringBuffer();
x.append(c, 0, i);
}
}
else
if (x != null) x.append(c[i]);
}
if (x != null) result = x.toString();
}
return result;
}
boolean fill() throws IOException {
// not sure I care...
if (end - offset != 0)
throw new IOException("fill of non-empty buffer");
// If there's a string currently being accumulated, save
// off the progress.
/*
* Exclude an end-of-buffer carriage return. NOTE this is not
* fully correct in the general case, because we really only
* want to exclude the carriage return if it's followed by a
* linefeed at the beginning of the next buffer. But we fudge
* because the scanner doesn't do this.
*/
int loseCR = (offset > 0 && lastWasCR) ? 1 : 0;
if (stringStart != -1) {
// The mark is in the current buffer, save off from the mark to the
// end.
stringSoFar = new StringBuffer();
stringSoFar.append(buffer, stringStart, end - stringStart - loseCR);
stringStart = -1;
} else if (stringSoFar != null) {
// the string began prior to the current buffer, so save the
// whole current buffer.
stringSoFar.append(buffer, 0, end - loseCR);
}
// swap buffers
char[] tempBuffer = buffer;
buffer = otherBuffer;
otherBuffer = tempBuffer;
// allocate the buffers lazily, in case we're handed a short string.
if (buffer == null) {
buffer = new char[BUFLEN];
}
// buffers have switched, so move the newline marker.
otherStart = lineStart;
otherEnd = end;
// set lineStart to a sentinel value, unless this is the first
// time around.
prevStart = lineStart = (otherBuffer == null) ? 0 : buffer.length + 1;
offset = 0;
end = in.read(buffer, 0, buffer.length);
if (end < 0) {
end = 0;
// can't null buffers here, because a string might be retrieved
// out of the other buffer, and a 0-length string might be
// retrieved out of this one.
hitEOF = true;
return false;
}
// If the last character of the previous fill was a carriage return,
// then ignore a newline.
// There's another bizzare special case here. If lastWasCR is
// true, and we see a newline, and the buffer length is
// 1... then we probably just read the last character of the
// file, and returning after advancing offset is not the right
// thing to do. Instead, we try to ignore the newline (and
// likely get to EOF for real) by doing yet another fill().
if (lastWasCR) {
if (buffer[0] == '\n') {
offset++;
if (end == 1)
return fill();
}
lineStart = offset;
lastWasCR = false;
}
return true;
}
int getLineno() { return lineno; }
boolean eof() { return hitEOF; }
private Reader in;
private char[] otherBuffer = null;
private char[] buffer = null;
// Yes, there are too too many of these.
private int offset = 0;
private int end = 0;
private int otherEnd;
private int lineno;
private int lineStart = 0;
private int otherStart = 0;
private int prevStart = 0;
private boolean lastWasCR = false;
private boolean hitEOF = false;
private int stringStart = -1;
private StringBuffer stringSoFar = null;
private boolean hadCFSinceStringStart = false;
}

View File

@@ -0,0 +1,114 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is ListenerCollection, released
* May 15, 1998.
*
* The Initial Developer of the Original Code is Ian D. Stewart.
* Portions created by Ian D. Stewart are Copyright (C) 1998, 1999
* Ian D. Stewart.
* Rights Reserved.
*
* Contributor(s):
* Ian D. Stewart
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/* This class provides a series of methods for accessing event listeners. */
package org.mozilla.javascript;
import java.util.Enumeration;
import java.util.Vector;
/**
* This class acts as central storage location for miscelanious
* event listeners. It provides methods for adding, removing
* and accessing listeners, both individually and collectively,
* by the listener interface implemented
*
* Note: This class performs the same functions as
* javax.swing.event.EventListenerList, and is provided
* primarily for implementations lacking the Swing packages
*
* @author Ian D. Stewart
* @since JavaScript-Java 1.4 rel 3
*/
public class ListenerCollection extends Vector {
/**
* Create a new ListenerCollection
*/
public ListenerCollection() {
super();
} // Constructor
/**
* Add a new listener to the collection
* @param listener the listener
*/
public void addListener(Object listener) {
this.addElement(listener);
}
/**
* Remove a listener from the collection
* @param listener the listener
*/
public void removeListener(Object listener) {
this.removeElement(listener);
}
/**
* Returns an Enumeration of all the listeners
* being stored in this collection
* @return an Enumeration of all listeners
*/
public Enumeration getAllListeners() {
return this.elements();
}
/**
* Return all the listeners in this collection which
* implement the specified interface
*
* @param iface the interface
* @return an array of listeners which implement the given
* interface
*/
public Object[] getListeners(Class iface) {
Vector array = new Vector();
for(Enumeration enum = getAllListeners();enum.hasMoreElements();) {
Object listener = enum.nextElement();
if(iface.isInstance(listener)) {
array.addElement(listener);
}
}
Object[] result = new Object[array.size()];
array.copyInto(result);
return result;
}
} // ListenerCollection
// end of ListenerCollection.java ...

View File

@@ -0,0 +1,79 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
public class LocalVariable {
public LocalVariable(String name, boolean isParameter) {
itsName = name;
itsIsParameter = isParameter;
}
public void setIndex(int index){ itsIndex = index; }
public int getIndex() { return itsIndex; }
public void setIsParameter() { itsIsParameter = true; }
public boolean isParameter() { return itsIsParameter; }
public String getName() { return itsName; }
/**
* Return the starting PC where this variable is live, or -1
* if it is not a Java register.
*/
public int getStartPC() {
return -1;
}
/**
* Return the Java register number or -1 if it is not a Java register.
*/
public short getJRegister() {
return -1;
}
/**
* Return true if the local variable is a Java register with double type.
*/
public boolean isNumber() {
return false;
}
private String itsName;
private int itsIndex = -1;
private boolean itsIsParameter;
}

View File

@@ -0,0 +1,244 @@
#! gmake
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (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 oqr
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Rhino code, released
# May 6, 1998.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU Public License (the "GPL"), in which case the
# provisions of the GPL are applicable instead of those above.
# If you wish to allow use of your version of this file only
# under the terms of the GPL and not to allow others to use your
# version of this file under the NPL, indicate your decision by
# deleting the provisions above and replace them with the notice
# and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this
# file under either the NPL or the GPL.
#
# Makefile the core javascript classes.
#
# This Makefile is intended to be called from the toplevel Makefile.
#
# List files explicitly to exclude .java files in this dir we don't want
# to compile. Also hack in classfile stuff...
SOURCES = \
$(PATH_PREFIX)/Arguments.java \
$(PATH_PREFIX)/BinaryDigitReader.java \
$(PATH_PREFIX)/ClassDefinitionException.java \
$(PATH_PREFIX)/ClassNameHelper.java \
$(PATH_PREFIX)/Context.java \
$(PATH_PREFIX)/DeepBytecodeHook.java \
$(PATH_PREFIX)/DeepCallHook.java \
$(PATH_PREFIX)/DeepErrorReporterHook.java \
$(PATH_PREFIX)/DeepExecuteHook.java \
$(PATH_PREFIX)/DeepNewObjectHook.java \
$(PATH_PREFIX)/DeepScriptHook.java \
$(PATH_PREFIX)/DefaultErrorReporter.java \
$(PATH_PREFIX)/EcmaError.java \
$(PATH_PREFIX)/ErrorReporter.java \
$(PATH_PREFIX)/EvaluatorException.java \
$(PATH_PREFIX)/FlattenedObject.java \
$(PATH_PREFIX)/Function.java \
$(PATH_PREFIX)/FunctionNode.java \
$(PATH_PREFIX)/FunctionObject.java \
$(PATH_PREFIX)/IRFactory.java \
$(PATH_PREFIX)/ImporterTopLevel.java \
$(PATH_PREFIX)/InterpretedFunction.java \
$(PATH_PREFIX)/InterpretedScript.java \
$(PATH_PREFIX)/Interpreter.java \
$(PATH_PREFIX)/InterpreterData.java \
$(PATH_PREFIX)/JavaAdapter.java \
$(PATH_PREFIX)/JavaMembers.java \
$(PATH_PREFIX)/JavaScriptException.java \
$(PATH_PREFIX)/Label.java \
$(PATH_PREFIX)/LabelTable.java \
$(PATH_PREFIX)/LazilyLoadedCtor.java \
$(PATH_PREFIX)/LineBuffer.java \
$(PATH_PREFIX)/ListenerCollection.java \
$(PATH_PREFIX)/LocalVariable.java \
$(PATH_PREFIX)/NativeArray.java \
$(PATH_PREFIX)/NativeBoolean.java \
$(PATH_PREFIX)/NativeCall.java \
$(PATH_PREFIX)/NativeDate.java \
$(PATH_PREFIX)/NativeError.java \
$(PATH_PREFIX)/NativeFunction.java \
$(PATH_PREFIX)/NativeGlobal.java \
$(PATH_PREFIX)/NativeJavaArray.java \
$(PATH_PREFIX)/NativeJavaClass.java \
$(PATH_PREFIX)/NativeJavaConstructor.java \
$(PATH_PREFIX)/NativeJavaMethod.java \
$(PATH_PREFIX)/NativeJavaObject.java \
$(PATH_PREFIX)/NativeJavaPackage.java \
$(PATH_PREFIX)/NativeMath.java \
$(PATH_PREFIX)/NativeNumber.java \
$(PATH_PREFIX)/NativeObject.java \
$(PATH_PREFIX)/NativeScript.java \
$(PATH_PREFIX)/NativeString.java \
$(PATH_PREFIX)/NativeWith.java \
$(PATH_PREFIX)/Node.java \
$(PATH_PREFIX)/NodeTransformer.java \
$(PATH_PREFIX)/NotAFunctionException.java \
$(PATH_PREFIX)/Parser.java \
$(PATH_PREFIX)/PreorderNodeIterator.java \
$(PATH_PREFIX)/PropertyException.java \
$(PATH_PREFIX)/RegExpProxy.java \
$(PATH_PREFIX)/Script.java \
$(PATH_PREFIX)/ScriptRuntime.java \
$(PATH_PREFIX)/Scriptable.java \
$(PATH_PREFIX)/ScriptableObject.java \
$(PATH_PREFIX)/SecuritySupport.java \
$(PATH_PREFIX)/ShallowNodeIterator.java \
$(PATH_PREFIX)/SourceTextItem.java \
$(PATH_PREFIX)/SourceTextManager.java \
$(PATH_PREFIX)/TokenStream.java \
$(PATH_PREFIX)/Undefined.java \
$(PATH_PREFIX)/VariableTable.java \
$(PATH_PREFIX)/WrappedException.java \
$(PATH_PREFIX)/Wrapper.java \
$(PATH_PREFIX)/regexp/NativeRegExp.java \
$(PATH_PREFIX)/regexp/NativeRegExpCtor.java \
$(PATH_PREFIX)/regexp/RegExpImpl.java \
$(PATH_PREFIX)/regexp/SubString.java \
$(PATH_PREFIX)/optimizer/Block.java \
$(PATH_PREFIX)/optimizer/Codegen.java \
$(PATH_PREFIX)/optimizer/DataFlowBitSet.java \
$(PATH_PREFIX)/optimizer/FatBlock.java \
$(PATH_PREFIX)/optimizer/JavaScriptClassLoader.java\
$(PATH_PREFIX)/optimizer/OptClassNameHelper.java\
$(PATH_PREFIX)/optimizer/OptFunctionNode.java \
$(PATH_PREFIX)/optimizer/OptIRFactory.java \
$(PATH_PREFIX)/optimizer/OptLocalVariable.java \
$(PATH_PREFIX)/optimizer/OptRuntime.java \
$(PATH_PREFIX)/optimizer/OptTransformer.java \
$(PATH_PREFIX)/optimizer/OptVariableTable.java \
$(PATH_PREFIX)/optimizer/Optimizer.java \
$(PATH_PREFIX)/optimizer/StmtNodeIterator.java \
$(PATH_PREFIX)/optimizer/TypeEvent.java \
$(PATH_PREFIX)/../classfile/ByteCode.java \
$(PATH_PREFIX)/../classfile/ClassFileWriter.java\
$(NULL)
RESOURCEDIR = $(PATH_PREFIX)/resources
RESOURCES = $(RESOURCEDIR)/*.properties
# This must be evaluated in some context where the classes can be
# found; we can't use a simple translation from sources, because a
# .java file may produce more than one .class file.
# (use org/mozilla/classfile explicitly for now; should be replaced
# with something parameterized, but jar doesn't understand ..)
CLASSES = $(PATH_PREFIX)/*.class $(PATH_PREFIX)/regexp/*.class \
$(PATH_PREFIX)/optimizer/*.class org/mozilla/classfile/*.class
# A class or set of classes as visible from the top level. For want
# of ${subst ,,}. This variable is only used to trigger dependency
# analysis, and multiple words confuse gmake, so it can be smaller
# than the full set of sources. (We assume we'll never need to do the
# same thing with RESOURCES.)
TLCLASS = $(CLASSDIR)/$(PATH_PREFIX)/*.class
# An empty file, used mainly for timestamp/dependency purposes by
# "fast" builds
FASTTARGET=$(CLASSDIR)/.lastbuild
$(JAR) : $(TLCLASS) $(CLASSDIR)/$(RESOURCES)
cd $(CLASSDIR) ; \
jar cf ../$(JAR) $(CLASSES) $(RESOURCES)
$(TLCLASS) : $(SOURCES)
- mkdir -p $(CLASSDIR)
echo "" > $(FASTTARGET)
$(JAVAC) $(JFLAGS) -d $(CLASSDIR) $(SOURCES)
$(CLASSDIR)/$(RESOURCES) : $(RESOURCES)
- mkdir -p $(CLASSDIR)/$(RESOURCEDIR)
cp $(RESOURCES) $(CLASSDIR)/$(RESOURCEDIR)
# Since the jar file is a target for regular builds, "fast" builds use a
# dummy file, updated before each compilation to provide a timestamp.
# Even so, using a dummy file is far from foolproof, so we still need
# the regular build.
fast: $(FASTTARGET)
# So that we recompile only the files that have changed, we pretend
# the only real dependencies are the source files, and recopy the
# resources every time. Right now (14 Jun 99), the only resource is
# Messages.properties, so it's a small price to pay.
$(FASTTARGET) : $(SOURCES)
- mkdir -p $(CLASSDIR)/$(RESOURCEDIR)
cp $(RESOURCES) $(CLASSDIR)/$(RESOURCEDIR)
echo "" > $(FASTTARGET)
$(JAVAC) $(JFLAGS) -d $(CLASSDIR) $(?)
cd $(CLASSDIR) ; \
jar cf ../$(JAR) $(CLASSES) $(RESOURCES)
clean :
- cd $(CLASSDIR)
- rm $(CLASSES)
- rm $(PATH_PREFIX)/message.ids \
$(PATH_PREFIX)/property.ids \
$(PATH_PREFIX)/MANIFEST
clobber : clean
-rm $(JAR)
$(PATH_PREFIX)/MANIFEST : $(SOURCES) $(RESOURCES) $(PATH_PREFIX)/Makefile
ls $(SOURCES) $(RESOURCES) $(PATH_PREFIX)/Makefile \
> $(@)
# A sed/grep regular expression.
MESSAGE_PREFIX = msg\.
# Find all the msg.* strings in the source, and condense them to a sorted list,
# excluding duplicates.
$(PATH_PREFIX)/message.ids : $(SOURCES)
grep '$(MESSAGE_PREFIX)' $(SOURCES) |\
sed -e 's/.*\"\($(MESSAGE_PREFIX)\)\([^\"]*\).*/\1\2/' | \
sort | uniq > $(PATH_PREFIX)/message.ids
# Find all the msg.* strings in the resource files, and condense them to a
# sorted list, not excluding duplicates.
$(PATH_PREFIX)/property.ids : $(RESOURCES)
grep '^$(MESSAGE_PREFIX)' $(RESOURCES) |\
sed -e 's/.*\($(MESSAGE_PREFIX)\)\([^ =]*\).*/\1\2/' |\
sort > $(PATH_PREFIX)/property.ids
# Compare the resulting message.ids and property.ids files and confirm
# that they do not differ. This means that every message string used
# in the source is defined somewhere in the resource file, every
# resource in the resource file is used somewhere in the source, and
# no resource is defined more than once.
check : $(PATH_PREFIX)/message.ids $(PATH_PREFIX)/property.ids FORCE
- diff $(PATH_PREFIX)/message.ids $(PATH_PREFIX)/property.ids
# look for unmatched single quotes ... seems to fail when none!
# - sed -e s/\'\'//g $($RESOURCES) | grep \'
# Emulate .PHONY
FORCE :

View File

@@ -0,0 +1,954 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Hashtable;
/**
* This class implements the Array native object.
* @author Norris Boyd
* @author Mike McCabe
*/
public class NativeArray extends ScriptableObject {
/*
* Optimization possibilities and open issues:
* - Long vs. double schizophrenia. I suspect it might be better
* to use double throughout.
* - Most array operations go through getElem or setElem (defined
* in this file) to handle the full 2^32 range; it might be faster
* to have versions of most of the loops in this file for the
* (infinitely more common) case of indices < 2^31.
* - Functions that need a new Array call "new Array" in the
* current scope rather than using a hardwired constructor;
* "Array" could be redefined. It turns out that js calls the
* equivalent of "new Array" in the current scope, except that it
* always gets at least an object back, even when Array == null.
*/
/**
* Zero-parameter constructor: just used to create Array.prototype
*/
public NativeArray() {
dense = null;
this.length = 0;
}
public NativeArray(long length) {
int intLength = (int) length;
if (intLength == length && intLength > 0) {
if (intLength > maximumDenseLength)
intLength = maximumDenseLength;
dense = new Object[intLength];
for (int i=0; i < intLength; i++)
dense[i] = NOT_FOUND;
}
this.length = length;
}
public NativeArray(Object[] array) {
dense = array;
this.length = array.length;
}
public static void finishInit(Scriptable scope, FunctionObject ctor,
Scriptable proto)
{
// Set some method length values.
// See comment for NativeString.finishInit()
String[] specialLengthNames = { "reverse",
"toString",
};
short[] specialLengthValues = { 0,
0,
};
for (int i=0; i < specialLengthNames.length; i++) {
Object obj = proto.get(specialLengthNames[i], proto);
((FunctionObject) obj).setLength(specialLengthValues[i]);
}
}
public String getClassName() {
return "Array";
}
public Object get(int index, Scriptable start) {
if (dense != null && 0 <= index && index < dense.length)
return dense[index];
return super.get(index, start);
}
public boolean has(int index, Scriptable start) {
if (dense != null && 0 <= index && index < dense.length)
return dense[index] != NOT_FOUND;
return super.has(index, start);
}
public void put(String id, Scriptable start, Object value) {
// only set the array length if given an array index (ECMA 15.4.0)
// try to get an array index from id
double d = ScriptRuntime.toNumber(id);
if (ScriptRuntime.toUint32(d) == d &&
ScriptRuntime.numberToString(d, 10).equals(id) &&
this.length <= d && d != 4294967295.0)
{
this.length = (long)d + 1;
}
super.put(id, start, value);
}
public void put(int index, Scriptable start, Object value) {
// only set the array length if given an array index (ECMA 15.4.0)
if (this.length <= index) {
// avoid overflowing index!
this.length = (long)index + 1;
}
if (dense != null && 0 <= index && index < dense.length) {
dense[index] = value;
return;
}
super.put(index, start, value);
}
public void delete(int index) {
if (dense != null && 0 <= index && index < dense.length) {
dense[index] = NOT_FOUND;
return;
}
super.delete(index);
}
public Object[] getIds() {
Object[] superIds = super.getIds();
if (dense == null)
return superIds;
int count = 0;
int last = dense.length;
if (last > length)
last = (int) length;
for (int i=last-1; i >= 0; i--) {
if (dense[i] != NOT_FOUND)
count++;
}
count += superIds.length;
Object[] result = new Object[count];
System.arraycopy(superIds, 0, result, 0, superIds.length);
for (int i=last-1; i >= 0; i--) {
if (dense[i] != NOT_FOUND)
result[--count] = new Integer(i);
}
return result;
}
public Object getDefaultValue(Class hint) {
if (hint == ScriptRuntime.NumberClass) {
Context cx = Context.getContext();
if (cx.getLanguageVersion() == Context.VERSION_1_2)
return new Long(length);
}
return super.getDefaultValue(hint);
}
/**
* See ECMA 15.4.1,2
*/
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
throws JavaScriptException
{
if (!inNewExpr) {
// FunctionObject.construct will set up parent, proto
return ctorObj.construct(cx, ctorObj.getParentScope(), args);
}
if (args.length == 0)
return new NativeArray();
// Only use 1 arg as first element for version 1.2; for
// any other version (including 1.3) follow ECMA and use it as
// a length.
if (cx.getLanguageVersion() == cx.VERSION_1_2) {
return new NativeArray(args);
}
else {
if ((args.length > 1) || (!(args[0] instanceof Number)))
return new NativeArray(args);
else {
long len = ScriptRuntime.toUint32(args[0]);
if (len != (((Number)(args[0])).doubleValue()))
throw Context.reportRuntimeError(Context.getMessage
("msg.arraylength.bad", null));
return new NativeArray(len);
}
}
}
private static final int lengthAttr = ScriptableObject.DONTENUM |
ScriptableObject.PERMANENT;
public long jsGet_length() {
return length;
}
public void jsSet_length(Object val) {
/* XXX do we satisfy this?
* 15.4.5.1 [[Put]](P, V):
* 1. Call the [[CanPut]] method of A with name P.
* 2. If Result(1) is false, return.
* ?
*/
if (!(val instanceof Number))
throw Context.reportRuntimeError(Context.getMessage
("msg.arraylength.bad", null));
long longVal = ScriptRuntime.toUint32(val);
if (longVal != (((Number)val).doubleValue()))
throw Context.reportRuntimeError(Context.getMessage
("msg.arraylength.bad", null));
if (longVal < length) {
// remove all properties between longVal and length
if (length - longVal > 0x1000) {
// assume that the representation is sparse
Object[] e = getIds(); // will only find in object itself
for (int i=0; i < e.length; i++) {
if (e[i] instanceof String) {
// > MAXINT will appear as string
String id = (String) e[i];
double d = ScriptRuntime.toNumber(id);
if (d == d && d < length)
delete(id);
continue;
}
int index = ((Number) e[i]).intValue();
if (index >= longVal)
delete(index);
}
} else {
// assume a dense representation
for (long i=longVal; i < length; i++) {
// only delete if defined in the object itself
if (hasElem(this, i))
ScriptRuntime.delete(this, new Long(i));
}
}
}
length = longVal;
}
/* Support for generic Array-ish objects. Most of the Array
* functions try to be generic; anything that has a length
* property is assumed to be an array. hasLengthProperty is
* needed in addition to getLengthProperty, because
* getLengthProperty always succeeds - tries to convert strings, etc.
*/
static double getLengthProperty(Scriptable obj) {
// These will both give numeric lengths within Uint32 range.
if (obj instanceof NativeString)
return (double)((NativeString)obj).jsGet_length();
if (obj instanceof NativeArray)
return (double)((NativeArray)obj).jsGet_length();
return ScriptRuntime.toUint32(ScriptRuntime
.getProp(obj, "length", obj));
}
static boolean hasLengthProperty(Object obj) {
if (!(obj instanceof Scriptable) || obj == Context.getUndefinedValue())
return false;
if (obj instanceof NativeString || obj instanceof NativeArray)
return true;
Scriptable sobj = (Scriptable)obj;
// XXX some confusion as to whether or not to walk to get the length
// property. Pending review of js/[new ecma submission] treatment
// of 'arrayness'.
Object property = ScriptRuntime.getProp(sobj, "length", sobj);
return property instanceof Number;
}
/* Utility functions to encapsulate index > Integer.MAX_VALUE
* handling. Also avoids unnecessary object creation that would
* be necessary to use the general ScriptRuntime.get/setElem
* functions... though this is probably premature optimization.
*/
private static boolean hasElem(Scriptable target, long index) {
return index > Integer.MAX_VALUE
? target.has(Long.toString(index), target)
: target.has((int)index, target);
}
private static Object getElem(Scriptable target, long index) {
if (index > Integer.MAX_VALUE) {
String id = Long.toString(index);
return ScriptRuntime.getElem(target, id, target);
} else {
return ScriptRuntime.getElem(target, (int)index);
}
}
private static void setElem(Scriptable target, long index, Object value) {
if (index > Integer.MAX_VALUE) {
String id = Long.toString(index);
ScriptRuntime.setElem(target, id, value, target);
} else {
ScriptRuntime.setElem(target, (int)index, value);
}
}
public static String jsFunction_toString(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
return toStringHelper(cx, thisObj,
cx.getLanguageVersion() == cx.VERSION_1_2);
}
private static String toStringHelper(Context cx, Scriptable thisObj,
boolean toSource)
{
/* It's probably redundant to handle long lengths in this
* function; StringBuffers are limited to 2^31 in java.
*/
long length = (long)getLengthProperty(thisObj);
StringBuffer result = new StringBuffer();
if (cx.iterating == null)
cx.iterating = new Hashtable(31);
boolean iterating = cx.iterating.get(thisObj) == Boolean.TRUE;
// whether to return '4,unquoted,5' or '[4, "quoted", 5]'
String separator;
if (toSource) {
result.append("[");
separator = ", ";
} else {
separator = ",";
}
boolean haslast = false;
long i = 0;
if (!iterating) {
for (i = 0; i < length; i++) {
if (i > 0)
result.append(separator);
Object elem = getElem(thisObj, i);
if (elem == null || elem == Undefined.instance) {
haslast = false;
continue;
}
haslast = true;
if (elem instanceof String) {
if (toSource) {
result.append("\"");
result.append(ScriptRuntime.escapeString
(ScriptRuntime.toString(elem)));
result.append("\"");
} else {
result.append(ScriptRuntime.toString(elem));
}
} else {
/* wrap changes to cx.iterating in a try/finally
* so that the reference always gets removed, and
* we don't leak memory. Good place for weak
* references, if we had them. */
try {
// stop recursion.
cx.iterating.put(thisObj, Boolean.TRUE);
result.append(ScriptRuntime.toString(elem));
} finally {
cx.iterating.remove(thisObj);
}
}
}
}
if (toSource) {
//for [,,].length behavior; we want toString to be symmetric.
if (!haslast && i > 0)
result.append(", ]");
else
result.append("]");
}
return result.toString();
}
/**
* See ECMA 15.4.4.3
*/
public static String jsFunction_join(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
StringBuffer result = new StringBuffer();
String separator;
double length = getLengthProperty(thisObj);
// if no args, use "," as separator
if (args.length < 1) {
separator = ",";
} else {
separator = ScriptRuntime.toString(args[0]);
}
for (long i=0; i < length; i++) {
if (i > 0)
result.append(separator);
Object temp = getElem(thisObj, i);
if (temp == null || temp == Undefined.instance)
continue;
result.append(ScriptRuntime.toString(temp));
}
return result.toString();
}
/**
* See ECMA 15.4.4.4
*/
public static Scriptable jsFunction_reverse(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
long len = (long)getLengthProperty(thisObj);
long half = len / 2;
for(long i=0; i < half; i++) {
long j = len - i - 1;
Object temp1 = getElem(thisObj, i);
Object temp2 = getElem(thisObj, j);
setElem(thisObj, i, temp2);
setElem(thisObj, j, temp1);
}
return thisObj;
}
/**
* See ECMA 15.4.4.5
*/
public static Scriptable jsFunction_sort(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws JavaScriptException
{
long length = (long)getLengthProperty(thisObj);
Object compare;
if (args.length > 0 && Undefined.instance != args[0])
// sort with given compare function
compare = args[0];
else
// sort with default compare
compare = null;
// OPT: Would it make sense to use the extended sort for very small
// arrays?
// Should we use the extended sort function, or the faster one?
if (length >= Integer.MAX_VALUE) {
qsort_extended(cx, compare, thisObj, 0, length - 1);
} else {
// copy the JS array into a working array, so it can be
// sorted cheaply.
Object[] working = new Object[(int)length];
for (int i=0; i<length; i++) {
working[i] = getElem(thisObj, i);
}
qsort(cx, compare, working, 0, (int)length - 1, funObj);
// copy the working array back into thisObj
for (int i=0; i<length; i++) {
setElem(thisObj, i, working[i]);
}
}
return thisObj;
}
private static double qsortCompare(Context cx, Object jsCompare, Object x,
Object y, Scriptable scope)
throws JavaScriptException
{
Object undef = Undefined.instance;
// sort undefined to end
if (undef == x || undef == y) {
if (undef != x)
return -1;
if (undef != y)
return 1;
return 0;
}
if (jsCompare == null) {
// if no compare function supplied, sort lexicographically
String a = ScriptRuntime.toString(x);
String b = ScriptRuntime.toString(y);
return a.compareTo(b);
} else {
// assemble args and call supplied JS compare function
// OPT: put this argument creation in the caller and reuse it.
// XXX what to do when compare function returns NaN? ECMA states
// that it's then not a 'consistent compararison function'... but
// then what do we do? Back out and start over with the generic
// compare function when we see a NaN? Throw an error?
Object[] args = {x, y};
// return ScriptRuntime.toNumber(ScriptRuntime.call(jsCompare, null,
// args));
// for now, just ignore it:
double d = ScriptRuntime.
toNumber(ScriptRuntime.call(cx, jsCompare, null, args, scope));
return (d == d) ? d : 0;
}
}
private static void qsort(Context cx, Object jsCompare, Object[] working,
int lo, int hi, Scriptable scope)
throws JavaScriptException
{
Object pivot;
int i, j;
int a, b;
while (lo < hi) {
i = lo;
j = hi;
a = i;
pivot = working[a];
while (i < j) {
for(;;) {
b = j;
if (qsortCompare(cx, jsCompare, working[j], pivot,
scope) <= 0)
break;
j--;
}
working[a] = working[b];
while (i < j && qsortCompare(cx, jsCompare, working[a],
pivot, scope) <= 0)
{
i++;
a = i;
}
working[b] = working[a];
}
working[a] = pivot;
if (i - lo < hi - i) {
qsort(cx, jsCompare, working, lo, i - 1, scope);
lo = i + 1;
} else {
qsort(cx, jsCompare, working, i + 1, hi, scope);
hi = i - 1;
}
}
}
// A version that knows about long indices and doesn't use
// a working array. Probably will never be used.
private static void qsort_extended(Context cx, Object jsCompare,
Scriptable target, long lo, long hi)
throws JavaScriptException
{
Object pivot;
long i, j;
long a, b;
while (lo < hi) {
i = lo;
j = hi;
a = i;
pivot = getElem(target, a);
while (i < j) {
for(;;) {
b = j;
if (qsortCompare(cx, jsCompare, getElem(target, j),
pivot, target) <= 0)
break;
j--;
}
setElem(target, a, getElem(target, b));
while (i < j && qsortCompare(cx, jsCompare,
getElem(target, a),
pivot, target) <= 0)
{
i++;
a = i;
}
setElem(target, b, getElem(target, a));
}
setElem(target, a, pivot);
if (i - lo < hi - i) {
qsort_extended(cx, jsCompare, target, lo, i - 1);
lo = i + 1;
} else {
qsort_extended(cx, jsCompare, target, i + 1, hi);
hi = i - 1;
}
}
}
/**
* Non-ECMA methods.
*/
public static Object jsFunction_push(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
double length = getLengthProperty(thisObj);
for (int i = 0; i < args.length; i++) {
setElem(thisObj, (long)length + i, args[i]);
}
length += args.length;
ScriptRuntime.setProp(thisObj, "length", new Double(length), thisObj);
/*
* If JS1.2, follow Perl4 by returning the last thing pushed.
* Otherwise, return the new array length.
*/
if (cx.getLanguageVersion() == Context.VERSION_1_2)
// if JS1.2 && no arguments, return undefined.
return args.length == 0
? Context.getUndefinedValue()
: args[args.length - 1];
else
return new Long((long)length);
}
public static Object jsFunction_pop(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
Object result;
double length = getLengthProperty(thisObj);
if (length > 0) {
length--;
// Get the to-be-deleted property's value.
result = getElem(thisObj, (long)length);
// We don't need to delete the last property, because
// setLength does that for us.
} else {
result = Context.getUndefinedValue();
}
// necessary to match js even when length < 0; js pop will give a
// length property to any target it is called on.
ScriptRuntime.setProp(thisObj, "length", new Double(length), thisObj);
return result;
}
public static Object jsFunction_shift(Context cx, Scriptable thisObj,
Object[] args, Function funOjb)
{
Object result;
double length = getLengthProperty(thisObj);
if (length > 0) {
long i = 0;
length--;
// Get the to-be-deleted property's value.
result = getElem(thisObj, i);
/*
* Slide down the array above the first element. Leave i
* set to point to the last element.
*/
if (length > 0) {
for (i = 1; i <= length; i++) {
Object temp = getElem(thisObj, i);
setElem(thisObj, i - 1, temp);
}
}
// We don't need to delete the last property, because
// setLength does that for us.
} else {
result = Context.getUndefinedValue();
}
ScriptRuntime.setProp(thisObj, "length", new Double(length), thisObj);
return result;
}
public static Object jsFunction_unshift(Context cx, Scriptable thisObj,
Object[] args, Function funOjb)
{
Object result;
double length = (double)getLengthProperty(thisObj);
int argc = args.length;
if (args.length > 0) {
/* Slide up the array to make room for args at the bottom */
if (length > 0) {
for (long last = (long)length - 1; last >= 0; last--) {
Object temp = getElem(thisObj, last);
setElem(thisObj, last + argc, temp);
}
}
/* Copy from argv to the bottom of the array. */
for (int i = 0; i < args.length; i++) {
setElem(thisObj, i, args[i]);
}
/* Follow Perl by returning the new array length. */
length += args.length;
ScriptRuntime.setProp(thisObj, "length",
new Double(length), thisObj);
}
return new Long((long)length);
}
public static Object jsFunction_splice(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
/* create an empty Array to return. */
Scriptable scope = getTopLevelScope(funObj);
Object result = ScriptRuntime.newObject(cx, scope, "Array", null);
int argc = args.length;
if (argc == 0)
return result;
double length = getLengthProperty(thisObj);
/* Convert the first argument into a starting index. */
double begin = ScriptRuntime.toInteger(args[0]);
double end;
double delta;
double count;
if (begin < 0) {
begin += length;
if (begin < 0)
begin = 0;
} else if (begin > length) {
begin = length;
}
argc--;
/* Convert the second argument from a count into a fencepost index. */
delta = length - begin;
if (args.length == 1) {
count = delta;
end = length;
} else {
count = ScriptRuntime.toInteger(args[1]);
if (count < 0)
count = 0;
else if (count > delta)
count = delta;
end = begin + count;
argc--;
}
long lbegin = (long)begin;
long lend = (long)end;
/* If there are elements to remove, put them into the return value. */
if (count > 0) {
if (count == 1
&& (cx.getLanguageVersion() == Context.VERSION_1_2))
{
/*
* JS lacks "list context", whereby in Perl one turns the
* single scalar that's spliced out into an array just by
* assigning it to @single instead of $single, or by using it
* as Perl push's first argument, for instance.
*
* JS1.2 emulated Perl too closely and returned a non-Array for
* the single-splice-out case, requiring callers to test and
* wrap in [] if necessary. So JS1.3, default, and other
* versions all return an array of length 1 for uniformity.
*/
result = getElem(thisObj, lbegin);
} else {
for (long last = lbegin; last < lend; last++) {
Scriptable resultArray = (Scriptable)result;
Object temp = getElem(thisObj, last);
setElem(resultArray, last - lbegin, temp);
}
}
} else if (count == 0
&& cx.getLanguageVersion() == Context.VERSION_1_2)
{
/* Emulate C JS1.2; if no elements are removed, return undefined. */
result = Context.getUndefinedValue();
}
/* Find the direction (up or down) to copy and make way for argv. */
delta = argc - count;
if (delta > 0) {
for (long last = (long)length - 1; last >= lend; last--) {
Object temp = getElem(thisObj, last);
setElem(thisObj, last + (long)delta, temp);
}
} else if (delta < 0) {
for (long last = lend; last < length; last++) {
Object temp = getElem(thisObj, last);
setElem(thisObj, last + (long)delta, temp);
}
}
/* Copy from argv into the hole to complete the splice. */
int argoffset = args.length - argc;
for (int i = 0; i < argc; i++) {
setElem(thisObj, lbegin + i, args[i + argoffset]);
}
/* Update length in case we deleted elements from the end. */
ScriptRuntime.setProp(thisObj, "length",
new Double(length + delta), thisObj);
return result;
}
/*
* Python-esque sequence operations.
*/
public static Scriptable jsFunction_concat(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
/* Concat tries to keep the definition of an array as general
* as possible; if it finds that an object has a numeric
* 'length' property, then it treats that object as an array.
* This treats string atoms and string objects differently; as
* string objects have a length property and are accessible by
* index, they get exploded into arrays when added, while
* atomic strings are just added as strings.
*/
// create an empty Array to return.
Scriptable scope = getTopLevelScope(funObj);
Scriptable result = ScriptRuntime.newObject(cx, scope, "Array", null);
double length;
long slot = 0;
/* Put the target in the result array; only add it as an array
* if it looks like one.
*/
if (hasLengthProperty(thisObj)) {
length = getLengthProperty(thisObj);
// Copy from the target object into the result
for (slot = 0; slot < length; slot++) {
Object temp = getElem(thisObj, slot);
setElem(result, slot, temp);
}
} else {
setElem(result, slot++, thisObj);
}
/* Copy from the arguments into the result. If any argument
* has a numeric length property, treat it as an array and add
* elements separately; otherwise, just copy the argument.
*/
for (int i = 0; i < args.length; i++) {
if (hasLengthProperty(args[i])) {
// hasLengthProperty => instanceOf Scriptable.
Scriptable arg = (Scriptable)args[i];
length = getLengthProperty(arg);
for (long j = 0; j < length; j++, slot++) {
Object temp = getElem(arg, j);
setElem(result, slot, temp);
}
} else {
setElem(result, slot++, args[i]);
}
}
return result;
}
public static Scriptable jsFunction_slice(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
Scriptable scope = getTopLevelScope(funObj);
Scriptable result = ScriptRuntime.newObject(cx, scope, "Array", null);
double length = getLengthProperty(thisObj);
double begin = 0;
double end = length;
if (args.length > 0) {
begin = ScriptRuntime.toInteger(args[0]);
if (begin < 0) {
begin += length;
if (begin < 0)
begin = 0;
} else if (begin > length) {
begin = length;
}
if (args.length > 1) {
end = ScriptRuntime.toInteger(args[1]);
if (end < 0) {
end += length;
if (end < 0)
end = 0;
} else if (end > length) {
end = length;
}
}
}
long lbegin = (long)begin;
long lend = (long)end;
for (long slot = lbegin; slot < lend; slot++) {
Object temp = getElem(thisObj, slot);
setElem(result, slot - lbegin, temp);
}
return result;
}
private long length;
private Object[] dense;
private static final int maximumDenseLength = 10000;
}

View File

@@ -0,0 +1,92 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This class implements the Boolean native object.
* See ECMA 15.6.
* @author Norris Boyd
*/
public class NativeBoolean extends ScriptableObject {
/**
* Zero-parameter constructor: just used to create Boolean.prototype
*/
public NativeBoolean() {
}
public NativeBoolean(boolean b) {
booleanValue = b;
}
public String getClassName() {
return "Boolean";
}
public Object getDefaultValue(Class typeHint) {
// This is actually non-ECMA, but will be proposed
// as a change in round 2.
if (typeHint == ScriptRuntime.BooleanClass)
return booleanValue ? Boolean.TRUE : Boolean.FALSE;
return super.getDefaultValue(typeHint);
}
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
boolean b = args.length >= 1
? ScriptRuntime.toBoolean(args[0])
: false;
if (inNewExpr) {
// new Boolean(val) creates a new boolean object.
return new NativeBoolean(b);
}
// Boolean(val) converts val to a boolean.
return b ? Boolean.TRUE : Boolean.FALSE;
}
public String jsFunction_toString() {
return booleanValue ? "true" : "false";
}
public boolean jsFunction_valueOf() {
return booleanValue;
}
private boolean booleanValue;
}

View File

@@ -0,0 +1,135 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This class implements the activation object.
*
* See ECMA 10.1.6
*
* @see org.mozilla.javascript.Arguments
* @author Norris Boyd
*/
public final class NativeCall extends ScriptableObject {
NativeCall(Context cx, Scriptable scope, NativeFunction funObj,
Scriptable thisObj, Object[] args)
{
this(cx, scope, funObj, thisObj);
this.originalArgs = args;
// initialize values of arguments
String[] names = funObj.names;
if (names != null) {
for (int i=0; i < funObj.argCount; i++) {
Object val = i < args.length ? args[i]
: Undefined.instance;
super.put(names[i+1], this, val);
}
}
// initialize "arguments" property
super.put("arguments", this, new Arguments(this));
}
NativeCall(Context cx, Scriptable scope, NativeFunction funObj,
Scriptable thisObj)
{
this.funObj = funObj;
this.thisObj = thisObj;
setParentScope(scope);
// leave prototype null
// save current activation
this.caller = cx.currentActivation;
cx.currentActivation = this;
}
// Needed in order to use this class with ScriptableObject.defineClass
public NativeCall() {
}
public String getClassName() {
return "Call";
}
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
if (!inNewExpr) {
Object[] errArgs = { "Call" };
throw Context.reportRuntimeError(Context.getMessage
("msg.only.from.new", errArgs));
}
ScriptRuntime.checkDeprecated(cx, "Call");
NativeCall result = new NativeCall();
result.setPrototype(getObjectPrototype(ctorObj));
return result;
}
NativeCall getActivation(NativeFunction f) {
NativeCall x = this;
do {
if (x.funObj == f)
return x;
x = x.caller;
} while (x != null);
return null;
}
public NativeFunction getFunctionObject() {
return funObj;
}
public Object[] getOriginalArguments() {
return originalArgs;
}
public NativeCall getCaller() {
return caller;
}
public Scriptable getThisObj() {
return thisObj;
}
NativeCall caller;
NativeFunction funObj;
Scriptable thisObj;
Object[] originalArgs;
public int debugPC;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,82 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
*
* The class of error objects
*
* ECMA 15.11
*/
public class NativeError extends ScriptableObject {
public NativeError() {
}
public String getClassName() {
return "Error";
}
public String toString() {
return getName() + ": " + getMessage();
}
public String jsFunction_toString() {
return toString();
}
public String getName() {
return ScriptRuntime.toString(
ScriptRuntime.getProp(this, "name", this));
}
public String getMessage() {
return ScriptRuntime.toString(
ScriptRuntime.getProp(this, "message", this));
}
public static void finishInit(Scriptable scope, FunctionObject ctor,
Scriptable proto)
throws PropertyException
{
((ScriptableObject) proto).defineProperty("message", "",
ScriptableObject.EMPTY);
((ScriptableObject) proto).defineProperty("name", "Error",
ScriptableObject.EMPTY);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,758 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.io.StringReader;
import java.io.IOException;
import java.lang.reflect.Method;
/**
* This class implements the global native object (function and value
* properties only).
*
* See ECMA 15.1.[12].
*
* @author Mike Shaver
*/
public class NativeGlobal {
public static void init(Scriptable scope)
throws PropertyException,
NotAFunctionException,
JavaScriptException
{
String names[] = { "eval",
"parseInt",
"parseFloat",
"escape",
"unescape",
"isNaN",
"isFinite",
"decodeURI",
"decodeURIComponent",
"encodeURI",
"encodeURIComponent"
};
// We can downcast here because Context.initStandardObjects
// takes a ScriptableObject scope.
ScriptableObject global = (ScriptableObject) scope;
global.defineFunctionProperties(names, NativeGlobal.class,
ScriptableObject.DONTENUM);
global.defineProperty("NaN", ScriptRuntime.NaNobj,
ScriptableObject.DONTENUM);
global.defineProperty("Infinity", new Double(Double.POSITIVE_INFINITY),
ScriptableObject.DONTENUM);
global.defineProperty("undefined", Undefined.instance,
ScriptableObject.DONTENUM);
String[] errorMethods = { "ConversionError",
"EvalError",
"RangeError",
"ReferenceError",
"SyntaxError",
"TypeError",
"URIError"
};
Method[] m = FunctionObject.findMethods(NativeGlobal.class,
"CommonError");
Context cx = Context.getContext();
/*
Each error constructor gets its own Error object as a prototype,
with the 'name' property set to the name of the error.
*/
for (int i = 0; i < errorMethods.length; i++) {
String name = errorMethods[i];
FunctionObject ctor = new FunctionObject(name, m[0], global);
global.defineProperty(name, ctor, ScriptableObject.DONTENUM);
Scriptable errorProto = cx.newObject(scope, "Error");
errorProto.put("name", errorProto, name);
ctor.put("prototype", ctor, errorProto);
}
}
/**
* The global method parseInt, as per ECMA-262 15.1.2.2.
*/
public static Object parseInt(String s, int radix) {
int len = s.length();
if (len == 0)
return ScriptRuntime.NaNobj;
boolean negative = false;
int start = 0;
char c;
do {
c = s.charAt(start);
if (!Character.isWhitespace(c))
break;
start++;
} while (start < len);
if (c == '+' || (negative = (c == '-')))
start++;
final int NO_RADIX = -1;
if (radix == 0) {
radix = NO_RADIX;
} else if (radix < 2 || radix > 36) {
return ScriptRuntime.NaNobj;
} else if (radix == 16 && len - start > 1 &&
s.charAt(start) == '0')
{
c = s.charAt(start+1);
if (c == 'x' || c == 'X')
start += 2;
}
if (radix == NO_RADIX) {
radix = 10;
if (len - start > 1 && s.charAt(start) == '0') {
c = s.charAt(start+1);
if (c == 'x' || c == 'X') {
radix = 16;
start += 2;
} else if (c != '.') {
radix = 8;
start++;
}
}
}
double d = ScriptRuntime.stringToNumber(s, start, radix);
return new Double(negative ? -d : d);
}
/**
* The global method parseFloat, as per ECMA-262 15.1.2.3.
*
* @param cx unused
* @param thisObj unused
* @param args the arguments to parseFloat, ignoring args[>=1]
* @param funObj unused
*/
public static Object parseFloat(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
return ScriptRuntime.NaNobj;
String s = ScriptRuntime.toString(args[0]);
int len = s.length();
if (len == 0)
return ScriptRuntime.NaNobj;
int i;
char c;
// Scan forward to the first digit or .
for (i=0; TokenStream.isJSSpace(c = s.charAt(i)) && i+1 < len; i++)
/* empty */
;
int start = i;
if (c == '+' || c == '-')
c = s.charAt(++i);
if (c == 'I') {
// check for "Infinity"
double d;
if (i+8 <= len && s.substring(i, i+8).equals("Infinity"))
d = s.charAt(start) == '-' ? Double.NEGATIVE_INFINITY
: Double.POSITIVE_INFINITY;
else
return ScriptRuntime.NaNobj;
return new Double(d);
}
// Find the end of the legal bit
int decimal = -1;
int exponent = -1;
for (; i < len; i++) {
switch (s.charAt(i)) {
case '.':
if (decimal != -1) // Only allow a single decimal point.
break;
decimal = i;
continue;
case 'e':
case 'E':
if (exponent != -1)
break;
exponent = i;
continue;
case '+':
case '-':
// Only allow '+' or '-' after 'e' or 'E'
if (exponent != i-1)
break;
continue;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
continue;
default:
break;
}
break;
}
s = s.substring(start, i);
try {
return Double.valueOf(s);
}
catch (NumberFormatException ex) {
return ScriptRuntime.NaNobj;
}
}
/**
* The global method escape, as per ECMA-262 15.1.2.4.
* Includes code for the 'mask' argument supported by the C escape
* method, which used to be part of the browser imbedding. Blame
* for the strange constant names should be directed there.
*/
private static int
URL_XALPHAS = 1,
URL_XPALPHAS = 2,
URL_PATH = 4;
public static Object escape(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
char digits[] = {'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
if (args.length < 1)
args = ScriptRuntime.padArguments(args, 1);
String s = ScriptRuntime.toString(args[0]);
int mask = URL_XALPHAS | URL_XPALPHAS | URL_PATH;
if (args.length > 1) { // the 'mask' argument. Non-ECMA.
double d = ScriptRuntime.toNumber(args[1]);
if (d != d || ((mask = (int) d) != d) ||
0 != (mask & ~(URL_XALPHAS | URL_XPALPHAS | URL_PATH)))
{
String message = Context.getMessage
("msg.bad.esc.mask", null);
cx.reportError(message);
// do the ecma thing, in case reportError returns.
mask = URL_XALPHAS | URL_XPALPHAS | URL_PATH;
}
}
StringBuffer R = new StringBuffer();
for (int k = 0; k < s.length(); k++) {
char c = s.charAt(k);
if (mask != 0 &&
((c >= '0' && c <= '9') ||
(c >= 'A' && c <= 'Z') ||
(c >= 'a' && c <= 'z') ||
c == '@' || c == '*' || c == '_' ||
c == '-' || c == '.' ||
((c == '/' || c == '+') && mask > 3)))
R.append(c);
else if (c < 256) {
if (c == ' ' && mask == URL_XPALPHAS) {
R.append('+');
} else {
R.append('%');
R.append(digits[c >> 4]);
R.append(digits[c & 0xF]);
}
} else {
R.append('%');
R.append('u');
R.append(digits[c >> 12]);
R.append(digits[(c & 0xF00) >> 8]);
R.append(digits[(c & 0xF0) >> 4]);
R.append(digits[c & 0xF]);
}
}
return R.toString();
}
/**
* The global unescape method, as per ECMA-262 15.1.2.5.
*/
public static Object unescape(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
args = ScriptRuntime.padArguments(args, 1);
String s = ScriptRuntime.toString(args[0]);
StringBuffer R = new StringBuffer();
stringIter: for (int k = 0; k < s.length(); k++) {
char c = s.charAt(k);
if (c != '%' || k == s.length() -1) {
R.append(c);
continue;
}
String hex;
int end, start;
if (s.charAt(k+1) == 'u') {
start = k+2;
end = k+6;
} else {
start = k+1;
end = k+3;
}
if (end > s.length()) {
R.append('%');
continue;
}
hex = s.substring(start, end);
for (int i = 0; i < hex.length(); i++)
if (!TokenStream.isXDigit(hex.charAt(i))) {
R.append('%');
continue stringIter;
}
k = end - 1;
R.append((new Character((char) Integer.valueOf(hex, 16).intValue())));
}
return R.toString();
}
/**
* The global method isNaN, as per ECMA-262 15.1.2.6.
*/
public static Object isNaN(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
return Boolean.TRUE;
double d = ScriptRuntime.toNumber(args[0]);
return (d != d) ? Boolean.TRUE : Boolean.FALSE;
}
public static Object isFinite(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
return Boolean.FALSE;
double d = ScriptRuntime.toNumber(args[0]);
return (d != d || d == Double.POSITIVE_INFINITY ||
d == Double.NEGATIVE_INFINITY)
? Boolean.FALSE
: Boolean.TRUE;
}
public static Object eval(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws JavaScriptException
{
Object[] a = { "eval" };
String m = ScriptRuntime.getMessage("msg.cant.call.indirect", a);
throw NativeGlobal.constructError(cx, "EvalError", m, funObj);
}
/**
* The eval function property of the global object.
*
* See ECMA 15.1.2.1
*/
public static Object evalSpecial(Context cx, Scriptable scope,
Object thisArg, Object[] args,
String filename, int lineNumber)
throws JavaScriptException
{
if (args.length < 1)
return Undefined.instance;
Object x = args[0];
if (!(x instanceof String)) {
String message = Context.getMessage("msg.eval.nonstring", null);
Context.reportWarning(message);
return x;
}
int[] linep = { lineNumber };
if (filename == null) {
filename = Context.getSourcePositionFromStack(linep);
if (filename == null) {
filename = "<eval'ed string>";
linep[0] = 1;
}
}
try {
StringReader in = new StringReader((String) x);
Object securityDomain = cx.getSecurityDomainForStackDepth(3);
// Compile the reader with opt level of -1 to force interpreter
// mode.
int oldOptLevel = cx.getOptimizationLevel();
cx.setOptimizationLevel(-1);
Script script = cx.compileReader(scope, in, filename, linep[0],
securityDomain);
cx.setOptimizationLevel(oldOptLevel);
// if the compile fails, an error has been reported by the
// compiler, but we need to stop execution to avoid
// infinite looping on while(true) { eval('foo bar') } -
// so we throw an EvaluatorException.
if (script == null) {
String message = Context.getMessage("msg.syntax", null);
throw new EvaluatorException(message);
}
InterpretedScript is = (InterpretedScript) script;
is.itsData.itsFromEvalCode = true;
Object result = is.call(cx, scope, (Scriptable) thisArg, null);
return result;
}
catch (IOException ioe) {
// should never happen since we just made the Reader from a String
throw new RuntimeException("unexpected io exception");
}
}
/**
* The NativeError functions
*
* See ECMA 15.11.6
*/
public static EcmaError constructError(Context cx,
String error,
String message,
Object scope)
{
int[] linep = { 0 };
String filename = cx.getSourcePositionFromStack(linep);
return constructError(cx, error, message, scope,
filename, linep[0], 0, null);
}
/**
* The NativeError functions
*
* See ECMA 15.11.6
*/
public static EcmaError constructError(Context cx,
String error,
String message,
Object scope,
String sourceName,
int lineNumber,
int columnNumber,
String lineSource)
{
Scriptable scopeObject;
try {
scopeObject = (Scriptable) scope;
}
catch (ClassCastException x) {
throw new RuntimeException(x.toString());
}
Object args[] = { message };
try {
Object errorObject = cx.newObject(scopeObject, error, args);
return new EcmaError((NativeError)errorObject, sourceName,
lineNumber, columnNumber, lineSource);
}
catch (PropertyException x) {
throw new RuntimeException(x.toString());
}
catch (JavaScriptException x) {
throw new RuntimeException(x.toString());
}
catch (NotAFunctionException x) {
throw new RuntimeException(x.toString());
}
}
/**
* The implementation of all the ECMA error constructors (SyntaxError,
* TypeError, etc.)
*/
public static Object CommonError(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
Scriptable newInstance = new NativeError();
newInstance.setPrototype((Scriptable)(ctorObj.get("prototype", ctorObj)));
newInstance.setParentScope(cx.ctorScope);
if (args.length > 0)
newInstance.put("message", newInstance, args[0]);
return newInstance;
}
/*
* ECMA 3, 15.1.3 URI Handling Function Properties
*
* The following are implementations of the algorithms
* given in the ECMA specification for the hidden functions
* 'Encode' and 'Decode'.
*/
private static String encode(Context cx, String str, String unescapedSet)
{
int j, k = 0, L;
char C, C2;
int V;
char utf8buf[] = new char[6];
StringBuffer R;
R = new StringBuffer();
while (k < str.length()) {
C = str.charAt(k);
if (unescapedSet.indexOf(C) != -1) {
R.append(C);
} else {
if ((C >= 0xDC00) && (C <= 0xDFFF)) {
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
}
if ((C < 0xD800) || (C > 0xDBFF))
V = C;
else {
k++;
if (k == str.length()) {
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
}
C2 = str.charAt(k);
if ((C2 < 0xDC00) || (C2 > 0xDFFF)) {
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
}
V = ((C - 0xD800) << 10) + (C2 - 0xDC00) + 0x10000;
}
L = oneUcs4ToUtf8Char(utf8buf, V);
for (j = 0; j < L; j++) {
R.append('%');
if (utf8buf[j] < 16)
R.append('0');
R.append(Integer.toHexString(utf8buf[j]));
}
}
k++;
}
return R.toString();
}
private static boolean isHex(char c) {
return ((c >= '0' && c <= '9')
|| (c >= 'a' && c <= 'f')
|| (c >= 'A' && c <= 'F'));
}
private static int unHex(char c) {
if (c >= '0' && c <= '9')
return c - '0';
else
if (c >= 'a' && c <= 'f')
return c - 'a' + 10;
else
return c - 'A' +10;
}
private static String decode(Context cx, String str, String reservedSet)
{
int start, k = 0;
char C, H;
int V;
int B;
char[] octets = new char[6];
StringBuffer R;
int j, n;
R = new StringBuffer();
while (k < str.length()) {
C = str.charAt(k);
if (C == '%') {
start = k;
if ((k + 2) >= str.length())
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
if (!isHex(str.charAt(k + 1)) || !isHex(str.charAt(k + 2)))
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
B = unHex(str.charAt(k + 1)) * 16 + unHex(str.charAt(k + 2));
k += 2;
if ((B & 0x80) == 0)
C = (char)B;
else {
n = 1;
while ((B & (0x80 >>> n)) != 0) n++;
if ((n == 1) || (n > 6))
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
octets[0] = (char)B;
if ((k + 3 * (n - 1)) >= str.length())
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
for (j = 1; j < n; j++) {
k++;
if (str.charAt(k) != '%')
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
if (!isHex(str.charAt(k + 1))
|| !isHex(str.charAt(k + 2)))
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
B = unHex(str.charAt(k + 1)) * 16
+ unHex(str.charAt(k + 2));
if ((B & 0xC0) != 0x80)
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
k += 2;
octets[j] = (char)B;
}
V = utf8ToOneUcs4Char(octets, n);
if (V >= 0x10000) {
V -= 0x10000;
if (V > 0xFFFFF)
throw cx.reportRuntimeError(
cx.getMessage("msg.bad.uri", null));
C = (char)((V & 0x3FF) + 0xDC00);
H = (char)((V >>> 10) + 0xD800);
R.append(H);
}
else
C = (char)V;
}
if (reservedSet.indexOf(C) != -1) {
for (int x = 0; x < (k - start + 1); x++)
R.append(str.charAt(start + x));
}
else
R.append(C);
}
else
R.append(C);
k++;
}
return R.toString();
}
private static String uriReservedPlusPound = ";/?:@&=+$,#";
private static String uriUnescaped =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
public static String decodeURI(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String str = ScriptRuntime.toString(args[0]);
return decode(cx, str, uriReservedPlusPound);
}
public static String decodeURIComponent(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String str = ScriptRuntime.toString(args[0]);
return decode(cx, str, "");
}
public static Object encodeURI(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String str = ScriptRuntime.toString(args[0]);
return encode(cx, str, uriReservedPlusPound + uriUnescaped);
}
public static String encodeURIComponent(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String str = ScriptRuntime.toString(args[0]);
return encode(cx, str, uriUnescaped);
}
/* Convert one UCS-4 char and write it into a UTF-8 buffer, which must be
* at least 6 bytes long. Return the number of UTF-8 bytes of data written.
*/
private static int oneUcs4ToUtf8Char(char[] utf8Buffer, int ucs4Char)
{
int utf8Length = 1;
// JS_ASSERT(ucs4Char <= 0x7FFFFFFF);
if ((ucs4Char < 0x80) && (ucs4Char >= 0))
utf8Buffer[0] = (char)ucs4Char;
else {
int i;
int a = ucs4Char >>> 11;
utf8Length = 2;
while (a != 0) {
a >>>= 5;
utf8Length++;
}
i = utf8Length;
while (--i > 0) {
utf8Buffer[i] = (char)((ucs4Char & 0x3F) | 0x80);
ucs4Char >>>= 6;
}
utf8Buffer[0] = (char)(0x100 - (1 << (8-utf8Length)) + ucs4Char);
}
return utf8Length;
}
/* Convert a utf8 character sequence into a UCS-4 character and return that
* character. It is assumed that the caller already checked that the sequence is valid.
*/
private static int utf8ToOneUcs4Char(char[] utf8Buffer, int utf8Length)
{
int ucs4Char;
int k = 0;
// JS_ASSERT(utf8Length >= 1 && utf8Length <= 6);
if (utf8Length == 1) {
ucs4Char = utf8Buffer[0];
// JS_ASSERT(!(ucs4Char & 0x80));
} else {
// JS_ASSERT((*utf8Buffer & (0x100 - (1 << (7-utf8Length)))) == (0x100 - (1 << (8-utf8Length))));
ucs4Char = utf8Buffer[k++] & ((1<<(7-utf8Length))-1);
while (--utf8Length > 0) {
// JS_ASSERT((*utf8Buffer & 0xC0) == 0x80);
ucs4Char = ucs4Char<<6 | (utf8Buffer[k++] & 0x3F);
}
}
return ucs4Char;
}
}

View File

@@ -0,0 +1,158 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.Array;
/**
* This class reflects Java arrays into the JavaScript environment.
*
* @author Mike Shaver
* @see NativeJavaClass
* @see NativeJavaObject
* @see NativeJavaPackage
*/
public class NativeJavaArray extends NativeJavaObject {
public String getClassName() {
return "JavaArray";
}
public static NativeJavaArray wrap(Scriptable scope, Object array) {
return new NativeJavaArray(scope, array);
}
public Object unwrap() {
return array;
}
public NativeJavaArray(Scriptable scope, Object array) {
super(scope, null, ScriptRuntime.ObjectClass);
Class cl = array.getClass();
if (!cl.isArray()) {
throw new RuntimeException("Array expected");
}
this.array = array;
this.length = Array.getLength(array);
this.cls = cl.getComponentType();
}
public boolean has(String id, Scriptable start) {
return id.equals("length") || super.has(id, start);
}
public boolean has(int index, Scriptable start) {
return 0 <= index && index < length;
}
public Object get(String id, Scriptable start) {
if (id.equals("length"))
return new Integer(length);
Object result = super.get(id, start);
if (result == NOT_FOUND &&
!ScriptRuntime.hasProp(getPrototype(), id))
{
Object errArgs[] = { array.getClass().getName(),
id };
throw Context.reportRuntimeError(
Context.getMessage("msg.java.member.not.found",
errArgs));
}
return result;
}
public Object get(int index, Scriptable start) {
if (0 <= index && index < length)
return NativeJavaObject.wrap(this, Array.get(array, index), cls);
return Undefined.instance;
}
public void put(String id, Scriptable start, Object value) {
// Ignore assignments to "length"--it's readonly.
if (!id.equals("length"))
super.put(id, start, value);
}
public void put(int index, Scriptable start, Object value) {
if (0 <= index && index < length) {
Array.set(array, index, NativeJavaObject.coerceType(cls, value));
return;
}
super.put(index, start, value);
}
public Object getDefaultValue(Class hint) {
if (hint == null || hint == ScriptRuntime.StringClass)
return array.toString();
if (hint == ScriptRuntime.BooleanClass)
return Boolean.TRUE;
if (hint == ScriptRuntime.NumberClass)
return ScriptRuntime.NaNobj;
return this;
}
public Object[] getIds() {
Object[] result = new Object[length];
int i = length;
while (--i >= 0)
result[i] = new Integer(i);
return result;
}
public boolean hasInstance(Scriptable value) {
if (!(value instanceof NativeJavaObject))
return false;
Object instance = ((NativeJavaObject)value).unwrap();
return cls.isInstance(instance);
}
public Scriptable getPrototype() {
if (prototype == null) {
prototype =
ScriptableObject.getClassPrototype(this.getParentScope(),
"Array");
}
return prototype;
}
Object array;
int length;
Class cls;
Scriptable prototype;
}

View File

@@ -0,0 +1,283 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
* Kurt Westerfeld
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
import java.util.Hashtable;
/**
* This class reflects Java classes into the JavaScript environment, mainly
* for constructors and static members. We lazily reflect properties,
* and currently do not guarantee that a single j.l.Class is only
* reflected once into the JS environment, although we should.
* The only known case where multiple reflections
* are possible occurs when a j.l.Class is wrapped as part of a
* method return or property access, rather than by walking the
* Packages/java tree.
*
* @author Mike Shaver
* @see NativeJavaArray
* @see NativeJavaObject
* @see NativeJavaPackage
*/
public class NativeJavaClass extends NativeJavaObject implements Function {
public NativeJavaClass(Scriptable scope, Class cl) {
super(scope, cl, JavaMembers.lookupClass(scope, cl, cl));
fieldAndMethods = members.getFieldAndMethodsObjects(this, javaObject,
true);
}
public String getClassName() {
return "JavaClass";
}
public boolean has(String name, Scriptable start) {
return members.has(name, true);
}
public Object get(String name, Scriptable start) {
// When used as a constructor, ScriptRuntime.newObject() asks
// for our prototype to create an object of the correct type.
// We don't really care what the object is, since we're returning
// one constructed out of whole cloth, so we return null.
if (name.equals("prototype"))
return null;
Object result = Scriptable.NOT_FOUND;
if (fieldAndMethods != null) {
result = fieldAndMethods.get(name);
if (result != null)
return result;
}
if (members.has(name, true)) {
result = members.get(this, name, javaObject, true);
} else {
// experimental: look for nested classes by appending $name to current class' name.
try {
String nestedName = getClassObject().getName() + '$' + name;
Class nestedClass = ScriptRuntime.loadClassName(nestedName);
Scriptable nestedValue = wrap(ScriptableObject.getTopLevelScope(this), nestedClass);
nestedValue.setParentScope(this);
result = nestedValue;
} catch (ClassNotFoundException ex) {
throw members.reportMemberNotFound(name);
} catch (IllegalArgumentException e) {
throw members.reportMemberNotFound(name);
}
}
return result;
}
public void put(String name, Scriptable start, Object value) {
members.put(name, javaObject, value, true);
}
public Object[] getIds() {
return members.getIds(true);
}
public Class getClassObject() {
return (Class) super.unwrap();
}
// XXX ??
public static NativeJavaClass wrap(Scriptable scope, Class cls) {
return new NativeJavaClass(scope, cls);
}
public Object getDefaultValue(Class hint) {
if (hint == null || hint == ScriptRuntime.StringClass)
return this.toString();
if (hint == ScriptRuntime.BooleanClass)
return Boolean.TRUE;
if (hint == ScriptRuntime.NumberClass)
return ScriptRuntime.NaNobj;
return this;
}
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
// If it looks like a "cast" of an object to this class type,
// walk the prototype chain to see if there's a wrapper of a
// object that's an instanceof this class.
if (args.length == 1 && args[0] instanceof Scriptable) {
Class c = getClassObject();
Scriptable p = (Scriptable) args[0];
do {
if (p instanceof Wrapper) {
Object o = ((Wrapper) p).unwrap();
if (c.isInstance(o))
return p;
}
p = p.getPrototype();
} while (p != null);
}
return construct(cx, scope, args);
}
public Scriptable construct(Context cx, Scriptable scope, Object[] args)
throws JavaScriptException
{
Class classObject = getClassObject();
int modifiers = classObject.getModifiers();
if (! (Modifier.isInterface(modifiers) ||
Modifier.isAbstract(modifiers)))
{
Constructor[] ctors = members.getConstructors();
Member member = NativeJavaMethod.findFunction(ctors, args);
Constructor ctor = (Constructor) member;
if (ctor == null) {
String sig = NativeJavaMethod.scriptSignature(args);
Object errArgs[] = { classObject.getName(), sig };
throw Context.reportRuntimeError(Context.getMessage(
"msg.no.java.ctor", errArgs));
}
// Found the constructor, so try invoking it.
return NativeJavaClass.constructSpecific(cx, scope,
this, ctor, args);
} else {
Scriptable topLevel = ScriptableObject.getTopLevelScope(this);
String msg = "";
try {
// trying to construct an interface; use JavaAdapter to
// construct a new class on the fly that implements this
// interface.
Object v = topLevel.get("JavaAdapter", topLevel);
if (v != NOT_FOUND) {
Function f = (Function) v;
Object[] adapterArgs = { this, args[0] };
return (Scriptable) f.construct(cx, topLevel,
adapterArgs);
}
} catch (Exception ex) {
// fall through to error
String m = ex.getMessage();
if (m != null)
msg = m;
}
Object[] errArgs = { msg, classObject.getName() };
throw Context.reportRuntimeError(Context.getMessage
("msg.cant.instantiate",
errArgs));
}
}
public static Scriptable constructSpecific(Context cx,
Scriptable scope,
Scriptable thisObj,
Constructor ctor,
Object[] args)
throws JavaScriptException
{
Scriptable topLevel = ScriptableObject.getTopLevelScope(thisObj);
Class classObject = ctor.getDeclaringClass();
Class[] paramTypes = ctor.getParameterTypes();
for (int i = 0; i < args.length; i++) {
args[i] = NativeJavaObject.coerceType(paramTypes[i], args[i]);
}
try {
// we need to force this to be wrapped, because construct _has_
// to return a scriptable
return
(Scriptable) NativeJavaObject.wrap(topLevel,
ctor.newInstance(args),
classObject);
} catch (InstantiationException instEx) {
Object[] errArgs = { instEx.getMessage(),
classObject.getName() };
throw Context.reportRuntimeError(Context.getMessage
("msg.cant.instantiate",
errArgs));
} catch (IllegalArgumentException argEx) {
String signature = NativeJavaMethod.scriptSignature(args);
String ctorString = ctor.toString();
Object[] errArgs = { argEx.getMessage(),ctorString,signature };
throw Context.reportRuntimeError(Context.getMessage
("msg.bad.ctor.sig",
errArgs));
} catch (InvocationTargetException e) {
throw JavaScriptException.wrapException(scope, e);
} catch (IllegalAccessException accessEx) {
Object[] errArgs = { accessEx.getMessage() };
throw Context.reportRuntimeError(Context.getMessage
("msg.java.internal.private", errArgs));
}
}
public String toString() {
return "[JavaClass " + getClassObject().getName() + "]";
}
/**
* Determines if prototype is a wrapped Java object and performs
* a Java "instanceof".
* Exception: if value is an instance of NativeJavaClass, it isn't
* considered an instance of the Java class; this forestalls any
* name conflicts between java.lang.Class's methods and the
* static methods exposed by a JavaNativeClass.
*/
public boolean hasInstance(Scriptable value) {
if (value instanceof NativeJavaObject &&
!(value instanceof NativeJavaClass)) {
Object instance = ((NativeJavaObject)value).unwrap();
return getClassObject().isInstance(instance);
}
// value wasn't something we understand
return false;
}
private Hashtable fieldAndMethods;
// beard: need a scope for finding top-level prototypes.
private Scriptable parent;
}

View File

@@ -0,0 +1,100 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
/**
* This class reflects a single Java constructor into the JavaScript
* environment. It satisfies a request for an overloaded constructor,
* as introduced in LiveConnect 3.
* All NativeJavaConstructors behave as JSRef `bound' methods, in that they
* always construct the same NativeJavaClass regardless of any reparenting
* that may occur.
*
* @author Frank Mitchell
* @see NativeJavaMethod
* @see NativeJavaPackage
* @see NativeJavaClass
*/
public class NativeJavaConstructor extends NativeFunction implements Function {
public NativeJavaConstructor(Constructor ctor) {
this.constructor = ctor;
names = new String[1];
names[0] = "<init>" + NativeJavaMethod.signature(ctor);
}
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
// Find a method that matches the types given.
if (constructor == null) {
throw new RuntimeException("No constructor defined for call");
}
// Eliminate useless args[0] and unwrap if required
for (int i = 0; i < args.length; i++) {
if (args[i] instanceof Wrapper) {
args[i] = ((Wrapper)args[i]).unwrap();
}
}
return NativeJavaClass.constructSpecific(cx, scope,
this, constructor, args);
}
/*
public Object getDefaultValue(Class hint) {
return this;
}
*/
public String toString() {
return "[JavaConstructor " + constructor.getName() + "]";
}
Constructor getConstructor() {
return constructor;
}
Constructor constructor;
}

View File

@@ -0,0 +1,505 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
/**
* This class reflects Java methods into the JavaScript environment. It
* handles overloading of methods, and method/field name conflicts.
* All NativeJavaMethods behave as JSRef `bound' methods, in that they
* always operate on the object underlying the original NativeJavaObject
* parent regardless of any reparenting that may occur.
*
* @author Mike Shaver
* @see NativeJavaArray
* @see NativeJavaPackage
* @see NativeJavaClass
*/
public class NativeJavaMethod extends NativeFunction implements Function {
public NativeJavaMethod() {
names = new String[1];
}
public NativeJavaMethod(Method[] methods) {
this.methods = methods;
names = new String[1];
names[0] = methods[0].getName();
}
public NativeJavaMethod(Method method, String name) {
this.methods = new Method[1];
this.methods[0] = method;
names = new String[1];
names[0] = name;
}
public void add(Method method) {
if (names[0] == null) {
names[0] = method.getName();
} else if (!names[0].equals(method.getName())) {
throw new RuntimeException("internal method name mismatch");
}
// XXX a more intelligent growth algorithm would be nice
int len = methods == null ? 0 : methods.length;
Method[] newMeths = new Method[len + 1];
for (int i = 0; i < len; i++)
newMeths[i] = methods[i];
newMeths[len] = method;
methods = newMeths;
}
static String scriptSignature(Object value) {
if (value == null) {
return "null";
}
else {
Class type = value.getClass();
if (type == ScriptRuntime.UndefinedClass)
return "undefined";
if (type == ScriptRuntime.BooleanClass)
return "boolean";
if (type == ScriptRuntime.StringClass)
return "string";
if (ScriptRuntime.NumberClass.isAssignableFrom(type))
return "number";
if (value instanceof NativeJavaObject) {
return ((NativeJavaObject)value).unwrap().getClass().getName();
}
if (value instanceof Scriptable) {
if (value instanceof Function)
return "function";
return "object";
}
return javaSignature(type);
}
}
static String scriptSignature(Object[] values) {
StringBuffer sig = new StringBuffer();
for (int i = 0; i < values.length; i++) {
if (i != 0)
sig.append(',');
sig.append(scriptSignature(values[i]));
}
return sig.toString();
}
static String javaSignature(Class type) {
if (type == null) {
return "null";
}
else if (type.isArray()) {
return javaSignature(type.getComponentType()) + "[]";
}
return type.getName();
}
static String javaSignature(Class[] types) {
StringBuffer sig = new StringBuffer();
for (int i = 0; i < types.length; i++) {
if (i != 0)
sig.append(',');
sig.append(javaSignature(types[i]));
}
return sig.toString();
}
static String signature(Member member) {
Class paramTypes[];
if (member instanceof Method) {
paramTypes = ((Method) member).getParameterTypes();
return member.getName() + "(" + javaSignature(paramTypes) + ")";
}
else {
paramTypes = ((Constructor) member).getParameterTypes();
return "(" + javaSignature(paramTypes) + ")";
}
}
public String toString() {
StringBuffer sb = new StringBuffer();
for (int i=0; i < methods.length; i++) {
sb.append(javaSignature(methods[i].getReturnType()));
sb.append(' ');
sb.append(signature(methods[i]));
sb.append('\n');
}
return sb.toString();
}
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
// Find a method that matches the types given.
if (methods.length == 0) {
throw new RuntimeException("No methods defined for call");
}
Method meth = (Method) findFunction(methods, args);
if (meth == null) {
Class c = methods[0].getDeclaringClass();
String sig = c.getName() + "." + names[0] + "(" +
scriptSignature(args) + ")";
Object errArgs[] = { sig };
throw Context.reportRuntimeError(
Context.getMessage("msg.java.no_such_method", errArgs));
}
// OPT: already retrieved in findFunction, so we should inline that
// OPT: or pass it back somehow
Class paramTypes[] = meth.getParameterTypes();
// First, we marshall the args.
for (int i = 0; i < args.length; i++) {
args[i] = NativeJavaObject.coerceType(paramTypes[i], args[i]);
}
Object javaObject;
if (Modifier.isStatic(meth.getModifiers())) {
javaObject = null; // don't need an object
} else {
Scriptable o = thisObj;
while (!(o instanceof NativeJavaObject)) {
o = o.getPrototype();
if (o == null) {
Object errArgs[] = { names[0] };
throw Context.reportRuntimeError(
Context.getMessage("msg.nonjava.method", errArgs));
}
}
javaObject = ((NativeJavaObject) o).unwrap();
}
try {
if (debug) {
printDebug("Calling ", meth, args);
}
Object retval = meth.invoke(javaObject, args);
Class staticType = meth.getReturnType();
if (debug) {
Class actualType = (retval == null) ? null : retval.getClass();
System.err.println(" ----- Returned " + retval +
" actual = " + actualType +
" expect = " + staticType);
}
Object wrapped = NativeJavaObject.wrap(scope, retval, staticType);
if (debug) {
Class actualType = (wrapped == null) ? null : wrapped.getClass();
System.err.println(" ----- Wrapped as " + wrapped +
" class = " + actualType);
}
if (wrapped == Undefined.instance)
return wrapped;
if (wrapped == null && staticType == Void.TYPE)
return Undefined.instance;
return wrapped;
} catch (IllegalAccessException accessEx) {
throw Context.reportRuntimeError(accessEx.getMessage());
} catch (InvocationTargetException e) {
throw JavaScriptException.wrapException(scope, e);
}
}
/**
* Find the correct function to call given the set of methods
* or constructors and the arguments.
* If no function can be found to call, return null.
*/
static Member findFunction(Member[] methodsOrCtors, Object[] args) {
if (methodsOrCtors.length == 0)
return null;
boolean hasMethods = methodsOrCtors[0] instanceof Method;
if (Context.useJSObject &&
NativeJavaObject.jsObjectClass != null)
{
try {
for (int i = 0; i < args.length; i++) {
if (NativeJavaObject.jsObjectClass.isInstance(args[i]))
args[i] = NativeJavaObject.jsObjectGetScriptable.invoke(
args[i], ScriptRuntime.emptyArgs);
}
}
catch (InvocationTargetException e) {
// Just abandon conversion from JSObject
}
catch (IllegalAccessException e) {
// Just abandon conversion from JSObject
}
}
Member bestFit = null;
Class[] bestFitTypes = null;
java.util.Vector ambiguousMethods = null;
for (int i = 0; i < methodsOrCtors.length; i++) {
Member member = methodsOrCtors[i];
Class paramTypes[] = hasMethods
? ((Method) member).getParameterTypes()
: ((Constructor) member).getParameterTypes();
if (paramTypes.length != args.length) {
continue;
}
if (bestFitTypes == null) {
int j;
for (j = 0; j < paramTypes.length; j++) {
if (!NativeJavaObject.canConvert(args[j], paramTypes[j])) {
if (debug) printDebug("Rejecting (args can't convert) ",
member, args);
break;
}
}
if (j == paramTypes.length) {
if (debug) printDebug("Found ", member, args);
bestFit = member;
bestFitTypes = paramTypes;
}
}
else {
int preference =
NativeJavaMethod.preferSignature(args,
paramTypes,
bestFitTypes);
if (preference == PREFERENCE_AMBIGUOUS) {
if (debug) printDebug("Deferring ", member, args);
// add to "ambiguity list"
if (ambiguousMethods == null)
ambiguousMethods = new java.util.Vector();
ambiguousMethods.addElement(member);
}
else if (preference == PREFERENCE_FIRST_ARG) {
if (debug) printDebug("Substituting ", member, args);
bestFit = member;
bestFitTypes = paramTypes;
}
else {
if (preference == PREFERENCE_EQUAL &&
Modifier.isStatic(bestFit.getModifiers()) &&
bestFit.getDeclaringClass().isAssignableFrom(
member.getDeclaringClass()))
{
// On some JVMs, Class.getMethods will return all
// static methods of the class heirarchy, even if
// a derived class's parameters match exactly.
// We want to call the dervied class's method.
if (debug) printDebug("Rejecting (overridden static)",
member, args);
bestFit = member;
bestFitTypes = paramTypes;
} else {
if (debug) printDebug("Rejecting ", member, args);
}
}
}
}
if (ambiguousMethods == null)
return bestFit;
// Compare ambiguous methods with best fit, in case
// the current best fit removes the ambiguities.
for (int i = ambiguousMethods.size() - 1; i >= 0 ; i--) {
Member member = (Member)ambiguousMethods.elementAt(i);
Class paramTypes[] = hasMethods
? ((Method) member).getParameterTypes()
: ((Constructor) member).getParameterTypes();
int preference =
NativeJavaMethod.preferSignature(args,
paramTypes,
bestFitTypes);
if (preference == PREFERENCE_FIRST_ARG) {
if (debug) printDebug("Substituting ", member, args);
bestFit = member;
bestFitTypes = paramTypes;
ambiguousMethods.removeElementAt(i);
}
else if (preference == PREFERENCE_SECOND_ARG) {
if (debug) printDebug("Rejecting ", member, args);
ambiguousMethods.removeElementAt(i);
}
else {
if (debug) printDebug("UNRESOLVED: ", member, args);
}
}
if (ambiguousMethods.size() > 0) {
// PENDING: report remaining ambiguity
StringBuffer buf = new StringBuffer();
boolean isCtor = (bestFit instanceof Constructor);
ambiguousMethods.addElement(bestFit);
for (int i = 0; i < ambiguousMethods.size(); i++) {
if (i != 0) {
buf.append(", ");
}
Member member = (Member)ambiguousMethods.elementAt(i);
if (!isCtor) {
Class rtnType = ((Method)member).getReturnType();
buf.append(rtnType);
buf.append(' ');
}
buf.append(NativeJavaMethod.signature(member));
}
String errMsg;
if (isCtor) {
Object errArgs[] = {
bestFit.getName(),
NativeJavaMethod.scriptSignature(args),
buf.toString()
};
errMsg =
Context.getMessage("msg.constructor.ambiguous", errArgs);
}
else {
Object errArgs[] = {
bestFit.getDeclaringClass().getName(),
bestFit.getName(),
NativeJavaMethod.scriptSignature(args),
buf.toString()
};
errMsg = Context.getMessage("msg.method.ambiguous", errArgs);
}
throw
Context.reportRuntimeError(errMsg);
}
return bestFit;
}
/** Types are equal */
static final int PREFERENCE_EQUAL = 0;
static final int PREFERENCE_FIRST_ARG = 1;
static final int PREFERENCE_SECOND_ARG = 2;
/** No clear "easy" conversion */
static final int PREFERENCE_AMBIGUOUS = 3;
/**
* Determine which of two signatures is the closer fit.
* Returns one of PREFERENCE_EQUAL, PREFERENCE_FIRST_ARG,
* PREFERENCE_SECOND_ARG, or PREFERENCE_AMBIGUOUS.
*/
public static int preferSignature(Object[] args,
Class[] sig1, Class[] sig2)
{
int preference = 0;
for (int j = 0; j < args.length; j++) {
Class type1 = sig1[j];
Class type2 = sig2[j];
if (type1 == type2) {
continue;
}
preference |=
NativeJavaMethod.preferConversion(args[j],
type1,
type2);
if (preference == PREFERENCE_AMBIGUOUS) {
break;
}
}
return preference;
}
/**
* Determine which of two types is the easier conversion.
* Returns one of PREFERENCE_EQUAL, PREFERENCE_FIRST_ARG,
* PREFERENCE_SECOND_ARG, or PREFERENCE_AMBIGUOUS.
*/
public static int preferConversion(Object fromObj,
Class toClass1, Class toClass2) {
int rank1 =
NativeJavaObject.getConversionWeight(fromObj, toClass1);
int rank2 =
NativeJavaObject.getConversionWeight(fromObj, toClass2);
if (rank1 == NativeJavaObject.CONVERSION_NONTRIVIAL &&
rank2 == NativeJavaObject.CONVERSION_NONTRIVIAL) {
if (toClass1.isAssignableFrom(toClass2)) {
return PREFERENCE_SECOND_ARG;
}
else if (toClass2.isAssignableFrom(toClass1)) {
return PREFERENCE_FIRST_ARG;
}
}
else {
if (rank1 < rank2) {
return PREFERENCE_FIRST_ARG;
}
else if (rank1 > rank2) {
return PREFERENCE_SECOND_ARG;
}
}
return PREFERENCE_AMBIGUOUS;
}
Method[] getMethods() {
return methods;
}
private static final boolean debug = false;
private static void printDebug(String msg, Member member, Object[] args) {
if (debug) {
System.err.println(" ----- " + msg +
member.getDeclaringClass().getName() +
"." + signature(member) +
" for arguments (" + scriptSignature(args) + ")");
}
}
Method methods[];
}

View File

@@ -0,0 +1,921 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
import java.util.Hashtable;
import java.util.Enumeration;
/**
* This class reflects non-Array Java objects into the JavaScript environment. It
* reflect fields directly, and uses NativeJavaMethod objects to reflect (possibly
* overloaded) methods.<p>
*
* @author Mike Shaver
* @see NativeJavaArray
* @see NativeJavaPackage
* @see NativeJavaClass
*/
public class NativeJavaObject implements Scriptable, Wrapper {
public NativeJavaObject(Scriptable scope, Object javaObject,
JavaMembers members)
{
this.parent = scope;
this.javaObject = javaObject;
this.members = members;
}
public NativeJavaObject(Scriptable scope, Object javaObject,
Class staticType)
{
this.parent = scope;
this.javaObject = javaObject;
Class dynamicType = javaObject != null ? javaObject.getClass()
: staticType;
members = JavaMembers.lookupClass(scope, dynamicType, staticType);
fieldAndMethods = members.getFieldAndMethodsObjects(this, javaObject, false);
}
public boolean has(String name, Scriptable start) {
return members.has(name, false);
}
public boolean has(int index, Scriptable start) {
return false;
}
public Object get(String name, Scriptable start) {
if (fieldAndMethods != null) {
Object result = fieldAndMethods.get(name);
if (result != null) {
return result;
}
}
// TODO: passing 'this' as the scope is bogus since it has
// no parent scope
return members.get(this, name, javaObject, false);
}
public Object get(int index, Scriptable start) {
throw members.reportMemberNotFound(Integer.toString(index));
}
public void put(String name, Scriptable start, Object value) {
members.put(name, javaObject, value, false);
}
public void put(int index, Scriptable start, Object value) {
throw members.reportMemberNotFound(Integer.toString(index));
}
public boolean hasInstance(Scriptable value) {
// This is an instance of a Java class, so always return false
return false;
}
public void delete(String name) {
}
public void delete(int index) {
}
public Scriptable getPrototype() {
if (prototype == null && javaObject.getClass() == ScriptRuntime.StringClass) {
return ScriptableObject.getClassPrototype(parent, "String");
}
return prototype;
}
/**
* Sets the prototype of the object.
*/
public void setPrototype(Scriptable m) {
prototype = m;
}
/**
* Returns the parent (enclosing) scope of the object.
*/
public Scriptable getParentScope() {
return parent;
}
/**
* Sets the parent (enclosing) scope of the object.
*/
public void setParentScope(Scriptable m) {
parent = m;
}
public Object[] getIds() {
return members.getIds(false);
}
public static Object wrap(Scriptable scope, Object obj, Class staticType)
{
if (obj == null)
return obj;
Context cx = Context.getCurrentContext();
if (cx != null && cx.wrapHandler != null) {
Object result = cx.wrapHandler.wrap(scope, obj, staticType);
if (result != null)
return result;
}
Class cls = obj.getClass();
if (staticType != null && staticType.isPrimitive()) {
if (staticType == Void.TYPE)
return Undefined.instance;
if (staticType == Character.TYPE)
return new Integer((int) ((Character) obj).charValue());
return obj;
}
if (cls.isArray())
return NativeJavaArray.wrap(scope, obj);
if (obj instanceof Scriptable)
return obj;
if (Context.useJSObject && jsObjectClass != null &&
staticType != jsObjectClass && jsObjectClass.isInstance(obj))
{
try {
return jsObjectGetScriptable.invoke(obj, ScriptRuntime.emptyArgs);
}
catch (InvocationTargetException e) {
// Just abandon conversion from JSObject
}
catch (IllegalAccessException e) {
// Just abandon conversion from JSObject
}
}
return new NativeJavaObject(scope, obj, staticType);
}
public Object unwrap() {
return javaObject;
}
public String getClassName() {
return "JavaObject";
}
Function getConverter(String converterName) {
Object converterFunction = get(converterName, this);
if (converterFunction instanceof Function) {
return (Function) converterFunction;
}
return null;
}
Object callConverter(Function converterFunction)
throws JavaScriptException
{
Function f = (Function) converterFunction;
return f.call(Context.getContext(), f.getParentScope(),
this, new Object[0]);
}
Object callConverter(String converterName)
throws JavaScriptException
{
Function converter = getConverter(converterName);
if (converter == null) {
Object[] errArgs = { converterName, javaObject.getClass().getName() };
throw Context.reportRuntimeError(
Context.getMessage("msg.java.conversion.implicit_method",
errArgs));
}
return callConverter(converter);
}
public Object getDefaultValue(Class hint) {
if (hint == null || hint == ScriptRuntime.StringClass)
return javaObject.toString();
try {
if (hint == ScriptRuntime.BooleanClass)
return callConverter("booleanValue");
if (hint == ScriptRuntime.NumberClass) {
return callConverter("doubleValue");
}
// fall through to error message
} catch (JavaScriptException jse) {
// fall through to error message
}
throw Context.reportRuntimeError(
Context.getMessage("msg.default.value", null));
}
/**
* Determine whether we can/should convert between the given type and the
* desired one. This should be superceded by a conversion-cost calculation
* function, but for now I'll hide behind precedent.
*/
public static boolean canConvert(Object fromObj, Class to) {
int weight = NativeJavaObject.getConversionWeight(fromObj, to);
return (weight < CONVERSION_NONE);
}
static final int JSTYPE_UNDEFINED = 0; // undefined type
static final int JSTYPE_NULL = 1; // null
static final int JSTYPE_BOOLEAN = 2; // boolean
static final int JSTYPE_NUMBER = 3; // number
static final int JSTYPE_STRING = 4; // string
static final int JSTYPE_JAVA_CLASS = 5; // JavaClass
static final int JSTYPE_JAVA_OBJECT = 6; // JavaObject
static final int JSTYPE_JAVA_ARRAY = 7; // JavaArray
static final int JSTYPE_OBJECT = 8; // Scriptable
public static final byte CONVERSION_TRIVIAL = 1;
public static final byte CONVERSION_NONTRIVIAL = 0;
public static final byte CONVERSION_NONE = 99;
/**
* Derive a ranking based on how "natural" the conversion is.
* The special value CONVERSION_NONE means no conversion is possible,
* and CONVERSION_NONTRIVIAL signals that more type conformance testing
* is required.
* Based on
* <a href="http://www.mozilla.org/js/liveconnect/lc3_method_overloading.html">
* "preferred method conversions" from Live Connect 3</a>
*/
public static int getConversionWeight(Object fromObj, Class to) {
int fromCode = NativeJavaObject.getJSTypeCode(fromObj);
int result = CONVERSION_NONE;
switch (fromCode) {
case JSTYPE_UNDEFINED:
if (to == ScriptRuntime.StringClass ||
to == ScriptRuntime.ObjectClass) {
result = 1;
}
break;
case JSTYPE_NULL:
if (!to.isPrimitive()) {
result = 1;
}
break;
case JSTYPE_BOOLEAN:
// "boolean" is #1
if (to == Boolean.TYPE) {
result = 1;
}
else if (to == ScriptRuntime.BooleanClass) {
result = 2;
}
else if (to == ScriptRuntime.ObjectClass) {
result = 3;
}
else if (to == ScriptRuntime.StringClass) {
result = 4;
}
break;
case JSTYPE_NUMBER:
if (to.isPrimitive()) {
if (to == Double.TYPE) {
result = 1;
}
else if (to != Boolean.TYPE) {
result = 1 + NativeJavaObject.getSizeRank(to);
}
}
else {
if (to == ScriptRuntime.StringClass) {
// native numbers are #1-8
result = 9;
}
else if (to == ScriptRuntime.ObjectClass) {
result = 10;
}
else if (ScriptRuntime.NumberClass.isAssignableFrom(to)) {
// "double" is #1
result = 2;
}
}
break;
case JSTYPE_STRING:
if (to == ScriptRuntime.StringClass) {
result = 1;
}
else if (to == ScriptRuntime.ObjectClass) {
result = 2;
}
else if (to.isPrimitive() && to != Boolean.TYPE) {
if (to == Character.TYPE) {
result = 3;
}
else {
result = 4;
}
}
break;
case JSTYPE_JAVA_CLASS:
if (to == ScriptRuntime.ClassClass) {
result = 1;
}
else if (Context.useJSObject && jsObjectClass != null &&
jsObjectClass.isAssignableFrom(to)) {
result = 2;
}
else if (to == ScriptRuntime.ObjectClass) {
result = 3;
}
else if (to == ScriptRuntime.StringClass) {
result = 4;
}
break;
case JSTYPE_JAVA_OBJECT:
case JSTYPE_JAVA_ARRAY:
if (to == ScriptRuntime.StringClass) {
result = 2;
}
else if (to.isPrimitive() && to != Boolean.TYPE) {
result =
(fromCode == JSTYPE_JAVA_ARRAY) ?
CONVERSION_NONTRIVIAL :
2 + NativeJavaObject.getSizeRank(to);
}
else {
Object javaObj = fromObj;
if (javaObj instanceof NativeJavaObject) {
javaObj = ((NativeJavaObject)javaObj).unwrap();
}
if (to.isInstance(javaObj)) {
result = CONVERSION_NONTRIVIAL;
}
}
break;
case JSTYPE_OBJECT:
// Other objects takes #1-#3 spots
if (Context.useJSObject && jsObjectClass != null &&
jsObjectClass.isAssignableFrom(to)) {
result = 1;
}
else if (fromObj instanceof NativeArray && to.isArray()) {
// This is a native array conversion to a java array
// Array conversions are all equal, and preferable to object
// and string conversion, per LC3.
result = 1;
}
else if (to == ScriptRuntime.ObjectClass) {
result = 2;
}
else if (to == ScriptRuntime.StringClass) {
result = 3;
}
else if (to.isPrimitive() || to != Boolean.TYPE) {
result = 3 + NativeJavaObject.getSizeRank(to);
}
break;
}
return result;
}
static int getSizeRank(Class aType) {
if (aType == Double.TYPE) {
return 1;
}
else if (aType == Float.TYPE) {
return 2;
}
else if (aType == Long.TYPE) {
return 3;
}
else if (aType == Integer.TYPE) {
return 4;
}
else if (aType == Short.TYPE) {
return 5;
}
else if (aType == Character.TYPE) {
return 6;
}
else if (aType == Byte.TYPE) {
return 7;
}
else if (aType == Boolean.TYPE) {
return CONVERSION_NONE;
}
else {
return 8;
}
}
static int getJSTypeCode(Object value) {
if (value == null) {
return JSTYPE_NULL;
}
else if (value == Undefined.instance) {
return JSTYPE_UNDEFINED;
}
else if (value instanceof Scriptable) {
if (value instanceof NativeJavaClass) {
return JSTYPE_JAVA_CLASS;
}
else if (value instanceof NativeJavaArray) {
return JSTYPE_JAVA_ARRAY;
}
else if (value instanceof NativeJavaObject) {
return JSTYPE_JAVA_OBJECT;
}
else {
return JSTYPE_OBJECT;
}
}
else {
Class valueClass = value.getClass();
if (valueClass == ScriptRuntime.StringClass) {
return JSTYPE_STRING;
}
else if (valueClass == ScriptRuntime.BooleanClass) {
return JSTYPE_BOOLEAN;
}
else if (value instanceof Number) {
return JSTYPE_NUMBER;
}
else if (valueClass == ScriptRuntime.ClassClass) {
return JSTYPE_JAVA_CLASS;
}
else if (valueClass.isArray()) {
return JSTYPE_JAVA_ARRAY;
}
else {
return JSTYPE_JAVA_OBJECT;
}
}
}
/**
* Type-munging for field setting and method invocation.
* Conforms to LC3 specification
*/
public static Object coerceType(Class type, Object value) {
if (value != null && value.getClass() == type) {
return value;
}
switch (NativeJavaObject.getJSTypeCode(value)) {
case JSTYPE_NULL:
// raise error if type.isPrimitive()
if (type.isPrimitive()) {
reportConversionError(value, type);
}
return null;
case JSTYPE_UNDEFINED:
if (type == ScriptRuntime.StringClass ||
type == ScriptRuntime.ObjectClass) {
return "undefined";
}
else {
reportConversionError("undefined", type);
}
break;
case JSTYPE_BOOLEAN:
// Under LC3, only JS Booleans can be coerced into a Boolean value
if (type == Boolean.TYPE ||
type == ScriptRuntime.BooleanClass ||
type == ScriptRuntime.ObjectClass) {
return value;
}
else if (type == ScriptRuntime.StringClass) {
return value.toString();
}
else {
reportConversionError(value, type);
}
break;
case JSTYPE_NUMBER:
if (type == ScriptRuntime.StringClass) {
return ScriptRuntime.toString(value);
}
else if (type == ScriptRuntime.ObjectClass) {
return coerceToNumber(Double.TYPE, value);
}
else if ((type.isPrimitive() && type != Boolean.TYPE) ||
ScriptRuntime.NumberClass.isAssignableFrom(type)) {
return coerceToNumber(type, value);
}
else {
reportConversionError(value, type);
}
break;
case JSTYPE_STRING:
if (type == ScriptRuntime.StringClass ||
type == ScriptRuntime.ObjectClass) {
return value;
}
else if (type == Character.TYPE ||
type == ScriptRuntime.CharacterClass) {
// Special case for converting a single char string to a
// character
// Placed here because it applies *only* to JS strings,
// not other JS objects converted to strings
if (((String)value).length() == 1) {
return new Character(((String)value).charAt(0));
}
else {
return coerceToNumber(type, value);
}
}
else if ((type.isPrimitive() && type != Boolean.TYPE) ||
ScriptRuntime.NumberClass.isAssignableFrom(type)) {
return coerceToNumber(type, value);
}
else {
reportConversionError(value, type);
}
break;
case JSTYPE_JAVA_CLASS:
if (Context.useJSObject && jsObjectClass != null &&
(type == ScriptRuntime.ObjectClass ||
jsObjectClass.isAssignableFrom(type))) {
return coerceToJSObject(type, (Scriptable)value);
}
else {
if (value instanceof Wrapper) {
value = ((Wrapper)value).unwrap();
}
if (type == ScriptRuntime.ClassClass ||
type == ScriptRuntime.ObjectClass) {
return value;
}
else if (type == ScriptRuntime.StringClass) {
return value.toString();
}
else {
reportConversionError(value, type);
}
}
break;
case JSTYPE_JAVA_OBJECT:
case JSTYPE_JAVA_ARRAY:
if (type.isPrimitive()) {
if (type == Boolean.TYPE) {
reportConversionError(value, type);
}
return coerceToNumber(type, value);
}
else {
if (value instanceof Wrapper) {
value = ((Wrapper)value).unwrap();
}
if (type == ScriptRuntime.StringClass) {
return value.toString();
}
else {
if (type.isInstance(value)) {
return value;
}
else {
reportConversionError(value, type);
}
}
}
break;
case JSTYPE_OBJECT:
if (Context.useJSObject && jsObjectClass != null &&
(type == ScriptRuntime.ObjectClass ||
jsObjectClass.isAssignableFrom(type))) {
return coerceToJSObject(type, (Scriptable)value);
}
else if (type == ScriptRuntime.StringClass) {
return ScriptRuntime.toString(value);
}
else if (type.isPrimitive()) {
if (type == Boolean.TYPE) {
reportConversionError(value, type);
}
return coerceToNumber(type, value);
}
else if (type.isInstance(value)) {
return value;
}
else if (type.isArray() && value instanceof NativeArray) {
// Make a new java array, and coerce the JS array components
// to the target (component) type.
NativeArray array = (NativeArray) value;
long length = array.jsGet_length();
Class arrayType = type.getComponentType();
Object Result = Array.newInstance(arrayType, (int)length);
for (int i = 0 ; i < length ; ++i) {
try {
Array.set(Result, i, coerceType(arrayType,
array.get(i, array)));
}
catch (EvaluatorException ee) {
reportConversionError(value, type);
}
}
return Result;
}
else {
reportConversionError(value, type);
}
break;
}
return value;
}
static Object coerceToJSObject(Class type, Scriptable value) {
// If JSObject compatibility is enabled, and the method wants it,
// wrap the Scriptable value in a JSObject.
if (ScriptRuntime.ScriptableClass.isAssignableFrom(type))
return value;
try {
Object ctorArgs[] = { value };
return jsObjectCtor.newInstance(ctorArgs);
} catch (InstantiationException instEx) {
throw new EvaluatorException("error generating JSObject wrapper for " +
value);
} catch (IllegalArgumentException argEx) {
throw new EvaluatorException("JSObject constructor doesn't want [Scriptable]!");
} catch (InvocationTargetException e) {
throw WrappedException.wrapException(e.getTargetException());
} catch (IllegalAccessException accessEx) {
throw new EvaluatorException("JSObject constructor is protected/private!");
}
}
static Object coerceToNumber(Class type, Object value) {
Class valueClass = value.getClass();
// Character
if (type == Character.TYPE || type == ScriptRuntime.CharacterClass) {
if (valueClass == ScriptRuntime.CharacterClass) {
return value;
}
return new Character((char)toInteger(value,
ScriptRuntime.CharacterClass,
(double)Character.MIN_VALUE,
(double)Character.MAX_VALUE));
}
// Double, Float
if (type == ScriptRuntime.ObjectClass ||
type == ScriptRuntime.DoubleClass || type == Double.TYPE) {
return valueClass == ScriptRuntime.DoubleClass
? value
: new Double(toDouble(value));
}
if (type == ScriptRuntime.FloatClass || type == Float.TYPE) {
if (valueClass == ScriptRuntime.FloatClass) {
return value;
}
else {
double number = toDouble(value);
if (Double.isInfinite(number) || Double.isNaN(number)
|| number == 0.0) {
return new Float((float)number);
}
else {
double absNumber = Math.abs(number);
if (absNumber < (double)Float.MIN_VALUE) {
return new Float((number > 0.0) ? +0.0 : -0.0);
}
else if (absNumber > (double)Float.MAX_VALUE) {
return new Float((number > 0.0) ?
Float.POSITIVE_INFINITY :
Float.NEGATIVE_INFINITY);
}
else {
return new Float((float)number);
}
}
}
}
// Integer, Long, Short, Byte
if (type == ScriptRuntime.IntegerClass || type == Integer.TYPE) {
if (valueClass == ScriptRuntime.IntegerClass) {
return value;
}
else {
return new Integer((int)toInteger(value,
ScriptRuntime.IntegerClass,
(double)Integer.MIN_VALUE,
(double)Integer.MAX_VALUE));
}
}
if (type == ScriptRuntime.LongClass || type == Long.TYPE) {
if (valueClass == ScriptRuntime.LongClass) {
return value;
}
else {
/* Long values cannot be expressed exactly in doubles.
* We thus use the largest and smallest double value that
* has a value expressible as a long value. We build these
* numerical values from their hexidecimal representations
* to avoid any problems caused by attempting to parse a
* decimal representation.
*/
final double max = Double.longBitsToDouble(0x43dfffffffffffffL);
final double min = Double.longBitsToDouble(0xc3e0000000000000L);
return new Long(toInteger(value,
ScriptRuntime.LongClass,
min,
max));
}
}
if (type == ScriptRuntime.ShortClass || type == Short.TYPE) {
if (valueClass == ScriptRuntime.ShortClass) {
return value;
}
else {
return new Short((short)toInteger(value,
ScriptRuntime.ShortClass,
(double)Short.MIN_VALUE,
(double)Short.MAX_VALUE));
}
}
if (type == ScriptRuntime.ByteClass || type == Byte.TYPE) {
if (valueClass == ScriptRuntime.ByteClass) {
return value;
}
else {
return new Byte((byte)toInteger(value,
ScriptRuntime.ByteClass,
(double)Byte.MIN_VALUE,
(double)Byte.MAX_VALUE));
}
}
return new Double(toDouble(value));
}
static double toDouble(Object value) {
if (value instanceof Number) {
return ((Number)value).doubleValue();
}
else if (value instanceof String) {
return ScriptRuntime.toNumber((String)value);
}
else if (value instanceof Scriptable) {
if (value instanceof Wrapper) {
// XXX: optimize tail-recursion?
return toDouble(((Wrapper)value).unwrap());
}
else {
return ScriptRuntime.toNumber(value);
}
}
else {
Method meth;
try {
meth = value.getClass().getMethod("doubleValue", null);
}
catch (NoSuchMethodException e) {
meth = null;
}
catch (SecurityException e) {
meth = null;
}
if (meth != null) {
try {
return ((Number)meth.invoke(value, null)).doubleValue();
}
catch (IllegalAccessException e) {
// XXX: ignore, or error message?
reportConversionError(value, Double.TYPE);
}
catch (InvocationTargetException e) {
// XXX: ignore, or error message?
reportConversionError(value, Double.TYPE);
}
}
return ScriptRuntime.toNumber(value.toString());
}
}
static long toInteger(Object value, Class type, double min, double max) {
double d = toDouble(value);
if (Double.isInfinite(d) || Double.isNaN(d)) {
// Convert to string first, for more readable message
reportConversionError(ScriptRuntime.toString(value), type);
}
if (d > 0.0) {
d = Math.floor(d);
}
else {
d = Math.ceil(d);
}
if (d < min || d > max) {
// Convert to string first, for more readable message
reportConversionError(ScriptRuntime.toString(value), type);
}
return (long)d;
}
static void reportConversionError(Object value, Class type) {
Object[] args = { value.toString(),
NativeJavaMethod.javaSignature(type)
};
throw Context.reportRuntimeError(
Context.getMessage("msg.conversion.not.allowed", args));
}
public static void initJSObject() {
if (!Context.useJSObject)
return;
// if netscape.javascript.JSObject is in the CLASSPATH, enable JSObject
// compatability wrappers
jsObjectClass = null;
try {
jsObjectClass = Class.forName("netscape.javascript.JSObject");
Class ctorParms[] = { ScriptRuntime.ScriptableClass };
jsObjectCtor = jsObjectClass.getConstructor(ctorParms);
jsObjectGetScriptable = jsObjectClass.getMethod("getScriptable",
new Class[0]);
} catch (ClassNotFoundException classEx) {
// jsObjectClass already null
} catch (NoSuchMethodException methEx) {
// jsObjectClass already null
}
}
/**
* The prototype of this object.
*/
protected Scriptable prototype;
/**
* The parent scope of this object.
*/
protected Scriptable parent;
protected Object javaObject;
protected JavaMembers members;
private Hashtable fieldAndMethods;
static Class jsObjectClass;
static Constructor jsObjectCtor;
static Method jsObjectGetScriptable;
}

View File

@@ -0,0 +1,237 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Frank Mitchell
* Mike Shaver
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.*;
/**
* This class reflects Java packages into the JavaScript environment. We
* lazily reflect classes and subpackages, and use a caching/sharing
* system to ensure that members reflected into one JavaPackage appear
* in all other references to the same package (as with Packages.java.lang
* and java.lang).
*
* @author Mike Shaver
* @see NativeJavaArray
* @see NativeJavaObject
* @see NativeJavaClass
*/
public class NativeJavaPackage extends ScriptableObject {
// we know these are packages so we can skip the class check
// note that this is ok even if the package isn't present.
static final String[] commonPackages = {
"java.lang",
"java.lang.reflect",
"java.io",
"java.math",
"java.util",
"java.util.zip",
"java.text",
"java.text.resources",
"java.applet",
};
public static Scriptable init(Scriptable scope)
throws PropertyException
{
NativeJavaPackage packages = new NativeJavaPackage("");
packages.setPrototype(getObjectPrototype(scope));
packages.setParentScope(scope);
// We want to get a real alias, and not a distinct JavaPackage
// with the same packageName, so that we share classes and packages
// that are underneath.
NativeJavaPackage javaAlias = (NativeJavaPackage)packages.get("java",
packages);
// It's safe to downcast here since initStandardObjects takes
// a ScriptableObject.
ScriptableObject global = (ScriptableObject) scope;
global.defineProperty("Packages", packages, ScriptableObject.DONTENUM);
global.defineProperty("java", javaAlias, ScriptableObject.DONTENUM);
for (int i = 0; i < commonPackages.length; i++)
packages.forcePackage(commonPackages[i]);
NativeJavaObject.initJSObject();
Method[] m = FunctionObject.findMethods(NativeJavaPackage.class,
"jsFunction_getClass");
FunctionObject f = new FunctionObject("getClass", m[0], global);
global.defineProperty("getClass", f, ScriptableObject.DONTENUM);
// I think I'm supposed to return the prototype, but I don't have one.
return packages;
}
// set up a name which is known to be a package so we don't
// need to look for a class by that name
void forcePackage(String name) {
NativeJavaPackage pkg;
int end = name.indexOf('.');
if (end == -1)
end = name.length();
String id = name.substring(0, end);
Object cached = super.get(id, this);
if (cached != null && cached instanceof NativeJavaPackage) {
pkg = (NativeJavaPackage) cached;
} else {
String newPackage = packageName.length() == 0
? id
: packageName + "." + id;
pkg = new NativeJavaPackage(newPackage);
pkg.setParentScope(this);
pkg.setPrototype(this.prototype);
super.put(id, this, pkg);
}
if (end < name.length())
pkg.forcePackage(name.substring(end+1));
}
public NativeJavaPackage(String packageName) {
this.packageName = packageName;
}
public String getClassName() {
return "JavaPackage";
}
public boolean has(String id, int index, Scriptable start) {
return true;
}
public void put(String id, Scriptable start, Object value) {
// Can't add properties to Java packages. Sorry.
}
public void put(int index, Scriptable start, Object value) {
throw Context.reportRuntimeError(
Context.getMessage("msg.pkg.int", null));
}
public Object get(String id, Scriptable start) {
return getPkgProperty(id, start, true);
}
public Object get(int index, Scriptable start) {
return NOT_FOUND;
}
synchronized Object getPkgProperty(String name, Scriptable start,
boolean createPkg)
{
Object cached = super.get(name, start);
if (cached != NOT_FOUND)
return cached;
String newPackage = packageName.length() == 0
? name
: packageName + "." + name;
Context cx = Context.getContext();
SecuritySupport ss = cx.getSecuritySupport();
Scriptable newValue;
try {
if (ss != null && !ss.visibleToScripts(newPackage))
throw new ClassNotFoundException();
Class newClass = ScriptRuntime.loadClassName(newPackage);
newValue = NativeJavaClass.wrap(getTopLevelScope(this), newClass);
newValue.setParentScope(this);
newValue.setPrototype(this.prototype);
} catch (ClassNotFoundException ex) {
if (createPkg) {
NativeJavaPackage pkg = new NativeJavaPackage(newPackage);
pkg.setParentScope(this);
pkg.setPrototype(this.prototype);
newValue = pkg;
} else {
newValue = null;
}
}
if (newValue != null) {
// Make it available for fast lookup and sharing of
// lazily-reflected constructors and static members.
super.put(name, start, newValue);
}
return newValue;
}
public Object getDefaultValue(Class ignored) {
return toString();
}
public String toString() {
return "[JavaPackage " + packageName + "]";
}
public static Scriptable jsFunction_getClass(Context cx,
Scriptable thisObj,
Object[] args,
Function funObj)
{
if (args.length > 0 && args[0] instanceof NativeJavaObject) {
NativeJavaObject nativeJavaObj = (NativeJavaObject) args[0];
Scriptable result = getTopLevelScope(thisObj);
Class cl = nativeJavaObj.unwrap().getClass();
// Evaluate the class name by getting successive properties of
// the string to find the appropriate NativeJavaClass object
String name = "Packages." + cl.getName();
int offset = 0;
for (;;) {
int index = name.indexOf('.', offset);
String propName = index == -1
? name.substring(offset)
: name.substring(offset, index);
Object prop = result.get(propName, result);
if (!(prop instanceof Scriptable))
break; // fall through to error
result = (Scriptable) prop;
if (index == -1)
return result;
offset = index+1;
}
}
throw Context.reportRuntimeError(
Context.getMessage("msg.not.java.obj", null));
}
private String packageName;
}

View File

@@ -0,0 +1,198 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This class implements the Math native object.
* See ECMA 15.8.
* @author Norris Boyd
*/
public class NativeMath extends ScriptableObject {
public static Scriptable init(Scriptable scope)
throws PropertyException
{
NativeMath m = new NativeMath();
m.setPrototype(getObjectPrototype(scope));
m.setParentScope(scope);
String[] names = { "atan", "atan2", "ceil",
"cos", "floor", "random",
"sin", "sqrt", "tan" };
m.defineFunctionProperties(names, java.lang.Math.class,
ScriptableObject.DONTENUM);
// These functions exist in java.lang.Math, but
// are overloaded. Define our own wrappers.
String[] localNames = { "acos", "asin", "abs", "exp", "max", "min",
"round", "pow", "log" };
m.defineFunctionProperties(localNames, NativeMath.class,
ScriptableObject.DONTENUM);
/*
have to fix up the length property for max & min
which are varargs form, but need to have a length of 2
*/
((FunctionObject)m.get("max", scope)).setLength((short)2);
((FunctionObject)m.get("min", scope)).setLength((short)2);
final int attr = ScriptableObject.DONTENUM |
ScriptableObject.PERMANENT |
ScriptableObject.READONLY;
m.defineProperty("E", new Double(Math.E), attr);
m.defineProperty("PI", new Double(Math.PI), attr);
m.defineProperty("LN10", new Double(2.302585092994046), attr);
m.defineProperty("LN2", new Double(0.6931471805599453), attr);
m.defineProperty("LOG2E", new Double(1.4426950408889634), attr);
m.defineProperty("LOG10E", new Double(0.4342944819032518), attr);
m.defineProperty("SQRT1_2", new Double(0.7071067811865476), attr);
m.defineProperty("SQRT2", new Double(1.4142135623730951), attr);
// We know that scope is a Scriptable object since we
// constrained the type on initStandardObjects.
ScriptableObject global = (ScriptableObject) scope;
global.defineProperty("Math", m, ScriptableObject.DONTENUM);
return m;
}
public NativeMath() {
}
public String getClassName() {
return "Math";
}
public static double abs(double d) {
if (d == 0.0)
return 0.0; // abs(-0.0) should be 0.0, but -0.0 < 0.0 == false
else if (d < 0.0)
return -d;
else
return d;
}
public static double acos(double d) {
if ((d != d)
|| (d > 1.0)
|| (d < -1.0))
return Double.NaN;
return Math.acos(d);
}
public static double asin(double d) {
if ((d != d)
|| (d > 1.0)
|| (d < -1.0))
return Double.NaN;
return Math.asin(d);
}
public static double max(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
double result = Double.NEGATIVE_INFINITY;
if (args.length == 0)
return result;
for (int i = 0; i < args.length; i++) {
double d = ScriptRuntime.toNumber(args[i]);
if (d != d) return d;
result = Math.max(result, d);
}
return result;
}
public static double min(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
double result = Double.POSITIVE_INFINITY;
if (args.length == 0)
return result;
for (int i = 0; i < args.length; i++) {
double d = ScriptRuntime.toNumber(args[i]);
if (d != d) return d;
result = Math.min(result, d);
}
return result;
}
public static double round(double d) {
if (d != d)
return d; // NaN
if (d == Double.POSITIVE_INFINITY || d == Double.NEGATIVE_INFINITY)
return d;
long l = Math.round(d);
if (l == 0) {
// We must propagate the sign of d into the result
if (d < 0.0)
return ScriptRuntime.negativeZero;
return d == 0.0 ? d : 0.0;
}
return (double) l;
}
public static double pow(double x, double y) {
if (y == 0)
return 1.0; // Java's pow(NaN, 0) = NaN; we need 1
if ((x == 0) && (y < 0)) {
Double d = new Double(x);
if (d.equals(new Double(0))) // x is +0
return Double.POSITIVE_INFINITY; // Java is -Infinity
/* if x is -0 and y is an odd integer, -Infinity */
if (((int)y == y) && (((int)y & 0x1) == 1))
return Double.NEGATIVE_INFINITY;
return Double.POSITIVE_INFINITY;
}
return Math.pow(x, y);
}
public static double exp(double d) {
if (d == Double.POSITIVE_INFINITY)
return d;
if (d == Double.NEGATIVE_INFINITY)
return 0.0;
return Math.exp(d);
}
public static double log(double x) {
if (x < 0)
return Double.NaN; // Java's log(<0) = -Infinity; we need NaN
return Math.log(x);
}
}

View File

@@ -0,0 +1,162 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This class implements the Number native object.
*
* See ECMA 15.7.
*
* @author Norris Boyd
*/
public class NativeNumber extends ScriptableObject {
public static void finishInit(Scriptable scope,
FunctionObject ctor, Scriptable proto)
{
final int attr = ScriptableObject.DONTENUM |
ScriptableObject.PERMANENT |
ScriptableObject.READONLY;
String[] names = { "NaN", "POSITIVE_INFINITY", "NEGATIVE_INFINITY",
"MAX_VALUE", "MIN_VALUE" };
double[] values = { ScriptRuntime.NaN, Double.POSITIVE_INFINITY,
Double.NEGATIVE_INFINITY, Double.MAX_VALUE,
Double.MIN_VALUE };
for (int i=0; i < names.length; i++) {
ctor.defineProperty(names[i], new Double(values[i]), attr);
}
}
private static final int MAX_PRECISION = 100;
/**
* Zero-parameter constructor: just used to create Number.prototype
*/
public NativeNumber() {
doubleValue = defaultValue;
}
public NativeNumber(double number) {
doubleValue = number;
}
public String getClassName() {
return "Number";
}
public static Object jsConstructor(Context cx, Object[] args,
Function funObj, boolean inNewExpr)
{
double d = args.length >= 1
? ScriptRuntime.toNumber(args[0])
: defaultValue;
if (inNewExpr) {
// new Number(val) creates a new Number object.
return new NativeNumber(d);
}
// Number(val) converts val to a number value.
return new Double(d);
}
public String toString() {
return jsFunction_toString(Undefined.instance);
}
public String jsFunction_toString(Object base) {
int i = base == Undefined.instance
? 10
: ScriptRuntime.toInt32(base);
return ScriptRuntime.numberToString(doubleValue, i);
}
public double jsFunction_valueOf() {
return doubleValue;
}
public String jsFunction_toLocaleString(Object arg) {
return toString();
}
public String jsFunction_toFixed(Object arg) {
/* We allow a larger range of precision than
ECMA requires; this is permitted by ECMA. */
return num_to(arg, DToA.DTOSTR_FIXED, DToA.DTOSTR_FIXED,
-20, MAX_PRECISION, 0);
}
public String jsFunction_toExponential(Object arg) {
/* We allow a larger range of precision than
ECMA requires; this is permitted by ECMA. */
return num_to(arg, DToA.DTOSTR_STANDARD_EXPONENTIAL,
DToA.DTOSTR_EXPONENTIAL, 0, MAX_PRECISION, 1);
}
public String jsFunction_toPrecision(Object arg) {
/* We allow a larger range of precision than
ECMA requires; this is permitted by ECMA. */
return num_to(arg, DToA.DTOSTR_STANDARD,
DToA.DTOSTR_PRECISION, 1, MAX_PRECISION, 0);
}
private String num_to(Object arg, int zeroArgMode,
int oneArgMode, int precisionMin, int precisionMax, int precisionOffset)
{
int precision;
if (arg == Undefined.instance) {
precision = 0;
oneArgMode = zeroArgMode;
} else {
precision = ScriptRuntime.toInt32(arg);
if (precision < precisionMin || precision > precisionMax) {
Object args[] = new Object[1];
args[0] = Integer.toString(precision);
throw NativeGlobal.constructError(
Context.getCurrentContext(), "RangeError",
ScriptRuntime.getMessage("msg.bad.precision", args),
this);
}
}
StringBuffer result = new StringBuffer();
DToA.JS_dtostr(result, oneArgMode, precision + precisionOffset, doubleValue);
return result.toString();
}
private static final double defaultValue = +0.0;
private double doubleValue;
}

View File

@@ -0,0 +1,193 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Hashtable;
/**
* This class implements the Object native object.
* See ECMA 15.2.
* @author Norris Boyd
*/
public class NativeObject extends ScriptableObject {
public static void finishInit(Scriptable scope, FunctionObject ctor,
Scriptable proto)
{
Object obj = proto.get("valueOf", proto);
((FunctionObject) obj).setLength((short) 0);
}
public String getClassName() {
return "Object";
}
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
throws JavaScriptException
{
if (!inNewExpr) {
// FunctionObject.construct will set up parent, proto
return ctorObj.construct(cx, ctorObj.getParentScope(), args);
}
if (args.length == 0 || args[0] == null ||
args[0] == Undefined.instance)
{
return new NativeObject();
}
return ScriptRuntime.toObject(ctorObj.getParentScope(), args[0]);
}
public String toString() {
Context cx = Context.getContext();
if (cx != null)
return jsFunction_toString(cx, this, null, null);
else
return "[object " + getClassName() + "]";
}
public static String jsFunction_toString(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (cx.getLanguageVersion() != cx.VERSION_1_2)
return "[object " + thisObj.getClassName() + "]";
return toSource(cx, thisObj, args, funObj);
}
public static String toSource(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
Scriptable m = thisObj;
if (cx.iterating == null)
cx.iterating = new Hashtable(31);
if (cx.iterating.get(m) == Boolean.TRUE) {
return "{}"; // stop recursion
} else {
StringBuffer result = new StringBuffer("{");
Object[] ids = m.getIds();
for(int i=0; i < ids.length; i++) {
if (i > 0)
result.append(", ");
Object id = ids[i];
String idString = ScriptRuntime.toString(id);
Object p = (id instanceof String)
? m.get((String) id, m)
: m.get(((Number) id).intValue(), m);
if (p instanceof String) {
result.append(idString + ":\""
+ ScriptRuntime
.escapeString(ScriptRuntime.toString(p))
+ "\"");
} else {
/* wrap changes to cx.iterating in a try/finally
* so that the reference always gets removed, and
* we don't leak memory. Good place for weak
* references, if we had them.
*/
try {
cx.iterating.put(m, Boolean.TRUE); // stop recursion.
result.append(idString + ":" + ScriptRuntime.toString(p));
} finally {
cx.iterating.remove(m);
}
}
}
result.append("}");
return result.toString();
}
}
public static Object jsFunction_valueOf(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
return thisObj;
}
public static Object jsFunction_hasOwnProperty(Context cx,
Scriptable thisObj,
Object[] args,
Function funObj)
{
if (args.length != 0)
if (thisObj.has(ScriptRuntime.toString(args[0]), thisObj))
return Boolean.TRUE;
return Boolean.FALSE;
}
public static Object jsFunction_propertyIsEnumerable(Context cx,
Scriptable thisObj,
Object[] args,
Function funObj)
{
try {
if (args.length != 0) {
String name = ScriptRuntime.toString(args[0]);
if (thisObj.has(name, thisObj)) {
int a = ((ScriptableObject)thisObj).getAttributes(name, thisObj);
if ((a & ScriptableObject.DONTENUM) == 0)
return Boolean.TRUE;
}
}
}
catch (PropertyException x) {
}
catch (ClassCastException x) {
}
return Boolean.FALSE;
}
public static Object jsFunction_isPrototypeOf(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length != 0 && args[0] instanceof Scriptable) {
Scriptable v = (Scriptable) args[0];
do {
v = v.getPrototype();
if (v == thisObj)
return Boolean.TRUE;
} while (v != null);
}
return Boolean.FALSE;
}
}

View File

@@ -0,0 +1,172 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.io.StringReader;
import java.io.IOException;
/**
* The JavaScript Script object.
*
* Note that the C version of the engine uses XDR as the format used
* by freeze and thaw. Since this depends on the internal format of
* structures in the C runtime, we cannot duplicate it.
*
* Since we cannot replace 'this' as a result of the compile method,
* this class has a dual nature. Generated scripts will have a null
* 'script' field and will override 'exec' and 'call'. Scripts created
* using the JavaScript constructor will forward requests to the
* nonnull 'script' field.
*
* @since 1.3
* @author Norris Boyd
*/
public class NativeScript extends NativeFunction implements Script {
public NativeScript() {
}
/**
* Returns the name of this JavaScript class, "Script".
*/
public String getClassName() {
return "Script";
}
/**
* Initialize script.
*
* Does nothing here, but scripts will override with code
* to initialize contained functions, regexp literals, etc.
*/
public void initScript(Scriptable scope) {
}
/**
* The Java method defining the JavaScript Script constructor.
*
*/
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
String source = args.length == 0
? ""
: ScriptRuntime.toString(args[0]);
Scriptable scope = cx.ctorScope;
if (scope == null)
scope = ctorObj;
return compile(scope, source);
}
public static Script compile(Scriptable scope, String source) {
Context cx = Context.getContext();
StringReader reader = new StringReader(source);
try {
int[] linep = { 0 };
String filename = Context.getSourcePositionFromStack(linep);
if (filename == null) {
filename = "<Script object>";
linep[0] = 1;
}
Object securityDomain =
cx.getSecurityDomainForStackDepth(5);
return cx.compileReader(scope, reader, filename, linep[0],
securityDomain);
}
catch (IOException e) {
throw new RuntimeException("Unexpected IOException");
}
}
public Scriptable jsFunction_compile(String source) {
script = compile(null, source);
return this;
}
public Object jsFunction_exec() throws JavaScriptException {
Object[] msgArgs = { "exec" };
throw Context.reportRuntimeError(
Context.getMessage("msg.cant.call.indirect", msgArgs));
}
public static Object jsFunction_toString(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
Script thisScript = ((NativeScript) thisObj).script;
if (thisScript == null)
thisScript = (Script) thisObj;
Scriptable scope = getTopLevelScope(thisObj);
return cx.decompileScript(thisScript, scope, 0);
}
/*
* Override method in NativeFunction to avoid ever returning "anonymous"
*/
public String jsGet_name() {
return "";
}
/**
* Execute the script.
*
* Will be overridden by generated scripts; needed to implement Script.
*/
public Object exec(Context cx, Scriptable scope)
throws JavaScriptException
{
return script == null ? Undefined.instance : script.exec(cx, scope);
}
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
return exec(cx, scope);
}
public Scriptable construct(Context cx, Scriptable scope, Object[] args)
throws JavaScriptException
{
String message = Context.getMessage("msg.script.is.not.constructor", null);
throw Context.reportRuntimeError(message);
}
private Script script;
}

View File

@@ -0,0 +1,747 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Tom Beauvais
* Norris Boyd
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.Method;
import java.util.Vector;
/**
* This class implements the String native object.
*
* See ECMA 15.5.
*
* String methods for dealing with regular expressions are
* ported directly from C. Latest port is from version 1.40.12.19
* in the JSFUN13_BRANCH.
*
* @author Mike McCabe
* @author Norris Boyd
*/
public class NativeString extends ScriptableObject implements Wrapper {
/**
* Zero-parameter constructor: just used to create String.prototype
*/
public NativeString() {
string = defaultValue;
}
public static void finishInit(Scriptable scope, FunctionObject ctor,
Scriptable proto)
{
// Most of the methods of String.prototype are "vararg" form
// so that they can convert the "this" value to string, rather
// than being restricted to just operating on NativeString
// objects. However, this means that the values of the "length"
// properties of these methods are set to 1 by the constructor
// for FunctionObject. We must therefore fetch the function
// objects and set the length to the appropriate value.
String[] specialLengthNames = { "indexOf",
"lastIndexOf",
"substring",
"toUpperCase",
"toLowerCase",
"toString",
};
short[] specialLengthValues = { 2,
2,
2,
0,
0,
0,
};
for (int i=0; i < specialLengthNames.length; i++) {
Object obj = proto.get(specialLengthNames[i], proto);
((FunctionObject) obj).setLength(specialLengthValues[i]);
}
}
public NativeString(String s) {
string = s;
}
public String getClassName() {
return "String";
}
public static String jsStaticFunction_fromCharCode(Context cx,
Scriptable thisObj,
Object[] args,
Function funObj)
{
if (args.length < 1)
return "";
StringBuffer s = new java.lang.StringBuffer();
for (int i=0; i < args.length; i++) {
s.append(ScriptRuntime.toUint16(args[i]));
}
return s.toString();
}
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
String s = args.length >= 1
? ScriptRuntime.toString(args[0])
: defaultValue;
if (inNewExpr) {
// new String(val) creates a new String object.
return new NativeString(s);
}
// String(val) converts val to a string value.
return s;
}
public String toString() {
return string;
}
/* ECMA 15.5.4.2: 'the toString function is not generic.' */
public String jsFunction_toString() {
return string;
}
public String jsFunction_valueOf() {
return string;
}
/* Make array-style property lookup work for strings.
* XXX is this ECMA? A version check is probably needed. In js too.
*/
public Object get(int index, Scriptable start) {
if (index >= 0 && index < string.length())
return string.substring(index, index + 1);
return super.get(index, start);
}
public void put(int index, Scriptable start, Object value) {
if (index >= 0 && index < string.length())
return;
super.put(index, start, value);
}
/**
*
* See ECMA 15.5.4.[4,5]
*/
public static String jsFunction_charAt(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
args = ScriptRuntime.padArguments(args, 1);
// this'll return 0 if undefined... seems
// to be ECMA.
String target = ScriptRuntime.toString(thisObj);
double pos = ScriptRuntime.toInteger(args[0]);
if (pos < 0 || pos >= target.length())
return "";
return target.substring((int)pos, (int)pos + 1);
}
public static double jsFunction_charCodeAt(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
args = ScriptRuntime.padArguments(args, 1);
String target = ScriptRuntime.toString(thisObj);
double pos = ScriptRuntime.toInteger(args[0]);
if (pos < 0 || pos >= target.length()) {
return ScriptRuntime.NaN;
}
return target.charAt((int)pos);
}
/**
*
* See ECMA 15.5.4.6. Uses Java String.indexOf()
* OPT to add - BMH searching from jsstr.c.
*/
public static int jsFunction_indexOf(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 2)
args = ScriptRuntime.padArguments(args, 2);
String target = ScriptRuntime.toString(thisObj);
String search = ScriptRuntime.toString(args[0]);
double begin = ScriptRuntime.toInteger(args[1]);
if (begin > target.length()) {
return -1;
} else {
if (begin < 0)
begin = 0;
return target.indexOf(search, (int)begin);
}
}
/**
*
* See ECMA 15.5.4.7
*
*/
public static int jsFunction_lastIndexOf(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 2)
args = ScriptRuntime.padArguments(args, 2);
String target = ScriptRuntime.toString(thisObj);
String search = ScriptRuntime.toString(args[0]);
double end = ScriptRuntime.toNumber(args[1]);
if (end != end || end > target.length())
end = target.length();
else if (end < 0)
end = 0;
return target.lastIndexOf(search, (int)end);
}
/*
* Used by js_split to find the next split point in target,
* starting at offset ip and looking either for the given
* separator substring, or for the next re match. ip and
* matchlen must be reference variables (assumed to be arrays of
* length 1) so they can be updated in the leading whitespace or
* re case.
*
* Return -1 on end of string, >= 0 for a valid index of the next
* separator occurrence if found, or the string length if no
* separator is found.
*/
private static int find_split(Function funObj, String target,
String separator, Object re,
int[] ip, int[] matchlen, boolean[] matched,
String[][] parensp)
{
int i = ip[0];
int length = target.length();
Context cx = Context.getContext();
int version = cx.getLanguageVersion();
/*
* Perl4 special case for str.split(' '), only if the user has selected
* JavaScript1.2 explicitly. Split on whitespace, and skip leading w/s.
* Strange but true, apparently modeled after awk.
*/
if (version == Context.VERSION_1_2 &&
re == null && separator.length() == 1 && separator.charAt(0) == ' ')
{
/* Skip leading whitespace if at front of str. */
if (i == 0) {
while (i < length && Character.isWhitespace(target.charAt(i)))
i++;
ip[0] = i;
}
/* Don't delimit whitespace at end of string. */
if (i == length)
return -1;
/* Skip over the non-whitespace chars. */
while (i < length
&& !Character.isWhitespace(target.charAt(i)))
i++;
/* Now skip the next run of whitespace. */
int j = i;
while (j < length && Character.isWhitespace(target.charAt(j)))
j++;
/* Update matchlen to count delimiter chars. */
matchlen[0] = j - i;
return i;
}
/*
* Stop if past end of string. If at end of string, we will
* return target length, so that
*
* "ab,".split(',') => new Array("ab", "")
*
* and the resulting array converts back to the string "ab,"
* for symmetry. NB: This differs from perl, which drops the
* trailing empty substring if the LIMIT argument is omitted.
*/
if (i > length)
return -1;
/*
* Match a regular expression against the separator at or
* above index i. Return -1 at end of string instead of
* trying for a match, so we don't get stuck in a loop.
*/
if (re != null) {
return cx.getRegExpProxy().find_split(funObj, target,
separator, re,
ip, matchlen, matched,
parensp);
}
/*
* Deviate from ECMA by never splitting an empty string by any separator
* string into a non-empty array (an array of length 1 that contains the
* empty string).
*/
if (version != Context.VERSION_DEFAULT && version < Context.VERSION_1_3
&& length == 0)
return -1;
/*
* Special case: if sep is the empty string, split str into
* one character substrings. Let our caller worry about
* whether to split once at end of string into an empty
* substring.
*
* For 1.2 compatibility, at the end of the string, we return the length as
* the result, and set the separator length to 1 -- this allows the caller
* to include an additional null string at the end of the substring list.
*/
if (separator.length() == 0) {
if (version == Context.VERSION_1_2) {
if (i == length) {
matchlen[0] = 1;
return i;
}
return i + 1;
}
return (i == length) ? -1 : i + 1;
}
/* Punt to j.l.s.indexOf; return target length if seperator is
* not found.
*/
if (ip[0] >= length)
return length;
i = target.indexOf(separator, ip[0]);
return (i != -1) ? i : length;
}
/**
* See ECMA 15.5.4.8. Modified to match JS 1.2 - optionally takes
* a limit argument and accepts a regular expression as the split
* argument.
*/
public static Object jsFunction_split(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
// create an empty Array to return;
Scriptable scope = getTopLevelScope(funObj);
Scriptable result = ScriptRuntime.newObject(cx, scope, "Array", null);
// return an array consisting of the target if no separator given
// don't check against undefined, because we want
// 'fooundefinedbar'.split(void 0) to split to ['foo', 'bar']
if (args.length < 1) {
result.put(0, result, target);
return result;
}
// Use the second argument as the split limit, if given.
boolean limited = (args.length > 1) && (args[1] != Undefined.instance);
long limit = 0; // Initialize to avoid warning.
if (limited) {
/* Clamp limit between 0 and 1 + string length. */
limit = ScriptRuntime.toUint32(args[1]);
if (limit > target.length())
limit = 1 + target.length();
}
String separator = null;
int[] matchlen = { 0 };
Object re = null;
RegExpProxy reProxy = cx.getRegExpProxy();
if (reProxy != null && reProxy.isRegExp(args[0])) {
re = args[0];
} else {
separator = ScriptRuntime.toString(args[0]);
matchlen[0] = separator.length();
}
// split target with separator or re
int[] ip = { 0 };
int match;
int len = 0;
boolean[] matched = { false };
String[][] parens = { null };
while ((match = find_split(funObj, target, separator, re, ip,
matchlen, matched, parens)) >= 0)
{
if ((limited && len >= limit) || (match > target.length()))
break;
String substr;
if (target.length() == 0)
substr = target;
else
substr = target.substring(ip[0], match);
result.put(len, result, substr);
len++;
/*
* Imitate perl's feature of including parenthesized substrings
* that matched part of the delimiter in the new array, after the
* split substring that was delimited.
*/
if (re != null && matched[0] == true) {
int size = parens[0].length;
for (int num = 0; num < size; num++) {
if (limited && len >= limit)
break;
result.put(len, result, parens[0][num]);
len++;
}
matched[0] = false;
}
ip[0] = match + matchlen[0];
if (cx.getLanguageVersion() < Context.VERSION_1_3
&& cx.getLanguageVersion() != Context.VERSION_DEFAULT)
{
/*
* Deviate from ECMA to imitate Perl, which omits a final
* split unless a limit argument is given and big enough.
*/
if (!limited && ip[0] == target.length())
break;
}
}
return result;
}
/**
*
* See ECMA 15.5.4.[9,10]
*/
public static String jsFunction_substring(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
if (args.length < 1)
args = ScriptRuntime.padArguments(args, 1);
String target = ScriptRuntime.toString(thisObj);
int length = target.length();
double start = ScriptRuntime.toInteger(args[0]);
double end;
if (start < 0)
start = 0;
else if (start > length)
start = length;
if (args.length == 1) {
end = length;
} else {
end = ScriptRuntime.toInteger(args[1]);
if (end < 0)
end = 0;
else if (end > length)
end = length;
// swap if end < start
if (end < start) {
if (cx.getLanguageVersion() != Context.VERSION_1_2) {
double temp = start;
start = end;
end = temp;
} else {
// Emulate old JDK1.0 java.lang.String.substring()
end = start;
}
}
}
return target.substring((int)start, (int)end);
}
/**
*
* See ECMA 15.5.4.[11,12]
*/
public static String jsFunction_toLowerCase(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
return target.toLowerCase();
}
public static String jsFunction_toUpperCase(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
return target.toUpperCase();
}
public double jsGet_length() {
return (double) string.length();
}
/**
* Non-ECMA methods.
*/
public static String jsFunction_substr(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
if (args.length < 1)
return target;
double begin = ScriptRuntime.toInteger(args[0]);
double end;
int length = target.length();
if (begin < 0) {
begin += length;
if (begin < 0)
begin = 0;
} else if (begin > length) {
begin = length;
}
if (args.length == 1) {
end = length;
} else {
end = ScriptRuntime.toInteger(args[1]);
if (end < 0)
end = 0;
end += begin;
if (end > length)
end = length;
}
return target.substring((int)begin, (int)end);
}
/**
* Python-esque sequence operations.
*/
public static String jsFunction_concat(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
StringBuffer result = new StringBuffer();
result.append(ScriptRuntime.toString(thisObj));
for (int i = 0; i < args.length; i++)
result.append(ScriptRuntime.toString(args[i]));
return result.toString();
}
public static String jsFunction_slice(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
if (args.length != 0) {
double begin = ScriptRuntime.toInteger(args[0]);
double end;
int length = target.length();
if (begin < 0) {
begin += length;
if (begin < 0)
begin = 0;
} else if (begin > length) {
begin = length;
}
if (args.length == 1) {
end = length;
} else {
end = ScriptRuntime.toInteger(args[1]);
if (end < 0) {
end += length;
if (end < 0)
end = 0;
} else if (end > length) {
end = length;
}
if (end < begin)
end = begin;
}
return target.substring((int)begin, (int)end);
}
return target;
}
/**
* HTML composition aids.
*/
private String tagify(String begin, String end, String value) {
StringBuffer result = new StringBuffer();
result.append('<');
result.append(begin);
if (value != null) {
result.append('=');
result.append(value);
}
result.append('>');
result.append(this.string);
result.append("</");
result.append((end == null) ? begin : end);
result.append('>');
return result.toString();
}
public String jsFunction_bold() {
return tagify("B", null, null);
}
public String jsFunction_italics() {
return tagify("I", null, null);
}
public String jsFunction_fixed() {
return tagify("TT", null, null);
}
public String jsFunction_strike() {
return tagify("STRIKE", null, null);
}
public String jsFunction_small() {
return tagify("SMALL", null, null);
}
public String jsFunction_big() {
return tagify("BIG", null, null);
}
public String jsFunction_blink() {
return tagify("BLINK", null, null);
}
public String jsFunction_sup() {
return tagify("SUP", null, null);
}
public String jsFunction_sub() {
return tagify("SUB", null, null);
}
public String jsFunction_fontsize(String value) {
return tagify("FONT SIZE", "FONT", value);
}
public String jsFunction_fontcolor(String value) {
return tagify("FONT COLOR", "FONT", value);
}
public String jsFunction_link(String value) {
return tagify("A HREF", "A", value);
}
public String jsFunction_anchor(String value) {
return tagify("A NAME", "A", value);
}
public static Object jsFunction_equals(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
String strOther = ScriptRuntime.toString(args[0]);
return new Boolean(target.equals(strOther));
}
public static Object jsFunction_equalsIgnoreCase(Context cx,
Scriptable thisObj,
Object[] args,
Function funObj)
{
String target = ScriptRuntime.toString(thisObj);
String strOther = ScriptRuntime.toString(args[0]);
return new Boolean(target.equalsIgnoreCase(strOther));
}
/**
* Unwrap this NativeString as a j.l.String for LiveConnect use.
*/
public Object unwrap() {
return string;
}
public static Object jsFunction_match(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws JavaScriptException
{
return checkReProxy(cx).match(cx, thisObj, args, funObj);
}
public static Object jsFunction_search(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws JavaScriptException
{
return checkReProxy(cx).search(cx, thisObj, args, funObj);
}
public static Object jsFunction_replace(Context cx, Scriptable thisObj,
Object[] args, Function funObj)
throws JavaScriptException
{
return checkReProxy(cx).replace(cx, thisObj, args, funObj);
}
private static RegExpProxy checkReProxy(Context cx) {
RegExpProxy result = cx.getRegExpProxy();
if (result == null) {
throw cx.reportRuntimeError(cx.getMessage("msg.no.regexp", null));
}
return result;
}
private static final String defaultValue = "";
private String string;
}

View File

@@ -0,0 +1,173 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.Method;
/**
* This class implements the object lookup required for the
* <code>with</code> statement.
* It simply delegates every action to its prototype except
* for operations on its parent.
*/
public class NativeWith implements Scriptable {
public static void init(Scriptable scope) {
NativeWith w = new NativeWith();
w.setPrototype(ScriptableObject.getObjectPrototype(scope));
Method[] m = FunctionObject.findMethods(NativeWith.class,
"jsConstructor");
FunctionObject f = new FunctionObject("With", m[0], scope);
f.addAsConstructor(scope, w);
}
public NativeWith() {
}
public NativeWith(Scriptable parent, Scriptable prototype) {
this.parent = parent;
this.prototype = prototype;
}
public String getClassName() {
return "With";
}
public boolean has(String id, Scriptable start) {
if (start == this)
start = prototype;
return prototype.has(id, start);
}
public boolean has(int index, Scriptable start) {
if (start == this)
start = prototype;
return prototype.has(index, start);
}
public Object get(String id, Scriptable start) {
if (start == this)
start = prototype;
return prototype.get(id, start);
}
public Object get(int index, Scriptable start) {
if (start == this)
start = prototype;
return prototype.get(index, start);
}
public void put(String id, Scriptable start, Object value) {
if (start == this)
start = prototype;
prototype.put(id, start, value);
}
public void put(int index, Scriptable start, Object value) {
if (start == this)
start = prototype;
prototype.put(index, start, value);
}
public void delete(String id) {
prototype.delete(id);
}
public void delete(int index) {
prototype.delete(index);
}
public Scriptable getPrototype() {
return prototype;
}
public void setPrototype(Scriptable prototype) {
this.prototype = prototype;
}
public Scriptable getParentScope() {
return parent;
}
public void setParentScope(Scriptable parent) {
this.parent = parent;
}
public Object[] getIds() {
return prototype.getIds();
}
public Object getDefaultValue(Class typeHint) {
return prototype.getDefaultValue(typeHint);
}
public boolean hasInstance(Scriptable value) {
return prototype.hasInstance(value);
}
public static Object jsConstructor(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
Object[] msgArgs = { "With" };
throw Context.reportRuntimeError(
Context.getMessage("msg.cant.call.indirect", msgArgs));
}
public static Object newWithSpecial(Context cx, Object[] args,
Function ctorObj, boolean inNewExpr)
{
if (!inNewExpr) {
Object[] errArgs = { "With" };
throw Context.reportRuntimeError(Context.getMessage
("msg.only.from.new", errArgs));
}
ScriptRuntime.checkDeprecated(cx, "With");
Scriptable scope = ScriptableObject.getTopLevelScope(ctorObj);
NativeWith thisObj = new NativeWith();
thisObj.setPrototype(args.length == 0
? ScriptableObject.getClassPrototype(scope,
"Object")
: ScriptRuntime.toObject(scope, args[0]));
thisObj.setParentScope(scope);
return thisObj;
}
private Scriptable prototype;
private Scriptable parent;
private Scriptable constructor;
}

View File

@@ -0,0 +1,469 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.*;
/**
* This class implements the root of the intermediate representation.
*
* @author Norris Boyd
* @author Mike McCabe
*/
public class Node implements Cloneable {
public Node(int nodeType) {
type = nodeType;
}
public Node(int nodeType, Node child) {
type = nodeType;
first = last = child;
child.next = null;
}
public Node(int nodeType, Node left, Node right) {
type = nodeType;
first = left;
last = right;
left.next = right;
right.next = null;
}
public Node(int nodeType, Node left, Node mid, Node right) {
type = nodeType;
first = left;
last = right;
left.next = mid;
mid.next = right;
right.next = null;
}
public Node(int nodeType, Object datum) {
type = nodeType;
this.datum = datum;
}
public Node(int nodeType, Node child, Object datum) {
this(nodeType, child);
this.datum = datum;
}
public Node(int nodeType, Node left, Node right, Object datum) {
this(nodeType, left, right);
this.datum = datum;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public boolean hasChildren() {
return first != null;
}
public Node getFirstChild() {
return first;
}
public Node getLastChild() {
return last;
}
public Node getNextSibling() {
return next;
}
public Node getChildBefore(Node child) {
if (child == first)
return null;
Node n = first;
while (n.next != child) {
n = n.next;
if (n == null)
throw new RuntimeException("node is not a child");
}
return n;
}
public Node getLastSibling() {
Node n = this;
while (n.next != null) {
n = n.next;
}
return n;
}
public ShallowNodeIterator getChildIterator() {
return new ShallowNodeIterator(first);
}
public PreorderNodeIterator getPreorderIterator() {
return new PreorderNodeIterator(this);
}
public void addChildToFront(Node child) {
child.next = first;
first = child;
if (last == null) {
last = child;
}
}
public void addChildToBack(Node child) {
child.next = null;
if (last == null) {
first = last = child;
return;
}
last.next = child;
last = child;
}
public void addChildrenToFront(Node children) {
Node lastSib = children.getLastSibling();
lastSib.next = first;
first = children;
if (last == null) {
last = lastSib;
}
}
public void addChildrenToBack(Node children) {
if (last != null) {
last.next = children;
}
last = children.getLastSibling();
if (first == null) {
first = children;
}
}
/**
* Add 'child' before 'node'.
*/
public void addChildBefore(Node newChild, Node node) {
if (newChild.next != null)
throw new RuntimeException(
"newChild had siblings in addChildBefore");
if (first == node) {
newChild.next = first;
first = newChild;
return;
}
Node prev = getChildBefore(node);
addChildAfter(newChild, prev);
}
/**
* Add 'child' after 'node'.
*/
public void addChildAfter(Node newChild, Node node) {
if (newChild.next != null)
throw new RuntimeException(
"newChild had siblings in addChildAfter");
newChild.next = node.next;
node.next = newChild;
if (last == node)
last = newChild;
}
public void removeChild(Node child) {
Node prev = getChildBefore(child);
if (prev == null)
first = first.next;
else
prev.next = child.next;
if (child == last) last = prev;
child.next = null;
}
public void replaceChild(Node child, Node newChild) {
newChild.next = child.next;
if (child == first) {
first = newChild;
} else {
Node prev = getChildBefore(child);
prev.next = newChild;
}
if (child == last)
last = newChild;
child.next = null;
}
public static final int
TARGET_PROP = 1,
BREAK_PROP = 2,
CONTINUE_PROP = 3,
ENUM_PROP = 4,
FUNCTION_PROP = 5,
TEMP_PROP = 6,
LOCAL_PROP = 7,
CODEOFFSET_PROP = 8,
FIXUPS_PROP = 9,
VARS_PROP = 10,
USES_PROP = 11,
REGEXP_PROP = 12,
CASES_PROP = 13,
DEFAULT_PROP = 14,
CASEARRAY_PROP = 15,
SOURCENAME_PROP = 16,
SOURCE_PROP = 17,
TYPE_PROP = 18,
SPECIAL_PROP_PROP = 19,
LABEL_PROP = 20,
FINALLY_PROP = 21,
LOCALCOUNT_PROP = 22,
/*
the following properties are defined and manipulated by the
optimizer -
TARGETBLOCK_PROP - the block referenced by a branch node
VARIABLE_PROP - the variable referenced by a BIND or NAME node
LASTUSE_PROP - that variable node is the last reference before
a new def or the end of the block
ISNUMBER_PROP - this node generates code on Number children and
delivers a Number result (as opposed to Objects)
DIRECTCALL_PROP - this call node should emit code to test the function
object against the known class and call diret if it
matches.
*/
TARGETBLOCK_PROP = 23,
VARIABLE_PROP = 24,
LASTUSE_PROP = 25,
ISNUMBER_PROP = 26,
DIRECTCALL_PROP = 27,
BASE_LINENO_PROP = 28,
END_LINENO_PROP = 29,
SPECIALCALL_PROP = 30;
public static final int // this value of the ISNUMBER_PROP specifies
BOTH = 0, // which of the children are Number types
LEFT = 1,
RIGHT = 2;
private static String propNames[];
private static final String propToString(int propType) {
if (Context.printTrees && propNames == null) {
// If Context.printTrees is false, the compiler
// can remove all these strings.
String[] a = {
"target",
"break",
"continue",
"enum",
"function",
"temp",
"local",
"codeoffset",
"fixups",
"vars",
"uses",
"regexp",
"switches",
"cases",
"default",
"casearray",
"sourcename",
"source",
"type",
"special_prop",
"label",
"finally",
"localcount",
"targetblock",
"variable",
"lastuse",
"isnumber",
"directcall",
"base_lineno",
"end_lineno",
"specialcall"
};
propNames = a;
}
return propNames[propType-1];
}
public Object getProp(int propType) {
if (props == null)
return null;
return props.get(new Integer(propType));
}
public void putProp(int propType, Object prop) {
if (props == null)
props = new Hashtable(2);
if (prop == null)
props.remove(new Integer(propType));
else
props.put(new Integer(propType), prop);
}
public Object getDatum() {
return datum;
}
public void setDatum(Object datum) {
this.datum = datum;
}
public int getInt() {
return ((Number) datum).intValue();
}
public double getDouble() {
return ((Number) datum).doubleValue();
}
public long getLong() {
return ((Number) datum).longValue();
}
public String getString() {
return (String) datum;
}
public Node cloneNode() {
Node result;
try {
result = (Node) super.clone();
result.next = null;
result.first = null;
result.last = null;
}
catch (CloneNotSupportedException e) {
throw new RuntimeException(e.getMessage());
}
return result;
}
public String toString() {
if (Context.printTrees) {
StringBuffer sb = new StringBuffer(TokenStream.tokenToName(type));
if (type == TokenStream.TARGET) {
sb.append(" ");
sb.append(hashCode());
}
if (datum != null) {
sb.append(' ');
sb.append(datum.toString());
}
if (props == null)
return sb.toString();
Enumeration keys = props.keys();
Enumeration elems = props.elements();
while (keys.hasMoreElements()) {
Integer key = (Integer) keys.nextElement();
Object elem = elems.nextElement();
sb.append(" [");
sb.append(propToString(key.intValue()));
sb.append(": ");
switch (key.intValue()) {
case FIXUPS_PROP : // can't add this as it recurses
sb.append("fixups property");
break;
case SOURCE_PROP : // can't add this as it has unprintables
sb.append("source property");
break;
case TARGETBLOCK_PROP : // can't add this as it recurses
sb.append("target block property");
break;
case LASTUSE_PROP : // can't add this as it is dull
sb.append("last use property");
break;
default :
sb.append(elem.toString());
break;
}
sb.append("]");
}
return sb.toString();
}
return null;
}
public String toStringTree() {
return toStringTreeHelper(0);
}
private String toStringTreeHelper(int level) {
if (Context.printTrees) {
StringBuffer s = new StringBuffer();
for (int i=0; i < level; i++) {
s.append(" ");
}
s.append(toString());
s.append('\n');
ShallowNodeIterator iterator = getChildIterator();
if (iterator != null) {
while (iterator.hasMoreElements()) {
Node n = (Node) iterator.nextElement();
if (n.getType() == TokenStream.FUNCTION) {
Node p = (Node) n.getProp(Node.FUNCTION_PROP);
if (p != null)
n = p;
}
s.append(n.toStringTreeHelper(level+1));
}
}
return s.toString();
}
return "";
}
public Node getFirst() { return first; }
public Node getNext() { return next; }
protected int type; // type of the node; TokenStream.NAME for example
protected Node next; // next sibling
protected Node first; // first element of a linked list of children
protected Node last; // last element of a linked list of children
protected Hashtable props;
protected Object datum; // encapsulated data; depends on type
}

View File

@@ -0,0 +1,712 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Hashtable;
import java.util.Stack;
import java.util.Vector;
/**
* This class transforms a tree to a lower-level representation for codegen.
*
* @see Node
* @author Norris Boyd
*/
public class NodeTransformer {
/**
* Return new instance of this class. So that derived classes
* can override methods of the transformer.
*/
public NodeTransformer newInstance() {
return new NodeTransformer();
}
public IRFactory createIRFactory(TokenStream ts, Scriptable scope) {
return new IRFactory(ts, scope);
}
public Node transform(Node tree, Node enclosing, TokenStream ts,
Scriptable scope)
{
loops = new Stack();
loopEnds = new Stack();
inFunction = tree.getType() == TokenStream.FUNCTION;
if (!inFunction) {
addVariables(tree, getVariableTable(tree));
}
irFactory = createIRFactory(ts, scope);
// to save against upchecks if no finally blocks are used.
boolean hasFinally = false;
PreorderNodeIterator iterator = tree.getPreorderIterator();
Node node;
while ((node = iterator.nextNode()) != null) {
int type = node.getType();
typeswitch:
switch (type) {
case TokenStream.FUNCTION:
if (node == tree) {
// Add the variables to variable table, the
// parameters were added earlier.
VariableTable vars = getVariableTable(tree);
addVariables(tree, vars);
// Add return to end if needed.
Node stmts = node.getLastChild();
Node lastStmt = stmts.getLastChild();
if (lastStmt == null ||
lastStmt.getType() != TokenStream.RETURN)
{
stmts.addChildToBack(new Node(TokenStream.RETURN));
}
} else {
if (inFunction) {
// Nested functions require activation objects.
((FunctionNode) tree).setRequiresActivation(true);
}
FunctionNode fnNode = (FunctionNode)
node.getProp(Node.FUNCTION_PROP);
addParameters(fnNode);
NodeTransformer inner = newInstance();
fnNode = (FunctionNode)
inner.transform(fnNode, tree, ts, scope);
node.putProp(Node.FUNCTION_PROP, fnNode);
Vector fns = (Vector) tree.getProp(Node.FUNCTION_PROP);
if (fns == null) {
fns = new Vector(7);
tree.putProp(Node.FUNCTION_PROP, fns);
}
fns.addElement(fnNode);
}
break;
case TokenStream.LABEL:
{
Node child = node.getFirstChild();
node.removeChild(child);
String id = child.getString();
// check against duplicate labels...
for (int i=loops.size()-1; i >= 0; i--) {
Node n = (Node) loops.elementAt(i);
if (n.getType() == TokenStream.LABEL) {
String otherId = (String)n.getProp(Node.LABEL_PROP);
if (id.equals(otherId)) {
Object[] errArgs = { id };
String message = Context.getMessage("msg.dup.label",
errArgs);
reportMessage(Context.getContext(), message, node,
tree, true, scope);
break typeswitch;
}
}
}
node.putProp(Node.LABEL_PROP, id);
/* Make a target and put it _after_ the following
* node. And in the LABEL node, so breaks get the
* right target.
*/
Node breakTarget = new Node(TokenStream.TARGET);
Node parent = iterator.getCurrentParent();
Node next = node.getNextSibling();
while (next != null &&
(next.getType() == TokenStream.LABEL ||
next.getType() == TokenStream.TARGET))
next = next.getNextSibling();
if (next == null)
break;
parent.addChildAfter(breakTarget, next);
node.putProp(Node.BREAK_PROP, breakTarget);
if (next.getType() == TokenStream.LOOP) {
node.putProp(Node.CONTINUE_PROP,
next.getProp(Node.CONTINUE_PROP));
}
loops.push(node);
loopEnds.push(breakTarget);
break;
}
case TokenStream.SWITCH:
{
Node breakTarget = new Node(TokenStream.TARGET);
Node parent = iterator.getCurrentParent();
parent.addChildAfter(breakTarget, node);
// make all children siblings except for selector
Node sib = node;
Node child = node.getFirstChild().next;
while (child != null) {
Node next = child.next;
node.removeChild(child);
parent.addChildAfter(child, sib);
sib = child;
child = next;
}
node.putProp(Node.BREAK_PROP, breakTarget);
loops.push(node);
loopEnds.push(breakTarget);
node.putProp(Node.CASES_PROP, new Vector(13));
break;
}
case TokenStream.DEFAULT:
case TokenStream.CASE:
{
Node sw = (Node) loops.peek();
if (type == TokenStream.CASE) {
Vector cases = (Vector) sw.getProp(Node.CASES_PROP);
cases.addElement(node);
} else {
sw.putProp(Node.DEFAULT_PROP, node);
}
break;
}
case TokenStream.NEWLOCAL : {
Integer localCount
= (Integer)(tree.getProp(Node.LOCALCOUNT_PROP));
if (localCount == null) {
tree.putProp(Node.LOCALCOUNT_PROP, new Integer(1));
}
else {
tree.putProp(Node.LOCALCOUNT_PROP,
new Integer(localCount.intValue() + 1));
}
}
break;
case TokenStream.LOOP:
loops.push(node);
loopEnds.push(node.getProp(Node.BREAK_PROP));
break;
case TokenStream.WITH:
{
if (inFunction) {
// With statements require an activation object.
((FunctionNode) tree).setRequiresActivation(true);
}
loops.push(node);
Node leave = node.getNextSibling();
if (leave.getType() != TokenStream.LEAVEWITH) {
throw new RuntimeException("Unexpected tree");
}
loopEnds.push(leave);
break;
}
case TokenStream.TRY:
{
Node finallytarget = (Node)node.getProp(Node.FINALLY_PROP);
if (finallytarget != null) {
hasFinally = true;
loops.push(node);
loopEnds.push(finallytarget);
}
Integer localCount
= (Integer)(tree.getProp(Node.LOCALCOUNT_PROP));
if (localCount == null) {
tree.putProp(Node.LOCALCOUNT_PROP, new Integer(1));
}
else {
tree.putProp(Node.LOCALCOUNT_PROP,
new Integer(localCount.intValue() + 1));
}
break;
}
case TokenStream.TARGET:
case TokenStream.LEAVEWITH:
if (!loopEnds.empty() && loopEnds.peek() == node) {
loopEnds.pop();
loops.pop();
}
break;
case TokenStream.RETURN:
{
/* If we didn't support try/finally, it wouldn't be
* necessary to put LEAVEWITH nodes here... but as
* we do need a series of JSR FINALLY nodes before
* each RETURN, we need to ensure that each finally
* block gets the correct scope... which could mean
* that some LEAVEWITH nodes are necessary.
*/
if (!hasFinally)
break; // skip the whole mess.
Node parent = iterator.getCurrentParent();
for (int i=loops.size()-1; i >= 0; i--) {
Node n = (Node) loops.elementAt(i);
int elemtype = n.getType();
if (elemtype == TokenStream.TRY) {
Node jsrnode = new Node(TokenStream.JSR);
Object jsrtarget = n.getProp(Node.FINALLY_PROP);
jsrnode.putProp(Node.TARGET_PROP, jsrtarget);
parent.addChildBefore(jsrnode, node);
} else if (elemtype == TokenStream.WITH) {
parent.addChildBefore(new Node(TokenStream.LEAVEWITH),
node);
}
}
break;
}
case TokenStream.BREAK:
case TokenStream.CONTINUE:
{
Node loop = null;
boolean labelled = node.hasChildren();
String id = null;
if (labelled) {
/* get the label */
Node child = node.getFirstChild();
id = child.getString();
node.removeChild(child);
}
int i;
Node parent = iterator.getCurrentParent();
for (i=loops.size()-1; i >= 0; i--) {
Node n = (Node) loops.elementAt(i);
int elemtype = n.getType();
if (elemtype == TokenStream.WITH) {
parent.addChildBefore(new Node(TokenStream.LEAVEWITH),
node);
} else if (elemtype == TokenStream.TRY) {
Node jsrFinally = new Node(TokenStream.JSR);
Object jsrTarget = n.getProp(Node.FINALLY_PROP);
jsrFinally.putProp(Node.TARGET_PROP, jsrTarget);
parent.addChildBefore(jsrFinally, node);
} else if (!labelled &&
(elemtype == TokenStream.LOOP ||
(elemtype == TokenStream.SWITCH &&
type == TokenStream.BREAK)))
{
/* if it's a simple break/continue, break from the
* nearest enclosing loop or switch
*/
loop = n;
break;
} else if (labelled &&
elemtype == TokenStream.LABEL &&
id.equals((String)n.getProp(Node.LABEL_PROP)))
{
loop = n;
break;
}
}
int propType = type == TokenStream.BREAK
? Node.BREAK_PROP
: Node.CONTINUE_PROP;
Node target = loop == null
? null
: (Node) loop.getProp(propType);
if (loop == null || target == null) {
String message;
if (!labelled) {
// didn't find an appropriate target
if (type == TokenStream.CONTINUE) {
message = Context.getMessage
("msg.continue.outside", null);
} else {
message = Context.getMessage
("msg.bad.break", null);
}
} else if (loop != null) {
message = Context.getMessage("msg.continue.nonloop",
null);
} else {
Object[] errArgs = { id };
message = Context.getMessage
("msg.undef.label", errArgs);
}
reportMessage(Context.getContext(), message, node,
tree, true, scope);
node.setType(TokenStream.NOP);
break;
}
node.setType(TokenStream.GOTO);
node.putProp(Node.TARGET_PROP, target);
break;
}
case TokenStream.CALL:
if (isSpecialCallName(tree, node))
node.putProp(Node.SPECIALCALL_PROP, Boolean.TRUE);
visitCall(node, tree);
break;
case TokenStream.NEW:
if (isSpecialCallName(tree, node))
node.putProp(Node.SPECIALCALL_PROP, Boolean.TRUE);
visitNew(node, tree);
break;
case TokenStream.DOT:
{
Node right = node.getLastChild();
right.setType(TokenStream.STRING);
break;
}
case TokenStream.EXPRSTMT:
node.setType(inFunction ? TokenStream.POP : TokenStream.POPV);
break;
case TokenStream.OBJECT:
{
Vector regexps = (Vector) tree.getProp(Node.REGEXP_PROP);
if (regexps == null) {
regexps = new Vector(3);
tree.putProp(Node.REGEXP_PROP, regexps);
}
regexps.addElement(node);
Node n = new Node(TokenStream.OBJECT);
iterator.replaceCurrent(n);
n.putProp(Node.REGEXP_PROP, node);
break;
}
case TokenStream.VAR:
{
ShallowNodeIterator i = node.getChildIterator();
Node result = new Node(TokenStream.BLOCK);
while (i.hasMoreElements()) {
Node n = i.nextNode();
if (!n.hasChildren())
continue;
Node init = n.getFirstChild();
n.removeChild(init);
Node asn = (Node) irFactory.createAssignment(
TokenStream.NOP, n, init, null,
false);
Node pop = new Node(TokenStream.POP, asn, node.getDatum());
result.addChildToBack(pop);
}
iterator.replaceCurrent(result);
break;
}
case TokenStream.DELPROP:
case TokenStream.SETNAME:
{
if (!inFunction || inWithStatement())
break;
Node bind = node.getFirstChild();
if (bind == null || bind.getType() != TokenStream.BINDNAME)
break;
String name = bind.getString();
if (name.equals("arguments")) {
// use of "arguments" requires an activation object.
((FunctionNode) tree).setRequiresActivation(true);
}
VariableTable vars = getVariableTable(tree);
if (vars.get(name) != null) {
if (type == TokenStream.SETNAME) {
node.setType(TokenStream.SETVAR);
bind.setType(TokenStream.STRING);
} else {
// Local variables are by definition permanent
Node n = new Node(TokenStream.PRIMARY,
new Integer(TokenStream.FALSE));
iterator.replaceCurrent(n);
}
}
break;
}
case TokenStream.GETPROP:
if (inFunction) {
Node n = node.getFirstChild().getNextSibling();
String name = n == null ? "" : n.getString();
if (name.equals("arguments") ||
(name.equals("length") &&
Context.getContext().getLanguageVersion() ==
Context.VERSION_1_2))
{
// Use of "arguments" or "length" in 1.2 requires
// an activation object.
((FunctionNode) tree).setRequiresActivation(true);
}
}
break;
case TokenStream.NAME:
{
if (!inFunction || inWithStatement())
break;
String name = node.getString();
if (name.equals("arguments")) {
// Use of "arguments" requires an activation object.
((FunctionNode) tree).setRequiresActivation(true);
}
VariableTable vars = getVariableTable(tree);
if (vars.get(name) != null) {
node.setType(TokenStream.GETVAR);
}
break;
}
}
}
return tree;
}
protected void addVariables(Node tree, VariableTable vars) {
// OPT: a whole pass to collect variables seems expensive.
// Could special case to go into statements only.
boolean inFunction = tree.getType() == TokenStream.FUNCTION;
PreorderNodeIterator iterator = tree.getPreorderIterator();
Hashtable ht = null;
Node node;
while ((node = iterator.nextNode()) != null) {
int nodeType = node.getType();
if (inFunction && nodeType == TokenStream.FUNCTION &&
node != tree)
{
// In a function with both "var x" and "function x",
// disregard the var statement, independent of order.
String name = node.getString();
if (name == null)
continue;
vars.removeLocal(name);
if (ht == null)
ht = new Hashtable();
ht.put(name, Boolean.TRUE);
}
if (nodeType != TokenStream.VAR)
continue;
ShallowNodeIterator i = node.getChildIterator();
while (i.hasMoreElements()) {
Node n = i.nextNode();
if (ht == null || ht.get(n.getString()) == null)
vars.addLocal(n.getString());
}
}
}
protected void addParameters(FunctionNode fnNode) {
VariableTable vars = fnNode.getVariableTable();
Node args = fnNode.getFirstChild();
if (args.getType() == TokenStream.LP && vars.getParameterCount() == 0)
{
// Add parameters
ShallowNodeIterator i = args.getChildIterator();
while (i.hasMoreElements()) {
Node n = i.nextNode();
String arg = n.getString();
vars.addParameter(arg);
}
}
}
protected void visitNew(Node node, Node tree) {
}
protected void visitCall(Node node, Node tree) {
/*
* For
* Call(GetProp(a, b), c, d) // or GetElem...
* we wish to evaluate as
* Call(GetProp(tmp=a, b), tmp, c, d)
*
* for
* Call(Name("a"), b, c)
* we wish to evaluate as
* Call(GetProp(tmp=GetBase("a"), "a"), tmp, b, c)
*
* and for
* Call(a, b, c);
* we wish to evaluate as
* Call(tmp=a, Parent(tmp), c, d)
*/
Node left = node.getFirstChild();
// count the arguments
int argCount = 0;
Node arg = left.getNextSibling();
while (arg != null) {
arg = arg.getNextSibling();
argCount++;
}
boolean addGetThis = false;
if (left.getType() == TokenStream.NAME) {
VariableTable vars = getVariableTable(tree);
String name = left.getString();
if (inFunction && vars.get(name) != null && !inWithStatement()) {
// call to a var. Transform to Call(GetVar("a"), b, c)
left.setType(TokenStream.GETVAR);
// fall through to code to add GetParent
} else {
// transform to Call(GetProp(GetBase("a"), "a"), b, c)
node.removeChild(left);
left.setType(TokenStream.GETBASE);
Node str = left.cloneNode();
str.setType(TokenStream.STRING);
Node getProp = new Node(TokenStream.GETPROP, left, str);
node.addChildToFront(getProp);
left = getProp;
// Conditionally set a flag to add a GETTHIS node.
// The getThis entry in the runtime will take a
// Scriptable object intended to be used as a 'this'
// and make sure that it is neither a With object or
// an activation object.
// Executing getThis requires at least two instanceof
// tests, so we only include it if we are currently
// inside a 'with' statement, or if we are executing
// a script (to protect against an eval inside a with).
addGetThis = inWithStatement() || !inFunction;
// fall through to GETPROP code
}
}
if (left.getType() != TokenStream.GETPROP &&
left.getType() != TokenStream.GETELEM)
{
node.removeChild(left);
Node tmp = irFactory.createNewTemp(left);
Node use = irFactory.createUseTemp(tmp);
use.putProp(Node.TEMP_PROP, tmp);
Node parent = new Node(TokenStream.PARENT, use);
node.addChildToFront(parent);
node.addChildToFront(tmp);
return;
}
Node leftLeft = left.getFirstChild();
left.removeChild(leftLeft);
Node tmp = irFactory.createNewTemp(leftLeft);
left.addChildToFront(tmp);
Node use = irFactory.createUseTemp(tmp);
use.putProp(Node.TEMP_PROP, tmp);
if (addGetThis)
use = new Node(TokenStream.GETTHIS, use);
node.addChildAfter(use, left);
}
protected boolean inWithStatement() {
for (int i=loops.size()-1; i >= 0; i--) {
Node n = (Node) loops.elementAt(i);
if (n.getType() == TokenStream.WITH)
return true;
}
return false;
}
/**
* Return true if the node is a call to a function that requires
* access to the enclosing activation object.
*/
private boolean isSpecialCallName(Node tree, Node node) {
Node left = node.getFirstChild();
boolean isSpecial = false;
if (left.getType() == TokenStream.NAME) {
String name = left.getString();
isSpecial = name.equals("eval") || name.equals("With");
} else {
if (left.getType() == TokenStream.GETPROP) {
String name = left.getLastChild().getString();
isSpecial = name.equals("exec");
}
}
if (isSpecial) {
// Calls to these functions require activation objects.
if (inFunction)
((FunctionNode) tree).setRequiresActivation(true);
return true;
}
return false;
}
protected VariableTable createVariableTable() {
return new VariableTable();
}
protected VariableTable getVariableTable(Node tree) {
if (inFunction) {
return ((FunctionNode)tree).getVariableTable();
}
VariableTable result = (VariableTable)(tree.getProp(Node.VARS_PROP));
if (result == null) {
result = createVariableTable();
tree.putProp(Node.VARS_PROP, result);
}
return result;
}
protected void reportMessage(Context cx, String msg, Node stmt,
Node tree, boolean isError,
Scriptable scope)
{
Object obj = stmt.getDatum();
int lineno = 0;
if (obj != null && obj instanceof Integer)
lineno = ((Integer) obj).intValue();
Object prop = tree == null
? null
: tree.getProp(Node.SOURCENAME_PROP);
if (isError) {
if (scope != null)
throw NativeGlobal.constructError(
cx, "SyntaxError", msg, scope,
(String) prop, lineno, 0, null);
else
cx.reportError(msg, (String) prop, lineno, null, 0);
}
else
cx.reportWarning(msg, (String) prop, lineno, null, 0);
}
protected Stack loops;
protected Stack loopEnds;
protected boolean inFunction;
protected IRFactory irFactory;
}

View File

@@ -0,0 +1,52 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* Thrown if call is attempted on an object that is not a function.
*/
public class NotAFunctionException extends Exception {
public NotAFunctionException() {
}
public NotAFunctionException(String detail) {
super(detail);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,92 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Stack;
/**
* This class implements a preorder tree iterator for the Node class.
*
* @see Node
* @author Norris Boyd
*/
public class PreorderNodeIterator {
public PreorderNodeIterator(Node n) {
start = n;
stack = new Stack();
}
public Node currentNode() {
return current;
}
public Node getCurrentParent() {
return currentParent;
}
public Node nextNode() {
if (current == null)
return current = start;
if (current.first != null) {
stack.push(current);
currentParent = current;
current = current.first;
} else {
current = current.next;
boolean isEmpty;
for (;;) {
isEmpty = stack.isEmpty();
if (isEmpty || current != null)
break;
current = (Node) stack.pop();
current = current.next;
}
currentParent = isEmpty ? null : (Node) stack.peek();
}
return current;
}
public void replaceCurrent(Node newNode) {
currentParent.replaceChild(current, newNode);
current = newNode;
}
private Node start;
private Node current;
private Node currentParent;
private Stack stack;
}

View File

@@ -0,0 +1,50 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* Thrown if errors are detected while attempting to define a property of
* a host object from a Java class or method, or if a property is not found.
*/
public class PropertyException extends Exception {
public PropertyException(String detail) {
super(detail);
}
}

View File

@@ -0,0 +1,71 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
*
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* A proxy for the regexp package, so that the regexp package can be
* loaded optionally.
*
* @author Norris Boyd
*/
public interface RegExpProxy {
public Object executeRegExp(Object regExp, Scriptable scopeObj,
String str, int indexp[], boolean test);
public boolean isRegExp(Object obj);
public Object newRegExp(Context cx, Scriptable scope, String source,
String global, boolean flat);
public Object match(Context cx, Scriptable thisObj, Object[] args,
Function funObj)
throws JavaScriptException;
public Object search(Context cx, Scriptable thisObj, Object[] args,
Function funObj)
throws JavaScriptException;
public Object replace(Context cx, Scriptable thisObj, Object[] args,
Function funObj)
throws JavaScriptException;
public int find_split(Function funObj, String target, String separator,
Object re, int[] ip, int[] matchlen,
boolean[] matched, String[][] parensp);
}

View File

@@ -0,0 +1,73 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* All compiled scripts implement this interface.
* <p>
* This class encapsulates script execution relative to an
* object scope.
* @since 1.3
* @author Norris Boyd
*/
public interface Script {
/**
* Execute the script.
* <p>
* The script is executed in a particular runtime Context, which
* must be associated with the current thread.
* The script is executed relative to a scope--definitions and
* uses of global top-level variables and functions will access
* properties of the scope object. For compliant ECMA
* programs, the scope must be an object that has been initialized
* as a global object using <code>Context.initStandardObjects</code>.
* <p>
*
* @param cx the Context associated with the current thread
* @param scope the scope to execute relative to
* @return the result of executing the script
* @see org.mozilla.javascript.Context#initStandardObjects
* @exception JavaScriptException if an uncaught JavaScript exception
* occurred while executing the script
*/
public Object exec(Context cx, Scriptable scope)
throws JavaScriptException;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,335 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* This is interface that all objects in JavaScript must implement.
* The interface provides for the management of properties and for
* performing conversions.
* <p>
* Host system implementors may find it easier to extend the ScriptableObject
* class rather than implementing Scriptable when writing host objects.
* <p>
* There are many static methods defined in ScriptableObject that perform
* the multiple calls to the Scriptable interface needed in order to
* manipulate properties in prototype chains.
* <p>
*
* @see org.mozilla.javascript.ScriptableObject
* @author Norris Boyd
* @author Nick Thompson
* @author Brendan Eich
*/
public interface Scriptable {
/**
* Get the name of the set of objects implemented by this Java class.
* This corresponds to the [[Class]] operation in ECMA and is used
* by Object.prototype.toString() in ECMA.<p>
* See ECMA 8.6.2 and 15.2.4.2.
*/
public String getClassName();
/**
* Value returned from <code>get</code> if the property is not
* found.
*/
public static final Object NOT_FOUND = new Object();
/**
* Get a named property from the object.
*
* Looks property up in this object and returns the associated value
* if found. Returns NOT_FOUND if not found.
* Note that this method is not expected to traverse the prototype
* chain. This is different from the ECMA [[Get]] operation.
*
* Depending on the property selector, the runtime will call
* this method or the form of <code>get</code> that takes an
* integer:
* <table>
* <tr><th>JavaScript code</th><th>Java code</th></tr>
* <tr><td>a.b </td><td>a.get("b", a)</td></tr>
* <tr><td>a["foo"] </td><td>a.get("foo", a)</td></tr>
* <tr><td>a[3] </td><td>a.get(3, a)</td></tr>
* <tr><td>a["3"] </td><td>a.get(3, a)</td></tr>
* <tr><td>a[3.0] </td><td>a.get(3, a)</td></tr>
* <tr><td>a["3.0"] </td><td>a.get("3.0", a)</td></tr>
* <tr><td>a[1.1] </td><td>a.get("1.1", a)</td></tr>
* <tr><td>a[-4] </td><td>a.get(-4, a)</td></tr>
* </table>
* <p>
* The values that may be returned are limited to the following:
* <UL>
* <LI>java.lang.Boolean objects</LI>
* <LI>java.lang.String objects</LI>
* <LI>java.lang.Number objects</LI>
* <LI>org.mozilla.javascript.Scriptable objects</LI>
* <LI>null</LI>
* <LI>The value returned by Context.getUndefinedValue()</LI>
* <LI>NOT_FOUND</LI>
* </UL>
* @param name the name of the property
* @param start the object in which the lookup began
* @return the value of the property (may be null), or NOT_FOUND
* @see org.mozilla.javascript.Context#getUndefinedValue
*/
public Object get(String name, Scriptable start);
/**
* Get a property from the object selected by an integral index.
*
* Identical to <code>get(String, Scriptable)</code> except that
* an integral index is used to select the property.
*
* @param index the numeric index for the property
* @param start the object in which the lookup began
* @return the value of the property (may be null), or NOT_FOUND
* @see org.mozilla.javascript.Scriptable#get(String,Scriptable)
*/
public Object get(int index, Scriptable start);
/**
* Indicates whether or not a named property is defined in an object.
*
* Does not traverse the prototype chain.<p>
*
* The property is specified by a String name
* as defined for the <code>get</code> method.<p>
*
* @param name the name of the property
* @param start the object in which the lookup began
* @return true if and only if the named property is found in the object
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.ScriptableObject#getProperty
*/
public boolean has(String name, Scriptable start);
/**
* Indicates whether or not an indexed property is defined in an object.
*
* Does not traverse the prototype chain.<p>
*
* The property is specified by an integral index
* as defined for the <code>get</code> method.<p>
*
* @param index the numeric index for the property
* @param start the object in which the lookup began
* @return true if and only if the indexed property is found in the object
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.ScriptableObject#getProperty
*/
public boolean has(int index, Scriptable start);
/**
* Sets a named property in this object.
* <p>
* The property is specified by a string name
* as defined for <code>get</code>.
* <p>
* The possible values that may be passed in are as defined for
* <code>get</code>. A class that implements this method may choose
* to ignore calls to set certain properties, in which case those
* properties are effectively read-only.<p>
* For properties defined in a prototype chain,
* use <code>putProperty</code> in ScriptableObject. <p>
* Note that if a property <i>a</i> is defined in the prototype <i>p</i>
* of an object <i>o</i>, then evaluating <code>o.a = 23</code> will cause
* <code>set</code> to be called on the prototype <i>p</i> with
* <i>o</i> as the <i>start</i> parameter.
* To preserve JavaScript semantics, it is the Scriptable
* object's responsibility to modify <i>o</i>. <p>
* This design allows properties to be defined in prototypes and implemented
* in terms of getters and setters of Java values without consuming slots
* in each instance.<p>
* <p>
* The values that may be set are limited to the following:
* <UL>
* <LI>java.lang.Boolean objects</LI>
* <LI>java.lang.String objects</LI>
* <LI>java.lang.Number objects</LI>
* <LI>org.mozilla.javascript.Scriptable objects</LI>
* <LI>null</LI>
* <LI>The value returned by Context.getUndefinedValue()</LI>
* </UL><p>
* Note that <code>has</code> will be called by the runtime first before
* <code>set</code> is called to determine in which object the
* property is defined.
* Note that this method is not expected to traverse the prototype chain,
* which is different from the ECMA [[Put]] operation.
* @param name the name of the property
* @param start the object whose property is being set
* @param value value to set the property to
* @see org.mozilla.javascript.Scriptable#has
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.ScriptableObject#putProperty
*/
public void put(String name, Scriptable start, Object value);
/**
* Sets an indexed property in this object.
* <p>
* The property is specified by an integral index
* as defined for <code>get</code>.<p>
*
* Identical to <code>put(String, Scriptable, Object)</code> except that
* an integral index is used to select the property.
*
* @param index the numeric index for the property
* @param start the object whose property is being set
* @param value value to set the property to
* @see org.mozilla.javascript.Scriptable#has
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.Scriptable#put(String,Scriptable,Object)
* @see org.mozilla.javascript.ScriptaleObject#putProperty
*/
public void put(int index, Scriptable start, Object value);
/**
* Removes a property from this object.
* This operation corresponds to the ECMA [[Delete]] except that
* the no result is returned. The runtime will guarantee that this
* method is called only if the property exists. After this method
* is called, the runtime will call Scriptable.has to see if the
* property has been removed in order to determine the boolean
* result of the delete operator as defined by ECMA 11.4.1.
* <p>
* A property can be made permanent by ignoring calls to remove
* it.<p>
* The property is specified by a String name
* as defined for <code>get</code>.
* <p>
* To delete properties defined in a prototype chain,
* see deleteProperty in ScriptableObject.
* @param name the identifier for the property
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.ScriptableObject#deleteProperty
*/
public void delete(String name);
/**
* Removes a property from this object.
*
* The property is specified by an integral index
* as defined for <code>get</code>.
* <p>
* To delete properties defined in a prototype chain,
* see deleteProperty in ScriptableObject.
*
* Identical to <code>delete(String)</code> except that
* an integral index is used to select the property.
*
* @param index the numeric index for the property
* @see org.mozilla.javascript.Scriptable#get
* @see org.mozilla.javascript.ScriptableObject#deleteProperty
*/
public void delete(int index);
/**
* Get the prototype of the object.
* @return the prototype
*/
public Scriptable getPrototype();
/**
* Set the prototype of the object.
* @param prototype the prototype to set
*/
public void setPrototype(Scriptable prototype);
/**
* Get the parent scope of the object.
* @return the parent scope
*/
public Scriptable getParentScope();
/**
* Set the parent scope of the object.
* @param parent the parent scope to set
*/
public void setParentScope(Scriptable parent);
/**
* Get an array of property ids.
*
* Not all property ids need be returned. Those properties
* whose ids are not returned are considered non-enumerable.
*
* @return an array of Objects. Each entry in the array is either
* a java.lang.String or a java.lang.Number
*/
public Object[] getIds();
/**
* Get the default value of the object with a given hint.
* The hints are String.class for type String, Number.class for type
* Number, Scriptable.class for type Object, and Boolean.class for
* type Boolean. <p>
*
* A <code>hint</code> of null means "no hint".
*
* See ECMA 8.6.2.6.
*
* @param hint the type hint
* @return the default value
*/
public Object getDefaultValue(Class hint);
/**
* The instanceof operator.
*
* <p>
* The JavaScript code "lhs instanceof rhs" causes rhs.hasInstance(lhs) to
* be called.
*
* <p>
* The return value is implementation dependent so that embedded host objects can
* return an appropriate value. See the JS 1.3 language documentation for more
* detail.
*
* <p>This operator corresponds to the proposed EMCA [[HasInstance]] operator.
*
* @param instance The value that appeared on the LHS of the instanceof
* operator
*
* @return an implementation dependent value
*/
public boolean hasInstance(Scriptable instance);
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,123 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* This class describes the support needed to implement security.
* <p>
* Three main pieces of functionality are required to implement
* security for JavaScript. First, it must be possible to define
* classes with an associated security context. (This security
* context may be any object that has meaning to an embedding;
* for a client-side JavaScript embedding this would typically
* be an origin URL and/or a digital certificate.) Next it
* must be possible to get the current class context so that
* the implementation can determine securely which class is
* requesting a privileged action. And finally, it must be
* possible to map a class back into a security context so that
* additional classes may be defined with that security context.
* <p>
* These three pieces of functionality are encapsulated in the
* SecuritySupport class.
*
* @see org.mozilla.javascript.Context
* @see java.lang.ClassLoader
* @since 1.4 Release 2
* @author Norris Boyd
*/
public interface SecuritySupport {
/**
* Define and load a Java class.
* <p>
* In embeddings that care about security, the securityDomain
* must be associated with the defined class such that a call to
* getsecurityDomain with that class will return this security
* context.
* <p>
* @param name the name of the class
* @param data the bytecode of the class
* @param securityDomain some object specifying the security
* context of the code that is defining this class.
* Embeddings that don't care about security may allow
* null here. This value propagated from the values passed
* into methods of Context that evaluate scripts.
* @see java.lang.ClassLoader#defineClass
*/
public Class defineClass(String name, byte[] data,
Object securityDomain);
/**
* Get the current class Context.
* <p>
* This functionality is supplied by SecurityManager.getClassContext,
* but only one SecurityManager may be instantiated in a single JVM
* at any one time. So implementations that care about security must
* provide access to this functionality through this interface.
* <p>
* Note that the 0th entry of the returned array should be the class
* of the caller of this method. So if this method is implemented by
* calling SecurityManager.getClassContext, this method must allocate
* a new, shorter array to return.
*/
public Class[] getClassContext();
/**
* Return the security context associated with the given class.
* <p>
* If <code>cl</code> is a class defined through a call to
* SecuritySupport.defineClass, then return the security
* context from that call. Otherwise return null.
* @param cl a class potentially defined by defineClass
* @return a security context object previously passed to defineClass
*/
public Object getSecurityDomain(Class cl);
/**
* Return true iff the Java class with the given name should be exposed
* to scripts.
* <p>
* An embedding may filter which Java classes are exposed through
* LiveConnect to JavaScript scripts.
* @param fullClassName the full name of the class (including the package
* name, with '.' as a delimiter). For example the
* standard string class is "java.lang.String"
* @return whether or not to reveal this class to scripts
*/
public boolean visibleToScripts(String fullClassName);
}

View File

@@ -0,0 +1,69 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.util.Enumeration;
/**
* This class implements a child iterator for the Node class.
*
* @see Node
* @author Norris Boyd
*/
public class ShallowNodeIterator implements Enumeration {
public ShallowNodeIterator(Node n) {
current = n;
}
public boolean hasMoreElements() {
return current != null;
}
public Object nextElement() {
return nextNode();
}
public Node nextNode() {
Node result = current;
current = current.next;
return result;
}
private Node current;
}

View File

@@ -0,0 +1,222 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* John Bandhauer
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// DEBUG API class
package org.mozilla.javascript;
/**
* This interface supports managing incrementally updated source text items.
* <p>
* Items have immutable names. They can be valid or invalid. They can
* accumulate text, but existing text can not be overwritten. They can be
* marked as 'complete', 'aborted', etc. They can be cleared of all text.
* See status flags for details.
*
* @see org.mozilla.javascript.SourceTextManager
* @author John Bandhauer
*/
public interface SourceTextItem
{
/**
* Possible status values...
*/
/**
* Item just created, no text added yet.
*/
public static final int INITED = 0;
/**
* Item has some text, likely that more will be added.
*/
public static final int PARTIAL = 1;
/**
* Item has all the text it is going to get.
*/
public static final int COMPLETED = 2;
/**
* User aborted loading of text, some text may be in item.
*/
public static final int ABORTED = 3;
/**
* Loading of text failed, some text may be in item.
*/
public static final int FAILED = 4;
/**
* Whatever text was in item has been cleared by a consumer.
*/
public static final int CLEARED = 5;
/**
* Item has be marked as invalid and has no useful information.
*/
public static final int INVALID = 6;
/**
* Append some text.
* <p>
* This only succeeds if status is INITED or PARTIAL.
*
* @param text String to append
* @return true if succeeded, false if failed
*/
public boolean append(String text);
/**
* Append a char.
* <p>
* This only succeeds if status is INITED or PARTIAL.
*
* @param c char to append
* @return true if succeeded, false if failed
*/
public boolean append(char c);
/**
* Append a char from a char[].
* <p>
* This only succeeds if status is INITED or PARTIAL.
*
* @param buf char[] from which to append
* @param offset offset into char[] from which to append
* @param count count of chars to append
* @return true if succeeded, false if failed
*/
public boolean append(char[] buf, int offset, int count);
/**
* Set status to COMPLETED.
* <p>
* meaning: all the text is there, it is complete, no problems.
* This only succeeds if status is INITED or PARTIAL.
*
* @return true if succeeded, false if failed
*/
public boolean complete();
/**
* Set status to ABORTED.
* <p>
* meaning: some text might be there, but user aborted text loading.
* This only succeeds if status is INITED or PARTIAL.
*
* @return true if succeeded, false if failed
*/
public boolean abort();
/**
* Set status to FAILED.
* <p>
* meaning: some text might be there, but loading failed.
* This only succeeds if status is INITED or PARTIAL.
*
* @return true if succeeded, false if failed
*/
public boolean fail();
/**
* Clear the text and set status to CLEARED.
* <p>
* meaning: consumer of the text has what he wants, leave this
* as an emptly placeholder.
* This succeeds unless status is INVALID.
*
* @return true if succeeded, false if failed
*/
public boolean clear();
/**
* Clear the text and set status to INVALID.
* <p>
* meaning: This item is not to be used, likely the SourceTextManager
* has been asked to create a new item (with potentially different
* text) in its place.
* This succeeds unless status is INVALID.
*
* @return true if succeeded, false if failed
*/
public boolean invalidate();
/**
* Get the Current Text.
*
* @return the text, null if INVALID
*/
public String getText();
/**
* Get the name.
*
* @return the name (immutable).
*/
public String getName();
/**
* Get the status.
*
* @return the current status
*/
public int getStatus();
/**
* Get the validity status.
*
* @return true if item is valid, false if not
*/
public boolean isValid();
/**
* Get a counter representing the modification count of the item.
* <p>
* Any consumer of the item may look at this value and store it at one
* point in time and then later look at the value again. If the
* value has increased, then the consumer can know that the item has
* been modified in some way and can then take the appropriate action.
* If the count has not changed from one point in time to another,
* then the item is guarenteed to not have changed in any way.
*
* NOTE: this value is not guaranteed to start at 0;
*
* @return the alter count
*/
public int getAlterCount();
}

View File

@@ -0,0 +1,82 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* John Bandhauer
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// DEBUG API class
package org.mozilla.javascript;
import java.util.Enumeration;
/**
* This interface supports managing incrementally updated source text.
*
* @see org.mozilla.javascript.SourceTextItem
* @see org.mozilla.javascript.Context#setSourceTextManager
* @author John Bandhauer
*/
public interface SourceTextManager
{
/**
* Create a new item.
* <p>
* A new item is always created. If an item with this name already exists,
* then that preexisting iten is is set as invalid.
*
* @param name item name - in most embedings this will be a URL or filename
* @return new item
*/
public SourceTextItem newItem(String name);
/**
* Get an existing item.
* <p>
* If an item with this name already exists, then return it. Otherwise,
* return null.
*
* @param name item name - in most embedings this will be a URL or filename
* @return existing item (or null if none)
*/
public SourceTextItem getItem(String name);
/**
* Get all items.
* <p>
* Takes a snapshot of the list of all items and returns an Enumeration.
*
* @return snapshot Enumeration of all items
*/
public Enumeration getAllItems();
}

View File

@@ -0,0 +1,182 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Mike McCabe
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
/*
* A quick and dirty driver for testing and timing the scanner, parser
* and optimizer.
*/
package org.mozilla.javascript;
import java.io.*;
import java.lang.reflect.*;
class TestScan
{
public static void main(String[] args) throws IOException {
String file = null;
String opt = "nt";
int level = 0;
if (args.length == 1) {
file = args[0];
opt = "-nt";
}
else if (args.length == 2) {
file = args[1];
opt = args[0];
}
else if (args.length == 3 && args[0].equals("-opt")) {
level = Integer.parseInt(args[1]);
file = args[2];
opt = "-opt";
}
else if (args.length > 1 && args[0].equals("-compile")) {
opt = "-compile";
if (args.length == 3) {
file = args[2];
level = Integer.parseInt(args[1]);
} else if (args.length == 2) {
file = args[1];
} else {
usage();
System.exit(1);
}
}
else {
usage();
System.exit(1);
}
scan(opt, file, level);
}
public static void scan(String opt, String file, int level)
throws IOException
{
FileReader in = null;
// We might call scan from js, and so might not get an interned string.
opt = opt.intern();
try {
in = new FileReader(file);
}
catch (FileNotFoundException ex) {
System.out.println("couldn't open file " + file);
System.exit(1);
}
Context cx = new Context();
try {
cx.enter();
}
catch (Throwable t) {
}
if (opt == "-compile") {
cx.setOptimizationLevel(level);
cx.compileReader(null, in, file, 1, null);
return;
}
TokenStream ts = new TokenStream(in, null, file, 1);
if (opt == "-scan") {
int foo;
while ((foo = ts.getToken()) != ts.EOF) {
if (Context.printTrees)
System.out.println(ts.tokenToString(foo));
}
}
else if (opt == "-ir") {
IRFactory nf = new IRFactory(ts, null);
Parser p = new Parser(nf);
Node parsetree = (Node) p.parse(ts);
System.out.print(parsetree.toStringTree());
}
else if (opt == "-nt") {
IRFactory nf = new IRFactory(ts, null);
NodeTransformer nt = new NodeTransformer();
Parser p = new Parser(nf);
Node parsetree = (Node) p.parse(ts);
nt.transform(parsetree, null, ts, null);
System.out.print(parsetree.toStringTree());
}
else if (opt == "-opt") {
IRFactory nf = new IRFactory(ts, null);
NodeTransformer nt = new NodeTransformer();
Parser p = new Parser(nf);
Node parsetree = (Node) p.parse(ts);
nt.transform(parsetree, null, ts, null);
cx.setOptimizationLevel(level);
try {
Class optimizerClass
= Class.forName("org.mozilla.javascript.optimizer.Optimizer");
Object theOptimizer = optimizerClass.newInstance();
Class parameterTypes[] = { Node.class, Integer.class };
Method runOptimizer =
optimizerClass.getDeclaredMethod("optimize", parameterTypes);
Object a[] = { parsetree, new Integer(level) };
runOptimizer.invoke(theOptimizer, a);
System.out.print(parsetree.toStringTree());
}
catch (Exception x) {
System.out.println(x);
}
}
else {
usage();
return;
}
}
static void usage() {
System.err.println("usage: TestScan " +
"[-compile [level] | -scan | -ir | -nt | -opt " +
"[level] ] filename.js");
System.err.println("\t-compile [level] " +
"- compile the given file and return, for profiling");
System.err.println("\t-scan " +
"- list tokens");
System.err.println("\t-ir " +
"- print Internal Representation parse tree");
System.err.println("\t-nt " +
"- print NodeTransformed IR tree");
System.err.println("\t-opt [level] " +
"- print transformed and optimized IR tree");
System.err.println();
System.err.println("(note that nothing may be printed by the above if " +
"Context.printTrees is false.)");
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,139 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
/**
* This class implements the Undefined value in JavaScript.
*/
public class Undefined implements Scriptable {
static final public Scriptable instance = new Undefined();
public String getClassName() {
return "undefined";
}
public boolean has(String id, Scriptable start) {
return false;
}
public boolean has(int index, Scriptable start) {
return false;
}
public Object get(String id, Scriptable start) {
throw reportError();
}
public Object get(int index, Scriptable start) {
throw reportError();
}
public void put(String id,Scriptable start, Object value) {
throw reportError();
}
public void put(int index, Scriptable start, Object value) {
throw reportError();
}
public void delete(String id) {
throw reportError();
}
public void delete(int index) {
throw reportError();
}
public short getAttributes(String id, Scriptable start) {
throw reportError();
}
public short getAttributes(int index, Scriptable start) {
throw reportError();
}
public void setAttributes(String id, Scriptable start, short attributes) {
throw reportError();
}
public void setAttributes(int index, Scriptable start, short attributes) {
throw reportError();
}
public Scriptable getPrototype() {
throw reportError();
}
public void setPrototype(Scriptable prototype) {
throw reportError();
}
public Scriptable getParentScope() {
throw reportError();
}
public void setParentScope(Scriptable parent) {
throw reportError();
}
public Object[] getIds() {
throw reportError();
}
public Object getDefaultValue(Class cl) {
if (cl == ScriptRuntime.StringClass)
return "undefined";
if (cl == ScriptRuntime.NumberClass)
return ScriptRuntime.NaNobj;
if (cl == ScriptRuntime.BooleanClass)
return Boolean.FALSE;
return this;
}
public boolean hasInstance(Scriptable value) {
throw reportError();
}
public boolean instanceOf(Scriptable prototype) {
return false;
}
private RuntimeException reportError() {
String message = Context.getMessage("msg.undefined", null);
return Context.reportRuntimeError(message);
}
}

View File

@@ -0,0 +1,161 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Roger Lawrence
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.io.*;
import java.util.*;
public class VariableTable {
public int size()
{
return itsVariables.size();
}
public int getParameterCount()
{
return varStart;
}
public LocalVariable createLocalVariable(String name, boolean isParameter)
{
return new LocalVariable(name, isParameter);
}
public LocalVariable get(int index)
{
return (LocalVariable)(itsVariables.elementAt(index));
}
public LocalVariable get(String name)
{
Integer vIndex = (Integer)(itsVariableNames.get(name));
if (vIndex != null)
return (LocalVariable)(itsVariables.elementAt(vIndex.intValue()));
else
return null;
}
public int getOrdinal(String name) {
Integer vIndex = (Integer)(itsVariableNames.get(name));
if (vIndex != null)
return vIndex.intValue();
else
return -1;
}
public String getName(int index)
{
return ((LocalVariable)(itsVariables.elementAt(index))).getName();
}
public void establishIndices()
{
for (int i = 0; i < itsVariables.size(); i++) {
LocalVariable lVar = (LocalVariable)(itsVariables.elementAt(i));
lVar.setIndex(i);
}
}
public void addParameter(String pName)
{
Integer pIndex = (Integer)(itsVariableNames.get(pName));
if (pIndex != null) {
LocalVariable p = (LocalVariable)
(itsVariables.elementAt(pIndex.intValue()));
if (p.isParameter()) {
Object[] errorArgs = { pName };
String message = Context.getMessage("msg.dup.parms", errorArgs);
Context.reportWarning(message, null, 0, null, 0);
}
else { // there's a local variable with this name, blow it off
itsVariables.removeElementAt(pIndex.intValue());
}
}
int curIndex = varStart++;
LocalVariable lVar = createLocalVariable(pName, true);
itsVariables.insertElementAt(lVar, curIndex);
itsVariableNames.put(pName, new Integer(curIndex));
}
public void addLocal(String vName)
{
Integer vIndex = (Integer)(itsVariableNames.get(vName));
if (vIndex != null) {
LocalVariable v = (LocalVariable)
(itsVariables.elementAt(vIndex.intValue()));
if (v.isParameter()) {
// this is o.k. the parameter subsumes the variable def.
}
else {
return;
}
}
int index = itsVariables.size();
LocalVariable lVar = createLocalVariable(vName, false);
itsVariables.addElement(lVar);
itsVariableNames.put(vName, new Integer(index));
}
// This should only be called very early in compilation
public void removeLocal(String name) {
Integer i = (Integer) itsVariableNames.get(name);
if (i != null) {
itsVariables.removeElementAt(i.intValue());
itsVariableNames.remove(name);
Hashtable ht = new Hashtable(11);
Enumeration e = itsVariableNames.keys();
while (e.hasMoreElements()) {
Object k = e.nextElement();
Integer v = (Integer) itsVariableNames.get(k);
int v2 = v.intValue();
if (v2 > i.intValue())
v = new Integer(v2 - 1);
ht.put(k, v);
}
itsVariableNames = ht;
}
}
// a list of the formal parameters and local variables
protected Vector itsVariables = new Vector();
// mapping from name to index in list
protected Hashtable itsVariableNames = new Hashtable(11);
protected int varStart; // index in list of first variable
}

View File

@@ -0,0 +1,68 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Marshall Cline
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
// API class
package org.mozilla.javascript;
/**
* Embeddings that wish to provide their own custom wrappings for Java
* objects may implement this interface and call Context.setWrapHandler.
* @see org.mozilla.javascript.Context#setWrapHandler
*/
public interface WrapHandler {
/**
* Wrap the object.
* <p>
* The value returned must be one of
* <UL>
* <LI>java.lang.Boolean</LI>
* <LI>java.lang.String</LI>
* <LI>java.lang.Number</LI>
* <LI>org.mozilla.javascript.Scriptable objects</LI>
* <LI>The value returned by Context.getUndefinedValue()</LI>
* <LI>null</LI>
* <p>
* If null is returned, the value obj will be wrapped as if
* no WrapHandler had been called.
* </UL>
* @param scope the scope of the executing script
* @param obj the object to be wrapped
* @staticType the static type of the object to be wrapped
* @return the wrapped value.
*/
public Object wrap(Scriptable scope, Object obj, Class staticType);
}

View File

@@ -0,0 +1,115 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (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 oqr
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Public License (the "GPL"), in which case the
* provisions of the GPL are applicable instead of those above.
* If you wish to allow use of your version of this file only
* under the terms of the GPL and not to allow others to use your
* version of this file under the NPL, indicate your decision by
* deleting the provisions above and replace them with the notice
* and other provisions required by the GPL. If you do not delete
* the provisions above, a recipient may use your version of this
* file under either the NPL or the GPL.
*/
package org.mozilla.javascript;
import java.lang.reflect.InvocationTargetException;
/**
* A wrapper for runtime exceptions.
*
* Used by the JavaScript runtime to wrap and propagate exceptions that occur
* during runtime.
*
* @author Norris Boyd
*/
public class WrappedException extends EvaluatorException implements Wrapper {
/**
* Create a new exception wrapped around an existing exception.
*
* @param exception the exception to wrap
*/
public WrappedException(Throwable exception) {
super(exception.getMessage());
this.exception = exception.fillInStackTrace();
}
/**
* Get the message for the exception.
*
* Delegates to the wrapped exception.
*/
public String getMessage() {
return "WrappedException of " + exception.toString();
}
/**
* Gets the localized message.
*
* Delegates to the wrapped exception.
*/
public String getLocalizedMessage() {
return "WrappedException of " + exception.getLocalizedMessage();
}
/**
* Get the wrapped exception.
*
* @return the exception that was presented as a argument to the
* constructor when this object was created
*/
public Throwable getWrappedException() {
return exception;
}
/**
* Get the wrapped exception.
*
* @return the exception that was presented as a argument to the
* constructor when this object was created
*/
public Object unwrap() {
return exception;
}
/**
* Wrap an exception.
*
* Provides special cases for EvaluatorExceptions (which are returned
* as-is), and InvocationTargetExceptions (which are unwrapped and
* passed to a recursive call to wrapException).<p>
*
* Otherwise the exception is simply wrapped in a WrappedException.
*/
public static EvaluatorException wrapException(Throwable e) {
if ((e instanceof InvocationTargetException))
e = ((InvocationTargetException) e).getTargetException();
if (e instanceof EvaluatorException)
return (EvaluatorException) e;
return new WrappedException(e);
}
private Throwable exception;
}

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