Compare commits

..

724 Commits

Author SHA1 Message Date
jdunn%netscape.com
73d77b33b5 creating OEM branch for Netscape 7
git-svn-id: svn://10.0.0.236/branches/NETSCAPE_7_0_OEM_MINI_BRANCH@125708 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 15:40:40 +00:00
(no author)
782fdbd630 This commit was manufactured by cvs2svn to create branch
'NETSCAPE_7_0_OEM_MINI_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/NETSCAPE_7_0_OEM_MINI_BRANCH@122273 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 19:21:19 +00:00
leaf%mozilla.org
2c9614fb10 update pull scripts to pull the better named MOZILLA_1_0_BRANCH symbolic tag,
a=bunch-o-drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122271 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 19:21:17 +00:00
sspitzer%netscape.com
6afd739cf1 fix for #147916. tinderbox sidebar panels should not be there by default.
if a bunch of people get mozilla 1.0, they'll overload tbox.
r=callion,sr=bienvenu,a=leaf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122267 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 18:20:19 +00:00
jst%netscape.com
2457823369 Fixing bug 147754. Do a same-origin check on serialized data. r=mstoltz@netscape.com, sr=jband@netscape.com, a=dbaron,shaver,scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122251 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 03:52:58 +00:00
dbragg%netscape.com
aeaefb716d Regular update of localeVersion value to 1.0.0final. r=leaf, sr=scc, a=drivers, ADT approved. Bug #147714
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122238 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-28 23:24:30 +00:00
dveditz%netscape.com
d4beef1773 fix crash installing language packs bug 147672. r=dbaron,sr=shaver,a=valeski/scc/wjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122235 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-28 22:15:56 +00:00
blizzard%redhat.com
928f583b71 Bug #134204. Use pkg-config files. r=cls,hp a=lots-o-drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122227 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-28 20:30:12 +00:00
leaf%mozilla.org
0282fc286e updating the MOZILLA_VERSION in configure{.in}
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122201 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-27 19:29:12 +00:00
leaf%mozilla.org
04cc039c07 updating user agent.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122200 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-27 19:07:21 +00:00
leaf%mozilla.org
7f1f83e834 updating about page in prep for upcoming release
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122199 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-27 19:04:34 +00:00
brendan%mozilla.org
b423f4baff Don't emit JSOP_DEF{VAR,CONST} unless at top-level or in a heavyweight function (146596, r=jband, sr=shaver, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122191 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-27 01:21:53 +00:00
shaver%mozilla.org
4a96596e09 146401: add pref for XSLT. r=peterv, sr=jst, a=drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122186 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-26 16:37:18 +00:00
jfrancis%netscape.com
ad33f31373 fixing 136165: crash after deleting styled text. r=cmanske sr=dveditz; a=shaver,scc,tor
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122151 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-25 00:53:58 +00:00
seawood%netscape.com
080e80a637 Add 'make install' target to build. It's "MRE-friendly". (See http://www.mozilla.o
rg/projects/embedding/MRE.html for details.)
Changes:
* Added EXTRA_COMPONENTS variable to build.  Use it to automagically install files
into the components dir.
* Added SYSINSTALL variable.  Use it install files onto the system.
* Move mozilla-config generation from configure to makefiles
* mozilla-config will now generate paths based upon the MRE-based directory layout.
* Generate mozilla script from template

The installation heirarchy currently looks like:
$prefix -> /bin/mozilla
           /bin/mozilla-config
           /include/mozilla-ver/*
           /lib/mozilla-ver  (mozappdir)
                            /components
                            /res
                            /defaults
                            /chrome

There is preliminary build support for MRE dirs as well though the component manage
r hasn't had MRE support added yet.

$prefix -> /lib/mre/mre-ver  (mredir)
                            /components

Bug #56601 r=leaf a=scc,shaver,tor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122149 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-25 00:07:27 +00:00
seawood%netscape.com
53d656a9a1 Add 'make install' target to build. It's "MRE-friendly". (See http://www.mozilla.o
rg/projects/embedding/MRE.html for details.)
Changes:
* Added EXTRA_COMPONENTS variable to build.  Use it to automagically install files
into the components dir.
* Added SYSINSTALL variable.  Use it install files onto the system.
* Move mozilla-config generation from configure to makefiles
* mozilla-config will now generate paths based upon the MRE-based directory layout.
* Generate mozilla script from template

The installation heirarchy currently looks like:
$prefix -> /bin/mozilla
           /bin/mozilla-config
           /include/mozilla-ver/*
           /lib/mozilla-ver  (mozappdir)
                            /components
                            /res
                            /defaults
                            /chrome

There is preliminary build support for MRE dirs as well though the component manage
r hasn't had MRE support added yet.

$prefix -> /lib/mre/mre-ver  (mredir)
                            /components

Bug #56601 r=leaf a=scc,shaver,tor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122148 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-24 23:52:27 +00:00
seawood%netscape.com
89b0d7af2c Add 'make install' target to build. It's "MRE-friendly". (See http://www.mozilla.o
rg/projects/embedding/MRE.html for details.)
Changes:
* Added EXTRA_COMPONENTS variable to build.  Use it to automagically install files
into the components dir.
* Added SYSINSTALL variable.  Use it install files onto the system.
* Move mozilla-config generation from configure to makefiles
* mozilla-config will now generate paths based upon the MRE-based directory layout.
* Generate mozilla script from template

The installation heirarchy currently looks like:
$prefix -> /bin/mozilla
           /bin/mozilla-config
           /include/mozilla-ver/*
           /lib/mozilla-ver  (mozappdir)
                            /components
                            /res
                            /defaults
                            /chrome

There is preliminary build support for MRE dirs as well though the component manage
r hasn't had MRE support added yet.

$prefix -> /lib/mre/mre-ver  (mredir)
                            /components

Bug #56601 r=leaf a=scc,shaver,tor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122145 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-24 23:46:27 +00:00
pavlov%netscape.com
1c4cdfade6 checking in fix for bug 145147 r=bienvenu sr=mscott a=roc,scc,shaver,jaimejr,etc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122142 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-24 22:53:03 +00:00
seawood%netscape.com
63f6028c4e Add 'make install' target to build. It's "MRE-friendly". (See http://www.mozilla.org/projects/embedding/MRE.html for details.)
Changes:
* Added EXTRA_COMPONENTS variable to build.  Use it to automagically install files into the components dir.
* Added SYSINSTALL variable.  Use it install files onto the system.
* Move mozilla-config generation from configure to makefiles
* mozilla-config will now generate paths based upon the MRE-based directory layout.
* Generate mozilla script from template

The installation heirarchy currently looks like:
$prefix -> /bin/mozilla
           /bin/mozilla-config
           /include/mozilla-ver/*
           /lib/mozilla-ver  (mozappdir)
                            /components
                            /res
                            /defaults
                            /chrome

There is preliminary build support for MRE dirs as well though the component manager hasn't had MRE support added yet.

$prefix -> /lib/mre/mre-ver  (mredir)
                            /components

Bug #56601 r=leaf a=scc,shaver,tor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122141 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-24 22:47:55 +00:00
seawood%netscape.com
246b3f7e9f Add 'make install' target to build. It's "MRE-friendly". (See http://www.mozilla.org/projects/embedding/MRE.html for details.)
Changes:
* Added EXTRA_COMPONENTS variable to build.  Use it to automagically install files into the components dir.
* Added SYSINSTALL variable.  Use it install files onto the system.
* Move mozilla-config generation from configure to makefiles
* mozilla-config will now generate paths based upon the MRE-based directory layout.
* Generate mozilla script from template

The installation heirarchy currently looks like:
$prefix -> /bin/mozilla
           /bin/mozilla-config
           /include/mozilla-ver/*
           /lib/mozilla-ver  (mozappdir)
                            /components
                            /res
                            /defaults
                            /chrome

There is preliminary build support for MRE dirs as well though the component manager hasn't had MRE support added yet.

$prefix -> /lib/mre/mre-ver  (mredir)
                            /components

Bug #56601 r=leaf,a=scc,shaver,tor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122140 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-24 22:43:38 +00:00
jst%netscape.com
e45a686be7 Fixing bug 113351. Original patch by peterv, tweaks by me and mstoltz. Add same-origin checks to XSLT includes. r=mstolts@netscape.com, sr=rpotts@netscape.com, a=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122062 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 07:23:48 +00:00
racham%netscape.com
1dce744290 Fixing bug 15562. Fixing duplicate entries problem in pageInfo.dtd file. r=ftang, sr=sspitzer, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122060 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 07:10:40 +00:00
jst%netscape.com
5df1afe6e6 Backing out part of the fix for bug 143369 as a fix for bug 146333. Don't make ChromeWindow's prototype immutable.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122059 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 05:39:27 +00:00
jst%netscape.com
da482534b3 Backing out part of the fix for bug 143369 as a fix for bug 146333. Don't make ChromeWindow's prototype immutable.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122058 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 05:35:41 +00:00
cotter%netscape.com
be64be1dfd ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; mostly privacy updates per Steve Morse's review
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122051 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 04:24:44 +00:00
morse%netscape.com
afe8df3d75 bug 146094, leaking cookies, r=waterson/mstoltz, sr=darin, a=chofmann/brendan/scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122049 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 01:30:15 +00:00
harishd%netscape.com
3ee011d02b Preserve comment declaration for textarea and viewsource. b=133044, r=heikki, sr=jst, a=brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122048 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 01:28:28 +00:00
harishd%netscape.com
bd5ddb70ea Ensuring complete consumption of DOCTYPE content. b=142625, r=heikki, sr=js, a=chofmann, brendan, shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122041 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-23 00:18:58 +00:00
dbragg%netscape.com
d6c39cca3a Regular update for mozilla milestone rc3. Changing 1.0.0rc2 to 1.0.0rc3. r=leaf, sr=scc, a=blizzard, adt approved. Note: leaf@mozilla.org will be watching the tree for me.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122036 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 23:25:01 +00:00
dbragg%netscape.com
2fe6680b3f Regular update for mozilla milestone rc3. Changing 1.0.0rc2 to 1.0.0rc3. r=leaf, sr=scc, a=blizzard, adt approved. Note: leaf@mozilla.org will be watching the tree for me.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122034 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 23:19:10 +00:00
anatoliya%netscape.com
1347bd1e96 bug 144556 on behalf of rbs, it is mozilla part for bugscape bug 13906 r=brade sr=jst
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122030 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 20:50:37 +00:00
rods%netscape.com
b9c5c653e6 The patch removes the n-order search for the length and reuses a funciton
"BinarySearchForPosition" code from the nsTextFrame for finding cursor
position. Instead of cursor position, it is just uses the available width.
Bug 139384 r=dcone sr=attinasi a=chofmann,rjesup adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122019 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 11:11:00 +00:00
mhammond%skippinet.com.au
d6b4715e32 Bring up to date WRT "char *" -> nsString API changes.
Not part of the build.  Global a= for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122010 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 05:31:25 +00:00
dveditz%netscape.com
ecbe515d79 bug 144704 make sure view image menu item doesn't inherit the wrong context, r=bryner, sr=brendan, a=chofmann, adt1.0.0+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122009 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 05:05:38 +00:00
dveditz%netscape.com
44cab4adea bug 143420 make sure showOnlyThisFrame menu item doesn't inherit the wrong context, r=bryner,sr=scc,a=brendan,adt1.0.0+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122008 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 05:02:43 +00:00
jst%netscape.com
a2dc91d683 Fixing security bug 143369. Don't allow web content to shadow their origin. r=brendan@mozilla.org, mstoltz@netscape.com, sr=jband@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122005 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 04:36:53 +00:00
shanjian%netscape.com
9607a311ed #132006 Traditional Chinese is detected as Simplified Chinese
correct state machine of gb18030, and eliminate gb18030 as option
when only 2 candidates left.
r=ftang, sr=scc, a=chofman, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122004 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 04:07:51 +00:00
darin%netscape.com
804ae553c3 fixes bug 146074 "Proxy-authorization not on all requests after authentication"
r=rjesup sr=rpotts a=chofmann,rjesup,shaver


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122003 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 03:44:45 +00:00
mkaply%us.ibm.com
be7d4fdde0 #145764
a=brendan
OS/2 only - fix broken icon


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122001 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 02:30:48 +00:00
dbaron%fas.harvard.edu
6aed6f697f Fix Mac bustage from brendan's checkin.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121999 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 02:08:05 +00:00
timeless%mac.com
624fe1566b Bug 133666 Skin switch on restart not completely performed
patch by blake r=ben sr=hyatt a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121998 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 02:00:00 +00:00
timeless%mac.com
ec1577308a Bug 133601 DND in a folder in personal toolbar: multiple folders can be open at once
patch by pierrechanial@netscape.net r=bryner a=scc [sr waved by endico]


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121997 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 01:58:10 +00:00
kaie%netscape.com
e3aa3a71cb b=144823 Localized certificate name is garbled, unable to send out signed/encrypted mail on a localized build
r=javi sr=mscott adt=putterman a=endico


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121996 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 01:13:30 +00:00
kmcclusk%netscape.com
90dcf11081 Destroy sub document frames within the nsHTMLInnerFrames Destroy method instead of its destructor so nsIWidgets instances are destroyed in the proper order. bug 66748; r=jkeiser sr=attinasi a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121990 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 00:39:15 +00:00
ducarroz%netscape.com
132e190048 Fix for bug 141051 (patch v1). Need to reset the window title before recycling the compose window. R=varada, SR=mscott, A=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121985 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 00:12:53 +00:00
brendan%mozilla.org
dc9928eb7c Don't fail to call OBJ_CHECK_ACCESS for o.__proto__ = x, with enough mode bits to say what's happening (143369, r=shaver, sr=jst, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121984 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 00:07:58 +00:00
akkana%netscape.com
428ff1c549 71726: Pass http url into validation tool. r=brade sr=alecf a=chofmann,scc,brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121983 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 00:07:38 +00:00
yokoyama%netscape.com
c61baaa999 bug 118179
FTP site is broken for Japanese server
Impact for only displaying ftp directory listing.
/r=bbaetz,/sr=darin,/a=chofmann,/adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121979 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-22 00:00:39 +00:00
yokoyama%netscape.com
edee1b6680 Bug 140983
Retrieve IMEProperty by calling ImmGetProperty() and
determine if the IME supports W API.
Impact only in Win2k and WinXP Simplified Chinese platforms
/r=shanjian,/sr=kin@netscape.com
/adt=putterman,/a=permission call from driver@mozilla.org


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121978 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 23:38:42 +00:00
alecf%netscape.com
885c533ef0 fix bustage - missing ) (didn't make it over from my last linux patch..grr)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121976 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 23:28:07 +00:00
rpotts%netscape.com
de0519cd67 bug #145994 (r=chak,sr=alec, a=drivers) Crash due to a null pointer when Stop() is called within an nsIWebProgressListener notification.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121975 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 23:21:14 +00:00
bryner%netscape.com
c5ac50d5e2 Add a null check to fix a crash that can happen if you context-click while autocomplete is active in mail compose (Bug 137864). r=danm, sr=jag, a=brendan.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121974 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 23:13:47 +00:00
bryner%netscape.com
4cb5382fca Fix a problem where the beforeselected/afterselected attributes on tabs weren't getting cleaned up when a tab is closed. This was causing drawing issues in the classic skin. Bug 137836, r=pinkerton, sr=blake, a=scc.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121972 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 23:10:55 +00:00
morse%netscape.com
0bc0799597 bug 140625, wallet dialog refers to old menu structure, c=neil@parkwaycc.co.uk, r=morse, sr=dveditz, a=valeski, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121968 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 23:00:02 +00:00
morse%netscape.com
9e0f7ffb8a bug 140464, cookies expire at end of session if date header is missing, c=mloiselle@yahoo.com, r=morse, sr=darin, a=valeski, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121965 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 22:52:44 +00:00
morse%netscape.com
cfa280641e bug 138918, understanding-privacy button is broken, r=sgehani, sr=jag, a=valeski, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121963 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 22:39:32 +00:00
bienvenu%netscape.com
a911b0b748 check in bug 62084 from trunk, problem importing long mailings lists
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121962 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 22:16:55 +00:00
alecf%netscape.com
be9c8fa239 fix for bug 139633 - move Left/Right/Mid out of nsAString so we can freeze strings
r/sr=dmose, darin, jag, mozbot, lumpy, callion, jst, akkana (various parts of various patches, after baking on the trunk for a while)
a=chofmann
adt=jaimejr


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121959 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 21:41:28 +00:00
leaf%mozilla.org
0d32d05921 bug 144488, r,a=endico on behalf of drivers (update theme location to something
that can handle the bandwidth)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121948 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 21:07:17 +00:00
sicking%bigfoot.com
bf7b44d54f Bug 119317: remove support for old non-namespaced "inherits" xbl-attribute. Also move the last few occurences to the new syntax.
r=fabian sr=hyatt a=brendan


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121945 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 20:28:50 +00:00
ducarroz%netscape.com
a2b5d31397 Fix for bug 144257. We should skip out-commented html when looking for entities. R=varada, SR=mscott, A=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121943 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 20:17:42 +00:00
mscott%netscape.com
6d0476c328 Since it wasn't the cause of the mail smoketests going orange, but 106479 back onto
the branch (i backed it out late last night to see).


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121940 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 20:06:12 +00:00
rpotts%netscape.com
2cd31bb596 bug #46856 (r=valeski,sr=jst,a=valeski) nsIWebProgress/nsIWebProgressListener API changes.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121921 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 07:59:04 +00:00
rpotts%netscape.com
637548fb10 bug #46856 (r=valeski, sr=jst, a=valeski) nsIWebProgress/nsIWebProgressListener API changes.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121919 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 05:59:14 +00:00
mscott%netscape.com
26949a54c9 For kicks, back out Bug 106479 to see if it fixes the orange mail smoketest.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121918 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 05:34:43 +00:00
mscott%netscape.com
3c7053730f Landing Bug #127702 onto the branch. Fix security problem with imap
r=cavin
sr=bienvenu
a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121917 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 05:31:30 +00:00
peterlubczynski%netscape.com
ee3c3f96d7 Fixing keyboard events for full page plugins on Mac bug 143316 r=av sr=attinasi
a=chofmann,brendan,etc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121912 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 03:09:38 +00:00
rginda%netscape.com
9039f3c7b0 - venkman only -
bug 145466, "Can't save the profile data"
patch=smaug@jippii.fi,r=me,a=chofmann
add missing parameter nsIOutputStream::init callsite


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121910 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 02:41:47 +00:00
morse%netscape.com
a000b7234a bug 143328, Hiding form-manager panels stopped working, r=sgehani, sr=jag, a=brendan, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121906 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-21 00:38:57 +00:00
heikki%netscape.com
218651a65b Bug 142788, malformed comment end was not detected in quirks mode which caused the rest of the document to be treated as a comment. r=harishd, sr=jst, a=ADT,scc.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121898 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 22:58:48 +00:00
darin%netscape.com
423460521b fixes bug 141779 "Trunk, M1RC1 Crashes related to DNS caching [@ nsDNSRequest::FireStop]"
r=gordon sr=rpotts a=brendan


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121897 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 22:57:05 +00:00
oeschger%netscape.com
732eb22602 update to search rdf, dispensation for content updates for 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121896 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 22:54:37 +00:00
mscott%netscape.com
28a1c909e4 Landing 106479 onto the branch. Don't freeze an imap account with out a trash folder
when emptying trash on exit.
r=timeless
sr=mscott
a=blizzard


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121893 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 22:43:53 +00:00
bryner%netscape.com
da24b92c2a Check in Michiel van Leeuwen's patch for bug 135076 that fixes the problem where you get scroll arrows in submenus when the submenus are initially opened so close to the bottom of the screen that their position is adjusted to make them fit on screen. r=bryner, sr=ben, a=brendan.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121886 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 20:33:24 +00:00
morse%netscape.com
204f826da0 backing out last checkin which was made in error.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121882 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 19:59:54 +00:00
morse%netscape.com
4516f9102e bug 143204, crash when selecting user and no user is selected, r=sgehani, sr=dveditz, a=choffman, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121881 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 19:54:14 +00:00
rods%netscape.com
ab56848021 Simple name change to correct properties file name
Bug 145460 r=dcone a=chofmann,shaver adt=jaime (no sr yet)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121872 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 13:48:19 +00:00
ben%netscape.com
69d2a48ff1 Fixing 130614 on the 1.0 branch, RC2 crashes on startup on Windows 95
due to nonexistent favorites folder (Windows 95 without IE4+ does not have
a favorites folder, so null check before using it)
r=ftang, sr=hyatt, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121869 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 11:24:31 +00:00
peterlubczynski%netscape.com
c5b72f03a1 Correctly set visibility of view on DidReflow for cases when our CSS visibility style has changed from visible (windows part) bug 129306 r=av sr=attinasi, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121863 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 03:28:04 +00:00
andreww%netscape.com
d455161f02 bugzilla bug 141029 - Need to update editorTasksOverlay due to menu changes - r=cmanske, sr=sspitzer, drivers=rjesup, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121862 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 03:15:44 +00:00
pavlov%netscape.com
764bd4bf65 fix for bug 130876 from lorenzo@colitti.com. r=pavlov sr=tor a=chofmann,shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121861 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 03:11:49 +00:00
bryner%netscape.com
5a4cd2828d Use insertafter instead of absolute position numbers for the composer and addressbook icons (bug 137468). r=ben, sr=blake, a=chofmann/shaver.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121859 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-20 01:54:36 +00:00
shaver%mozilla.org
303b3fe0e3 Bug 142846: Save doesn't store all subframes. Patch=adamlock, r=brade,
sr=rpotts@netscape.com, a=rjesup for 1.0 branch.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121849 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 23:43:22 +00:00
shaver%mozilla.org
cb4a0b5b63 Bug 142592: color attributes on MathML elements can't be updated sometimes.
Patch=rbs, r=roc+moz, sr=attinasi, a=brendan,shaver,chofmann for 1.0.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121848 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 23:39:25 +00:00
shaver%mozilla.org
80b989b275 Bug 137079: originating-server cookie test preventing some sites from working
correctly.  Patch by morse, r=pinkerton, sr=alecf, a=drivers for the branch.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121847 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 23:35:14 +00:00
morse%netscape.com
5dbd73bf67 bug 143204, crash in password manager when selecting user from list, r=sgehani, sr=dveditz, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121842 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 07:20:20 +00:00
heikki%netscape.com
0481dc4c6e Bug 137628, depending on network speed the contents of comments could appear on a page in strict mode. Treat unclosed comment in strict mode as text. Fix line numbers in case we need to wait for more content before parsing. r=harishd, sr=jst, a=ADT,chofmann,brendan.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121840 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 05:45:50 +00:00
bryner%netscape.com
d525363520 Fix Copy Link Location. The tooltip timer was causing the document's popupNode to get nulled out. We don't actually need to set popupNode at all for tooltips, we have tooltipNode for that. Modified the menu popup code to use tooltipNode for tooltips. Bug 143607. r=hewitt, sr=jst, a=shaver.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121839 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:31:56 +00:00
jst%netscape.com
748665aa52 Fixing bug 132609. Make sure termination functions are called after JS event handlers are executed. r=heikki@netscape.com, sr=jband@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121838 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:24:40 +00:00
jst%netscape.com
c4da75c128 Fixing one more part of performance bug 118933. Speed up access to global properties window and document. r=peterv@netscape.com, sr=vidur@netscape.com. a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121837 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:21:08 +00:00
jst%netscape.com
2795a668d6 Fixing bug 80083. Don't let a modified window.navigator object be collected by the GC too early. r=fabian@bluishgecko.net, sr=vidur@netscape.com, a=choffmann,brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121836 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:18:18 +00:00
jst%netscape.com
1b6ec3d818 Fixing bug 145064. Stop link.pathname (n' frieds) accessors from throwing exceptions on non-URL URI's. r=bzbarsky@mit.edu, sr=heikki@netscape.com, a=choffmann,brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121835 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:15:38 +00:00
jst%netscape.com
83d6027167 Fixing bug 141442. Make window.openDialog() overridable from scripts on webpages. r=mstoltz@netscape.com, sr=jband@netscape.com, a=brendan,choffmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121834 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:13:23 +00:00
jst%netscape.com
5c6d280101 Fixing topcrash bug 131841. Don't let presshells die while we're making calls on them. r=sicking@bigfoot.com, sr=vidur@netscape.com/brendan@mozilla.org, a=choffmann,brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121833 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:10:37 +00:00
jst%netscape.com
3528882472 Checking in jband's fix for bug 143853. Clear the cached proto JSObject when transitioning from page to page. r=dbradley@netscape.com, sr=jst@netscape.com, a=choffmann,brendan,shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121832 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 04:02:26 +00:00
jst%netscape.com
d630028f35 Checking in peterv's fix for bug 129006. Don't crash when reloading invalid XML. r=axel@pike.org, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121830 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 03:57:34 +00:00
mkaply%us.ibm.com
3b629c5fe4 #109464
r=gerv, sr=alecf, a=chofmann,brendan
OS/2 only if statement - Os/2 has different default DPI values


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121828 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 03:51:50 +00:00
bryner%netscape.com
21346b8835 Fix shift-tab from the document into the urlbar; this also fixes some other tabbing results that were a result of odd interactions with the selection code. Bug 136495, r=aaronl, sr=jst, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121827 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 03:41:17 +00:00
darin%netscape.com
cdca1f405a fixes bug 91795 "large downloads causes mozilla to consume too much memory
(results possibly in an kill because of out of memory)"
patch1: author=gordon r=dougt sr=darin
patch2: author=darin r=gordon,dougt sr=rpotts
a=brendan


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121822 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 02:20:56 +00:00
rods%netscape.com
ce1fd5d84c Change uI to use the combobox instead of textfield and arrow btns
Bug 127857 r=dcone,sgehani sr=alecf,attinasi adt=putterman a=chofmann,dbaron,valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121819 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 01:32:45 +00:00
bzbarsky%mit.edu
5f87a200ec Fix off-by-one-char error that caused hang. Bug 142290, r=caillon,
sr=jst, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121815 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 00:59:14 +00:00
bzbarsky%mit.edu
66d54a8b6d Restrict the fix for bug 116938 to Windows-only to preserve OS/2 and
Linux users' sanity. Bug 144923, r=law, sr=mscott, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121812 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 00:50:19 +00:00
cotter%netscape.com
5f02b8269b ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. privacy & security
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121807 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 00:38:01 +00:00
heikki%netscape.com
b4fff11fed Bug 141765, fix crash in decoding structures inside arrays. Patch from rayw, r=heikki, sr=jst, a=ADT,chofmann,brendan.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121806 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 00:35:25 +00:00
heikki%netscape.com
3243c72cb2 Bug 81546, workaround to make XHTML documents with forms to display. r=harishd, sr=jst, a=ADT,chofmann,brendan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121804 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 00:03:39 +00:00
harishd%netscape.com
0c5d530ffc Making sure that mCountRemaining also gets updated when data gets inserted into the scanner buffer. b=117441, r=heikki, sr=jst, a=chofmann,brendan,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121801 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-18 00:01:59 +00:00
ducarroz%netscape.com
2fcaf0e746 Fix for bug 139362. In order to avoid to be hit by bug 70083, we need to do a copy of the string we are passing to NewURI to be sure it's in one segment. Patch proposed by jag. R=ducarroz, SR=sspitzer, A=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121796 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 23:16:04 +00:00
dbaron%fas.harvard.edu
2f87640ce4 Rename a variable so that we can build on gcc 3.1. r=cls sr=jst a=rjesup b=139089
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121783 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 21:46:03 +00:00
oeschger%netscape.com
be372b62a6 fix for 138763: duplicate paragraph in help, check-in dispensation per bug 122806, plus removing references to IM. Bad!
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121775 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 21:11:18 +00:00
ccarlen%netscape.com
76c08bd2ed Bug 76431 - protect profiles from running multiple instances. r=brendan@mozilla.org/sr=darin@netscape.com/a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121774 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 21:07:44 +00:00
kaie%netscape.com
da5d212dfc b=141317 CopyToLowerCase produces strings with random content
r=jag sr=alecf a=scc/rjesup adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121770 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 20:05:33 +00:00
bzbarsky%mit.edu
5c41eb1716 Um, back that out; tree is closed... (coulda sworn it said "open"....)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121759 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 14:41:32 +00:00
bzbarsky%mit.edu
91b9b7e794 Restrict the fix for bug 116938 to Windows-only to preserve OS/2 and
Linux users' sanity. Bug 144923, r=law, sr=mscott, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121758 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 14:40:09 +00:00
dmose%netscape.com
4da30258e7 Only define PERL if it has not already been defined so that when autoconf finds perl in non-standard places, that works properly. r=cls, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121753 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 07:02:53 +00:00
dmose%netscape.com
295058cc41 Fix clobber to remove libraries (bug 136651); fixes AIX tinderbox lossage. Patch from Philip K. Warren <pkw@austin.ibm.com>; r=dmose@netscape.com, sr=sspitzer@netscape.com, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121752 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 06:54:00 +00:00
dmose%netscape.com
7774ce5dcf NetBSD portability fix (bug 99068). Patch from taya@netbsd.org; r=dmose@netscape.com; sr=sspitzer@netscape.com, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121751 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 06:45:18 +00:00
rjesup%wgate.com
5f60368f08 Bug 139380: clean up font substition code to avoid mistaken changes in
the future. r=bstell, sr=attinasi, a=rjesup, checkin for gisburn


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121750 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 06:26:52 +00:00
rjesup%wgate.com
ca60e23706 Bug 143413: missing entry in Xlib for symbol-fontspecific. r=pete.zha,
sr=attinasi, a=rjesup (checking in for gisburn)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121748 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 06:17:38 +00:00
pavlov%netscape.com
bf883ac38d checking in fix for bug 14113. r=varga sr=brendan a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121746 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 05:46:42 +00:00
kaie%netscape.com
cfa1d71b55 b=112384 Unable to download some CRLs.
r=javi sr=darin adt=putterman a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121735 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 03:22:56 +00:00
dbaron%fas.harvard.edu
3a72186992 Make GetImplementationFlags more useful/extensible by changing the default implementation to return zero rather than returning the flags from the shared buffer handle, and add a constant for one expected future use. b=109571 r=jag sr=scc a=chofmann,valeski,scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121734 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 03:03:41 +00:00
dbaron%fas.harvard.edu
af6aa2ea05 Null-check mBindingTable to avoid crash with some themes. b=143835 r=brendan sr=waterson a=chofmann, scc, valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121730 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 02:40:24 +00:00
seawood%netscape.com
114aae699d Because js uses static data structures and is linked into other shared libraries, js must be built as a shared library.
Thanks to Colin Blake <colin@theblakes.com> for the original patch.
Bug #127442 r=bryner a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121726 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 02:10:08 +00:00
seawood%netscape.com
f9848fb7b1 Reinstate real_install target so that it will be possible to have an install tar
get for Mozilla that works as expected
Bug #138442 r=dmose@netscape.com, mcs@netscape.com a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121725 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 02:03:41 +00:00
karnaze%netscape.com
856aebbbd6 bug 113235 - avoid reframing if possible when content is inserted inside an inline containing a block. a=rjesup, adt=putterman, sr=waterson, r=attinasi.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121721 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 01:42:24 +00:00
seawood%netscape.com
526ec82985 Increase Shared Memory Transport size to 512k for solaris builds.
Note: "512 is a good compromise between the transport speed and the system memor
y resources consumed."
Thanks to Jeff Wasilko <jw-mozilla@smoe.org> for the patch.
Bug #118846 r=cls a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121717 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 01:12:18 +00:00
seawood%netscape.com
67a384bafa chdir out of temp directory before invoking mozilla process.
Bug #101016 r=syd sr=sspitzer a=blizzard


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121716 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 00:59:25 +00:00
cotter%netscape.com
d7a3ed9aa3 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; index tags & some content updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121709 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 00:47:39 +00:00
oeschger%netscape.com
77a9c7a763 adding some entries to search db for help, dispensation per 122806, r=cotter
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121708 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 00:44:53 +00:00
oeschger%netscape.com
9065957d3d removing an unused html file from the build, dispensation per 122806, r=cotter
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121707 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 00:43:08 +00:00
pinkerton%netscape.com
9188b6c365 explicitly set locale in installed-chrome.txt for embedding packaging. r=ccarlen/sr=beard/a=valeski bug 144866.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121701 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 00:20:38 +00:00
jaggernaut%netscape.com
fe32f8706e Bug 132583: deal more cleanly with passing non-UTF8 strings to NS_ConvertUTF8toUCS2. r=scc, sr=darin, a=drivers, a=adt.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121699 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-17 00:03:35 +00:00
dougt%netscape.com
e79695d563 Removing string nsCRT depend. patch by scc, r=dougt, sr=jag, b=36756, a=chofmann,dbaron,valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121698 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 23:57:51 +00:00
brendan%mozilla.org
ed20e5e6fd Checking in khanson@netscape.com's patch fixing GMT offset day-overflow (65671, r=mccabe, sr=jband, a=rjesup).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121693 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 23:16:37 +00:00
pinkerton%netscape.com
612499e4d0 make NS_ConvertUTF8toUCS2(ptr, length) work correctly. r=jag/sr=scc/a=rjesup bug#141866
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121692 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 23:15:57 +00:00
jst%netscape.com
d41a137af5 Fixing bug 140944. Map document.body.scroll* to the scroll info about the root scrolling view for compatibility with IE. r=bzbarsky@mit.edu, sr=shaver@mozilla.org, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121691 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 23:13:55 +00:00
kaie%netscape.com
6692771666 b=104502 Updated icons for S/Mime security
icons=marlon  r=kaie  sr=mscott  a=valeski  adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121680 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 21:20:56 +00:00
attinasi%netscape.com
5f0ca989b0 Check for null to prevent crash when a native scrollbar is requested on a platform that does nto support it. b=138720 r=kmcclusk sr=kin a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121677 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 21:15:27 +00:00
sspitzer%netscape.com
cbc76df7dc supplimental fix for #119360. it's mozillaHomeState, not mozillaHomeStreet.
r=dmose,sr=bienvenu,shaver, a=rjesup,putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121636 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:51:00 +00:00
rods%netscape.com
68df67103c allows for progress dialog to be turned off
Bug 140183 adt=syd a=chofmann,dbaron,valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121635 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:42:19 +00:00
mkaply%us.ibm.com
5980efcab5 #141528
r=bzbarsky, sr=blizzard, a=chofmann
OS/2 only - new helper app code - more like unix - new protoocl handler code


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121634 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:32:19 +00:00
mkaply%us.ibm.com
7452c85b9c #141820
r=wtc, a=chofmann
OS/2 only - don't quote parameters when calling DosStartSession


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121633 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:28:08 +00:00
mkaply%us.ibm.com
1e1f13f227 #143674
r=me,sr=blizzard, a=chofmann
OS/2 only - change splash from Warpzila to Mozilla


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121632 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:25:11 +00:00
mkaply%us.ibm.com
1bfdcafcb0 #97861
r=cls, a=chofmann
OS/2 only - add OS/2 specific nsTransform2D so Os/2 builds don't suck


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121627 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:21:41 +00:00
rods%netscape.com
b78558faa1 Allows for printed more than one copy for the postscript print module
Bug 139566 r=roland sr=attinasi adt=petterman a=chofmann,dbaron,valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121626 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 14:20:04 +00:00
rods%netscape.com
9861f30e1d 1) They currently share the same style context resolution
2) It can be difficult to determine whether you are creating/reflowing a UI or

   doc scrollbar (SB)
3) They share the same PresContext which has a single scale value that UI SBs
   need to ignore, but the doc SBs need to use.

This patch does the following:
1) Enables the PrintPreviewContext to turn on and of the scaling of twips
2) When creating a new scrollbar, it checks to see if the frame parent is
   is a viewportframe that way it knows if it is in the UI or in the document
   then for UI scrollbars it turns off the saling, and for doc scrollbars it
   turns it on. This needs to be done at creation time as well as, reflow
   because it GetScaledPixelsToTwips get called during both.
3) The nsSimpleSequenceFrame turns on scaling during its children reflow
   then turns it off.
4) When PrintPreview "setup" is done it turns off the scaling in the
   PrintPreviewContext because any reflowing other usages for
   GetScaledPixelsToTwips will be for UI scrollbars
5) A copy of all the style rules for scrollbars is made and placed inside of
   a media type "print" This way the style resultion for the scaled scrollbars
   in the document are not shared with the UI.
Bug 120616 r=dcone sr=attinasi adt=putterman a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121622 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 13:59:05 +00:00
(no author)
ed501b059e This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121615 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 13:12:34 +00:00
av%netscape.com
5204f1360e Fixing 106411 -- 'Starting plugin...' message is stuck in the status bar, r=serge, sr=beard, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121612 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 12:34:31 +00:00
peterlubczynski%netscape.com
b07b40ca0e Fix for Viewpoint: Adding extra event call (WM_WINDOWPOSCHANGED) for windowless plugins on Windows so that they are updated with their position and bounds. Bug 135737, r=av, sr=attinasi, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121609 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 06:02:43 +00:00
jaggernaut%netscape.com
4ad7f1e776 Bug 139649: Fix IsDependentOn, I forgot to make the ptr and ptr, length based Assign, Append and Insert go through the dependency checks. r=alecf, sr=scc, a=drivers, a=adt.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121605 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 04:36:23 +00:00
timeless%mac.com
f2459da232 fixing build bustage for qnx photon embedding this is from the nsI*File freeze
a=shaver


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121588 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 02:44:51 +00:00
serge%netscape.com
55b08dd44e fix #119494 Acrobat fails to load document from this site [200 expecting 206] r=peterl,sr=darin,a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121586 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-16 01:09:22 +00:00
rginda%netscape.com
ffbc7660a6 - chatzilla only -
bug 143503, "long channel topic isn't wrapped properly"
r=samuel@sieb.net, sr=shaver@mozilla.org, a=leaf@mozilla.org
insert spaces in long topic words so things can wrap.

bug 140088, "Chatzilla is crashing when switching tabs."
r=samuel@sieb.net, sr=shaver, a=rjesup@wgate.com
don't touch the tree selection while the tree is hidden.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121577 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 23:34:38 +00:00
darin%netscape.com
cf51d1ad90 fixes bug 134793 "browser hangs when [ is put in the URL bar"
r=gagan sr=rpotts a=jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121576 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 23:34:23 +00:00
mkaply%us.ibm.com
fe7fca9da1 #144554
r=pedemont, sr=blizzard, a=rjesup
OS/2 - remove stupid code that broke mail migration


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121569 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 22:24:05 +00:00
serge%netscape.com
cd24c92cb2 fix #130080 Signing Acrobat doesn't work r=peterl,sr=darin,a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121566 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 22:18:48 +00:00
leaf%mozilla.org
be65bb26c2 update to RC3 text, r=lpham bug 134264
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121565 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 21:52:48 +00:00
serge%netscape.com
90ddac64b6 fix #139572 Payroll W2 form fails to render in Acrobat ( pdf on secure site), r=peterl,sr=beard,a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121564 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 21:41:54 +00:00
waterson%netscape.com
e6f6feeecc Bug 132905. Panic and bail if we can't find a node in the content map. Wallpaper for a topcrash. r=rjc, sr=alecf, a=chofmann,shaver,dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121549 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 20:27:35 +00:00
darin%netscape.com
b4e1ea9f95 fixes bug 143821 "Trunk M1RC2 crashes with bad connection
[@ nsHttpHandler::ReclaimConnection]" r=kaie sr=jag,rpotts a=shaver+scc+jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121536 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 18:58:25 +00:00
darin%netscape.com
2c7a49f756 fixes bug 141796 "Mozilla crashed in http-pipelining code Trunk M1RC2
[@ nsHttpPipeline::GetRequestSize_Locked]" r=jag sr=rpotts a=shaver+scc+jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121535 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 18:57:11 +00:00
rods%netscape.com
f6370ccef4 when we are already in PP it ned to get the mOrigDCScale value
from the previous PP data object instead of fetching it from the DC, the DC
contains the current value and it may not represent what is actually the
Original value.
Bug 139459 r=dcone sr=attinasi a=asa,rjesup adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121526 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 11:53:53 +00:00
jkeiser%netscape.com
8fb0709493 Bustage fix.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121523 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 08:38:24 +00:00
darin%netscape.com
07160b3d82 fixing likely mac bustage (removing references to nsAPromiseString.h since
that file no longer exists).


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121519 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 05:01:19 +00:00
jkeiser%netscape.com
dda6dbadfe Make forms close file after submitting. bug 126829, r=dougt@netscape.com, sr=darin@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121517 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 04:56:55 +00:00
jaggernaut%netscape.com
26aaabc693 Bug 139649: Fix string code to use IsDependentOn instead of depending on nsAPromiseString type. r=scc, sr=darin, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121514 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 03:34:52 +00:00
karnaze%netscape.com
52844744bf bug 138725 process out-of-flow frames when first encountered in DoCleanupFrameReferences. Avoid reframing when an inline is appended to an inline that contains a block. a=chofmann, adt=putterman, sr=waterson, r=alexsavulov.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121511 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 02:15:33 +00:00
dcone%netscape.com
006631235e b=143363 r=rods sr=kin a=choffman use deleteDC instead of DeleteObject to delete the DC's
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121508 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 01:25:43 +00:00
rbs%maths.uq.edu.au
678f5fafba Added yet another layer to make Mozilla very robust when font resources run out, the patch makes font metrics to be fail safe or at least very hard to break -- to the point that failure means that the system is barely working (testing showed that Mozilla stayed alive while other applications were dying). This patch differs from the one checked in the trunk in that it doesn't remove wallpaper null-checks added in the past for the problem (these were removed on the trunk), b=136248, r=shanjian, sr=attinasi
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121506 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 00:38:43 +00:00
leaf%mozilla.org
e20087bf71 remove reference to a commented-out debug menu, part of bug 139335,
r=bengoodger, sr=hewitt, a=chofmann on behalf of drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121505 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 00:37:53 +00:00
leaf%mozilla.org
7d4fc36816 removing debug menus from preferences and the navigator toolbar,
bug 139335, r=bengoodger sr=hewitt a=chofmann on behalf of drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121504 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 00:36:17 +00:00
bzbarsky%mit.edu
8a4bb68747 Fix crash on "moz-bitmap:" urls with no bitmap name. Bug 143912,
r=timeless, sr=hewitt/shaver, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121503 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 00:32:40 +00:00
cltbld%netscape.com
4e211fa8a0 updating user agent for rc3. bug 133797. r=lpham sr=leaf a=asa blanket
version approval.  asasaki checking in as cltbld.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121500 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-15 00:17:20 +00:00
oeschger%netscape.com
4618d9b438 adding an image to help content, r=cotter, dispensation per 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121496 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 23:38:00 +00:00
(no author)
c0a5bc3dda This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121495 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 23:37:59 +00:00
oeschger%netscape.com
a02f3f6976 adding an image to help content, r=cotter, dispensation per 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121494 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 23:37:58 +00:00
cotter%netscape.com
6cd2d41b36 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; updated content to match mozilla UI
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121489 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 23:15:40 +00:00
cotter%netscape.com
93608b2018 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; page info updates for toc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121488 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 22:50:47 +00:00
nhotta%netscape.com
fab25ee31b Set a correct accesskey value for "more",
bug 138028, r=naving, sr=bienvenu, a=rjesup@wgate.com, adt.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121485 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 22:45:47 +00:00
smontagu%netscape.com
d8ef8c6365 Perform Bidi reordering on page headers when printing. Bug 139297, r=Roland.Mainz@informatik.med.uni-giessen.de, sr=attinasi
a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121478 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 20:36:14 +00:00
shanjian%netscape.com
cb972e1f0e #141887 file:// protocol does not display non ASCII folder name under cjk window system
On CJK system, we have to use mbsrchr to identify the last "\" of a string.
r=dougt, sr=alecf, a=asa, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121455 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 04:57:06 +00:00
mkaply%us.ibm.com
af14ded3fc #114891
r=nhotta, sr=blizzard, a=rjesup
New enum for specifying charset of 4.x prefs.js


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121454 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 04:19:29 +00:00
mkaply%us.ibm.com
6aa16322cb #114891
r=nhotta, sr=blizzard, a=rjesup
New enum for specifying charset of 4.x prefs.js


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121453 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 04:13:02 +00:00
mkaply%us.ibm.com
5a0d585550 #144275
r=pedemonte, sr=blizzard, a=rjesup
OS/2 only - use button 2 for drag


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121449 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 04:03:04 +00:00
bryner%netscape.com
447d10c73f Make Return/Enter on Mac always activate the default accept button (bug 132720). r=hewitt, sr=ben, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121448 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 03:28:07 +00:00
dougt%netscape.com
a514b9a490 Attempting to fix bustage on OS/2.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121441 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 01:44:04 +00:00
locka%iol.ie
2dac4a584c Stop image control frame changing the event status on events after they have been handled. Prevents context menu events propogating up through parents. b=143033 r=saari@netscape.com sr=jst@netscape.com a=asa@mozilla.org a=jaimejr@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121430 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 00:48:16 +00:00
ducarroz%netscape.com
2d65aaeb5c Fix for bugscape 15399/bugzila 139251. Fix Body of Multipart/alternative message with attachment not included when forwarded. R=cavin, SR=mscott, A=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121429 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 00:47:24 +00:00
locka%iol.ie
81cfb6b041 Fix for crash in mousewheel message handler when wheeling over other gecko apps. b=137213 r=bryner@netscape.com sr=alecf@netscape.com a=asa@mozilla.org a=putterman@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121428 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 00:45:20 +00:00
darin%netscape.com
658d17a08a fixing mac bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121417 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-14 00:01:13 +00:00
darin%netscape.com
7ed400413d fixes OS/2 bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121415 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 23:56:24 +00:00
darin%netscape.com
8f84341661 fixing mac bustage (bug=129279)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121414 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 23:31:14 +00:00
darin%netscape.com
f4b6547ce1 fixing OS/2 bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121413 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 23:18:49 +00:00
darin%netscape.com
fba63e7c60 fixes mac bustage (b=129279)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121412 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 23:17:33 +00:00
darin%netscape.com
8514da82d2 landing nsIFile API changes (b=129279)
r=dougt sr=alecf a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121404 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 22:09:29 +00:00
danm%netscape.com
2e5b4e7927 null guard gLastFocusedContent in PreHandleEvent. bug 142918 r=jst,saari a=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121398 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 21:24:09 +00:00
varga%utcru.sk
47d9eca542 Fix for bug 133351 - Bookmarks cannot be moved by drag in sidebar.
r=pink, sr=jag, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121395 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 21:00:49 +00:00
seawood%netscape.com
eaeb0298a2 Use debug() instead of dump() so that js component registration output only show
s up in debug builds.
Bug #138726 r=rginda sr=alecf a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121365 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 03:37:33 +00:00
alecf%netscape.com
327ecc2f83 fix for bug 142568 - license (Comment) only change - fix unicharutil library to be triple licensed, so that it can be used in galeon
r=tao, sr=jag, a=asa
(no adt because this is a licensing-only change, no code is changed here)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121359 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-13 01:36:04 +00:00
rpotts%netscape.com
63384d1830 bug #99627 (r=chak, sr=mscott, a=asa) Mark nsIURIContentListener as frozen
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121332 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-11 05:16:22 +00:00
oeschger%netscape.com
9349315a9a small updates to the search db, dispensation per 122806, r=cotter
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121325 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-11 01:50:49 +00:00
tingley%sundell.net
6927396daf Fix for bug 89065 to make text-decoration: blink work again.
r=dbaron sr=attinasi a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121318 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-11 00:42:34 +00:00
rjesup%wgate.com
072579ba85 Bug 143031: bookmarks in toolbar always becomes a drag when opened. r=jag,
sr=blizzard, a=rjesup/asa/etc (checking in for Blake at Asa's request).


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121252 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 07:08:07 +00:00
sspitzer%netscape.com
a76e8d6662 fix for #119360.
addressbook export to ldif, re-import is lossy.
fix two issue, multi line attributes need to be base64 encoded
and there are several attributes that are not being exported / imported.
r=dmose, sr=bienvenu.  a=putterman,asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121251 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 06:41:06 +00:00
pete.zha%sun.com
0810edec5f bug 139877:right-click context menu access keys require "enter" to perform action
r=pete.zha@sun.com sr=jag a=asa
Check in for Kyle Yuan(kyle.yuan@sun.com)'s fix


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121250 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 05:44:59 +00:00
dmose%netscape.com
e952bcd424 Set maximum LDAP I/O timeout to 10 seconds (bug 143172). This significantly mitigates the pain of the connection hang bug (bug 79509). r=mcs@netscape.com, sr=sspitzer@netscape.com, a=asa@mozilla.org, adt=putterman@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121249 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 05:35:45 +00:00
mkaply%us.ibm.com
6884165424 #142695
r=mkaply, sr=blizzard, a=rjesup
OS/2 only - code from Jessica Blanco - don't use CRLF in printer names


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121246 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 03:29:19 +00:00
oeschger%netscape.com
a521a1b0e2 adding some new content to help, r=cotter, dispensation per bug 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121245 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 03:19:56 +00:00
mkaply%us.ibm.com
72a95558c8 #137782
r=pinkerton, sr=jst, a=asa
Change for OS/2 only - use right mouse button for drag


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121244 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 03:08:37 +00:00
mkaply%us.ibm.com
050a707758 #141833
r=tartak, sr=blizzard, a=rjesup
OS/2 only - better error checking for icon decoder


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121242 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 02:57:06 +00:00
blizzard%redhat.com
052d83d570 Bug #22337. Make it possible to install private colormap on 8 bit displays. r=pavlov,s=brendan,a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121241 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 02:07:00 +00:00
timeless%mac.com
682e0c7c38 Bug 87965 Can't expand chrome/*.jar files on ARM
patch by jeroen.dobbelaere@acunia.com
r=dveditz sr=brendan a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121240 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 02:00:12 +00:00
blizzard%redhat.com
c399a0d6b1 Bug #140767. Menus don't open when hovered while another menu is open. Don't drop motion events when there's a rollup listener and the event isn't over a popup window. r=rjesup,sr=shaver,a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121238 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 01:53:10 +00:00
katakai%japan.sun.com
213e72aaf3 bug 142873
Can't turn on IM after a popup window opens
Call SetFocus() of XIC again to the current focused widget
r=blizzard,sr=shaver,a=asa(for1.0branch)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121232 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 01:19:50 +00:00
bryner%netscape.com
919dac4da6 Fix undefined entities in hiddenWindow.xul, the cause of missing menus on Mac when no windows are open (bug 143141). r=jag, sr=hewitt, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121228 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 00:36:07 +00:00
rginda%netscape.com
022fbb7508 - chatzilla only -
Bug 140088 Chatzilla is crashing when switching tabs.
rs=blizzard, a=asa
spackle to avoid crasher.  don't tweak the tree root if the tree isn't visible.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121223 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 00:03:48 +00:00
cotter%netscape.com
5e3510d4b1 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; correction to previous update.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121214 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 23:16:12 +00:00
brendan%mozilla.org
ae1a1cd55d Fix old bogus static dollarStr thread-safety bug (142651, r=jband, sr=shaver, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121206 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 22:51:44 +00:00
cotter%netscape.com
d44e782fba ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. privacy & security updates, corrections
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121199 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 22:25:24 +00:00
shanjian%netscape.com
21b640baee #143132 Installation failed when installing under some locales
removed dependency on charset conversion modules.
r=syd, sr=mscott a=asa, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121158 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 06:51:33 +00:00
darin%netscape.com
aa9bee63fc fixes bug 139817 "M1RC1 topcrash [@ nsHttpChannel::OnStartRequest]"
r=gordon sr=jst a=asa ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121157 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 06:43:49 +00:00
bryner%netscape.com
35b56c75c2 Don't crash if the view manager has gone away before a menu popup is dismissed. Bug 126277, r=ben, sr=hyatt, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121156 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 05:21:48 +00:00
bryner%netscape.com
6991439448 Fix positioning of XUL popups inside an iframe. Bug 129782, r=pavlov, sr=ben, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121153 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 05:19:23 +00:00
jst%netscape.com
7bee723d56 Fixing bug 143088. Freezing the interfaces nsIDOMWindow, nsIDOMWindowCollection, and nsIDOMBarProp. Comment changes only, no real code changes. r=fabian@bluishgecko.net, sr=vidur@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121151 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 04:47:15 +00:00
jst%netscape.com
df2a5275d4 Fixing bug 140462. String manipulation problems in the fragment getters for nsIURI that caused problems when accessing href.pathname n' friends. r=bbaetz@student.usyd.edu.au, sr=darin@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121149 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 03:24:46 +00:00
bzbarsky%mit.edu
aff4e0bb2f Bug 139624 (minor fixes to view-source menus). Patch by
gregvalure@yahoo.com (Greg Valure), r=bzbarsky, sr=alecf, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121144 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 02:55:53 +00:00
dougt%netscape.com
b81d803390 Fix for 117628. DNS reset on failure. r=brendan, sr=darin, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121141 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 02:24:12 +00:00
darin%netscape.com
ab6ac0a31d fixes bug 142843 "mozilla ignores 'Expires: 0' and 'Pragma: no-cache' when
sent with a 'Last-Modified' header"
r=bbaetz sr=rpotts a=valeski,chofmann ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121128 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-09 00:01:12 +00:00
cotter%netscape.com
472d6e0cfb ongoing s help content updates per bugzilla 122806 & ADT, r=oeschger; misc. privacy & security content & formatting updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121125 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 23:29:29 +00:00
(no author)
d0c0a6a921 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121123 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 23:25:41 +00:00
seawood%netscape.com
72900e0edb BeOS needs unistd.h for read() and friends.
Fixing tinderbox bustage.
Bug #109913 a=shaver


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121120 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 23:20:48 +00:00
ben%netscape.com
cbe2249b39 bug 129980 - crash right clicking while loading victoria's secret page.
A must fix!
Patch by hewitt@netscape.com, r=peterl, sr=ben@netscape.com, contact selmer@netscape.com for any questions ;-)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121056 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 09:25:35 +00:00
ssu%netscape.com
ab0aa7118c fixing bug 142805 - Installation failed when installing 1.0 build on JA RH 7.1. r=dprice sr=jag a=leaf, adt1.0.0
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121051 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 07:33:44 +00:00
mstoltz%netscape.com
a4c3785f50 Bug 133170 - Do a same-origin security check after redirects on XMLHttpRequest
and document.load calls. Also enable HTTP basic-auth dialog for both functions.
r=heikki, jst sr=jband, a=chofmann, putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121049 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 06:30:55 +00:00
leaf%mozilla.org
28fea7fe7d allow pulling by using MOZ_DATE in addition to the usual branch tag.
bug 142906, a=asa, r=cls


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121043 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 05:53:09 +00:00
dbragg%netscape.com
ba98c54594 localeVersion update for RC2. Using string 1.0.0rc2. Fixes bug 142823 r=tao, sr=alecf, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121029 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-08 01:19:10 +00:00
jaggernaut%netscape.com
2250ff40dc Bug 142871: Need way to override navigator window title, r=bryner, sr=alecf, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121019 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 23:43:59 +00:00
jkeiser%netscape.com
e2b8fd356a Allow javascript URI form submits to call .submit(). bug 139798, r=alexsavulov@netscape.com, sr=attinasi@netscape.com, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@121001 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 22:47:13 +00:00
caillon%returnzero.com
a33ccabd1e 142711, add a trailing slash to the default homepage to avoid an extra connection for the user and save some load on the server. r=timeless, sr=shaver, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120997 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 22:16:13 +00:00
brendan%mozilla.org
3c96562702 Avoid toSource bloat in e.stack; fix related crash due to unrooted errObject in js_ErrorToException (139316, r=rginda, sr=shaver).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120991 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 21:59:56 +00:00
jaggernaut%netscape.com
80bafa48f9 Bug 129428: Paste doesn't work in bookmark manager. Patch by ben@netscape.com, r=pierrechanial@netscape.net, sr=jag, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120988 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 21:55:49 +00:00
bienvenu%netscape.com
ef779b7b11 checking in fix for 141028 from trunk, shutdown crash in nsMsgDatabase a=drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120947 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 14:53:11 +00:00
kaie%netscape.com
b1ac5dd228 b=139329 Crashes trying to send signed mail.
r=javi sr=alecf a=asa adt=jaimejr


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120933 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 09:39:13 +00:00
brendan%mozilla.org
db876e378d Fix script attribute handling so type trumps language (135493, r=heikki, sr=jst, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120927 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 09:08:29 +00:00
racham%netscape.com
ea4c27d979 Fixing bug 142627. Making copies and folders settings to hold. Landing for Navin. r=bhuvan, sr=bienvenu, a=asa,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120922 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 07:30:17 +00:00
rginda%netscape.com
9bed9c8290 bug 140088, "Chatzilla is crashing when switching tabs."
patch=jst, r=rginda, sr=hyatt, a=asa
clear element box object when the element is removed from the document.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120918 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 03:24:13 +00:00
dprice%netscape.com
6d752f5d9b 142170 r=ssu sr=jag adt=jaime a=asa
add message= flag to RunApp sections of .ini files

142282 r=ssu,syd,dprice sr=mscott adt=jaime a=chofmann
add supercede attribute to Components sections of .ini files


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120914 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 02:44:12 +00:00
dougt%netscape.com
8fc073e52b Relanding dveditz's xpinstall/unicode patch. bugs 142107/125107 r=dougt, sr=alecf, a=asa/chofmann, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120886 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-06 22:10:05 +00:00
saari%netscape.com
5a31496eb0 fix form bugzilla 142138, adding null checks to prevent embedding layer from exploding when processing an activate event during window teardown. sr=jag, r=chak, adt and driver approved, kid tested
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120852 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-06 19:36:22 +00:00
bzbarsky%mit.edu
3519bd22cf 140262 - context menu for input type=password should include
paste. r=biesi sr=blake, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120804 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-05 22:43:59 +00:00
blakeross%telocity.com
cb38baf4c8 137815 - crash hitting enter key before panel content finishes loading [@nsTreeSelection::FireOnSelectHandler]. r=bryner sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120801 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-05 20:34:35 +00:00
sgehani%netscape.com
dd53284abb Disable dropping onto toolbar folders on unices.
b=96504; r=law; sr=blizzard; a=shaver


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120800 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-05 18:30:12 +00:00
darin%netscape.com
0b3df0b317 cleaning up documentation, marking some interfaces frozen, and splitting
up some interfaces into separate IDL files (b=124465)
reviewed by dougt and bbaetz


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120799 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-05 17:55:27 +00:00
bryner%netscape.com
fd5e4b32c1 Checking mkaply's OS/2 bustage fix into the branch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120795 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-05 03:34:22 +00:00
bryner%netscape.com
b8ed7d5184 Make the XUL cache lock gc'ing of script objects while they are in the cache, to prevent pulling out a bogus JSObject. Bug 132216, r=waterson, sr=brendan, a=asa (and hopefully no OS/2 bustage this time).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120791 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 19:06:54 +00:00
bryner%netscape.com
6c88206d50 Adding the functions JS_LockGCThingRT and JS_UnlockGCThingRT, which are variants that only require a JSRuntime, not a JSContext. Converted some internal callers to use the new interface. Bug 141356, patch from shaver, r=bryner, sr=brendan, a=asa (via bug 132216).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120784 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 07:54:59 +00:00
ducarroz%netscape.com
6300150636 Fix for bug 137627. Need to check for null pointer to avoid to crash in some specific cases.
R=kaie, SR=sspitzer, A=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120775 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 01:29:31 +00:00
oeschger%netscape.com
fa48dfcca2 updating help content, dispensation per 122806: adding entries to search database, r=cotter
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120774 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 01:28:49 +00:00
mscott%netscape.com
8ae38475b0 Bug #121583 --> work around the infinite reflow loop in various windows that use tree widgets by
forcing a min height and min width on the the tree. This fixes the famous 100 % CPU hang.

Patch from kin@netscape.com
r=mscott
sr=hyatt
a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120763 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 00:35:18 +00:00
ssu%netscape.com
d8b7e7f848 fixing bug 141858 - unexpected setup\setup.exe error message after installing browser, r=dprice, sr=mscott, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120760 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 00:20:03 +00:00
yokoyama%netscape.com
89fbc40586 Bug 139842
Mail/News only.  Freeze when user scroll the msg header.
- infinite loop caused by creating an invalid UTF-8 string.
- invalid UTF-8 string was created when Unicode Decoder failed.
/r=nhotta, /sr=bienvenu, /a=asa, /adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120757 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 00:13:56 +00:00
brendan%mozilla.org
3fca8a4975 Fix js_SetProtoOrParent to handle non-native and native-but-incompatible-class-change proto-setting scenarios (140164, r=khanson, sr=jband, a=rjesup).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120756 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 00:11:05 +00:00
rginda%netscape.com
e9031b6800 - venkman only -
bug 137327, r=caillon@returnzero.com,a=shaver
translate null to -1 in getParentIndex return, to avoid infinite loop


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120754 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 00:04:07 +00:00
rginda%netscape.com
efbd75a0b3 - cview only -
bug 137327, r=caillon@returnzero.com,a=shaver
translate null to -1 in getParentIndex return, to avoid infinite loop


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120753 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-04 00:03:28 +00:00
rginda%netscape.com
cb74781241 - chatzilla only -
correct the command name for the View->Open At Startup option


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120752 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 23:59:49 +00:00
(no author)
62ca5a2c59 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120746 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 23:27:34 +00:00
dougt%netscape.com
bb399b0937 Fixes 138254 and 138157. Both are related to ftp uploading and publishing. r=bbaetz sr=darin, a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120741 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 22:53:58 +00:00
leaf%mozilla.org
1bff3d0f84 missed some of dveditz's files
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120737 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 22:31:21 +00:00
timeless%mac.com
a672bca9fe 3.46 <wtc@netscape.com> 11 Apr 2002 11:34
Deleted a printf statement in the Neutrino builds. Bug 135692.
a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120735 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 22:05:12 +00:00
leaf%mozilla.org
8b85480c73 backing out dveditz's unapproved checkin (and pink's subsequent mac
build-bustage fix).


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120730 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 21:41:44 +00:00
pinkerton%netscape.com
c22abfef1a fix bustage, cast required for wchar_t.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120698 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 15:31:23 +00:00
dveditz%netscape.com
a65215f7d3 bug 125106,126276 make Installer (particularly Windows) work on localized OS's. Also fixes 84492 and bugscape 14315. r=dougt/sr=alecf.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120689 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 11:32:32 +00:00
rods%netscape.com
4c2e366f9b Add strnig for can't print xul docs error
Bug 136185 r=dcone sr=attinasi a=scc adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120688 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 11:07:43 +00:00
hyatt%netscape.com
fcc1b296a8 Fix for 121583. r=ben, sr=kin, adt=selmer
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120679 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 07:03:27 +00:00
mhammond%skippinet.com.au
954a04b866 Merge from trunk.
Not part of the build.  Global a= for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120670 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 05:16:44 +00:00
smontagu%netscape.com
2b62bd490c Fix hang and crash when pressing ENTER in Hebrew text fields. Bug 95228, r=lkemmel@il.ibm.com, jkeiser; sr=waterson, attinasi; a=shaver,asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120668 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 05:02:29 +00:00
law%netscape.com
969733934b Bug 141330 (for branch); a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120661 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 04:10:47 +00:00
timeless%mac.com
92504d633b Bug 137171 XML-RPC bug handling dates with months 10 and over
patch by samuel@sieb.net r=rginda sr=sspitzer a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120659 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 04:09:59 +00:00
law%netscape.com
6345f05f54 Bug 141647 (for branch); ensure profile is selected when opening window; this is needed to handle command line options that include -turbo and some other option that causes a window to open; r=jelwell@netscape.com, sr=jaggernaut@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120650 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 03:15:36 +00:00
sspitzer%netscape.com
aaef08a0d4 fix for #140094. typo in attribute name leads to LDIF dataloss.
thanks to dp for the fix.  r=blizzard,sr=bienvenu,a=shaver


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120642 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 02:52:33 +00:00
sspitzer%netscape.com
bc513f36aa fix for bugzilla bug #137886. add support for re-migration of defunct
profiles.  r=ccarlen, sr=bievenu, a=chofmann.  thanks to ccarlen for the
initial patch.  by default, no re-migration for mozilla builds.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120637 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 02:33:39 +00:00
mhammond%skippinet.com.au
344a2a950f Merge from trunk.
Not part of the build.  Global a= for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120628 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 01:32:51 +00:00
cotter%netscape.com
afd9deff38 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; minor updates for certs help.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120626 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 01:22:20 +00:00
mhammond%skippinet.com.au
21c1975abf Only support dynamic linking - finally works for both Windows and Linux :)
Not part of the build.  Global a= for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120621 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-03 00:59:23 +00:00
pavlov%netscape.com
f01bb5c354 part of earlier checkin for timers. r=rjesup sr=rpotts a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120600 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 23:00:10 +00:00
mkaply%us.ibm.com
5738f2de70 #141676
r=pedemonte, sr=blizzard, a=rjesup
OS/2 only - don't add the hidden window to the task list


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120598 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 22:58:01 +00:00
khanson%netscape.com
b1bcc03db3 Patch for Bug #138666, memory leak in jsdtoa.c, sr=brendan, r=khanson, a=chofmann, has adt approval
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120596 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 22:56:50 +00:00
pavlov%netscape.com
f57bfe8089 checking in bug 129953 into the 1.0 branch. part 2 of 2. r=rjesup sr=rpotts a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120586 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 21:52:30 +00:00
pavlov%netscape.com
9696b2257b checking in bug 129953 into the 1.0 branch. part 1 of 2. r=rjesup sr=rpotts a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120584 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 21:46:09 +00:00
blizzard%redhat.com
6308211d36 Use an nsFixedSizeAllocator to legalize the bit-packing's assumption that
all nsXULAttributes pointers will be 8-byte aligned. Bug 124335, r=brendan,
sr=waterson, a=rjesup (shaver's bug.)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120583 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 21:37:37 +00:00
pinkerton%netscape.com
087b513af8 remove portions of smfr's last scrolling optimization. the OffsetRgn calls seem un-necessary and caused problems with redrawing outliners and scrolling while windows overlapped the scrolled widget. r=sdagley/sr=beard/a=asa. bug# 141249
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120572 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 21:03:32 +00:00
rjesup%wgate.com
55781765c2 Bug 125489: mkdir issues causing problems with Privacy/Security & Tasks
menus. r=dougt  sr=brendan a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120571 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 20:59:43 +00:00
tor%cs.brown.edu
0b880c3f33 Bug 53597 - make gamma correction (or lack thereof) consistent.
r=dbaron, sr=brendan, a=roc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120568 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 20:40:35 +00:00
peterlubczynski%netscape.com
07c3528f53 Implementing plugin scanning in their installation folders and fixing Real Player in the components folder, bug 133282 r=av, sr=attinasi,waterson a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120567 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 20:40:10 +00:00
tor%cs.brown.edu
433f63c85f Bug 137694 - only create the 1-bit GC once we've created a 1-bit pixmap.
r=pavlov, sr=blizzard, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120566 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 20:37:48 +00:00
sicking%bigfoot.com
2c9d5ffb80 Bug 140687: Make substring() work for all startindexes.
r=Pike sr=jst a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120546 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 14:59:41 +00:00
rjesup%wgate.com
57359a5752 Bug 141718: 1.0 needs to have it's own start page. r=gerv, sr=shaver, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120545 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 14:53:14 +00:00
kaie%netscape.com
dd0a7ce7ea b=139948 SSL Tooltip not updated when going from one ssl site to another
r=javi sr=jag a=rjesup adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120532 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 07:58:59 +00:00
timeless%mac.com
0d02bd205a bug 139989, Fieldset needs prettier default border
patch by mabus@runbox.no, r=axel@pike.org, sr=ben, a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120531 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 07:15:43 +00:00
mkaply%us.ibm.com
8cf733bbc1 #140574
r=mkaply, sr=blizzard, a=rjesup@wgate.com
OS/2 only - Remove unnecessary pixelscale - fix print preview scaling


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120520 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 03:22:50 +00:00
bryner%netscape.com
b5cb98b819 Fixing mach-o build bustage on MOZILLA_1_0_0_BRANCH. a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120516 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 03:17:58 +00:00
rbs%maths.uq.edu.au
90402b9a8c bug 121748 - stretch fences at a size that fully covers non-fences. Also improve the height of token elements such as <mi> when they involve symbol fonts with weird metrics, r=roc+moz, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120489 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 23:37:40 +00:00
brendan%mozilla.org
6423619c8f Followup fix for 138791, neil@parkwaycc.co.uk's superior bit-fu (r=rjesup, sr=waterson, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120488 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 23:35:46 +00:00
rginda%netscape.com
9209ff62fe bug 135455, Missing chatzilla icon in Window dropdown menu
patch=mailto:andreas.premstaller@uibk.ac.at, r=rginda,sr=ben,a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120482 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 23:06:19 +00:00
(no author)
a0d1145f8e This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120481 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 23:06:13 +00:00
rginda%netscape.com
74e73e10f3 bug 135455, Missing chatzilla icon in Window dropdown menu
patch=mailto:andreas.premstaller@uibk.ac.at, r=rginda,sr=ben,a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120480 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 23:06:12 +00:00
cavin%netscape.com
238feddbd6 Fix for 123804 and 138804. Put child folders in the pending list when parent folders are missing and process these child folders when parent folders show up. r=ducarroz, sr=sspitzer, a=rjesup@wgate.com, adt=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120477 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 23:04:10 +00:00
brendan%mozilla.org
a978be0193 Avoid opening and trying to reopen in CopyTo, so we work on FAT32 filesystems mounted on Linux (e.g.; 134163, r=dougt, sr=waterson, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120472 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 22:50:20 +00:00
naving%netscape.com
cb5b4b1b01 138297 r=bienvenu sr=mscott a=rjesup Fix problems with single profile filter for imap accts when using quick
launch. Don't null the filter list on server unless we are unloading it.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120471 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 22:47:23 +00:00
brendan%mozilla.org
3ec439a1fd Don't 'constant-fold' if(false)var foo=42 into nothing (140974, r=khanson, sr=shaver, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120469 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 22:40:14 +00:00
jkeiser%netscape.com
c16ff0faf0 Fix Mac radio button click / general event crasher. bug 134934, r=saari@netscape.com, sr=attinasi@netscape.com, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120463 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 22:03:28 +00:00
ssu%netscape.com
506b99572b fixing bug 100822 - Shut down running browsers after download. r=curt sr=dveditz a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120460 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 21:51:09 +00:00
av%netscape.com
4679a340c1 Backing out changes from fixing bug 104611 as it may have caused a regression in page load time, see bug 141518
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120446 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 18:09:45 +00:00
bzbarsky%mit.edu
9bc7ddddf4 Landing Neil's fix for bug 132682 - Twisties aren't clickable in History
Sidebar, r=varga, sr=alecf, a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120442 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 15:00:58 +00:00
mhammond%skippinet.com.au
a9d5b91669 Oops - screwed up last checking - windows tries to init/finalize twice!
Not part of the build.  Global a= for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120434 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 14:03:24 +00:00
mhammond%skippinet.com.au
64a4b4e041 s/false/0/ - must have been in js mode :)
Not part of the build.  Global a= for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120433 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 14:02:24 +00:00
rods%netscape.com
bb57de0d36 This line got backed out of the trunk, but not the branch and should have
Discovered by Bug 140116
Bug 64165 r=jkeiser sr=attinasi a=asa adt=jamime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120430 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 13:03:22 +00:00
rods%netscape.com
ade3fc802f safety check to keep it from crashing
The safety checks in finalize_translation is the key to stopping the crash, but
the added ones in end_document are important also.
Bug 139369 r=dcone,roland sr=attinasi adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120427 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 11:36:07 +00:00
blizzard%redhat.com
c478573816 Bug #129591. nsWindow::Enabled is a no-op on GTK. Also fixes bug #65521 ([linux] modal dialogs should only freeze parent window (not all windows)) and bug #130855 (clicking on menuitem with submenu often activates an item on the submenu). Rewrite events to be much more sane. r=bryner, sr=jst, a=rjesup,shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120418 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 04:05:29 +00:00
dbaron%fas.harvard.edu
6d80075884 Rename Mozilla-extension values for real CSS properties to begin with -moz-. Remove some unused code. b=3935 r=hixie sr=waterson a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120417 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 03:55:40 +00:00
hewitt%netscape.com
3eb34b884b 134195 - trees don't work in builds installed over old builds, r=dbaron, sr=jag, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120415 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 03:15:50 +00:00
hewitt%netscape.com
4353adcf44 123834 - no text in wizard buttons on mac, r=andreww, sr=ben, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120409 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 03:02:56 +00:00
dbaron%fas.harvard.edu
8ce8efd86e Add command-line tool for parsing CSS files. b=139943 sr=waterson r=attinasi a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120407 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 02:54:11 +00:00
cotter%netscape.com
22af3d19b0 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. SDX & interface updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120399 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 02:34:47 +00:00
chak%netscape.com
3e667aeba3 Fix for #141247 - Enable HTML dir listings
r=dougt, sr=darin, a=adt, a=drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120391 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 02:01:11 +00:00
chak%netscape.com
9717ee655a Fixes #141235. Indexed-html converter doesn't handle parent directories for file protocol.
[Checking in for dougt]
r=chak@netscape.com, sr=darin@netscape.com, a=adt, a=drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120390 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 01:59:33 +00:00
darin%netscape.com
8bf0331753 fixes bug 141061 "XMLHttpRequest allows reading of local files"
r=mstoltz sr=heikki a=asa ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120379 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 01:20:13 +00:00
darin%netscape.com
131bb3f6bb fixes bug 138877 "Browser crashes if HREF contains entity #9619; M1RC1
topcrash [@ MSVCRT.DLL - PR_Free] [@ libc.so.6 - PR_Free]"
r=nhotta sr=rpotts a=asa ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120378 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 01:15:12 +00:00
bzbarsky%mit.edu
b0533dc7a4 Disable Link Toolbar on the branch only. Bug 138496, patch by
sballard@netreach.net (Stuart Ballard), r=bzbarsky, sr=jag, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120374 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 00:39:47 +00:00
dprice%netscape.com
2464767a0e 139641 r=ssu sr=dveditz a=rjesup adt=putterman
add flexable directory lookup to the install wizard


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120371 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 00:22:38 +00:00
(no author)
b3ff479e57 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120366 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-01 00:03:58 +00:00
danm%netscape.com
8edc1bfe80 two new makefiles in xpfe/components/autocomplete/resources. bug 120155 r=bryner,jag a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120350 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:37:55 +00:00
danm%netscape.com
9151441b62 process resources directory, Windows-only. bug 120155 r=bryner,jag a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120349 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:36:45 +00:00
danm%netscape.com
e90f36f1ba process content directory. bug 120155 r=bryner,jag a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120348 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:35:38 +00:00
danm%netscape.com
b085bafb64 force popup widget to be invisible when the menu is not explicitly open. bug 120155 r=bryner,hyatt a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120346 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:34:27 +00:00
danm%netscape.com
ab66163d40 new empty makefile to process jar.mn. bug 120155 r=bryner,jag a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120345 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:33:16 +00:00
danm%netscape.com
f72164b69a windows-only override for autocomplete.css bug 120155 r=bryner,jag a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120343 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:32:05 +00:00
danm%netscape.com
0a3fb441b8 windows-only version with visibility:hidden rule. bug 120155 r=bryner,jag a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120342 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:31:31 +00:00
karnaze%netscape.com
ace6774c42 bug 138292 - add a non table related frame to its parent frame's child list when the parent frame is an anonymous table cell frame, a=rjesup, adt=putterman, sr=waterson, r=alexsavulov.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120341 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:21:58 +00:00
(no author)
90cc2ae2ad This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120339 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:10:23 +00:00
varada%netscape.com
486c6118e2 fix for 141314;associate the right smtp server with each account;r=racham;sr=sspitzer
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120337 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 22:08:39 +00:00
naving%netscape.com
84438fad56 139833 r=racham sr=sspitzer a=rjesup default sent/templates/drafts folder uri's should use internal names,
do not use localized names.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120332 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 21:37:57 +00:00
av%netscape.com
c9db4ed2fd Fixing 106411 -- 'Starting plugin...' message is stuck in the status bar, r=serge, sr=beard, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120321 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 20:54:11 +00:00
darin%netscape.com
0dd4d12051 fix assertion in nsHttpPipeline due to missing NS_INIT_ISUPPORTS... this
patch was meant to land along with yesterday's pipelining landing.
r=gagan sr=rpotts a=chofmann ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120315 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 20:08:30 +00:00
jkeiser%netscape.com
584cad73f4 Fix form restoration for pages with multiple forms. bug 138892, r=rods@netscape.com, sr=attinasi@netscape.com, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120314 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 19:52:45 +00:00
varga%utcru.sk
e851fcf629 Fix for bug 135002 - timing issues in the outliner content model.
r=bryner, sr=hewitt, adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120304 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 16:22:31 +00:00
rods%netscape.com
c8cd4c0142 forgot about this additional change
Bug 136185 r=dcone sr=attinasi a=asa adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120294 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 10:57:46 +00:00
rods%netscape.com
eed8ea112d temp fix so XUL document won't print
Bug 136185 r=dcone sr=attinasi a=asa adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120293 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 10:46:26 +00:00
law%netscape.com
0cdefef72b Bug 136188 (for branch); add support for WWW_GetWindowInfo DDE topic; r=John Weilander (support@kaylon.com); sr=roc+moz@cs.cmu.edu, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120290 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 07:57:42 +00:00
sspitzer%netscape.com
7bc93da4c9 fix build issue. thanks to jefft for the patch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120289 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 06:33:18 +00:00
mstoltz%netscape.com
6505f6ae3f Bug 140133 - Changing dangerous strcpy call to strncpy, and null-terminating
the result. r=nhotta, sr=heikki, a=asa, putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120286 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 04:18:32 +00:00
av%netscape.com
327e48530d Fixing 132430 -- Real JukeBox breaks the Plugin Finder Service, r=peterl, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120278 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 02:16:40 +00:00
av%netscape.com
ecc5bf01f7 Fixing 132430 -- Real JukeBox breaks the Plugin Finder Service, r=peterl, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120277 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 02:08:01 +00:00
av%netscape.com
56e1aee489 Fix 132430 -- Real JukeBox breaks the Plugin Finder Service, r=peterl, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120276 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 02:06:14 +00:00
law%netscape.com
01f4d66b6b Bug 141068; turn on the pref that will cause exit when last window closes in turbo mode, if the user has multiple profiles, r=sgehani@netscape.com, sr=jaggernaut@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120275 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 01:55:45 +00:00
darin%netscape.com
e5e4f0b26c fixes bug 93054 "implement HTTP/1.1 pipelining" (disabled by default)
r=gagan sr=rpotts a=chofmann ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120268 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 01:11:16 +00:00
mhammond%skippinet.com.au
a792c0ba44 s/wchar_t/PRUnicode/ for Linux.
Not part of the build.  Global "a=" for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120267 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 01:05:19 +00:00
mhammond%skippinet.com.au
9f7c157dc0 Add some standard header files.
Not part of the build.  Global "a=" for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120266 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-30 01:04:01 +00:00
bzbarsky%mit.edu
a1c5d620cf Make selecting parts of a line in align:justify work right on
Mac/Linux.  Bug 58704, r=akkana, sr=kin, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120255 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 23:54:43 +00:00
mhammond%skippinet.com.au
647489f91d Remove signed/unsigned mismatch warning.
Not part of the build; global "a=" for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120251 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 23:23:37 +00:00
mhammond%skippinet.com.au
79017aee7c Ensure result code always initialized, even when we don't go around the loop
Not part of the build; global "a=" for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120250 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 23:22:52 +00:00
mhammond%skippinet.com.au
7093aeefa2 Yet another attempt at portable library init and finalize. Thanks to
Christof Meerwald.

Not part of the build; global "a=" for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120249 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 23:22:16 +00:00
mkaply%us.ibm.com
9187ea31c1 #140538
r=pedemont, sr=blizzard, a=asa
OS/2 only - fix some edge cases where file dialog didn't appear, general cleanup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120245 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 22:50:50 +00:00
serge%netscape.com
959b0bd890 fix #131153 [PDF plugin doesn't work, it expects file extension for stream type == StreamType_AsFile] r=peterl,sr=darin,a=asa,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120244 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 22:48:32 +00:00
varga%utcru.sk
e9b4d1c37e Fix for bug 135294 - Click on splitter causes semi-hang.
r=hwaara, sr=ben, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120240 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 22:37:13 +00:00
leaf%mozilla.org
4de9db38fa update to release candidate 2 in case we do one ;) r=aki, bug 134264
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120237 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 22:06:33 +00:00
jj%netscape.com
95537ada6b bugscape 13170: updating 'vers' 2 again (in fact restoring rev 1.9.44.2)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120234 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 22:03:26 +00:00
jfrancis%netscape.com
c7287e9c01 branch landing of 100855: getting correct ui feedback in composer's paragraph format menu. r=brade, sr=kin, adt=jaime, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120225 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 21:19:12 +00:00
locka%iol.ie
d096ea5ef8 Add missing scrollbar graphic. b=138692 r=adamlock@netscape.com sr=rpotts@netscape.com a=asa@mozilla.org a=jaimejr@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120224 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 21:14:48 +00:00
radha%netscape.com
5cff0b49e8 Fix for bug # 138134. General anchor traversal broken by ScrollIfAnchor(). r=adamlock sr=alecf a=rjesup. Approved by ADT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120223 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 20:58:23 +00:00
law%netscape.com
1986167e81 Bug 133120; re-applying this fix on the branch, it was previously applied weeks ago but I screwed up CVS and it got backed out
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120222 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 20:42:08 +00:00
cbiesinger%web.de
16c69a134c bug 140146 patch by ere@atp.fi r=bienvenu sr=mscott a=asa
crash in nsMsgFolder during shutdown; M1RC1 topcrash [@ nsMsgFolder::SetBiffState]


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120221 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 20:33:36 +00:00
mkaply%us.ibm.com
1baf46f180 #67749
r=cls, a=dbaron
OS/2 only - add OS/2 specific forms.css


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120219 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 20:29:07 +00:00
jaggernaut%netscape.com
9e403beae8 Bug 37638: URL bar is given focus by default in new window [via accel+N or File > New Navigator Window]
Bug 89835: Window opened up with JavaScript has focus in the URL bar while NN4 and IE put focus on the content area

Focus will now always go to the content area unless we're opening for a blank page.

r=sgehani, sr=hewitt, a=drivers, a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120186 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 09:40:03 +00:00
glazman%netscape.com
888df6e957 Add ability to remove named anchors from Composer's Format menu and contextual menu; b=80742, r=jfrancis, sr=kin, a=rjesup@wgate.com, adt=jaime
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120184 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 09:31:03 +00:00
ben%netscape.com
05920ee992 127476 - adt1.0.0+ non-ASCII characters in imported IE bookmarks are displayed
as garbage. r=ftang, sr=hyatt, a=dbaron.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120183 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 09:22:04 +00:00
badami%netscape.com
0194225d8b bug 122877 r=bratell sr=jst a=asa patch=t_mutreja@yahoo.com
case insensitive matching for attributes (HREF != href)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120177 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 06:25:55 +00:00
mhammond%skippinet.com.au
97c9c1ece8 New file needed by last checkin. Not part of the build.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120174 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 05:54:52 +00:00
mhammond%skippinet.com.au
50d2799bf8 Add support for nsIVariant, and fix a number of other bugs. Replace
nsAllocator with nsMemory.

Not part of the build; using global "a=" for this part of the tree.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120173 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 05:32:45 +00:00
karnaze%netscape.com
509866e746 bug 138436 - remove redundant style change reflows. a=asa, adt=putterman, sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120171 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-29 03:37:51 +00:00
dbaron%fas.harvard.edu
11f00a6636 Better simulate the automated update to configure that would have happened on the trunk (fixes line numbers for error reports during build). See bug 91305.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120160 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-28 23:36:58 +00:00
blakeross%telocity.com
00c4fb82f8 134039 - theme switching should shut down QL. r=law sr=hyatt a=dbaron adt1.0.0+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120157 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-28 22:48:50 +00:00
shanjian%netscape.com
b73ef7a9df update configure base on configure.in.
(configure.in change was made for :
#91305 add universal chardet into unix default extensions list.
That was checked in a week ago, but configure file is not updated yet.
)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120154 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-28 22:22:27 +00:00
darin%netscape.com
484eac2e03 fixes bug 138780 "Redirect with non-ASCII in URL fails"
r=andreas.otte@debitel.net sr=rpotts a=asa ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120145 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-28 19:40:00 +00:00
alecf%netscape.com
edc01d68be fix comments to actually describe the interface for bug 136235
r=chak, sr=dveditz, a=dbaron
no ADT because this is simply a comment/doc change - there is no code involved.
trying to do the right thing here and just land this puppy.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120083 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 04:32:23 +00:00
wtc%netscape.com
c863d44ace Bugzilla bug 129080: Unroll the collect_data code. Pin the required buffers.
Allow the cache to grow if necessary to hold large objects. r=nelsonb,wtc.
a=asa (on behalf of drivers) for checkin to the 1.0 branch
Modified Files: h_bigkey.c hash_buf.c
Tag: MOZILLA_1_0_0_BRANCH


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120076 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 03:43:49 +00:00
wtc%netscape.com
e418971eda Cause tinderbox to rebuild. (Tag: MOZILLA_1_0_0_BRANCH)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120073 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 03:05:59 +00:00
wtc%netscape.com
dd7b6b45f5 Backed out the fix for bug 121975 on the MOZILLA_1_0_0_BRANCH. It doesn't
work on Windows 95.
Modified files: configure configure.in WIN32.mk _win95.h w95dllmain.c
w95thred.c


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120072 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 03:02:01 +00:00
sspitzer%netscape.com
a1721de603 fix for #134743. mailing list entries get duplicated when you use turbo.
r=racham,sr=mscott,a=dbaron,a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120071 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 02:54:53 +00:00
law%netscape.com
a696f04d4d Bug 136940; check new pref browser.turbo.singleProfileOnly, and if set, exit when last window closes. This code provides a stop-gap in case multi-profile bugs can't be fixed; r=morse, sr=blake, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120065 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 01:57:01 +00:00
(no author)
c3af0047a7 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120062 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 01:47:19 +00:00
law%netscape.com
f4637ef0de Bug 116938; ensure temp file has extension matching content type, and, prevent ShellExecute on executable files; r=sgehani, sr=mscott, a=shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120060 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 01:40:17 +00:00
morse%netscape.com
cb3a2e0996 bug 132641, -killAll to close all windows, r=law, sr=jag, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120055 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 01:15:44 +00:00
cltbld%netscape.com
a5212f8062 fixing previous checkin: to rc2 for the moment.
asasaki checking in as cltbld, still bug 133797.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120054 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 01:13:48 +00:00
jst%netscape.com
9c851a6d41 Fixing OS/2 bustage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120052 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 01:07:40 +00:00
leaf%mozilla.org
9ff0d77979 force empty commit to branch to allow checking out with branch and date
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120049 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 00:39:10 +00:00
cltbld%netscape.com
72108100e8 Updating user agent string for 1.0, bug 133797.
r=lpham, sr=leaf, a=asa for blanket version approval.
asasaki checking in as cltbld.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120045 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-27 00:04:43 +00:00
curt%netscape.com
e3a4480ddc Fixes infinite loop in windows installer
(r=leaf, sr=dveditz, r=leaf)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120035 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 23:27:40 +00:00
kmcclusk%netscape.com
4a76d52d77 Abort paint if destroying the PresShell and check for null PresShell in nsImageLoader. bug 102585. r=waterson sr=attinasi a=dbaron adt_a=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120028 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 23:05:09 +00:00
jst%netscape.com
256c0c9094 Fixing bug 98654. Making document.write() after setting window.location from within a script that comes from document.write() not cancel the load that was intiated by setting window.location. r=bzbarsky@mit.edu, sr=vidur@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120024 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 22:53:10 +00:00
brendan%mozilla.org
02d880cb36 Fix for 131348 (a=asa, r=shaver, sr=brendan, checking in for khanson).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120013 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 22:10:25 +00:00
peterv%netscape.com
1b3fa859b9 Fix for bug 135825 (No scrollbars in P3P summary window). r=Pike, sr=heikki, a=dbaron, adt1.0.0+.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120009 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 21:45:19 +00:00
mscott%netscape.com
a6bb24d4c8 Bug #121299 --> fix the cookie icon to use an icon with a transparent background
r=morse
sr=sspitzer
a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120007 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 21:42:29 +00:00
peterv%netscape.com
7c9a240e91 Fix for bug 56087 (XSLTProcessor::TransformDocument can't work on existing document). r=harishd, sr=heikki, a=scc, adt1.0.0+.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120006 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 21:17:45 +00:00
rginda%netscape.com
5cee5838bf - venkman only -
bug 139883, "ErrorHookProc can be tricked into thinking it never finished running", r=peterv, a=scc
fixes bad early return in jsds_ErrorHookProc
test for correct max params (12, not 8) in CreatePPLineMap
use nsnull instead of 0 for null pointer return value


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@120001 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:59:02 +00:00
cbiesinger%web.de
0726835c64 last checkin had a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119997 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:42:31 +00:00
cbiesinger%web.de
320ca6ca28 bug 104825 r=caillon sr=attinasi
ABBR and ACRONYM should not have arrow/question cursor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119996 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:41:04 +00:00
andreas.otte%debitel.net
4072445f12 fix bug 132254 [Invalid URL confuses mozilla], while resolving a
possible relative url do not return an error when the urlparser
identifies an invalid scheme, instead take the string as relative url
instead, r=morse, sr=darin, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119995 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:39:31 +00:00
pinkerton%netscape.com
3f8bb42c7e delay mediator hookup to later in reflow to catch some other outliners. r=sdagley/sr=ben/a=roc. bug# 139263
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119994 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:27:10 +00:00
chak%netscape.com
44eccf3e99 Backing out fix for #106253 - Plugins aren't adding themselves to load groups
a=adt, a=drivers, r=peterl, sr=alecf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119990 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:19:44 +00:00
oeschger%netscape.com
bca9d10196 help content update: search database additions, dispensation per 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119989 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:19:05 +00:00
dougt%netscape.com
5d265597f7 Reduces the chance of losing a known race condition. 139556. r=rpotts@netscape.com, sr=darin@netscape.com, a=asa, *dt=jamiejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119988 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 20:16:47 +00:00
rjesup%wgate.com
533e58886e Bug 135361: Print properties margin callouts mislabeled.
r=bzbarsky, sr=attinasi, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119966 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 15:07:30 +00:00
karnaze%netscape.com
afd1e054ec bug 136746 - null pointer check if line is empty. a=asa, adt=jaimejr, sr=waterson/attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119964 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 14:55:25 +00:00
morse%netscape.com
42f8892aeb bug 132641 implement -killAll, r=law, sr=sgehani, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119952 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 06:51:57 +00:00
jaggernaut%netscape.com
c6b05ab2a7 Bug 139522: SSL Pages are incorrectly displayed as being not encrypted. r=kaie, sr=alecf, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119951 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 06:50:33 +00:00
jaggernaut%netscape.com
8d79ab9138 Backing myself out. This was an accidental checkin, but it'll come for real soon, I promise :-)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119950 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 06:47:17 +00:00
jaggernaut%netscape.com
8a331877f7 *** empty log message ***
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119948 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 06:44:20 +00:00
morse%netscape.com
bf5f91136e bug 132641 implement -killAll, r=law, sr=sgehani, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119947 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 06:26:07 +00:00
morse%netscape.com
92dc132e55 bug 132641 implement -killAll, r=law, sr=sgehani, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119946 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 06:19:53 +00:00
curt%netscape.com
6320031aac Differentiate between a product name we show the user and an internal product
name we use for regisry and path names
  (Bug 140178, r=ssu, sr=dveditz, a=asa)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119941 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 04:49:56 +00:00
jkeiser%netscape.com
324d0ddc3b Fix crash with keyboard access to comboboxes (bug 136606), r=rods@netscape.com, sr=attinasi@netscape.com, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119939 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 04:16:57 +00:00
bienvenu%netscape.com
95cb3a686d fix bug 127707 from trunk crash adding news server after removing news server r=navin, sr=sspitzer a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119936 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 02:09:16 +00:00
ducarroz%netscape.com
51fa48e028 Fix for bug 138619. We must initialize rv before using it!. R=srilatha, SR=bienvenu, A=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119920 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 00:48:29 +00:00
nhotta%netscape.com
030dc46ba9 Adding a localization comment to a property file not to translate the strings,
bug 139615, r=rchen, a=rjesup@wgate.com, adt.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119919 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 00:47:23 +00:00
sspitzer%netscape.com
a3ae03ad37 fix for #101527
moveTo() [of directories with subdirectories] on windows doesn't behave the same as it does on linux and mac.  r=dougt, sr=bienvenu, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119916 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 00:39:53 +00:00
brendan%mozilla.org
514f134015 Purge the deflated string cache entry, if any, before finalizing external strings (140070, r=jband, sr=shaver, a=rjesup).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119913 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 23:54:34 +00:00
darin%netscape.com
8a410b6fe1 fixes bug 137965 "document contains no data on disconnect"
r=bbaetz sr=rpotts a=asa ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119912 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 23:54:31 +00:00
cotter%netscape.com
509d393ae1 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; content & formatting fixes for certs help
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119910 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 23:45:04 +00:00
sspitzer%netscape.com
1f51267cb5 new string for bug #137886. r=ccarlen,sr=bienvenu,a=putterman,mcarlson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119906 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 23:31:59 +00:00
darin%netscape.com
2e507a2491 fixes bug 139202 "should not send extra FTP commands"
patch=brade, r=mstoltz, sr=alecf,darin


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119905 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 23:30:25 +00:00
peterlubczynski%netscape.com
17d4973104 Fixing last checkin so it matches what's in the trunk (and doesn't crash on startup)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119891 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 22:36:58 +00:00
morse%netscape.com
8da15e1c80 bug 123633, prefs not written on shutdown, r=sgehani, sr=jag, a=rjesup@wgate.com, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119888 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 22:34:32 +00:00
brendan%mozilla.org
19e0851b35 Handle wraparound of PRIntervalTime, plus crucial fixes thanks to Ere Maijala <ere@atp.fi> (138791, r=rjesup, sr=waterson, a=blizzard).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119882 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:59:36 +00:00
heikki%netscape.com
3106d5e24d Bug 129607, do not try to parse when data in not XML. This improves performance and also fixes a hang if the data is HTML that has inline style elements. r=harishd, sr=vidur, a=rjesup@wgate.com,ADT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119881 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:41:26 +00:00
pinkerton%netscape.com
ff9eb3391c oops, missing a {
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119879 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:35:14 +00:00
pinkerton%netscape.com
ee124649b2 package download progress on mac for embedding. fix jar manifest to not pull en-unix on every platform. r=bryner/sr=ben/a=rjesup. bug#134523
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119867 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:09:37 +00:00
mkaply%us.ibm.com
902cd5e269 #125076
r=mkaply, sr=blizzard, a=roc+moz
OS/2 only - from Jessica Blanco - different way to allocate printer data to fix crash/hang on some drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119864 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:04:59 +00:00
mkaply%us.ibm.com
40e5a9d113 #139852
r=mkaply, sr=blizzard, a=roc+moz
OS/2 only - from Javier Pedemonte - implement ConstrainPosition


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119862 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:03:12 +00:00
mkaply%us.ibm.com
8df34cd68e #139219
r=pedemont, sr=blizzard, a=roc+moz
OS/2 only - handle zorder event


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119861 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 21:00:24 +00:00
dbragg%netscape.com
8e808c44ee Missed checking in these files when I fixed bug 126785. Opened as bug 138740. r=tao, sr=scc, a=rjesup@wgate.com
adt approved.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119860 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 20:58:57 +00:00
mkaply%us.ibm.com
cfcaa9c909 #138728
r=pedemont, sr=blizzard, a=roc+moz
OS/2 only - convert filtername to platform specific charset


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119859 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 20:57:48 +00:00
peterlubczynski%netscape.com
4023b25ccc adding missed file
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119828 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 15:11:45 +00:00
peterlubczynski%netscape.com
168b044abc Fixing crash with default plugin, r=av, sr=waterson, bug 139529 a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119827 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 14:25:24 +00:00
peterlubczynski%netscape.com
01a5f01e3f Implementing BP_GetSupportedMIMETypes and NP_GetMIMEDescription on Mac to get MPEGs to work with Quicktime, bug 113464 r=bnesse sr=beard a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119826 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 14:23:26 +00:00
pinkerton%netscape.com
93cb40a1c2 Second attempt to fix bug 137295; gaps appearing in images on Mac OS X. Changed to not pass in the clipRgn when we're drawing to another image (e.g. animated GIFs), or another non-window destination where we don't want to clip. r=pink, sr=beard. a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119825 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 14:15:33 +00:00
pete.zha%sun.com
e33240dbef bug 92491:press letters to select item in XUL menu, menulist
r=aaronl sr=hyatt a=shaver
Check in for Kyle Yuan's(kyle.yuan@sun.com) fix


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119821 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 10:44:07 +00:00
sspitzer%netscape.com
5c8009f90e fix for #124208. Address Book window shows LDAP directories from previous Profile in turbo mode.
r=bienvenu, sr=mscott.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119815 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 05:37:13 +00:00
jj%netscape.com
812bb1716c backing out last checkin
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119814 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 05:36:59 +00:00
morse%netscape.com
dd51cc7727 bug 136972, change p3p default settings, r=sgehani, sr=jag, a=rjesup@wgate.com, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119813 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 04:10:50 +00:00
dprice%netscape.com
9b5a6028f2 130428 - r=syd sr=dveditz a=scc adt=putterman
xpis can be triggered from urls with query strings
118216 - r=syd sr=dveditz a=scc adt=putterman
avoid edge case crashes by adding a few error checks


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119812 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 03:47:59 +00:00
mscott%netscape.com
83f74adbed Bug #132731 --> dynamically adjust the width of the alert window to avoid truncation issues. Use the correct
font in the alert.
r=neil
sr=hewitt
a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119808 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 01:44:23 +00:00
sgehani%netscape.com
6d7ba532c9 Use getComplexValue() instead of getLocalizedUnicharPref().
b=139355; r=bryner; sr=alecf; a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119802 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 00:52:18 +00:00
dbaron%fas.harvard.edu
719f6148dd Fix up and enable hierarchical :hover and remove the hacks that made :hover work for anchors without it. Pass mask rather than pseudo-class to ContentStatesChanged notifications. Optimize event state changes in the style system by passing state mask to HasStateDependentStyle and using it in HasStateDependentStyle implementations. b=5693 r=bryner, joki sr=hyatt. Also includes fixes for regressions from original checkin: bug 137556 (r=bryner sr=kin) and bug 137067 (r=bzbarsky sr=waterson). a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119796 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-25 00:24:49 +00:00
bzbarsky%mit.edu
5d62c3cc6a Fix parsing of content-types. Bug 138639, r=bbaetz, sr=darin, a=scc.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119787 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:54:35 +00:00
cotter%netscape.com
aae80b929a ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. content updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119782 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:39:56 +00:00
rbs%maths.uq.edu.au
c3c7fa242d MathML entries are missing in embedding packages, b=137029, r=adamlock, sr=heikki, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119777 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:13:26 +00:00
kaie%netscape.com
8d102035fa b=134992 Fix crash when displaying some S/Mime messages.
r=javi sr=alecf adt=putterman a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119776 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:10:59 +00:00
kaie%netscape.com
aa91314590 b=139349 Need to use dont_AddRef with GetCertAtIndex
r=bryner sr=alecf adt=putterman a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119775 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:09:55 +00:00
kaie%netscape.com
f1d171d635 b=139325 Leaking CERTCertificate references from
nsNSSCertificate::GetChain
r=bryner/javi sr=alecf adt=jaime a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119774 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:08:17 +00:00
kaie%netscape.com
b3068b50ef b=125607 Temporary workaround for better displaying signed S/Mime messages
w/ attachments from IMAP servers.
r=ducarroz sr=bienvenu adt=putterman a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119773 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:04:33 +00:00
rbs%maths.uq.edu.au
7579ba6446 MathML entries are missing in embedding packages, b=137029, r=adamlock, sr=heikki, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119771 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 23:02:37 +00:00
mscott%netscape.com
eaa65c0868 Bug #133580 --> make image/tiff attachments show up as external attachments
instead of acting non-existent in the message.
r=ducarroz
sr=bienvenu
a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119770 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 22:56:42 +00:00
bryner%netscape.com
09e6ecc483 Bug 124304 - make tab/shift+tab cycle through all recipients in the mail compose window (even ones not scrolled into view). r=ben, sr=hewitt, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119768 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 22:31:23 +00:00
sicking%bigfoot.com
cbe5acd88b bug 137399: Make removeAttribute work again for html-elements not in main doc-tree
r=glazou sr=jst a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119765 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 22:14:39 +00:00
mkaply%us.ibm.com
44309b6b69 #124164
r=pedemont, sr=blizzard, a=asa
OS/2 only - remove unnecessary XP_OS2 chunk that tries to fix form element fonts


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119762 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 22:05:17 +00:00
nhotta%netscape.com
e232ba020c Changed to use a different util function which does not call the converter repeatedly in a loop
in order to workaround the converter problem (bug 138578),
bug 120728, r=ducarroz, sr=sspitzer, a=rjesup@wgate.com, adt.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119761 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:56:13 +00:00
mkaply%us.ibm.com
aaf2e134b8 #136958
r=cls, a=scc
OS/2 only - remove high performance timer code - switch to OS millisecond timers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119760 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:55:38 +00:00
nhotta%netscape.com
29c0a861b1 Added out argument for NS_MsgStripRE to avoid altering the const argument,
bug 131983, r=ducarroz, sr=bienvenu, a=rjesup@wgate.com, adt.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119759 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:54:13 +00:00
brade%netscape.com
699a315d5e fix double-click bug (clicking twice quickly in scrollbar invokes properties dialogs); bug 134503, r=akkana, sr=kin, a=scc, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119750 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:32:12 +00:00
shanjian%netscape.com
6e2c371544 #115114 autodetect universal detects french as Central European (ISO-8859-2)
removing latin2 and win1250 prober to prevent latin1 confusion.
r=ftang, sr=scc, a=rjesup, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119745 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:16:26 +00:00
varga%utcru.sk
6c1e42594e Fix for bug 135764 - mozilla crashes in DOM Inspector - Trunk [@ nsTreeBodyFrame::SetBounds]
r=bryner, sr=ben, a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119744 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:05:32 +00:00
jfrancis%netscape.com
45b43ac004 branch landing of fix for bugzilla 135337: adt=jaime, a=shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119743 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:04:17 +00:00
blizzard%redhat.com
b502b8efc1 Bug #81779 . Mozilla crashes if you higlight and repeatedly drag text. Return if the source data items aren't available. r=rjesup,sr=shaver,a=shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119742 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 21:03:46 +00:00
cltbld%netscape.com
52bc62de79 bugscape bug 13170: updated 'vers' to 2 - kysmith checking in as cltbld
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119737 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 20:24:15 +00:00
cotter%netscape.com
7beecd0046 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. cert updates, help on help
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119691 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 05:55:48 +00:00
(no author)
959f48bb82 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119689 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 05:52:06 +00:00
saari%netscape.com
9392bde1e3 fix for bugzilla 135226. Slight modification of previous patch to disable image optimization to DDBs when displaying on a paletted device. This isn't the ideal solution, but it is what I'm going with for the moment to deal with the embedding pull tomorrow morning.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119687 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 04:53:42 +00:00
shanjian%netscape.com
d4bc26bd24 #138002 nsParser should not accept charset notification coming from low priority source
check existing charset source and send notification only when existing charset source is
lower than meta charset.
r=ftang, sr=jst, a=shaver, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119663 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-24 00:49:38 +00:00
locka%iol.ie
aa4c21982b Add missing nssckbi library to embedding manifests. b=134034 r=kaie@netscape.com sr=rpotts@netscape.com a=putterman@netscape.com a=valeski@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119641 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 22:51:46 +00:00
suresh%netscape.com
9820819552 fix for 138231. select a tab if the last selected one is not in view. r=suresh, sr=alecf.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119636 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 22:27:08 +00:00
dougt%netscape.com
880f61a67c PAC instantiation hangs Regxpcom Solaris nightly build packaging process. Fixing timer logic. Patch by Kenneth Herron. r=dougt@netscape.com, sr=brendan@mozilla.org, a=rjesup@wgate.com , b=106009
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119633 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:32:33 +00:00
dougt%netscape.com
521e7835df Fix for 139512. GPF During Installation in Regxpcom during install. patch by jband, r=dougt, sr=shaver, a=blizzard
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119632 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:19:39 +00:00
mkaply%us.ibm.com
c5bd386711 #100676
r=pedemont,cls (makefile), sr=alecf, a=shaver
OS/2 only - remove dependency on uconv for filename conversions


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119631 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:11:47 +00:00
bzbarsky%mit.edu
e85e0624e7 Fix cloneNode() to properly copy the "style" attr as an object, not a
string.  Bug 137428, r=fabian, sr=jst, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119630 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:08:11 +00:00
bzbarsky%mit.edu
9821e88608 Fix crash on copying string with embedded nulls. Bug 136278, r=brade,
sr=kin, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119629 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:05:38 +00:00
mkaply%us.ibm.com
b4b60272e8 #100676
r=pedemont,cls (makefile), sr=alecf, a=shaver
OS/2 only - remove dependency on uconv for filename conversions


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119628 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:04:20 +00:00
varada%netscape.com
fc89f1262e fix for 136937- mail compose body becomes uneditable after send failure;r=srilatha;sr=mscott;a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119627 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:01:59 +00:00
mkaply%us.ibm.com
3e5989752f #124164
r=mkaply, sr=blizzard, a=shaver
OS/2 only - code from Javier Pedemonte to properly set font heights


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119626 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 21:01:28 +00:00
cavin%netscape.com
a40574c03f Fix for 134897. Reset 'mInitialized' and 'm_initialized' for imap so that the folder obj will be re-initialized for new profiles. Also reset 'mPath' and 'm_pathName' for imap so that it points to the right physical location for the new profile (instead of carrying over from previous profile). r=bienvenu, sr=sspitzer, a=asa, adt=putterman.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119625 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 20:55:20 +00:00
brade%netscape.com
f6cf35ca4e remove FontManager (moved to gfxComponent.xml) so it can be weak linked (bug 138495); r=ccarlen, pinkerton, sr=sfraser, a=rjesup, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119611 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 13:23:15 +00:00
brade%netscape.com
33244035e4 add fontmanager library (bug 138495) r=ccarlen, pinkerton, sr=sfraser, a=rjesup, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119610 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 13:06:05 +00:00
peterv%netscape.com
1071f10c04 Fix for bug 135895 (XHTML <style> element not working). r=sicking, sr=jst, a=asa, adt1.0.0+.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119607 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 12:37:17 +00:00
darin%netscape.com
e6328bd509 fixes bug 136216 "[viewpoint] GetURL fails on https file when the file is
partially in the browser's memory cache" r=serge, sr=rpotts, a=asa, ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119602 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 05:47:43 +00:00
naving%netscape.com
d86149a289 134291 r=mscott sr=bienvenu a=rjesup. Make migration work for 2nd profile w/ imap acct in turbo mode.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119586 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 00:57:41 +00:00
rdayal%netscape.com
14eda85230 Fix for leaks by each entry retrieved during any LDAP search, bug # 134069
r=dmose, sr=sspitzer, a=roc+moz


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119580 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-23 00:02:44 +00:00
srilatha%netscape.com
57e6b9c547 Fix for bug #134947. Import text dialog unusable,
r=varada, sr=sspitzer, a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119579 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 23:57:55 +00:00
bzbarsky%mit.edu
82d1070192 Inspector shows wrong list of style rules for table elements. Bug
122557, r=caillon, sr=hewitt, a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119577 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 23:51:23 +00:00
rdayal%netscape.com
c0392aee23 fix for MAPI Send of file with non English filenames, bug # 103313
r=nhotta, sr=mscott, a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119565 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 22:30:40 +00:00
ducarroz%netscape.com
02822617db Fix for bug 136008. Do not cache the compose window if it's the last window else that will prevent the application to shutdown. Patch submitted by antonio.xu@sun.com. R=ducarroz, SR=bienvenu, A=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119563 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 20:58:35 +00:00
ducarroz%netscape.com
172fc515a3 Fix for bug 134729. Remove cols attibute passed down when user press the delete key and instead add a function to calculate the number of columns. R=varada,shuehan SR=sspitzer, A= rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119559 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 20:37:09 +00:00
jdunn%netscape.com
eac3008773 adding a newline (HP requires them)
r=cls@seawood.org
a=asasaki@netscape.com
# 139191


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119550 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 17:04:18 +00:00
kaie%netscape.com
52cca6ed36 b=137154 PSM needs to call SSL_ClearSessionCache before switching profiles
r=wtc/javi sr=alecf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119541 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 13:55:32 +00:00
brade%netscape.com
02f579ce4a show error when unable to publish (such as being unable to create a uri) bug 126258; r=cmanske, sr=kin, a=asa, adt=jaime
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119537 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 13:08:35 +00:00
rods%netscape.com
9ed956dcca Cache the Zoom and TextZoom for the main DC while in Print Preview and then set
it back when leaving Print Preview
Bug 136785 r=dcone sr=attinasi adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119536 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 12:18:39 +00:00
blakeross%telocity.com
96d8a8ece0 105547 - remove pref to control where new windows open (tab or window). r=bryner sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119533 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 03:13:11 +00:00
blakeross%telocity.com
bf9337f3d8 105547 - windows open in new window instead of tabs (remove pref for now). r=bryner sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119531 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 03:08:12 +00:00
naving%netscape.com
4ce66d0295 22994 r=morse sr=dveditz sspitzer a=asa Add support for blocking cookies in mailnews by default. Used an overlay to add this new checkbox that gets the value from disableCookieForMailNews pref
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119530 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 01:46:26 +00:00
naving%netscape.com
5b7d330067 137008 r=bienvenu sr=mscott a=asa. Make redo delete messages work for quick search results when folder was in
threaded view.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119529 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-22 01:33:36 +00:00
sicking%bigfoot.com
9c4bd18276 Bug 132302: Throw right exceptions for DOM Ranges.
r=Pike, sr=jst, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119520 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-21 18:01:15 +00:00
cbiesinger%web.de
36ca27b46a bug 136402 patch by neil.marshall@sympatico.ca r=db48x sr=alecf a=asa
Case of first letter in text labels is sometimes wrong in the Media tab


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119499 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 18:12:00 +00:00
caillon%returnzero.com
998811395f Page info shouldn't open cache items in blocking mode. Fixes Bug 124566, 'View Page Info whilst this page loading hangs browser.' Patch by db48x@yahoo.com, r=caillon, sr=darin, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119492 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 14:48:47 +00:00
caillon%returnzero.com
e7acea9915 Bug 137297. Alphabetize computed style's queryableProperties list. r=bzbarsky, sr=hewitt, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119491 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 14:40:32 +00:00
jfrancis%netscape.com
65d1906f81 branch landing of 136944: crash in editor when typing.
a=asa; adt=Jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119489 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 14:14:01 +00:00
hwaara%chello.se
fce95b6677 #128527, "disabling a radiobutton doesn't disable the text"
r=andreww, sr=hewitt, a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119488 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 13:12:40 +00:00
rods%netscape.com
2ec240eb5c This displays a focus ring when the listbox has focus for HTML listboxes (NOT XBL listboxes)
The idea is that when the SelectAreaFrame (which is the parent) of the options
is asked to paint then it asks the ListControlframe to paint the focus ring in
the correct spot. It need to find the first non-disabled option (ignoring opt
groups) and if nothing is selected it need to find the first frame which is the
dummy option. Also, it now track thru a static data member which listControl
frame currently has focus (this was taking from how comboboxes track it internally)
Bug 64165 r=jkeiser sr=attinasi adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119486 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 12:29:40 +00:00
mscott%netscape.com
21202829f3 Bug #133130 --> fix a race condition that caused the notification icon
to never go away.

Bug #135753 --> figure out the folder to select when the user clicks on the
animated alert to ensure that we select the right folder.

Bug #123104 --> fix an inaccuracy in the new mail count. Always reset to 0
if we discover we have no new mail even if the state has already been changed
that way.

r=naving, sr=bienvenu/sspitzer
a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119471 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 03:11:20 +00:00
oeschger%netscape.com
df8ed489af adding image to help, author=robinf, r=oeschger, dispensation for regular updates per 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119447 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-20 01:22:41 +00:00
harishd%netscape.com
759cc84ac4 Prevent charset loading for document.write content because it's already in unicode. b=125317, r=ftang, sr=jst, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119439 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 23:24:07 +00:00
heikki%netscape.com
5e7aa6a1c8 Bug 137632, going back and forward in history does not scroll back to anchor location nor does it select the anchor (if pref set). r=radha, sr=jst, a=rjesup,ADT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119436 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 23:13:15 +00:00
(no author)
943efc9e9f This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119426 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 22:25:24 +00:00
bzbarsky%mit.edu
b7b3e572b6 Make the "Close" menuitem and shortcut work in Inspector. Bug 128663,
r=hwaara, sr=hewitt, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119424 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 22:24:45 +00:00
ftang%netscape.com
2b12789fbf fix bug 131837 r=nhotta sr=kin. fix simp chinese to unicode mapping table for se
veral sites
carry from trunk


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119423 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 21:58:18 +00:00
mkaply%us.ibm.com
aaa9ecf79b #137693
r=mkaply, sr=blizzard, a=rjesup@wgate.com
OS/2 only - workaround for MINCHO font bug


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119422 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 21:57:22 +00:00
nhotta%netscape.com
9ac4527500 Use ISO-8859-1 as a compose charset if us-ascii, change for edit as new,
bug 136938, r=ducarroz, sr=kin, a=asa, adt.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119419 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 21:37:36 +00:00
harishd%netscape.com
d9d21ee90f Initialize token allocator, in the BuildMode(), regardless of whether a sink is available or not. b=137644, r=heikki, sr=jst, a=adt,asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119418 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 21:09:20 +00:00
harishd%netscape.com
0068546bf3 Fixed a crash by making sure that the CNavDTD and nsHTMLContentSink stacjs are synchronized when handling FORM. b=133410, r=heikki, sr=jst, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119417 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 21:00:14 +00:00
peterlubczynski%netscape.com
0d8ecd0d21 Fixing smoketest blocker bug 138500 r=av sr=jag a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119410 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 18:18:58 +00:00
cbiesinger%web.de
a41a9d2a9e bug 138475 r=bbaetz sr=darin a=asa
data: protocol doesn't unescape its uri string
also fixes bug where data: urls w/o mimetype didn't work (e.g. data:,foobar)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119404 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 15:16:41 +00:00
varada%netscape.com
39b506ab01 fix for 58506;smtp panel doesnt get refreshed when creating a new default smtp server;r=srilatha;sr=mscott;a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119401 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 14:22:54 +00:00
kin%netscape.com
bd004663da Fix for bug 106489 (Text entered in box does not appear)
- Moved MoveChildrenTo() and GetRealFrame() to a point in the
  file where they could be called from my new utility method
  AdjustOutOfFlowFrameParentPtrs().

- Modified MoveChildrenTo() to take an nsFrameConstructorState arg,
  so that it can call my new method AdjustOutOfFlowFrameParentPtrs()
  so that out-of-flow floater frames are reparented to the correct
  containing block when the placeholder is moved under the block
  created in ConstructInline().

r=attinasi@netscape.com  sr=waterson@netscape.com
adt=jaimejr@netscape.com  a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119395 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 13:37:35 +00:00
kin%netscape.com
6ee8dd438a Fix for bug 68331 (Moving caret in TEXTAREA to start of line can cause page to scroll horizontally)
- Modified GetSelectionRegionRectAndScrollableView() to clip
  aRect so that it is completely within the bounds of the
  scrolledView. This insures that other scrolled views in
  the parent hierarchy will not scroll more than they have to.

r=brade@netscape.com  sr=sfraser@netscape.com
adt=jaimejr@netscape.com  a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119394 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 13:36:31 +00:00
sicking%bigfoot.com
a8674b4e10 Bug 132300. A better way to bootstrap XPathEvaluator by following the specs recommendation and making documents implement the interface.
r=pike sr=jst a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119393 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 13:26:19 +00:00
rjc%netscape.com
31f63c43ed Fix adt1.0.0+ bug #132493 on MOZILLA_1_0_0_BRANCH (already on tip): Mac OS X multiple sheets issue. r=pink sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119390 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 10:29:16 +00:00
mjudge%netscape.com
4eb038a1c4 82151 fix for caret jumping in text areas from beginning to end. adt+ a+ ect QA tested on Trunk
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119388 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 10:09:17 +00:00
mjudge%netscape.com
094f94cb44 adt+ and a+ 82151. fix to stop caret from jumping to beginning or ending of text area.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119387 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 10:08:18 +00:00
rpotts%netscape.com
82b127ba0b bug #105253 (r=peterl, sr=jst, a=adt) plugin streams are not added to the loadgroup...
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119385 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 08:24:08 +00:00
gerv%gerv.net
93d7608437 Bug 3935 - mozilla-native psuedo classes and properties should be marked as such. This fixes a number of them; still a few more to do. Patch by gerv, r=dbaron, sr=jst, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119384 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 08:07:11 +00:00
cotter%netscape.com
efe7a90161 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. uprivacy feature updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119383 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 07:51:30 +00:00
shliang%netscape.com
3c852822ad 135975 - theme preview images are outdated - images by gregvalure@yahoo.com - r=andreww, sr=hewitt, a=jesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119381 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 07:38:23 +00:00
shliang%netscape.com
195ec35e03 134801 - account manager panels out of order - r=bhuvan,sr=sspitzer,a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119380 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 07:22:44 +00:00
shliang%netscape.com
ffc3fedbde 133863 - plugin finder service pref ui - r=hewitt, sr=jag, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119377 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 07:15:03 +00:00
rdayal%netscape.com
70903d0a21 Fix for MAPI send to work without causing any hang of the calling MAPI apps.
bug # 129347.
r=ducarroz, sr=mscott, a=asa.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119376 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 07:11:28 +00:00
jefft%netscape.com
ce8692fe97 fixed bug 133437 - Pop acnts:Sent Copy of MDN Request messages should have MSG_FLAG_MDN_REPORT_NEEDED turned off, r=ducarroz, sr=bienvenu, a=jaimejr; bug 136476 - MDN:If you filter mesgs and receive a mesg that is requesting RR, you are prompted to send the RR before you actually click on the mesg; r=bienvenu,sr=sspitzer,a=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119373 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:42:12 +00:00
sfraser%netscape.com
a41718dcc7 Fix for bug 127362 -- incremental scrolling gets slower and slower. Make sure that we shift window->visRgn to the correct coordinates before doing region math, and ensure that HandleUpdateEvent() leaves the port in the way that it found it. r=pinkerton, sr=beard. a=asa for branch checkin.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119372 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:30:57 +00:00
srilatha%netscape.com
133c46acb5 Part of fix for bug# 134947. Import Text Dialog unusable
r=varada, sr=sspitzer, a=jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119371 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:29:15 +00:00
racham%netscape.com
a7ee21f18d Fixing bug 137876. This fixes a typo in the function call so that ISPs can execute customized routines at the end of mailnews account creation process. r=andreww, sr=sspitzer, a=asa, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119370 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:20:34 +00:00
racham%netscape.com
ea39f306d9 Fixing bug 131330. This fix allows ISPs to customize wizard pages with desired style rules example being setting customized images for page header. r=andreww, sr=sspitzer, a=asa, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119369 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:14:52 +00:00
mjudge%netscape.com
c71efb01ce 103888 adt approved. QA tested on trunk. fix for typing and having characters end up at end of inline style block after a <BR>
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119368 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:09:17 +00:00
danm%netscape.com
e0a60c50f5 make blur() available to embedded apps. bug 57841 in its third avatar r=jst,scc a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119367 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:06:36 +00:00
bbaetz%student.usyd.edu.au
efec05ce41 Bug 134270 - ftp password displayed in page heading
r=dougt, sr=darin, a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119365 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 06:02:42 +00:00
mjudge%netscape.com
b5d53cbfd1 102220 r=jfrancis sr=kin QA approved on trunk. fix forup down situation with typing and shift selecting.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119364 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:55:23 +00:00
heikki%netscape.com
07e496302c Bug 136788, XML pages do not display when going back and forward in history. Patch from peterv, r=jst, sr=heikki, a=asa,ADT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119363 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:49:32 +00:00
srilatha%netscape.com
329777865b Fix for bug # 129708. Multibyte baseDN gets garbled in Directory Server Properties dialog
r=ducarroz, sr=sspitzer, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119362 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:48:04 +00:00
joki%netscape.com
bde5680d10 Fix for bug 93111, fix event targetting in tables over rowspans and empty cells by making rows and cols invalid targets (forcing targetting of cells or the table itself). r:dbaron, sr:jst, a:asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119361 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:47:38 +00:00
bnesse%netscape.com
60f04d9ed1 Fix for bug 123787. Insure gRoot is allocated before attempting to free it. r=sfraser, sr=alecf, a=valeski, adt=paw.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119360 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:46:07 +00:00
joki%netscape.com
a44296e6f4 Fix for bug 128676, Have focus events sent directly to their widgets since using coord targeting can now be inaccurate. r:roc+moz, sr:jst, a:asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119359 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:42:27 +00:00
joki%netscape.com
4fd072f9b3 Fix for bug 135345, stop infinite recursion caused when calling select() from inside a focus event handler. r:jkeiser, sr:jst, a:asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119358 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:38:29 +00:00
mjudge%netscape.com
02d6beada3 7868 QA checked it out on trunk. fx will allow a QI to nsISelectionDisplay of nsPresShell and a GetInterface of nsISelectionDisplay on the webbrowser.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119357 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 05:33:39 +00:00
jkeiser%netscape.com
cf4ae53af2 rods's patch to move print properties to global dialog for embedding (bug 138026), r=dcone@netscape.com, sr=attinasi@netscape.com, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119356 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-19 04:46:29 +00:00
timeless%mac.com
c5bcf9cb2d Bug 136910ÿldap build bustage on QNX
r=dmose r=cls a=asa (for build bustage checkin and on behalf of drivers)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119299 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-18 21:32:36 +00:00
dougt%netscape.com
31012ea782 Fixing 138080 on the branch. a=leaf@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119272 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-18 16:17:29 +00:00
kaie%netscape.com
3045303bda b=119418 Fix handling of opaque signed S/Mime messages.
Also fixes some other S/Mime issues, as described in the bug.
r=ddrinan/ducarroz/darin sr=alecf a=rjesup
Fixing bustage, approval for checkin to the closed tree from asasaki


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119238 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 17:21:14 +00:00
dougt%netscape.com
664f7b6ba9 Backing out pavlov's changes. Note to self: never check in other people's code.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119237 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 16:23:35 +00:00
peterlubczynski%netscape.com
ae1c53e386 Fixing bustage in REQUIRES line for Windows gmake builds
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119236 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 16:07:09 +00:00
caillon%returnzero.com
0b3bab9d61 Make WidgetStateManager also remember the .checked property for <listitem type="checkbox"/>. This fixes bug 134441, Scripts & Windows pref panel doesn't remember checkboxes on viewing it the second time. r=hewitt, sr=ben
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119234 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 14:46:21 +00:00
peterlubczynski%netscape.com
7234c2c8d4 Fix for hidden attribute not working correctly on EMBED tag, bug 136456 r=av sr=attinasi
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119232 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 14:32:27 +00:00
kaie%netscape.com
a86b530963 b=119418 Fix handling of opaque signed S/Mime messages.
Also fixes some other S/Mime issues, as described in the bug.
r=ddrinan/ducarroz/darin sr=alecf a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119230 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 14:24:53 +00:00
caillon%returnzero.com
7798a03d15 Bug 137103, Remove a duplicate pref that slipped in with the fix for 117707. Thanks to jonasj@jonasj.dk for noticing this and providing the patch. r=caillon sr=tor a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119229 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 14:17:31 +00:00
pinkerton%netscape.com
bc50d32b62 package xul security dialogs in embedding. also add appcomps to embed to get session history. r=ccarlen/sr=alecf/a=rjesup. bug# 135211
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119227 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 14:11:36 +00:00
peterlubczynski%netscape.com
8fa83f72eb Changes for plugin finder service, bug 133864, r=av sr=attinasi
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119225 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 14:07:10 +00:00
pinkerton%netscape.com
c27c3fcdcc fixes to make tabs look much nicer in dialogs. r=pink/sr=hyatt. bug# 134447
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119223 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 13:51:35 +00:00
karnaze%netscape.com
735a2536da bug 125543 - Row groups are prevented from splitting in the reflow preceeding the special height reflow. Cells are only notified that they should observe a percent height element if the element is inside the table's cell. Percent height elements inside the body will have a height based on the page height when printing. a=asa, adt=paw, sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119222 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 13:01:22 +00:00
rods%netscape.com
f24f902979 Add a new attr to PrintObject for identifying POs that are to be hidden, not
reflowed. So if a frameset frame's root frame is zero height then we mark it
hidden and not to be printed.
Bug 134769 r=dcone sr=attinasi adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119221 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 12:37:04 +00:00
heikki%netscape.com
64dd27f57c Bug 128541, make send(null) work again, and make us match IE6 more closely regarding the parameters we accept. r=harishd, sr=jst, a=rjesup,ADT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119214 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 06:33:57 +00:00
heikki%netscape.com
33ecf1d294 Bug 128326, disable save as complete for XML because of serious dataloss bugs. r=bzbarsky, sr=blake, a=asa,ADT.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119213 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 06:29:44 +00:00
shanjian%netscape.com
918dad7488 #128154 Crash: opening non-ascii attachments
replace default "default char" from '?' to '_'. The former one is not
acceptable in windows filename.
r=ftang, sr=alecf, a=asa, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119212 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 06:01:51 +00:00
dprice%netscape.com
0d3b70b536 1364967 r=jfrancis sr=dveditz a=rjesup adt=putterman
add xpicleanup to carbon builds


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119208 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 04:57:35 +00:00
cotter%netscape.com
6ebf49f699 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; minor fix for smime help.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119207 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 04:52:07 +00:00
jst%netscape.com
b1df11336d Checking in jeff.qiu@sun.com's fix for bug 77585. Speeding up AppendData() on nsGenericDOMDataNode, this speeds up loading of long text documents. r=cbiesinger@web.de, sr=jst@netscape.com, a=rjesup@wgate.com.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119186 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 00:26:53 +00:00
ccarlen%netscape.com
6497384abd Bug 136311 - Can't install on 8.6 because MSL is using functions not available there. Set the compile flags so we don't use HFS. r=brade/sr=sfraser/a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119180 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 00:07:01 +00:00
jaggernaut%netscape.com
af6d4e6058 Bug 121841: <!ENTITY> hangs 0.9.8 and trunk using 100% CPU. r=bryner, sr=scc, a=scc, a=adt, approval from leaf and asa to check into closed tree.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119179 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-17 00:02:33 +00:00
rods%netscape.com
d0ddeb0ea7 backing out unwanted check in
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119164 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 22:39:07 +00:00
sspitzer%netscape.com
177c560d03 temporary fix for #130581. the cached compose window has issues on linux, if your
focus model is "focus follows mouse".  Until we figure that out (see #137698),
we need to disable this performance trick on unix.
APPROVED FOR THE CLOSED 1.0 BRANCH.
r/sr=bienvenu, a=asa,leaf, adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119163 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 22:36:43 +00:00
rods%netscape.com
b5137cca5b Add a new attr to PrintObject for identifying POs that are to be hidden, not
reflowed. So if a frameset frame's root frame is zero height then we mark it
hidden and not to be printed.
Bug 134769 r=dcone sr=attinasi adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119152 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 22:04:47 +00:00
brade%netscape.com
5b4d8f10d0 back out changes that were inadvertently checked in with previous revision (a=asa, a=leaf) bug 137790
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119146 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 21:04:40 +00:00
waterson%netscape.com
15861e0899 Bug 137378. Stop ancestor frame notification at a frame that is an NS_FRAME_REFLOW_ROOT. r=karnaze, sr=kin, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119143 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 20:56:18 +00:00
dougt%netscape.com
459491e786 Landing the better part of 129953 and in the process fixing a smoketest blocker. a=leaf
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119142 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 20:55:29 +00:00
andreww%netscape.com
a25e0f514e bug 128895 removing aqua button appearance to throbber in osx , r=shliang, sr=sfraser, adt=jaimejr a=asa and a=asa+leaf on checking this into closed tree.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119139 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 20:04:11 +00:00
mkaply%us.ibm.com
c5eb29c591 OS/2 bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119134 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 19:22:46 +00:00
(no author)
5551933833 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119132 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 19:09:58 +00:00
jj%netscape.com
6f7df30dbe #134227: Updated Mozilla installer strings to 1.0.0 (branch). r=leaf, sr=granrose, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119113 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 17:41:03 +00:00
jj%netscape.com
c7bae18605 #134223: udpating Finder's Get Info strings to 1.0 for OS9 and OSX. r=asaki, sr=granrose, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119112 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 17:29:13 +00:00
kaie%netscape.com
cbac461555 b=118319 Fix memory leak.
r=javi/wtc sr=blizzard a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119107 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 14:16:13 +00:00
kaie%netscape.com
e7af3755e5 b=136908 Make CRL manager UI work again.
r=kaie sr=ben a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119105 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 14:11:27 +00:00
bbaetz%student.usyd.edu.au
cf1554a393 Bug 129420 - mailto: urls not working with PAC
r=dougt, sr=darin, a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119092 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 07:44:10 +00:00
ftang%netscape.com
45fcc528e6 carry ccarlen's mac os 9 trunk bustage fix to branch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119085 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 06:33:34 +00:00
jaggernaut%netscape.com
6fb703b7e6 Bug 128965: Better icons for components, images by Andreas Premstaller <andreas.premstaller@uibk.ac.at>, r=marlon, sr=jag, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119081 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 05:45:34 +00:00
dprice%netscape.com
c90c704127 123649 r=mjudge sr=dveditz a=rjesup adt=putterman
crasher fix landing on branch


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119079 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 05:19:17 +00:00
dougt%netscape.com
bc2f5778ac I am with Alec. I really hate the mac build system.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119077 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 04:55:48 +00:00
dougt%netscape.com
5820b9d970 xpcom initalization of event queue. r=brendan@mozilla.org, sr=darin@netscape.com, a=asa@mozilla.org, 135531
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119068 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 04:03:48 +00:00
rbs%maths.uq.edu.au
26432dcb35 dataloss, SaveAs leaves private [-|_moz] attributes in the output, b=134298, r=akkana, sr=jst, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119063 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 03:22:31 +00:00
dougt%netscape.com
a060ea6240 xpcom initalization of event queue. r=brendan@mozilla.org, sr=darin@netscape.com, a=asa@mozilla.org, 135531
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119060 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 03:07:13 +00:00
dougt%netscape.com
fdfe478178 Addresses threadsafe of native loader. 98755, r=waterson, sr=jband, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119059 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 03:02:40 +00:00
dougt%netscape.com
cea9c992fa Fixes shutdown crash [@PR_EnterMonitor] called with a deleted monitor on the MemoryFlusher thread. 135330, r=brendan@mozilla.org, sr=jband@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119058 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 03:00:04 +00:00
dougt%netscape.com
e510dfda65 Landing 129953 for pavlov@netscape.com. r=rjesup@wgate.com, sr=rpotts@netscape.com, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119057 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 02:52:49 +00:00
leaf%mozilla.org
3349bf4f6c bug 136673. version mozilla.exe. code from asasaki@netscape.com, r=cls, sr=leaf
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119053 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 02:18:12 +00:00
mkaply%us.ibm.com
50de85c1f1 #59403
r=pedemont, sr=blizzard, a=asa
OS/2 only - beginning of drag/drop


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119052 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 02:17:11 +00:00
mkaply%us.ibm.com
f5acf31b44 #135795
r=cls, a=asa
Disable mkdepend on OS/2 for now


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119051 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 02:14:20 +00:00
varga%utcru.sk
9a5c5ad50c Fix for bug 137178 - Outliner tree expanded by default, should not be.
- prevent insertions to closed containers
r=sgehani/varga, sr=hewitt, patch=sgehani,varga, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119048 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 01:15:28 +00:00
morse%netscape.com
bd887d65a7 bug 137551, form manager stopped working, sr=scc, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119046 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 01:08:12 +00:00
shliang%netscape.com
dfc2a9baa4 137211 - change Netcenter reference in absync to Netscape.com. r=ssu,sr=sspitzer,a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119043 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:15:25 +00:00
smontagu%netscape.com
785b3a8b97 (Checkin for Roland.Mainz@informatik.med.uni-giessen.de). Bug 127520 "Large pictures print corrupted", r=db48x, sr=attinasi, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119040 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:11:08 +00:00
ftang%netscape.com
e089b55ded fix bug 110726. r=ccarlen sr=sfraser a=asa
install Carbon Input Text event handler for embedding project
from trunk


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119039 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:10:02 +00:00
ftang%netscape.com
56eaff5f89 fix bug 110726. add imlementation of Carbone Text Event handler forwarding code to CBrowserShell
r=ccarlen sr=sfraser a=asa
from trunk


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119036 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:08:10 +00:00
ftang%netscape.com
b1b0b5e26f add CTextInputEventHandling.cpp to the project
fix bug 110726. r=ccarlen sr=sfraser a=asa
from trunk


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119035 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:05:43 +00:00
ftang%netscape.com
5f9959cb6a fix bug 110726. r=ccarlen sr=sfraser a=asa
from trunk. add implementation to deal with Carboneevnt for input method


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119034 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:04:11 +00:00
ftang%netscape.com
d0d165e336 fix bug 110726. add CTextInputEventHandler.h
r=ccarlen sr=sfraser a=asa
from trunk


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119033 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:03:25 +00:00
attinasi%netscape.com
673fac74ae Migrating patch from trunk to branch: prevent crash by clearing undisplayed map when style sheet is added. b=118014 r=dbaron sr=kin a=asa and jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119032 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:03:15 +00:00
ftang%netscape.com
849a03fcf4 fix bug 110726. impelement nsIMacTextInputEventSink on nsMacWindow
to fix embedding input method
r=ccarlen sr=sfraser a=asa
carry from trunk


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119030 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:01:01 +00:00
dcone%netscape.com
43b89a87c3 b=121230 r=kmcclusk sr=attinasi a=tor. ADT+ approved. Fix PNG rendering.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119029 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-16 00:00:01 +00:00
ftang%netscape.com
2b462d89ac add nsIMacTextInputEventSink.idl to the widetIDL. move from trunk
fix bug 110726. r=ccarlen sr=sfraser a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119028 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 23:58:56 +00:00
ftang%netscape.com
7f02e46de6 add this from trunk
fix bug 110726 r=ccarlen sr=sfraser a=asa
add idl for mac input method.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119026 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 23:56:53 +00:00
leaf%mozilla.org
6ea3a5d455 bugs 133794 and 135585, update release notes urls, fix about: page user-agent
printing. reviews/approvals noted in bugs.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119023 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 23:50:17 +00:00
(no author)
6fd3021383 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119022 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 23:49:30 +00:00
harishd%netscape.com
75ffa9f160 Fix js line numbers in html documents. b=111576, r=heikki, sr=jst a=asa,scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@119016 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 23:44:48 +00:00
brade%netscape.com
ae776da105 bug 135862, use correct strings for new composer window (submitted by cmanske, r=brade, sr=kin, a=rjesup, adt=jaime, l10n=rchen)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118985 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 14:42:09 +00:00
brade%netscape.com
add60686df bug 75898 (force platform overlays during jar process) r=pinkerton, sr=sfraser, a=asa, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118984 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 14:28:32 +00:00
brade%netscape.com
318c4d4e32 remove Composer's debug menu (bug 83349, r=rcassubm cmanske, sr=sfraser, a=asa, adt=jaime)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118982 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 13:54:24 +00:00
kaie%netscape.com
e93a97fc87 b=119481 Fix various unitialized variables.
r=kaie/javi sr=kin a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118977 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 11:37:58 +00:00
kaie%netscape.com
758b75177d b=129740 Fix client auth with profiles migrated from Communicator.
r=javi sr=alecf a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118976 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 11:34:38 +00:00
kaie%netscape.com
045bea67fd b=132543 Fix crash when downloading CRL
r=javi sr=alecf a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118975 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 11:32:10 +00:00
jkeiser%netscape.com
d78f3e282e Fix reflow problems for boxes with non-box children (bug 119849), r=hewitt, sr=attinasi, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118972 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 04:54:23 +00:00
dcone%netscape.com
f6400c0959 b=135208 r=kmcclusk, sr=attinasi a=asa adt approved. Fix color printout of light text.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118971 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 04:09:28 +00:00
naving%netscape.com
9507ed70ae 136636 r=bienvenu sr=sspitzer a=rjesup. Do not set m_ownFolderStream to false, StartBatch is called twice here
and would leave the stream open.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118970 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-15 04:01:50 +00:00
jdunn%netscape.com
358d670381 Use compiler define _AIX instead of user defined AIX4_3 (which isn't set
on AIX5L)
# 133834
r=dmose@netscape.com
a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118952 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-14 11:15:10 +00:00
timeless%mac.com
76ee3df50c Bug 129999 needs ansi-1251 font support in nsFontMetricsGTK/nsFontMetricsXlib
patch by Roland.Mainz@informatik.med.uni-giessen.de r=katakai sr=attinasi a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118946 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-14 00:40:26 +00:00
seawood%netscape.com
d37950ff50 Make --srcdir autodetection work with activestate perl
Bug #135589


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118942 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 23:03:00 +00:00
caillon%returnzero.com
a31ba917d3 Bug 133764. Unable to change content pack and language pack at once. Patch by kairo@kairo.at, r=dbragg, sr=alecf, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118941 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 22:49:21 +00:00
dbragg%netscape.com
72cf8919f4 Regular update of localeVersion to 1.0.0 (bug 126785) r=tao, sr=alecf, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118932 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 16:22:23 +00:00
dbragg%netscape.com
a533e6f79e Regular update of localeVersion strings to 1.0.0. (bug 126785) r=tao, sr=alecf, a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118931 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 16:09:05 +00:00
dbaron%fas.harvard.edu
e8755c4945 Fix percentage font sizes when all font properties specified (and not inherited) by weaking (again) optimization of not calling parent's GetStyleData. b=132381 r=hyatt sr=waterson a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118930 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 15:40:31 +00:00
sicking%bigfoot.com
e661aff94e Bug 119317: move the "inherits" attribute to the xbl namespace for most clients.
r=hixie sr=hyatt a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118928 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 15:05:18 +00:00
colin%theblakes.com
11af650b54 Fix busted printing for OpenVMS.
All these changes should be OpenVMS only.
b=136884 r=rods sr=attinasi a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118924 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 12:53:28 +00:00
cbiesinger%web.de
7bdf727629 bug 44716 r=pavlov sr=tor a=asa
Mozilla doesn't claim .jfif, .pjpeg, .pjp extensions when checked


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118918 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 09:55:39 +00:00
cotter%netscape.com
804d8b6a74 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; update for edit ciphers section per new UI
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118912 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 05:38:36 +00:00
danm%netscape.com
4699ab09d6 changing the format of the comment describing registerNotification, as requested by depstein. bug 99618
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118902 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 01:55:13 +00:00
peterlubczynski%netscape.com
a7ec286d93 Stop sending bogus menu events to full-page plugins bug 93895 r=av sr=attinasi
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118896 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 01:46:31 +00:00
waterson%netscape.com
10b1eb2d72 Bug 135146. Implement NS_FRAME_REFLOW_ROOT to allow reflows for <textarea> and <input type='text'> to be dispatched from the scroll frame within the nsGfxTextControlFrame2. r=kin, sr=attinasi, a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118894 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 01:36:58 +00:00
yokoyama%netscape.com
f9b23c4cbf Bug 135476
Customize Character coding dialog box doesn't
display charencoding correctly.
Fixing typo in pref-charset.js
/r=ftang;/sr=hewitt;/adt+=paw@netscape.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118892 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 01:35:57 +00:00
mstoltz%netscape.com
8a360f6c9d Bug 136993 - Put the "trusted codebase principals" feature back in.
r=harishd, sr=jst, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118889 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 01:15:57 +00:00
cltbld%netscape.com
b3f041a340 Bug# 134225 - Updated milestone string from 0.9.9+ to 1.0.0+ r=asaki, sr/a=leaf. ycalonje checking in as cltbld
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118887 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 00:54:04 +00:00
jgmyers%netscape.com
f1ccc4dde2 Remove no longer needed forcehandshake code, fixing SSL/IMAP over SOCKS: bug 133434 r=kaie@netscape.com sr=brendan@mozilla.org a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118886 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 00:35:43 +00:00
leaf%mozilla.org
42d216f822 bug 133794 r/a=blizzard. User agent change for rc1, about: page spell-out of "Release
Candidate 1"


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118885 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 00:28:12 +00:00
shanjian%netscape.com
9e65ef69a5 #91305 add univerialchardet into unix default extensions list
add universalchardet.so to unix package as well.
r=cls, sr=hewitt, a=rjesup, adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118884 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-13 00:20:05 +00:00
sspitzer%netscape.com
36cdd5f3ff fix for blocker bug #136874. can't open mail/news window after closing.
r=shuehan, sr=bienvenu.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118881 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 21:16:38 +00:00
ccarlen%netscape.com
d0f31fb261 Fix for blocker bug 136693 - form submission not working dur to unimplemented confirmEx. r=pink/sr=sfraser
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118873 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 20:57:32 +00:00
pinkerton%netscape.com
f8e3cddf0a turn off double-buffering on osx with a new method on nsIRenderingContext. r=kmcclusk/sr=sfraser/a=valeski. bug# 78764
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118853 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 13:56:53 +00:00
brade%netscape.com
4604325dfc fix warning (bug 135771) r=akkana; sr=kin; a=asa; adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118845 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 13:00:48 +00:00
brade%netscape.com
34ed215e04 change progress status icons if cancellation of publish, fix SetProgressFinished to handle cases where we don't have a filename (bug 126258 and 135771) r=cmanske, akkana; sr=kin, a=asa, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118844 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 12:59:36 +00:00
brade%netscape.com
fa5c5eeb7d disable debug output, handle aborted error as a non-error, handle cases where we have a null channel (bugs 135527, 126258, 135771) r=cmanske, akkana; sr=kin, a=asa, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118843 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 12:57:53 +00:00
kaie%netscape.com
3317bd174a b=128586 Fix restoring certificates
adt=jaimejr a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118842 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 12:56:08 +00:00
caillon%returnzero.com
04958e3f9b Bug 117707. Disabling most of the prefs in Edit>Prefs>Advanced>Scripts/Windows was causing real JS scripts to break because it used CAPS. Move the checks for these features into C++, with new prefs. Patch by doronr@naboonline.com (initial work) and caillon@returnzero.com. r=fabian sr=jst a=asa.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118839 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 10:11:39 +00:00
seawood%netscape.com
92ff2b7272 Roll our own version of abs2rel to fix bustage when MOZ_OBJDIR contains ..
Bug #135589 r=kaie a=jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118828 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 04:09:31 +00:00
kmcclusk%netscape.com
58150531b4 Fix off by one pixel scrolling errors running under 96DPI by replacing the damageRect.ScaleRoundOut(p2t) call with explicit conversion to twips because ScaleRoundOut introduced errors in the pixel to twips conversion. bug 120918; sr=attinasi r=dcone a=asa adt_a=paw
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118825 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 03:36:37 +00:00
jj%netscape.com
0869043d48 #4830: turning traceback option off for optimized non-Carbon classic builds - 1.0.0 BRANCH
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118817 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 01:06:28 +00:00
wtc%netscape.com
c8e259b919 Bugzilla bug 135448: removed a level of code to make semaphores faster.
This patch is contributed by Michael Kaply <mkaply@us.ibm.com>.
Modified files: _os2 os2cv.c os2vacpp.asm
Tag: MOZILLA_1_0_0_BRANCH


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118815 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 00:27:29 +00:00
morse%netscape.com
c74d723da4 remove the send flyout menu, r=sgehani, sr=jag, a=asa, adt=putterman, ok'ed by mcarlson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118814 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-12 00:04:50 +00:00
shliang%netscape.com
d3fb5163a2 132896 - remove offline mode at startup ui in pref panel - r=ssu,sr=sspitzer,a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118811 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 23:40:48 +00:00
darin%netscape.com
4ce3a9d36f fixes bug 136857 "Enable Pipelining doesn't remain disabled when HTTP 1.0
selected" patch=davidstl@yahoo.com r=brade sr=darin


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118806 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 22:50:59 +00:00
naving%netscape.com
e629278774 136443 r=blake sr=sspitzer a=asa. Make stop button, stop from menus work again in mailnews.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118805 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 22:44:06 +00:00
dbragg%netscape.com
22d56d374f Final little teeny part of bug 130102. Adding a comma after toolbars. r=bzbarsky, sr=alecf, a=asa (for drivers)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118804 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 22:34:01 +00:00
blakeross%telocity.com
587635d6b6 127349 - remove partial favicon support. r=ben sr=alecf a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118803 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 22:27:33 +00:00
(no author)
551965e5db This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118801 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 22:18:56 +00:00
wtc%netscape.com
1e111acc39 Merged the fix for Bugzilla bug 136625 on the MOZILLA_1_0_0_BRANCH.
r=relyea. a=jaimejr@netscape.com adt1.0.0+ (on ADT's behalf).


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118799 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 22:13:47 +00:00
darin%netscape.com
c461ca32b7 fixes bug 130079 "Importing IE favorites turns spaces into %20 (URL-encoded)"
patch=andreas.otte@debitel.net
r=ben sr=darin a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118786 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 21:12:27 +00:00
pinkerton%netscape.com
a0bac4e516 actually hook up dnd overriding apis to webbrowserchrome. r=brade/sr=blizzard/a=valeski. bug# 136744.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118781 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 19:47:23 +00:00
wtc%netscape.com
8e4140b79c Bugzilla bug 135119: fixed compilation problems on Linux Alpha. r=cls.
a=rjesup@wgate.com for check into the mozilla 1.0.0 branch.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118773 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 18:14:39 +00:00
oeschger%netscape.com
7f3448f68f just updating some mozilla help content, dispensation per 122806, updating per 46917, r=oeschger, author=jayesh sheth
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118764 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:43:36 +00:00
(no author)
0ee3a71577 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118763 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:41:30 +00:00
pinkerton%netscape.com
b1e2b1e3bf clean up checking for a golden child menu. don't delete a golden child menu when setting the hidden attribute. that would be bad. r=saari/sr=sfraser/a=asa. bug# 136460
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118760 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:37:39 +00:00
seawood%netscape.com
2ade79cfe2 Fix link ordering problem when building with static components and a static gtk.
Bug #136192 r=bryner a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118757 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:31:27 +00:00
kin%netscape.com
f57fa35533 Fix for bug 128136 (Printing disables keyboard movement of caret in textfields)
Added SuppressEventHandlers() utility routine, which PreDestroy()
and CreateAnonymousContent() now call to determine if the controller
unregister/register code should be executed.

r=rods@netscape.com  sr=sfraser@netscape.com
adt=jaimejr@netscape.com  a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118754 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:22:32 +00:00
kin%netscape.com
c89366eb3e Fix for bug 110940 (order List ID does not display correctly after change )
RenumberListsFor() now calls Invalidate() for a bullet frame if it's ordinal is changed.

r=kmcclusk@netscape.com  sr=waterson@netscape.com
adt=jaimejr@netscape.com  a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118753 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:19:49 +00:00
seawood%netscape.com
204c694be1 Add dependency to fix -jx build bustage.
Bug #136297 r=dcran,dmose a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118751 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 14:01:14 +00:00
cbiesinger%web.de
b148ba5407 bug 136382 r=rjesup@wgate.com sr=tor a=asa
preference to disable image placeholders


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118742 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 12:22:31 +00:00
timeless%mac.com
9090496ade Bug 135903 'Size' items in Page Info hasn't units
patch by db48x@yahoo.com r=biesi sr=alecf a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118737 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 06:46:18 +00:00
timeless%mac.com
1d66a32348 Bug 69295 [RFE] Unable to follow link/copy/drag elements of Page Info, e.g. images
patch by db48x@yahoo.com r=kerz sr=alecf a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118736 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 06:45:06 +00:00
badami%netscape.com
d8a4df2f50 HTTP 300 page screws up session history
bug=114982 sr=darin r=rpotts a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118724 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 04:56:03 +00:00
dbaron%fas.harvard.edu
daca085785 Fix topcrash by clearing the view manager's weak pointer back to the pres shell before the pres shell goes away. b=134664 r=roc+moz sr=jag a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118717 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 04:05:10 +00:00
dbaron%fas.harvard.edu
992e77fb04 Fix potential leak of view observer (pres shell). b=134664 r=roc+moz sr=jag a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118716 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 04:04:19 +00:00
serge%netscape.com
fbe8d4409c fix #94895, Flash movie is constantly stopped and restarted, r=peterl, sr=beard, a=paw
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118714 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 03:40:42 +00:00
dveditz%netscape.com
4743655549 fix chromeless/blank browser after upgrade (bug 135222) r=syd, sr=sfraser, a=rjesup, adt=paw
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118705 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 01:42:17 +00:00
(no author)
08b55a8c92 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118704 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 01:28:52 +00:00
saari%netscape.com
358a7fceee small fix 7868 r=jfrancis sr= kin adt+ ect. Added parameter that was in 9.8 branch now to 1.0 branch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118694 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 01:02:16 +00:00
darin%netscape.com
6f907b6f81 fixes bug 136678 "byte range request fails if server returns anything other
than 206" r=dougt sr=rpotts a=asa adt1.0.0+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118685 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 00:27:11 +00:00
darin%netscape.com
be52de925f fixes bug 135547 "make event queues more robust"
r=danm sr=rpotts,brendan a=drivers,adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118683 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 00:19:25 +00:00
alexsavulov%netscape.com
d7072a40f3 fix for bug 107545
added nullcheck for frame pointer
r=kmccluskey sr=attinasi a=rjesup adt1.0.0+=syd


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118681 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 00:12:48 +00:00
cotter%netscape.com
7d36c6511d ongoing privacy & securtity help content updates per 122806, r=oeschger; misc. minor correx.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118675 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 23:31:16 +00:00
akkana%netscape.com
9d9d6d8619 129122: Add a new serializer mode (used primarily by mail)
in which <br> tags within <pre> blocks are translated to newlines.
r=nhotta,ducarroz,tmutreja sr=sspitzer a=rjesup adt1.0.0+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118673 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 23:27:20 +00:00
mkaply%us.ibm.com
239695399c #135450
r=wtc, a=asa
OS/2 only - don't set priority if it is the default


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118669 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 23:05:03 +00:00
mkaply%us.ibm.com
c1b3007458 #136622
r=pedemont, sr=blizzard, a=asa
OS/2 only - rewrite cursor code - support crosshair


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118667 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 22:55:38 +00:00
mkaply%us.ibm.com
731717a2fe OS/2 bustage - need extern C - already baked on trunk - r=dmose
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118657 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 22:12:19 +00:00
kin%netscape.com
c92d888b06 Fix for bug 136408 (Crash editing pages with text widgets)
Use :canvas as selector to avoid triggering layout crash bug 123049.
Added isindex and textarea to list of items to use default cursor.

r=jfrancis@netscape.com  sr=sfraser@netscape.com
adt=syd@netscape.com  a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118655 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 22:02:27 +00:00
ducarroz%netscape.com
3722e59eaa Fix for bug 129358. Need to pre-initialize spec.name to void memory corruption in the copy constructor when the file doesn't exist. Also protect the copy constructor against bogus spec.name. R=fraser, SR=sspitzer, A=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118647 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 21:32:27 +00:00
danm%netscape.com
7341a8a72f freezing interface for 1.0. bug 99618 r=chak,rpotts a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118644 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 21:21:46 +00:00
danm%netscape.com
d87745cb1f freezing interface for 1.0. bug 99617 r=chak,rpotts a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118643 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 21:21:12 +00:00
danm%netscape.com
26fe20452e freezing interface for 1.0. bug 136275 r=chak,rpotts a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118641 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 21:20:10 +00:00
ducarroz%netscape.com
fa18c05f79 Fix for bug 120594. Add a null pointer check to avoid crashing. R=varada, SR=bienvenu, A=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118636 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 20:53:57 +00:00
radha%netscape.com
a48dbb8e4c Fix for bug 135868. crash due to null pointer reference in nsDocShell::InternalLoad().
r=mcafee, sr=rpotts a=valeski. Approved by ADT.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118634 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 19:41:04 +00:00
sicking%bigfoot.com
e317dd137f Bug 135679: fixes form submit when target url is same page and current url has anchor.
r=jkeiser sr=attinasi a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118619 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 14:03:12 +00:00
shliang%netscape.com
8946cfe8c2 133355 - adding fake free web mail account to folder pane - will only show up in commercial builds - r=bhuvan,sr=sspitzer,a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118614 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 11:59:45 +00:00
locka%iol.ie
4a01af29d0 Fix an %s which should have been an %S. b=131143 r=chak@netscape.com sr=rpotts@netscape.com a=lorikaplan@netscape.com (locale) a=jaimejr@netscape.com (adt) a=asa@mozilla.org (drivers)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118612 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 11:30:09 +00:00
locka%iol.ie
c14766db45 Lower limit on number of nested content frames before giving up. b=126466 r=fabian@bluishgecko.net sr=jst@netscape.com a=rjesup@wgate.com (drivers) a=jaimejr@netscape.com (adt)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118611 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 11:28:01 +00:00
caillon%returnzero.com
e885f1dd15 Bug 135998, Clean up and shrink output of the HTML directory listing. r=bbaetz,glazou sr=darin a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118608 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 10:28:57 +00:00
varga%utcru.sk
bab75062ce Fix for bug 135048 - Folder pane won't auto scroll down during drag and drop.
Covers 134889 also.
r=bryner, sr=ben, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118607 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 09:48:53 +00:00
racham%netscape.com
49443b5f2c Fixing bug 135594. Allow ISPs to customize mailnews account wizard via overlay wizard pages. r/sr=sspitzer, a=asa, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118603 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 09:02:09 +00:00
dmose%netscape.com
895a74da95 LDAP over SSL (bug 107411). UI changes thanks to srilatha@netscape.com nsLDAPSecurityGlue.cpp: r=mcs@netscape.com; Mac S/MIME build changes: r=javi@netscape.com; Mac Project changes: r=rdayal; all other files: r=bhuvan@netscape.com; entire patch: sr=sspitzer@netscape.com; a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118597 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 05:56:07 +00:00
(no author)
446b07e818 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118589 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 04:41:24 +00:00
danm%netscape.com
7fbc9919c2 reverting rev 3.409. this re-opens bug 120155 but fixes bug 134317 and bug 135528. snif.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118587 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 04:36:20 +00:00
cltbld%netscape.com
6320f9759f force commit to allow checkouts by branch and date
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118581 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-10 03:46:58 +00:00
leaf%mozilla.org
72b6ef5cdc testing dolog change, comment change only
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118579 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-09 23:49:17 +00:00
jj%netscape.com
024577fbad pull from MOZILLA_1_0_0_BRANCH tag
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118574 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-09 22:20:34 +00:00
(no author)
6e8bb30a03 This commit was manufactured by cvs2svn to create branch
'MOZILLA_1_0_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@118551 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-09 14:31:21 +00:00
207 changed files with 650 additions and 80011 deletions

650
mozilla/client.mk Normal file
View File

@@ -0,0 +1,650 @@
# 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 mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Stephen Lamm
# Build the Mozilla client.
#
# This needs CVSROOT set to work, e.g.,
# setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
# or
# setenv CVSROOT :pserver:username%somedomain.org@cvs.mozilla.org:/cvsroot
#
# To checkout and build a tree,
# 1. cvs co mozilla/client.mk
# 2. cd mozilla
# 3. gmake -f client.mk
#
# Other targets (gmake -f client.mk [targets...]),
# checkout
# build
# clean (realclean is now the same as clean)
# distclean
#
# See http://www.mozilla.org/build/unix.html for more information.
#
# Options:
# MOZ_OBJDIR - Destination object directory
# MOZ_CO_DATE - Date tag to use for checkout (default: none)
# MOZ_CO_MODULE - Module to checkout (default: SeaMonkeyAll)
# MOZ_CVS_FLAGS - Flags to pass cvs (default: -q -z3)
# MOZ_CO_FLAGS - Flags to pass after 'cvs co' (default: -P)
# MOZ_MAKE_FLAGS - Flags to pass to $(MAKE)
# MOZ_CO_BRANCH - Branch tag (Deprecated. Use MOZ_CO_TAG below.)
#
#######################################################################
# Checkout Tags
#
# For branches, uncomment the MOZ_CO_TAG line with the proper tag,
# and commit this file on that tag.
MOZ_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
NSPR_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
PSM_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
NSS_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
LDAPCSDK_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
ACCESSIBLE_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
GFX2_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
IMGLIB2_CO_TAG = NETSCAPE_7_0_OEM_BRANCH
BUILD_MODULES = all
#######################################################################
# Defines
#
CVS = cvs
CWD := $(shell pwd)
ifeq "$(CWD)" "/"
CWD := /.
endif
ifneq (, $(wildcard client.mk))
# Ran from mozilla directory
ROOTDIR := $(shell dirname $(CWD))
TOPSRCDIR := $(CWD)
else
# Ran from mozilla/.. directory (?)
ROOTDIR := $(CWD)
TOPSRCDIR := $(CWD)/mozilla
endif
# on os2, TOPSRCDIR may have two forward slashes in a row, which doesn't
# work; replace first instance with one forward slash
TOPSRCDIR := $(shell echo "$(TOPSRCDIR)" | sed -e 's%//%/%')
ifndef TOPSRCDIR_MOZ
TOPSRCDIR_MOZ=$(TOPSRCDIR)
endif
# if ROOTDIR equals only drive letter (i.e. "C:"), set to "/"
DIRNAME := $(shell echo "$(ROOTDIR)" | sed -e 's/^.://')
ifeq ($(DIRNAME),)
ROOTDIR := /.
endif
AUTOCONF := autoconf
MKDIR := mkdir
SH := /bin/sh
ifndef MAKE
MAKE := gmake
endif
CONFIG_GUESS_SCRIPT := $(wildcard $(TOPSRCDIR)/build/autoconf/config.guess)
ifdef CONFIG_GUESS_SCRIPT
CONFIG_GUESS = $(shell $(CONFIG_GUESS_SCRIPT))
else
_IS_FIRST_CHECKOUT := 1
endif
####################################
# CVS
# Add the CVS root to CVS_FLAGS if needed
CVS_ROOT_IN_TREE := $(shell cat $(TOPSRCDIR)/CVS/Root 2>/dev/null)
ifneq ($(CVS_ROOT_IN_TREE),)
ifneq ($(CVS_ROOT_IN_TREE),$(CVSROOT))
CVS_FLAGS := -d $(CVS_ROOT_IN_TREE)
endif
endif
CVSCO = $(strip $(CVS) $(CVS_FLAGS) co $(CVS_CO_FLAGS))
CVSCO_LOGFILE := $(ROOTDIR)/cvsco.log
CVSCO_LOGFILE := $(shell echo $(CVSCO_LOGFILE) | sed s%//%/%)
ifdef MOZ_CO_TAG
CVS_CO_FLAGS := -r $(MOZ_CO_TAG)
endif
####################################
# Load mozconfig Options
# See build pages, http://www.mozilla.org/build/unix.html,
# for how to set up mozconfig.
MOZCONFIG_LOADER := mozilla/build/autoconf/mozconfig2client-mk
MOZCONFIG_FINDER := mozilla/build/autoconf/mozconfig-find
MOZCONFIG_MODULES := mozilla/build/unix/modules.mk
run_for_side_effects := \
$(shell cd $(ROOTDIR); \
if test "$(_IS_FIRST_CHECKOUT)"; then \
$(CVSCO) $(MOZCONFIG_FINDER) $(MOZCONFIG_LOADER) $(MOZCONFIG_MODULES); \
else true; \
fi; \
$(MOZCONFIG_LOADER) $(TOPSRCDIR) mozilla/.mozconfig.mk > mozilla/.mozconfig.out)
include $(TOPSRCDIR)/.mozconfig.mk
include $(TOPSRCDIR)/build/unix/modules.mk
####################################
# Options that may come from mozconfig
# Change CVS flags if anonymous root is requested
ifdef MOZ_CO_USE_MIRROR
CVS_FLAGS := -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
endif
# MOZ_CVS_FLAGS - Basic CVS flags
ifeq "$(origin MOZ_CVS_FLAGS)" "undefined"
CVS_FLAGS := $(CVS_FLAGS) -q -z 3
else
CVS_FLAGS := $(MOZ_CVS_FLAGS)
endif
# This option is deprecated. The best way to have client.mk pull a tag
# is to set MOZ_CO_TAG (see above) and commit that change on the tag.
ifdef MOZ_CO_BRANCH
$(warning Use MOZ_CO_TAG instead of MOZ_CO_BRANCH)
CVS_CO_FLAGS := -r $(MOZ_CO_BRANCH)
endif
# MOZ_CO_FLAGS - Anything that we should use on all checkouts
ifeq "$(origin MOZ_CO_FLAGS)" "undefined"
CVS_CO_FLAGS := $(CVS_CO_FLAGS) -P
else
CVS_CO_FLAGS := $(CVS_CO_FLAGS) $(MOZ_CO_FLAGS)
endif
ifdef MOZ_CO_DATE
CVS_CO_DATE_FLAGS := -D "$(MOZ_CO_DATE)"
endif
ifdef MOZ_OBJDIR
OBJDIR := $(MOZ_OBJDIR)
MOZ_MAKE := $(MAKE) $(MOZ_MAKE_FLAGS) -C $(OBJDIR)
else
OBJDIR := $(TOPSRCDIR)
MOZ_MAKE := $(MAKE) $(MOZ_MAKE_FLAGS)
endif
####################################
# CVS defines for PSM
#
PSM_CO_MODULE= mozilla/security/manager
PSM_CO_FLAGS := -P -A
ifdef MOZ_CO_FLAGS
PSM_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef PSM_CO_TAG
PSM_CO_FLAGS := $(PSM_CO_FLAGS) -r $(PSM_CO_TAG)
endif
CVSCO_PSM = $(CVS) $(CVS_FLAGS) co $(PSM_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(PSM_CO_MODULE)
####################################
# CVS defines for NSS
#
NSS_CO_MODULE = mozilla/security/nss \
mozilla/security/coreconf \
$(NULL)
NSS_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
NSS_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef NSS_CO_TAG
NSS_CO_FLAGS := $(NSS_CO_FLAGS) -r $(NSS_CO_TAG)
endif
# Cannot pull static tags by date
ifeq ($(NSS_CO_TAG),NSS_CLIENT_TAG)
CVSCO_NSS = $(CVS) $(CVS_FLAGS) co $(NSS_CO_FLAGS) $(NSS_CO_MODULE)
else
CVSCO_NSS = $(CVS) $(CVS_FLAGS) co $(NSS_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(NSS_CO_MODULE)
endif
####################################
# CVS defines for NSPR
#
NSPR_CO_MODULE = mozilla/nsprpub
NSPR_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
NSPR_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef NSPR_CO_TAG
NSPR_CO_FLAGS := $(NSPR_CO_FLAGS) -r $(NSPR_CO_TAG)
endif
# Cannot pull static tags by date
ifeq ($(NSPR_CO_TAG),NSPRPUB_CLIENT_TAG)
CVSCO_NSPR = $(CVS) $(CVS_FLAGS) co $(NSPR_CO_FLAGS) $(NSPR_CO_MODULE)
else
CVSCO_NSPR = $(CVS) $(CVS_FLAGS) co $(NSPR_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(NSPR_CO_MODULE)
endif
####################################
# CVS defines for the C LDAP SDK
#
LDAPCSDK_CO_MODULE = mozilla/directory/c-sdk
LDAPCSDK_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
LDAPCSDK_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef LDAPCSDK_CO_TAG
LDAPCSDK_CO_FLAGS := $(LDAPCSDK_CO_FLAGS) -r $(LDAPCSDK_CO_TAG)
endif
CVSCO_LDAPCSDK = $(CVS) $(CVS_FLAGS) co $(LDAPCSDK_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(LDAPCSDK_CO_MODULE)
####################################
# CVS defines for the C LDAP SDK
#
ACCESSIBLE_CO_MODULE = mozilla/accessible
ACCESSIBLE_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
ACCESSIBLE_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef ACCESSIBLE_CO_TAG
ACCESSIBLE_CO_FLAGS := $(ACCESSIBLE_CO_FLAGS) -r $(ACCESSIBLE_CO_TAG)
endif
CVSCO_ACCESSIBLE = $(CVS) $(CVS_FLAGS) co $(ACCESSIBLE_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(ACCESSIBLE_CO_MODULE)
####################################
# CVS defines for gfx2
#
GFX2_CO_MODULE = mozilla/gfx2
GFX2_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
GFX2_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef GFX2_CO_TAG
GFX2_CO_FLAGS := $(GFX2_CO_FLAGS) -r $(GFX2_CO_TAG)
endif
CVSCO_GFX2 = $(CVS) $(CVS_FLAGS) co $(GFX2_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(GFX2_CO_MODULE)
####################################
# CVS defines for new image library
#
IMGLIB2_CO_MODULE = mozilla/modules/libpr0n
IMGLIB2_CO_FLAGS := -P
ifdef MOZ_CO_FLAGS
IMGLIB2_CO_FLAGS := $(MOZ_CO_FLAGS)
endif
ifdef IMGLIB2_CO_TAG
IMGLIB2_CO_FLAGS := $(IMGLIB2_CO_FLAGS) -r $(IMGLIB2_CO_TAG)
endif
CVSCO_IMGLIB2 = $(CVS) $(CVS_FLAGS) co $(IMGLIB2_CO_FLAGS) $(CVS_CO_DATE_FLAGS) $(IMGLIB2_CO_MODULE)
####################################
# CVS defines for standalone modules
#
ifneq ($(BUILD_MODULES),all)
MOZ_CO_MODULE := $(filter-out $(NSPRPUB_DIR) security directory/c-sdk, $(BUILD_MODULE_CVS))
MOZ_CO_MODULE += allmakefiles.sh client.mk aclocal.m4 configure configure.in
MOZ_CO_MODULE += Makefile.in
MOZ_CO_MODULE := $(addprefix mozilla/, $(MOZ_CO_MODULE))
NOSUBDIRS_MODULE := $(addprefix mozilla/, $(BUILD_MODULE_CVS_NS))
ifneq ($(NOSUBDIRS_MODULE),)
CVSCO_NOSUBDIRS := $(CVSCO) -l $(CVS_CO_DATE_FLAGS) $(NOSUBDIRS_MODULE)
endif
ifeq (,$(filter $(NSPRPUB_DIR), $(BUILD_MODULE_CVS)))
CVSCO_NSPR :=
endif
ifeq (,$(filter security security/manager, $(BUILD_MODULE_CVS)))
CVSCO_PSM :=
CVSCO_NSS :=
endif
ifeq (,$(filter directory/c-sdk, $(BUILD_MODULE_CVS)))
CVSCO_LDAPCSDK :=
endif
ifeq (,$(filter accessible, $(BUILD_MODULE_CVS)))
CVSCO_ACCESSIBLE :=
endif
ifeq (,$(filter gfx2, $(BUILD_MODULE_CVS)))
CVSCO_GFX2 :=
endif
ifeq (,$(filter modules/libpr0n, $(BUILD_MODULE_CVS)))
CVSCO_IMGLIB2 :=
endif
endif
####################################
# CVS defines for SeaMonkey
#
ifeq ($(MOZ_CO_MODULE),)
MOZ_CO_MODULE := SeaMonkeyAll
endif
CVSCO_SEAMONKEY := $(CVSCO) $(CVS_CO_DATE_FLAGS) $(MOZ_CO_MODULE)
####################################
# CVS defined for libart (pulled and built if MOZ_INTERNAL_LIBART_LGPL is set)
#
CVSCO_LIBART := $(CVSCO) $(CVS_CO_DATE_FLAGS) mozilla/other-licenses/libart_lgpl
ifdef MOZ_INTERNAL_LIBART_LGPL
FASTUPDATE_LIBART := fast_update $(CVSCO_LIBART)
CHECKOUT_LIBART := cvs_co $(CVSCO_LIBART)
else
CHECKOUT_LIBART := true
FASTUPDATE_LIBART := true
endif
####################################
# CVS defines for Calendar (pulled and built if MOZ_CALENDAR is set)
#
CVSCO_CALENDAR := $(CVSCO) $(CVS_CO_DATE_FLAGS) mozilla/calendar
ifdef MOZ_CALENDAR
FASTUPDATE_CALENDAR := fast_update $(CVSCO_CALENDAR)
CHECKOUT_CALENDAR := cvs_co $(CVSCO_CALENDAR)
else
CHECKOUT_CALENDAR := true
FASTUPDATE_CALENDAR := true
endif
# because some cygwin tools can't handle native dos-drive paths & vice-versa
# force configure to use a relative path for --srcdir
# need a better check for win32
# and we need to get OBJDIR earlier
ifdef MOZ_TOOLS
_tmpobjdir := $(shell cygpath -u $(OBJDIR))
_abs2rel := $(shell cygpath -w $(TOPSRCDIR)/build/unix/abs2rel.pl | sed -e 's|\\|/|g')
_OBJ2SRCPATH := $(shell $(_abs2rel) $(TOPSRCDIR) $(_tmpobjdir))
endif
#######################################################################
# Rules
#
# Print out any options loaded from mozconfig.
all build checkout clean depend distclean export libs install realclean::
@if test -f .mozconfig.out; then \
cat .mozconfig.out; \
rm -f .mozconfig.out; \
else true; \
fi
ifdef _IS_FIRST_CHECKOUT
all:: checkout build
else
all:: checkout alldep
endif
# Windows equivalents
pull_all: checkout
build_all: build
build_all_dep: alldep
build_all_depend: alldep
clobber clobber_all: clean
pull_and_build_all: checkout alldep
# Do everything from scratch
everything: checkout clean build
####################################
# CVS checkout
#
checkout::
# @: Backup the last checkout log.
@if test -f $(CVSCO_LOGFILE) ; then \
mv $(CVSCO_LOGFILE) $(CVSCO_LOGFILE).old; \
else true; \
fi
ifdef RUN_AUTOCONF_LOCALLY
@echo "Removing local configures" ; \
cd $(ROOTDIR) && \
$(RM) -f mozilla/configure mozilla/nsprpub/configure \
mozilla/directory/c-sdk/configure
endif
@echo "checkout start: "`date` | tee $(CVSCO_LOGFILE)
@echo '$(CVSCO) mozilla/client.mk mozilla/build/unix/modules.mk'; \
cd $(ROOTDIR) && \
$(CVSCO) mozilla/client.mk mozilla/build/unix/modules.mk
@cd $(ROOTDIR) && $(MAKE) -f mozilla/client.mk real_checkout
real_checkout:
# @: Start the checkout. Split the output to the tty and a log file. \
# : If it fails, touch an error file because "tee" hides the error.
@failed=.cvs-failed.tmp; rm -f $$failed*; \
cvs_co() { echo "$$@" ; \
("$$@" || touch $$failed) 2>&1 | tee -a $(CVSCO_LOGFILE) && \
if test -f $$failed; then false; else true; fi; }; \
cvs_co $(CVSCO_NSPR) && \
cvs_co $(CVSCO_NSS) && \
cvs_co $(CVSCO_PSM) && \
cvs_co $(CVSCO_LDAPCSDK) && \
cvs_co $(CVSCO_ACCESSIBLE) && \
cvs_co $(CVSCO_GFX2) && \
cvs_co $(CVSCO_IMGLIB2) && \
$(CHECKOUT_CALENDAR) && \
$(CHECKOUT_LIBART) && \
cvs_co $(CVSCO_SEAMONKEY) && \
cvs_co $(CVSCO_NOSUBDIRS)
@echo "checkout finish: "`date` | tee -a $(CVSCO_LOGFILE)
# @: Check the log for conflicts. ;
@conflicts=`egrep "^C " $(CVSCO_LOGFILE)` ;\
if test "$$conflicts" ; then \
echo "$(MAKE): *** Conflicts during checkout." ;\
echo "$$conflicts" ;\
echo "$(MAKE): Refer to $(CVSCO_LOGFILE) for full log." ;\
false; \
else true; \
fi
ifdef RUN_AUTOCONF_LOCALLY
@echo Generating configures using $(AUTOCONF) ; \
cd $(TOPSRCDIR) && $(AUTOCONF) && \
cd $(TOPSRCDIR)/nsprpub && $(AUTOCONF) && \
cd $(TOPSRCDIR)/directory/c-sdk && $(AUTOCONF)
endif
fast-update:
# @: Backup the last checkout log.
@if test -f $(CVSCO_LOGFILE) ; then \
mv $(CVSCO_LOGFILE) $(CVSCO_LOGFILE).old; \
else true; \
fi
ifdef RUN_AUTOCONF_LOCALLY
@echo "Removing local configures" ; \
cd $(ROOTDIR) && \
$(RM) -f mozilla/configure mozilla/nsprpub/configure \
mozilla/directory/c-sdk/configure
endif
@echo "checkout start: "`date` | tee $(CVSCO_LOGFILE)
@echo '$(CVSCO) mozilla/client.mk mozilla/build/unix/modules.mk'; \
cd $(ROOTDIR) && \
$(CVSCO) mozilla/client.mk mozilla/build/unix/modules.mk
@cd $(TOPSRCDIR) && \
$(MAKE) -f client.mk real_fast-update
real_fast-update:
# @: Start the update. Split the output to the tty and a log file. \
# : If it fails, touch an error file because "tee" hides the error.
@failed=.fast_update-failed.tmp; rm -f $$failed*; \
fast_update() { (config/cvsco-fast-update.pl $$@ || touch $$failed) 2>&1 | tee -a $(CVSCO_LOGFILE) && \
if test -f $$failed; then false; else true; fi; }; \
cvs_co() { echo "$$@" ; \
("$$@" || touch $$failed) 2>&1 | tee -a $(CVSCO_LOGFILE) && \
if test -f $$failed; then false; else true; fi; }; \
fast_update $(CVSCO_NSPR) && \
cd $(ROOTDIR) && \
failed=mozilla/.fast_update-failed.tmp && \
cvs_co $(CVSCO_NSS) && \
failed=.fast_update-failed.tmp && \
cd mozilla && \
fast_update $(CVSCO_PSM) && \
fast_update $(CVSCO_LDAPCSDK) && \
fast_update $(CVSCO_ACCESSIBLE) && \
fast_update $(CVSCO_GFX2) && \
fast_update $(CVSCO_IMGLIB2) && \
$(FASTUPDATE_CALENDAR) && \
$(FASTUPDATE_LIBART) && \
fast_update $(CVSCO_SEAMONKEY) && \
fast_update $(CVSCO_NOSUBDIRS)
@echo "fast_update finish: "`date` | tee -a $(CVSCO_LOGFILE)
# @: Check the log for conflicts. ;
@conflicts=`egrep "^C " $(CVSCO_LOGFILE)` ;\
if test "$$conflicts" ; then \
echo "$(MAKE): *** Conflicts during fast-update." ;\
echo "$$conflicts" ;\
echo "$(MAKE): Refer to $(CVSCO_LOGFILE) for full log." ;\
false; \
else true; \
fi
ifdef RUN_AUTOCONF_LOCALLY
@echo Generating configures using $(AUTOCONF) ; \
cd $(TOPSRCDIR) && $(AUTOCONF) && \
cd $(TOPSRCDIR)/nsprpub && $(AUTOCONF) && \
cd $(TOPSRCDIR)/directory/c-sdk && $(AUTOCONF)
endif
####################################
# Web configure
WEBCONFIG_FILE := $(HOME)/.mozconfig
MOZCONFIG2CONFIGURATOR := build/autoconf/mozconfig2configurator
webconfig:
@cd $(TOPSRCDIR); \
url=`$(MOZCONFIG2CONFIGURATOR) $(TOPSRCDIR)`; \
echo Running mozilla with the following url: ;\
echo ;\
echo $$url ;\
mozilla -remote "openURL($$url)" || \
netscape -remote "openURL($$url)" || \
mozilla $$url || \
netscape $$url ;\
echo ;\
echo 1. Fill out the form on the browser. ;\
echo 2. Save the results to $(WEBCONFIG_FILE)
#####################################################
# First Checkout
ifdef _IS_FIRST_CHECKOUT
# First time, do build target in a new process to pick up new files.
build::
$(MAKE) -f $(TOPSRCDIR)/client.mk build
else
#####################################################
# After First Checkout
####################################
# Configure
CONFIG_STATUS := $(wildcard $(OBJDIR)/config.status)
CONFIG_CACHE := $(wildcard $(OBJDIR)/config.cache)
ifdef RUN_AUTOCONF_LOCALLY
EXTRA_CONFIG_DEPS := \
$(TOPSRCDIR)/aclocal.m4 \
$(wildcard $(TOPSRCDIR)/build/autoconf/*.m4) \
$(NULL)
$(TOPSRCDIR)/configure: $(TOPSRCDIR)/configure.in $(EXTRA_CONFIG_DEPS)
@echo Generating $@ using autoconf
cd $(TOPSRCDIR); $(AUTOCONF)
endif
CONFIG_STATUS_DEPS_L10N := $(wildcard $(TOPSRCDIR)/l10n/makefiles.all)
CONFIG_STATUS_DEPS := \
$(TOPSRCDIR)/configure \
$(TOPSRCDIR)/allmakefiles.sh \
$(TOPSRCDIR)/.mozconfig.mk \
$(wildcard $(TOPSRCDIR)/nsprpub/configure) \
$(wildcard $(TOPSRCDIR)/directory/c-sdk/configure) \
$(wildcard $(TOPSRCDIR)/mailnews/makefiles) \
$(CONFIG_STATUS_DEPS_L10N) \
$(wildcard $(TOPSRCDIR)/themes/makefiles) \
$(NULL)
# configure uses the program name to determine @srcdir@. Calling it without
# $(TOPSRCDIR) will set @srcdir@ to "."; otherwise, it is set to the full
# path of $(TOPSRCDIR).
ifeq ($(TOPSRCDIR),$(OBJDIR))
CONFIGURE := ./configure
else
CONFIGURE := $(TOPSRCDIR)/configure
endif
ifdef _OBJ2SRCPATH
CONFIGURE_ARGS := --srcdir=$(_OBJ2SRCPATH) $(CONFIGURE_ARGS)
endif
$(OBJDIR)/Makefile $(OBJDIR)/config.status: $(CONFIG_STATUS_DEPS)
@if test ! -d $(OBJDIR); then $(MKDIR) $(OBJDIR); else true; fi
@echo cd $(OBJDIR);
@echo $(CONFIGURE) $(CONFIGURE_ARGS)
@cd $(OBJDIR) && $(CONFIGURE_ENV_ARGS) $(CONFIGURE) $(CONFIGURE_ARGS) \
|| ( echo "*** Fix above errors and then restart with\
\"$(MAKE) -f client.mk build\"" && exit 1 )
@touch $(OBJDIR)/Makefile
ifdef CONFIG_STATUS
$(OBJDIR)/config/autoconf.mk: $(TOPSRCDIR)/config/autoconf.mk.in
cd $(OBJDIR); \
CONFIG_FILES=config/autoconf.mk ./config.status
endif
####################################
# Depend
depend:: $(OBJDIR)/Makefile $(OBJDIR)/config.status
$(MOZ_MAKE) export && $(MOZ_MAKE) depend
####################################
# Build it
build:: $(OBJDIR)/Makefile $(OBJDIR)/config.status
$(MOZ_MAKE)
####################################
# Other targets
# Pass these target onto the real build system
install export libs clean realclean distclean alldep:: $(OBJDIR)/Makefile $(OBJDIR)/config.status
$(MOZ_MAKE) $@
cleansrcdir:
@cd $(TOPSRCDIR); \
if [ -f webshell/embed/gtk/Makefile ]; then \
$(MAKE) -C webshell/embed/gtk distclean; \
fi; \
if [ -f Makefile ]; then \
$(MAKE) distclean ; \
else \
echo "Removing object files from srcdir..."; \
rm -fr `find . -type d \( -name .deps -print -o -name CVS \
-o -exec test ! -d {}/CVS \; \) -prune \
-o \( -name '*.[ao]' -o -name '*.so' \) -type f -print`; \
build/autoconf/clean-config.sh; \
fi;
# (! IS_FIRST_CHECKOUT)
endif
.PHONY: checkout real_checkout depend build export libs alldep install clean realclean distclean cleansrcdir pull_all build_all clobber clobber_all pull_and_build_all everything

View File

@@ -1,46 +0,0 @@
<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/rhino/index.html">here</a>.
</span>
</body>
</html>

View File

@@ -1,22 +0,0 @@
apiClasses=\
src/org/mozilla/javascript/ClassCache.java,\
src/org/mozilla/javascript/ClassDefinitionException.java,\
src/org/mozilla/javascript/ClassShutter.java,\
src/org/mozilla/javascript/Context.java,\
src/org/mozilla/javascript/ContextListener.java,\
src/org/mozilla/javascript/EcmaError.java,\
src/org/mozilla/javascript/ErrorReporter.java,\
src/org/mozilla/javascript/Function.java,\
src/org/mozilla/javascript/FunctionObject.java,\
src/org/mozilla/javascript/ImporterTopLevel.java,\
src/org/mozilla/javascript/JavaScriptException.java,\
src/org/mozilla/javascript/PropertyException.java,\
src/org/mozilla/javascript/Script.java,\
src/org/mozilla/javascript/Scriptable.java,\
src/org/mozilla/javascript/ScriptableObject.java,\
src/org/mozilla/javascript/SecurityController.java,\
src/org/mozilla/javascript/WrapFactory.java,\
src/org/mozilla/javascript/Wrapper.java,\
src/org/mozilla/javascript/Synchronizer.java,\
src/org/mozilla/javascript/serialize/ScriptableInputStream.java,\
src/org/mozilla/javascript/serialize/ScriptableOutputStream.java

View File

@@ -1 +0,0 @@
This version was built on @datestamp@.

View File

@@ -1,183 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Build file for Rhino using Ant (see http://jakarta.apache.org/ant/index.html)
Requires Ant version 1.2 or later
-->
<project name="Rhino" default="help" basedir=".">
<target name="properties">
<property name="name" value="rhino"/>
<property name="Name" value="Rhino"/>
<property name="version" value="1_5R5pre"/>
<property name="rhino.jar" value="js.jar"/>
<property name="small-rhino.jar" value="smalljs.jar"/>
<property name="jar-compression" value="true"/>
<property name="debug" value="on"/>
<property name="build.dir" value="./build"/>
<property name="classes" value="${build.dir}/classes"/>
<property name="dist.name" value="rhino${version}"/>
<property name="dist.dir" value="${build.dir}/${dist.name}"/>
<property name="dist.src" value="${dist.dir}/src"/>
<property name="dist.toolsrc" value="${dist.dir}/toolsrc"/>
<property name="dist.examples" value="${dist.dir}/examples"/>
<property name="dist.docs" value="${dist.dir}/docs"/>
<property name="dist.apidocs" value="${dist.docs}/apidocs"/>
<property name="dist.file" value="rhino${version}.zip"/>
<property name="dist.source-only-zip" value="rhino${version}-sources.zip"/>
<property file="apiClasses.properties"/>
<property name="docsrc.dir" value="docs"/>
<property name="dist.docsrc.dir" value="src/docs"/>
</target>
<target name="init" depends="properties">
<mkdir dir="${build.dir}"/>
<mkdir dir="${classes}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${dist.src}"/>
<mkdir dir="${dist.toolsrc}"/>
<mkdir dir="${dist.examples}"/>
<mkdir dir="${dist.docs}"/>
<mkdir dir="${dist.apidocs}"/>
</target>
<target name="compile" depends="init">
<ant dir="src" target="compile"/>
<ant dir="toolsrc" target="compile"/>
</target>
<target name="copy-source" depends="init">
<ant dir="src" target="copy-source"/>
<ant dir="toolsrc" target="copy-source"/>
<copy todir="${dist.dir}" file="build.xml"/>
<copy todir="${dist.dir}" file="apiClasses.properties"/>
</target>
<target name="jar" depends="compile">
<jar jarfile="${dist.dir}/${rhino.jar}"
basedir="${classes}"
manifest="src/manifest"
compress="${jar-compression}"
/>
</target>
<target name="smalljar" depends="compile">
<jar basedir="${classes}" destfile="${dist.dir}/${small-rhino.jar}"
compress="${jar-compression}">
<include name="org/mozilla/javascript/*.class"/>
<exclude name="org/mozilla/javascript/ClassNameHelper*.class"/>
<exclude name="org/mozilla/javascript/ClassRepository*.class"/>
<exclude name="org/mozilla/javascript/JavaAdapter*.class"/>
<exclude name="org/mozilla/javascript/NotAFunctionException*.class"/>
<exclude name="org/mozilla/javascript/Token.class"/>
<include name="org/mozilla/javascript/debug/*.class"/>
<include name="org/mozilla/javascript/resources/*.properties"/>
<include name="org/mozilla/javascript/regexp/*.class"
unless="no-regexp"/>
</jar>
</target>
<target name="copy-examples" depends="init">
<copy todir="${dist.examples}">
<fileset dir="examples" includes="*.java,*.js,*.html" />
</copy>
</target>
<target name="copy-misc" depends="init">
<tstamp/>
<filter token="datestamp" value="${TODAY}"/>
<copy todir="${dist.dir}" filtering="yes">
<fileset dir=".">
<patternset>
<include name="build-date"/>
</patternset>
</fileset>
</copy>
</target>
<target name="copy-all" depends="copy-source,copy-examples,copy-misc">
</target>
<target name="copy-docs" depends="init">
<echo message="copy from ${docsrc.dir}"/>
<copy todir="${dist.docs}">
<fileset dir="${docsrc.dir}"
includes="**/*.html,**/*.jpg,**/*.gif" />
</copy>
</target>
<target name="javadoc" depends="compile,copy-docs">
<javadoc sourcefiles="${apiClasses}"
sourcepath="src"
destdir="${dist.apidocs}"
overview="${dist.docs}/api.html"
version="true"
author="true"
public="true"
windowtitle="${Name}" />
</target>
<target name="dist" depends="deepclean,jar,copy-all,javadoc">
<delete file="${dist.file}" />
<zip zipfile="${dist.file}"
basedir="${build.dir}"
includes="**"
excludes="classes/**" />
</target>
<target name="source-zip" depends="copy-source">
<delete file="${dist.source-only-zip}" />
<zip zipfile="${dist.source-only-zip}" basedir="${build.dir}"
includes="${dist.name}/src/**,${dist.name}/toolsrc/**,${dist.name}/build.xml,${dist.name}/apiClasses.properties"/>
</target>
<target name="clean" depends="properties">
<delete quiet="true" file="${dist.dir}/${rhino.jar}"/>
<delete quiet="true" file="${dist.dir}/${small-rhino.jar}"/>
<delete quiet="true" dir="${classes}"/>
</target>
<target name="deepclean" depends="properties">
<delete quiet="true" dir="${build.dir}"/>
<delete quiet="true" file="${dist.file}"/>
<delete quiet="true" file="${dist.source-only-zip}"/>
</target>
<target name="help" depends="properties">
<echo>The following targets are available with this build file:
clean remove all compiled classes and copied property files
compile compile all classes and copy all property files
into ${classes} directory
deepclean remove all generated files and directories
dist create ${dist.file} with full Rhino distribution
help print this help
jar create ${rhino.jar} in ${dist.dir}
smalljar create ${small-rhino.jar} in ${dist.dir} with
minimalist set of Rhino classes. See footprint.html
from the doc directory for details.
javadoc generate generate Rhino API documentation
in ${dist.apidocs}
source-zip create ${dist.source-only-zip} with all Rhino
source files necessary to recreate ${rhino.jar}
</echo>
</target>
</project>

View File

@@ -1,161 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>1</TITLE>
</HEAD>
<BODY>
<OL>
<B><FONT FACE="Arial" SIZE=5 COLOR="#000080"><LI>Using the Rhino JavaScript Debugger</LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The Mozilla Rhino JavaScript engine includes a source-level debugger for debugging JavaScript scripts. The debugger is itself a Java program which you may run as</P>
</FONT><FONT FACE="Arial" SIZE=2><P ALIGN="JUSTIFY">java org.mozilla.javascript.tools.debugger.JSDebugger [options] [filename.js] [script-arguments]</P>
</FONT><FONT SIZE=2><P ALIGN="JUSTIFY">where the options are the same as the shell.</P>
<OL>
<LI><A NAME="_Toc502165108"></FONT><B><FONT FACE="Arial" SIZE=4 COLOR="#000080">Features</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The Rhino JavaScript Debugger can debug scripts running in multiple threads and provides facilities to set and clear breakpoints, control execution, view variables, and evaluate arbitrary JavaScript code in the current scope of an executing script.</P>
<OL>
<LI><A NAME="_Toc502165109"></FONT><B><FONT FACE="Arial" COLOR="#000080">Console Window</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The debugger redirects the </FONT><FONT FACE="Arial" SIZE=2>System.out</FONT><FONT SIZE=2>, </FONT><FONT FACE="Arial" SIZE=2>System.in</FONT><FONT SIZE=2>, and </FONT><FONT FACE="Arial" SIZE=2>System.err</FONT><FONT SIZE=2> streams to an internal JavaScript console window which provides an editable command line for you to enter JavaScript code and view system output. The console window maintains a history of the commands you have entered. You may move backward and forward through the history list by pressing the Up/Down arrow keys on the keyboard.</P>
<LI><A NAME="_Toc502165110"></FONT><B><FONT FACE="Arial" COLOR="#000080">Opening Scripts</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">You may select the <B><I>File-&gt;Open</B></I> menu item on the menu bar to load JavaScript scripts contained in files. This action will display a file-selection dialog box prompting you for the location of a script to load. The selected file will be compiled and displayed in a new window.</P>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>Running Scripts</LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">You may select the <B><I>File-&gt;Run</B></I> menu item on the menu bar to execute JavaScript scripts contained in files. This action will display a file-selection dialog box prompting you for the location of a script to execute. The loaded script will be run in a new thread and control will be given to the debugger on its first instruction.</P>
<LI><A NAME="_Toc502165111"></FONT><B><FONT FACE="Arial" COLOR="#000080">Controlling Execution</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The debugger provides the following facilities for you to control the execution of scripts you are debugging:</P>
<OL>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>Step Into</LI></OL>
</OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">To single step entering any function calls, you may do any of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Select the <B><I>Debug-&gt;Step Into </B></I>menu item on the menu bar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the <B><I>Step Into</B></I> button on the toolbar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the F11 key on the keyboard</LI></P></UL>
<P ALIGN="JUSTIFY">Execution will resume. If the current line in the script contains a function call control will return to the debugger upon entry into the function. Otherwise control will return to the debugger at the next line in the current function.</P>
<OL>
<OL>
<OL>
<OL>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>Step Over</LI></OL>
</OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">To single step to the next line in the current function, you may do any of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Select the <B><I>Debug-&gt;Step Over</B></I> menu item on the menu bar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the <B><I>Step Over</B></I> button on the toolbar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the F7 key on the keyboard</LI></P></UL>
<P ALIGN="JUSTIFY">Execution will resume but control will return to the debugger at the next line in the current function or top-level script.</P>
<OL>
<OL>
<OL>
<OL>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>Step Out</LI></OL>
</OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">To continue execution until the current function returns you may do any of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Select the <B><I>Debug-&gt;Step Out</B></I> menu item on the menu bar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the <B><I>Step Out</B></I> button on the toolbar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the F8 key on the keyboard</LI></P></UL>
<P ALIGN="JUSTIFY">Execution will resume until the current function returns or a breakpoint is hit.</P>
<OL>
<OL>
<OL>
<OL>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>Go</LI></OL>
</OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">To resume execution of a script you may do any of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Select the <B><I>Debug-&gt;Go</B></I> menu item on the menu bar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the <B><I>Go</B></I> button on the toolbar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the F5 key on the keyboard</LI></P></UL>
<P ALIGN="JUSTIFY">Execution will resume until a breakpoint is hit or the script completes.</P>
<P ALIGN="JUSTIFY">&nbsp;</P>
<OL>
<OL>
<OL>
<OL>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>Break</LI></OL>
</OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">To stop all running scripts and give control to the debugger you may do any of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Select the <B><I>Debug-&gt;Break</B></I> menu item on the menu bar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the <B><I>Break</B></I> button on the toolbar</LI></P>
<P ALIGN="JUSTIFY"><LI>Press the Pause/Break key on the keyboard</LI></P></UL>
<OL>
<OL>
<OL>
<LI><A NAME="_Toc502165112"></FONT><B><FONT FACE="Arial" COLOR="#000080">Moving Up and Down the Stack</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The lower-left (dockable) pane in the debugger main window contains a combo-box labeled &quot;Context:&quot; which displays the current stack of the executing script. You may move up and down the stack by selecting an entry in the combo-box. When you select a stack frame the variables and watch windows are updated to reflect the names and values of the variables visible at that scope.</P>
<LI><A NAME="_Toc502165113"></FONT><B><FONT FACE="Arial" COLOR="#000080">Setting and Clearing Breakpoints</A></LI></OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The main desktop of the debugger contains file windows which display the contents of each script you are debugging. You may set a breakpoint in a script by doing one of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Place the cursor on the line at which you want to set a breakpoint and right-click with the mouse. This action will display a pop-up menu. Select the <B><I>Set Breakpoint</B></I> menu item. </LI></P>
<P ALIGN="JUSTIFY"><LI>Simply single-click on the line number of the line at which you want to set a breakpoint.</LI></P></UL>
<P ALIGN="JUSTIFY">If the selected line contains executable code a red dot will appear next to the line number and a breakpoint will be set at that location.</P>
<P ALIGN="JUSTIFY">You may set clear breakpoint in a script by doing one of the following:</P>
<UL>
<P ALIGN="JUSTIFY"><LI>Place the cursor on the line at which you want to clear a breakpoint and right-click with the mouse. This action will display a pop-up menu. Select the <B><I>Clear Breakpoint</B></I> menu item. </LI></P>
<P ALIGN="JUSTIFY"><LI>Simply single-click on the red dot or the line number of the line at which you want to clear a breakpoint.</LI></P></UL>
<P ALIGN="JUSTIFY">The red dot will disappear and the breakpoint at that location will be cleared.</P>
<OL>
<OL>
<OL>
<LI><A NAME="_Toc502165114"></FONT><B><FONT FACE="Arial" COLOR="#000080">Viewing Variables</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The lower-left (dockable) pane in the debugger main window contains a tab-pane with two tabs, labeled &quot;this&quot; and &quot;Locals&quot;. Each pane contains a tree-table which displays the properties of the current object and currently visible local variables, respectively. </P>
<OL>
</FONT><B><FONT FACE="Arial" COLOR="#000080"><LI>This</LI></OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The properties of the current object are displayed in the <B><I>this</B></I> table. If a property is itself a JavaScript object the property may be expanded to show its sub-properties. The <B><I>this</B></I> table is updated each time control returns to the debugger or when you change the stack location in the <B><I>Context:</B></I> window.</P>
<LI><A NAME="_Toc502165115"></FONT><B><FONT FACE="Arial" COLOR="#000080">Locals</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The local variables of the current function are displayed in the <B><I>Locals</B></I> table. If a variable is itself a JavaScript object the variable may be expanded to show its sub-properties. The <B><I>Locals</B></I> table is updated each time control returns to the debugger or when you change the stack location in the <B><I>Context:</B></I> window</P>
<LI><A NAME="_Toc502165116"></FONT><B><FONT FACE="Arial" COLOR="#000080">Watch Window</A></LI>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">You may enter arbitrary JavaScript expressions in the <B><I>Watch:</B></I> table located in the lower-right (dockable) pane in the debugger main window. The expressions you enter are reevaluated in the current scope and their current values displayed each time control returns to the debugger or when you change the stack location in the <B><I>Context:</B></I> window.</P>
<LI><A NAME="_Toc502165117"></FONT><B><FONT FACE="Arial" COLOR="#000080">Evaluation Window</A></LI></OL>
</OL>
</OL>
</B></FONT><FONT SIZE=2><P ALIGN="JUSTIFY">The <B><I>Evaluate</B></I> pane located in the lower-right (dockable) pane in the debugger main window contains an editable command line where you may enter arbitrary JavaScript code. The code is evaluated in the context of the current stack frame. The window maintains a history of the commands you have entered. You may move backward or forward through the history by pressing the Up/Down arrow keys on the keyboard. </P>
</FONT></BODY>
</HTML>

File diff suppressed because it is too large Load Diff

View File

@@ -1,142 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; U) [Netscape]">
<title>JavaScript API</title>
</head>
<body bgcolor="#FFFFFF">
<h1 align="center">
Rhino API Reference.</h1>
<h4>
The Control API</h4>
These APIs provide methods for controlling the actions of JavaScript in
a host environment.
<ul>
<li>
<a href="org/mozilla/javascript/Context.html">Context</a> - Represents
the runtime context of an executing script. Has methods to associate the
JavaScript evaluation engine with a Java thread, set attributes of the
engine, and compile and evaluate scripts.</li>
<li>
<a href="org/mozilla/javascript/ContextListener.html">ContextListener</a>
- Allows embeddings to be notified of the creation, entering, exiting,
and releasing of Contexts. </li>
<li>
<a href="org/mozilla/javascript/Script.html">Script</a> - The result of
compiling a JavaScript script. Also encapsulates script execution.</li>
<li>
<a href="org/mozilla/javascript/ErrorReporter.html">ErrorReporter</a> -
This interface can be implemented to control the actions the JavaScript
engine takes when it encounters errors.</li>
<li>
<a href="org/mozilla/javascript/SecurityController.html">SecurityController</a>
- Optional support routines that must be provided by embeddings implementing
security controls on scripts.</li>
<li>
<a href="org/mozilla/javascript/ClassShutter.html">ClassShutter</a>
- Embeddings that wish to filter Java classes that are visible to scripts
through the LiveConnect, should implement this interface.</li>
<li>
<a href="org/mozilla/javascript/Wrapper.html">Wrapper</a> - Interface implemented
by objects wrapping other objects. Provides a method for recovering the
wrapped value.</li>
<li>
<a href="org/mozilla/javascript/WrapHandler.html">WrapHandler</a> - Interface
embedders can implement in order to control the way Java objects are wrapped
for use by JavaScript.</li>
<li>
<a href="org/mozilla/javascript/ClassOutput.html">ClassOutput</a> - Interface
embedders can implement in order to control the placement of generated
class bytecodes.</li>
<li>
<a href="org/mozilla/javascript/serialize/ScriptableOutputStream.html">ScriptableOutputStream</a> - This stream can be used to serialize JavaScript objects and functions.
</li>
<li>
<a href="org/mozilla/javascript/serialize/ScriptableInputStream.html">ScriptableInputStream</a> - This stream can be used to deserialize JavaScript objects and functions.
</li>
</ul>
<h4>
The Host Object API</h4>
These APIs provide support for adding objects specific to a particular
embedding of JavaScript in a host environment. Note that if you just want
to script existing Java classes, you should just use <a href="http://developer.netscape.com/library/documentation/communicator/jsguide4/livecon.htm">LiveConnect</a>.
It is also helpful to understand some of the implementation of the <a href="runtime.html">runtime</a>.
<ul>
<li>
<a href="org/mozilla/javascript/Scriptable.html">Scriptable</a> - All JavaScript
objects must implement this interface. Provides methods to access properties
and attributes of those properties, as well as other services required
of JavaScript objects.</li>
<li>
<a href="org/mozilla/javascript/Function.html">Function</a> - All JavaScript
functions must implement this interface. Extends Scriptable, adding methods
to support invocation.</li>
<li>
<a href="org/mozilla/javascript/ScriptableObject.html">ScriptableObject</a>
- A default implementation of Scriptable that may be extended. Implements
property and attribute storage and lookup and other default JavaScript
object behavior.</li>
<li>
<a href="org/mozilla/javascript/FunctionObject.html">FunctionObject</a>
- An implementation of Function that allows Java methods and constructors
to be used as JavaScript function objects.</li>
<li>
<a href="org/mozilla/javascript/ImporterTopLevel.html">ImporterTopLevel</a>
- Allows embeddings to use the importClass and importPackage functions.</li>
</ul>
<h4>
Exceptions</h4>
These exceptions are thrown by JavaScript.
<ul>
<li>
<a href="org/mozilla/javascript/JavaScriptException.html">JavaScriptException</a>
- Thrown from within JavaScript by the JavaScript 'throw' statement, or
by LiveConnect calls from JavaScript into Java. Wraps a JavaScript value.</li>
<li>
<a href="org/mozilla/javascript/ClassDefinitionException.html">ClassDefinitionException</a>
- Thrown if errors are detected while attempting to define a host object
from a Java class.</li>
<li>
<a href="org/mozilla/javascript/PropertyException.html">PropertyException</a>
- 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.</li>
<li>
<a href="org/mozilla/javascript/NotAFunctionException.html">NotAFunctionException</a>
- Thrown when attempting to call an object that is not a function.</li>
<li>
<a href="org/mozilla/javascript/EvaluatorException.html">EvaluatorException</a>
- An exception thrown when an error is detected during the execution of
a script. The default error reporter will throw EvaluatorExceptions when
an error is encountered.</li>
</ul>
<hr WIDTH="100%">
<br><a href="overview-summary.html">back to top</a>
</body>
</html>

View File

@@ -1,43 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java, BSF, Apache">
<title>Rhino and BSF</title>
</head>
<body bgcolor="#FFFFFF">
<script src="owner.js"></script>
<center>
<h1>
Using Rhino with BSF and Apache</h1></center>
<script>document.write(owner());</script>
<br><script>
var d = new Date(document.lastModified);
document.write((d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear());
document.write('<br>');
</script>
<hr WIDTH="100%">
<br>The <a href="http://oss.software.ibm.com/developerworks/projects/bsf">Bean
Scripting Framework</a> (or BSF) was originally developed by IBM and now
published as open source. It provides a framework for using a number of
scripting languages with Java. Rhino is one of the supported languages.
<p>This framework has been embedded in a number of open source projects,
including the XSL processor <a href="http://xml.apache.org/xalan-j/index.html">Xalan</a>
and the XML/Java build tool <a href="http://ant.apache.org/">Ant</a>.
<p>You can download a version of <tt>bsf.jar</tt> from <a href="http://oss.software.ibm.com/developerworks/projects/bsf">http://oss.software.ibm.com/developerworks/projects/bsf</a>
that includes the <tt>com.ibm.bsf.engines.javascript.JavaScriptEngine</tt>
class. The current version is 2.2 release candidate at the time of this
writing. This version thus supports JavaScript through Rhino when used
with the <tt>js.jar</tt> file from either <tt>rhino15R1.zip</tt> or <tt>rhinoTip.zip</tt>.
<p>See <a href="http://xml.apache.org/xalan/extensions.html#ex-basic">Xalan-Java
Extensions</a> for more information on adding JavaScript to XSL and the
<a href="http://jakarta.apache.org/ant/jakarta-ant/docs/#script">Script
task</a> for using scripting in Ant build files.
<p><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,21 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Author" content="Norris Boyd">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Change Log</title>
</head>
<body bgcolor="#ffffff">
<h1 align="center">
Change Log for Significant Rhino Changes</h1>
This is a log of significant changes since Rhino 1.5 Release 4.
<h3>Nothing significant yet!</h3>
<hr width="100%"><br>
<a href="index.html">back to top</a></h3>
</body></html>

View File

@@ -1,249 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java, Debugger">
<title>Rhino Debugger</title>
</head>
<body bgcolor="#FFFFFF">
<script src="owner.js">
</script>
<center>
<h1>
Rhino JavaScript Debugger</h1></center>
Christopher Oliver
<br><script>document.write(owner());</script>
<br>6/28/2001
<center>
<hr WIDTH="100%"></center>
The Rhino JavaScript debugger is a GUI that allows debugging of interpreted
JavaScript scripts run in Rhino. Note that this debugger <i>will not</i>
work with JavaScript scripts run in the mozilla browser since Rhino is
not the engine used in such environments.
<p><img SRC="jsdebug.jpg" height=460 width=600>
<p>Current limitations:
<ul>
<li>
Requires JDK 1.2 or greater</li>
<li>
Requires js.jar from rhinoTip.zip</li>
<li>
No breakpoint menu</li>
</ul>
<b><font face="Arial"><font color="#000080"><font size=+2>Using the Rhino
JavaScript Debugger</font></font></font></b>
<p><font size=-1>The Mozilla Rhino JavaScript engine includes a source-level
debugger for debugging JavaScript scripts. The debugger is itself a Java
program which you may run as</font>
<ol><font face="Arial"><font size=-1>java org.mozilla.javascript.tools.debugger.Main
[options] [filename.js] [script-arguments]</font></font></ol>
<font size=-1>where the options are the same as the shell.</font>
<p><font size=-1>The Rhino JavaScript Debugger can debug scripts running
in multiple threads and provides facilities to set and clear breakpoints,
control execution, view variables, and evaluate arbitrary JavaScript code
in the current scope of an executing script.</font>
<p><a NAME="_Toc502165109"></a><b><font face="Arial"><font color="#000080"><font size=-1>Console
Window</font></font></font></b>
<br><font size=-1>The debugger redirects the <font face="Arial">System.out</font>,
<font face="Arial">System.in</font>,
and <font face="Arial">System.err</font> streams to an internal JavaScript
console window which provides an editable command line for you to enter
JavaScript code and view system output. The console window maintains a
history of the commands you have entered. You may move backward and forward
through the history list by pressing the Up/Down arrow keys on the keyboard.</font>
<br><a NAME="_Toc502165110"></a><b><font face="Arial"><font color="#000080"><font size=-1>Opening
Scripts</font></font></font></b>
<br><font size=-1>You may select the <b><i>File->Open</i></b> menu item
on the menu bar to load JavaScript scripts contained in files. This action
will display a file-selection dialog box prompting you for the location
of a script to load. The selected file will be compiled and displayed in
a new window.</font>
<br><a NAME="_RunningScripts"></a><b><font face="Arial"><font color="#000080"><font size=-1>Running
Scripts</font></font></font></b>
<br><font size=-1>You may select the <b><i>File->Run</i></b> menu item
on the menu bar to execute JavaScript scripts contained in files. This
action will display a file-selection dialog box prompting you for the location
of a script to execute. The loaded script will be run in a new thread and
control will be given to the debugger on its first instruction.</font>
<p><a NAME="_Toc502165111"></a><b><font face="Arial"><font color="#000080"><font size=+1>Controlling
Execution</font></font></font></b>
<br><font size=-1>The debugger provides the following facilities for you
to control the execution of scripts you are debugging:</font>
<p><b><font face="Arial"><font color="#000080">Step Into</font></font></b>
<br><font size=-1>To single step entering any function calls, you may do
any of the following:</font>
<ul>
<li>
<font size=-1>Select the <b><i>Debug->Step Into </i></b>menu item on the
menu bar</font></li>
<li>
<font size=-1>Press the <b><i>Step Into</i></b> button on the toolbar</font></li>
<li>
<font size=-1>Press the F11 key on the keyboard</font></li>
</ul>
<font size=-1>Execution will resume. If the current line in the script
contains a function call control will return to the debugger upon entry
into the function. Otherwise control will return to the debugger at the
next line in the current function.</font>
<p><b><font face="Arial"><font color="#000080">Step Over</font></font></b>
<br><font size=-1>To single step to the next line in the current function,
you may do any of the following:</font>
<ul>
<li>
<font size=-1>Select the <b><i>Debug->Step Over</i></b> menu item on the
menu bar</font></li>
<li>
<font size=-1>Press the <b><i>Step Over</i></b> button on the toolbar</font></li>
<li>
<font size=-1>Press the F7 key on the keyboard</font></li>
</ul>
<font size=-1>Execution will resume but control will return to the debugger
at the next line in the current function or top-level script.</font>
<p><b><font face="Arial"><font color="#000080">Step Out</font></font></b>
<br><font size=-1>To continue execution until the current function returns
you may do any of the following:</font>
<ul>
<li>
<font size=-1>Select the <b><i>Debug->Step Out</i></b> menu item on the
menu bar</font></li>
<li>
<font size=-1>Press the <b><i>Step Out</i></b> button on the toolbar</font></li>
<li>
<font size=-1>Press the F8 key on the keyboard</font></li>
</ul>
<font size=-1>Execution will resume until the current function returns
or a breakpoint is hit.</font>
<p><b><font face="Arial"><font color="#000080">Go</font></font></b>
<br><font size=-1>To resume execution of a script you may do any of the
following:</font>
<ul>
<li>
<font size=-1>Select the <b><i>Debug->Go</i></b> menu item on the menu
bar</font></li>
<li>
<font size=-1>Press the <b><i>Go</i></b> button on the toolbar</font></li>
<li>
<font size=-1>Press the F5 key on the keyboard</font></li>
</ul>
<font size=-1>Execution will resume until a breakpoint is hit or the script
completes.</font>
<p><b><font face="Arial"><font color="#000080">Break</font></font></b>
<br><font size=-1>To stop all running scripts and give control to the debugger
you may do any of the following:</font>
<ul>
<li>
<font size=-1>Select the <b><i>Debug->Break</i></b> menu item on the menu
bar</font></li>
<li>
<font size=-1>Press the <b><i>Break</i></b> button on the toolbar</font></li>
<li>
<font size=-1>Press the Pause/Break key on the keyboard</font></li>
</ul>
<a NAME="_RunningScripts"></a><b><font face="Arial"><font color="#000080"><font size=-1>Break
on Exceptions</font></font></font></b>
<br><font size=-1>To give control to the debugger whenever a JavaScript
is exception is thrown select the <b><i>Debug->Break on Exceptions</i></b>
checkbox from the menu bar.&nbsp; Whenever a JavaScript exception is thrown
by a script a message dialog will be displayed and control will be given
to the debugger at the location the exception is raised.</font>
<p><a NAME="_BreakOnFunctionEnter"></a><b><font face="Arial"><font color="#000080"><font size=-1>Break on Function Enter</font></font></font></b>
<br><font size=-1>Selecting <b><i>Debug->Break on Function Enter</i></b> will give control to the debugger whenever the execution is entered into a function or script.</font>
<p><a NAME="_BreakOnFunctionExit"></a><b><font face="Arial"><font color="#000080"><font size=-1>Break on Function Exit</font></font></font></b>
<br><font size=-1>Selecting <b><i>Debug->Break on Function Return</i></b> will give control to the debugger whenever the execution is about to return from a function or script.</font>
<p><a NAME="_Toc502165112"></a><b><font face="Arial"><font color="#000080">Moving
Up and Down the Stack</font></font></b>
<br><font size=-1>The lower-left (dockable) pane in the debugger main window
contains a combo-box labeled "Context:" which displays the current stack
of the executing script. You may move up and down the stack by selecting
an entry in the combo-box. When you select a stack frame the variables
and watch windows are updated to reflect the names and values of the variables
visible at that scope.</font>
<p><a NAME="_Toc502165113"></a><b><font face="Arial"><font color="#000080">Setting
and Clearing Breakpoints</font></font></b>
<br><font size=-1>The main desktop of the debugger contains file windows
which display the contents of each script you are debugging. You may set
a breakpoint in a script by doing one of the following:</font>
<ul>
<li>
<font size=-1>Place the cursor on the line at which you want to set a breakpoint
and right-click with the mouse. This action will display a pop-up menu.
Select the <b><i>Set Breakpoint</i></b> menu item.</font></li>
<li>
<font size=-1>Simply single-click on the line number of the line at which
you want to set a breakpoint.</font></li>
</ul>
<font size=-1>If the selected line contains executable code a red dot will
appear next to the line number and a breakpoint will be set at that location.</font>
<p><font size=-1>You may clear breakpoint in a script by doing one of the
following:</font>
<ul>
<li>
<font size=-1>Place the cursor on the line at which you want to clear a
breakpoint and right-click with the mouse. This action will display a pop-up
menu. Select the <b><i>Clear Breakpoint</i></b> menu item.</font></li>
<li>
<font size=-1>Simply single-click on the red dot or the line number of
the line at which you want to clear a breakpoint.</font></li>
</ul>
<font size=-1>The red dot will disappear and the breakpoint at that location
will be cleared.</font>
<p><a NAME="_Toc502165114"></a><b><font face="Arial"><font color="#000080"><font size=+1>Viewing
Variables</font></font></font></b>
<br><font size=-1>The lower-left (dockable) pane in the debugger main window
contains a tab-pane with two tabs, labeled "this" and "Locals". Each pane
contains a tree-table which displays the properties of the current object
and currently visible local variables, respectively.</font>
<p><b><font face="Arial"><font color="#000080">This</font></font></b>
<br><font size=-1>The properties of the current object are displayed in
the
<b><i>this</i></b> table. If a property is itself a JavaScript object
the property may be expanded to show its sub-properties. The <b><i>this</i></b>
table is updated each time control returns to the debugger or when you
change the stack location in the <b><i>Context:</i></b> window.</font>
<p><b><font face="Arial"><font color="#000080">Locals</font></font></b>
<br><font size=-1>The local variables of the current function are displayed
in the <b><i>Locals</i></b> table. If a variable is itself a JavaScript
object the variable may be expanded to show its sub-properties. The <b><i>Locals</i></b>
table is updated each time control returns to the debugger or when you
change the stack location in the <b><i>Context:</i></b> window</font>
<p><a NAME="_Toc502165116"></a><b><font face="Arial"><font color="#000080">Watch
Window</font></font></b>
<br><font size=-1>You may enter arbitrary JavaScript expressions in the
<b><i>Watch:</i></b>
table located in the lower-right (dockable) pane in the debugger main window.
The expressions you enter are re-evaluated in the current scope and their
current values displayed each time control returns to the debugger or when
you change the stack location in the <b><i>Context:</i></b> window.</font>
<p><a NAME="_Toc502165117"></a><b><font face="Arial"><font color="#000080">Evaluation
Window</font></font></b>
<br><font size=-1>The <b><i>Evaluate</i></b> pane located in the lower-right
(dockable) pane in the debugger main window contains an editable command
line where you may enter arbitrary JavaScript code. The code is evaluated
in the context of the current stack frame. The window maintains a history
of the commands you have entered. You may move backward or forward through
the history by pressing the Up/Down arrow keys on the keyboard.</font>
</body>
</html>

View File

@@ -1,171 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Rhino Documentation</title>
</head>
<body bgcolor="#ffffff">
<center>
<h1> Rhino Documentation</h1>
</center>
<b><i><font size="+1">General</font></i></b>
<table width="100%">
<tbody>
<tr>
<td><a href="overview.html">Overview</a>
</td>
<td>An overview of the JavaScript language and of Rhino.</td>
</tr>
<tr>
<td><a href="limits.html">Requirements and Limitations</a>
</td>
<td>What you must have to run Rhino; what Rhino cannot do.</td>
</tr>
<tr>
<td><a href="rhino15R4.html">What's new in 1.5R4</a>
</td>
<td>Changes since 1.5R3.</td>
</tr>
<tr>
<td><a href="debugger.html">Rhino Debugger</a>
</td>
<td>A debugger for debugging JavaScript running in Rhino.</td>
</tr>
<tr>
<td><a href="opt.html">Optimization</a>
</td>
<td>Details on the various optimization levels.</td>
</tr>
<tr>
<td><a href="http://sourceforge.net/projects/jscorba">JS/CORBA Adapter</a>
</td>
<td>Provides a mechanism for arbitrary JavaScript objects to interact
with each other transparently in a distributed JavaScript system using CORBA.</td>
</tr>
<tr>
<td><a href="bsf.html">Using Rhino with BSF and Apache</a>
</td>
<td>How to use Rhino with apps that support BSF.</td>
</tr>
<tr>
<td><a href="changes.html">Recent Changes</a>
</td>
<td>Describes recent changes to Rhino.</td>
</tr>
<tr>
<td><a href="faq.html">FAQ</a>
</td>
<td>Answers to frequently asked questions about Rhino.</td>
</tr>
<tr>
<td><a href="http://industry.java.sun.com/javaone/99/event/0,1768,629,00.html">
1999 JavaOne session on Rhino</a>
</td>
<td>A talk on Rhino with slides. Also see the <a href="javaone.html">followup</a>
.</td>
</tr>
<tr>
<td valign="Top"><a href="http://www.ociweb.com/jnb/archive/jnbMar2001.html">
Scripting Languages for Java</a>
<br>
</td>
<td valign="Top">An article comparing and contrasting Rhino and Jython.<br>
</td>
</tr>
</tbody>
</table>
<p><b><i><font size="+1">Writing Scripts</font></i></b>
<table width="100%">
<tbody>
<tr>
<td><a href="ScriptingJava.html">Scripting Java</a>
</td>
<td>How to use Rhino to script Java classes.</td>
</tr>
<tr>
<td><a href="scriptjava.html">Scripting Java</a>
</td>
<td>How to use Rhino to script Java classes (an older treatment).</td>
</tr>
<tr>
<td><a href="perf.html">Performance Hints</a>
</td>
<td>Some tips on writing faster JavaScript code.</td>
</tr>
<tr>
<td><a href="tools.html">Tools</a>
</td>
<td>Some tools for developing JavaScript scripts.</td>
</tr>
</tbody>
</table>
</p>
<p><b><i><font size="+1">Embedding Rhino</font></i></b>
<table width="100%">
<tbody>
<tr>
<td><a href="tutorial.html">Embedding tutorial</a>
</td>
<td>A short tutorial on how to embed Rhino into your application.</td>
</tr>
<tr>
<td><a href="apidocs/index.html">API javadoc Reference</a>
</td>
<td>An annotated outline of the programming interface to Rhino (tip only).</td>
</tr>
<tr>
<td><a href="scopes.html">Scopes and Contexts</a>
</td>
<td>Describes how to use scopes and contexts for the best performance
and flexibility, with an eye toward multithreaded environments.</td>
</tr>
<tr>
<td><a href="serialization.html">Serialization</a>
</td>
<td>How to serialize JavaScript objects and functions in Rhino.</td>
</tr>
<tr>
<td><a href="runtime.html">Runtime</a>
</td>
<td>A brief description of the JavaScript runtime.</td>
</tr>
<tr>
<td><a href="footprint.html">Small Footprint</a>
</td>
<td>Hints for those interested in small-footprint embeddings.</td>
</tr>
<tr>
<td><a href="examples.html">Examples</a>
</td>
<td>A set of examples showing how to control the JavaScript engine and
build JavaScript host objects.</td>
</tr>
<tr>
<td><font color="#000000"><a href="http://www.mozilla.org/js/tests/library.html">
Testing</a>
</font></td>
<td>How to run the JavaScript test suite.</td>
</tr>
</tbody>
</table>
</p>
<h3>
<hr width="100%"><a href="index.html">back to top</a>
</h3>
</body>
</html>

View File

@@ -1,91 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Author" content="Igor Bukanov">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Rhino Downloads</title>
</head>
<body>
<center><b><font size="+3">Rhino Downloads</font></b></center>
<p>Rhino is available for download both in source and compiled form. </p>
<h3> Binaries</h3>
You can download binaries (JAR files) from <a
href="ftp://ftp.mozilla.org/pub/mozilla.org/js/"> ftp://ftp.mozilla.org/pub/mozilla.org/js/</a>
. Rhino 1.5 Release 4.1 is the last qualified release. It is also possible
to download the latest rhino build that reflects newer features and bug
fixes, but has not been fully qualified. These zip files also include
the source.
<p>If you are looking for <tt>js.jar</tt> for XSLT or for IBM's Bean
Scripting Framework (BSF), download one of the zip files below and
unzip it. </p>
<ul>
<li> <a href="ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino15R41.zip">Rhino 1.5R4.1.</a>
<ul>
<li> <i><font size="-1"><a href="rhino15R41.html">Description of changes from 1.5R4.1</a> </font></i>.</li>
</ul>
</li>
<li> <a href="ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino15R4.zip">Rhino 1.5R4.</a>
<ul>
<li> <i><font size="-1"><a href="rhino15R4.html">Description of changes from 1.5R3</a> </font></i>.</li>
</ul>
</li>
<li><a href="ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino15R3.zip">Rhino 1.5R3.</a>
<ul>
<li> <i><font size="-1"><a href="rhino15R3.html">Description of
changes from 1.5R2</a> </font></i>.</li>
</ul>
</li>
<li> <a
href="ftp://ftp.mozilla.org/pub/mozilla.org/js/older-packages/rhino15R2.zip">Rhino
1.5R2.</a>
<ul>
<li> <i><font size="-1"><a href="rhino15R2.html">Description of
changes from 1.5R1</a> </font></i>.</li>
</ul>
</li>
<li><a
href="ftp://ftp.mozilla.org/pub/mozilla.org/js/older-packages/rhino15R1.zip">Rhino
1.5R1.</a>
<ul>
<li> <i><font size="-1"><a href="rhino15R1.html">Description of
changes from 1.4R3</a> </font></i>.</li>
</ul>
</li>
<li> <a
href="ftp://ftp.mozilla.org/pub/mozilla.org/js/older-packages/rhino14R3.zip"> Rhino
1.4 Release 3</a> .</li>
<li> <a href="ftp://ftp.mozilla.org/pub/mozilla.org/js/rhinoLatest.zip">Latest
Rhino builds</a> .
<ul>
<li> <i><font size="-1"><a href="changes.html">Description of
changes from 1.5R4</a> </font></i>.</li>
</ul>
</li>
</ul>
<h3> Source</h3>
The source code for Rhino is available under <a
href="http://www.mozilla.org/NPL/"> NPL 1.1</a> . In addition to getting
the source from the zip files above, the source code for Rhino can be
found in the CVS tree at mozilla/js/rhino. See&nbsp; <a
href="http://www.mozilla.org/cvs.html">source code via cvs</a> for
details on how to set up CVS, define your CVSROOT, and login. Once
you've done that, just execute the command
<pre>&nbsp;&nbsp;&nbsp; cvs co mozilla/js/rhino</pre>
to get the tip source.
<p>The current tip can also be viewed using LXR at <a
href="http://lxr.mozilla.org/mozilla/source/js/rhino/">
http://lxr.mozilla.org/mozilla/source/js/rhino/</a> . </p>
<p> </p>
<hr width="100%"><a href="index.html">back to top</a> <br>
&nbsp; <br>
</body>
</html>

View File

@@ -1,278 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 97">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; U) [Netscape]">
<title>Embedding Scripting Host in Business Applications</title>
</head>
<body link="#0000FF">
<b><font face="Arial"><font size=-1>Embedding
Scripting Host in Business Applications</font></font></b>
<p><b><font face="Arial"><font size=-1>Madhukumar Seshadri, <a href="http://www.cognizant.com)/">www.cognizant.com</a></font></font></b>
<br>&nbsp;
<br>&nbsp;
<p><font face="Arial"><font size=-1>With web browsers, continuing to rule
the human interface for applications, creating value by being ubiquitous,
few adoptions of rich technology thats getting brewed underneath, will
help designing business applications even though most of the current ones
are made with birds eye of the underlying technologies.</font></font>
<p><font face="Arial"><font size=-1>JavaScript is a scripting language
invented and developed by Netscape. The language was primarily designed
for creating lightweight programming for web browser extensions by exposing
the Document Object Model of an HTML page to the scripts. JavaScript is
becoming object oriented and getting adopted for server-side scripting.</font></font>
<p><font face="Arial"><font size=-1>JavaScript is also becoming a standard
in the scripting world as Netscape is working closely with ECMA (European
Computer Manufacturers Association) to make it as a standard scripting
language for the script world. The standards are published as ECMA Script.</font></font>
<p><font face="Arial"><font size=-1>JavaScript originally designed for
exposing the DOM (Document Object Model) standardized by World Wide Web
consortium (W3C), to help web page designers to control and manipulate
the pages dynamically. JavaScript engines were embedded in the browsers
and they execute those portions of the code embedded in the HTML pages.</font></font>
<p><font face="Arial"><font size=-1>In short, JavaScript engine embedded
in the browser allowed extensions or manipulations for DOM Object run time
for the HTML page by executing the scripts associated with them. In other
words, browser exposes its DOM object for the page to scripts for extensions
and dynamic manipulations of the same, using a language that the script
interpreter understands.</font></font>
<p><font face="Arial"><font size=-1>Can I do the same for my application
by exposing my custom business objects written in my middle-tier? Can I
allow user to my write JavaScript extensions for my objects and also be
host for executing those scripts?</font></font>
<p><font face="Arial"><font size=-1>JavaScript host runs times are available
as binaries written in major languages. Check out <a href="http://www.mozilla.org/js">www.mozilla.org/js</a>.
Spider Monkey and Rhino are open source JavaScripting engines available
from mozilla.</font></font>
<p><font face="Arial"><font size=-1>Microsoft implementation of ECMA Script
(ECMA Script is based on core JavaScript, created by Netscape) is called
JScript. Microsoft binaries of jscript engine can be downloaded from http://msdn.microsoft.com/scripting/.</font></font>
<p><font face="Arial"><font size=-1>This document doesnt explain the JavaScript
language in detail but explains how these scripting engines can be used
as host to expose business objects in the middle-tier and how the user
of these applications can extend it if needed using JavaScript.</font></font>
<p><font face="Arial"><font size=-1>The scripting engine Rhino (<a href="http://www.mozilla.org/js)">www.mozilla.org/rhino)</a>,
a javascript engine purely written in Java is one that I am going to use
for the testing the above.</font></font>
<p><font face="Arial"><font size=-1>Let us set some simple goals,</font></font>
<ul>
<li>
<font face="Arial"><font size=-1>Execute a plain JavaScript code and
use static Java object</font></font></li>
<li>
<font face="Arial"><font size=-1>Instantiate external objects (written
in Java) from the script and use them within the script</font></font></li>
</ul>
<br>&nbsp;
<br>&nbsp;
<p><font face="Arial"><font size=-1>Let us write a simple Javscript to
test the above set goals,</font></font>
<p><font face="Arial"><font size=-1><b>Fig 1</b> jshosttest.js</font></font>
<p><b><i><font face="Arial"><font size=-1>/* Test 1 */</font></font></i></b>
<br><b><i><font face="Arial"><font size=-1>/* Use a static Java Object
in the script */</font></font></i></b>
<p><font face="Arial"><font size=-1>function test1() {</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; var str;</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; str = '"Hello World";</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; return str;</font></font>
<br><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>var str = test1( );</font></font>
<br><font face="Arial"><font size=-1>//out is expected to be Java Object
exposed to the script scope</font></font>
<br><font face="Arial"><font size=-1>out.println ("JavaScript - Test 1
- " + str);</font></font>
<p><b><i><font face="Arial"><font size=-1>/* Test 2 */</font></font></i></b>
<p><b><i><font face="Arial"><font size=-1>/* Instantiate a Javaobject for
this scope and use it */</font></font></i></b>
<p><font face="Arial"><font size=-1>function test2(){</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; // create a Java
string buffer object from JavaScript and use its java instance</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; // This uses an
another Java object created for creating new objects within Java and</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; // brings the same
for JavaScript execution scope</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; // Refer _create.java
for more information</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; create.getInstance("java.lang.StringBuffer","buffer");</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; //JavaScript refers
the java object instance as buffer</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; out.println(buffer.toString());</font></font>
<br>&nbsp;&nbsp;&nbsp; <font face="Arial"><font size=-1>buffer.append("I
am a javaobject dynamically created and executed in JavaScript");</font></font>
<br>&nbsp;&nbsp;&nbsp; <font face="Arial"><font size=-1>return buffer.toString();</font></font>
<br><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>var str = test2();</font></font>
<br><font face="Arial"><font size=-1>out.println("From JavaScript - Test
2 " + str);</font></font>
<p><font face="Arial"><font size=-1>Let us write a simple Javahost Object
using the Rhino engine to execute the above script,</font></font>
<p><b><font face="Arial"><font size=-1>Fig 2.1 - JSHost.java</font></font></b>
<p><font face="Arial"><font size=-1>/**</font></font>
<br><font face="Arial"><font size=-1>* @author Madhukumar Seshadri</font></font>
<br><font face="Arial"><font size=-1>* @version</font></font>
<br><font face="Arial"><font size=-1>*/</font></font>
<p><font face="Arial"><font size=-1>import org.mozilla.javascript.*;</font></font>
<br><font face="Arial"><font size=-1>import java.io.*;</font></font>
<br><font face="Arial"><font size=-1>import java.lang.*;</font></font>
<br><i><font face="Arial"><font size=-1>// import com.xxx.xxx.*;</font></font></i>
<p><font face="Arial"><font size=-1>public class JSHost extends Object
{</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; /** Creates new
JSHost */</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; public JSHost()
{</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; }</font></font>
<p><i><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; /*** Executes
.js file ***/</font></font></i>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; public Object executeJS
(String jsfname){</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; //You can also
use evaluateReader</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; File fp = new File(jsfname);</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; String str_buff
=null;</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; try {</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
FileReader fr = new FileReader(jsfname);</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
int length = (int) fp.length();</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
char cbuff[] = new char[(char)length];</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
fr.read(cbuff);</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
str_buff = new String(cbuff);</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; } catch(Exception
e) {</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
e.printStackTrace();</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; }</font></font>
<p><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; //Execute the .js
file content</font></font>
<br><font face="Arial"><font size=-1>&nbsp;&nbsp;&nbsp; return executeJSSource(str_buff);</font></font>
<br><font face="Arial"><font size=-1>}</font></font>
<p><i><font face="Arial"><font size=-1>/*** Executes javascript source
***/</font></font></i>
<br><font face="Arial"><font size=-1>public Object executeJSSource (String
jsbuff){</font></font>
<br><font face="Arial"><font size=-1>Object any=null;</font></font>
<br><font face="Arial"><font size=-1>try{</font></font>
<br><i><font face="Arial"><font size=-1>//Enter the Context</font></font></i>
<br><font face="Arial"><font size=-1><i>// Refer </i><u><font color="#0000FF">http://www.mozilla.org/js/rhino/tutorial.html</font></u></font></font>
<br><font face="Arial"><font size=-1>Context context = Context.enter();</font></font>
<br><i><font face="Arial"><font size=-1>// Get the execution scope</font></font></i>
<br><font face="Arial"><font size=-1>Scriptable scope = context.initStandardObjects();</font></font>
<p><i><font face="Arial"><font size=-1>//----------- For Test 1 - Get System.out
in scope</font></font></i>
<br><font face="Arial"><font size=-1>//Scriptable jObj1 = Context.toObject(System.out,
scope);</font></font>
<br><font face="Arial"><font size=-1>scope.put("out", scope, jObj1);</font></font>
<p><i><font face="Arial"><font size=-1>//------------ For Test 2 - Instantiate
Create Object and get that in scope</font></font></i>
<br><i><font face="Arial"><font size=-1>//Allow JScript to create Java
Objects</font></font></i>
<br><i><font face="Arial"><font size=-1>//Bring the _create object to context</font></font></i>
<br><font face="Arial"><font size=-1>_create create = new _create( );</font></font>
<br><i><font face="Arial"><font size=-1>//Register this context and scope
to this create object instance</font></font></i>
<br><font face="Arial"><font size=-1>create.registerContext(context,scope);</font></font>
<br><font face="Arial"><font size=-1>//Scriptable jObj2 = Context.toObject(_create,
scope);</font></font>
<br><font face="Arial"><font size=-1>scope.put("create",scope,create);</font></font>
<br><i><font face="Arial"><font size=-1>//Evaluate (or execute js)</font></font></i>
<br><font face="Arial"><font size=-1><i>//Refer </i><u><font color="#0000FF">http://www.mozilla.org/js/rhino/tutorial.html</font></u></font></font>
<br><font face="Arial"><font size=-1>any = context.evaluateString(scope,
jsbuff, "", 1, null);</font></font>
<br><i><font face="Arial"><font size=-1>//Exit the Context</font></font></i>
<br><font face="Arial"><font size=-1>context.exit( );</font></font>
<br><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>catch ( JavaScriptException jse) {</font></font>
<br><font face="Arial"><font size=-1>jse.printStackTrace();</font></font>
<br><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>return any;</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<br>&nbsp;
<br>&nbsp;
<p><font face="Arial"><font size=-1>Let us write a class for creating new
Java objects and bringing them to this script execution scope,</font></font>
<p><b><font face="Arial"><font size=-1>Fig 2.2 _create.java</font></font></b>
<p><i><font face="Arial"><font size=-1>/**</font></font></i>
<p><i><font face="Arial"><font size=-1>* @author Madhukumar</font></font></i>
<p><i><font face="Arial"><font size=-1>*/</font></font></i>
<p><font face="Arial"><font size=-1>import java.lang.Class;</font></font>
<p><font face="Arial"><font size=-1>import org.mozilla.javascript.*;</font></font>
<p><font face="Arial"><font size=-1>public class _create extends Object
{</font></font>
<p><font face="Arial"><font size=-1>static Context ptr = null;</font></font>
<p><font face="Arial"><font size=-1>static Scriptable scope =null;</font></font>
<p><font face="Arial"><font size=-1>public _create () { }</font></font>
<p><font face="Arial"><font size=-1>public void registerContext(Context
cptr, Scriptable sc){</font></font>
<p><font face="Arial"><font size=-1>ptr = cptr;</font></font>
<p><font face="Arial"><font size=-1>scope = sc;</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>public void getInstance(String classname,String
jsclassname) {</font></font>
<p><font face="Arial"><font size=-1>Object any=null;</font></font>
<p><font face="Arial"><font size=-1>try {</font></font>
<p><font face="Arial"><font size=-1>Class thisclass = Class.forName(classname);</font></font>
<p><font face="Arial"><font size=-1>any = thisclass.newInstance();</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>catch(Exception e){</font></font>
<p><font face="Arial"><font size=-1>e.printStackTrace();</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>if( ptr != null) {</font></font>
<p><font face="Arial"><font size=-1>if (scope !=null) {</font></font>
<p><i><font face="Arial"><font size=-1>//register created object for this
execution scope</font></font></i>
<p><font face="Arial"><font size=-1>scope.put(jsclassname,scope,any);</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<br>&nbsp;
<br>&nbsp;
<p><font face="Arial"><font size=-1>It is time to test the code, so let
us write a small object that will use the JSHost object,</font></font>
<p><b><font face="Arial"><font size=-1>Fig 3 - JSHosttest.java</font></font></b>
<p><font face="Arial"><font size=-1>/**</font></font>
<p><font face="Arial"><font size=-1>* @author Madhukumar</font></font>
<p><font face="Arial"><font size=-1>* @version</font></font>
<p><font face="Arial"><font size=-1>*/</font></font>
<p><font face="Arial"><font size=-1>public class JSHosttest extends Object
{</font></font>
<p><font face="Arial"><font size=-1>/** Creates new JSHostTest*/</font></font>
<p><font face="Arial"><font size=-1>public JSHosttest() {</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>public static void main (String args[]){</font></font>
<p><font face="Arial"><font size=-1>if (args.length &lt; 1) {</font></font>
<p><font face="Arial"><font size=-1>System.out.println("Usage - Java JSHosttest.class
&lt;js source file>");</font></font>
<p><font face="Arial"><font size=-1>return;</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>JSHost jsh = new JSHost();</font></font>
<p><font face="Arial"><font size=-1>System.out.println("Executing JavaScript
file - " + args[0]);</font></font>
<p><font face="Arial"><font size=-1>Object result = jsh.executeJS(args[0]);</font></font>
<p><font face="Arial"><font size=-1>if (result instanceof String){</font></font>
<p><font face="Arial"><font size=-1>System.out.println("Results - " + result);</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<p><font face="Arial"><font size=-1>}</font></font>
<br>&nbsp;
<br>&nbsp;
<p><font face="Arial"><font size=-1>For more explanations on the code execution,
please refer embedding tutorial <a href="http://www.mozilla.org/js/rhino/tutorial.html">http://www.mozilla.org/js/rhino/tutorial.html</a>
and for all documentation and examples on Rhino visit <a href="http://www.mozilla.org/rhino/doc.html">http://www.mozilla.org/rhino/doc.html</a>.</font></font>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
</body>
</html>

View File

@@ -1,94 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
<title>Rhino Examples</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
Rhino Examples</h1></center>
Examples have been provided that show how to control the JavaScript engine
and to implement scriptable host objects. All the examples are in the cvs
tree at <tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/">mozilla/js/rhino/examples</a></tt>.
<br>&nbsp;
<h2>
Sample Scripts</h2>
The <tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/unique.js">unique.js</a></tt>
script allows printing unique lines from a file.
<p>The <tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/liveConnect.js">liveConnect.js</a></tt>
script shows a sample usage of LiveConnect (Java-to-JavaScript connectivity).
<p>The <tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/jsdoc.js">jsdoc.js</a></tt>
script is a JavaScript analog to Java's <tt>javadoc</tt>. It makes heavy
use of regular expressions.
<p>The <tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/checkParam.js">checkParam.js</a></tt>
script is a useful tool to check that <tt>@param</tt> tags in Java documentation
comments match the parameters in the corresponding Java method.
<p>The <tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/enum.js">enum.js</a></tt>
script is a good example of using a JavaAdapter to implement a Java interface
using a JavaScript object.
<p>The <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/NervousText.js">NervousText.js</a>
script is a JavaScript implementation of the famous NervousText applet
using JavaScript compiled to Java classes using <a href="jsc.html">jsc</a>.
It can be run in the HTML page <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/NervousText.html">NervousText.html</a>.
<br>&nbsp;
<h2>
Controlling the JavaScript Engine</h2>
<h4>
The RunScript class</h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/RunScript.java">RunScript.java</a></tt>
is a simple program that executes a script from the command line.
<h4>
The Control class</h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/Control.java">Control.java</a></tt>
is a program that executes a simple script and then manipulates the result.
<h4>
JavaScript Shell</h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/Shell.java">Shell.java</a></tt>
is a program that executes JavaScript programs; it is a simplified version
of the shell in the <tt>tools</tt> package. The programs may be specified
as files on the command line or by typing interactively while the shell
is running.
<h4>PrimitiveWrapFactory</h4>
<a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/PrimitiveWrap
Factory.java">PrimitiveWrapFactory.java</a> is an example of a WrapFactory that
can be used to control the wrapping behavior of the Rhino engine on calls to Jav
a methods.<br>
<h4>
<b>Multithreaded Script Execution</b></h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/DynamicScopes.java">DynamicScopes.java</a></tt>
is a program that creates a single global scope object and then shares
it across multiple threads. Sharing the global scope allows both information
to be shared across threads, and amortizes the cost of Context.initStandardObjects
by only performing that expensive operation once.
<br>&nbsp;
<h2>
Implementing Host Objects</h2>
First check out the <a href="http://www.mozilla.org/rhino/tutorial.html">tutorial</a>
if you haven't already.
<h4>
The Foo class - Extending ScriptableObject</h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/Foo.java">Foo.java</a></tt>
is a simple JavaScript host object that includes a property with an associated
action and a variable argument method.
<br>&nbsp;
<h4>
The Matrix class - Implementing Scriptable</h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/Matrix.java">Matrix.java</a></tt>
provides a simple multidimensional array by implementing the Scriptable
interface.
<br>&nbsp;
<h4>
The File class - An advanced example</h4>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/File.java">File.java</a></tt>
extends ScriptableObject to provide a means of reading and writing files
from JavaScript. A more involved example of host object definition.
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,52 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Rhino FAQ</title>
</head>
<body bgcolor="#FFFFFF">
<script src="owner.js"></script>
<center>
<h1>
Frequently Asked Questions about Rhino</h1></center>
<script>document.write(owner());</script>
<br><script>
var d = new Date(document.lastModified);
document.write((d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear());
document.write('<br>');
</script>
<center>
<hr WIDTH="100%"></center>
<p><b><font size=+2>Q</font>.</b> <i>How do I create a Java array from
JavaScript?</i>
<p><b><font size=+2>A.</font></b> You must use Java reflection. For instance,
to create an array of java.lang.String of length five, do
<blockquote><tt>var stringArray = java.lang.reflect.Array.newInstance(java.lang.String,
5);</tt></blockquote>
Then if you wish to assign the string "hi" to the first element, simply
execute <tt>stringArray[0] = "hi"</tt>.
<p>Creating arrays of primitive types is slightly different: you must use
the TYPE field. For example, creating an array of seven ints can be done
with the code
<blockquote><tt>var intArray = java.lang.reflect.Array.newInstance(java.lang.Integer.TYPE,
7);</tt></blockquote>
<p><br><b><font size=+2>Q</font>.</b> <i>When I try to execute a script
I get the exception </i><tt>Required security context missing</tt><i>.
What's going on?</i>
<p><b><font size=+2>A.</font></b> You've likely missed placing the <tt>Security.properties</tt>
file in your class path at <tt>org.mozilla.javascript.resources</tt>.
<h3>
<hr WIDTH="100%"><br>
<a href="index.html">back to top</a></h3>
</body>
</html>

View File

@@ -1,60 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.51 [en] (WinNT; U) [Netscape]">
<title>Small Footprint</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
Small Footprint</h1></center>
A few changes can be made to reduce the footprint of Rhino for embeddings
where space is at a premium. On a recent build, the length of js.jar was 603,127 bytes corresponding to 1,171,708 bytes of all uncompressed Rhino classes with debug information included.
With various changes js.jar size can be reduced to 204,689 bytes corresponding to 424,774 bytes of uncompressed classes.
<h3>Tools</h3>
<p>
Most embeddings won't need any of the classes in <tt>org.mozilla.javascript.tools</tt> or any of its sub-packages.
<h3>
Optimizer</h3>
<p>
It is possible to run Rhino with interpreter mode only, allowing you to remove
classes for classfile generation that include all the classes from
<tt>org.mozilla.javascript.optimizer</tt> package and <tt>ClassNameHelper</tt>, <tt>ClassRepository</tt> classes from <tt>org.mozilla.javascript</tt> package.
<h3>JavaAdapter</h3>
<p>
Implementing the JavaAdapter functionality requires the ability to generate
classes on the fly. Removing <tt>org.mozilla.javascript.JavaAdapter</tt> will disable this functionality, but Rhino will otherwise run correctly.
<h3>Class generation library</h3>
<p>
If you do not include Optimizer or JavaAdapter, then you do not need Rhino library for class file generation and you can remove all the classes from in <tt>org.mozilla.classfile</tt> package.
<h3>Regular Expressions</h3>
<p>
The package <tt>org.mozilla.javascript.regexp</tt> can be removed. Rhino
will continue to run, although it will not be able to execute any regular
expression matches. This change saves 47,984 bytes of class files.
<h3>Debug information</h3>
<p>
Debug information in Rhino classes consumes about 25% of code size and if you can live without that, you can recompile Rhino to remove it.
<h2>smalljs.jar</h2>
Ant build script in Rhino supports smalljar target that will generate smalljs.jar that does not include Tools, Optimizer, JavaAdapter and Class generation library, Regular Expressions and deprecated files. To build such minimalist jar without debug information, run the following command from the top directory of Rhino distribution:
<pre>
ant clean
ant -Ddebug=off -Dno-regexp=true smalljar
</pre>
If you omit <tt>-Dno-regexp=true</tt>, then the resulting smalljs.jar will include Regular Expression support.
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,44 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<title>Help with Rhino</title>
</head>
<body>
<center><b><font size=+3>Help with Rhino</font></b></center>
<script src="owner.js"></script>
<p>Have a question that you can't find answer to in the <a href="doc.html">documentation</a>?
Here are some additional resources for help:
<br>&nbsp;
<h3>
<font size=+1>Newsgroup and Mail Gateway</font></h3>
The <a href="news:netscape.public.mozilla.jseng">netscape.public.mozilla.jseng</a>
newsgroup answers questions about both Rhino and the C implementation of
JavaScript. You can get to the newsgroup through a mail gateway. Send a
message with the subject "subscribe" to <a href="mailto:mozilla-jseng-request@mozilla.org?subject=subscribe">mozilla-jseng-request@mozilla.org</a>.
To post messages, send mail to <a href="mailto:mozilla-jseng@mozilla.org">mozilla-jseng@mozilla.org</a>.
To unsubscribe, mail with "unsubscribe" in the subject to <a href="mailto:mozilla-jseng-request@mozilla.org?subject=unsubscribe">mozilla-jseng-request@mozilla.org</a>.
<p>
To view archived messages, try <a href="http://groups.google.com/groups?q=netscape.public.mozilla.jseng&hl=en&lr=&safe=off&site=groups">Google groups</a> or
other newsgroup services.
<h3>
Bug System</h3>
Use <a href="http://bugzilla.mozilla.org/enter_bug.cgi?product=Rhino">Bugzilla</a>
to enter bugs against Rhino. Note that Rhino has its own product category.
<br>&nbsp;
<h3>
Module Owner</h3>
The module owner,&nbsp;<script>document.write(owner());</script>
, can
be mailed for help as well, although he may copy his response to the newsgroup
to help others.
<p>
<hr WIDTH="100%"><a href="index.html">back to top</a>
<br>&nbsp;
<br>&nbsp;
</body>
</html>

View File

@@ -1,45 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.72 [en]C-NSCP (WinNT; U) [Netscape]">
<title>Rhino History</title>
</head>
<body>
<center><b><font size=+3>Rhino History</font></b></center>
<p>Rhino gets its name from the animal on the cover of the <a href="http://www.ora.com/">O'Reilly</a>
book about JavaScript.
<p>The Rhino project was started at Netscape in Fall 1997. At the time,
Netscape was planning to produce a version of Navigator written entirely
in Java and so it needed an implementation of JavaScript written in Java.
When Netscape stopped work on "Javagator", as it was called, somehow Rhino
escaped the axe (rumor had it that the executives "forgot" it existed).
Since then, a couple of major companies (including Sun) have licensed Rhino
for use in their products and paid Netscape to do so, allowing us to continue
work on it. Now Rhino is planned to be part of several server products
from Netscape as well.
<p>Originally, Rhino compiled all JavaScript code to Java bytecodes in
generated classfiles. This produced the best performance (often beating
the C implementation of JavaScript when run on a JIT), but suffered from
two faults. First, compilation time was long since generating Java bytecodes
and loading the generated classes was a heavyweight process. Also, the
implementation effectively leaked memory since most JVMs don't really collect
unused classes or the strings that are interned as a result of loading
a class file.
<p>So in Fall of 1998, Rhino added an interpretive mode. The classfile
generation code was moved to an optional, dynamically-loaded package. Compilation
is faster and when scripts are no longer in use they can be collected like
any other Java object.
<p>Rhino was released to mozilla.org in April of 1998. Originally Rhino
classfile generation had been held back from release. However the licensees
of Rhino have now agreed to release all of Rhino to open source, including
class file generation. Since its release to open source, Rhino has found
a variety of <a href="users.html">uses</a> and an increasing
number of people have contributed to the code.
<p>
<hr WIDTH="100%"><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,75 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java, Mozilla">
<title>Rhino - JavaScript for Java</title>
</head>
<body>
<center>
<h1>
Rhino: JavaScript for Java</h1></center>
<center><img SRC="rhino50.jpg" height=200 width=398></center>
<hr WIDTH="100%">Rhino is an open-source implementation of JavaScript written
entirely in Java. It is typically embedded into Java applications to provide
scripting to end users.
<table WIDTH="100%" >
<tr>
<td>
<div align=right><b><a href="download.html">Downloads</a></b></div>
</td>
<td>How to get source and binaries.</td>
</tr>
<tr>
<td>
<div align=right><b><a href="doc.html">Documentation</a></b></div>
</td>
<td>Information on Rhino for script writers and embedders.</td>
</tr>
<!--
<tr>
<td>
<div align=right><b><a href="users.html">Users</a></b></div>
</td>
<td>How people are using Rhino.</td>
</tr>
-->
<tr>
<td>
<div align=right><b><a href="history.html">History</a></b></div>
</td>
<td>The ancestry of the beast.</td>
</tr>
<tr>
<td>
<div align=right><b><a href="help.html">Help</a></b></div>
</td>
<td>Some resources if you get stuck.</td>
</tr>
</table>
<hr WIDTH="100%"><font size=-1>Module owner&nbsp;</font><script src="owner.js"></script>
<script>document.write(owner());</script>
<br><font size=-1>Rhino image courtesy of Paul Houle.</font><!---
Add reference to
http://www.javaworld.com/jw-08-1999/jw-08-howto.html
and
http://www.javaworld.com/javaworld/jw-09-1999/jw-09-howto.html
--->
</body>
</html>

View File

@@ -1,66 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.6 [en] (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Followup to JavaOne</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
Followup to JavaOne session on Rhino</h1></center>
This page is intended to follow up on the <a href="http://www.javasoft.com/javaone/">JavaOne</a>
session on <a href="http://industry.java.sun.com/javaone/99/event/0,1768,629,00.html">"Rhino:
JavaScript for the Java Platform"</a>. I hope it will be useful whether
or not you actually attended the talk.
<br>&nbsp;
<h2>
Slides</h2>
<a href="http://industry.java.sun.com/javaone/99/pdfs/e629.pdf">Slides</a>
(PDF file, 1112246 bytes)&nbsp; can be downloaded from Sun's site.
<br>&nbsp;
<br>&nbsp;
<h2>
More on Q &amp; A</h2>
Following the talk there was an excellent question and answer session where
many attendees asked good questions and offered useful suggestions. I'll
follow up on some of those here. I'll start a thread on the newsgroup <a href="news://news.mozilla.org/netscape.public.mozilla.jseng">netscape.public.mozilla.jseng</a>
so people can ask addition questions or comments there.
<h3>
Java classes visible to scripts</h3>
One attendee raised the point that many embeddings may not want scripts
to be able to access all Java classes. This is an excellent point, and
I've implemented an addition to the <a href="../js/rhino/org/mozilla/javascript/SecuritySupport.html">SecuritySupport</a>
class that allows embedders to choose which classes are exposed to scripts.
<h3>
Easier "importing" of Java classes</h3>
Another attendee suggested that the current method of referring to Java
classes (like <tt>java.lang.String</tt> or <tt>Packages.org.mozilla.javascript.Context</tt>)
could be improved. I've implemented a set of changes that make importing
easier, but I'm not convinced that adding them is the right thing to do
due to some drawbacks.
<p>To see what I've done, take a look at the javadoc for the <a href="../js/rhino/org/mozilla/javascript/ImporterTopLevel.html">ImporterTopLevel</a>
class. You'll see that it's now possible to make function calls to "import"
Java classes so that they can be referred to without qualification. I didn't
use the word "import" because that's a keyword in JavaScript.
<p>There are a few drawbacks to this implemenation. First, there is a runtime
cost associated with every lookup of a top-level variable. The problem
is that it's not possible to use the Java runtime to determine the set
of classes from a given package. Instead, importing the package "java.util"
saves the package name in a special list and every access to the global
scope that fails to find a matching variable causes the runtime to see
if there is a class by that name in the "java.util" package. Even for lookups
that succeed there is an additional method call.
<p>Another drawback to this implementation is namespace pollution: now
"importClass" and "importPackage" have special meaning. It's still possible
to substitute your own variables for these functions, but it's still possible
that program behavior could change.
<p>So I'm interested in people's opinion: Is this benefit worth the costs?
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,82 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; U) [Netscape]">
<title>JavaScript Compiler</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
JavaScript Compiler</h1></center>
The JavaScript compiler translates JavaScript source into Java class files.
The resulting Java class files can then be loaded and executed at another
time, providing a convenient method for transfering JavaScript, and for
avoiding translation cost.
<p>Note that the top-level functions available to the shell (such as <tt>print</tt>)
are <i>not</i> available to compiled scripts when they are run outside
the shell.
<br>&nbsp;
<h2>
Invoking the Compiler</h2>
<tt>java org.mozilla.javascript.tools.jsc.Main</tt> [<i>options</i>] <i>file1</i><tt>.js</tt>
[<i>file2</i><tt>.js</tt>...]
<p>where <i>options</i> are:
<p><tt>-extends <i>java-class-name</i></tt>
<blockquote>Specifies that a java class extending the Java class <i>java-class-name</i>
should be generated from the incoming JavaScript source file. Each global
function in the source file is made a method of the generated class, overriding
any methods in the base class by the same name.</blockquote>
<tt>-implements <i>java-intf-name</i></tt>
<blockquote>Specifies that a java class implementing the Java interface
<i><tt>java-intf-name</tt></i>
should be generated from the incoming JavaScript source file. Each global
function in the source file is made a method of the generated class, implementing
any methods in the interface by the same name.</blockquote>
<tt>-debug</tt>
<br><tt>-g</tt>
<ul>Specifies that debug information should be generated. May not be combined
with optimization at an <i>optLevel</i> greater than zero.</ul>
<tt>-nosource</tt>
<ul>Does not save the source in the class file. Functions and scripts compiled
this way cannot be decompiled. This option can be used to avoid distributing
source or simply to save space in the resulting class file.</ul>
<tt>-o </tt><i>outputFile</i>
<ul>Writes the class file to the given file (which should end in <tt>.class</tt>).
The string <i>outputFile</i> must be a writable filename.</ul>
<tt>-opt </tt><i>optLevel</i>
<br><tt>-O</tt> <i>optLevel</i>
<ul>Optimizes at level <i>optLevel</i>, which must be an integer between
-1 and 9. See <a href="opt.html">Optimization</a> for more details. If
<i>optLevel</i>
is greater than zero, <tt>-debug</tt> may not be specified.</ul>
<tt>-package</tt> <i>packageName</i>
<ul>Specifies the package to generate the class into. The string <i>packageName</i>
must be composed of valid identifier characters optionally separated by
periods.</ul>
<tt>-version </tt><i>versionNumber</i>
<ul>Specifies the language version to compile with. The string <i>versionNumber</i>
must be one of <tt>100</tt>, <tt>110</tt>, <tt>120</tt>, <tt>130</tt>,
or <tt>140</tt>. See <a href="overview.html#versions">JavaScript Language
Versions</a> for more information on language versions.</ul>
<h2>
Examples</h2>
<tt>$ cat test.js</tt>
<br><tt>java.lang.System.out.println("hi, mom!");</tt>
<br><tt>$ java org.mozilla.javascript.tools.jsc.Main test.js</tt>
<br><tt>$ ls *.class</tt>
<br><tt>test.class</tt>
<br><tt>$ java test</tt>
<br><tt>hi, mom!</tt>
<p><tt>$ java org.mozilla.javascript.tools.jsc.Main -extends java.applet.Applet
\</tt>
<br><tt>&nbsp;&nbsp;&nbsp; -implements java.lang.Runnable NervousText.js</tt>
<br>&nbsp;
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -1,86 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.72 [en]C-NSCP (WinNT; U) [Netscape]">
<title>JavaScript Requirements and Limitations</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
Requirements and Limitations</h1></center>
<h2>
<b>Requirements</b></h2>
Rhino requires version 1.1 or greater of Java.
<p>To use the JavaAdapter feature or an optimization level of 0 or greater,
Rhino must be running under a security manager that allows the definition
of class loaders.
<p>
<hr WIDTH="100%">
<h2>
<b>Limitations</b></h2>
<h3>
<b>Platforms and </b>JITs</h3>
Many platforms and JREs have problems converting decimal numbers to and
from strings. These errors are usually boundary case errors and will show
up as test failures in section 7.7.3.
<p>Windows versions of the Symantec JIT prior to 3.00.029(i) will report
internal errors for some generated class files.
<p>On the Symantec JIT and the AIX JVM, accessing a static field of a class
that has not yet loaded may not give the correct value of the field. For
example, accessing
<tt>java.io.File.separatorChar</tt> before <tt>java.io.File</tt>
has been loaded will return a value of 0. (This is a bug in the JIT; accessing
the field should cause the class to be loaded.)
<p>The AIX Java version "JDK 1.1.6 IBM build a116-19980924 (JIT enabled:
jitc)" core dumps running several classes generated by Rhino. It also has
errors in java.lang.Math.pow that are reflected as failures in the JavaScript
Math object's pow method.
<p>IBM Java for Linux version "JDK 1.1.8 IBM build l118-19991013 (JIT enabled:
jitc)" has errors in java.lang.Math.pow that are reflected as test failures
in the JavaScript Math object's pow method.
<p>Solaris JDK 1.1.6 has errors in java.lang.Math.atan2 that are reflected
as test failures in the JavaScript Math object's atan2 method.
<br>&nbsp;
<h3>
<b>LiveConnect</b></h3>
If a JavaObject's field's name collides with that of a method, the value
of that field is retrieved lazily, and can be counter-intuitively affected
by later assignments:
<blockquote><tt>javaObj.fieldAndMethod = 5;</tt>
<br><tt>var field = javaObj.fieldAndMethod;</tt>
<br><tt>javaObj.fieldAndMethod = 7;</tt>
<br><tt>// now, field == 7</tt></blockquote>
You can work around this by forcing the field value to be converted to
a JavaScript type when you take its value:
<blockquote><tt>javaObj.fieldAndMethod = 5;</tt>
<br><tt>var field = javaObj.fieldAndMethod + 0; // force conversion now</tt>
<br><tt>javaObj.fieldAndMethod = 7;</tt>
<br><tt>// now, field == 5</tt></blockquote>
<h3>
<b>JSObject</b></h3>
Rhino does NOT support the <tt>netscape.javascript.JSObject</tt> class.
<br>&nbsp;
<h3>
<b>Date object</b></h3>
The JavaScript Date object depends on time facilities of the underlying
Java runtime to determine daylight savings time dates. Earlier JRE versions
may report a date for the daylight savings changeover that is a week off.
JRE 1.1.6 reports the correct date.
<p>Under the 1.1.6 JRE, evaluating <tt>(new Date(1998, 9, 25, 2)).toString()</tt>
returns:
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sun Oct 25 02:00:00 GMT-0800 (PST) 1998</pre>
Earlier versions may return:
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sun Oct 25 02:00:00 GMT-0700 (PDT) 1998</pre>
(the JRE doesn't report the changeover until Nov. 1.)
<p>The Microsoft SDK 3.1 for Java also exhibits this problem.
<p>
<hr WIDTH="100%">
<br><a href="rhino.html">back to top</a>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,68 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="Norris Boyd">
<META NAME="GENERATOR" CONTENT="Mozilla/4.05 [en] (WinNT; U) [Netscape]">
<TITLE>Optimization</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<H1>
Optimization</H1></CENTER>
<H2>
Optimization settings</H2>
<P>The currently supported optimization settings are:</P>
<P><B>-1</B>
<P><B></B>Interpretive mode is always
used. The compilation time is minimized at the expense of runtime performance.
No class files are generated, which may improve memory usage depending on your
system.
<p>
If the optimization package is not available, then optimization acts as if it is always -1.
</P>
<P><B>0</B>
<P><B></B>No optimizations are
performed. The bytecode compiler runs fastest in this mode, but the generated byte code
is less efficient.</P>
<P><B>1-9</B>
<P>All optimizations are performed. Simple data &amp; type
flow analysis is performed to determine which JavaScript variables can be
allocated to Java VM registers, and which variables are used only as Numbers.
Local common sub-expressions are collapsed (currently this only happens for
property lookup, but in the future more expressions may be optimized). All local
variables and parameters are allocated to Java VM registers. Function call
targets are speculatively pre-cached (based on the name used in the source) so
that dispatching can be direct, pending runtime confirmation of the actual
target. Arguments are passed as Object/Number pairs to reduce conversion
overhead.</P>
<P>Note:
<OL>
<LI>
Some language features (indirect calls to eval, use
of the arguments property of function objects) were previously not supported
in higher optimization levels. These features have been removed from the
language in ECMA, so higher optimization levels are now conformant.
<LI>
Future versions may allocate more aggressive
optimizations to higher optimization levels. For compatibility with future
versions, use level 1. For maximal optimization, use level 9, but retest
your application when upgrading to new versions.</LI>
</OL>
<P>
<HR WIDTH="100%">
<BR><A HREF="index.html">back to top</A>
<br>
</BODY>
</HTML>

View File

@@ -1,148 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.72 [en]C-NSCP (WinNT; U) [Netscape]">
<title>JavaScript Overview</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
Rhino Overview</h1></center>
<h3>
Overview of Rhino</h3>
Most people who have used JavaScript before have done so by adding scripts
to their HTML web pages. However, Rhino is an implementation of the core
language only and doesn't contain objects or methods for manipulating HTML
documents.
<p>Rhino contains
<ul>
<li>
All the features of JavaScript 1.5</li>
<li>
Allows direct scripting of Java</li>
<li>
A JavaScript shell for executing JavaScript scripts</li>
<li>
A JavaScript compiler to transform JavaScript source files into Java class
files</li>
</ul>
<h3>
Language</h3>
The JavaScript language itself is standardized by Standard ECMA-262 <i>ECMAScript:
A general purpose, cross-platform programming language</i>. Rhino 1.5 implements
JavaScript 1.5, which conforms to Edition 3 of the Standard. The Standard
may be <a href="http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM">downloaded</a> or
obtained by mail from ECMA, 114 Rue du Rh&ocirc;ne, CH1204 Geneva, Switzerland.
<p>In addition, Rhino has implemented JavaAdapters, which allows JavaScript
to implement any Java interface or extend any Java class with a JavaScript
object. See the <tt>enum.js</tt> example for more information.
<p>Numerous books and tutorials on JavaScript are available.
<br>&nbsp;
<br>&nbsp;
<h3>
Deprecated Language Features</h3>
Several language features introduced in JavaScript 1.2 are now deprecated.
These features allow "computational reflection": that is, the ability for
a script to determine and influence aspects of the way it is evaluated.
These features are generally not broadly useful, yet they impose significant
constraints on implementations that hamper or prevent optimization. The
deprecated features are the <tt>__proto__</tt> and <tt>__parent__</tt>
properties, and the constructors <tt>With</tt>, <tt>Closure</tt>, and <tt>Call</tt>.
Attempts to invoke these constructors with the language version 1.4 will
result in an error. For other versions, a warning will be generated.
<br>&nbsp;
<br>&nbsp;
<h3>
Internationalization</h3>
The messages reported by the JavaScript engine are by default retrieved
from the property file <tt>org/mozilla/javascript/resources/Messages.properties</tt>.
If other properties files with extensions corresponding to the current
locale exist, they will be used instead.
<br>&nbsp;
<br>&nbsp;
<h3>
<a NAME="versions"></a>JavaScript Language Versions</h3>
Some behavior in the JavaScript engine is dependent on the language version.
In browser embeddings, this language version is selected using the LANGUAGE
attribute of the SCRIPT tag with values such as "JavaScript1.2".
<p>Version 1.3 and greater are ECMA conformant.
<p><b>Operators <tt>==</tt> and <tt>!=</tt></b>
<p>Version 1.2 only uses strict equality for the == and != operators. In
version 1.3 and greater, == and != have the same meanings as ECMA. The
operators === and !== use strict equality in all versions.
<p><b>ToBoolean</b>
<p><tt>Boolean(new Boolean(false))</tt> is false for all versions before
1.3. It is true (and thus ECMA conformant) for version 1.3 and greater.
<p><b>Array.prototype.toString and Object.prototype.toString</b>
<p>Version 1.2 only returns array or object literal notation ("[1,2,3]"
or "{a:1, b:2}" for example). In version 1.3 and greater these functions
are ECMA conformant.
<p><b>Array constructor</b>
<p><tt>Array(i)</tt> for a number argument <tt>i</tt> constructs an array
with a single element equal to <tt>i</tt> for version 1.2 only. Otherwise
the ECMA conformant version is used (an array is constructed with no elements
but with length property equal to <tt>i</tt>).
<p><b>String.prototype.substring</b>
<p>For version 1.2 only, the two arguments are not swapped if the first
argument is less than the second one. All other versions are ECMA compliant.
<p><b>String.prototype.split</b>
<p>For version 1.2 only, split performs the Perl4 special case when given
a single space character as an argument (skips leading whitespace, and
splits on whitespace). All other versions split on the space character
proper as specified by ECMA.
<br>&nbsp;
<br>&nbsp;
<h3>
Security</h3>
The security features in Rhino provide the ability to track the origin
of a piece of code (and any pieces of code that it may in turn generate).
These features allow for the implementation of a traditional URL-based
security policy for JavaScript as in Netscape Navigator. Embeddings that
trust the JavaScript code they execute may ignore the security features.
<p>Embeddings that run untrusted JavaScript code must do two things to
enable the security features. First, every <tt>Context</tt> that is created
must be supplied an instance of an object that implements the <tt>SecuritySupport</tt>
interface. This will provide Rhino the support functionality it needs to
perform security-related tasks.
<p>Second, the value of the property <tt>security.requireSecurityDomain</tt>
should be changed to <tt>true</tt> in the resource bundle <tt>org.mozilla.javascript.resources.Security</tt>.
The value of this property can be determined at runtime by calling the
<tt>isSecurityDomainRequired</tt>
method of <tt>Context</tt>. Setting this property to true requires that
any calls that compile or evaluate JavaScript must supply a security domain
object of any object type that will be used to identify JavaScript code.
In a typical client embedding, this object might be a string with the URL
of the server that supplied the script, or an object that contains a representation
of the signers of a piece of code for certificate-based security policies.
<p>When JavaScript code attempts a restricted action, the security domain
can be retrieved in the following manner. The class context should be obtained
from the security manager (see <tt>java.lang.SecurityManager.getClassContext()</tt>).
Then, the class of the code that called to request the restricted action
can be obtained by looking an appropriate index into the class context
array. If the caller is JavaScript the class obtained may be one of two
types. First, it may be the class of the interpreter if interpretive mode
is in effect. Second, it may be a generated class if classfile generation
is supported. An embedding can distinguish the two cases by calling <tt>isInterpreterClass()</tt>
in the <tt>Context</tt> class. If it is the interpreter class, call the
getInterpreterSecurityDomain() method of Context to obtain the security
domain of the currently executing interpreted script or function. Otherwise,
it must be a generated class, and an embedding can call <tt>getSecurityDomain()</tt>
in the class implementing
<tt>SecuritySupport</tt>. When the class was
defined and loaded, the appropriate security domain was associated with
it, and can be retrieved by calling this method. Once the security domain
has been determined, an embedding can perform whatever checks are appropriate
to determine whether access should be allowed.
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,3 +0,0 @@
function owner() {
return '<a href="mailto:nboyd'+'@'+ 'atg.com">Norris Boyd</a>'
}

View File

@@ -1,83 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.5 [en]C-NSCP (WinNT; I) [Netscape]">
<title>Performance Hints</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
Performance Hints</h1></center>&nbsp;
<h3>
<tt>var</tt> Statements</h3>Use <tt>var</tt> statements when possible. Not only is it good
programming practice, it can speed up your code by allowing the compiler to
generate special code to access the variables. For example, you could rewrite
<p><tt>function sum(a) {</tt>
<br><tt>&nbsp;&nbsp;&nbsp; result = 0;</tt>
<br><tt>&nbsp;&nbsp;&nbsp; for (i=0; i &lt;
a.length; i++)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result += a[i];</tt>
<br><tt>&nbsp;&nbsp;&nbsp; return result;</tt>
<br><tt>}</tt>
<p>as
<p><tt>function sum(a) {</tt>
<br><tt>&nbsp;&nbsp;&nbsp; var result = 0;</tt>
<br><tt>&nbsp;&nbsp;&nbsp; for (var i=0; i
&lt; a.length; i++)</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result += a[i];</tt>
<br><tt>&nbsp;&nbsp;&nbsp; return result;</tt>
<br><tt>}</tt>
<p>This is not equivalent code because the second version does
not modify global variables <tt>result</tt> and <tt>i</tt>. However, if you don't intend for any other function to
access these variables, then storing them globally is probably wrong anyway
(what if you called another function that had a loop like the one in <tt>sum</tt>!).
<br>&nbsp;
<h3>
Arrays</h3>Use the forms of the Array constructor that
specify a size or take a list of initial elements. For example, the code
<p><tt>var a = new Array();</tt>
<br><tt>for (var i=0; i &lt; n; i++)</tt>
<br><tt>&nbsp;&nbsp;&nbsp; a[i] = i;</tt>
<p>could be sped up by changing the constructor call to <tt>new Array(n)</tt>. A constructor call like that indicates to
the runtime that a Java array should be used for the first <i>n</i> entries of the array. Similarly,
<tt>new
Array(&quot;a&quot;, &quot;b&quot;, &quot;c&quot;)</tt> or <tt>[&quot;a&quot;, &quot;b&quot;, &quot;c&quot;]</tt> will cause a 3-element
Java array to be allocated to hold the contents of the JavaScript array.
<br>&nbsp;
<br>&nbsp;
<h3>
<tt>eval</tt> and <tt>new Function</tt></h3>Avoid calling <tt>eval</tt> when
possible. Calls to <tt>eval</tt> are slow because the script
being executed must be compiled. Constructing a new function object can be slow
for the same reason, while function expressions are more efficient because the
function can be compiled. For example, the code
<p><tt>function MyObject(a) {</tt>
<br><tt>&nbsp;&nbsp;&nbsp; this.s = a;</tt>
<br><tt>&nbsp;&nbsp;&nbsp; this.toString = new
Function(&quot;return this.s&quot;);</tt>
<br><tt>}</tt>
<p>could be written more efficiently as
<p><tt>function MyObject(a) {</tt>
<br><tt>&nbsp;&nbsp;&nbsp; this.s = a;</tt>
<br><tt>&nbsp;&nbsp;&nbsp; this.toString =
function () { return this.s }</tt>
<br><tt>}</tt>
<p>Beginning with Rhino 1.4 Release 2, code
passed to eval and new Function will be interpreted rather than compiled to
class files.
<br>&nbsp;</p>
<h3>
with</h3>Using the <tt>with</tt>
statement prevents the compiler from generating code for fast access to local
variables. You're probably better off explicitly accessing any properties of the
object.
<br>&nbsp;
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
<br>
</body>
</html>

View File

@@ -1,162 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>What's New in Rhino 1.5</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
What's New in Rhino 1.5 Release 1</h1></center>
<h2>
ECMA 262 Edition 3 Conformance</h2>
Rhino 1.5 implements JavaScript 1.5, which conforms to ECMA 262 Edition
3 (sometimes referred to as "ECMAScript"). Edition 3 standardized several
features of JavaScript that were present in JavaScript 1.4, including:
<ul>
<li>
regular expressions</li>
<li>
<tt>switch</tt> statements</li>
<li>
<tt>do</tt>...<tt>while</tt> loops</li>
<li>
statement labels and labelled <tt>break</tt> and <tt>continue</tt></li>
<li>
object literals</li>
<li>
nested functions</li>
<li>
exception handling</li>
<li>
the <tt>instanceof</tt> operator</li>
<li>
the <tt>in</tt> operator</li>
</ul>
In addition, new features were added to Edition 3 and JavaScript 1.5, including:
<ul>
<li>
Perl 5 regular expressions, including operators like greedy quantifiers</li>
<li>
errors as exceptions</li>
<li>
number formatting (<tt>Number.prototype.toFixed</tt>, <tt>Number.prototype.toExponential</tt>,
and <tt>Number.prototype.toGeneral</tt>)</li>
</ul>
<h2>
Changes since Rhino 1.4 Release 3</h2>
Other significant changes to Rhino since the initial release to open source
(1.4 Release 3) are listed below. Bug fixes won't be mentioned here, just
API changes or significant functionality changes.
<h3>
Compilation mode</h3>
Rhino has two modes of execution available. Interpretive mode has an interpreter
loop implemented in Java. Compilation mode compiles JavaScript code to
Java bytecodes in class files. This compilation can be done as part of
script evaluation using the same APIs already available for the interpreter,
or in a separate compile-time step. The code for the interpreter is located
in the <tt>org.mozilla.javascript.optimizer</tt> package.
<br>&nbsp;
<h3>
JavaScript Compiler</h3>
The distribution now contains an extra class that can be invoked from the
command line. This is <tt>jsc</tt>, the JavaScript compiler. This tool
can be used to create Java classes from JavaScript. Options exist to allow
creation of Java classes that implement arbitrary interfaces and extend
arbitrary base classes, allowing JavaScript scripts to implement important
protocols like applets and servlets. See <a href="http://www.mozilla.org/rhino/jsc.html">http://www.mozilla.org/rhino/jsc.html</a>.
<br>&nbsp;
<h3>
LiveConnect 3</h3>
Rhino now supports the LiveConnect 3 specification, or LC3. The most notable
change is support for overloaded method resolution. See <a href="http://www.mozilla.org/js/liveconnect/lc3_proposal.html">LiveConnect
Release 3 Goals/Features</a>.
<br>&nbsp;
<h3>
JavaBeans properties reflected as Java properties</h3>
Java classes with getFoo/setFoo methods will have a "foo" property in the
JavaScript reflection. Boolean methods are also reflected.
<br>&nbsp;
<h3>
Dynamic scope support</h3>
Rhino 1.5 implements support for dynamic scopes, which are particularly
useful for multithreaded environments like server embeddings.
<br>&nbsp;
<h3>
New semantics for <tt>ScriptableObject.defineClass</tt></h3>
The old rules for defining JavaScript objects using a Java class were getting
baroque. Those rules are still supported, but a cleaner definition is now
supported. See the <a href="http://www.mozilla.org/js/rhino/org/mozilla/javascript/ScriptableObject.html#defineClass(org.mozilla.javascript.Scriptable, java.lang.Class)">javadoc</a>
for details.
<br>&nbsp;
<h3>
Support for the Java 2 <tt>-jar</tt> option</h3>
It's now possible to start the shell using the new <tt>-jar</tt> option
in Java 2.
<br>&nbsp;
<h3>
Shell changes</h3>
Two changes here: addition of the "environment" and "history" top-level
variables.
<br>&nbsp;
<h3>
Java classes visible to scripts</h3>
An attendee at JavaOne raised the point that many embeddings may not want
scripts to be able to access all Java classes. This is an excellent point,
and I've implemented an addition to the <a href="../js/rhino/org/mozilla/javascript/SecuritySupport.html">SecuritySupport</a>
interface that allows embedders to choose which classes are exposed to
scripts.
<br>&nbsp;
<h3>
SecuritySupport and JavaAdapter</h3>
Andrew Wason pointed a problem with the new JavaAdapter feature (which
allows JavaScript objects to implement arbitrary Java interfaces by generating
class files). It didn't support the <a href="../js/rhino/org/mozilla/javascript/SecuritySupport.html">SecuritySupport</a>
interface, which allows Rhino to delegate the creation of classes from
byte arrays to a routine provided by the embedding. This ability is important
from a security standpoint because class creation is considered a privileged
action.
<p>I've checked in changes that fix this problem. If a SecuritySupport
class is specified when a Context is created, uses of JavaAdapter will
will delegate class creation to the SecuritySupport class.
<br>&nbsp;
<h3>
Context.exit()</h3>
Context.exit() has been changed from an instance method to a static method.
This makes it match the Context.enter() method, which is also static. See
the <a href="http://www.mozilla.org/js/rhino/org/mozilla/javascript/Context.html#exit()">javadoc</a>
for more information on its operation.
<br>&nbsp;
<h3>
Context.enter(Context)</h3>
A new overloaded form of Context.enter has been added. Without the addition
of this method it was not possible to attach an existing context to a thread.
See the <a href="http://www.mozilla.org/js/rhino/org/mozilla/javascript/Context.html#enter(org.mozilla.javascript.Context)">javadoc</a>
for more information on its operation.
<br>&nbsp;
<h3>
Listeners for Context</h3>
Context now supports property change listeners for a couple of its properties.
<h3>
<hr WIDTH="100%"><br>
<a href="index.html">back to top</a></h3>
</body>
</html>

View File

@@ -1,84 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Rhino 1.5 Release 2</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
What's New in Rhino 1.5 Release 2</h1></center>
This is a log of significant changes since the release of Rhino 1.5 Release
1.
<br>&nbsp;
<h2>
Graphical debugger</h2>
Thanks to a contribution by Christopher Oliver, Rhino now has a graphical
debugger. See <a href="debugger.html">Rhino Debugger</a> for more details.
<br>&nbsp;
<h2>
Footprint reductions</h2>
Igor Bukanov has provided a wealth of changes to reduce the number and
size of objects required by Rhino. In particular, he introduced a new way
to represent the built-in objects like Date and RegExp that reduces the
amount of memory required and speeds up <tt>Context.initStandardObjects</tt>.
<br>&nbsp;
<h2>
Interpreted mode performance improvements</h2>
Igor Bukanov also made a number of improvements to interpreter mode performance.
<br>&nbsp;
<h2>
JS/CORBA Adapter</h2>
Matthias Radestock wrote a module that allows JavaScript code to interact
with CORBA. See <a href="http://sourceforge.net/projects/jscorba">http://sourceforge.net/projects/jscorba</a>
for more details.
<br>&nbsp;
<h2>
Directory restructuring and Ant buildfile</h2>
I've restructured the the Rhino directory and written an <a href="http://jakarta.apache.org/ant/index.html">Ant</a>
buildfile. This should make building easier and more consistent with other
open source Java projects.
<br>&nbsp;
<h2>
FlattenedObject deprecated</h2>
I wrote FlattenedObject to provide a means for dealing with JavaScript
<br>objects in prototype chains. Where Scriptable defines the primitive
<br>operations, FlattenedObject defines the aggregate operations of
<br>manipulating properties that may be defined in an object or in an object
<br>reachable by a succession of getPrototype calls.
<p>However, I now believe that I designed FlattenedObject poorly. Perhaps
<br>it should have been a clue that I was never satisfied with the name:
if
<br>it's hard to express the name of the object it may mean the function
the
<br>object is supposed to fulfill is not well defined either. The problem
is
<br>that it is inefficient since it requires an extra object creation,
and
<br>balky because of that extra level of wrapping.
<p>So I've checked in changes that deprecate FlattenedObject. I've
<br>introduced new static methods in ScriptableObject (thanks to
<br>beard@netscape.com for the idea) that replace the functionality. These
<br>methods perform the get, put, and delete operations on a Scriptable
<br>object passed in without the overhead of creating a new object.
<h2>
WrapHandler interface</h2>
Embeddings that wish to provide their own custom wrappings for Java objects
may implement this interface and
<br>call Context.setWrapHandler. See WrapHandler javadoc.
<br>&nbsp;
<h2>
ClassOutput interface</h2>
An interface embedders can implement in order to control the placement
of generated class bytecodes. See the javadoc.
<h3>
<hr WIDTH="100%"><br>
<a href="index.html">back to top</a></h3>
</body>
</html>

View File

@@ -1,63 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Change Log</title>
</head>
<body bgcolor="#ffffff">
<center>
<h1> Change Log for Significant Rhino Changes</h1>
</center>
This is a log of significant changes since the release of Rhino 1.5 Release
2.
<p> </p>
<h3> </h3>
<h3>Serialization</h3>
See the <a href="serialization.html">serialization documentation</a>
.<br>
<br>
<h3>Class writer API changes</h3>
Courtesy of Kemal Bayram.<br>
<br>
"The biggest change I've made is the replacement of ClassOutput with<br>
ClassRepository that has the single method:<br>
<br>
&nbsp;&nbsp;&nbsp; public boolean storeClass(String className, byte[] classBytes,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
boolean isTopLevel) throws IOException;<br>
<br>
This interface allows any arbitary storage method, such as a<br>
Hashtable/Map. In addition it also allows you to specify whether a<br>
class should be loaded, via returning true or false.&nbsp; You can still
use<br>
ClassOutput as I've coded an internal wrapper.<br>
<br>
With this interface it has also been possible to strip out the file<br>
saving code from Codegen and OptClassNameHelper.&nbsp; The file<br>
saving code is now an inner class FileClassRepository in Context. As<br>
a consequence of this&nbsp; I've stripped out some methods from ClassNameHelper.<br>
The resulting code is much more cleaner then before hand and everything<br>
still works as per usual.<br>
<br>
Other small additions are:<br>
&nbsp; o&nbsp; Annonymous functions are now named class$1 instead of class1<br>
&nbsp; o&nbsp; get/setClassName added to ClassNameHelper exposed in Context.
"<br>
<br>
<h3>Bunches of bug fixes and optimizations from Igor Bukanov and others</h3>
See the CVS logs<br>
<h3>
<hr width="100%"><br>
<a href="index.html">back to top</a>
</h3>
</body>
</html>

View File

@@ -1,201 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Igor Bukanov">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Debug API changes</title>
</head>
<body bgcolor="#ffffff">
<h2 align="center">Debug API changes in Rhino 1.5 Release 4</h2>
<p>
The main difference between the old and new API is that the application needs to implement both org.mozilla.javascript.debugger.Debugger and
org.mozilla.javascript.debugger.DebugFrame interfaces to receive debug
information during script execution. See the API documentation for these
classes for details:
<br>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/src/org/mozilla/javascript/debug/DebugFrame.java">http://lxr.mozilla.org/mozilla/source/js/rhino/src/org/mozilla/javascript/debug/DebugFrame.java</a>
<br><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/src/org/mozilla/javascript/debug/Debugger.java">http://lxr.mozilla.org/mozilla/source/js/rhino/src/org/mozilla/javascript/debug/Debugger.java</a>
</tt>
<p>
In addition the org.mozilla.javascript.debugger.DebuggableEngine interface and the getDebuggableEngine method in org.mozilla.javascript.Context are replaced by 3 Context methods: setDebugger, getDebugger and getDebuggerContextData to set/get debugger and its Context data in the current thread Context:<br>
<tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/src/org/mozilla/javascript/Context.java">http://lxr.mozilla.org/mozilla/source/js/rhino/src/org/mozilla/javascript/Context.java</a></tt>
<p>The following gives few examples how to update your current application to the new API.
<p>
1. Setting and querying a Debugger implementation
<p>
Old API:
<pre>
cx.getDebuggableEngine.setDebugger(debugger);
cx.getDebuggableEngine.getDebugger();
</pre>
New API:
<pre>
cx.setDebugger(debugger);
cx.getDebugger();
</pre>
<p>
2. Monitoring execution of each line in the script
<p>
Old implementation:
<pre>
public MyDebugger implement Debugger {
public void handleCompilationDone(Context cx,
DebuggableScript fnOrScript,
StringBuffer source)
{
}
void handleBreakpointHit(Context cx)
{
DebugFrame frame = cx.getDebuggableEngine().getFrame(0);
System.out.println("New line:" + frame.getLineNumber());
}
void handleExceptionThrown(Context cx, Object exception)
{
}
}
...
cx.getDebuggableEngine.setDebugger(new MyDebugger());
cx.getDebuggableEngine.setBreakNextLine(true);
</pre>
New implementation:
<pre>
public MyDebugger implement Debugger
{
public void handleCompilationDone(Context cx,
DebuggableScript fnOrScript,
StringBuffer source)
{
}
public DebugFrame getFrame(Context cx, DebuggableScript fnOrScript)
{
return new MyDebugFrame();
}
}
class MyDebugFrame implements DebugFrame
{
public void onEnter(Context cx, Scriptable activation,
Scriptable thisObj, Object[] args)
{
}
public void onExceptionThrown(Context cx, Throwable ex)
{
}
public void onExit(Context cx, boolean byThrow,
Object resultOrException)
{
}
public void onLineChange(Context cx, int lineNumber)
{
System.out.println("New line:" + frame.getLineNumber());
}
}
...
cx.setDebugger(new MyDebugger());
</pre>
Note the in the new implementation the application can monitor function enter/exit by customizing enterFrame and onExit in the above code.
<p>
3. Breakpoint handling
<p>
Old implementation:
<pre>
public MyDebugger implement Debugger {
public void handleCompilationDone(Context cx, DebuggableScript fnOrScript,
StringBuffer source)
{
int breakpointLine = ...;
fnOrScript.placeBreakpoint(breakpointLine);
}
void handleBreakpointHit(Context cx) {
DebugFrame frame = cx.getDebuggableEngine().getFrame(0);
System.out.println("Breakpoint hit: "+frame.getSourceName()+":"+frame.getLineNumber());
}
void handleExceptionThrown(Context cx, Object exception)
{
}
}
...
cx.getDebuggableEngine.setDebugger(new MyDebugger());
</pre>
New implementation:
<pre>
public MyDebugger implement Debugger
{
public void handleCompilationDone(Context cx,
DebuggableScript fnOrScript,
StringBuffer source)
{
}
public DebugFrame getFrame(Context cx, DebuggableScript fnOrScript)
{
return new MyDebugFrame(fnOrScript);
}
}
class MyDebugFrame implements DebugFrame
{
DebuggableScript fnOrScript;
MyDebugFrame(DebuggableScript fnOrScript)
{
this.fnOrScript = fnOrScript;
}
public void onEnter(Context cx, Scriptable activation,
Scriptable thisObj, Object[] args)
{
System.out.println("Frame entered");
}
public void onLineChange(Context cx, int lineNumber)
{
if (isBreakpoint(lineNumber)) {
System.out.println("Breakpoint hit: "+fnOrScript.getSourceName()+":"+lineNumber);
}
}
public void onExceptionThrown(Context cx, Throwable ex)
{
}
public void onExit(Context cx, boolean byThrow,
Object resultOrException)
{
System.out.println("Frame exit, result="+resultOrException);
}
private boolean isBreakpoint(int lineNumber)
{
...
}
}
...
cx.setDebugger(new MyDebugger());
</pre>
Here debugger during execution needs to decide if a particular line has breakpoint on it set or not during script execution, not at the moment of script initialization.
<p>See also Rhino Debugger that fully explore the new API:<br><tt><a href="http://lxr.mozilla.org/mozilla/source/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/Main.java">http://lxr.mozilla.org/mozilla/source/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/Main.java</a></tt>. The debugger changes includes support for debugging eval and Function scripts and loading script sources from their URL if debugger was not installed during scripts initialization.
<hr width="100%"><br>
<a href="index.html">back to top</a></h3>
</body></html>

View File

@@ -1,217 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java"><title>Change Log</title></head>
<body bgcolor="#ffffff">
<h1 align="center">
Rhino Change Log</h1>
This is a log of changes since the release of Rhino 1.5 Release 3.
<h3>Rhino debug API changes</h3>
A new, incompatible Rhino debug API gives an option to monitor
entering/leaving of script functions while decreasing the amount of code to
implement the API in the Rhino core. Details are available <a href="rhino15R4-debugger.html">here</a>. With the new API <a href="debugger.html">Rhino Debugger</a> provides options to break on function enter/exit, can debug scripts defined by eval and Function construction and scripts loaded prior the debugger were started.
<h3>WrapFactory introduced, WrapHandler deprecated</h3>
A design flaw in the WrapHandler interface (a call to a Java contructor from
JavaScript would result in a call to wrap the result, which would then be
cast to a Scriptable) inspired the deprecation of that interface and the
introduction of a new class, WrapFactory, that contains a new method called
on the result of a constructor call and can be customized by application if necessary.
<p>
In addition, WrapFactory has the new <tt>setJavaPrimitiveWrap</tt> method to control if instances of Java <tt>String</tt> and <tt>Number</tt> class should be wrapped to special script objects as any other Java objects so a script can access any method <tt>String</tt> and <tt>Number</tt>, or they should be converted to JavaScript primitive strings and numbers.
<h3>New security interfaces</h3>
<p>
Igor Bukanov contributed a new security implementation that allows integration with Java2 security model and prevents scripts to escape the security sandbox via eval/Function schemes.
<p>
Due to this changes SecuritySupport interface is replaced by ClassShutter and SecurityController, where ClassShutter controls which classes are visible to scripts via LiveConnect and SecurityController provides permission management. For compatibility SecuritySupport is still available as a deprecated interface but only its visibleToScripts method is used as an alias for ClassShutter.visibleToScripts. See API documentation for new classes for details.
<p>
An implementation of SecurityController that uses java policy settings to restrict script permissions based on its URL is available with Rhino shell. See the <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/toolsrc/org/mozilla/javascript/tools/shell/JavaPolicySecurity.java">JavaPolicySecurity</a> source for details. To activate it, set the <tt>rhino.use_java_policy_security</tt> system property to true when invoking Rhino shell together with installing a security manager.
<h3>Serialization chages</h3>
Due to changes in Rhino implementation and bug fixes in serialization support runtime data serialized in Rhino 1.5 Release 3 can not be read back in the Release 4.
<h3>Regular expressions improvements</h3>
Roger Lawrence provided new regular expressions implementation which fully confirms to EcmaScript 262 standard and faster.
<h3>Scripting of classes from any class loader</h3>
Christopher Oliver contributed code to allow to use the <tt>Packages</tt> object as a constructor taking a class loader argument so a script can access classes defined by that class loader. For example, to access classes from foo.jar file in the current directory, the following can be used:
<pre>
// create class loader
var loader = new java.net.URLClassLoader([new java.net.URL("file:./foo.jar")]);
// create its LiveConnect wrapper
var fooJar = new Packages(loader);
// create an instance of the class For from foo.jar
var obj = new fooJar.Foo(1, 2, 3);
obj.someMethod();
</pre>
<h3>Shell function to run external processes.</h3>
A new <tt>runCommand</tt> function is added to <a href="shell.html">Rhino Shell</a> to run external priocesses. For details, see JavaDoc for <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/toolsrc/org/mozilla/javascript/tools/shell/Global.java">org.mozilla.javascript.tools.shell.Global#runCommand</a>.
<h3>Resolved Bugzilla reports</h3>
The following Rhino reports in <a href="http://bugzilla.mozilla.org/">Bugzilla</a> where resolved for Rhino 1.5 Release 4.
<p>
<a href="http://bugzilla.mozilla.org/show_bug.cgi?id=61579">61579</a> -
context.decompileScript doesn't work.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=72021">72021</a> -
The ScriptRuntime class tries to convert even the String values to JavaNativeObject
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=83051">83051</a> -
A function defined under a with block can't be invoked outside it
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=104089">104089</a> -
Cannot reattach context to its thread because of the bug in Context class
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=105438">105438</a> -
SourceName and lineNumbers of syntax errors in Javascript files not dispalyed.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=106548">106548</a> -
/^.*?$/ will not match anything
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=114583">114583</a> -
script compile/decompile bug
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=114969">114969</a> -
[], [^] are valid RegExp conditions
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=115717">115717</a> -
java.lang.ArrayIndexOutOfBoundsException on with/try/finally
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=120194">120194</a> -
JS toInt32(x) conversion doesn't match ECMAScript definition
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=122167">122167</a> -
string.replace() placeholder '$1' not working
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=123439">123439</a> -
Backreferences /(a)? etc./ must hold |undefined| if not used
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=124508">124508</a> -
regexp.lastIndex should be integer-valued double, not uint32
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=124900">124900</a> -
arguments object storing duplicate parameter values
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=125562">125562</a> -
Regexp performance improvement
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=126317">126317</a> -
Crash on re.exec(str) if re.lastIndex set to certain values
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=126722">126722</a> -
(undefined === null) evaluating to true in Rhino compiled mode
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=128468">128468</a> -
java.io.NotSerializableException: org.mozilla.javascript.NativeError
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=129365">129365</a> -
Incorrect licensing in dtoa.java
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=132217">132217</a> -
delete on global function should not delete the function
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=136893">136893</a> -
Rhino treatment of |for(i in undefined)|, |for(i in null)|
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=137181">137181</a> -
delete on an arguments[i] not working correctly
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=145791">145791</a> -
ECMA conformance: Function.prototype.apply(), Function.prototype.call()
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=149285">149285</a> -
Complier does not report the correct line number on SyntaxError:Invalid assignment left-hand side.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=151337">151337</a> -
EcmaError.getLineSource() returns 0x0 characters.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=153223">153223</a> -
New RegExp engine in Rhino
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=154693">154693</a> -
Interpreted mode doesn't grok different functions on different objects
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=156510">156510</a> -
for (i in undefined) {} should not throw TypeError
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=157196">157196</a> -
ScriptableObject needs custom serialization implementation
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=157509">157509</a> -
No error on invalid usage of \ in identifiers
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=158159">158159</a> -
Should Rhino support octal escape sequences in regexps?
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=159334">159334</a> -
The javascript functions size is limited by a bug
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=164947">164947</a> -
Debugging unique.js produce a stack trace and erratic results
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=166530">166530</a> -
ClassCostException in FunctionObject static initializer
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=169830">169830</a> -
Array.concat(function) doesn't add function to the array
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=173180">173180</a> -
Rhino UTF-8 decoder accepts overlong sequences
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=173906">173906</a> -
Dynamic scope not working correctly with optimzation level >= 1
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=175383">175383</a> -
ArrayIndexOutOfBoundsException in string.replace()
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=177314">177314</a> -
Rhino should allow '\400' to mean ' 0'
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=179068">179068</a> -
String literals in Rhino are limited to 64K
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=179366">179366</a> -
--&gt; after whitespace after line start should mean comments to line end
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=181654">181654</a> -
Calling toString for an object derived from the Error class throws TypeError
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=181834">181834</a> -
wrong scope used for inner functions when compiling functions with dynamic scopes (interpreted only)
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=181909">181909</a> -
some regression tests for Error invalid
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=182028">182028</a> -
Calling has() in get() of a ScriptableObject causes getter function to not be called
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=184107">184107</a> -
with(...) { function f ...} should set f in the global scope
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=184111">184111</a> -
ArrayOutOfBounds Exception thrown when using Rhino Javascript Debugger
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=185165">185165</a> -
Decompilation of "\\" gives broken "\"
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=189183">189183</a> -
Debugger source frame window layering fix
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=189898">189898</a> -
Broken String.replace: "XaXY".replace("XY", "--") gives --aXY
<hr width="100%"><br>
<a href="index.html">back to top</a></h3>
</body></html>

View File

@@ -1,41 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Igor Bukanov">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Rhino 1.5 Release 4.1 Change Log</title>
</head>
<body bgcolor="#ffffff">
<h1 align="center">Rhino 1.5 Release 4.1 Change Log</h1>
1.5R4.1 is a bug fix release to address mostly regressions from 1.5R3 found in 1.5R4. The only visible API change compared with 1.5R4 is two new methods in <tt>org.mozilla.javascript.Context</tt>, <tt>getApplicationClassLoader()</tt> and <tt>setApplicationClassLoader(ClasssLoader)</tt>. They allow to control the class loader Rhino uses when accessing application classes.
<p>
For differences between 1.5R4 and 1.5R3, see <a href="rhino15R4.html">1.5R4 change log</a>.
<h3>Resolved Bugzilla reports</h3>
The following Rhino reports in <a href="http://bugzilla.mozilla.org/">Bugzilla</a> where resolved for Rhino 1.5 Release 4.
<p>
<a href="http://bugzilla.mozilla.org/show_bug.cgi?id=96270">96270</a> -
Unable to create java objects from within a javascript.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193168">193168</a> -
Rhino debugger in v1.5R4 fails to update script source when a script is reloaded.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193555">193555</a> -
1.5R4 regression: function expression has no access to its name.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=196017">196017</a> -
1.5R4 regression: script can not find classes on some versions of JDK.
<br><a href="http://bugzilla.mozilla.org/show_bug.cgi?id=200551">200551</a> -
JavaAdapter not loading a class if js.jar installed in jre/lib/ext directory.
<hr width="100%"><br>
<a href="index.html">back to top</a></h3>
</body></html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -1,138 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
<title>JavaScript Runtime</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
The JavaScript Runtime</h1></center>
<h3>
Interpretation</h3>
Beginning with Rhino 1.4 Release 2, an interpretive mode is supported.
When scripts are compiled in interpretive mode, an internal representation
of the compiled form is created and stored rather than generating a Java
class. Execution proceeds by evaluating this compiled form using support
routines in Rhino.
<h3>
Compilation to Java Bytecodes</h3>
For improved performance, Rhino may compile JavaScript scripts to Java
bytecodes. The generated bytecodes in turn depend upon runtime support
routines. Each JavaScript script or function is compiled to a separate
class.
<p>Compilation of JavaScript source to class files is supported. It is
possible to specify the class files as well as the packages to generate
into.
<h3>
Types and Values</h3>
There are six fundamental types in JavaScript. These types are implemented
with the following Java types and values:
<br>&nbsp;
<br>&nbsp;
<center><table BORDER COLS=2 WIDTH="75%" >
<tr>
<td><i>JavaScript fundamental type</i></td>
<td><i>Java type</i></td>
</tr>
<tr>
<td>Undefined</td>
<td>A singleton object defined by <tt>Context.getUndefinedType()</tt></td>
</tr>
<tr>
<td>Null</td>
<td><tt>null</tt></td>
</tr>
<tr>
<td>Boolean</td>
<td><tt>java.lang.Boolean</tt></td>
</tr>
<tr>
<td>Number</td>
<td><tt>java.lang.Number</tt>, that is, any of <tt>java.lang.Byte</tt>,<tt>
java.lang.Short</tt>,<tt> java.lang.Integer</tt>,<tt> java.lang.Float</tt>,
or <tt>java.lang.Double. Not java.lang.Long, since a double representation
of a long may lose precision.</tt></td>
</tr>
<tr>
<td>String</td>
<td><tt>java.lang.String</tt></td>
</tr>
<tr>
<td>Object</td>
<td><tt>org.mozilla.javascript.Scriptable</tt></td>
</tr>
</table></center>
<p>In addition, ECMA refers to objects that implement [[Call]] as functions.
These object types are represented by implementing the Function interface.
<p>Since JavaScript is a dynamically typed language, the static Java type
of a JavaScript value is <tt>java.lang.Object</tt>.
<p>The behavior of the JavaScript engine is undefined if a value of any
type other than the ones described above is introduced into JavaScript.
(This caveat does not apply to scripts that use LiveConnect; the Java values
are wrapped and unwrapped as appropriate to conform to the above type constraints.)
<br>&nbsp;
<h3>
Property Access</h3>
Properties in JavaScript objects may be accessed using either string or
numeric identifiers. Conceptually, all accessors are converted to strings
in order to perform the lookup of the property in the object. However,
this is not the implementation used in practice because a number to string
conversion is too expensive to be performed on every array access.
<p>Instead, every property accessor method in <a href="org/mozilla/javascript/Scriptable.html">Scriptable</a>
(<tt>has</tt>, <tt>get</tt>, <tt>set</tt>, <tt>remove</tt>, <tt>getAttributes</tt>,
and <tt>setAttributes</tt>) has overloaded forms that take either a <tt>String</tt>
or an <tt>int</tt> argument. It is the responsibility of the caller to
invoke the appropriate overloaded form. For example, evaluating the expression
<tt>obj["3"]</tt>
will invoke the get(int, Scriptable) method even though the property name
was presented in the script as a string. Similarly, values of numbers that
do not fix in integers (like 1.1 and 0x100000000) must be converted to
strings.
<br>&nbsp;
<h3>
Defining Host Objects</h3>
Host objects are JavaScript objects that provide special access to the
host environment. For example, in a browser environment, the Window and
Document objects are host objects.
<p>The easiest way to define new host objects is by using <a href="org/mozilla/javascript/ScriptableObject.html#defineClass(org.mozilla.javascript.Scriptable, java.lang.Class)">ScriptableObject.defineClass()</a>.
This method defines a set of JavaScript objects using a Java class. Several
of the <a href="examples.html">examples</a> define host objects this way.
<p>If the services provided by defineClass are insufficient, try other
methods of
<a href="org/mozilla/javascript/ScriptableObject.html">ScriptableObject</a>
and
<a href="org/mozilla/javascript/FunctionObject.html">FunctionObject</a>,
such as <tt>defineProperty</tt> and <tt>defineFunctionProperties</tt>.
<br>&nbsp;
<br>&nbsp;
<h3>
Contexts and Threads</h3>
Every thread that executes JavaScript must have an associated Context.
Multiple threads (with multiple associated Contexts) may act upon the same
set of objects. Any host objects that are defined are responsible for any
sychronization required to run safely from multiple threads.
<br>&nbsp;
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -1,194 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.72 [en]C-NSCP (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Scopes and Contexts</title>
</head>
<body bgcolor="#ffffff">
<script src="owner.js"></script>
<center>
<h1> Scopes and Contexts</h1>
</center>
<script>document.write(owner());</script> <br>
<script>
var d = new Date(document.lastModified);
document.write((d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear());
document.write('<br>');
</script>
<center>
<hr width="100%"></center>
<p>Before using Rhino in a concurrent environment, it is important to understand
the distinction between Contexts and scopes. Both are required to execute
scripts, but they play different roles. Simple embeddings of Rhino probably
won't need any of the information here, but more complicated embeddings can
gain performance and flexibility from the techniques described below. <br>
&nbsp; </p>
<h2> Contexts</h2>
The Rhino Context object is used to store thread-specific information about
the execution environment. There should be one and only one Context associated
with each thread that will be executing JavaScript.
<p>To associate the current thread with a Context, simply call the <tt>enter</tt>
method of Context: </p>
<pre>
Context cx = Context.enter();
</pre>
Once you are done with execution, simply exit the Context:
<pre>
Context.exit();
</pre>
These calls will work properly even if there is already a Context associated
with the current thread. That context will be returned and an internal counter
incremented. Only when the counter reaches zero will it be disassociated from
the thread.
<p>Remember to put the <tt>exit()</tt> call in a <tt>finally</tt> block if
you're executing code that could throw an exception. <br>
&nbsp; </p>
<h2> Scopes</h2>
A scope is a set of JavaScript objects. Execution of scripts requires a scope
for top-level script variable storage as well as a place to find standard
objects like <tt>Function</tt> and <tt>Object</tt>.
<p>It's important to understand that a scope is independent of the Context
that created it. You can create a scope using one Context and then evaluate
a script using that scope and another Context (either by exiting the current
context and entering another, or by executing on a different thread). You
can even execute scripts on multiple threads simultaneously in the same scope.
Rhino guarantees that accesses to properties of JavaScript objects are atomic
across threads, but doesn't make any more guarantees for scripts executing
in the same scope at the same time. If two scripts use the same scope simultaneously,
the scripts are responsible for coordinating any accesses to shared variables.
</p>
<p>A top-level scope is created by calling <tt>Context.initStandardObjects</tt>
to create all the standard objects: </p>
<pre>
ScriptableObject scope = cx.initStandardObjects();
</pre>
The easiest way to embed Rhino is just to create a new scope this way whenever
you need one. However, <tt>initStandardObjects</tt> is an expensive method
to call and it allocates a fair amount of memory. We'll see below that there
are ways to share a scope created this way among multiple scopes and threads.
<br>
&nbsp;
<h2> Name Lookup</h2>
So how are scopes used to look up names? In general, variables are looked
up by starting at the current variable object (which is different depending
on what code is being executed in the program), traversing its prototype chain,
and then traversing the parent chain. In the diagram below, the order in
which the six objects are traversed is indicated.
<center>
<p><img src="lookup.gif" height="194" width="500">
<br>
<i><font size="-1">Order of lookups in a two-deep scope chain with prototypes.</font></i></p>
</center>
<p>For a more concrete example, let's consider the following script: </p>
<blockquote><tt>var g = 7;</tt> <br>
<tt>function f(a) {</tt> <br>
<tt>&nbsp;&nbsp;&nbsp; var v = 8;</tt> <br>
<tt>&nbsp;&nbsp;&nbsp; x = v + a;</tt> <br>
<tt>}</tt> <br>
<tt>f(6);</tt></blockquote>
We have a top-level variable <tt>g</tt>, and the call to <tt>f</tt> will
create a new top-level variable <tt>x</tt>. All top-level variables are properties
of the scope object. When we start executing <tt>f</tt>, the scope chain
will start with the function's activation object and will end with the top-level
scope (see diagram below). The activation object has two properties, 'a'
for the argument, and 'v' for the variable. The top-level scope has properties
for the variable <tt>g</tt> and the function <tt>f</tt>.
<center>
<p><img src="scopes.gif" height="496" width="820">
<br>
<i><font size="-1">An example scope chain for a simple script.</font></i></p>
</center>
<p>When the statement <tt>x = v + a;</tt> is executed, the scope chain is
traversed looking for a 'x' property. When none is found, a new property 'x'
is created in the top-level scope. </p>
<h2> Sharing Scopes</h2>
JavaScript is a language that uses delegation rather than traditional class-based inheritance. This is a large topic in itself, but for our purposes it gives us an easy way to share a set of read-only variables across multiple scopes.
To do this we set an object's prototype. When accessing a property of an object
in JavaScript, the object is first searched for a property with the given
name. If none is found, the object's prototype is searched. This continues
until either the object is found or the end of the prototype chain is reached.
<p>So to share information across multiple scopes, we first create the object
we wish to share. Typically this object will have been created with <tt>initStandardObjects</tt>
and may also have additional objects specific to the embedding. Then all
we need to do is create a new object and call its <tt>setPrototype</tt> method
to set the prototype to the shared object, and the parent of the new scope
to null:
<pre> Scriptable newScope = cx.newObject(sharedScope);
newScope.setPrototype(sharedScope);
newScope.setParentScope(null);
</pre>
The call to <tt>newObject</tt> simply creates a new JavaScript object with
no properties. It uses the <tt>sharedScope</tt> passed in to initialize the
prototype with the standard <tt>Object.prototype</tt> value.
<p>We can now use <tt>newScope</tt> as a scope for calls to evaluate scripts.
Let's call this scope the <i>instance scope</i>. Any top-level functions or
variables defined in the script will end up as properties of the instance
scope. Uses of standard objects like <tt>Function</tt>, <tt>String</tt>, or
<tt>RegExp</tt> will find the definitions in the shared scope. Multiple
instance scopes can be defined and have their own variables for scripts yet
share the definitions in the shared scope. These multiple instance scopes
can be used concurrently. <br>
&nbsp; </p>
<h2>Sealed shared scopes</h2>
<p>The ECMAScript standard defines that scripts can add properties to all standard library objects and in many cases it is also possible to change or delete their properties as well. Such behavior may not be suitable with shared scopes since if a script by mistake adds a property to a library object from the shared scope, that object would not be garbage collected until there re active references to the shared scope potentially leading to memory leaks. In addition if a script alters some of the standard objects, the library may not work properly for other scripts. Such bugs are hard to debug and to remove a possibility for them to occur one can use seal the shared scope and all its objects.
<p>
A notion of a sealed object is a JavaScript extension supported by Rhino and it means that properties can not be added/deleted to the object and the existing object properties can not be changed. Any attempt to modify sealed object throws an exception. To seal all objects in the standard library pass <tt>true</tt> for the sealed argument when calling <tt>Context.initStandardObjects(ScriptableObject, boolean)</tt>:
<pre> ScriptableObject sealedSharedScope = cx.initStandardObjects(null, true);</pre>
This seals only all standard library objects, it does not seal the shared scope itself thus after calling <tt>initStandardObjects</tt>, <tt>sealedSharedScope</tt> cab be farther populated with application-specific objects and functions. Then after a custom initialization is done, one can seal the shared scope by calling <tt>ScriptableObject.sealObject()</tt>:
<pre> sealedSharedScope.sealObject();</pre>
Note that currently one needs to explicitly seal any additional properties he adds to the sealed shared scope since although after calling <tt>sealedSharedScope.sealObject();</tt> it would no be possible to set the additional properties to different values, one still would be able to alter the objects themselves.
<h2> Dynamic Scopes</h2>
There's one problem with the setup outlined above. Calls to functions in
JavaScript use <i>static scope</i>, which means that variables are first looked
up in the function and then, if not found there, in the lexically enclosing
scope. This causes problems if functions you define in your shared scope
need access to variables you define in your instance scope.
<p>With Rhino 1.5, it is possible to compile functions to use <i>dynamic
scope</i>. With dynamic scope, functions look at the top-level scope of the
calling function rather than their lexical scope. So we can store information
that varies across scopes in the instance scope yet still share functions
that manipulate that information reside in the shared scope. </p>
<p>The <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/DynamicScopes.java">
DynamicScopes example</a>
illustrates all the points discussed above. <br>
&nbsp; <br>
&nbsp; </p>
<h2> More on Scopes</h2>
The key things to determine in setting up scopes for your application are
<br>
(1) What scope should global variables be created in when your script executes
an assignment to an undefined variable, and <br>
(2) What variables should your script have access to when it references a
variable?
<p>The answer to (1) determines which scope should be the ultimate parent
scope: Rhino follows the parent chain up to the top and places the variable
there. After you've constructed your parent scope chain, the answer to question
(2) may indicate that there are additional scopes that need to be searched
that are not in your parent scope chain. You can add these as prototypes
of scopes in your parent scope chain. When Rhino looks up a variable, it
starts in the current scope, walks the prototype chain, then goes to the
parent scope and its prototype chain, until there are no more parent scopes
left. <br>
&nbsp; </p>
<h3>
<hr width="100%"><br>
<a href="index.html">back to top</a>
</h3>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 B

View File

@@ -1,219 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Scripting Java</title>
</head>
<body bgcolor="#FFFFFF">
<script src="owner.js"></script>
<center>
<h1>
Scripting Java</h1></center>
<script>document.write(owner());</script>
<br><script>
var d = new Date(document.lastModified);
document.write((d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear());
document.write('<br>');
</script>
<center>
<hr WIDTH="100%"></center>
<p>It's possible to use Rhino just for scripting Java. You don't have to
write any additional Java code; just use the existing Rhino shell and then
make calls into Java.
<br>&nbsp;
<h2>
Rhino Shell</h2>
The Rhino shell allows you to run scripts from files or interactively at
a command line.
<p>If you download the zip file for rhino, it will contain a single JAR
file, <tt>js.jar</tt>. If you add the JAR file to your class path, you
can start the Rhino shell using the command
<pre>&nbsp;&nbsp;&nbsp; java org.mozilla.javascript.tools.shell.Main</pre>
or if you have Java 2 (JDK 1.2 or greater), you can avoid changing your classpath
and simply use the command
<pre>&nbsp;&nbsp;&nbsp; java -jar js.jar</pre>
Unfortunately the <tt>-jar</tt> option to <tt>java</tt> will overwrite
your existing classpath. The shell's interactive mode is a good way to
begin exploring Rhino.
<p><i>Note: Earlier versions of Rhino have two JAR files, js.jar and jstools.jar,
and don't support the -jar option. Both JAR files must be added to the
class path to start the shell</i>.
<p>You can execute a JavaScript file by putting the file name as an argument
to the shell class:
<pre>&nbsp;&nbsp;&nbsp; java org.mozilla.javascript.tools.shell.Main myScript.js</pre>
There are a number of options for evaluating scripts using the shell. See
the <a href="http://www.mozilla.org/rhino/shell.html">command description</a>
for more information.
<br>&nbsp;
<h2>
LiveConnect: Communicating with Java from JavaScript</h2>
If you are planning to script Java using Rhino, you'll want to use LiveConnect,
which allows you to create Java classes and call Java methods from within
JavaScript. For example, here's a log from an interactive session. If you
type it in, you'll see a window with a button filling it.
<center>
<p><img SRC="scriptjavaframe.jpg" height=100 width=200>
<br><i><font size=-1>A Java frame created from the Rhino shell.</font></i></center>
<pre>$ java org.mozilla.javascript.tools.shell.Main
js> importPackage(java.awt);
js> frame = new Frame("JavaScript")
java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,resizable,title=JavaScript]
js> frame.show()
js> frame.setSize(new Dimension(200,100))
js> button = new Button("OK")
java.awt.Button[button0,0,0,0x0,invalid,label=OK]
js> frame.add(button)
java.awt.Button[button0,0,0,0x0,invalid,label=OK]
js> frame.show()
js> quit()
$</pre>
If you wish to load classes from JavaScript that aren't in the <tt>java</tt>
package, you'll need to prefix the package name with "<tt>Packages.</tt>".
For example:
<pre>$ java org.mozilla.javascript.tools.shell.Main
js> cx = Packages.org.mozilla.javascript.Context.enter()
org.mozilla.javascript.Context@25980b44
js> cx.evaluateString(this, "3+2", null, 0, null)
5.0
js> quit()
$</pre>
<h2>
Accessing JavaBean Properties</h2>
Java classes can define JavaBean properties using getter and setter methods.
For example, the following class defines two properties:
<p><tt>public class Me {</tt>
<br><tt>&nbsp;&nbsp;&nbsp; public int getAge() { return age; }</tt>
<br><tt>&nbsp;&nbsp;&nbsp; public void setAge(int anAge) { age = anAge;
}</tt>
<br><tt>&nbsp;&nbsp;&nbsp; public String getSex() { return "male"; }</tt>
<br><tt>&nbsp;&nbsp;&nbsp; private int age;</tt>
<br><tt>};</tt>
<p>The two properties defined are <i>age</i> and <i>sex</i>. The <i>sex</i>
property is read-only: it has no setter.
<p>Using Rhino we can access the bean properties as if they where JavaScript
properties. We can also continue to call the methods that define the property.
<p><tt>js> me = new Packages.Me();</tt>
<br><tt>Me@93</tt>
<br><tt>js> me.getSex()</tt>
<br><tt>male</tt>
<br><tt>js> me.sex</tt>
<br><tt>male</tt>
<br><tt>js> me.age = 33;</tt>
<br><tt>33</tt>
<br><tt>js> me.age</tt>
<br><tt>33</tt>
<br><tt>js> me.getAge()</tt>
<br><tt>33</tt>
<br><tt>js></tt>
<p>Since the <i>sex</i> property is read-only, we are not allowed to write
to it.
<p><i>Note: JavaBean reflection is not available in versions of Rhino before
1.5.</i>
<br><tt></tt>&nbsp;
<h2>
Importing Java Classes and Packages</h2>
Above we saw the use of the <tt>importPackage</tt> function to import all
the classes from a particular Java package. There is also <tt>importClass</tt>,
which imports a single class:
<pre>$ java org.mozilla.javascript.tools.shell.Main
js> importClass(Packages.org.mozilla.javascript.Context)
js> cx = Context.enter()
org.mozilla.javascript.Context@25980d62
js> cx.evaluateString(this, "3+2", null, 0, null)
5.0
js> quit()
$</pre>
<h2>
Extending Java Classes and Implementing Java Interfaces with JavaScript</h2>
Starting from the example above of creating a Java frame using JavaScript,
we can add a listener for the button. Once we call <tt>addActionListener</tt>
we can then click on the button to get the current date printed out:
<pre>$ java org.mozilla.javascript.tools.shell.Main
js> importPackage(java.awt);
js> frame = new Frame("JavaScript")
java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,resizable,title=JavaScript]
js> button = new Button("OK")
java.awt.Button[button0,0,0,0x0,invalid,label=OK]
js> frame.setSize(new Dimension(200,100))
js> frame.add(button)
java.awt.Button[button0,0,0,0x0,invalid,label=OK]
js> frame.show()
js> function printDate() { print(new Date()) }
js> printDate()
Wed Mar 15 15:42:20 GMT-0800 (PST) 2000
js> o = { actionPerformed: printDate }
[object Object]
js> o.actionPerformed()
Wed Mar 15 15:42:39 GMT-0800 (PST) 2000
js> buttonListener = java.awt.event.ActionListener(o)
adapter0@6acc0f66
js>&nbsp; button.addActionListener(buttonListener)
js> Wed Mar 15 15:43:05 GMT-0800 (PST) 2000
Wed Mar 15 15:43:05 GMT-0800 (PST) 2000
Wed Mar 15 15:43:08 GMT-0800 (PST) 2000
quit()
$</pre>
When we type <tt>buttonListener = java.awt.event.ActionListener(o)</tt>,
Rhino actually creates a new Java class that implements <tt>ActionListener</tt>
and forwards calls from that class to the JavaScript object. So when you
click on the button, the <tt>printDate</tt> method is called.
<p>
Starting from the release 1.5R5 Rhino allows to pass JavaScript functions directly to Java methods if the corresponding argument is Java interface with single method. It allows to pass <tt>printDate</tt> directly to <tt>addActionListener</tt> and simplifies example:
<pre>$ java org.mozilla.javascript.tools.shell.Main
js> importPackage(java.awt);
js> frame = new Frame("JavaScript")
java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=JavaScript,resizable,normal]
js> button = new Button("OK")
java.awt.Button[button0,0,0,0x0,invalid,label=OK]
js> frame.setSize(new Dimension(200,100))
js> frame.add(button)
java.awt.Button[button0,0,0,0x0,invalid,label=OK]
js> frame.show()
js> function printDate() { print(new Date()) }
js> printDate()
Mon Oct 27 2003 10:35:44 GMT+0100 (CET)
js> button.addActionListener(printDate)
js> Mon Oct 27 2003 10:36:09 GMT+0100 (CET)
Mon Oct 27 2003 10:36:10 GMT+0100 (CET)
quit()
$</pre>
<h2>
JavaAdapter constructor</h2>
Another way to create a JavaAdapter is to call the JavaAdapter constructor
explicitly. Using the JavaAdapter constructor gives you additional features
that cannot be had by "constructing" a Java interface as was done above.
<p>Instead of writing
<pre>&nbsp;&nbsp;&nbsp; buttonListener = java.awt.event.ActionListener(o)</pre>
above we can also write
<pre>&nbsp;&nbsp;&nbsp; buttonListener = new JavaAdapter(java.awt.event.ActionListener, o)</pre>
which is equivalent. If we also wanted to extend class <tt>Foo</tt>, while
also implementing <tt>java.lang.Runnable</tt>, we would write
<pre>&nbsp;&nbsp;&nbsp; buttonListener = new JavaAdapter(Packages.Foo,&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.awt.event.ActionListener,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.lang.Runnable, o)</pre>
In general the syntax is
<p>&nbsp;&nbsp;&nbsp; <tt>new JavaAdapter(</tt><i>java-class</i>, [<i>java-class</i>,
...] <i>javascript-object</i><tt>)</tt>
<p>where at most one <i>java-class</i> is a Java class and the remaining
<i>java-class</i>es
are interfaces. The result will be a Java adapter that extends any specified
Java class, implements the Java interfaces, and forwards any calls to the
methods of the <i>javascript-object</i>.
<h3>
<hr WIDTH="100%"><br>
<a href="index.html">back to top</a></h3>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,122 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.72 [en]C-NSCP (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Serialization</title>
</head>
<body bgcolor="#ffffff">
<script src="owner.js"></script>
<center>
<h1>Serialization</h1>
</center>
<script>document.write(owner());</script> <br>
<script>
var d = new Date(document.lastModified);
document.write((d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear());
document.write('<br>');
</script>
<center>
<hr width="100%"></center>
<p>Beginning with Rhino 1.5 Release 3 it is possible to serialize JavaScript
objects, including functions and scripts. However, &nbsp;serialization of
code in compilation mode has some significant limitations.. Serialization
provides a way to save the state of an object and write it out to a file
or send it across a network connection. <br>
&nbsp; </p>
<h2>Simple serialization example</h2>
The Rhino shell has two new top-level functions, serialize and deserialize.
They're intended mainly as examples of the use of serialization:<br>
<pre>$&nbsp;java org.mozilla.javascript.tools.shell.Main<br>js&gt; function f() { return 3; }<br>js&gt; serialize(f, "f.ser")<br>js&gt; quit()<br><br>$&nbsp;java org.mozilla.javascript.tools.shell.Main<br>js&gt; f = deserialize("f.ser")<br><br>function f() {<br> return 3;<br>}<br><br>js&gt; f()<br>3<br>js&gt;</pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
<pre></pre>
Here we see a simple case of a function being serialized to a file and then
read into a new instance of Rhino and called. <br>
<br>
<h2>Rhino serialization APIs</h2>
Two new classes, ScriptableOutputStream and ScriptableInputStream, were introduced
to handle serialization of Rhino classes. These classes extend ObjectOutputStream
and ObjectInputStream respectively. Writing an object to a file can be done
in a few lines of Java code:<br>
<pre>FileOutputStream fos = new FileOutputStream(filename);<br>ScriptableOutputStream out = new ScriptableOutputStream(fos, scope);<br>out.writeObject(obj);<br>out.close();</pre>
<p>Here filename is the file to write to, obj is the object or function to
write, and scope is the top-level scope containing obj.&nbsp;</p>
<p>Reading the serialized object back into memory is similarly simple:</p>
<pre>FileInputStream fis = new FileInputStream(filename);<br>ObjectInputStream in = new ScriptableInputStream(fis, scope);<br>Object deserialized = in.readObject();<br>in.close();<br></pre>
<p>Again, we need the scope to create our serialization stream class. </p>
<p>So why do we need these specialized stream classes instead of simply using
ObjectOutputStream and ObjectInputStream? To understand the answer we must
know what goes on behind the scenes when Rhino serializes objects. </p>
<h2>How Rhino serialization works</h2>
By default, Java serialization of an object also serializes objects that
are referred to by that object. Upon deserialization the initial object and
the objects it refers to are all created and the references between the objects
are resolved. <br>
<br>
However, for JavaScript this creates a problem. JavaScript objects contain
references to prototypes and to parent scopes. Default serialization would
serialize the object or function we desired but would also serialize Object.prototype
or even possibly the entire top-level scope and everything it refers to!
We want to be able to serialize a JavaScript object and then deserialize
it into a new scope and have all of the references from the deserialized
object to prototypes and parent scopes resolved correctly to refer to objects
in the new scope. <br>
<br>
ScriptableOutputStream takes a scope as a parameter to its constructor. If
in the process of serialization it encounters a reference to the scope it
will serialize a marker that will be resolved to the new scope upon deserialization.
It is also possible to add names of objects to a list in the ScriptableOutputStream
object. These objects will also be saved as markers upon serialization and
resolved in the new scope upon deserialization. Use the addExcludedName method
of ScriptableOutputStream to add new names. By default, ScriptableOutputStream
excludes all the names defined using Context.initStandardObjects.<br>
<br>
If you are using Rhino serialization in an environment where you always define,
say, a constructor "Foo", you should add the following code before calling
writeObject:<br>
<pre>out.addExcludedName("Foo");<br>out.addExcludedName("Foo.prototype");<br></pre>
This code will prevent Foo and Foo.prototype from being serialized and will
cause references to Foo or Foo.prototype to be resolved to the objects in
the new scope upon deserialization. Exceptions will be thrown if Foo or Foo.prototype
cannot be found the scopes used in either ScriptableOutputStream or ScriptableInputStream.<br>
<br>
<h2>Rhino serialization in compilation mode</h2>
Serialization works well with objects and with functions and scripts in
interpretive mode. However, you can run into problems with serialization
of compiled functions and scripts:<br>
<pre>$&nbsp;cat test.js<br>function f() { return 3; }<br>serialize(f, "f.ser");<br>g = deserialize("f.ser");<br>print(g());<br>$&nbsp;java&nbsp;org.mozilla.javascript.tools.shell.Main -opt -1 test.js<br>3<br>$&nbsp;java&nbsp;org.mozilla.javascript.tools.shell.Main test.js<br>js: uncaught JavaScript exception: java.lang.ClassNotFoundException: c1<br></pre>
<p>The problem is that Java serialization has no built-in way to serialize
Java classes themselves. (It might be possible to save the Java bytecodes
in an array and then load the class upon deserialization, but at best that
would eat up a lot of memory for just this feature.) One way around this
is to compile the functions using the jsc tool: </p>
<pre>$&nbsp;cat f.js<br>function f() { return 3; }<br>$&nbsp;java -classpath js.jar org.mozilla.javascript.tools.jsc.Main f.js<br>$&nbsp;cat test2.js<br>loadClass("f");<br>serialize(f, "f.ser");<br>g = deserialize("f.ser");<br>print(g());<br>$&nbsp;java -classpath 'js.jar;.' org.mozilla.javascript.tools.shell.Main test2.js<br>3<br></pre>
<p>&nbsp;Now the function f is compiled to a Java class, but that class is
then made available in the classpath so serialization works. This isn't that
interesting an example since compiling a function to a class and then loading
it accomplishes the same as serializing an interpreted function, but it becomes
more relevant if you wish to serialize JavaScript objects that have references
to compiled functions. </p>
<h3>
<hr width="100%"><br>
<a href="index.html">back to top</a>
</h3>
</body>
</html>

View File

@@ -1,234 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en]C-NSCP (WinNT; U) [Netscape]">
<title>JavaScript Shell</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
JavaScript Shell</h1></center>
The JavaScript shell provides a simple way to run scripts in batch mode
or an interactive environment for exploratory programming.
<h2>
Invoking the Shell</h2>
<tt>java org.mozilla.javascript.tools.shell.Main [<i>options</i>]
<i>script-filename-or-url</i> [<i>script-arguments</i>]</tt>
<p>where <tt><i>options</i></tt> are:
<p><tt>-e <i>script-source</i></tt>
<blockquote>Executes <i>script-source</i> as a JavaScript script.</blockquote>
<tt>-f <i>script-filename-or-url</i></tt>
<blockquote>Reads <i>script-filename-or-url</i> content and execute it as a JavaScript script.</blockquote>
<tt>-opt <i>optLevel</i></tt>
<br><tt>-O <i>optLevel</i></tt>
<ul>Optimizes at level <i>optLevel</i>, which must be an integer between
0 and 9. See <a href="opt.html">Optimization</a> for more details.</ul>
<tt>-version <i>versionNumber</i></tt>
<ul>Specifies the language version to compile with. The string <i>versionNumber</i>
must be one of <tt>100</tt>, <tt>110</tt>, <tt>120</tt>, <tt>130</tt>,
or <tt>140</tt>. See <a href="overview.html#versions">JavaScript Language
Versions</a> for more information on language versions.</ul>
If the shell is invoked with the system property rhino.use_java_policy_security set to true and with a security manager installed, the shell restricts scripts permissions based on their URLs according to Java policy settings. This is available only if JVM implements Java2 security model.
<h2>
Predefined Properties</h2>
Scripts executing in the shell have access to some additional properties
of the top-level object.
<br>&nbsp;
<h4>
arguments</h4>
<blockquote>The <tt>arguments</tt> object is an array containing the strings
of all the arguments given at the command line when the shell was invoked.</blockquote>
<h4>
help()</h4>
<blockquote>Executing the help function will print usage and help messages.</blockquote>
<h4>
defineClass(<i>className</i>)</h4>
<blockquote>Define an extension using the Java class named with the string
argument <i>className</i>. Uses ScriptableObject.defineClass() to define
the extension.</blockquote>
<h4>
deserialize(<i>filename</i>)</h4>
<blockquote>Restore from the specified file an object previously written by a call to <tt>serialize</tt>.</blockquote>
<h4>
load([<i>filename</i>, ...])</h4>
<blockquote>Load JavaScript source files named by string arguments. If
multiple arguments are given, each file is read in and executed in turn.</blockquote>
<h4>
loadClass(<i>className</i>)</h4>
<blockquote>Load and execute the class named by the string argument <i>className</i>.
The class must be a class that implements the Script interface, as will
any script compiled by <a href="jsc.html">jsc</a>.</blockquote>
<h4>
print([<i>expr</i> ...])</h4>
<blockquote>Evaluate and print expressions. Evaluates each expression,
converts the result to a string, and prints it.</blockquote>
<h4>
readFile(<i>path</i> [, <i>characterCoding</i>)</h4>
<blockquote>Read given file and convert its bytes to a string using the
specified character coding or default character coding if explicit coding
argument is not given.</blockquote>
<h4>
readUrl(<i>url</i> [, <i>characterCoding</i>)</h4>
<blockquote>Open an input connection to the given string url, read all its
bytes and convert them to a string using the specified character coding or
default character coding if explicit coding argument is not given.</blockquote>
<h4>
runCommand(<i>commandName</i>, [<i>arg</i>, ...] [<i>options</i>])</h4>
<blockquote>Execute the specified command with the given argument and options
as a separate process and return the exit status of the process. For details, see JavaDoc for <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/toolsrc/org/mozilla/javascript/tools/shell/Global.java">org.mozilla.javascript.tools.shell.Global#runCommand</a>.</blockquote>
<h4>
serialize(<i>object</i>, <i>filename</i>)</h4>
<blockquote>Serialize the given object to the specified file.</blockquote>
<h4>
spawn(<i>functionOrScript</i>)</h4>
<blockquote>Run the given function or script in a different thread.</blockquote>
<h4>
sync(<i>function</i>)</h4>
<blockquote>creates a synchronized function (in the sense of a Java synchronized method) from an existing function. The new function synchronizes on the <code>this</code> object of its invocation.</blockquote>
<h4>
quit()</h4>
<blockquote>Quit shell. The shell will also quit in interactive mode if
an end-of-file character is typed at the prompt.</blockquote>
<h4>
version([<i>number</i>])</h4>
<blockquote>Get or set JavaScript version number. If no argument is supplied,
the current version number is returned. If an argument is supplied, it
is expected to be one of <tt>100</tt>, <tt>110</tt>, <tt>120</tt>, <tt>130,</tt>
or <tt>140</tt> to indicate JavaScript version 1.0, 1.1, 1.2, 1.3, or 1.4
respectively.</blockquote>
<h2>
Example</h2>
<h4>Invocation</h4>
Here the shell is invoked three times from the command line. (The system
command prompt is shown as <tt>$</tt>.) The first invocation executes a
script specified on the command line itself. The next invocation has no
arguments, so the shell goes into interactive mode, reading and evaluating
each line as it is typed in. Finally, the last invocation executes a script
from a file and accesses arguments to the script itself.
<pre>
$ java org.mozilla.javascript.tools.shell.Main -e print('hi')
hi
$ java org.mozilla.javascript.tools.shell.Main
js> print('hi')
hi
js> 6*7
42
js> function f() {
return a;
}
js> var a = 34;
js> f()
34
js> quit()
$ cat echo.js
for (i in arguments) {
print(arguments[i])
}
$ java org.mozilla.javascript.tools.shell.Main echo.js foo bar
foo
bar
$
</pre>
<h4>spawn and sync</h4>
The following example creates 2 threads via <tt>spawn</tt> and uses <tt>sync</tt> to create a synchronized version of the function <tt>test</tt>.
<pre>
js> function test(x) {
print("entry");
java.lang.Thread.sleep(x*1000);
print("exit");
}
js> var o = { f : sync(test) };
js> spawn(function() {o.f(5);});
Thread[Thread-0,5,main]
entry
js> spawn(function() {o.f(5);});
Thread[Thread-1,5,main]
js>
exit
entry
exit
</pre>
<h4>runCommand</h4>
Here is few examples of invoking <tt>runCommand</tt> under Linux.
<pre>
js> runCommand('date')
Thu Jan 23 16:49:36 CET 2003
0
// Using input option to provide process input
js> runCommand("sort", {input: "c\na\nb"})
a
b
c
0
js> // Demo of output and err options
js> var opt={input: "c\na\nb", output: 'Sort Output:\n'}
js> runCommand("sort", opt)
0
js> print(opt.output)
Sort Output:
a
b
c
js> var opt={input: "c\na\nb", output: 'Sort Output:\n', err: ''}
js> runCommand("sort", "--bad-arg", opt)
2
js> print(opt.err)
/bin/sort: unrecognized option `--bad-arg'
Try `/bin/sort --help' for more information.
js> runCommand("bad_command", "--bad-arg", opt)
js: "<stdin>", line 18: uncaught JavaScript exception: java.io.IOException: bad_command: not found
js> // Passing explicit environment to the system shell
js> runCommand("sh", "-c", "echo $env1 $env2", { env: {env1: 100, env2: 200}})
100 200
0
js> // Use args option to provide additional command arguments
js> var arg_array = [1, 2, 3, 4];
js> runCommand("echo", { args: arg_array})
1 2 3 4
0
</pre>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,31 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.7 [en]C-NSCP (WinNT; U) [Netscape]">
<title>JavaScript Tools</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<h1>
JavaScript Tools</h1></center>
<h2>
JavaScript shell</h2>
The <a href="shell.html">JavaScript shell</a> allows for interactive and
batch execution of JavaScript scripts.
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<h2>
JavaScript compiler</h2>
The <a href="jsc.html">JavaScript compiler</a> translates JavaScript source
into Java class files.
<br>&nbsp;
<p>
<hr WIDTH="100%">
<br><a href="index.html">back to top</a>
</body>
</html>

View File

@@ -1,357 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 97">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
<title>Embedding Rhino</title>
</head>
<body>
<center><font size=+4>Tutorial: Embedding Rhino</font></center>
<p>Embedding Rhino can be done simply with good results. With more effort
on the part of the embedder, the objects exposed to scripts can be customized
further.
<p>This tutorial leads you through the steps from a simple embedding to
more customized, complex embeddings. Fully compilable examples are provided
along the way.
<p>The examples live in the <tt>rhino/examples</tt> directory in the distribution
and in <tt>mozilla/js/rhino/examples</tt> in cvs. This document will link
to them using <a href="http://lxr.mozilla.org/">lxr</a>.
<p>In this document, JavaScript code will be in <font color="#006600">green</font>,
Java code will be in <font color="#006600">green</font>, and shell logs
will be in <font color="#663366">purple</font>.
<h3>
<font size=+3>Contents</font></h3>
<ul>
<li>
<font size=+1><a href="#RunScript">RunScript: A simple embedding</a></font></li>
<ul>
<li>
<font size=+1><a href="#EnteringContext">Entering a Context</a></font></li>
<li>
<font size=+1><a href="#initializing">Initializing standard objects</a></font></li>
<li>
<font size=+1><a href="#Collecting">Collecting the arguments</a></font></li>
<li>
<font size=+1><a href="#Evaluating">Evaluating a script</a></font></li>
<li>
<font size=+1><a href="#Print">Print the result</a></font></li>
<li>
<font size=+1><a href="#Exit">Exit the Context</a></font></li>
</ul>
<li>
<font size=+1><a href="#Expose">Expose Java APIs</a></font></li>
<ul>
<li>
<font size=+1><a href="#UseJava">Use Java APIs</a></font></li>
<li>
<font size=+1><a href="#ImplementingInterfaces">Implementing interfaces</a></font></li>
<li>
<font size=+1><a href="#AddJava">Add Java objects</a></font></li>
</ul>
<li>
<font size=+1><a href="#UsingJSObjs">Using JavaScript objects from Java</a></font></li>
<ul>
<li>
<font size=+1><a href="#UsingJSvars">Using JavaScript variables</a></font></li>
<li>
<font size=+1><a href="#CallingJSfuns">Calling JavaScript functions</a></font></li>
</ul>
<li>
<font size=+1><a href="#JavaScriptHostObjects">JavaScript host objects</a></font></li>
<ul>
<li>
<font size=+1><a href="#DefiningHostObjects">Defining Host Objects</a></font></li>
<li>
<font size=+1><a href="#Counter">Counter example</a></font></li>
<ul>
<li>
<font size=+1><a href="#CounterCtors">Counter's constructors</a></font></li>
<li>
<font size=+1><a href="#classname">Class name</a></font></li>
<li>
<font size=+1><a href="#Dynamic">Dynamic properties</a></font></li>
<li>
<font size=+1><a href="#DefiningMethods">Defining JavaScript "methods"</a></font></li>
<li>
<font size=+1><a href="#AddingCounter">Adding Counter to RunScript</a></font></li>
</ul>
</ul>
</ul>
<hr WIDTH="100%">
<br><a NAME="RunScript"></a><font size=+3>RunScript: A simple embedding</font>
<p>About the simplest embedding of Rhino possible is the <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/RunScript.java">RunScript
example</a>. All it does it read a script from the command line, execute
it, and print a result.
<p>Here's an example use of RunScript from a shell command line:
<blockquote>
<pre><font color="#663366">$ java RunScript "Math.cos(Math.PI)"
-1
$ java RunScript 'function f(x){return x+1} f(7)'
8</font></pre>
</blockquote>
Note that you'll have to have both the Rhino classes and the RunScript
example class file in the classpath. Let's step through the body of <tt>main</tt>
one line at time.
<p><a NAME="EnteringContext"></a><font size=+2>Entering a Context</font>
<p>The code
<blockquote>
<pre><font color="#006600">Context cx = Context.enter();</font></pre>
</blockquote>
Creates and enters a <tt>Context. </tt>A <tt>Context</tt> stores information
about the execution environment of a script.
<br>&nbsp;
<p><a NAME="initializing"></a><font size=+2>Initializing standard objects</font>
<p>The code
<blockquote>
<pre><font color="#006600">Scriptable scope = cx.initStandardObjects();</font></pre>
</blockquote>
Initializes the standard objects (<tt>Object</tt>,
<tt>Function</tt>, etc.)
This must be done before scripts can be executed. The <tt>null</tt> parameter
tells <tt>initStandardObjects</tt> to create and return a scope object
that we use in later calls.
<p><a NAME="Collecting"></a><font size=+2>Collecting the arguments</font>
<p>This code is standard Java and not specific to Rhino. It just collects
all the arguments and concatenates them together.
<blockquote>
<pre style="color: #006600">
String s = "";
for (int i=0; i &lt; args.length; i++) {
s += args[i];
}
</pre>
</blockquote>
<p><br><a NAME="Evaluating"></a><font size=+2>Evaluating a script</font>
<p>The code
<blockquote>
<pre><font color="#006600">Object result = cx.evaluateString(scope, s, "&lt;cmd>", 1, null);</font></pre>
</blockquote>
uses the Context <tt>cx</tt> to evaluate a string. Evaluation of the script
looks up variables in <tt>scope</tt>, and errors will be reported with
the filename <tt>&lt;cmd></tt> and line number 1.
<br>&nbsp;
<p><a NAME="Print"></a><font size=+2>Print the result</font>
<p>The code
<blockquote>
<pre><font color="#006600">System.out.println(cx.toString(result));</font></pre>
</blockquote>
prints the result of evaluating the script (contained in the variable <tt>result</tt>).
<tt>result</tt>
could be a string, JavaScript object, or other values..The
<tt>toString</tt>
method converts any JavaScript value to a string.
<br>&nbsp;
<p><a NAME="Exit"></a><font size=+2>Exit the Context</font>
<p>The code
<blockquote>
<pre style="color: #006600">
} finally {
Context.exit();
}
</pre>
</blockquote>
exits the Context. This removes the association between the Context and
the current thread and is an essential cleanup action. There should be
a call to <tt>exit</tt> for every call to <tt>enter</tt>. To make sure that it is called even if an exception is thrown, it is put into the finally block corresponding to the try block starting after <tt>Context.enter()</tt>.
<br>&nbsp;
<dir>&nbsp;</dir>
<a NAME="Expose"></a><font size=+3>Expose Java APIs</font>
<p><a NAME="UseJava"></a><font size=+2>Use Java APIs</font>
<p>No additional code in the embedding needed! The JavaScript feature called
<i>LiveConnect</i>
allows JavaScript programs to interact with Java objects:
<dir><tt><font color="#663366">$ java RunScript 'java.lang.System.out.println(3)'</font></tt>
<br><tt><font color="#663366">3.0</font></tt>
<br><tt><font color="#663366">undefined</font></tt></dir>
<a NAME="ImplementingInterfaces"></a><font size=+2>Implementing interfaces</font>
<p>Using Rhino, JavaScript objects can implement arbitrary Java interfaces.
There's no Java code to write--it's part of Rhino's LiveConnect implementation.
For example, we can see how to implement java.lang.Runnable in a Rhino
shell session:
<blockquote>
<pre><font color="#663366">js> obj = { run: function() { print('hi'); } }
[object Object]
js> obj.run()
hi
js> r = new java.lang.Runnable(obj);
[object Object]
js> t = new java.lang.Thread(r)
Thread[Thread-0,5,main]
js> t.start()
hi</font></pre>
</blockquote>
<a NAME="AddJava"></a><font size=+2>Add Java objects</font>
<p>The next example is <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/RunScript2.java">RunScript2</a>.
This is the same as RunScript, but with the addition of two extra lines
of code:
<dir><tt><font color="#006600">Scriptable jsArgs = Context.toObject(System.out,
scope);</font></tt>
<br><tt><font color="#006600">scope.put("out", scope, jsArgs);</font></tt></dir>
These lines add a global variable <tt>out</tt> that is a JavaScript reflection
of the <tt>System.out</tt> variable:
<dir><tt><font color="#663366">$ java RunScript2 'out.println(42)'</font></tt>
<br><tt><font color="#663366">42.0</font></tt>
<br><tt><font color="#663366">undefined</font></tt></dir>
<p><br><a NAME="UsingJSObjs"></a><font size=+3>Using JavaScript objects
from Java</font>
<p>After evaluating a script it's possible to query the scope for variables
and functions, extracting values and calling JavaScript functions. This
is illustrated in the <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/RunScript3.java">RunScript3</a>
example. This example adds the ability to print the value of variable <tt>x</tt>
and the result of calling function <tt>f</tt>. Both <tt>x</tt> and <tt>f</tt>
are expected to be defined by the evaluated script. For example,
<blockquote>
<pre style="color: #663366">
$ java RunScript3 'x = 7'
x = 7
f is undefined or not a function.
$ java RunScript3 'function f(a) { return a; }'
x is not defined.
f('my args') = my arg
</pre>
</blockquote>
<a NAME="UsingJSvars"></a><font size=+2>Using JavaScript variables</font>
<p>To print out the value of <tt>x</tt>, we add the following code.
<blockquote>
<pre style="color: #006600">
Object x = scope.get("x", scope);
if (x == Scriptable.NOT_FOUND) {
System.out.println("x is not defined.");
} else {
System.out.println("x = " + Context.toString(x));
}
</pre>
</blockquote>
<a NAME="CallingJSfuns"></a><font size=+2>Calling JavaScript functions</font>
<p>To get the function <tt>f</tt>, call it, and print the result, we add
this code:
<blockquote>
<pre style="color: #006600">
Object fObj = scope.get("f", scope);
if (!(fObj instanceof Function)) {
System.out.println("f is undefined or not a function.");
} else {
Object functionArgs[] = { "my arg" };
Function f = (Function)fObj;
Object result = f.call(cx, scope, scope, functionArgs);
String report = "f('my args') = " + Context.toString(result);
System.out.println(report);
}
</pre>
</blockquote>
<p><br><a NAME="JavaScriptHostObjects"></a><font size=+3>JavaScript host
objects</font>
<p><a NAME="DefiningHostObjects"></a><font size=+2>Defining Host Objects</font>
<p>Custom host objects can implement special JavaScript features like dynamic
properties.
<p><a NAME="Counter"></a><font size=+2>Counter example</font>
<p>The <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/Counter.java">Counter
example</a> is a simple host object. We'll go through it method by method
below.
<p>It's easy to try out new host object classes in the shell using its
built-in <tt>defineClass</tt> function. We'll see how to add it to RunScript
later. (Note that because the <tt>java -jar</tt> option preempts the rest
of the classpath, we can't use that and access the <tt>Counter</tt> class.)
<blockquote>
<pre style="color: #663366">
$ java -cp 'js.jar;examples' org.mozilla.javascript.tools.shell.Main
js> defineClass("Counter")
js> c = new Counter(7)
[object Counter]
js> c.count
7
js> c.count
8
js> c.count
9
js> c.resetCount()
js> c.count
0
</pre>
</blockquote>
<a NAME="CounterCtors"></a><font size=+2>Counter's constructors</font>
<p>The zero-argument constructor is used by Rhino runtime to create instances.
For the counter example, no initialization work is needed, so the implementation
is empty.
<dir><tt><font color="#006600">public Counter () { }</font></tt></dir>
The method <tt>jsConstructor</tt> defines the JavaScript constructor that
was called with the expression <tt>new Counter(7)</tt> in the JavaScript
code above.
<dir><tt><font color="#006600">public void jsConstructor(int a) { count
= a; }</font></tt></dir>
<a NAME="classname"></a><font size=+2>Class name</font>
<p>The class name is defined by the <tt>getClassName</tt> method. This
is used to determine the name of the constructor.
<dir><tt><font color="#006600">public String getClassName() { return "Counter";
}</font></tt></dir>
<a NAME="Dynamic"></a><font size=+2>Dynamic properties</font>
<p>Dynamic properties are defined by methods beginning with <tt>jsGet_</tt>
or <tt>jsSet_</tt>. The method <tt>jsGet_count</tt> defines the <i>count</i>
property.
<dir><tt><font color="#006600">public int jsGet_count() { return count++;
}</font></tt></dir>
The expression <tt>c.count</tt> in the JavaScript code above results in
a call to this method.
<p><a NAME="DefiningMethods"></a><font size=+2>Defining JavaScript "methods"</font>
<p>Methods can be defined using the <tt>jsFunction_ prefix</tt>. Here we
define <tt>resetCount</tt> for JavaScript.
<dir><tt><font color="#006600">public void jsFunction_resetCount() { count
= 0; }</font></tt></dir>
The call <tt>c.resetCount()</tt> above calls this method.
<p><a NAME="AddingCounter"></a><font size=+2>Adding Counter to RunScript</font>
<p>Now take a look at the <a href="http://lxr.mozilla.org/mozilla/source/js/rhino/examples/RunScript4.java">RunScript4
example</a>. It's the same as RunScript except for two additions. The method
<tt>ScriptableObject.defineClass</tt>
uses a Java class to define the Counter "class" in the top-level scope:
<dir><tt><font color="#006600">ScriptableObject.defineClass(scope, Counter.class);</font></tt></dir>
Now we can reference the <tt>Counter</tt> object from our script:
<dir><tt><font color="#663366">$ java RunScript4 'c = new Counter(3); c.count;
c.count;'</font></tt>
<br><tt><font color="#663366">4</font></tt></dir>
It also creates a new instance of the <tt>Counter</tt> object from within
our Java code, constructing it with the value 7, and assigning it to the
top-level variable <tt>myCounter</tt>:
<blockquote>
<pre style="color: #006600">
Object[] arg = { new Integer(7) };
Scriptable myCounter = cx.newObject(scope, "Counter", arg);
scope.put("myCounter", scope, myCounter);
</pre>
</blockquote>
Now we can reference the <tt>myCounter</tt> object from our script:
<blockquote>
<pre style="color: #663366">
$ java RunScript3 'RunScript4 'myCounter.count; myCounter.count'
8
</pre>
</blockquote>
</body>
</html>

View File

@@ -1,77 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Norris Boyd">
<meta name="GENERATOR" content="Mozilla/4.72 [en]C-NSCP (WinNT; U) [Netscape]">
<meta name="KeyWords" content="Rhino, JavaScript, Java">
<title>Using Rhino</title>
</head>
<body bgcolor="#FFFFFF">
<script src="owner.js"></script>
<center>
<h1>
How are people using Rhino?</h1></center>
Here's a partial list of the ways people are using Rhino in their projects.
The initial list was collected by Netscape marketing, so Rhino is referred
to as Netscape Java-based JavaScript. We'd love to hear how you're using
Rhino--just mail&nbsp;<script>document.write(owner());</script>
.
<p><a href="http://www.attachmate.com">Attachmate</a>
<br>"Netscape JavaScript 1.5 with Java implementation was a perfect solution
for developing our MacroRecorder because it made our development process
faster and better, and our customers get a more efficient, reliable, and
standards based product as a result," said Rob Clark, Director of Product
Development at Attachmate. Attachmate integrates Netscape's Java-based
JavaScript 1.5 Interpreter into its 100% Pure Java certified web-to-host
thin clients, called e-Vantage Viewers. The Netscape Java-based JavaScript
interpreter is used in a MacroRecorder feature that allows browser-based
users to efficiently navigate host applications on mainframe and midrange
systems.
<p><a href="http://www.bristowhill.com/">Bristow Hill Software</a>
<br>"We thought it would require lots of work to add scripting capability
to Bristow Hill Server Pages, but we were delighted to find that Netscape
JavaScript 1.5 with Java implementation fit right in with only a couple
of lines of initialization code and one line of code to export our standard
objects by name. Also, we were pleased to find we could take embedded scripting
and compile it down to Java classes which could be used directly for greater
speed in production. Netscape's JavaScript engine is rock solid and standards
compliant, and my only regret is that we didn't start using it sooner,"
said Don Anderson, President of Bristow Hill Software.
<p><a href="http://www.icesoft.com/">ICEsoft Technologies</a>
<br>ICEsoft Technologies adds JavaScript support to their <a href="http://www.icesoft.com/ps_browser_overview.html">ICEbrowser</a> using Rhino.
<p><a href="http://homepage.mac.com/pcbeard/JShell/">JShell</a>
<br>Rhino is used as the scripting language for the open source command
shell JShell written by Patrick Beard.
<p><a href="http://www.softcom.com">Softcom</a>
<br>The tight integration of Netscape's Java-based JavaScript 1.5 with
Softcom's Java-based RealPlayer plugin, RJ, enables Softcom to quickly
produce dynamic interactive video applications for our media/entertainment,
retail and professional education clients, helping us to synchronize the
full interactivity of the Web and e-commerce with streaming video, said
Chris O'Brien, president and COO of Softcom. For the enhanced Oscarcast
recently produced for E! Online during the Academy Awards, Softcom used
RJ to embed Netscape's JavaScript 1.5 in the RealPlayer, successfully integrating
interactive chat and Java games, along with streaming video, within the
RealPlayer.
<p><a href="http://www.tdiinc.com/">Technology Deployment International</a>
<br>"Technology Deployment International selected the Java-based Netscape
JavaScript engine to incorporate into the workflow module of our eBusiness
Management System (eBMS) allowing our customers to integrate business logic
into any workstep of their application," said Dr. Kelvin Liu, VP eBMS Development,
Technology Deployment International. "It has been easy to embed, the support
we received from the engineering team has been outstanding, and the performance
of the JavaScript code is almost identical to the equivalent Java."
<p><a href="http://www.xypoint.com/">XYPOINT</a>
<br>XYPOINT uses Rhino for automating test cases of their Java classes
used in their service <a href="http://www.webwirelessnow.com/">WebWirelessNow</a>.
Abraham Backus says that he's happy with Rhino because "I've always wanted
this kind of JavaScript support."
<h3>
<hr WIDTH="100%"><br>
<a href="index.html">back to top</a></h3>
</body>
</html>

View File

@@ -1,105 +0,0 @@
/* -*- 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 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, 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();
// 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

@@ -1,56 +0,0 @@
/* -*- 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 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, 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):
* 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.*;
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

@@ -1,79 +0,0 @@
/* -*- 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 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, 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):
* 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.*;
/**
* An example illustrating how to create a JavaScript object and retrieve
* properties and call methods.
* <p>
* Output should be:
* <pre>
* count = 0
* count = 1
* resetCount
* count = 0
* </pre>
*/
public class CounterTest {
public static void main(String[] args) throws Exception
{
Context cx = Context.enter();
try {
Scriptable scope = cx.initStandardObjects();
ScriptableObject.defineClass(scope, Counter.class);
Scriptable testCounter = cx.newObject(scope, "Counter");
Object count = ScriptableObject.getProperty(testCounter, "count");
System.out.println("count = " + count);
count = ScriptableObject.getProperty(testCounter, "count");
System.out.println("count = " + count);
ScriptableObject.callMethod(testCounter,
"resetCount",
new Object[0]);
System.out.println("resetCount");
count = ScriptableObject.getProperty(testCounter, "count");
System.out.println("count = " + count);
} finally {
Context.exit();
}
}
}

View File

@@ -1,172 +0,0 @@
/* -*- 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 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, 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.
ScriptableObject scope = cx.initStandardObjects(null, true);
// 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 (JavaScriptException jse) {
// ignore
}
finally {
Context.exit();
}
}
private Scriptable scope;
private String script;
private String x;
}
}

View File

@@ -1,347 +0,0 @@
/* -*- 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 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, 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);
Context cx = Context.getCurrentContext();
return cx.newObject(scope, "Array", lines);
}
/**
* 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

@@ -1,168 +0,0 @@
/* -*- 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 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, 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

@@ -1,276 +0,0 @@
/* -*- 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 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, 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 ScriptableObject.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;
proto = proto.getPrototype();
}
return false;
}
/**
* Some private data for this class.
*/
private int dim;
private Vector v;
private Scriptable prototype, parent;
}

View File

@@ -1,19 +0,0 @@
<html>
<body>
This is the NervousText applet in javascript:
<applet archive="js.jar" code=NervousText width=200 height=50 >
</applet>
<hr>
The test assumes that applet code is generated with:
<pre>
java -classpath js.jar org.mozilla.javascript.tools.jsc.Main \
-extends java.applet.Applet \
-implements java.lang.Runnable \
NervousText.js
</pre>
and the resulting 2 classes, NervousText.class extending java.applet.Applet and implementing java.lang.Runnable and NervousText1.class which represents compiled JavaScript code, are placed in the same directory as NervousText.html.
<p>
The test also assumes that js.jar from Rhino distribution is available in the same directory.
</body>
</html>

View File

@@ -1,75 +0,0 @@
// The Java "NervousText" example ported to JavaScript.
// Compile using java org.mozilla.javascript.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() {
this.resize(150,50);
this.setFont(new Font("TimesRoman",Font.BOLD,36));
s = this.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){}
this.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

@@ -1,69 +0,0 @@
/* -*- 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 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, 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):
* 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.*;
/**
* An example WrapFactory that can be used to avoid wrapping of Java types
* that can be converted to ECMA primitive values.
* So java.lang.String is mapped to ECMA string, all java.lang.Numbers are
* mapped to ECMA numbers, and java.lang.Booleans are mapped to ECMA booleans
* instead of being wrapped as objects. Additionally java.lang.Character is
* converted to ECMA string with length 1.
* Other types have the default behavior.
* <p>
* Note that calling "new java.lang.String('foo')" in JavaScript with this
* wrap factory enabled will still produce a wrapped Java object since the
* WrapFactory.wrapNewObject method is not overridden.
* <p>
* The PrimitiveWrapFactory is enabled on a Context by calling setWrapFactory
* on that context.
*/
public class PrimitiveWrapFactory extends WrapFactory {
public Object wrap(Context cx, Scriptable scope, Object obj,
Class staticType)
{
if (obj instanceof String || obj instanceof Number ||
obj instanceof Boolean)
{
return obj;
} else if (obj instanceof Character) {
char[] a = { ((Character)obj).charValue() };
return new String(a);
}
return super.wrap(cx, scope, obj, staticType);
}
}

View File

@@ -1,76 +0,0 @@
/* -*- 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 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, 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();
try {
// 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();
// 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));
} finally {
// Exit from the context.
Context.exit();
}
}
}

View File

@@ -1,67 +0,0 @@
/* -*- 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 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, 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();
try {
Scriptable scope = cx.initStandardObjects();
// 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));
} finally {
Context.exit();
}
}
}

View File

@@ -1,86 +0,0 @@
/* -*- 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 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, 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: Example of using JavaScript objects
*
* Collects its arguments from the command line, executes the
* script, and then ...
*
* @author Norris Boyd
*/
public class RunScript3 {
public static void main(String args[])
throws JavaScriptException
{
Context cx = Context.enter();
try {
Scriptable scope = cx.initStandardObjects();
// 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. We'll ignore the result.
cx.evaluateString(scope, s, "<cmd>", 1, null);
// Print the value of variable "x"
Object x = scope.get("x", scope);
if (x == Scriptable.NOT_FOUND) {
System.out.println("x is not defined.");
} else {
System.out.println("x = " + Context.toString(x));
}
// Call function "f('my arg')" and print its result.
Object fObj = scope.get("f", scope);
if (!(fObj instanceof Function)) {
System.out.println("f is undefined or not a function.");
} else {
Object functionArgs[] = { "my arg" };
Function f = (Function)fObj;
Object result = f.call(cx, scope, scope, functionArgs);
String report = "f('my args') = " + Context.toString(result);
System.out.println(report);
}
} finally {
Context.exit();
}
}
}

View File

@@ -1,75 +0,0 @@
/* -*- 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 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, 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.*;
/**
* RunScript4: Execute scripts in an environment that includes the
* example Counter class.
*
* @author Norris Boyd
*/
public class RunScript4 {
public static void main(String args[])
throws Exception
{
Context cx = Context.enter();
try {
Scriptable scope = cx.initStandardObjects();
// Use the Counter class to define a Counter constructor
// and prototype in JavaScript.
ScriptableObject.defineClass(scope, Counter.class);
// Create an instance of Counter and assign it to
// the top-level variable "myCounter". This is
// equivalent to the JavaScript code
// myCounter = new Counter(7);
Object[] arg = { new Integer(7) };
Scriptable myCounter = cx.newObject(scope, "Counter", arg);
scope.put("myCounter", scope, myCounter);
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));
} finally {
Context.exit();
}
}
}

View File

@@ -1,345 +0,0 @@
/* -*- 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 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, 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
{
public String getClassName()
{
return "global";
}
/**
* 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();
try {
// Initialize the standard objects (Object, Function, etc.)
// This must be done before scripts can be executed.
Shell shell = new Shell();
cx.initStandardObjects(shell);
// 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 {
shell.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(shell, array);
shell.defineProperty("arguments", argsObj,
ScriptableObject.DONTENUM);
shell.processSource(cx, args.length == 0 ? null : args[0]);
} finally {
Context.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];
}
/**
* Print a usage message.
*/
private static void usage(String s) {
p("Didn't understand \"" + s + "\".");
p("Valid arguments are:");
p("-version 100|110|120|130|140|150");
System.exit(1);
}
/**
* Print a help message.
*
* This method is defined as a JavaScript function.
*/
public void help() {
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 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)
{
Shell shell = (Shell)getTopLevelScope(thisObj);
for (int i = 0; i < args.length; i++) {
shell.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.
*/
private 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(this, 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(this, 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);
}
private boolean quitting;
}

View File

@@ -1,61 +0,0 @@
/*
* SwingApplication.js - a translation into JavaScript of
* SwingApplication.java, a java.sun.com Swing example.
*
* @author Roger E Critchlow, Jr.
*/
importPackage(Packages.javax.swing);
importPackage(Packages.java.awt);
importPackage(Packages.java.awt.event);
function createComponents() {
var labelPrefix = "Number of button clicks: ";
var numClicks = 0;
var label = new JLabel(labelPrefix + numClicks);
var button = new JButton("I'm a Swing button!");
button.mnemonic = KeyEvent.VK_I;
// Since Rhino 1.5R5 JS functions can be passed to Java method if
// corresponding argument type is Java interface with single method.
button.addActionListener(function() {
numClicks += 1;
label.setText(labelPrefix + numClicks);
});
label.setLabelFor(button);
/*
* An easy way to put space between a top-level container
* and its contents is to put the contents in a JPanel
* that has an "empty" border.
*/
var pane = new JPanel();
pane.border = BorderFactory.createEmptyBorder(30, //top
30, //left
10, //bottom
30); //right
pane.setLayout(new GridLayout(0, 1));
pane.add(button);
pane.add(label);
return pane;
}
try {
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
} catch (e) { }
//Create the top-level container and add contents to it.
var frame = new JFrame("SwingApplication");
frame.getContentPane().add(createComponents(), BorderLayout.CENTER);
//Finish setting up the frame, and show it.
frame.addWindowListener(new WindowAdapter({
windowClosing : function() {
java.lang.System.exit(0);
}
}) );
frame.pack();
frame.setVisible(true);

View File

@@ -1,134 +0,0 @@
/* -*- 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 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) 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

@@ -1,70 +0,0 @@
/* -*- 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 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) 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

@@ -1,553 +0,0 @@
/* -*- 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 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) 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[5], comment); // sjm changed from 2nd to 5th arg
// 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 = "";
}
// match a method being bound to a prototype
m = s.match(/^\s*(\w*)\.prototype\.(\w*)\s*=\s*function\s*\(([^)]*)\)/);
if (m != null)
{
// Found a method being bound to a prototype.
var htmlText = processPrototypeMethod(m[1], m[2], m[3], comment);
// Save the text in a global variable, so we
// can write out a table of contents first.
functionDocArray[functionDocArray.length] = {name:m[1]+".prototype."+m[2], 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 a method being bound to a prototype.
* @param proto the name of the prototype
* @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 processPrototypeMethod(proto, name, args, comment) {
if (debug)
print("Processing " + proto + ".prototype." + name + " " + args + " " + comment);
return "<H2> Method " + proto + ".prototype." + name + "</H2>" +
"<PRE>" +
proto + ".prototype." + name + " = function(" + 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

@@ -1,54 +0,0 @@
/* -*- 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 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) 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

@@ -1,53 +0,0 @@
/* -*- 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 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) 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.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Build file for Rhino using Ant (see http://jakarta.apache.org/ant/index.html)
Requires Ant version 1.2
-->
<project name="src" default="compile" basedir=".">
<target name="properties">
<property name="nest" value=".."/>
<property name="build.dir" value="./build"/>
<property name="classes" value="${build.dir}/classes"/>
</target>
<target name="compile" depends="properties">
<javac srcdir="."
destdir="${nest}/${classes}"
includes="org/**/*.java"
deprecation="on"
debug="${debug}">
</javac>
<copy todir="${nest}/${classes}">
<fileset dir="." includes="org/**/*.properties" />
</copy>
</target>
<target name="copy-source" depends="properties">
<copy todir="${nest}/${dist.src}">
<fileset dir="."
includes="org/**/*.java,org/**/*.properties,build.xml,manifest"/>
</copy>
</target>
<target name="clean" depends="properties">
<delete includeEmptyDirs="true">
<fileset dir="${nest}/${classes}"
excludes="org/mozilla/javascript/tools/**"/>
</delete>
</target>
</project>

View File

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

View File

@@ -1,271 +0,0 @@
/* -*- 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 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) 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.classfile;
/**
* This class provides opcode values expected by the JVM in Java class files.
*
* It also provides tables for internal use by the ClassFileWriter.
*
* @author Roger Lawrence
*/
public class ByteCode {
/**
* The byte opcodes defined by the Java Virtual Machine.
*/
public static final byte
NOP = 0x00,
ACONST_NULL = 0x01,
ICONST_M1 = 0x02,
ICONST_0 = 0x03,
ICONST_1 = 0x04,
ICONST_2 = 0x05,
ICONST_3 = 0x06,
ICONST_4 = 0x07,
ICONST_5 = 0x08,
LCONST_0 = 0x09,
LCONST_1 = 0x0A,
FCONST_0 = 0x0B,
FCONST_1 = 0x0C,
FCONST_2 = 0x0D,
DCONST_0 = 0x0E,
DCONST_1 = 0x0F,
BIPUSH = 0x10,
SIPUSH = 0x11,
LDC = 0x12,
LDC_W = 0x13,
LDC2_W = 0x14,
ILOAD = 0x15,
LLOAD = 0x16,
FLOAD = 0x17,
DLOAD = 0x18,
ALOAD = 0x19,
ILOAD_0 = 0x1A,
ILOAD_1 = 0x1B,
ILOAD_2 = 0x1C,
ILOAD_3 = 0x1D,
LLOAD_0 = 0x1E,
LLOAD_1 = 0x1F,
LLOAD_2 = 0x20,
LLOAD_3 = 0x21,
FLOAD_0 = 0x22,
FLOAD_1 = 0x23,
FLOAD_2 = 0x24,
FLOAD_3 = 0x25,
DLOAD_0 = 0x26,
DLOAD_1 = 0x27,
DLOAD_2 = 0x28,
DLOAD_3 = 0x29,
ALOAD_0 = 0x2A,
ALOAD_1 = 0x2B,
ALOAD_2 = 0x2C,
ALOAD_3 = 0x2D,
IALOAD = 0x2E,
LALOAD = 0x2F,
FALOAD = 0x30,
DALOAD = 0x31,
AALOAD = 0x32,
BALOAD = 0x33,
CALOAD = 0x34,
SALOAD = 0x35,
ISTORE = 0x36,
LSTORE = 0x37,
FSTORE = 0x38,
DSTORE = 0x39,
ASTORE = 0x3A,
ISTORE_0 = 0x3B,
ISTORE_1 = 0x3C,
ISTORE_2 = 0x3D,
ISTORE_3 = 0x3E,
LSTORE_0 = 0x3F,
LSTORE_1 = 0x40,
LSTORE_2 = 0x41,
LSTORE_3 = 0x42,
FSTORE_0 = 0x43,
FSTORE_1 = 0x44,
FSTORE_2 = 0x45,
FSTORE_3 = 0x46,
DSTORE_0 = 0x47,
DSTORE_1 = 0x48,
DSTORE_2 = 0x49,
DSTORE_3 = 0x4A,
ASTORE_0 = 0x4B,
ASTORE_1 = 0x4C,
ASTORE_2 = 0x4D,
ASTORE_3 = 0x4E,
IASTORE = 0x4F,
LASTORE = 0x50,
FASTORE = 0x51,
DASTORE = 0x52,
AASTORE = 0x53,
BASTORE = 0x54,
CASTORE = 0x55,
SASTORE = 0x56,
POP = 0x57,
POP2 = 0x58,
DUP = 0x59,
DUP_X1 = 0x5A,
DUP_X2 = 0x5B,
DUP2 = 0x5C,
DUP2_X1 = 0x5D,
DUP2_X2 = 0x5E,
SWAP = 0x5F,
IADD = 0x60,
LADD = 0x61,
FADD = 0x62,
DADD = 0x63,
ISUB = 0x64,
LSUB = 0x65,
FSUB = 0x66,
DSUB = 0x67,
IMUL = 0x68,
LMUL = 0x69,
FMUL = 0x6A,
DMUL = 0x6B,
IDIV = 0x6C,
LDIV = 0x6D,
FDIV = 0x6E,
DDIV = 0x6F,
IREM = 0x70,
LREM = 0x71,
FREM = 0x72,
DREM = 0x73,
INEG = 0x74,
LNEG = 0x75,
FNEG = 0x76,
DNEG = 0x77,
ISHL = 0x78,
LSHL = 0x79,
ISHR = 0x7A,
LSHR = 0x7B,
IUSHR = 0x7C,
LUSHR = 0x7D,
IAND = 0x7E,
LAND = 0x7F,
IOR = (byte)0x80,
LOR = (byte)0x81,
IXOR = (byte)0x82,
LXOR = (byte)0x83,
IINC = (byte)0x84,
I2L = (byte)0x85,
I2F = (byte)0x86,
I2D = (byte)0x87,
L2I = (byte)0x88,
L2F = (byte)0x89,
L2D = (byte)0x8A,
F2I = (byte)0x8B,
F2L = (byte)0x8C,
F2D = (byte)0x8D,
D2I = (byte)0x8E,
D2L = (byte)0x8F,
D2F = (byte)0x90,
I2B = (byte)0x91,
I2C = (byte)0x92,
I2S = (byte)0x93,
LCMP = (byte)0x94,
FCMPL = (byte)0x95,
FCMPG = (byte)0x96,
DCMPL = (byte)0x97,
DCMPG = (byte)0x98,
IFEQ = (byte)0x99,
IFNE = (byte)0x9A,
IFLT = (byte)0x9B,
IFGE = (byte)0x9C,
IFGT = (byte)0x9D,
IFLE = (byte)0x9E,
IF_ICMPEQ = (byte)0x9F,
IF_ICMPNE = (byte)0xA0,
IF_ICMPLT = (byte)0xA1,
IF_ICMPGE = (byte)0xA2,
IF_ICMPGT = (byte)0xA3,
IF_ICMPLE = (byte)0xA4,
IF_ACMPEQ = (byte)0xA5,
IF_ACMPNE = (byte)0xA6,
GOTO = (byte)0xA7,
JSR = (byte)0xA8,
RET = (byte)0xA9,
TABLESWITCH = (byte)0xAA,
LOOKUPSWITCH = (byte)0xAB,
IRETURN = (byte)0xAC,
LRETURN = (byte)0xAD,
FRETURN = (byte)0xAE,
DRETURN = (byte)0xAF,
ARETURN = (byte)0xB0,
RETURN = (byte)0xB1,
GETSTATIC = (byte)0xB2,
PUTSTATIC = (byte)0xB3,
GETFIELD = (byte)0xB4,
PUTFIELD = (byte)0xB5,
INVOKEVIRTUAL = (byte)0xB6,
INVOKESPECIAL = (byte)0xB7,
INVOKESTATIC = (byte)0xB8,
INVOKEINTERFACE = (byte)0xB9,
NEW = (byte)0xBB,
NEWARRAY = (byte)0xBC,
ANEWARRAY = (byte)0xBD,
ARRAYLENGTH = (byte)0xBE,
ATHROW = (byte)0xBF,
CHECKCAST = (byte)0xC0,
INSTANCEOF = (byte)0xC1,
MONITORENTER = (byte)0xC2,
MONITOREXIT = (byte)0xC3,
WIDE = (byte)0xC4,
MULTIANEWARRAY = (byte)0xC5,
IFNULL = (byte)0xC6,
IFNONNULL = (byte)0xC7,
GOTO_W = (byte)0xC8,
JSR_W = (byte)0xC9,
BREAKPOINT = (byte)0xCA,
IMPDEP1 = (byte)0xFE,
IMPDEP2 = (byte)0xFF;
/**
* Types for the NEWARRAY opcode.
*/
public static final byte
T_BOOLEAN = 4,
T_CHAR = 5,
T_FLOAT = 6,
T_DOUBLE = 7,
T_BYTE = 8,
T_SHORT = 9,
T_INT = 10,
T_LONG = 11;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,66 +0,0 @@
/*
* 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Igor Bukanov
*
* 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.classfile;
/**
* Information about java variable to use when generating the local
* variable table.
*/
public interface JavaVariable {
/**
* Variable name
*/
public String getName();
/**
* Return variable type as bytecode descriptor string
*/
public String getTypeDescriptor();
/**
* Return the starting bytecode PC where this variable is live, or -1
* if it is not a Java register.
*/
public int getStartPC();
/**
* Return the Java register number or -1 if it is not a Java register.
*/
public short getJRegister();
}

View File

@@ -1,276 +0,0 @@
/* -*- 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 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Igor Bukanov
*
* 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 IdScriptable {
public Arguments(NativeCall activation) {
this.activation = activation;
Scriptable parent = activation.getParentScope();
setParentScope(parent);
setPrototype(ScriptableObject.getObjectPrototype(parent));
args = activation.getOriginalArguments();
lengthObj = new Integer(args.length);
NativeFunction funObj = activation.funObj;
calleeObj = funObj;
if (funObj.version <= Context.VERSION_1_3
&& funObj.version != Context.VERSION_DEFAULT)
{
callerObj = null;
}else {
callerObj = NOT_FOUND;
}
}
public String getClassName() {
return "Arguments";
}
public boolean has(int index, Scriptable start) {
if (0 <= index && index < args.length) {
if (args[index] != NOT_FOUND) {
return true;
}
}
return super.has(index, start);
}
public Object get(int index, Scriptable start) {
if (0 <= index && index < args.length) {
Object value = args[index];
if (value != NOT_FOUND) {
if (sharedWithActivation(index)) {
String argName = activation.funObj.argNames[index];
value = activation.get(argName, activation);
if (value == NOT_FOUND) Kit.codeBug();
}
return value;
}
}
return super.get(index, start);
}
private boolean sharedWithActivation(int index) {
NativeFunction f = activation.funObj;
int definedCount = f.argCount;
if (index < definedCount) {
// Check if argument is not hidden by later argument with the same
// name as hidden arguments are not shared with activation
if (index < definedCount - 1) {
String argName = f.argNames[index];
for (int i = index + 1; i < definedCount; i++) {
if (argName.equals(f.argNames[i])) {
return false;
}
}
}
return true;
}
return false;
}
public void put(int index, Scriptable start, Object value) {
if (0 <= index && index < args.length) {
if (args[index] != NOT_FOUND) {
if (sharedWithActivation(index)) {
String argName = activation.funObj.argNames[index];
activation.put(argName, activation, value);
return;
}
synchronized (this) {
if (args[index] != NOT_FOUND) {
if (args == activation.getOriginalArguments()) {
args = (Object[])args.clone();
}
args[index] = value;
return;
}
}
}
}
super.put(index, start, value);
}
public void delete(int index) {
if (0 <= index && index < args.length) {
synchronized (this) {
if (args[index] != NOT_FOUND) {
if (args == activation.getOriginalArguments()) {
args = (Object[])args.clone();
}
args[index] = NOT_FOUND;
return;
}
}
}
super.delete(index);
}
protected int getIdAttributes(int id)
{
switch (id) {
case Id_callee:
case Id_caller:
case Id_length:
return DONTENUM;
}
return super.getIdAttributes(id);
}
protected boolean hasIdValue(int id)
{
switch (id) {
case Id_callee: return calleeObj != NOT_FOUND;
case Id_length: return lengthObj != NOT_FOUND;
case Id_caller: return callerObj != NOT_FOUND;
}
return super.hasIdValue(id);
}
protected Object getIdValue(int id)
{
switch (id) {
case Id_callee: return calleeObj;
case Id_length: return lengthObj;
case Id_caller: {
Object value = callerObj;
if (value == UniqueTag.NULL_VALUE) { value = null; }
else if (value == null) {
NativeCall caller = activation.caller;
if (caller == null) {
value = null;
}else {
value = caller.get("arguments", caller);
}
}
return value;
}
}
return super.getIdValue(id);
}
protected void setIdValue(int id, Object value)
{
switch (id) {
case Id_callee: calleeObj = value; return;
case Id_length: lengthObj = value; return;
case Id_caller:
callerObj = (value != null) ? value : UniqueTag.NULL_VALUE;
return;
}
super.setIdValue(id, value);
}
protected void deleteIdValue(int id)
{
switch (id) {
case Id_callee: calleeObj = NOT_FOUND; return;
case Id_length: lengthObj = NOT_FOUND; return;
case Id_caller: callerObj = NOT_FOUND; return;
}
super.deleteIdValue(id);
}
protected String getIdName(int id)
{
switch (id) {
case Id_callee: return "callee";
case Id_length: return "length";
case Id_caller: return "caller";
}
return null;
}
// #string_id_map#
private static final int
Id_callee = 1,
Id_length = 2,
Id_caller = 3,
MAX_INSTANCE_ID = 3;
{ setMaxId(MAX_INSTANCE_ID); }
protected int mapNameToId(String s)
{
int id;
// #generated# Last update: 2002-04-09 20:46:33 CEST
L0: { id = 0; String X = null; int c;
if (s.length()==6) {
c=s.charAt(5);
if (c=='e') { X="callee";id=Id_callee; }
else if (c=='h') { X="length";id=Id_length; }
else if (c=='r') { X="caller";id=Id_caller; }
}
if (X!=null && X!=s && !X.equals(s)) id = 0;
}
// #/generated#
return id;
}
// #/string_id_map#
// Fields to hold caller, callee and length properties,
// where NOT_FOUND value tags deleted properties.
// In addition if callerObj == NULL_VALUE, it tags null for scripts, as
// initial callerObj == null means access to caller arguments available
// only in JS <= 1.3 scripts
private Object callerObj;
private Object calleeObj;
private Object lengthObj;
private NativeCall activation;
// Initially args holds activation.getOriginalArgs(), but any modification
// of its elements triggers creation of a copy. If its element holds NOT_FOUND,
// it indicates deleted index, in which case super class is queried.
private Object[] args;
}

View File

@@ -1,585 +0,0 @@
/* -*- 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 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Igor Bukanov
* 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;
/**
* The base class for Function objects
* See ECMA 15.3.
* @author Norris Boyd
*/
public class BaseFunction extends IdScriptable implements Function {
static void init(Context cx, Scriptable scope, boolean sealed) {
BaseFunction obj = new BaseFunction();
obj.prototypeFlag = true;
obj.functionName = "";
obj.isPrototypePropertyImmune = true;
obj.addAsPrototype(MAX_PROTOTYPE_ID, cx, scope, sealed);
}
protected void fillConstructorProperties
(Context cx, IdFunction ctor, boolean sealed)
{
// Fix up bootstrapping problem: getPrototype of the IdFunction
// can not return Function.prototype because Function object is not
// yet defined.
ctor.setPrototype(this);
}
public String getClassName() {
return "Function";
}
/**
* Implements the instanceof operator for JavaScript Function objects.
* <p>
* <code>
* foo = new Foo();<br>
* foo instanceof Foo; // true<br>
* </code>
*
* @param instance The value that appeared on the LHS of the instanceof
* operator
* @return true if the "prototype" property of "this" appears in
* value's prototype chain
*
*/
public boolean hasInstance(Scriptable instance)
{
Object protoProp = ScriptableObject.getProperty(this, "prototype");
if (protoProp instanceof Scriptable && protoProp != Undefined.instance)
{
return ScriptRuntime.jsDelegatesTo(instance, (Scriptable)protoProp);
}
throw ScriptRuntime.typeError1("msg.instanceof.bad.prototype",
functionName);
}
protected String toSource(Context cx, Scriptable scope, Object[] args)
{
int indent = 0;
int flags = Decompiler.TO_SOURCE_FLAG;
if (args.length != 0) {
indent = ScriptRuntime.toInt32(args[0]);
if (indent >= 0) {
flags = 0;
} else {
indent = 0;
}
}
return decompile(cx, indent, flags);
}
protected int getIdAttributes(int id)
{
switch (id) {
case Id_length:
case Id_arity:
case Id_name:
return DONTENUM | READONLY | PERMANENT;
case Id_prototype:
return isPrototypePropertyImmune
? DONTENUM | READONLY | PERMANENT
: DONTENUM;
case Id_arguments:
return EMPTY;
}
return super.getIdAttributes(id);
}
protected boolean hasIdValue(int id)
{
if (id == Id_prototype) {
return prototypeProperty != NOT_FOUND;
}
else if (id == Id_arguments) {
// Should after delete Function.arguments its activation still
// be available during Function call?
// This code assumes it should not: after default set/deleteIdValue
// hasIdValue/getIdValue would not be called again
// To handle the opposite case, set/deleteIdValue should be
// overwritten as well
return null != getActivation(Context.getContext());
}
return super.hasIdValue(id);
}
protected Object getIdValue(int id)
{
switch (id) {
case Id_length: return wrap_int(getLength());
case Id_arity: return wrap_int(getArity());
case Id_name: return getFunctionName();
case Id_prototype: return getPrototypeProperty();
case Id_arguments: return getArguments();
}
return super.getIdValue(id);
}
protected void setIdValue(int id, Object value)
{
if (id == Id_prototype) {
prototypeProperty = (value != null) ? value : UniqueTag.NULL_VALUE;
return;
}
super.setIdValue(id, value);
}
protected void deleteIdValue(int id)
{
if (id == Id_prototype) {
prototypeProperty = NOT_FOUND;
return;
}
super.deleteIdValue(id);
}
public int methodArity(int methodId)
{
if (prototypeFlag) {
switch (methodId) {
case Id_constructor: return 1;
case Id_toString: return 1;
case Id_apply: return 2;
case Id_call: return 1;
}
}
return super.methodArity(methodId);
}
public Object execMethod(int methodId, IdFunction f, Context cx,
Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
if (prototypeFlag) {
switch (methodId) {
case Id_constructor:
return jsConstructor(cx, scope, args);
case Id_toString: {
int indent = ScriptRuntime.toInt32(args, 0);
Object x = thisObj.getDefaultValue(ScriptRuntime.FunctionClass);
if (x instanceof BaseFunction) {
return ((BaseFunction)x).decompile(cx, indent, 0);
}
throw ScriptRuntime.typeError1("msg.incompat.call", "toString");
}
case Id_apply:
case Id_call:
return applyOrCall(methodId == Id_apply, cx, scope,
thisObj, args);
}
}
return super.execMethod(methodId, f, cx, scope, thisObj, args);
}
/**
* Make value as DontEnum, DontDelete, ReadOnly
* prototype property of this Function object
*/
public void setImmunePrototypeProperty(Object value)
{
prototypeProperty = (value != null) ? value : UniqueTag.NULL_VALUE;
isPrototypePropertyImmune = true;
}
protected Scriptable getClassPrototype()
{
Object protoVal = getPrototypeProperty();
if (protoVal instanceof Scriptable && protoVal != Undefined.instance) {
return (Scriptable) protoVal;
}
return getClassPrototype(this, "Object");
}
/**
* Should be overridden.
*/
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException
{
return Undefined.instance;
}
public Scriptable construct(Context cx, Scriptable scope, Object[] args)
throws JavaScriptException
{
Scriptable result = createObject(cx, scope);
if (result != null) {
Object val = call(cx, scope, result, args);
if (val instanceof Scriptable && val != Undefined.instance) {
result = (Scriptable)val;
}
} else {
Object val = call(cx, scope, null, args);
if (!(val instanceof Scriptable && val != Undefined.instance)) {
// It is program error not to return Scriptable from
// the call method if createObject returns null.
throw new IllegalStateException(
"Bad implementaion of call as constructor, name="
+functionName+" in "+getClass().getName());
}
result = (Scriptable)val;
if (result.getPrototype() == null) {
result.setPrototype(getClassPrototype());
}
if (result.getParentScope() == null) {
Scriptable parent = getParentScope();
if (result != parent) {
result.setParentScope(parent);
}
}
}
return result;
}
/**
* Creates new script object.
* The default implementation of {@link #construct} uses the method to
* to get the value for <tt>thisObj</tt> argument when invoking
* {@link #call}.
* The methos is allowed to return <tt>null</tt> to indicate that
* {@link #call} will create a new object itself. In this case
* {@link #construct} will set scope and prototype on the result
* {@link #call} unless they are already set.
*/
public Scriptable createObject(Context cx, Scriptable scope)
{
Scriptable newInstance = new NativeObject();
newInstance.setPrototype(getClassPrototype());
newInstance.setParentScope(getParentScope());
return newInstance;
}
/**
* Decompile the source information associated with this js
* function/script back into a string.
*
* @param cx Current context.
*
* @param indent How much to indent the decompiled result.
*
* @param flags Flags specifying format of decompilation output.
*/
public String decompile(Context cx, int indent, int flags)
{
StringBuffer sb = new StringBuffer();
boolean justbody = (0 != (flags & Decompiler.ONLY_BODY_FLAG));
if (!justbody) {
sb.append("function ");
sb.append(getFunctionName());
sb.append("() {\n\t");
}
sb.append("[native code, arity=");
sb.append(getArity());
sb.append("]\n");
if (!justbody) {
sb.append("}\n");
}
return sb.toString();
}
public int getArity() { return 0; }
public int getLength() { return 0; }
public String getFunctionName() {
if (functionName == null)
return "";
return functionName;
}
private Object getPrototypeProperty() {
Object result = prototypeProperty;
if (result == null) {
synchronized (this) {
result = prototypeProperty;
if (result == null) {
setupDefaultPrototype();
result = prototypeProperty;
}
}
}
else if (result == UniqueTag.NULL_VALUE) { result = null; }
return result;
}
private void setupDefaultPrototype()
{
NativeObject obj = new NativeObject();
final int attr = ScriptableObject.DONTENUM |
ScriptableObject.READONLY |
ScriptableObject.PERMANENT;
obj.defineProperty("constructor", this, attr);
// put the prototype property into the object now, then in the
// wacky case of a user defining a function Object(), we don't
// get an infinite loop trying to find the prototype.
prototypeProperty = obj;
Scriptable proto = getObjectPrototype(this);
if (proto != obj) {
// not the one we just made, it must remain grounded
obj.setPrototype(proto);
}
}
private Object getArguments()
{
// <Function name>.arguments is deprecated, so we use a slow
// way of getting it that doesn't add to the invocation cost.
// TODO: add warning, error based on version
NativeCall activation = getActivation(Context.getContext());
return activation == null
? null
: activation.get("arguments", activation);
}
NativeCall getActivation(Context cx)
{
NativeCall activation = cx.currentActivation;
while (activation != null) {
if (activation.getFunctionObject() == this)
return activation;
activation = activation.caller;
}
return null;
}
private static Object jsConstructor(Context cx, Scriptable scope,
Object[] args)
{
int arglen = args.length;
StringBuffer sourceBuf = new StringBuffer();
sourceBuf.append("function ");
/* version != 1.2 Function constructor behavior -
* print 'anonymous' as the function name if the
* version (under which the function was compiled) is
* less than 1.2... or if it's greater than 1.2, because
* we need to be closer to ECMA.
*/
if (cx.getLanguageVersion() != Context.VERSION_1_2) {
sourceBuf.append("anonymous");
}
sourceBuf.append('(');
// Append arguments as coma separated strings
for (int i = 0; i < arglen - 1; i++) {
if (i > 0) {
sourceBuf.append(',');
}
sourceBuf.append(ScriptRuntime.toString(args[i]));
}
sourceBuf.append(") {");
if (arglen != 0) {
// append function body
String funBody = ScriptRuntime.toString(args[arglen - 1]);
sourceBuf.append(funBody);
}
sourceBuf.append('}');
String source = sourceBuf.toString();
int[] linep = new int[1];
String filename = Context.getSourcePositionFromStack(linep);
if (filename == null) {
filename = "<eval'ed string>";
linep[0] = 1;
}
String sourceName = ScriptRuntime.
makeUrlForGeneratedScript(false, filename, linep[0]);
Scriptable global = ScriptableObject.getTopLevelScope(scope);
// Compile the function with opt level of -1 to force interpreter
// mode.
int oldOptLevel = cx.getOptimizationLevel();
cx.setOptimizationLevel(-1);
NativeFunction fn;
try {
fn = (NativeFunction) cx.compileFunction(global, source,
sourceName, 1,
null);
}
finally { cx.setOptimizationLevel(oldOptLevel); }
ScriptRuntime.setFunctionProtoAndParent(global, fn);
return fn;
}
/**
* Function.prototype.apply and Function.prototype.call
*
* See Ecma 15.3.4.[34]
*/
private static Object applyOrCall(boolean isApply,
Context cx, Scriptable scope,
Scriptable thisObj, Object[] args)
throws JavaScriptException
{
int L = args.length;
Object function = thisObj.getDefaultValue(ScriptRuntime.FunctionClass);
Object callThis;
if (L == 0 || args[0] == null || args[0] == Undefined.instance) {
callThis = ScriptableObject.getTopLevelScope(scope);
} else {
callThis = ScriptRuntime.toObject(cx, scope, args[0]);
}
Object[] callArgs;
if (isApply) {
// Follow Ecma 15.3.4.3
if (L <= 1) {
callArgs = ScriptRuntime.emptyArgs;
} else {
Object arg1 = args[1];
if (arg1 == null || arg1 == Undefined.instance) {
callArgs = ScriptRuntime.emptyArgs;
} else if (arg1 instanceof NativeArray
|| arg1 instanceof Arguments)
{
callArgs = cx.getElements((Scriptable) arg1);
} else {
throw ScriptRuntime.typeError0("msg.arg.isnt.array");
}
}
} else {
// Follow Ecma 15.3.4.4
if (L <= 1) {
callArgs = ScriptRuntime.emptyArgs;
} else {
callArgs = new Object[L - 1];
System.arraycopy(args, 1, callArgs, 0, L - 1);
}
}
return ScriptRuntime.call(cx, function, callThis, callArgs, scope);
}
protected String getIdName(int id)
{
switch (id) {
case Id_length: return "length";
case Id_arity: return "arity";
case Id_name: return "name";
case Id_prototype: return "prototype";
case Id_arguments: return "arguments";
}
if (prototypeFlag) {
switch (id) {
case Id_constructor: return "constructor";
case Id_toString: return "toString";
case Id_apply: return "apply";
case Id_call: return "call";
}
}
return null;
}
// #string_id_map#
private static final int
Id_length = 1,
Id_arity = 2,
Id_name = 3,
Id_prototype = 4,
Id_arguments = 5,
MAX_INSTANCE_ID = 5;
{ setMaxId(MAX_INSTANCE_ID); }
protected int mapNameToId(String s)
{
int id;
// #generated# Last update: 2001-05-20 00:12:12 GMT+02:00
L0: { id = 0; String X = null; int c;
L: switch (s.length()) {
case 4: X="name";id=Id_name; break L;
case 5: X="arity";id=Id_arity; break L;
case 6: X="length";id=Id_length; break L;
case 9: c=s.charAt(0);
if (c=='a') { X="arguments";id=Id_arguments; }
else if (c=='p') { X="prototype";id=Id_prototype; }
break L;
}
if (X!=null && X!=s && !X.equals(s)) id = 0;
}
// #/generated#
// #/string_id_map#
if (id != 0 || !prototypeFlag) { return id; }
// #string_id_map#
// #generated# Last update: 2001-05-20 00:12:12 GMT+02:00
L0: { id = 0; String X = null;
L: switch (s.length()) {
case 4: X="call";id=Id_call; break L;
case 5: X="apply";id=Id_apply; break L;
case 8: X="toString";id=Id_toString; break L;
case 11: X="constructor";id=Id_constructor; break L;
}
if (X!=null && X!=s && !X.equals(s)) id = 0;
}
// #/generated#
return id;
}
private static final int
Id_constructor = MAX_INSTANCE_ID + 1,
Id_toString = MAX_INSTANCE_ID + 2,
Id_apply = MAX_INSTANCE_ID + 3,
Id_call = MAX_INSTANCE_ID + 4,
MAX_PROTOTYPE_ID = MAX_INSTANCE_ID + 4;
// #/string_id_map#
protected String functionName;
private Object prototypeProperty;
private boolean isPrototypePropertyImmune;
private boolean prototypeFlag;
}

View File

@@ -1,63 +0,0 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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 interface specifiing callable object to execute script
* related code on demand.
*
* The Initial Developer of the Original Code is
* RUnit Software AS.
* Portions created by the Initial Developer are Copyright (C) 2003
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Igor Bukanov, igor@fastmail.fm
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
package org.mozilla.javascript;
/**
* Generic notion of callable object that can execute some script-related code
* upon request with specified values for script scope and this objects.
*/
public interface Callable
{
/**
* Perform the call.
*
* @param cx the current Context for this thread
* @param scope the scope to use to resolve properties.
* @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;
}

View File

@@ -1,199 +0,0 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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 cache holder of generated code for Java reflection
*
* The Initial Developer of the Original Code is
* RUnit Software AS.
* Portions created by the Initial Developer are Copyright (C) 2003
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Igor Bukanov, igor@fastmail.fm
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
package org.mozilla.javascript;
import java.io.*;
import java.util.Hashtable;
/**
* Cache of generated classes and data structures to access Java runtime
* from JavaScript.
*
* @author Igor Bukanov
*
* @since Rhino 1.5 Release 5
*/
public class ClassCache
{
private static final Object AKEY = new Object();
private volatile boolean cachingIsEnabled = true;
Hashtable classTable = new Hashtable();
boolean invokerOptimization = true;
Invoker invokerMaster;
Hashtable javaAdapterGeneratedClasses = new Hashtable();
Hashtable javaAdapterIFGlueMasters = new Hashtable();
private int generatedClassSerial;
/**
* Search for ClassCache object in the given scope.
* The method first calls
* {@link ScriptableObject#getTopLevelScope(Scriptable scope)}
* to get the top most scope and then tries to locate associated
* ClassCache object in the prototype chain of the top scope.
*
* @param scope scope to search for ClassCache object.
* @return previously associated ClassCache object or a new instance of
* ClassCache if no ClassCache object was found.
*
* @see #associate(ScriptableObject topScope)
*/
public static ClassCache get(Scriptable scope)
{
scope = ScriptableObject.getTopLevelScope(scope);
Scriptable obj = scope;
do {
if (obj instanceof ScriptableObject) {
ScriptableObject so = (ScriptableObject)obj;
ClassCache lc = (ClassCache)so.getAssociatedValue(AKEY);
if (lc != null) {
return lc;
}
}
obj = obj.getPrototype();
} while (obj != null);
// ALERT: warn somehow about wrong cache usage ?
return new ClassCache();
}
/**
* Associate ClassCache object with the given top-level scope.
* The ClassCache object can only be associated with the given scope once.
*
* @param topScope scope to associate this ClassCache object with.
* @return true if no prevous ClassCache objects were embedded into
* the scope and this ClassCache were successfully associated
* or false otherwise.
*
* @see #get(Scriptable scope)
*/
public boolean associate(ScriptableObject topScope)
{
if (topScope.getParentScope() != null) {
// Can only associate cache with top level scope
throw new IllegalArgumentException();
}
return this != topScope.associateValue(AKEY, this);
}
/**
* Empty caches of generated Java classes and Java reflection information.
*/
public synchronized void clearCaches()
{
classTable = new Hashtable();
javaAdapterGeneratedClasses = new Hashtable();
javaAdapterIFGlueMasters = new Hashtable();
Invoker im = invokerMaster;
if (im != null) {
im.clearMasterCaches();
}
}
/**
* Check if generated Java classes and Java reflection information
* is cached.
*/
public final boolean isCachingEnabled()
{
return cachingIsEnabled;
}
/**
* Set whether to cache some values.
* <p>
* By default, the engine will cache generated classes and
* results of <tt>Class.getMethods()</tt> and similar calls.
* This can speed execution dramatically, but increases the memory
* footprint. Also, with caching enabled, references may be held to
* objects past the lifetime of any real usage.
* <p>
* If caching is enabled and this method is called with a
* <code>false</code> argument, the caches will be emptied.
* <p>
* Caching is enabled by default.
*
* @param cachingEnabled if true, caching is enabled
*
* @see #clearCaches()
*/
public synchronized void setCachingEnabled(boolean enabled)
{
if (enabled == cachingIsEnabled)
return;
if (!enabled)
clearCaches();
cachingIsEnabled = enabled;
}
/**
* To optimize invocation of reflected Java methods, the engine generates
* special glue classes that will call the methods directly. By default
* the optimization is enabled since it allows to speedup method invocation
* compared with calling <tt>Method.invoke</tt> by factor 2-2.5 under JDK
* 1.4.2 and by factor 10-15 under JDK 1.3.1. If increase memory
* consumption is too high or the optimization brings no benefits in a
* particular VM, then the optimization can be disabled.
*
* @param enabled if true, invoke optimization is enabled.
*/
public synchronized void setInvokerOptimizationEnabled(boolean enabled)
{
if (invokerOptimization == enabled)
return;
if (!enabled)
invokerMaster = null;
invokerOptimization = enabled;
}
/**
* Internal engine method to return serial number for generated classes
* to ensure name uniqueness.
*/
public final synchronized int newClassSerialNumber()
{
return ++generatedClassSerial;
}
}

View File

@@ -1,48 +0,0 @@
/* -*- 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 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) 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

@@ -1,142 +0,0 @@
/* -*- 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 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Andi Vajda
* Kemal Bayram
*
* 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.*;
public abstract class ClassNameHelper {
public static ClassNameHelper get(Context cx) {
ClassNameHelper helper = savedNameHelper;
if (helper == null && !helperNotAvailable) {
Class nameHelperClass = Kit.classOrNull(
"org.mozilla.javascript.optimizer.OptClassNameHelper");
// nameHelperClass == null if running lite
if (nameHelperClass != null) {
helper = (ClassNameHelper)Kit.newInstanceOrNull(
nameHelperClass);
}
if (helper != null) {
savedNameHelper = helper;
} else {
helperNotAvailable = true;
}
}
return helper;
}
/**
* Get the current target class file name.
* <p>
* If nonnull, requests to compile source will result in one or
* more class files being generated.
*
* @since 1.5 Release 4
*/
public abstract String getTargetClassFileName();
/**
* Set the current target class file name.
* <p>
* If nonnull, requests to compile source will result in one or
* more class files being generated. If null, classes will only
* be generated in memory.
*
* @since 1.5 Release 4
*/
public abstract void setTargetClassFileName(String classFileName);
/**
* Get the current package to generate classes into.
*/
public abstract String getTargetPackage();
/**
* Set the package to generate classes into.
*/
public abstract void setTargetPackage(String targetPackage);
/**
* Set the class that the generated target will extend.
*
* @param extendsClass the class it extends
*/
public abstract void setTargetExtends(Class extendsClass);
/**
* Set the interfaces that the generated target will implement.
*
* @param implementsClasses an array of Class objects, one for each
* interface the target will extend
*/
public abstract void setTargetImplements(Class[] implementsClasses);
/**
* Get the current class repository.
*
* @see ClassRepository
* @since 30/10/01 tip + patch (Kemal Bayram)
*/
public abstract ClassRepository getClassRepository();
/**
* Set the current class repository.
*
* @see ClassRepository
* @since 30/10/01 tip + patch (Kemal Bayram)
*/
public abstract void setClassRepository(ClassRepository repository);
/**
* Get the current class name.
*
* @since 30/10/01 tip + patch (Kemal Bayram)
*/
public abstract String getClassName();
/**
* Set the current class name.
*
* @since 30/10/01 tip + patch (Kemal Bayram)
*/
public abstract void setClassName(String initialName);
private static ClassNameHelper savedNameHelper;
private static boolean helperNotAvailable;
}

View File

@@ -1,55 +0,0 @@
/* -*- 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 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) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Kemal Bayram
*
* 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.*;
/**
* This interface provides a means to store generated class and to
* allow selective class loading.
*
* @see ClassNameHelper
* @author Kemal Bayram
*/
public interface ClassRepository {
/**
* @param className the name of the class.
* @param classBytes a byte array of the generated class.
* @param isTopLevel if true, represents the top-level script being compiled.
* @return true if the class should be loaded, false otherwise.
*/
public boolean storeClass(String className, byte[] classBytes,
boolean isTopLevel) throws IOException;
}

View File

@@ -1,86 +0,0 @@
/* -*- 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 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Igor Bukanov
*
* 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 filter Java classes that are visible to scripts
through the LiveConnect, should implement this interface.
@see Context#setClassShutter(ClassShutter)
@since 1.5 Release 4
@author Norris Boyd
*/
public interface ClassShutter {
/**
* 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.
* <p>
* Due to the fact that there is no package reflection in Java,
* this method will also be called with package names. There
* is no way for Rhino to tell if "Packages.a.b" is a package name
* or a class that doesn't exist. What Rhino does is attempt
* to load each segment of "Packages.a.b.c": It first attempts to
* load class "a", then attempts to load class "a.b", then
* finally attempts to load class "a.b.c". On a Rhino installation
* without any ClassShutter set, and without any of the
* above classes, the expression "Packages.a.b.c" will result in
* a [JavaPackage a.b.c] and not an error.
* <p>
* With ClassShutter supplied, Rhino will first call
* visibleToScripts before attempting to look up the class name. If
* visibleToScripts returns false, the class name lookup is not
* performed and subsequent Rhino execution assumes the class is
* not present. So for "java.lang.System.out.println" the lookup
* of "java.lang.System" is skipped and thus Rhino assumes that
* "java.lang.System" doesn't exist. So then for "java.lang.System.out",
* Rhino attempts to load the class "java.lang.System.out" because
* it assumes that "java.lang.System" is a package name.
* <p>
* @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);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,53 +0,0 @@
/* -*- 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 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) 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.
*/
// API class
package org.mozilla.javascript;
/**
* Embeddings that wish to
* @see org.mozilla.javascript.Context#addContextListener
*/
public interface ContextListener {
public void contextCreated(Context cx);
public void contextEntered(Context cx);
public void contextExited(Context cx);
public void contextReleased(Context cx);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,892 +0,0 @@
/* -*- 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 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Mike Ang
* Igor Bukanov
* 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;
/**
* The following class save decompilation information about the source.
* Source information is returned from the parser as a String
* associated with function nodes and with the toplevel script. When
* saved in the constant pool of a class, this string will be UTF-8
* encoded, and token values will occupy a single byte.
* Source is saved (mostly) as token numbers. The tokens saved pretty
* much correspond to the token stream of a 'canonical' representation
* of the input program, as directed by the parser. (There were a few
* cases where tokens could have been left out where decompiler could
* easily reconstruct them, but I left them in for clarity). (I also
* looked adding source collection to TokenStream instead, where I
* could have limited the changes to a few lines in getToken... but
* this wouldn't have saved any space in the resulting source
* representation, and would have meant that I'd have to duplicate
* parser logic in the decompiler to disambiguate situations where
* newlines are important.) The function decompile expands the
* tokens back into their string representations, using simple
* lookahead to correct spacing and indentation.
*
* Assignments are saved as two-token pairs (Token.ASSIGN, op). Number tokens
* are stored inline, as a NUMBER token, a character representing the type, and
* either 1 or 4 characters representing the bit-encoding of the number. String
* types NAME, STRING and OBJECT are currently stored as a token type,
* followed by a character giving the length of the string (assumed to
* be less than 2^16), followed by the characters of the string
* inlined into the source string. Changing this to some reference to
* to the string in the compiled class' constant pool would probably
* save a lot of space... but would require some method of deriving
* the final constant pool entry from information available at parse
* time.
*/
public class Decompiler
{
/**
* Flag to indicate that the decompilation should omit the
* function header and trailing brace.
*/
public static final int ONLY_BODY_FLAG = 1 << 0;
/**
* Flag to indicate that the decompilation generates toSource result.
*/
public static final int TO_SOURCE_FLAG = 1 << 1;
/**
* Decompilation property to specify initial ident value.
*/
public static final int INITIAL_INDENT_PROP = 1;
/**
* Decompilation property to specify default identation offset.
*/
public static final int INDENT_GAP_PROP = 2;
/**
* Decompilation property to specify identation offset for case labels.
*/
public static final int CASE_GAP_PROP = 3;
// Marker to denote the last RC of function so it can be distinguished from
// the last RC of object literals in case of function expressions
private static final int FUNCTION_END = Token.LAST_TOKEN + 1;
String getEncodedSource()
{
return sourceToString(0);
}
int getCurrentOffset()
{
return sourceTop;
}
int markFunctionStart(int functionType, String name)
{
int savedOffset = getCurrentOffset();
addToken(Token.FUNCTION);
append((char)functionType);
if (name.length() != 0) {
addName(name);
}
return savedOffset;
}
int markFunctionEnd(int functionStart)
{
int offset = getCurrentOffset();
append((char)FUNCTION_END);
return offset;
}
void addToken(int token)
{
if (!(0 <= token && token <= Token.LAST_TOKEN))
throw new IllegalArgumentException();
append((char)token);
}
void addEOL(int token)
{
if (!(0 <= token && token <= Token.LAST_TOKEN))
throw new IllegalArgumentException();
append((char)token);
append((char)Token.EOL);
}
void addAssignOp(int op)
{
if (!(0 <= op && op <= Token.LAST_TOKEN))
throw new IllegalArgumentException();
append((char)Token.ASSIGNOP);
append((char)op);
}
void addName(String str)
{
addToken(Token.NAME);
appendString(str);
}
void addString(String str)
{
addToken(Token.STRING);
appendString(str);
}
void addRegexp(String regexp, String flags)
{
addToken(Token.REGEXP);
appendString('/' + regexp + '/' + flags);
}
void addNumber(double n)
{
addToken(Token.NUMBER);
/* encode the number in the source stream.
* Save as NUMBER type (char | char char char char)
* where type is
* 'D' - double, 'S' - short, 'J' - long.
* We need to retain float vs. integer type info to keep the
* behavior of liveconnect type-guessing the same after
* decompilation. (Liveconnect tries to present 1.0 to Java
* as a float/double)
* OPT: This is no longer true. We could compress the format.
* This may not be the most space-efficient encoding;
* the chars created below may take up to 3 bytes in
* constant pool UTF-8 encoding, so a Double could take
* up to 12 bytes.
*/
long lbits = (long)n;
if (lbits != n) {
// if it's floating point, save as a Double bit pattern.
// (12/15/97 our scanner only returns Double for f.p.)
lbits = Double.doubleToLongBits(n);
append('D');
append((char)(lbits >> 48));
append((char)(lbits >> 32));
append((char)(lbits >> 16));
append((char)lbits);
}
else {
// we can ignore negative values, bc they're already prefixed
// by NEG
if (lbits < 0) Kit.codeBug();
// will it fit in a char?
// this gives a short encoding for integer values up to 2^16.
if (lbits <= Character.MAX_VALUE) {
append('S');
append((char)lbits);
}
else { // Integral, but won't fit in a char. Store as a long.
append('J');
append((char)(lbits >> 48));
append((char)(lbits >> 32));
append((char)(lbits >> 16));
append((char)lbits);
}
}
}
private void appendString(String str)
{
int L = str.length();
int lengthEncodingSize = 1;
if (L >= 0x8000) {
lengthEncodingSize = 2;
}
int nextTop = sourceTop + lengthEncodingSize + L;
if (nextTop > sourceBuffer.length) {
increaseSourceCapacity(nextTop);
}
if (L >= 0x8000) {
// Use 2 chars to encode strings exceeding 32K, were the highest
// bit in the first char indicates presence of the next byte
sourceBuffer[sourceTop] = (char)(0x8000 | (L >>> 16));
++sourceTop;
}
sourceBuffer[sourceTop] = (char)L;
++sourceTop;
str.getChars(0, L, sourceBuffer, sourceTop);
sourceTop = nextTop;
}
private void append(char c)
{
if (sourceTop == sourceBuffer.length) {
increaseSourceCapacity(sourceTop + 1);
}
sourceBuffer[sourceTop] = c;
++sourceTop;
}
private void increaseSourceCapacity(int minimalCapacity)
{
// Call this only when capacity increase is must
if (minimalCapacity <= sourceBuffer.length) Kit.codeBug();
int newCapacity = sourceBuffer.length * 2;
if (newCapacity < minimalCapacity) {
newCapacity = minimalCapacity;
}
char[] tmp = new char[newCapacity];
System.arraycopy(sourceBuffer, 0, tmp, 0, sourceTop);
sourceBuffer = tmp;
}
private String sourceToString(int offset)
{
if (offset < 0 || sourceTop < offset) Kit.codeBug();
return new String(sourceBuffer, offset, sourceTop - offset);
}
/**
* Decompile the source information associated with this js
* function/script back into a string. For the most part, this
* just means translating tokens back to their string
* representations; there's a little bit of lookahead logic to
* decide the proper spacing/indentation. Most of the work in
* mapping the original source to the prettyprinted decompiled
* version is done by the parser.
*
* @param source encoded source tree presentation
*
* @param flags flags to select output format
*
* @param properties indentation properties
*
*/
public static String decompile(String source, int flags,
UintMap properties)
{
int length = source.length();
if (length == 0) { return ""; }
int indent = properties.getInt(INITIAL_INDENT_PROP, 0);
if (indent < 0) Kit.badArg();
int indentGap = properties.getInt(INDENT_GAP_PROP, 4);
if (indentGap < 0) Kit.badArg();
int caseGap = properties.getInt(CASE_GAP_PROP, 2);
if (caseGap < 0) Kit.badArg();
StringBuffer result = new StringBuffer();
boolean justFunctionBody = (0 != (flags & Decompiler.ONLY_BODY_FLAG));
boolean toSource = (0 != (flags & Decompiler.TO_SOURCE_FLAG));
// Spew tokens in source, for debugging.
// as TYPE number char
if (printSource) {
System.err.println("length:" + length);
for (int i = 0; i < length; ++i) {
// Note that tokenToName will fail unless Context.printTrees
// is true.
String tokenname = null;
if (Token.printNames) {
tokenname = Token.name(source.charAt(i));
}
if (tokenname == null) {
tokenname = "---";
}
String pad = tokenname.length() > 7
? "\t"
: "\t\t";
System.err.println
(tokenname
+ pad + (int)source.charAt(i)
+ "\t'" + ScriptRuntime.escapeString
(source.substring(i, i+1))
+ "'");
}
System.err.println();
}
int braceNesting = 0;
boolean afterFirstEOL = false;
int i = 0;
int topFunctionType;
if (source.charAt(i) == Token.SCRIPT) {
++i;
topFunctionType = -1;
} else {
topFunctionType = source.charAt(i + 1);
}
if (!toSource) {
// add an initial newline to exactly match js.
result.append('\n');
for (int j = 0; j < indent; j++)
result.append(' ');
} else {
if (topFunctionType == FunctionNode.FUNCTION_EXPRESSION) {
result.append('(');
}
}
while (i < length) {
switch(source.charAt(i)) {
case Token.NAME:
case Token.REGEXP: // re-wrapped in '/'s in parser...
i = printSourceString(source, i + 1, false, result);
continue;
case Token.STRING:
i = printSourceString(source, i + 1, true, result);
continue;
case Token.NUMBER:
i = printSourceNumber(source, i + 1, result);
continue;
case Token.TRUE:
result.append("true");
break;
case Token.FALSE:
result.append("false");
break;
case Token.NULL:
result.append("null");
break;
case Token.THIS:
result.append("this");
break;
case Token.FUNCTION:
++i; // skip function type
result.append("function ");
break;
case FUNCTION_END:
// Do nothing
break;
case Token.COMMA:
result.append(", ");
break;
case Token.LC:
++braceNesting;
if (Token.EOL == getNext(source, length, i))
indent += indentGap;
result.append('{');
break;
case Token.RC: {
--braceNesting;
/* don't print the closing RC if it closes the
* toplevel function and we're called from
* decompileFunctionBody.
*/
if (justFunctionBody && braceNesting == 0)
break;
result.append('}');
switch (getNext(source, length, i)) {
case Token.EOL:
case FUNCTION_END:
indent -= indentGap;
break;
case Token.WHILE:
case Token.ELSE:
indent -= indentGap;
result.append(' ');
break;
}
break;
}
case Token.LP:
result.append('(');
break;
case Token.RP:
result.append(')');
if (Token.LC == getNext(source, length, i))
result.append(' ');
break;
case Token.LB:
result.append('[');
break;
case Token.RB:
result.append(']');
break;
case Token.EOL: {
if (toSource) break;
boolean newLine = true;
if (!afterFirstEOL) {
afterFirstEOL = true;
if (justFunctionBody) {
/* throw away just added 'function name(...) {'
* and restore the original indent
*/
result.setLength(0);
indent -= indentGap;
newLine = false;
}
}
if (newLine) {
result.append('\n');
}
/* add indent if any tokens remain,
* less setback if next token is
* a label, case or default.
*/
if (i + 1 < length) {
int less = 0;
int nextToken = source.charAt(i + 1);
if (nextToken == Token.CASE
|| nextToken == Token.DEFAULT)
{
less = indentGap - caseGap;
} else if (nextToken == Token.RC) {
less = indentGap;
}
/* elaborate check against label... skip past a
* following inlined NAME and look for a COLON.
*/
else if (nextToken == Token.NAME) {
int afterName = getSourceStringEnd(source, i + 2);
if (source.charAt(afterName) == Token.COLON)
less = indentGap;
}
for (; less < indent; less++)
result.append(' ');
}
break;
}
case Token.DOT:
result.append('.');
break;
case Token.NEW:
result.append("new ");
break;
case Token.DELPROP:
result.append("delete ");
break;
case Token.IF:
result.append("if ");
break;
case Token.ELSE:
result.append("else ");
break;
case Token.FOR:
result.append("for ");
break;
case Token.IN:
result.append(" in ");
break;
case Token.WITH:
result.append("with ");
break;
case Token.WHILE:
result.append("while ");
break;
case Token.DO:
result.append("do ");
break;
case Token.TRY:
result.append("try ");
break;
case Token.CATCH:
result.append("catch ");
break;
case Token.FINALLY:
result.append("finally ");
break;
case Token.THROW:
result.append("throw ");
break;
case Token.SWITCH:
result.append("switch ");
break;
case Token.BREAK:
result.append("break");
if (Token.NAME == getNext(source, length, i))
result.append(' ');
break;
case Token.CONTINUE:
result.append("continue");
if (Token.NAME == getNext(source, length, i))
result.append(' ');
break;
case Token.CASE:
result.append("case ");
break;
case Token.DEFAULT:
result.append("default");
break;
case Token.RETURN:
result.append("return");
if (Token.SEMI != getNext(source, length, i))
result.append(' ');
break;
case Token.VAR:
result.append("var ");
break;
case Token.SEMI:
result.append(';');
if (Token.EOL != getNext(source, length, i)) {
// separators in FOR
result.append(' ');
}
break;
case Token.ASSIGN:
result.append(" = ");
break;
case Token.ASSIGNOP:
++i;
switch (source.charAt(i)) {
case Token.ADD:
result.append(" += ");
break;
case Token.SUB:
result.append(" -= ");
break;
case Token.MUL:
result.append(" *= ");
break;
case Token.DIV:
result.append(" /= ");
break;
case Token.MOD:
result.append(" %= ");
break;
case Token.BITOR:
result.append(" |= ");
break;
case Token.BITXOR:
result.append(" ^= ");
break;
case Token.BITAND:
result.append(" &= ");
break;
case Token.LSH:
result.append(" <<= ");
break;
case Token.RSH:
result.append(" >>= ");
break;
case Token.URSH:
result.append(" >>>= ");
break;
}
break;
case Token.HOOK:
result.append(" ? ");
break;
case Token.OBJLIT:
// pun OBJLIT to mean colon in objlit property initialization.
// this needs to be distinct from COLON in the general case
// to distinguish from the colon in a ternary... which needs
// different spacing.
result.append(':');
break;
case Token.COLON:
if (Token.EOL == getNext(source, length, i))
// it's the end of a label
result.append(':');
else
// it's the middle part of a ternary
result.append(" : ");
break;
case Token.OR:
result.append(" || ");
break;
case Token.AND:
result.append(" && ");
break;
case Token.BITOR:
result.append(" | ");
break;
case Token.BITXOR:
result.append(" ^ ");
break;
case Token.BITAND:
result.append(" & ");
break;
case Token.SHEQ:
result.append(" === ");
break;
case Token.SHNE:
result.append(" !== ");
break;
case Token.EQ:
result.append(" == ");
break;
case Token.NE:
result.append(" != ");
break;
case Token.LE:
result.append(" <= ");
break;
case Token.LT:
result.append(" < ");
break;
case Token.GE:
result.append(" >= ");
break;
case Token.GT:
result.append(" > ");
break;
case Token.INSTANCEOF:
result.append(" instanceof ");
break;
case Token.LSH:
result.append(" << ");
break;
case Token.RSH:
result.append(" >> ");
break;
case Token.URSH:
result.append(" >>> ");
break;
case Token.TYPEOF:
result.append("typeof ");
break;
case Token.VOID:
result.append("void ");
break;
case Token.NOT:
result.append('!');
break;
case Token.BITNOT:
result.append('~');
break;
case Token.POS:
result.append('+');
break;
case Token.NEG:
result.append('-');
break;
case Token.INC:
result.append("++");
break;
case Token.DEC:
result.append("--");
break;
case Token.ADD:
result.append(" + ");
break;
case Token.SUB:
result.append(" - ");
break;
case Token.MUL:
result.append(" * ");
break;
case Token.DIV:
result.append(" / ");
break;
case Token.MOD:
result.append(" % ");
break;
default:
// If we don't know how to decompile it, raise an exception.
throw new RuntimeException();
}
++i;
}
if (!toSource) {
// add that trailing newline if it's an outermost function.
if (!justFunctionBody)
result.append('\n');
} else {
if (topFunctionType == FunctionNode.FUNCTION_EXPRESSION) {
result.append(')');
}
}
return result.toString();
}
private static int getNext(String source, int length, int i)
{
return (i + 1 < length) ? source.charAt(i + 1) : Token.EOF;
}
private static int getSourceStringEnd(String source, int offset)
{
return printSourceString(source, offset, false, null);
}
private static int printSourceString(String source, int offset,
boolean asQuotedString,
StringBuffer sb)
{
int length = source.charAt(offset);
++offset;
if ((0x8000 & length) != 0) {
length = ((0x7FFF & length) << 16) | source.charAt(offset);
++offset;
}
if (sb != null) {
String str = source.substring(offset, offset + length);
if (!asQuotedString) {
sb.append(str);
} else {
sb.append('"');
sb.append(ScriptRuntime.escapeString(str));
sb.append('"');
}
}
return offset + length;
}
private static int printSourceNumber(String source, int offset,
StringBuffer sb)
{
double number = 0.0;
char type = source.charAt(offset);
++offset;
if (type == 'S') {
if (sb != null) {
int ival = source.charAt(offset);
number = ival;
}
++offset;
} else if (type == 'J' || type == 'D') {
if (sb != null) {
long lbits;
lbits = (long)source.charAt(offset) << 48;
lbits |= (long)source.charAt(offset + 1) << 32;
lbits |= (long)source.charAt(offset + 2) << 16;
lbits |= (long)source.charAt(offset + 3);
if (type == 'J') {
number = lbits;
} else {
number = Double.longBitsToDouble(lbits);
}
}
offset += 4;
} else {
// Bad source
throw new RuntimeException();
}
if (sb != null) {
sb.append(ScriptRuntime.numberToString(number, 10));
}
return offset;
}
private char[] sourceBuffer = new char[128];
// Per script/function source buffer top: parent source does not include a
// nested functions source and uses function index as a reference instead.
private int sourceTop;
// whether to do a debug print of the source information, when decompiling.
private static final boolean printSource = false;
}

View File

@@ -1,65 +0,0 @@
/* -*- 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 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) 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, sourceName, line,
lineSource, lineOffset);
}
public EvaluatorException runtimeError(String message, String sourceName,
int line, String lineSource,
int lineOffset)
{
throw new EvaluatorException(message, sourceName, line,
lineSource, lineOffset);
}
}

View File

@@ -1,84 +0,0 @@
/*
* 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) 1997-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Norris Boyd
* Roger Lawrence
* Patrick Beard
* Igor Bukanov
*
* 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;
/**
* Load generated classes.
*
* @author Norris Boyd
*/
public class DefiningClassLoader extends ClassLoader
implements GeneratedClassLoader
{
public DefiningClassLoader() {
this.parentLoader = getClass().getClassLoader();
}
public DefiningClassLoader(ClassLoader parentLoader) {
this.parentLoader = parentLoader;
}
public Class defineClass(String name, byte[] data) {
return super.defineClass(name, data, 0, data.length);
}
public void linkClass(Class cl) {
resolveClass(cl);
}
public Class loadClass(String name, boolean resolve)
throws ClassNotFoundException
{
Class cl = findLoadedClass(name);
if (cl == null) {
if (parentLoader != null) {
cl = parentLoader.loadClass(name);
} else {
cl = findSystemClass(name);
}
}
if (resolve) {
resolveClass(cl);
}
return cl;
}
private ClassLoader parentLoader;
}

View File

@@ -1,264 +0,0 @@
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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 Delegator.java, released Sep 27, 2000.
*
* The Initial Developer of the Original Code is Matthias Radestock.
* <matthias@sorted.org>. Portions created by Matthias Radestock are
* Copyright (C) 2000 Matthias Radestock. All Rights Reserved.
*
* Contributor(s):
* Redfig Ltd (http://www.redfig.com)
* LShift Ltd (http://www.lshift.net)
*
* Alternatively, the contents of this file may be used under the terms
* of the GNU Public License (the "GPL License"), in which case the
* provisions of the GPL License 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 License and not to allow others to use
* your version of this file under the MPL, indicate your decision by
* deleting the provisions above and replace them with the notice and
* other provisions required by the GPL License. If you do not delete
* the provisions above, a recipient may use your version of this file
* under either the MPL or the GPL License.
*/
// API class
package org.mozilla.javascript;
/**
* This is a helper class for implementing wrappers around Scriptable
* objects. It implements the Function interface and delegates all
* invocations to a delegee Scriptable object. The normal use of this
* class involves creating a sub-class and overriding one or more of
* the methods.
*
* A useful application is the implementation of interceptors,
* pre/post conditions, debugging.
*
* @see Function
* @see Scriptable
* @author Matthias Radestock
*/
public class Delegator implements Function {
protected Scriptable obj = null;
/**
* Create a Delegator prototype.
*
* This constructor should only be used for creating prototype
* objects of Delegator.
*
* @see org.mozilla.javascript.Delegator#construct
*/
public Delegator() {
}
/**
* Create a new Delegator that forwards requests to a delegee
* Scriptable object.
*
* @param obj the delegee
* @see org.mozilla.javascript.Scriptable
*/
public Delegator(Scriptable obj) {
this.obj = obj;
}
/**
* Crete new Delegator instance.
* The default implementation calls this.getClass().newInstance().
*
* @see #construct(Context cx, Scriptable scope, Object[] args)
*/
protected Delegator newInstance()
{
try {
return (Delegator)this.getClass().newInstance();
} catch (Exception ex) {
throw ScriptRuntime.throwAsUncheckedException(ex);
}
}
/**
* Retrieve the delegee.
*
* @return the delegee
*/
public Scriptable getDelegee() {
return obj;
}
/**
* Set the delegee.
*
* @param obj the delegee
* @see org.mozilla.javascript.Scriptable
*/
public void setDelegee(Scriptable obj) {
this.obj = obj;
}
/**
* @see org.mozilla.javascript.Scriptable#getClassName
*/
public String getClassName() {
return obj.getClassName();
}
/**
* @see org.mozilla.javascript.Scriptable#get
*/
public Object get(String name, Scriptable start) {
return obj.get(name,start);
}
/**
* @see org.mozilla.javascript.Scriptable#get
*/
public Object get(int index, Scriptable start) {
return obj.get(index,start);
}
/**
* @see org.mozilla.javascript.Scriptable#has
*/
public boolean has(String name, Scriptable start) {
return obj.has(name,start);
}
/**
* @see org.mozilla.javascript.Scriptable#has
*/
public boolean has(int index, Scriptable start) {
return obj.has(index,start);
}
/**
* @see org.mozilla.javascript.Scriptable#put
*/
public void put(String name, Scriptable start, Object value) {
obj.put(name,start,value);
}
/**
* @see org.mozilla.javascript.Scriptable#put
*/
public void put(int index, Scriptable start, Object value) {
obj.put(index,start,value);
}
/**
* @see org.mozilla.javascript.Scriptable#delete
*/
public void delete(String name) {
obj.delete(name);
}
/**
* @see org.mozilla.javascript.Scriptable#delete
*/
public void delete(int index) {
obj.delete(index);
}
/**
* @see org.mozilla.javascript.Scriptable#getPrototype
*/
public Scriptable getPrototype() {
return obj.getPrototype();
}
/**
* @see org.mozilla.javascript.Scriptable#setPrototype
*/
public void setPrototype(Scriptable prototype) {
obj.setPrototype(prototype);
}
/**
* @see org.mozilla.javascript.Scriptable#getParentScope
*/
public Scriptable getParentScope() {
return obj.getParentScope();
}
/**
* @see org.mozilla.javascript.Scriptable#setParentScope
*/
public void setParentScope(Scriptable parent) {
obj.setParentScope(parent);
}
/**
* @see org.mozilla.javascript.Scriptable#getIds
*/
public Object[] getIds() {
return obj.getIds();
}
/**
* Note that this method does not get forwarded to the delegee if
* the <code>hint</code> parameter is null,
* <code>ScriptRuntime.ScriptableClass</code> or
* <code>ScriptRuntime.FunctionClass</code>. Instead the object
* itself is returned.
*
* @param hint the type hint
* @return the default value
*
* @see org.mozilla.javascript.Scriptable#getDefaultValue
*/
public Object getDefaultValue(Class hint) {
return (hint == null ||
hint == ScriptRuntime.ScriptableClass ||
hint == ScriptRuntime.FunctionClass) ?
this : obj.getDefaultValue(hint);
}
/**
* @see org.mozilla.javascript.Scriptable#hasInstance
*/
public boolean hasInstance(Scriptable instance) {
return obj.hasInstance(instance);
}
/**
* @see org.mozilla.javascript.Function#call
*/
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)
throws JavaScriptException {
return ((Function)obj).call(cx,scope,thisObj,args);
}
/**
* Note that if the <code>delegee</code> is <code>null</code>,
* this method creates a new instance of the Delegator itself
* rathert than forwarding the call to the
* <code>delegee</code>. This permits the use of Delegator
* prototypes.
*
* @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
*
* @see org.mozilla.javascript.Function#construct
*/
public Scriptable construct(Context cx, Scriptable scope, Object[] args)
throws JavaScriptException {
if (obj == null) {
//this little trick allows us to declare prototype objects for
//Delegators
Delegator n = newInstance();
Scriptable delegee;
if (args.length == 0) {
delegee = Undefined.instance;
} else {
delegee = ScriptRuntime.toObject(cx, scope, args[0]);
}
n.setDelegee(delegee);
return n;
}
else {
return ((Function)obj).construct(cx,scope,args);
}
}
}

View File

@@ -1,180 +0,0 @@
/* -*- 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 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) 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 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)
*/
EcmaError(String errorName, String errorMessage,
String sourceName, int lineNumber,
String lineSource, int columnNumber)
{
super("EcmaError: "+errorName+": "+errorMessage);
this.errorName = errorName;
this.errorMessage = errorMessage;
this.sourceName = sourceName;
this.lineNumber = lineNumber;
this.lineSource = lineSource;
this.columnNumber = columnNumber;
}
/**
* @deprecated EcmaError error instances should not be constructed
* explicitly since they are generated by the engine.
*/
public EcmaError(Scriptable nativeError, String sourceName,
int lineNumber, int columnNumber, String lineSource)
{
this("InternalError", ScriptRuntime.toString(nativeError),
sourceName, lineNumber, lineSource, columnNumber);
}
/**
* Return a string representation of the error, which currently consists
* of the name of the error together with the message.
*/
public String toString()
{
StringBuffer buf = new StringBuffer();
buf.append(errorName);
buf.append(": ");
buf.append(errorMessage);
if (sourceName != null || lineNumber > 0) {
buf.append(" (");
if (sourceName != null) {
buf.append(sourceName);
buf.append("; ");
}
if (lineNumber > 0) {
buf.append("line ");
buf.append(lineNumber);
}
buf.append(')');
}
return buf.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 errorName;
}
/**
* 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 errorMessage;
}
/**
* 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;
}
/**
* 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;
}
/**
* @deprecated Always returns result of {@link Context#getUndefinedValue()}.
*
*/
public Scriptable getErrorObject()
{
return Undefined.instance;
}
private String errorName;
private String errorMessage;
private String sourceName;
private int lineNumber;
private int columnNumber;
private String lineSource;
}

View File

@@ -1,103 +0,0 @@
/* -*- 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 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) 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

@@ -1,147 +0,0 @@
/* -*- 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 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) 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);
Context cx = Context.getCurrentContext();
if (cx!= null) {
int[] linep = { 0 };
this.sourceName = cx.getSourcePositionFromStack(linep);
this.lineNumber = linep[0];
}
}
/**
* Create an exception with the specified detail message.
*
* Errors internal to the JavaScript engine will simply throw a
* RuntimeException.
*
* @param nativeError the Scriptable object constructed for this error.
Scripts will get it as an argument to catch statement.
* @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 EvaluatorException(String detail, String sourceName, int lineNumber,
String lineSource, int columnNumber)
{
super(generateErrorMessage(detail, sourceName, lineNumber));
this.sourceName = sourceName;
this.lineNumber = lineNumber;
this.lineSource = lineSource;
this.columnNumber = columnNumber;
}
/**
* 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;
}
/**
* 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;
}
static String generateErrorMessage(String message,
String sourceName,
int line)
{
if (sourceName == null || line <= 0) {
return message;
}
StringBuffer buf = new StringBuffer(message);
buf.append(" (");
if (sourceName != null) {
buf.append(sourceName);
}
if (line > 0) {
buf.append('#');
buf.append(line);
}
buf.append(')');
return buf.toString();
}
private String sourceName;
private int lineNumber;
private String lineSource;
private int columnNumber;
}

View File

@@ -1,86 +0,0 @@
/* -*- 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 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) 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, Callable {
/**
* 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;
}

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