Compare commits

..

1393 Commits

Author SHA1 Message Date
cltbld%netscape.com
c148d97e6a pull from the static tag
git-svn-id: svn://10.0.0.236/branches/NETSCAPE_7_0_RTM_MINIBRANCH@128184 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-26 23:49:24 +00:00
(no author)
384b279496 This commit was manufactured by cvs2svn to create branch
'NETSCAPE_7_0_RTM_MINIBRANCH'.

git-svn-id: svn://10.0.0.236/branches/NETSCAPE_7_0_RTM_MINIBRANCH@125701 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 08:39:48 +00:00
(no author)
1811c2387a This commit was manufactured by cvs2svn to create branch
'ANYTHING_FOR_PUTTERMAN_BRANCH'.

git-svn-id: svn://10.0.0.236/branches/ANYTHING_FOR_PUTTERMAN_BRANCH@125693 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 08:39:40 +00:00
ssu%netscape.com
e6ae73f9f0 fixing build bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125692 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 08:39:39 +00:00
caillon%returnzero.com
d5031a8aef Bug 104470 - Popup blocking breaks window.open()s which are targetted to frames or existing named windows
r=sicking sr=jst a=brendan


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125686 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 06:43:05 +00:00
yokoyama%netscape.com
95d0d37196 bug 156979
supporting marquee tag.
few new files are added and makefile.xxx are modified.
/r=timeless, dveditz /sr=jst, /a=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125676 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 04:48:34 +00:00
law%netscape.com
74cab2329e Bugzilla bug 159038 (bugscape bug 17912); Don't open the turbo pseudo-Nav window if we've already opened a window; this has the effect of *not* disabling requests coming from secondary processes in such cases (because other code was confused thinking that the pseudo-Nav window hadn't closed yet); r=jelwell/morse, sr=syd, a=jaimer
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125675 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 04:15:26 +00:00
brendan%mozilla.org
0dedc35ab2 Finally fix 137000, which requires working around an MSVC ISO-C violation ('identical COMDAT folding', 151066, r=brendan/jrgm, sr=bryner/shaver, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125664 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 01:53:07 +00:00
bzbarsky%mit.edu
f2278f43c8 Bug 158230. Clear out all the relevant style data when inline style
causes reframes. r=dbaron, sr=hyatt, a=valeski, adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125661 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-24 01:22:45 +00:00
nhotta%netscape.com
a3ec84f29e (check in by ftang use nhotta's machine/account for shanjian)
fix bug 156943 and 76097
r=rbs
sr=waterson/jst
a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125638 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 21:27:17 +00:00
joki%netscape.com
272f0cdff1 Fix for bug 157845 : mCurrentTarget pointer should not be set in the ESM without setting the NS_FRAME_EXTERNAL_REFERENCE bit. r:saari, sr:jst, a:chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125631 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 20:13:07 +00:00
peterlubczynski%netscape.com
4e45b1229b Fixing bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125618 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 08:06:43 +00:00
peterlubczynski%netscape.com
677515217e Attempting to fix HPUX bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125617 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 08:04:01 +00:00
peterlubczynski%netscape.com
b024b7b966 Fixing bug 152927: can't script any plugin in nested EMBED tag inside an OBJECT tag from onLoad handler -- CNET radio does not play with Real because SetSource is called from onLoad r=kmcclusk@netscape.com sr=dveditz a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125611 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 06:11:32 +00:00
av%netscape.com
e426696a61 Fixing 157627 -- registry growth on every start up, r=av, sr=dveditz, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125604 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 04:17:39 +00:00
pavlov%netscape.com
353c943969 bug 157989. patch from paper@animecity.nu. r=pavlov sr=tor@acm.org a=brendan/chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125600 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 03:22:27 +00:00
pavlov%netscape.com
c7f4d2143b part 2 of fix for 157202 r=dougt/saari sr=tor@acm.org a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125599 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 02:39:08 +00:00
pavlov%netscape.com
ae544884a8 part 1 of fix for 157202 r=dougt/saari sr=tor@acm.org a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125598 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-23 02:37:54 +00:00
smontagu%netscape.com
bac8a2e954 Bug 140673: Some Arabic/Hebrew bitmap fonts printed way too small with Xprint. Author=Roland.Mainz@informatik.med.uni-giessen.de, r=smontagu, sr=dveditz, a=rjesup (for branch)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125576 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-22 19:19:21 +00:00
kmcclusk%netscape.com
264bed2362 checked in fix for bug 15622 scrollbars should be reflow roots and other patches that it required.
checked in attachment 90649 for bug 156522. a=chofmann adt=jaimejr sr=kin r=waterson
checked in attachment 87306 for bug 141900. a=chofmann adt=jaimejr sr=waterson r=kmcclusk
checked in attachment 91690 for bug 156985. a=chofmann adt=jaimejr sr=kin r=waterson


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125560 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-22 03:35:37 +00:00
ducarroz%netscape.com
8aa8ecf518 Fix for bug 158334. Fix memory corruption created by using PL_strcat on a buffer not wide enough. R=varada, SR=bienvenu, A=chofmann, ADT=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125559 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-22 03:13:12 +00:00
law%netscape.com
771dce7edb Bug 155080; add mutex code to stop one process from reading prefs.js while another is writing it; r=morse, sr=jag, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125556 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-21 22:57:05 +00:00
morse%netscape.com
349f4a6b8d bug 155114, back out patch for fixing cookie-stealing attack, a=chofmann, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125543 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-20 21:40:04 +00:00
brendan%mozilla.org
9dabd83bf4 Emulate IE6 by making RegExp.prototype match the empty string (156355, r=rogerl, sr=shaver, a=dbaron).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125540 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-20 17:46:46 +00:00
brendan%mozilla.org
45a622cb72 Fix GC_MARK_DEBUG (DEBUG only, r/sr=dbaron).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125536 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-20 08:26:20 +00:00
shanjian%netscape.com
ca8249f841 #155175 Certain truetype fonts crash mozilla
fix a misuse of parenthesis
p= Andrew Schultz  r=bstell, sr=rbs, a=brendan


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125522 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-19 23:39:10 +00:00
curt%netscape.com
00ce8402e3 Turning off the Refresh Icons because it was having unacceptable side-effects.
(Bug 154708, r=ssu, sr=dveditz, a=chofmann)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125514 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-19 21:47:26 +00:00
leaf%mozilla.org
66342c6a59 updating version strings for OSX finder; missed when nsMacVersion.r was
updated, r=jj


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125505 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-19 18:50:31 +00:00
morse%netscape.com
5d25e03a26 bug 155114, part of yesterday's checkin that didn't make it
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125487 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-19 01:50:04 +00:00
pavlov%netscape.com
69b31d008b this wasn't meant to go in here yet.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125473 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 22:20:58 +00:00
pavlov%netscape.com
d59df3769a fix for bug 157202. r=dougt sr=tor@acm.org a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125472 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 22:18:11 +00:00
ssu%netscape.com
4f6ada6fdd fixing bug 156698, 156695, 156701 - all dealing with adding ourselves in the windows registry for the new WinXP feature dealing with Hiding/Showing our desktop icons and setting us up as the default browser/mail apps on the system. r=law, ssu (curt and dprice created the patches) sr=jag, dveditz
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125455 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 07:13:04 +00:00
tingley%sundell.net
e3de493e7f bug 153480: fix a crash in nsInMemoryDataSource that was being triggered
by download manager deletions.  r=rjc sr=waterson a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125436 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 03:22:42 +00:00
jaggernaut%netscape.com
79e2c79078 Fix Mac bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125434 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 03:15:46 +00:00
rayw%netscape.com
353ffb4a99 Fix for bug 154971, r=harishd, sr=heikki, sr=jst, a=brendan.
This causes the SOAP HTTPS transport object to implement the proper interfaces,
as HTTP does, so that it will work.  Very minimal risk because change is to an
object that was otherwise broken and only used by HTTPS.  This permits users of
SOAP to use secure https transport for e-commerce or other transactions that
need to be secure.  Has been checked in on the trunk for a while and verified.

This is only even loaded as paert of the xmlextras module.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125426 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 02:04:01 +00:00
ccarlen%netscape.com
4b444ea78d Bug 147373 - crash if a migrated profile is deleted outside of profile mgr. r=bnesse/sr=jag/a=paw
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125424 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 01:39:17 +00:00
cavin%netscape.com
2c47e8bf69 Fix for 149759. Carry fixes in nsTextAddress for ldif import problems to AddressBookParser and commit db changes in ConvertLDIFtoMAB(). r=ducarroz/naving, sr=sspitzer/bienvenu, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125423 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-18 01:24:35 +00:00
morse%netscape.com
68d49e4a49 bug 155114, stealing cookies based on path attribute, r=mstoltz, sr=jag, a=chofmann, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125416 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 23:42:07 +00:00
tor%cs.brown.edu
148c6b76df Bug 76776 - incremental display of progressive jpegs. r=biesi, sr=jag, a=jesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125413 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 23:22:09 +00:00
dveditz%netscape.com
241692a655 correctly escape stored prefs (bug 143459) r=bnesse,mstoltz; sr=alecf; a=valeski; adt+
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125412 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 23:19:49 +00:00
pavlov%netscape.com
43be988a2e fix for bug 155222. r=pavlov sr=tor a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125411 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 23:11:54 +00:00
brendan%mozilla.org
d95ca38926 Don't return 1 cast to JSProperty* for a property found in a non-LiveConnect prototype object (155740, r=rogerl, sr=jband, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125406 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 22:52:33 +00:00
sdagley%netscape.com
59ad949615 Merging fix #143543 from trunk - Work around Nav Services 1.0 flaw so Save File dialogs works on Mac OS 8.6. r/sr=sfraser, a=adt/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125403 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 21:40:29 +00:00
dbaron%fas.harvard.edu
e1d31b52f2 Work around crashes at ChildIterator::get using bounds check on ChildIterator::seek. sr=waterson r=kin a=brendan adt1.0.1+=putterman b=133219
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125402 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 21:37:40 +00:00
rods%netscape.com
122962f241 It was creating and copying only the non-platform specific data by using the
"sizeof" of the DEVMODE struct, instead of checking the struct size with dmSize
and the size of the private (device-specific) data with dmDriverExtra. Now it
creates the correct size of memory and copies all the non-private data and private data.
Bug 156318 r=dcone sr=kin,waterson,rpotts a=asa adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125383 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 11:22:34 +00:00
mkaply%us.ibm.com
ec4d65f5e9 #157347
r=wtc, sr=blizzard, a=chofmann
OS/2 only - don't try to escape quotation marks when using DosStartSession


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125376 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 05:51:07 +00:00
mkaply%us.ibm.com
3a35be5840 #157770
r=dougt, sr=blizzard, a=chofmann
OS/2 only - up the number of file handles when starting Moz, and handle specific error with DosCopy


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125375 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 05:48:54 +00:00
mkaply%us.ibm.com
918de790d5 #157383
r=pedemont, sr=blizzard, a=chofmann
OS/2 only - truncate title bar text to 256 to workaround OS bug


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125371 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 05:36:56 +00:00
kaie%netscape.com
b588ad7abb b=135214 tentative fix for "signed icon in 3-pane isn't going away"
r=dbaron sr=mscott adt=putterman a=blizzard


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125361 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 03:27:13 +00:00
wtc%netscape.com
6d2beab5f0 Merged the fix for bug 157750 on MOZILLA_1_0_BRANCH. a=chofmann for
mozilla1.0.1 checkin.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125341 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 23:26:09 +00:00
mkaply%us.ibm.com
484c0bffbf #67913
r=pedemont, sr=blizzard (platform specific code), a=valeski
OS/2 only - addition to already approved fix for bug that works around a bad computation on 800x600


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125328 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 22:14:28 +00:00
mkaply%us.ibm.com
d093302786 #52458
r=pedemont, sr=blizzard (platform specific code), a=valeski
OS/2 only - add a preference to enable trackpoint scrolling by creating invisible scrollbars on all windows
Relanding after bustage


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125327 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 22:12:42 +00:00
ccarlen%netscape.com
454a094105 Bug 154883 - Need to use session printing APIs on OSX. r=pinkerton/sr=sfraser/a=chofmann, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125315 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 20:36:31 +00:00
ducarroz%netscape.com
3dd881e4eb Fix for bug 152014. Better detection of end of input buffer when we fold one character before the end and the last character is either a space or a tab. R=cavin, SR=bienvenu, A=rjesup@wgate.com, ADT=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125311 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 19:32:11 +00:00
ccarlen%netscape.com
e9685da5ad Adding new files for bug 154883 - use session printing APIs on OSX. r=pinkerton/sr=sfraser/a=chofmann, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125310 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 19:24:15 +00:00
sgehani%netscape.com
d550f7da85 Make search engine name and term show up and work in the autocomlpete
dropdown for new profiles' first browser session.
b=144494; r=law; sr=dveditz; driver's a=chofmann; adt's a=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125309 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 18:51:52 +00:00
peterlubczynski%netscape.com
b18105a673 fix #156936, regression: crash using OBJECT tag with any plugin, patch by serge r=peterl, sr=jag
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125289 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 07:51:42 +00:00
peterlubczynski%netscape.com
b8e0da4c99 Fixing bug 152978, problem on Mac platforms where Flash "drags" like an image would, r=bnesse, sr=sfraser
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125288 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 06:24:00 +00:00
bzbarsky%mit.edu
cebbf97ddf Fix bug 146143 (window.document being wrong on 'back' after a full-page
plugin). Patch by jst@netscape.com, r=bzbarsky, sr=jag, a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125286 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 05:42:14 +00:00
peterlubczynski%netscape.com
c3e6ac982b Fixing plugins needs to cause XPTI to be refreshed when pluigins change, bug 154272 r=av sr=jband a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125284 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 05:13:12 +00:00
peterlubczynski%netscape.com
4d3789a510 Fixing bug 148458: Netscape Radio crashes using Real Player if another plugin is being installed in another window because scripting any plugin in other window after plugins.refresh(1) causes this crash when plugin has been unloaded - N70PR1 [@ NPPL3260.DLL - XPTC_InvokeByIndex] r=av, sr=jst
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125282 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 04:59:42 +00:00
katakai%japan.sun.com
cac9370e7e bug 146658
unable to load ./libmozpango-thaix.so
modified pango.modules to fix the location of the .so
r=Roland.Mainz@informatik.med.uni-giessen.de
sr=sfraser,a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125278 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 03:53:01 +00:00
katakai%japan.sun.com
7e6052e43a bug 152790
tis620-2 is not defined as th language group
added tis620-2 entry as language Thai
r=ftang,sr=sfraser,a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125277 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 03:50:17 +00:00
jfrancis%netscape.com
5c9f6ba852 fix for Bug 154932: Mozilla will not start on MacOS 8.6 if filesharing is on. Corrected the construction of an FSSpec in nsDirectoryService.cpp
r=ccarlen
sr=sfraser
a=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125276 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 03:31:06 +00:00
morse%netscape.com
adc5ea66d1 bug 155038, never consider chrome urls to be foreign, r=bbaetz, sr=alecf, a=chofmann, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125266 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 00:56:03 +00:00
mstoltz%netscape.com
f6a2d615ee Bug 149943 - "pin" DNS cache to prevent DNS spoofing. Patch by Darin, r=dougt,
sr=dveditz, a=chofmann.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125262 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 00:21:42 +00:00
(no author)
935bccd809 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@125252 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 22:57:36 +00:00
sfraser%netscape.com
11fe7c9c82 Fixing bug 139802 on the branch. Avoid spending lots of time in WaitNextEvent when there are NSPR threads running. r=wtc, sdagley. a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125250 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 22:56:54 +00:00
jaggernaut%netscape.com
8dc8007734 This should fix the bustage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125230 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 19:02:29 +00:00
rods%netscape.com
52510b1a61 again trying to fix bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125223 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 16:47:23 +00:00
ccarlen%netscape.com
4136782b8e Fixing bustage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125214 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 14:30:29 +00:00
rods%netscape.com
16bf0837e9 fix bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125213 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 13:41:18 +00:00
rods%netscape.com
ee1c750ef3 fix bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125208 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 12:11:14 +00:00
rods%netscape.com
24582d244c Add assign method
Bug 151628 r=ccarlen sr=jst a=jud adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125206 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 10:54:11 +00:00
rods%netscape.com
15600e9cc9 Need null pointer check for insurance (extra safety check)
Bug 155189 a=chofmann adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125205 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-15 10:22:39 +00:00
mstoltz%netscape.com
e2be3f623e Bug 152725 - prevent cookie stealing due to incorrect URL parsing. Do not
get or set cookies for URL schemes which do not support the host field.
r=morse, sr=jst, dveditz, a=asa.

Bug 149943 - "pin" hostnames to IP numbers for the duration of a session to
prevent DNS spoofing. Patch by darin, r=dougt, sr=dveditz, a=asa

Bug 154930 - Prevent another DNS spoofing attack by restricting use of
document.domain. r=dveditz, sr=jst, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125141 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-13 03:07:47 +00:00
sgehani%netscape.com
360da12882 Fix ``search button should not use non-user-typed url as a search term''.
b=156504; r=jesse; sr=blake; a=adt,valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125108 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-12 20:00:59 +00:00
kaie%netscape.com
45232b694d b=156546 Forwarded inline: Incorrect signature/encryption status shown in header area
r=ducarroz sr=alecf adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125096 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-12 18:30:24 +00:00
rods%netscape.com
11557cd4cd Minor comment change
Bug 99619 r=kmcclusk sr=sspitzer a=jud adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125088 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-12 11:34:52 +00:00
jkeiser%netscape.com
af1ab5cd9a Catch recursive frames before it's TOO LATE (bug 136580), Adam Lock's patch, r=jkeiser, sr=jst, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125065 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-12 03:27:49 +00:00
caillon%returnzero.com
1b3ae36bfa Bug 156822. New Address book and Composer icons for the windows menu and the component bar by marlon@netscape.com
moa=jag a=dbaron a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125063 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-12 03:16:31 +00:00
dbradley%netscape.com
8b33852684 Backing out checkin of 52458 to fix OS/2 bustage
Contained referenced to mIsScrollBar which exists in trunk, but not in branch


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125007 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-11 06:08:08 +00:00
dprice%netscape.com
e695b6ea1b oops missing adt=
backing out


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125006 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-11 05:34:17 +00:00
dprice%netscape.com
bd34e4a9a6 153291 r=curt sr=dveditz a=chofmann adt=jaime
add a way to create custom files for components
WINDOWS ONLY


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@125005 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-11 05:23:56 +00:00
leaf%mozilla.org
902c609a39 update mac vers resource for bug 156409, r=jj
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124994 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-11 00:20:23 +00:00
shliang%netscape.com
e6ce4cecd3 155647 - addressbook card view spacing issues - r=bhuvan,sr=sspitzer,a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124993 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-11 00:14:34 +00:00
rbs%maths.uq.edu.au
1dd6ca0bf2 crash if position: absolute applied to <math>, r=roc+moz, sr=waterson, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124991 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 23:45:19 +00:00
mkaply%us.ibm.com
38307cf9a3 more 67913 - forgot change from reviewer when applying patch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124988 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 23:32:05 +00:00
mkaply%us.ibm.com
2dbf05edde #52458
r=pedemont, sr=blizzard (platform specific code), a=valeski
OS/2 only - add a preference to enable trackpoint scrolling by creating invisible scrollbars on windows


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124987 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 23:31:19 +00:00
mkaply%us.ibm.com
dc7f020878 #56555
r=pedemont, sr=blizzard (platform specific code), a=valeski
OS/2 only - don't draw any rectangles if width is 0


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124986 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 23:29:11 +00:00
mkaply%us.ibm.com
ef3496fef8 #67913
r=pedemont, sr=blizzard (platform specific code), a=valeski
OS/2 only - don't let Mozilla windows cover up the Warpcenter


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124985 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 23:27:18 +00:00
rbs%maths.uq.edu.au
f2b5f60354 support <msqrt> and <mroot> with Mathematica fonts in addition to TeX fonts, b=121493, r=roc+moz, sr=waterson, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124983 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 23:01:45 +00:00
rbs%maths.uq.edu.au
6d7c54437c Hide embedded semantic MathML content, b=154931, r=hixie/dbaron, sr=roc+moz
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124982 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 22:56:58 +00:00
bryner%netscape.com
640a950f34 Bug 156052 - setting focus causes :hover to be set. r=dbaron, sr=blake, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124975 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 21:09:43 +00:00
smontagu%netscape.com
5cec851236 Bug 155096: Crash when adding image to right-to-left mail message. r=mjudge, sr=kin, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124972 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 20:36:01 +00:00
naving%netscape.com
26c36cf57f 155668 r=cavin sr=bienvenu a=valeski fixing problems in displaying japanese local folder names
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124967 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 19:16:59 +00:00
morse%netscape.com
f2042f5fed bug 155679, mapi doesn't work with turbo and multiple profiles, r=rdayal, sr=jag, a=valeski, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124965 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 18:36:39 +00:00
bzbarsky%mit.edu
411f2bcd84 Compress the history.dat database every so often. Bug 112308, patch by
John Morrison <jrgm@netscape.com>, r=blake, sr=bienvenu, a=choffman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124949 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 06:42:17 +00:00
bzbarsky%mit.edu
7dbf267463 Fix part of bug 120327. Patch by Jonas Jorgensen <jonasj@jonasj.dk>,
r=bzbarsky, sr=brendan,ben, a=dbaron, gladness=all


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124946 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 06:17:59 +00:00
brendan%mozilla.org
384e1cac18 Oops, deal with PRInt64 operand to NS_SWAP64 (followup to last checkin).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124943 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 05:20:15 +00:00
brendan%mozilla.org
2aed97ba78 Avoid aliasing differently-typed pointers in NS_SWAP64 (142869, r=dbaron, sr=ben, a=blizzard).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124941 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 05:10:07 +00:00
leaf%mozilla.org
193e733bfc update release resource to 1.0.1
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124908 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-10 00:10:00 +00:00
loadrunner%betak.net
fa426c3455 93002: [distribution]Conn: Use dialup networking (.DUN) when launching
mozilla. r=dougt,sr=rpotts. Help Windows NT, 2000, and XP dialup a RAS
connection when a network address is unreachable. The controlling pref
is "network.autodial-helper.enabled". Patch by smeredith, all credits
to him :-)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124900 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 23:42:05 +00:00
morse%netscape.com
72e5b38215 bug 155114 stealing of cookies using path attribute, r=mstoltz, sr=jst, a=chofmann, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124893 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 22:42:44 +00:00
timeless%mac.com
3a8a360848 Bug 125411 [NuBus] Mac installer crashes with a type 12 error (SleepQInstall)
r=dmose sr=jst a=tor


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124890 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 22:28:49 +00:00
brendan%mozilla.org
73fe2c170b Eliminate broken old pre-ECMA switch case compile-time evaluation (144834, r=khanson, sr=shaver, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124889 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 22:21:13 +00:00
ducarroz%netscape.com
1500211a00 Fix for bug 155671. Pass the originalMsgURI received by message compose service to msgDraft down to mime and back to the compose window. Did some cleanup too which fix some memory leak. R=kaie, SR=bienvenu, A=chofmann, ADT=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124857 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 19:08:13 +00:00
brendan%mozilla.org
f510f3c40f Null-check prop before dropping it (156354, r=khanson, sr=shaver, a=dbaron).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124819 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 03:17:04 +00:00
rods%netscape.com
79241cbf70 The problem is the print for a mail msg is started when the first notification
of the document (mail msg) is done loading. This is wrong because if the mail
msg has attachments they may not be loaded and then the msgPrintEngine gets
additional notification for when the attachments have started to load and since
it has already started toprint error dialogs appear AND the attachments don't get printed.
The solution here is to cache a pointer to the DOM Window for the msg(s) being
printed. Then as the "stop" notifications come in we can ignore any documents
(which would be the attachments) where the dom window doesn't match the msg's
dom window. Then when they match which is the last notifiaction we can call print.
The notification that comes thru where the docLoader is NULL means the previous
document has completed printing and the engine should print the next msg.
Bug 155430 r=cavin sr=kin/sspitzer adt=putterman a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124806 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-09 02:17:23 +00:00
peterlubczynski%netscape.com
4722528d28 Fixing some plugins don't understand the DATA attribute on the OBJECT tag so in those cases copy that value to an appened "SRC" entry to the array of attributes/parameters plugins are passed. Bug 152334 r=av sr=waterson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124747 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-08 06:11:21 +00:00
bienvenu%netscape.com
ad609ac775 fix crash when selecting a different folder while a local mail delete is going on, from trunk, a=chofmann 121240
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124735 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-07 00:25:27 +00:00
pete.zha%sun.com
854492cb27 crash if I close the mail window while a save as dialog is open for a message attachment
bug=143903 r=dbaron sr=waterson a=chofmann patch=antonio.xu@sun.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124702 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-05 04:51:30 +00:00
pete.zha%sun.com
bc9da123c9 Transport shouldn't fire status and progress after stop button been clicked for stopping a document load
bug=152279 r=jkeiser sr=darin a=chofmann patch=antonio.xu@sun.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124700 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-05 03:49:08 +00:00
jay.yan%sun.com
57c1713df6 bug 85958, shockwave/flash causes crash under solaris[x-server/bit-depth] patch=sergi,sr=serge,sr=blizzard,a=chofman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124670 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-04 05:31:23 +00:00
jay.yan%sun.com
f7e01beec6 bug 85958, shockware/flash cause crash under Solaris[x-server/bit-depth], patch=sergi, r=serge, sr=blizzard,a=chofman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124669 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-04 05:29:38 +00:00
henry.jia%sun.com
fdeb12057d Fixing bug 80035.
The patch allows Administrators to control the migration behavior wrt IMAP and Local Folders files. Today, during migration, we copy all those (IMAP & Local Folders) besides others into the newly created dierctory for the migrated profile. Some external parties have expressed concern over this approach due the large amount of mails they have in 4.x folders and all of those getting copied again wasting the disk space and also making the migration too slow. So, a hidden pref mail.migration.copyMailFiles is introduced (which can be set to false) for those who those interested to share the 4.x IMAP and Local Folders. Please see the bug report for the possible side effects and other discussion points wrt the sharing folders with 4.x. The pref is set to true by default which means we will continue to do the migration the way we have always done.
Patch by henry.jia@sun.com. r=racham, sr=sspitzer, a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124665 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-04 03:34:12 +00:00
leaf%mozilla.org
8622949487 add a *semicolon* bad mkaply, no biscuit.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124663 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-04 02:38:56 +00:00
harishd%netscape.com
c8a3883144 Disable scripts on the requested docshell and containing docshells. Also, made setCurrentURI() scriptable ( approved by Adam Lock ). b=154647, r=harishd, sr=jst, a=chofmann, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124644 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 23:40:13 +00:00
ducarroz%netscape.com
615ded5cba Fix for bug 155638. Backup previous fix for bug 137071 and 154734. R=nhotta, SR=bienvenu, A=chofmann, ADT=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124639 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 22:20:07 +00:00
mkaply%us.ibm.com
53fbb8a4ab #127741
r=saari, sr=blizzard, a=chofmann
OS/2 only - 82534 fix for OS/2


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124636 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 22:13:00 +00:00
brendan%mozilla.org
dd4a48af0d rogerl's fix to conform to ECMA by not enumerating regexp instance properties (155291, r=khanson, sr=brendan, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124634 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 21:42:12 +00:00
brendan%mozilla.org
334bb84b34 rogerl's patch to fix some ECMA arity glitches (155289, r=khanson, sr=brendan, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124631 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 21:03:42 +00:00
brendan%mozilla.org
6ea542727d khanson's fix for Function.prototype.apply.length ECMA glitch (145779, r=rogerl, sr=brendan, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124629 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 21:00:54 +00:00
law%netscape.com
2c819ea8fa Bug 154238; forgot this bit on the branch...r=blythe, sr=ben, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124617 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 20:05:46 +00:00
brendan%mozilla.org
8276dd65a0 checkin for rogerl: Array.prototype.join(undefined) should join using ',' (155285, r=scole, sr=brendan, a=chofmann).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124607 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 17:25:08 +00:00
timeless%mac.com
f59687321c checking in for shaver bug 146210: Add Date.now to mirror JS_Now in script.
r=rginda, sr=brendan, a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124594 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 11:01:53 +00:00
jaggernaut%netscape.com
51cafd0876 Bug 153834: crash when changing Window's windows colors (e.g. Win XP theme change); Patch by Adam Lock <adamlock@netscape.com>, r=saari, sr=jag, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124591 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 07:23:31 +00:00
timeless%mac.com
b200f2abe5 Bug 154737 String(NaN) crashes JS Engine if JS_THREADSAFE is set
r=dbradley sr=brendan a=chofman
this patch is not identical to the trunk, to compile some blocks of code were moved around
also the trunk has ACQUIRE_DTOA_LOCK() whereas the branch has ACQUIRE_DTOA_LOCK(n).


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124581 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 04:28:12 +00:00
mkaply%us.ibm.com
99cd8efa51 #154161
r=pedemont, sr=blizzard, a=valeski
OS/2 only - get NPNULL plugin working on OS/2 - somehow I forgot these files


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124576 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 02:10:05 +00:00
morse%netscape.com
71a1b018b2 backing out last checkin -- it was meant for trunk, not branch
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124572 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 01:03:52 +00:00
yokoyama%netscape.com
3adbf31222 Bug 153470
Fixing keyboard input processing.
CJK char conversion in nsWindows::OnChar()
Impact only Windows platforms
/r=shanjian; /sr=kin; /drivers=jud; /adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124559 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-03 00:30:35 +00:00
morse%netscape.com
79c43413c5 bug 155114, cookie stealing based on path, r=mstoltz, sr=jst
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124552 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 23:54:25 +00:00
tor%cs.brown.edu
234d339b8f Bug 154996 - PNG files with wrong width/height in IHDR can crash/hang
browser.  Patch by randeg@alum.rpi.edu (libpng author), rs=tor, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124534 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 21:29:57 +00:00
ccarlen%netscape.com
1ea10514a6 Bug 145827 - window.focus and window.blur not implemented in PPEmbed. Adding impl of nsIEmbeddingSiteWindow2. r=adamlock/sr=sfraser
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124533 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 21:27:14 +00:00
tor%cs.brown.edu
1377350cdc Bug 135579 - small interlaced PNG images not decoded correctly.
Patch from randeg@alum.rpi.edu (libpng author), rs=tor, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124532 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 21:25:07 +00:00
rogerl%netscape.com
a07b2410b5 Bug #154338,r=khanson,sr=jag,a=brendan. Misuse of string length field, when
stringwas dependent, extracted bad value for subsequent memory request.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124522 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 19:56:28 +00:00
timeless%mac.com
66b816aec1 Bug 125689 Mozinvaders crashes Mozilla! [@ nsGrid::FindRowsAndColumns]
r=varga sr=kin a=valeski
<grid></grid> with no rows or collumns


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124521 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 19:29:28 +00:00
cbiesinger%web.de
a5499898ab bug 82534 patch by saari r=bryner sr=jag a=valeski
Cannot type in URL/address/location bar or text boxes - no caret/cursor.  (Keyboard locks/freezes up / no input)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124485 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 09:40:49 +00:00
bzbarsky%mit.edu
fb6cf5001c Only let pages read their own style rules via CSSOM. Bug 135267, patch
by Mitch Stoltz <mstoltz@netscape.com>, r=dveditz, sr=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124481 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 06:45:27 +00:00
blakeross%telocity.com
c06c1c81c1 32034 - sidebar search fails if no navigator window is open. r=bryner sr=ben
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124458 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 02:45:23 +00:00
naving%netscape.com
7379db6d0f 154501 r=cavin sr=bienvenu a=valeski fixing regression can't save as draft/templates when using an imap acct that doesn't already have Drafts or Templates folder
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124448 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-02 01:09:58 +00:00
ducarroz%netscape.com
8dfd0be2f4 Fix for bug 154734. We need to unsecape the original message uri else IMAP will have trouble to deal with it. R=cavin, SR=bienvenu, ADT=paw, A=jud
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124445 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 23:58:44 +00:00
bzbarsky%mit.edu
d31db38e1b Fix major user perception bug 154346 (we don't execute content
automatically, but the user sure thinks we do).  r=law, sr=jag,
a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124441 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 23:16:20 +00:00
ssaux%netscape.com
c7e7547ac6 b=154624 change password regression r=javi sr=mscott a=valeski adt=paw
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124433 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 22:13:06 +00:00
av%netscape.com
07cd809b3c Bug 150761 -- using mouse wheel crashes windowless plugins, r=peterl, sr=sfraser, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124432 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 21:59:56 +00:00
rods%netscape.com
c63941f459 freeze the api
Bug 99619 r=kmcclusk sr=sspitzer a=jud adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124430 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 21:45:05 +00:00
rods%netscape.com
447244b1b8 PATCH to hide NOFRAMES, since we do not support disabling frames anyway
Bug 134401 r=bzbarsky sr=hewitt adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124429 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 21:42:34 +00:00
akkana%netscape.com
da5dcb0a53 148713: cure an infinite loop in replace all when going backward.
Also fixes the strict JS warnings mentioned in bug 145071.
r=brade sr=kin adt=jaime a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124423 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 21:08:09 +00:00
jpierre%netscape.com
5381e01d9e Fix for 139874 - inject latest Root CA certs - VISA
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124417 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 20:27:36 +00:00
leaf%mozilla.org
9a8046b3bc go back to using the user agent rv: value for indicating the "release", r=blizzard
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124407 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 17:58:04 +00:00
blizzard%redhat.com
6c82147405 Update MOZILLA_VERSION to 1.0.0. r=leaf
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124406 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 17:52:59 +00:00
curt%netscape.com
723215b09c Don't set the desription for icons.
(Bug #42604, for ssu, r=curt, sr=dveditz, a=valeski)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124396 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 06:02:49 +00:00
leaf%mozilla.org
bbb08f932f updating user agent string version for upcoming source release
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124394 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 05:11:07 +00:00
karnaze%netscape.com
aaccceee2b bug 149436 - shanmu's patch to fix DEC. a=chofmann, adt=syd, sr=kin, r=karnaze.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124390 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 04:05:10 +00:00
naving%netscape.com
ba88c2a01f 154000 r=cavin sr=bienvenu a=chofmann Make rename/delete/drag and drop of imap folders work for non-ascii folder names.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124379 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 23:20:40 +00:00
mkaply%us.ibm.com
f8ecb38366 #151536
r=pedemont, sr=blizzard, a=valeski
OS/2 only - display Euro using current font, not Unicode font


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124370 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 04:58:14 +00:00
mkaply%us.ibm.com
8f768a393f #118546
r=pedemont, sr=blizzard, a=valeski
OS/2 only - bullet proof unicode stuff, better default fonts


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124369 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 04:55:29 +00:00
mkaply%us.ibm.com
b41feead2f #154161
r=cls, a=valeski
OS/2 only - get NPNULL plugin working on OS/2


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124368 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 04:48:09 +00:00
mkaply%us.ibm.com
0c65f033df #154161
r=pedemont, sr=blizzard, a=valeski
OS/2 only - get NPNULL plugin working on OS/2


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124367 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 04:47:25 +00:00
mkaply%us.ibm.com
fb016f49df #149365
r=mkaply, sr=blizzard, a=valeski
OS/2 only from jblanco - only set number of copies in one place


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124362 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 22:20:24 +00:00
mkaply%us.ibm.com
c8176f72e4 #149422
r=bnesse, sr=jst, a=valeski
OS/2 only - skip over EOF character on JS files in prefs


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124361 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 22:17:51 +00:00
mkaply%us.ibm.com
4ac1389355 #147702
r=jeffreyj@us.ibm.com, sr=blizzard, a=valeski
Take Windows code - keep a handle on window during deletion to prevent crash


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124360 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 22:15:32 +00:00
law%netscape.com
82aaad64fd Bug 154238; set ddeexec registry entries while running so we work with Adobe Acrobat (req'd for Acrobat forms); a=choffman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124358 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 21:30:32 +00:00
mkaply%us.ibm.com
27b63a8651 #154680
r=mkaply, sr=jag, a=valeski
Regression in RFind - -1 should be default offset, not 0


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124355 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 18:57:52 +00:00
radha%netscape.com
3c9a1c48a9 Fix for bug # 35011. r=jst sr=kin a=jud. window.onscroll and element.onscroll not fired.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124354 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 15:34:45 +00:00
radha%netscape.com
9e81647dfb Fix for bug # 35011. window.onScroll event not fired. r=jst, sr=kin a=jud. ADT approval received.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124353 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 15:33:44 +00:00
seawood%netscape.com
c02c587d59 Only check for & use -fshort-wchar with CXX as some versions of gcc only support
-fshort-wchar for g++.
Include <stddef.h> instead of <stdlib.h> in wchar_t tests to avoid exit() declar
ation issues with autoconf.
Bug #139211 r=bryner,dbaron a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124349 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 04:34:56 +00:00
seawood%netscape.com
59abfcd74a Fixing xlib build bustage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124348 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 04:31:52 +00:00
seawood%netscape.com
8a9fe70b5f Link XT_LIBS in static xlib builds.
Use same modulename for xlib module in Makefile as the code uses.
Bug #144182 r=bryner a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124347 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 04:31:10 +00:00
dprice%netscape.com
287eecfb21 140104 r=curt sr=dveditz a=valeski adt=jaime
remove overlayinfo and chrome.rdf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124343 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 01:41:07 +00:00
bzbarsky%mit.edu
47ab7a80c9 Bug 144479 (crash changing display prefs on pages with position:fixed
stuff), r=dbaron, sr=jst, a=choffman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124339 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 01:11:51 +00:00
jfrancis%netscape.com
8210c82fbf fix for 140484: tagStr incorrectly freed in nsListCommand::GetCurrentState; r=jfrancis; sr=kin; checkin in on behalf of Dan McGuirk; has adt and driver approval for branch landing
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124337 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 00:56:15 +00:00
seawood%netscape.com
ccfd0b4ed3 Conditionally check for -lSM & -lICE if -lXt test fails.
Bug #126163 r=bryner a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124335 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 00:33:47 +00:00
wtc%netscape.com
9f7559c26f Bug 154918: finishing touches to declare NSPR 4.2.1 and NSS 3.5 RTM for
mozilla1.0.1.  a=chofmann for 1.0 branch.
Tag: MOZILLA_1_0_BRANCH


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124330 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 00:19:37 +00:00
seawood%netscape.com
96af7cd26d Conditionally check for -lSM & -lICE if -lXt test fails.
Bug #126163 r=bryner a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124329 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 00:09:57 +00:00
seawood%netscape.com
365c00df70 Sync config.guess & config.sub with official GNU copies.
Bug #140869 r=bryner a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124327 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-29 00:07:01 +00:00
naving%netscape.com
ff19348c83 153982 r=cavin sr=bienvenu a=valeski make drag and drop of folders work for non-ascii folder names when dragging from imap to local or from local to local
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124318 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 23:19:35 +00:00
curt%netscape.com
3dcf34cddb Refresh icons on upgrade
(Bug #154708, r=curt, sr=dveditz)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124311 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 22:57:58 +00:00
tao%netscape.com
461e0fabb2 144584: Update localeVersion in 1.0.1 branch for newer milestone releases.
r=leaf,sr=dveditz,a=adt/drivers


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124309 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 22:36:53 +00:00
av%netscape.com
ab6df0d151 Bug 150087 -- resetting DOM plugin array before creating a new document, r=av, sr=jst, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124307 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 22:00:34 +00:00
av%netscape.com
bfb453b032 Bug 148889 -- keeping XPConnected plugin dlls in memory longer to avoid crashes, r=peterl, sr=beard, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124306 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 21:50:20 +00:00
harishd%netscape.com
96d04c8a88 Make marquee tag a block level element. b=154173, r=heikki, sr=jst, a=adt,valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124305 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 21:17:07 +00:00
kaie%netscape.com
8138f9f75d b=154240 security fix
r=javi sr=alecf adt=putterman a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124304 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 21:14:42 +00:00
rogerl%netscape.com
253808b572 Moving fix for #112626 from trunk; root RegExp static input field.
a=adt, r=rginda, sr=brendan


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124300 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 20:26:01 +00:00
locka%iol.ie
838efbaffc Fix for opening javascript: popups in embedding. b=149307 r=adamlock@netscape.com sr=jst@netscape.com a=valeski@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124299 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 20:24:21 +00:00
seawood%netscape.com
d0dc76f1cd Fix symlink detection (again) so that relative symlinks work and the binary is executed from the cwd, not the installation directory.
Thanks to Andrew Schultz <ajschult@eos.ncsu.edu> for the patch.
Bug #57866 r=cls a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124294 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 20:02:43 +00:00
seawood%netscape.com
d784760253 Fix for bug # 141438. added code so that we don't define SHORT_LIBNAME on winNT
Thanks to srilatha@netscape.com for the patch.
r=cls, sr=sspitzer a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124290 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 19:56:37 +00:00
blakeross%telocity.com
4ecba27f46 85595 - transparent animated gifs have white background. patch by Paper. r=pav sr=tor a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124289 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 19:32:02 +00:00
jj%netscape.com
737a2983d9 fixing "HasBundle" and "HasCustomIcon" Finder flags to enable 32-bit icon for the installer (bugscape #16402 and #16581). a=adt.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124288 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 18:50:41 +00:00
jj%netscape.com
8988f6da45 landing on 1.0 branch of recent artwork and icon changes for the installer (bugscape #16402 and #16581)
a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124286 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 18:43:23 +00:00
dbaron%fas.harvard.edu
f21b437b1c Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Pull in parts from previous fix for bug 141261. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson a=valeski, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124266 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 06:20:50 +00:00
dbaron%fas.harvard.edu
d3e6e4734a Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Remove previous fix for bug 151620. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson a=valeski, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124264 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 04:37:17 +00:00
dveditz%netscape.com
66853862b5 return correct compareVersion() result in directory case (bug 136779) r=curt,sr=alecf,adt+,a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124263 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 03:53:34 +00:00
shanjian%netscape.com
3b36f91f6d #149724 Auto-detect Chinese doesn't work
Frequency analysis is only applied to euc clone encoding, and gb18030 is
not one of it. The existence of gb18030 will prevent frequency sampling from
happening. So eliminate gb18030 when considering frequency sampling.
r=ftang, sr=jst a=adt, valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124252 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 01:12:59 +00:00
blakeross%telocity.com
8a6110386c 106092 - trunk m1br m100 n70pr1 topcrash @ nsMenuFrame::OpenMenu. r=brade sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124249 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 00:48:46 +00:00
blakeross%telocity.com
9c664d18c0 153287 - prefs for location bar autocomplete don't stick. r=caillon sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124248 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 00:41:18 +00:00
timeless%mac.com
9d6f298def Bug 134724 nsIOService::~nsIOService => nsIOService::SetOffline
Getting service @mozilla.org/observer-service;1 on shutdown.
- M100 N70PR1 [@ nsThreadPool::Shutdown]
r=dougt sr=darin a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124245 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 00:27:15 +00:00
naving%netscape.com
3555d6cf63 104931 checking in for rdayal r=dmose sr=dveditz a=valeski install ldap modules as part of the browser instead
of mail.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124244 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 00:22:12 +00:00
serge%netscape.com
9148e88703 fix for #153547, crash [@ nsPluginInstancePeerImpl::GetOwner] r=av, sr=beard,a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124243 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-28 00:19:16 +00:00
bryner%netscape.com
29313725bb Fixing a printing crash caused by an uninitialized variable in DocumentViewerImpl::PrintDocContent (bug 151607). r=rods, sr=sspitzer, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124238 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 23:49:34 +00:00
morse%netscape.com
1ca5f2df20 bug 150080, turn on turbo for multiple profiles, r=law, sr=waterson, a=valeski, adt=paw
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124235 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 23:10:05 +00:00
morse%netscape.com
c103108810 check in new image for lori, a=lorikaplan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124234 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 23:02:00 +00:00
ccarlen%netscape.com
5ca9ccb8b5 Bug 134448 - XPTI needs to account for system wide plugins folders. r=peterlubczynski/sr=beard/a=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124233 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 22:46:29 +00:00
ssu%netscape.com
05118109bc fixing bug 152895 - msg header pane loses focus. r=ducarroz, sr=mscott, a=adt,drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124220 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 21:39:31 +00:00
mstoltz%netscape.com
ee2f062637 Bug 149777 - do not clone nodes from the page into the pageInfo Media panel,
just copy over the source URL and other relevant fields (to avoid copying event
handlers). r=bzbarsky, sr=jag, a=valeski. Patch by jrgm@netscape.com.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124219 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 21:33:16 +00:00
ducarroz%netscape.com
6fb5cd2313 Fix for bug 145291. We must generate the headers of all the children of an multipart/appledouble attachment when doing parts-on-demand in order to have all the needed information to generate the attachment entry in the UI. R=cavin, SR=bienvenu, A=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124213 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 21:04:05 +00:00
rods%netscape.com
cf00b52da2 temporary patch to the forms controls to ignore mouse events when in
printpreview until Bug 124990 gets fixed (radio and checkbox doesn't need the fix)
Bug 129002 r=dcone sr=attinasi a=jud adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124176 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 10:46:45 +00:00
rods%netscape.com
8023d5b6a3 We do not want to skip page ejects when printing the selection
Bug 153964 r=dcone sr=kin a=jud adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124175 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 10:44:04 +00:00
hewitt%netscape.com
3caa15fea0 bugs 124969 (crash typing in homepage textbox on mac) and 126480 (autocomplete popup doesn't appear the first time you type), r=ben, sr=bryner, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124164 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 05:07:03 +00:00
dcone%netscape.com
51a8ec8ac7 b=153456 r=kmcclusk@netscape.com, sr=waterson, a=Judson Valeski,putterman@netscape.com. Fixed a realizePalette call. improves
performance.. especially with embedding.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124163 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 04:50:17 +00:00
dprice%netscape.com
2a8076c485 154220 r=curt sr=dveditz a=valeski adt=jaime
Don't enter pause dialog if http response indicates an error


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124160 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 03:51:40 +00:00
heikki%netscape.com
90d90b777c Bug 151933, xml:base needs to call CheckLoadURI. r=harishd, sr=jst, a=ADT,valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124159 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 03:44:39 +00:00
serge%netscape.com
d027b325ef fix for #149336 Linux Flash crashes and causes stack curruption in NPP_New when swLiveconnect=TRUE, r=av,sr=darin,a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124157 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 03:00:11 +00:00
bbaetz%student.usyd.edu.au
148c919829 Bug 154030 - Handle directory index page title correctly
r=dougt, sr=darin, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124155 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 01:57:00 +00:00
naving%netscape.com
17ce578faa 151699 r=cavin sr=bienvenu a=valeski Bail out if there is no space when d&d local folders
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124150 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 01:21:21 +00:00
timeless%mac.com
654d90b6b8 Bug 125411 [NuBus] Mac installer crashes with a type 12 error (SleepQInstall)
r=sfraser sr=beard a=valeski
thanks to tim@maroney.org (see bug 138156)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124149 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 00:39:19 +00:00
timeless%mac.com
92f366df0e Bug 136441 <select> dropdowns messed up if they are in an iframe and the dropdown is longer than the iframe's height
patch by roc, r=kmcclusk, sr=waterson, a=jesup (re-approved by valeski)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124147 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-27 00:27:55 +00:00
morse%netscape.com
859b9bf284 checking in new p3p icon for lori, a=lori
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124140 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 23:49:47 +00:00
rpotts%netscape.com
ce0af0ef4e bug #147741 (r=jst, sr=darin, a=valeski) Notify nsIContentPolicy listeners of document and sub-document loads.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124119 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 20:45:10 +00:00
kaie%netscape.com
8bbe93efd9 b=154084 entering/leaving secure site alert pops up incessantly
r=javi sr=alecf adt=paw a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124107 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 19:04:04 +00:00
bbaetz%student.usyd.edu.au
25b4c3389a Oops, didn't notice tree was closed - backed out previous patch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124092 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 12:09:44 +00:00
bbaetz%student.usyd.edu.au
06d700b8d4 Bug 154030 - Handle directory index page title correctly
r=dougt, sr=darin, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124091 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 12:05:53 +00:00
peterv%netscape.com
639474a89e Fix for bug 142108 (Crash when reloading XML+XSLT Trunk, M100, N70PR1, M11A [@ nsXMLContentSink::Observe][@ 0x00000001]). r=Pike, sr=jst. a=judson, adt=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124089 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 08:51:36 +00:00
peterv%netscape.com
ce1e3c03b5 Fix for bug 142108 (Crash when reloading XML+XSLT Trunk, M100, N70PR1, M11A [@ nsXMLContentSink::Observe][@ 0x00000001]). r=Pike, sr=jst. a=judson, adt=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124088 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 08:10:48 +00:00
peterv%netscape.com
239db03a1d New files for bug 142108 (Crash when reloading XML+XSLT Trunk, M100, N70PR1, M11A [@ nsXMLContentSink::Observe][@ 0x00000001]). r=Pike, sr=jst. a=judson, adt=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124086 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 07:54:58 +00:00
peterv%netscape.com
9dcf945f94 Fix for bug 153757 (hasAttribute on a HTML label crashes). r=caillon, sr=jst, a=dbaron, adt=putterman.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124085 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 07:45:36 +00:00
jay.yan%sun.com
098a6b94b7 bug 135663 Solaris's F11 and F12 do not map to VK_F11 and VK_F12 r=akk, sr=blizzard,a=Jud
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124071 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 03:11:24 +00:00
bryner%netscape.com
fb6cc8e082 Fixing 144315, a crash regression from my checkin for bug 138237. r=alexsavulov, sr=blake, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124057 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 00:48:24 +00:00
dveditz%netscape.com
b3b11437a8 avoid leaking plugin path name unless debugging pref turned on (bug 88183) r=peterlubczynski, sr=alecf, a=valeski, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124053 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-26 00:25:18 +00:00
cavin%netscape.com
306252b88f Fix for 152449. Remember the CRC checksum for the updated card info in PatchHistoryTableWithNewID(). r=naving, sr=bienvenu, a=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124029 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 22:21:28 +00:00
naving%netscape.com
3e3feeebb2 153101 r=cavin sr=bienvenu a=valeski fix copying to local sent/draft folder after sending mail
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@124027 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 22:14:09 +00:00
(no author)
ef5e271ffd 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@124018 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 21:16:18 +00:00
jaggernaut%netscape.com
71eb38c4d9 Bug 150099: Hide the tab bar when clicking the close box, add show/hide menuitem for tabbar. r=bryner, sr=hewitt, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123995 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 06:37:46 +00:00
curt%netscape.com
e23dff8f91 Support for screen reader.
(Bug 104477, r=dprice, sr=dveditz)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123993 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 05:55:26 +00:00
curt%netscape.com
3d08029c45 Support for screen reader in listbox.
(Bug 104477, r=ssu, sr=dveditz, mozilla1.0.1+)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123992 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 05:52:42 +00:00
blakeross%telocity.com
6a02131f6c 143333 - transpaernt animated gif rendered laced with garbage pixels. patch by Arron M. r=pav sr=tor a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123987 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 04:52:49 +00:00
peterlubczynski%netscape.com
4df00a3088 Fixing NS_MakeAbsoluteURI so it doesn't crash on default parameters, bug 148233 r=serge, sr=darin a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123984 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 04:21:42 +00:00
varga%utcru.sk
e6af590601 Fix for bug 123719 - Default account is not placed at the top of the folder paner=bryner,neil sr=bienvenu,blake a=valeski adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123983 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 04:00:36 +00:00
jaggernaut%netscape.com
44d41aa222 Bug 147720: M1RC3 crash [@ nsCharTraits<unsigned short>::length]. r=dbaron, sr=blake, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123982 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 03:17:19 +00:00
caillon%returnzero.com
93b7ef8f0c Bug 134800. Following a groupmark should not clobber all open tabs: append the groupmark's tabs to the end of the tab list instead.
r/sr=jag/blake
a=asa
adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123981 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 03:16:32 +00:00
peterlubczynski%netscape.com
5ada44a604 Fixing IPIX for Mac Classic: SetWindow needed to be called and nsObjectFrame::DidReflow() needed to complete on Mac as well, bug 144896 r=av sr=beard a=dbaron & ADT
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123979 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 02:45:36 +00:00
peterlubczynski%netscape.com
f1e23fb653 Fixing bug 122119, cannot use consecutive white space characters in PARAM tags, r=harishd, sr=jst a=dbaron & ADT
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123977 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 02:41:06 +00:00
blakeross%telocity.com
10ecd2cb1c 132319 - browser crashes when machine is low on memory. r=pav sr=tor a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123976 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 02:30:24 +00:00
blakeross%telocity.com
62eda89c24 135270 - sidebar add button doesn't call right dialog for bm groups. r=bryner sr=ben a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123975 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 02:17:34 +00:00
suresh%netscape.com
c1df55f01b fix for bugscape 16611, crash [@ InMemoryDataSource::Assert ]. r-rjc, sr-alecf, a-adt.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123970 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 00:15:33 +00:00
rods%netscape.com
8ee6840c00 when loading images from the cache for printing we need to set the flags correctly to get them from the cache
Bug 150072 r=dcone sr=kin a=jud adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123968 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 23:22:32 +00:00
rods%netscape.com
1fdfd53ba4 Add an interface to nsDataObjectCollection so we can QI to check to make sure
it is one of our objects before doing the static cast.
Bug 106211 r=pink sr=jst a=dbaron adt=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123967 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 23:19:33 +00:00
rods%netscape.com
4cc53df442 We are destroying the PresShell without calling EndObservingDocument, when a
BeginObservingDocument was already called. This means the PresShell is still
registered as an observer of the document and then later can cause a crash when
the document loops thru the observer list.
Bug 152536 r=dcone sr=jst a=jud adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123966 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 23:15:39 +00:00
dprice%netscape.com
3e06338d30 144288 - missed a slight change
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123963 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 22:47:34 +00:00
dprice%netscape.com
5ec9d0dafa 151947 - r=curt sr=dveditz adt=jamie a=valeski
let config.ini control cleanup of previous version reg keys


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123962 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 22:44:20 +00:00
dprice%netscape.com
6c54fb56fc 149791 - r=curt sr=dveditz adt=jaime a=valeski
make superseded components invisible in selection lists


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123961 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 22:42:31 +00:00
dprice%netscape.com
608973612d 144288 - r=sgehani sr=dveditz adt=jaime a=valeski
libxpnet now fails on bad response codes


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123960 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 22:39:47 +00:00
naving%netscape.com
10ce09d738 136784 r=bienvenu sr=mscott a=valeski fix problems in compacting local folders when summary file is
out-of-date.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123951 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 21:45:59 +00:00
karnaze%netscape.com
a92f30d9c3 bug 145842 - don't repeat headers/footers that split. sr=attinasi, r=alexsavulov, adt=paw, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123949 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 21:32:46 +00:00
naving%netscape.com
88346339f0 151056 r=cavin sr=bienvenu a=valeski. fix mdn to work for large imap messages.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123948 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 21:25:31 +00:00
mjudge%netscape.com
77698771ed bug 146299 adt+ drivers+ sr=jag r=cmanske. bug to make drag selection select the image in the source document despite if the drag is successful or not.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123946 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 21:00:49 +00:00
mjudge%netscape.com
ff93b8dcda fix for 113613 sr=kin r=blythe adt+ and drivers ok'd. small fix to prevent caret from leaving containing style while typing and hitting endofline key.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123945 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:55:12 +00:00
kaie%netscape.com
be0bcee8f3 b=140836 https surfing: Clicking on a link early leads to "mixed/broken" lock icon
r=javi sr=rpotts adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123944 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:51:21 +00:00
kaie%netscape.com
f5057e6483 bug #148981 (r=kaie, sr=darin, adt=jaimejr, a=valeski). STATE_TRANSFERRING notifications are not fired if theunderlying channel does not provide nsIProgressEventSink notifications...
checking in for rpotts


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123943 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:42:37 +00:00
naving%netscape.com
09049016ea 152713 r=ssu, racham sr=mscott a=valeski Don't allow special folders to be deleted (Edit | Delete folder)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123942 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:41:25 +00:00
kaie%netscape.com
eafd14d1f0 b=153243 Error in recipient certificate availability checking, causing unreadable mail
r=ssaux sr=jag adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123941 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:39:14 +00:00
kaie%netscape.com
6033805e92 b=137071 [UE] Replies to or forwarding S/MIME encrypted mail should default to encrypt
Additional required patch, to fix "forward inline".
Patch created by ducarroz.
r=kaie sr=mscott adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123940 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:33:03 +00:00
kaie%netscape.com
2b5c8e9cbd b=137071 [UE] Replies to or forwarding S/MIME encrypted mail should default to encrypt
r=ducarroz sr=mscott adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123939 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:32:34 +00:00
naving%netscape.com
58e659e1e9 139485 r=cavin sr=bienvenu a=valeski fixing certain cases where returning to folder view after doing quick search
won't refresh scrollbar.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123938 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:29:55 +00:00
kaie%netscape.com
46d05f5f74 b=90956 Dot (.) instead of localized characters in pipnss module
r=ssaux sr=alecf adt=jaimejr adt=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123937 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:16:19 +00:00
caillon%returnzero.com
f3996f782c Bug 152256, honor the pref to prevent sites from hiding the statusbar for window.statusbar.visible=false
r=bzbarsky
sr=jst
a=valeski
adt=paw


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123936 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:12:21 +00:00
pinkerton%netscape.com
2d45da0f14 turn on CG metrics for quartz rendering if 10.1.5 is present. bug 149427, r=ccarlen/sr=hyatt/a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123935 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:10:08 +00:00
pinkerton%netscape.com
8c8adeec08 Check hidden attribute when creating separators. r=saari/sr=sfraser/a=valeski. bug#151693
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123934 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:08:51 +00:00
caillon%returnzero.com
9371bccc37 Bug 74688. Mail/News out of the box on Mac was pretty unusable because context menus were appearing on clicking the scrollbar.
r=sgehani
sr=jag
a=valeski
adt=putterman


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123933 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 20:08:49 +00:00
mkaply%us.ibm.com
a1f63a989a #150679
r=jeffreyj@us.ibm.com, sr=mscott, a=valeski
OS/2 only - support for new mail notification in the OS


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123917 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 04:48:10 +00:00
blakeross%telocity.com
49ac50f0c2 143267 - tools > download manager doesn't focus already open download manager. r=sgehani sr=blake a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123914 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 04:00:31 +00:00
timeless%mac.com
e1b79228fa Bug 152910 Set History to 0 it still works
patch by blake r=adamlock sr=alecf a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123912 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 02:32:59 +00:00
mkaply%us.ibm.com
d9a050b6c1 #150157
r=wtc, a=dbaron
OS/2 only - DosWrite is not returning an error when the disk is full.
We can tell the write failed if we did a partial write.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123911 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 02:13:20 +00:00
blizzard%redhat.com
0335eb8910 Bug #116653. Implement openurl(foo,new-tab). Patch from shaver. r=blizzard,sr=jag
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123908 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-24 00:22:04 +00:00
dbaron%fas.harvard.edu
204e2b5863 Correct display of bookmark groups in folders on personal toolbar. b=134853 Patch from neil@parkwaycc.co.uk. r=ben sr=alecf a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123895 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-23 05:49:15 +00:00
blakeross%telocity.com
a0bc28a6f0 134076 - help search engine should let users know that no matches were found. r=oeschger sr=alecf a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123893 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-23 04:11:59 +00:00
jaggernaut%netscape.com
20f52a464a Bug 112769: better "new tab" button for classic theme. r=bryner, sr=blake, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123891 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-23 02:35:37 +00:00
brendan%mozilla.org
99e1cc2ee7 Report uncaught errors-as-exceptions from outermost JS_Compile*Function* API calls, just as for JS_Compile*Script* (150584, r=rginda, sr=jst, a=dbaron).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123887 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-23 00:09:36 +00:00
brendan%mozilla.org
7a453fda9c Work around fgets-can't-return-embedded-nul bug (148800, r=rogerl, sr=shaver, a=valeski).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123885 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-23 00:04:45 +00:00
bnesse%netscape.com
42936b4b40 Fix for bug 141035. Application must quit if the .cfg file is required but does not exist. r=ccarlen, sgehani. sr=alecf, beard, dveditz. a=valeski. adt=putterman.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123878 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 20:43:33 +00:00
blakeross%telocity.com
ff1b8f2964 142310 - topcrash quitting while downloading @ nsHashTable::Exists. r=bryner sr=ben a=asa
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123875 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 19:44:15 +00:00
peterv%netscape.com
15ab5b9a2e Fix for bug 88761 (html code for selected and noshade (and other minimizable attributes) not w3c conformant). r=heikki, sr=jst, a=judson, adt=paw.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123869 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 14:27:54 +00:00
katakai%japan.sun.com
c374ea8952 bug 152260
AMPM order needs to be cared in time format
check the order AM/PM string from strftime()
r=yokoyama,sr=blizzard,a=valeski@netscape.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123864 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 06:18:44 +00:00
bryner%netscape.com
f97c54d160 Fixing win32 gmake bustage from darin's checkin... configure is not auto-updated on the branch, so please make sure to check in configure if you change configure.in.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123863 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 05:04:53 +00:00
srilatha%netscape.com
f07bfa94eb Fix for bug # 148939. When a card gets updated, update the addresslists of the mailing list
r=varada, sr=bienvenu, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123857 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 01:26:35 +00:00
rginda%netscape.com
c64b227676 Bug 151803, "Debugger is leaking JSDValues", r=peterv, sr=jst, a=valeski
Stop caching jsdIValues, it doesn't seem to be worth the lookup cost. This has the side effect of plugging the leak, as described in the bug.
also...
* Convert a few raw pointers to nsCOMPtrs
* Fix a bug where removing the last filter did not null out the list head,
causing a crash the next time filters were used.
* Track live jsdStackFrames, so we can invalidate them all when execution
continues. Without this, only the top frame is properly invalidated, and any
other frame accessed after a continue will do Bad Things.
* Add some debugging prints to GetInitAtService, which seems to be failing at
random times.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123855 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 01:08:34 +00:00
yokoyama%netscape.com
8176e540c2 Bug 149171, 146844, 149397
CJK IME text input related bug fixes.
/r=shanjian,/sr/brendan,/driver=jud,/adt=ok


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123851 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-22 00:34:46 +00:00
darin%netscape.com
a025d90adb fixes bug 147333 "Cannot load local files whose names contain
Japanese/Chinese characters" r=bstell sr=brendan a=valeski adt+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123841 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:55:49 +00:00
peterlubczynski%netscape.com
48933113ab Fixing bug 134445, OBJECT tag needs to be able to access default plugin r=av sr=beard
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123839 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:52:08 +00:00
naving%netscape.com
99dd57db43 129540 r=racham sr=alecf a=drivers adding help buttons and fixing them to point to right help page
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123838 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:44:06 +00:00
darin%netscape.com
4656a50b00 secondary fix for bug 146094 "Stealing third-party cookies through a proxy"
r=dougt sr=rpotts a=valeski adt+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123834 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:39:28 +00:00
darin%netscape.com
27d41038fa fixes bug 133286 "Windows Media Player in full-page plugin mode may not
repaint window" patch=av r=dougt sr=darin a=valeski adt+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123833 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:37:37 +00:00
naving%netscape.com
08fcc4efa9 129540 r=racham sr=alecf a=drivers adding help buttons and fixing them to point to the right page.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123832 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:36:32 +00:00
darin%netscape.com
1c43d58ca0 fixes bug 140107 "HTTP headers show in frame [when server pipelines chunked
responses]" r=dougt sr=rpotts a=valeski adt+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123831 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:32:33 +00:00
alexsavulov%netscape.com
d35f1c396d fix for bug 144315 - Images that are "broken" during document editing don't
redisplay using broken image icon.
r=glazman sr=waterson a=jaimejr


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123826 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 23:01:22 +00:00
wtc%netscape.com
6798a8a496 Bug 151940: SEC_PKCS12DecoderVerify should call SEC_ASN1DecoderFinish first
to detect insufficient input data error.  With mozilla1.0.1+ and adt1.0.1+
approvals.
Tag: MOZILLA_1_0_BRANCH


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123818 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 21:46:48 +00:00
wtc%netscape.com
073f0dcac1 Bug 151671: merged NSPR 4.2 and 4.2.1 fixes into MOZILLA_1_0_BRANCH.
With mozilla1.0.1+ and adt1.0.1+ approvals.
Modified files: repackage.sh prdepend.h base64.c prinit.h ptio.c vercheck.c


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123817 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 21:40:15 +00:00
curt%netscape.com
e54f9a1948 Looked like disk space was negative
(Bug #82448, r=dprice, sr=dveditz, a=valeski)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123816 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 21:36:31 +00:00
ssu%netscape.com
ad7d6a84eb fixing bug 152456 - mail header To: field shows duplicate address. r=varada, sr=mscott, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123815 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 21:36:04 +00:00
racham%netscape.com
2607c79153 Disable ,a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123814 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 21:31:50 +00:00
srilatha%netscape.com
498e49324c Fix for bug # 130403. If there is no selected addressbook, make personalAB selectedAB.
r=varada, sr=bienvenu, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123811 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 21:09:05 +00:00
pavlov%netscape.com
ac467dfb2f fix for bug 148879. patch from balleysson@bigfoot.com. r=pavlov sr=tor a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123809 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 20:34:07 +00:00
shaver%mozilla.org
f12373b8d5 76968: Need to ~expand paths in nsLocalFileUnix. r=bz, sr=blizzard, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123804 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 20:08:37 +00:00
peterv%netscape.com
0a50be934d Fix for bug 94475 (if first whitespace in line in textarea is a tab it is changed to a new line). Patch by t_mutreja@yahoo.com, r=bratell@lysator.liu.se, sr=heikki, a=valeski, adt=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123782 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 08:22:37 +00:00
racham%netscape.com
f9c5aa5879 Fixing bugzilla bug 144562. Allow ISPs and vendors to set up pre-configured mailnews accounts via prefs. Adding global version prefs which provide ISP/vendors the flexibility of adding new accounts/servers to the existing set of accounts/servers by increasing the default version number. r=srilatha, sr=bienvenu, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123781 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 07:57:17 +00:00
racham%netscape.com
205be5ebc7 Fixing bugzilla bug 144562. Allow ISPs and vendors to set up pre-configured mailnews accounts via prefs. When a proper set of prefs area added to the global prefs file, accounts are set up automatically. On launching mailnews app, Account Wizard will be brought up on identifying invalid accounts so that user information like name and email address can be entered. Please see the bug for set of prefs used as an example. r=srilatha, sr=bienvenu, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123780 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 07:54:14 +00:00
dprice%netscape.com
3f782d2982 137384 r=curt sr=dveditz a=valeski adt=jaime
include license.txt with saved files when saving installer files


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123779 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 07:38:33 +00:00
dmose%netscape.com
dedb6e44a9 Fix incorrect array length calculation + add temporary variable to avoid scoping issue which was causing bogus text to appear in the LDAP auth dialog on linux (bug 148897); r=bryner@netscape.com, sr=bienvenu@netscape.com, a=valeski@netscape.com, adt=paw@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123777 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 06:53:20 +00:00
cotter%netscape.com
01d73157aa help content updates per bugzilla 122806 & ADT, r=oeschger; a few more final correx, search db update
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123773 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 05:50:42 +00:00
srilatha%netscape.com
9bcf6107c1 Fix for bug # 118804. Setting the width on the dropdown listbox
r=varada,andreww, sr=bienvenu, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123771 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 05:28:56 +00:00
dbaron%fas.harvard.edu
b0100e4d87 Fix performance problem on home.netscape.com: Don't do full reflow of all absolutely positioned elements whose containing block is on the path to the target of an incremental reflow. b=146831 sr=waterson r=kin a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123762 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 03:32:53 +00:00
dbaron%fas.harvard.edu
75a1d85212 Make sure SpaceManager is in the reflowState before absolute items are reflowed to prevent crash. b=130251 Patch by attinasi. r=alexsavulov, dbaron sr=waterson a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123761 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 03:25:52 +00:00
dbaron%fas.harvard.edu
6b3f3a6e88 Fix hang bug 140275 by cleaning up FindFrameWithContent. r=attinasi sr=waterson b=140275. Includes fix for regression that it caused, b=145224 sr=waterson r=bzbarsky. a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123758 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 03:04:34 +00:00
dbaron%fas.harvard.edu
9f5554c942 Fix crash when looking at style rules of element matching no rules. b=141022 r=hewitt sr=waterson a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123757 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 02:58:23 +00:00
dbaron%fas.harvard.edu
7a969df31e Fix crash exiting print preview in certain cases (pages with frames; embedding apps) by ensuring view manager outlives pres shell. b=148308 r=rods sr=waterson a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123756 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 02:56:06 +00:00
blakeross%telocity.com
73e99cd734 Some code slipped in that shouldn't have. Thanks to jrgm for catching it.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123753 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 02:18:38 +00:00
cmanske%netscape.com
48b621a0d7 New publish icon for Composer toolbar. b=125128, r=cmanske, sr=jst, a=adt, a=valeski/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123749 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-21 01:44:54 +00:00
leaf%mozilla.org
034c7403c1 update resource version strings.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123740 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 23:59:11 +00:00
dbaron%fas.harvard.edu
8a24b2305c Fix crashes related to editing of HR elements by wrapping generated content for leaf frames in an extra frame so :before and :after are always the first/last children of the primary frame. Disable generated content for floating and absolutely positioned leaf frames. b=141054 sr=waterson r=kin a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123739 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 23:57:25 +00:00
dougt%netscape.com
8f8d06a1fe 153164. removed embed_base_s from XPCOM_GLUE_LIBS r/sr=seawood
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123736 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 23:43:00 +00:00
kmcclusk%netscape.com
463bf075db Fix off by one pixel error by changing how the rendering context state is saved/restored in nsContainerFrame's Paint method bug=80530 sr=waterson r=dbaron a=valeski adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123730 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 23:28:23 +00:00
kaie%netscape.com
418629f9d5 b=152971 Fix code error, occurred when manually resolving conflicts
r=ssaux sr=darin a=valeski adt=jaimejr


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123726 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 22:33:14 +00:00
dmose%netscape.com
b5d5402be6 If authentication fails during LDAP autocomplete, bring up a new password dialog rather than showing an obscure error message (bug 150723); r=ducarroz@netscape.com, sr=hewitt@netscape.com, a=valeski@netscape.com, adt=paw@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123708 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 19:57:35 +00:00
mkaply%us.ibm.com
b4a2bbf3f2 #152936
r=rods, sr=jst, a=valeski
OS/2 - Just return if there are no printers to prevent crash


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123707 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 19:56:36 +00:00
blakeross%telocity.com
f28341d7b8 131762 - can open multiple occurrences of download manager. r=hixie sr=ben a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123705 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 19:28:51 +00:00
blakeross%telocity.com
f565d2710a 142824 - downloads.rdf keeps on growing. r=blake sr=ben a=asa, patch by jrgm.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123704 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 19:26:29 +00:00
mkaply%us.ibm.com
1ab282c09c #70141
r=timeless, sr=jag, a=valeski
Windows - map + on numpad to + character


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123703 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 19:11:07 +00:00
kaie%netscape.com
b413625b22 b=145730 Avoid unnecessary repeated "encrypted page" alerts on JavaScript links.
r=jst sr=darin adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123702 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 18:59:11 +00:00
ssu%netscape.com
6dd25d57b7 fixing bug 136417 - Mark newsgroup read from newsgroup folder context menu affects wrong folder. r=bhuvan, sr=mscott, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123698 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 18:31:50 +00:00
morse%netscape.com
7ca15ca9f9 change p3p icon, r=kerz, sr=blake, a=lorikaplan
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123691 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 13:27:44 +00:00
(no author)
d8d51f3fc0 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@123687 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 12:04:23 +00:00
ssu%netscape.com
c30c45478b fixing bug 150678 - native installer progress bar looks choppy. r=curt, sr=dveditz, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123683 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 07:02:32 +00:00
cotter%netscape.com
b473eb7b46 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; final corrections and search db update
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123682 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 06:58:49 +00:00
jaggernaut%netscape.com
c94b3e468f Bug 139321: forward button not working with pdf. r=biesi, sr=alecf, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123681 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 06:32:22 +00:00
mscott%netscape.com
dd891e72f6 Bug #141835 --> register the browser window to handle image/jpg
r=naving
sr=sspitzer
a=jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123674 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 03:24:47 +00:00
bnesse%netscape.com
7bba6c9005 Fix for bug 121332. Implement support for user callback function ProcessLDAPValues(). r=dmose, sr=alecf, a=valeski, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123671 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 02:27:00 +00:00
bnesse%netscape.com
6ae72b82cb Fix for bug 98476. Add safe save and redundant backup support for preferences. r=alecf, sr=jag, a=valeski, adt=jaimejr.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123670 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 02:22:11 +00:00
smontagu%netscape.com
99beaa40ee Bug 147743 Xprint prints some (non-scaleable) bitmap fonts far too small Author=Roland.Mainz@informatik.med.uni-giessen.de, r=bstell@ix.netcom.com, sr=dveditz, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123669 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 02:03:43 +00:00
smontagu%netscape.com
09abd13db8 Bug 150519 ("Search results from http://www.google.co.il/ print in horrible quality"), Author=Roland.Mainz@informatik.med.uni-giessen.de, r=shanjian, sr=jst, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123668 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 01:56:33 +00:00
srilatha%netscape.com
96e7c17494 Fix for bug # 151670. Mapi registry settings in the client should be same as installer
r=rdayal, sr=mscott


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123667 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 01:55:42 +00:00
blakeross%telocity.com
a401e3ecba 149812 - remove what's related domain blocking UI. r=bryner sr=ben a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123663 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 01:30:36 +00:00
naving%netscape.com
6c0f61c5a2 141354 r=bienvenu sr=mscott a=valeski fixing corruption of rules.dat if you have custom headers in your filter
and you try to add a new filter


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123657 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 00:23:21 +00:00
dougt%netscape.com
170660efc8 this should fix the bustage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123656 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 00:21:37 +00:00
smontagu%netscape.com
d56b6fd084 Bug 146622 'PrefEnumCallback does not work as expected', Author=Roland.Mainz@informatik.med.uni-giessen.de,r=bstell+katakai,sr=jag+scc, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123653 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-20 00:07:51 +00:00
naving%netscape.com
18f184a211 128098 checking for oeschger patch by neil@parkwaycc.co.uk r=oeschger sr=alecf made it so Index is expanded by
default in help


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123652 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:58:05 +00:00
smontagu%netscape.com
150f8f03e3 Bug 148468: Xprint-specific X font banning code is broken. Author=Roland.Mainz@informatik.med.uni-giessen.de, r=timeless, sr=scc, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123651 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:57:44 +00:00
naving%netscape.com
8ed155c7ba 136721 r=racham sr=bienvenu a=valeski made it so that News server is pre-populated in Account Wizard after running auto-subscribe URLs.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123649 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:48:37 +00:00
smontagu%netscape.com
cc36111653 Bug 148470: Ban "-dt-*" (bitmap!!) fonts from Xprint. Author=Roland.Mainz@informatik.med.uni-giessen.de, r=shanjian, sr=jst, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123648 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:44:07 +00:00
naving%netscape.com
a66b9d84db 90064 r=cavin sr=bienvenu a=rjesup fixing subscribe error alert when sending mail without opening mailnews
on copying msg because sent folder was being subscribed again.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123647 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:41:30 +00:00
varada%netscape.com
57d568048a fix for bug#144569;should import smtp username from eudora,oe and outlook;r=srilatha;sr=bienvenu
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123645 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:33:56 +00:00
smontagu%netscape.com
9a471b1f2f Bug 148690: For Xprint force use of outline scaleable fonts if possible. Author Roland.Mainz@informatik.med.uni-giessen.de, r=shanjian, sr=jst, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123644 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:25:51 +00:00
naving%netscape.com
106d1530e9 136074 checking for oeschger patch by wilson r=oeschger sr=alecf fixing Help search engine should let user know that no matches were found
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123643 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:18:20 +00:00
ftang%netscape.com
4cf91c1b48 fix bug 150044 and bugscape 16047. r=yokoyama sr=kin
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123641 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:14:23 +00:00
waterson%netscape.com
15c656b10b Bug 146797. Bullet-proof RDF container objects. r=tingley, sr=shaver, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123640 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:09:42 +00:00
waterson%netscape.com
7cb24c9de3 Bug 146125. Kill top- and bottom-margin on <th> elements. r=dbaron, sr=kin, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123639 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:09:05 +00:00
naving%netscape.com
527788efa4 151819 152406 r=cavin sr=bienvenu a=valeski fixing aol "Sent mail" and webmail "Draft" and "Sent" folder to show Recipient
instead of Sender and localizing webmail "Sent" and "Draft" folder


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123637 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 23:02:34 +00:00
dougt%netscape.com
cac2e2c5d4 fixes 139556. Crash in js_FreeStack [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 409]. r=rpotts, sr=darin, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123630 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:49:38 +00:00
heikki%netscape.com
0865ca0b65 Bug 125583, disable automatic XLinks in Mail. r=harishd, sr=jst, a=ADT,rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123629 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:48:49 +00:00
nhotta%netscape.com
168b1d9d62 Check null pointer for arguments of Unicode conversion util functions,
bug 151769, r=ducarroz, sr=bienvenu, a=adt,valeski.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123628 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:43:49 +00:00
alexsavulov%netscape.com
87c57eb05c Fix for bug 134437: WM_SETFOCUS defferal to avoid accessing frames that are
in the process of destruction when windows are destroyed be cause setfocus
causes the flush of reflow commands

r=kmcclusk sr=waterson a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123623 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:27:57 +00:00
kaie%netscape.com
88dbfb8ef3 b=119394 Support fetching certificates from LDAP servers.
r=javi/dmose sr=mscott adt=putterman a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123622 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:25:16 +00:00
kaie%netscape.com
2b4245627a b=133995 Only allow sending encrypted mail using valid recipient certs.
r=javi sr=mscott adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123618 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:13:13 +00:00
kaie%netscape.com
d3b53fc01e b=149868 http must never use starttls type sockets, even when going over a proxy. http allows all flavors of SSL2/SSL3/TLS (while startls type sockets disallow some flavors).
r=bbaetz sr=darin adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123617 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:10:10 +00:00
kaie%netscape.com
b8d2b60148 b=148610 Lock icon should be updated as early as possible.
r=javi sr=rpotts


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123616 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:06:57 +00:00
bienvenu%netscape.com
e974827d29 fix for 144345 from trunk, linefeeds in offline msg string a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123615 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:00:20 +00:00
cmanske%netscape.com
8d58c6c22a Fixed crash when inserting table column, b=152320, r=brade, sr=kin, a=adt, a=rjesup/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123611 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 21:49:15 +00:00
cmanske%netscape.com
812ae457cb Support 'file://' protocol when publishing, b=142171, r=brade, sr=alecf, a=adt, a=rjesup/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123610 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 21:49:06 +00:00
cmanske%netscape.com
e5ed010bad Fixed bad font string for 'Helvetica, Arial, sans-serif' font group. b=150915, fix by ask@swva.net, r=cmanske, sr=kin, a=adt, a=rjesup/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123609 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 21:48:44 +00:00
cmanske%netscape.com
b091abdb95 Make dbl-click work to select color in colorpicker. b=151474, fix by neil@parkwaycc.co.uk, r=brade, sr=kin, a=adt, a=rjesup/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123608 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 21:48:42 +00:00
jaggernaut%netscape.com
d8344db317 Bug 112769: Add "New Tab" button to tab bar. r=sgehani, sr=hewitt, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123570 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 06:46:24 +00:00
shanjian%netscape.com
a3b6cbfd26 #84668 Ugly Chinese font in dialogs and menu on simplified chinese windows
force default size to be 9 when system says 8 for simplified chinese system.
r=ftang, sr=alecf, a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123562 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 02:36:28 +00:00
wtc%netscape.com
2639e2de42 Bug 144605: Reset the cert cache and clobber cert handles on token
insertion an removal.  r=mcgreer.  a=mozilla1.0.1+ and adt1.0.1+.
Tag: MOZILLA_1_0_BRANCH


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123558 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 01:35:35 +00:00
ssu%netscape.com
148b9b56d7 fixing bug 134745 - mail notification icon in system tray is the wrong icon (yellow triangle). r=bhuvan, sr=mscott, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123556 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 01:21:40 +00:00
serge%netscape.com
30aaf9a866 fix for #44169 improperly parented modal dialog in nsPluginHostImpl.cpp, r=av,sr=beard,a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123555 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 00:58:53 +00:00
harishd%netscape.com
d03db64f78 Strip leading/trailing spaces from img src attribute value that was preventing image rendering. b=87894, r=jkaiser, sr=jst, a=adt,valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123550 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 00:17:58 +00:00
srilatha%netscape.com
162e114cdd Fix for bug # 149758. ability to pre-config and lock ldap server prefs
r=rdayal, sr=sspitzer, a=asa


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123547 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 00:06:03 +00:00
dmose%netscape.com
50e9a1cd12 First match not pre selected when multiple matches are present in directory (bug 102693); r=ducarroz@netscape.com, sr=mscott@netscape.com, a=valeski@netscape.com, adt=paw@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123544 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 23:40:09 +00:00
cotter%netscape.com
aad7e440e1 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; latest formatting & editorial updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123541 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 23:22:13 +00:00
dmose%netscape.com
485d22cd1c Add support for binary LDAP attributes (bug 119380); r=peterv@netscape.com, sr=mscott@netscape.com/sspitzer@netscape.com, a=valeski@netscape.com, adt=putterman@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123540 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 23:21:23 +00:00
nhotta%netscape.com
27b1c3bc88 Moved the flex value for the widget width out to .dtd file to make it localizable,
bug 150756, r=naving, sr=mscott, a=adt,valeski.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123539 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 23:16:09 +00:00
robinf%netscape.com
c95102f0f0 routine help updates per bug 122806, r=oeschger
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123535 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 23:01:28 +00:00
pinkerton%netscape.com
70385b3718 bug 148213, flush cookies to disk after a remove-all-cookies, r=pinkerton, sr=beard, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123521 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 20:53:09 +00:00
kaie%netscape.com
e0192c396e b=150863 Fix lock icon state for low/high crypto mix.
r=javi sr=alecf adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123515 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 20:30:04 +00:00
kaie%netscape.com
8fb90c754e b=126944 Handle NSS error codes within PSM.
r=ssaux sr=darin adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123514 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 20:26:58 +00:00
jpierre%netscape.com
9a512b60f0 Fix for bug 139874 - Inject Latest Roots CA Cert. - r=wtc a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123491 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 02:25:06 +00:00
law%netscape.com
fff521cbd6 Bug 89907 (on branch); add new button to Nav pref pane to simplify setting of default browser (Win32 only via platformPrefOverlay); r=sgehani, sr=ben, a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123482 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 00:35:50 +00:00
law%netscape.com
39375575a6 Bug 89907 (on branch); add method to determine if prefs are set in Win32 registry; r=sgehani, sr=ben, a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123480 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-18 00:16:08 +00:00
jpierre%netscape.com
d23a86c5c3 Fix for bug 139874 - Inject Latest Roots CA Cert. - r=wtc a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123462 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 21:08:08 +00:00
ducarroz%netscape.com
087a8d3d50 Fix for bug 135279. Need to be able to specify a line token other than LF when reading a stream buffer. Local file on Mac or CR as line ending. R=naving, SR=mscott, A= dbaron@fas.harvard.edu
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123458 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 21:00:50 +00:00
dougt%netscape.com
246c3064c1 Fixes 149745 148918 149715 149730 149754 129959. Cleanup of nsIFile and nsILocalFile interfaces, supporting do_GetInterface in embedding via xcom glue, and general cleanup of shutdown. r=various, sr=shaver@mozilla.org a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123456 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 20:52:59 +00:00
(no author)
2ea2d4de49 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@123452 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 20:49:27 +00:00
dmose%netscape.com
0e2ab4c13f Authenticated LDAP autocomplete autoselects address immediately after authentication (bug 146569); r=blake@netscape.com, sr=hewitt@netscape.com, a=dbaron@fas.harvard.edu, adt=syd@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123425 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 05:21:15 +00:00
dmose%netscape.com
5cb1e89f42 Fix NetBSD build bustage (bug 135027); r=seawood@netscape.com, a=dbaron@fas.harvard.edu, adt=syd@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123424 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 05:00:43 +00:00
ssu%netscape.com
7d244ddadf fixing bug 149515 - Mail header optimizations disabled critical mail header feature. r=bhuvan, sr=sspitzer, a=adt,drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123423 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 02:06:13 +00:00
suresh%netscape.com
f7aa411272 fix for 149189 - update goPreference calls with correct parameters (pref branch not expanded). r-ducarroz, sr-alecf, a=dbaron.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123418 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-16 19:48:33 +00:00
sicking%bigfoot.com
b6f33143fe Back out part of fix for bug 85893 which caused NodeSet::indexOf to not work for nodesets not in document order.
b=134295 r=peterv sr=jst a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123416 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-16 16:48:16 +00:00
morse%netscape.com
23938e1717 bug 147223, urlbar doesn't function if restart too quickly in turbo mode, r=law, sr=darin, a=dbaron, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123408 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-16 01:24:27 +00:00
blakeross%telocity.com
ed6d2aba83 This didn't get adt+'d yet, my mistake.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123399 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 21:55:00 +00:00
blakeross%telocity.com
1170c07f03 *** empty log message ***
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123398 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 21:52:48 +00:00
blakeross%telocity.com
15f32e23c9 128322 - history sidebar opens topmost visible link automatically. patch partly by neil. r=hewitt/andreww sr=blake/hewitt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123397 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 21:38:32 +00:00
blakeross%telocity.com
284c90077f 149357 - remove excess bloat in cookie prefs. r=morse sr=ben a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123395 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 21:29:22 +00:00
cavin%netscape.com
53e7ffd9da Fix for 140850. In AddLdifRowToDatabase(), reset CR/LF counters and return if there's no data in the ldif buffer to process. R=ducarroz, sr=sspitzer, a=dbaron.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123383 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 04:07:05 +00:00
cavin%netscape.com
fc905321c3 Fix for 141299. In nsMsgNewsFolder::SetReadSetFromStr(), after 'mReadSet' is recreated store the new pointer in the db as well. r=naving, sr=bienvenu, a=dbaron.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123382 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 04:04:49 +00:00
oeschger%netscape.com
364c30f59a additions to search db for help, dispensaton per 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123378 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 00:49:43 +00:00
serge%netscape.com
bece21038b fix #146328, PluginViewerImpl::Init(nsIWidget* aParentWidget == check this parameter for null;r=av/peterl,sr=beard,a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123377 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 00:43:54 +00:00
smontagu%netscape.com
88de7c2871 Bug 150339: huge font crashes X Windows. Author=Roland.Mainz@informatik.med.uni-giessen.de, r=tor, sr=blizzard, a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123375 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 00:31:05 +00:00
mscott%netscape.com
3d229b7740 Bug #119328 --> drop in the new mail notification icon from the UI group for the windows
system tray.

a=dbaron


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123374 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-15 00:06:20 +00:00
nhotta%netscape.com
cbc343bcad Added error handling for the Unicode conversion for message quote,
bug 132613, r=ducarroz, sr=bienvenu, a=adt, dbaron@fas.harvard.edu.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123372 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 23:45:53 +00:00
nhotta%netscape.com
f8110798ca Map charset name to charset atom, this fixes the charset name canonicalization problem (e.g "utf-8" vs "UTF-8"),
bug 138638, r=rjc, sr=alecf, a=adt, dbaron@fas.harvard.edu.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123371 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 23:45:36 +00:00
nhotta%netscape.com
0a0fbe2b15 Changed the localization note to mention that "MsgMdnWishToSend" is localizable,
bug 149162, r=yxia, sr=bienvenu, a=mcarlson, adt, dbaron@fas.harvard.edu.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123370 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 23:44:48 +00:00
oeschger%netscape.com
55a8e79021 adding more help buttons, bug=129540, r=andreww, sr=alecf, a=dbaron, long bake on trunk
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123369 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 23:42:59 +00:00
ssu%netscape.com
7cb0d3f5dc fixing bug 114952 - Labels: not available in standalone msg window, Message context menu items disabled. r=varada, sr=bienvenu, ar=drivers, adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123368 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 23:37:49 +00:00
akkana%netscape.com
6204f58f95 134275: make find stop at table cell boundaries. r=brade sr=kin a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123367 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 23:37:35 +00:00
blizzard%redhat.com
7a35619362 Bug #148877. Export nss package and fix js library link line. r=cls,leaf a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123357 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 22:46:06 +00:00
shliang%netscape.com
69fdcdef0c 134430. change default prefs for mdn return receipts. r=ssu, sr=sspitzer, a=dbaron.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123291 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 02:31:40 +00:00
shliang%netscape.com
3afe010889 141064. focus for new mailing list dialog is not in right place. r=hewitt, sr=sspitzer, a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123290 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 02:27:37 +00:00
cotter%netscape.com
d8d07f6235 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; latest privacy & security legal reviews, formatting updates
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123289 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 02:25:27 +00:00
shliang%netscape.com
642c729f4e 132032. column settings for unread msgs in mail folder pane not followed. r=bhuvan, sr=sspitzer, a=dbaron.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123288 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 02:23:50 +00:00
dcone%netscape.com
2ff622ca46 bug 116042. Check for a null pointer. r=rods sr=waterson adt=Jaime Rodriguez, Jr. a= Randell Jesup. Fixes quickkeys crash.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123284 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 02:09:09 +00:00
darin%netscape.com
a733dd87e2 fixes bug 147979 "Mac-SSL connections very slow"
r=sdagley sr=beard a=valeski ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123277 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 01:13:19 +00:00
mkaply%us.ibm.com
843fa93fba #147977
r=jpierre, sr=blizzard, a=dbaron
OS/2 only - int32 math causing incorrect computation of disk space


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123250 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 21:52:22 +00:00
mkaply%us.ibm.com
93ea8d41f1 #149729
r=jkobal, sr=blizzard, a=dbaron
OS/2 only -handle special case of WM_QUIT so we don't stop the OS from shutting down


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123249 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 21:46:41 +00:00
mkaply%us.ibm.com
ebadae9792 #149751
r=mkaply, sr=blizzard, a=dbaron
OS/2 only - don't recycle compose windows - turn off pref


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123247 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 21:44:56 +00:00
jaggernaut%netscape.com
2637ca49a6 Bug 103452: When window.close() is called, close the tab for that content window, not the whole (XUL) window. Patch by jag and jst, r=bryner, r=/sr=hewitt, sr=jag, sr=jst, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123243 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 21:28:00 +00:00
blakeross%telocity.com
22b4aee6eb 149357 - remove some cookie prefs. r=morse sr=ben a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123230 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 19:21:31 +00:00
cltbld%netscape.com
0b3c166594 updating installer to use http instead of ftp for downloading xpi files, does not affect build, bugscape 16662, kysmith checking in as cltbld
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123223 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 16:12:23 +00:00
rods%netscape.com
ff060bf719 PageSetup call needs observer
Bug 149317 r=dcone sr=kin adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123218 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 11:11:15 +00:00
seawood%netscape.com
2ff8ef790d Make sure that all of the headers are installed during a 'make install'.
Thanks to Chris Blizzard <blizzard@mozilla.org> for the patch.
Bug #149483 r=cls a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123217 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 11:00:30 +00:00
seawood%netscape.com
b903fd496a Fix real_install rules so that headers are still installed correctly if includedir is overridden on the commandline.
Bug #149483 r=blizzard a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123216 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 10:59:37 +00:00
jay.yan%sun.com
e497d8f399 for branch1.0 build bustage, I made a mistake in my last patch(, instead of ;) sr=jag for this patch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123206 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 05:11:10 +00:00
jay.yan%sun.com
d717db1875 bug 143379, Build bustage-patch for bug 124042 broke solaris's build, r=blizzard,sr=darin,a=jud
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123205 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 03:57:28 +00:00
serge%netscape.com
4fcf400300 fix #147256 Crash in nsDocShell::GetRootScrollableView r=av,sr=alecf,a=dbaron
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123202 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 00:44:16 +00:00
shanjian%netscape.com
295383061e #102407 Unexpected instances of POSTDATA warning messages [form sub]
swap the order of weakdoc charset and default charset so that previous
doc charset can be inherited as default charset.
disabled charset autodetection for post document.
r=ftang, sr=darin, a=adt,


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123201 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 00:29:05 +00:00
nhotta%netscape.com
d0f40241a4 Changed strcpy to strncpy to protect the buffer,
bug 145370, r=ducarroz, sr=bienvenu, a=adt, dbaron@fas.harvard.edu.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123198 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-13 00:27:38 +00:00
alecf%netscape.com
dfd5d6c9ec fix for bug 148831 - avoid crashing and do a best-effort case conversion/comparison when the nsICaseConversion service has already been shut down. r=dougt, sr=jag, a=valeski, adt=putterman, x^2+y^2=z^2
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123172 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-12 18:44:38 +00:00
pinkerton%netscape.com
e6ddc2474b fix typo, bug 149283. r=tao/sr=alecf/a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123171 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-12 18:19:42 +00:00
bryner%netscape.com
93cdc87a79 Fixing loss of focus when opening a link in a new tab, by forcing an initial reflow so that the focus event isn't dropped on the floor (bug 138237). r=dbaron, sr=waterson, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123135 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-12 05:11:38 +00:00
robinf%netscape.com
12ecf6bcb0 routine help updates per bug 122806, r=oescgher
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123112 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 23:48:20 +00:00
cbiesinger%web.de
b4d784f8d8 forgot to check this change in before. bug 8031, r=tor, sr=dveditz, a=valeski, XBM support
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123093 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 22:33:13 +00:00
darin%netscape.com
0a404730ea fixes bug 149090 "viewing an image three times corrupts web pages [leaks
file descriptors on all platforms]" r=dougt, sr=rpotts, a=valeski, ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123088 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 22:25:38 +00:00
mkaply%us.ibm.com
9f22569679 #144128, #146252
r=mkaply, sr=blizzard, a=valeski
OS/2 only - forgot a couple renames


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123081 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 22:00:58 +00:00
mkaply%us.ibm.com
3aadc3f62c #144128, #146252
r=mkaply, sr=blizzard, a=valeski
OS/2 only - when rods checked in 144128, he missed the OS/2 changes.
146252 is OS/2 print preview fixes. It has been over three days since
approval, but I couldn't check it in until the rods stuff was figured out.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123079 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 21:49:20 +00:00
naving%netscape.com
b3565ee5a2 140591 r=varada sr=sspitzer a=valeski make prefill filters feature work on mac and linux
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123072 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 20:57:08 +00:00
sgehani%netscape.com
685a627533 Make print preview toolbar buttons accessible (accesskeys added).
b=133506; r=caillon; sr=blake; a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123033 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 15:15:06 +00:00
sgehani%netscape.com
cca1a6a27b Ability to tab to print preview toolbar (accessibility).
b=145388; r=dcone; sr=attinasi; a=chofmann
(checking in for rods; required for bug 133506)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123032 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 15:13:53 +00:00
sgehani%netscape.com
8c1ce051a9 Sidebar button in ns builds only.
b=134345; r=caillon; sr=hewitt; a=drivers,adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123030 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 14:38:24 +00:00
jaggernaut%netscape.com
3cf2173b4a Checking in two changes before the l10n freeze. For bug 112769 an addition to tabbrowser.dtd, for bug 150099 an addition to navigator.dtd. a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123025 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 06:44:38 +00:00
jay.yan%sun.com
529f8521a0 bug 120485, Can not delete folders on IMAP server cascadely. patch=henry, r=bienvenu,sr=mscott,a=shaver, judson valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123024 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 06:19:22 +00:00
peterlubczynski%netscape.com
b3362334e8 Fixing bug 120875, flash repsonds to mouse events in other tab and can't hide plugins, r=bnesse sr=beard a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123022 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 03:55:03 +00:00
shliang%netscape.com
f8dc8bd65b 147662 - adding option to remove free webmail in account manager. r=sspitzer, sr=bienvenu, a=judson.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123019 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 02:03:52 +00:00
cavin%netscape.com
8f7826ad96 Fix for 107466. Reset msg uid in server state parser before calling 'foundShell->Generate()' because the uid may have been used by newly arrived mail. r=naving, sr=bienvenu, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123018 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 00:47:25 +00:00
morse%netscape.com
c1c82a4bf0 bug 149176, no profile manager when exactly one profile and running turbo, r=law, sr=ben, a=valeski, adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123017 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-11 00:21:54 +00:00
bryner%netscape.com
754ab85e59 Fix a crash scrolling the address list in the mail compose window (bug 142542). r=ben, sr=jag, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123016 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 23:16:08 +00:00
cbiesinger%web.de
9165c56436 bug 8031 r=tor sr=dveditz a=valeski
Add XBM Decoder to build


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123012 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 22:07:14 +00:00
danm%netscape.com
ae6ef0fdcb scrollbar visibility is no longer reflected in mChromeFlags. same as trunk checkin 1.56. bug 130174 r=bryner,jag,jst a=syd,valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123008 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 21:23:30 +00:00
danm%netscape.com
f9a16cd243 scrollbar visibility is no longer reflected in mChromeFlags. same as trunk checkin 1.11. bug 130174 r=bryner,jag,jst a=syd,valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123007 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 21:23:17 +00:00
rjc%netscape.com
fa11ccfde9 Fix adt1.0.1+ bug # 144337 on Moz-1.0 branch: short-circuit QD implicit LockPortBits/UnlockPortBits, giving at least a couple of percentage points improvement re: drawing. r=sdagley sr=ben a=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123006 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 21:00:48 +00:00
naving%netscape.com
86f432ff5d 144228 r=cavin sr=bienvenu a=rjesup. fixing security bug that breaks pop3 connection and prevents downloading msgs.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123003 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 20:22:01 +00:00
naving%netscape.com
3f7e61ce94 140149 r=bhuvan sr=mscott a=valeski. fix disappearing of disable cookie for mailnews checkbox on mac commercial builds
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@123002 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 20:14:24 +00:00
cmanske%netscape.com
71868732bb Removing unintended change to how long to keep open the Publish Progress dialog (previous checkin didn't match patch), b=148425, r=brade, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122997 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 19:14:06 +00:00
(no author)
d392c2ff2f 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@122995 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 18:50:12 +00:00
cbiesinger%web.de
625fbbe83b bug 150165 patch by t.bugz@lament.cjb.net r=bbaetz sr=shaver a=valeski
fix typo - [noscrpit] was used instead of [noscript]


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122981 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 12:42:52 +00:00
rbs%maths.uq.edu.au
c1f2efd43e When editing the HTML plain source, use the user's specified fixed-width font-size for guaranteed readability. b=114022, r=cmanske, sr=alecf+kin
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122980 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 11:09:22 +00:00
oeschger%netscape.com
0ef43da159 adding robinf's images to the right branch for tinderbox bustage, part of content
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122979 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 06:13:47 +00:00
sdagley%netscape.com
3b19241611 Fix #149133 - crash when scrolling a tab created by 'Open Link in New Tab' due to not having a valid focused widget when the page finishes loading. Merging from trunk. r=pinkerton, sr=beard, a=drivers/ADT
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122978 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 05:07:42 +00:00
seawood%netscape.com
66b707f9ce Fix beos build bustage.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122977 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 04:41:36 +00:00
cotter%netscape.com
2ffecc5625 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; latest security-related updates.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122976 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 04:41:17 +00:00
oeschger%netscape.com
9d6c62d59b new images added to help content build, dispensation per 122806
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122975 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 04:13:00 +00:00
shliang%netscape.com
b7b4b2f45b 123687 - ui for adding ldap in addressbook. r=sspitzer, sr=bienvenu, a=judson.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122973 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 03:08:57 +00:00
shliang%netscape.com
8d3089dd17 135089 - fixing truncated menulists. r=bryner, sr=hewitt, a=judson.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122972 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-10 03:05:00 +00:00
shanjian%netscape.com
256d2ce004 #136017 Some characters in menus/dialogs/etc. are rendered incorrectly
Special handling polish and czech native system.
p=Marek.Wawoczny@GmbH.rubikon.pl, r=shanjian, sr=waterson, a=judson


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122967 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-09 23:44:33 +00:00
law%netscape.com
780d805419 Bug 89907 localization changes only; l10n change approved by rchen@netscape.com, required on branch to meet 6/10 l10n freeze
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122966 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-09 22:48:54 +00:00
timeless%mac.com
c469567b9a Bug 137119 Dragging a bookmark in tree just below an open container jumps one row above it
patch by pierrechanial@netscape.net r=timeless sr=ben a=jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122963 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-09 19:12:09 +00:00
ducarroz%netscape.com
a4de0a2603 Fix for bug 131990. We must allow space for the BCC headers. R=taka, SR=bienvenu, A= rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122958 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-09 15:14:20 +00:00
ssu%netscape.com
36574a7556 Fixing
bug 137141 - Wrong context menu items in stand alone mail window
 bug 138826 - context menu problems in stand alone message window: "Open Link in New Window" doesn't work, too many items are showing up, etc.

r=neil@parkwaycc.co.uk, sr=sspitzer, a=drivers,adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122955 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-09 08:31:27 +00:00
dmose%netscape.com
be6ce362bd Make LDAP authentication for addressbook and autocomplete work (bug 135778). r=sspitzer@netscape.com, srilatha@netscape.com; sr=bienvenu@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122950 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-09 00:32:01 +00:00
dmose%netscape.com
bc06dc9fd9 Make LDAP authentication for addressbook and autocomplete work (bug 135778). r=sspitzer@netscape.com, srilatha@netscape.com; sr=bienvenu@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122947 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 23:50:25 +00:00
ian%hixie.ch
b0d670a1bc Download manager pref panel. b=132440, r=ben, sr=blake
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122946 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 20:41:11 +00:00
darin%netscape.com
ccf19469e2 fixes bug 144442 "Cannot Load TDWaterhouse webbanking login page"
r=gagan sr=rpotts a=valeski ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122945 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 17:08:27 +00:00
darin%netscape.com
809492f2af fixes bug 60811 "[RFE] User should be able to force HTTP proxy transactions
to use HTTP/1.0 exclusively." r=brade,bbaetz sr=rpotts a=chofmann ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122944 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 17:03:29 +00:00
darin%netscape.com
baf10331b3 fixes bug 136210 "cannot view any https urls when memory cache size is set
to 0" r=beard sr=rpotts a=rjesup adt+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122943 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 16:52:48 +00:00
brade%netscape.com
1bca56362e add flag and code to handle serialization of output (one file at a time) so that publishing doesn't fail due to too many logins or similar (bug 138662 and others); r=adamlock, sr=alecf, a=chofmann/adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122941 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 10:11:00 +00:00
brade%netscape.com
ea000b5701 add flag for output serialization (bug 138662, r=adamlock, sr=alecf, a=chofmann/adt)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122940 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 10:07:48 +00:00
dprice%netscape.com
ab1fa0d555 145776 r=ssu sr=dveditz a=rjesup adt=jaime
flush control socket on ftp connections


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122939 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 08:27:55 +00:00
dprice%netscape.com
0d09ea3339 77443 r/sr=dveditz adt=jaime a=valeski
fix return value


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122938 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 08:23:38 +00:00
dprice%netscape.com
37ec5826d5 117263 r=sgehani sr=dveditz a=rjesup adt=putterman
send proper host info for ftp proxy downloads


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122937 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 08:15:14 +00:00
kmcclusk%netscape.com
e25c13eb4a Dispatch and handle a new cross platform message NS_SYSCOLORCHANGE. bug=143174. sr=roc+moz, r=rods, a=valeski adt=jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122930 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 04:10:19 +00:00
chak%netscape.com
bd61327cdd Fix for #141285 - wallet does not appear to obey profile switching on the fly
Checking patch in for ccarlen@netscape.com
r=morse, sr=alect, a=valeski,adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122929 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 03:23:23 +00:00
cmanske%netscape.com
71c13892eb Improved publishing error monitoring and reporting in progress dialog, b=148425, r=brade, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122926 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 02:28:14 +00:00
cmanske%netscape.com
8a3ae50022 Save page source and restore document after failing to publish so image links aren't busted, b=134883, r=brade, sr=hewitt, a=adt, a=valeski/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122924 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 01:59:42 +00:00
khanson%netscape.com
5e7a7f7db5 patch for bug 143354. Doubles jsarray.sort speed for arrays of strings. Has ADT and Driver approval. r=brendan, sr=shaver
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122922 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 01:12:27 +00:00
(no author)
1e502bbf38 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@122920 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 01:10:53 +00:00
cavin%netscape.com
fd8db7de55 Fix for 94775, 147022 and 148520. (1) Strip off trailing ''/ of input realm, if present, before making comparison in si_GetURL(). (2) When redirect login fails, invoke ForgetPassword(), instead SetPassword(nsnull), to clean up all cached passwords. r=dmose/morse, sr=bienvenu, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122917 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 01:04:41 +00:00
ssu%netscape.com
641c28f51e fixing bug 128552 - f6 and control+tab don't work in AB window. r=bhuvan, sr=mscott, a=drivers,adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122916 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 00:28:22 +00:00
ssu%netscape.com
71fb0333e3 fixing bug 144483 - Message Filters menu item has conflicting access key. r=dean_tessman@hotmail.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122915 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 00:12:05 +00:00
dbragg%netscape.com
46fdd2e57c Fix for bug 141373. r=tao, sr=dveditz, a=rjesup, adt approved. Added Japan to the list.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122914 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 00:11:14 +00:00
waterson%netscape.com
73b3c9ec10 Bug 129115. Move reflow tree stuff from the trunk to the branch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122913 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-08 00:05:14 +00:00
varada%netscape.com
e772c6a373 fix for 139814- Search the Web menu item should open page only in browser and not in any window with content area;r=law;sr=bienvenu;a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122911 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 23:46:32 +00:00
dcone%netscape.com
d49716cc16 b=137223 r = pavlov sr=attinasi a= rjesup@wgate.com adt=putterman. Fixes some PNG with alpha positioning issues.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122903 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 22:30:37 +00:00
mkaply%us.ibm.com
bfd72020ce OS/2 bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122890 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 18:00:24 +00:00
rods%netscape.com
45d310c534 So the fix is this line:
+    if (_tcscmp(lpInfo[i].pPrinterName, aPrinterName) == 0) {
I also removed the failure check after the calls to EnumerateNativePrinters
because even if one fails, it doesn't mean the others will. So it should keep trying.
The rest of the code is extra error checking that is all ifdef'ed out
Bug 143241 r=dcone sr=kin adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122886 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 13:53:09 +00:00
rods%netscape.com
443455d190 This simply adds a new arg to the PP call. The new arg is not being used, it is
for future and is needed for the API freeze.
Bug 144716 r=dcone sr=attinasi adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122884 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 13:42:44 +00:00
ducarroz%netscape.com
6b7774434c Fix for bug 147877. Add UI for disabling plugins in mailnews. R=bhuvan, SR=bienvenu, UI=mcarlson, A=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122883 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 13:41:27 +00:00
rods%netscape.com
afd9eb05a3 Solution: Move the creation and manipulation of PSs to their own service.
This patch does the following:
1) Introduces a new public interface nsIPrintSettingService which emables
consumers to create PS objects whithout a nsIWebBrowserPrint interface
2) The implementation is nsPrintOptionsImpl which now impls the private
interface nsIPrintOptions and the public iface nsIPrintSettingsService
3) Several methods/attrs have been moved from nsIWebBrowserPrint iface to nsIPrintSettingsService
4) The CIDs for nsIPrintOptions and nsIPrinSettingsService are now the same.
5) There is no longer a CID "@mozilla.org/gfx/printoptions;1"
6) nsIWebBrowserPrint still has the "globalPrintSettings" attr so if you
already have an nsIWebBrowserPrint you don't have to create the PS Service to get it.
7) A bug has been filed to rename the imlp of nsPrintOptionsImpl to nsPrintSettingsService.
Bug 144128 r=dcone sr=kin adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122882 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 13:31:25 +00:00
rods%netscape.com
79b9d48b8a Solution: Move the creation and manipulation of PSs to their own service.
This patch does the following:
1) Introduces a new public interface nsIPrintSettingService which emables
consumers to create PS objects whithout a nsIWebBrowserPrint interface
2) The implementation is nsPrintOptionsImpl which now impls the private
interface nsIPrintOptions and the public iface nsIPrintSettingsService
3) Several methods/attrs have been moved from nsIWebBrowserPrint iface to nsIPrintSettingsService
4) The CIDs for nsIPrintOptions and nsIPrinSettingsService are now the same.
5) There is no longer a CID "@mozilla.org/gfx/printoptions;1"
6) nsIWebBrowserPrint still has the "globalPrintSettings" attr so if you
already have an nsIWebBrowserPrint you don't have to create the PS Service to get it.
7) A bug has been filed to rename the imlp of nsPrintOptionsImpl to nsPrintSettingsService.
Bug 144128 r=dcone sr=kin adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122881 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 13:19:20 +00:00
ducarroz%netscape.com
da914522df Fix for bug 97055. Add possibility to block remote images in email message. R=morse,bhuvan, SR=bienvenu, A=valeski, UI=mcarlson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122880 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 12:55:38 +00:00
kin%netscape.com
31126db321 Fixing nsCRT bustage on Mac. a=leaf
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122877 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 09:04:33 +00:00
kin%netscape.com
4a14b96c8e Fixing HP-UX bustage. a=leaf
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122875 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 08:41:05 +00:00
kin%netscape.com
f2462d5e0b Fix for bug 138573 (hitting return in list item causes list problems; workaround is to refresh)
Modified SlideLine() to use the combined area instead of the linebox
bounds when invalidating. This makes sure that we invalidate the
area occupied by the list bullets/ordinals.

r=dbaron@fas.harvard.edu  sr=waterson@netscape.com  a=valeski@netscape.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122874 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 08:02:41 +00:00
rods%netscape.com
61eb91d637 fix bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122872 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 06:52:16 +00:00
cotter%netscape.com
faa2be8068 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; latest legal & editorial correx.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122870 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 05:59:06 +00:00
cmanske%netscape.com
4811d76344 Improve visibility of Publish UI, b=146522, r=akkana, sr=dveditz, a=adt, a=chofman/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122869 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 05:24:02 +00:00
cmanske%netscape.com
0489976ef5 Added tooltips for Publish dialogs, b=146522, r=brade/robinf, sr=kin, a=adt, a=shaver/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122868 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 05:23:43 +00:00
rods%netscape.com
80b1c385f2 Pluggable dialog work for the API freeze
Bugs 115136 & 135441 r=dcone sr=attinasi adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122858 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 02:27:15 +00:00
blakeross%telocity.com
694206f300 132013 - remove from list makes program unresponsive for too long. r=ben/hewitt sr=hewitt/blake/ben (one patch by ben). a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122857 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 02:19:17 +00:00
rods%netscape.com
5ff90e973b Bug 143248 r=dcone/chak sr=attinasi adt=putterman a=jud
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122856 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 01:58:11 +00:00
rods%netscape.com
128e42c9dd Pluggable dialog work for the API freeze
Bugs 115136 & 135441 r=dcone sr=attinasi adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122854 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 01:47:13 +00:00
cmanske%netscape.com
641f4eb20b Added strings needed to fix Publishing Progress and error handling. b=148425, r=brade, sr=hewitt, a=adt, a=chofmann/drivers, i18n=mcarlson
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122853 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 01:31:10 +00:00
oeschger%netscape.com
a14d66bb1f add help button to page info dialog, r=db48x, sr=alecf, a=jud for branch, fresh-baked
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122852 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 01:26:20 +00:00
caillon%returnzero.com
a8bcd7ecec Bug 141863. Branch landing of pref to prevent sites from disabling the status bar on window.open(). r=danm, sr=jag, adt=putterman, a=chofmann, a=sherriff (suresh).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122848 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-07 00:04:30 +00:00
(no author)
bd5650ab43 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@122842 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-06 23:37:15 +00:00
beard%netscape.com
79ac763969 Add MRJPluginCarbon to branch build. r=jj, sr=waterson, a=adt/jaimejr
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122816 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-06 19:47:24 +00:00
ian%hixie.ch
6218a087c3 backing out previous checkin until tree is open
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122806 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-06 11:54:40 +00:00
ian%hixie.ch
6c076d2bd5 Download manager pref panel. b=132440, r=ben, sr=blake
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122805 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-06 11:16:50 +00:00
(no author)
0fe0c70ad3 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@122804 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-06 10:40:43 +00:00
rods%netscape.com
2aa0bfec52 The diff basically remembers the old focuslistener and then unregisters it after the new one is registered.
The listener is deconstructed and it is still registered as a listener, so in some cases a blur event goes to the old listener that is why it crashes.
Bug 132672 r=dcone sr=jst adt=putterman a=jud


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122773 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 11:43:27 +00:00
jaggernaut%netscape.com
77f1f8f1df Bug 148840: Add "Bookmark This Group of Tabs..." to Bookmarks menu. r=caillon, sr=hewitt, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122769 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 10:07:24 +00:00
jaggernaut%netscape.com
3f71f67714 Bug 137005: Change wording of "File as group" to "Bookmark this group of tabs". r=bryner, sr=hewitt, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122766 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 08:43:50 +00:00
kaie%netscape.com
6122646715 b=138479 Disable Security tab in View Frame Info
r=javi sr=jag adt=putterman a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122762 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 04:00:58 +00:00
kaie%netscape.com
27640dbd20 b=143532 Only allow toggling FIPS when it is safe to
r=javi sr=alecf adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122761 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:57:20 +00:00
kaie%netscape.com
06234068c2 Shut down all sockets in http's keepalive/idle list when the SESSION_LOGOUT event happens. This ensures that we don't leak NSS resources associated with SSL sockets.
Bug 125561, r=ccarlen, sr=darin, adt=jaimejr, a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122760 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:51:31 +00:00
kaie%netscape.com
09df9a43cd b=129067 Deleted certs still appear in Cert Manager.
r=javi sr=alecf adt=putterman a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122758 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:43:43 +00:00
kaie%netscape.com
4f01124326 b=137874 Unable to import CA cert before SSL keep alive connection is terminated
r=javi sr=alecf adt=putterman a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122753 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:39:49 +00:00
kaie%netscape.com
9ab4d01371 b=142096 Message Security box does not display all recipients
r=javi sr=mscott a=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122751 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:37:41 +00:00
kaie%netscape.com
8556706ac2 b=144056 security state not reset after loading about:blank pages
r=javi sr=rpotts adt=jaimejr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122748 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:32:19 +00:00
kaie%netscape.com
113fc7d204 b=130692 Find matching certificate using case insensitive email address
r=javi sr=jag adt=jaimrjr a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122747 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 03:26:45 +00:00
jaggernaut%netscape.com
6b608c92ae Bug 101955: Middle-click -> Open in new window fails for URLs in Mail/News. r=caillon, sr=hewitt, a=drivers, a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122746 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 02:58:13 +00:00
law%netscape.com
b2b18152d1 Applying fix for bug 14807 on branch; a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122742 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 02:14:11 +00:00
mscott%netscape.com
dbd893968e Bug #140104 --> don't let the cookie icon show up in non navigator windows.
r=morse
sr=sspitzer
a=chofmann


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122741 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 02:05:39 +00:00
mscott%netscape.com
1c3f5eac5b Remove extraneous vertical hash marks in the mail and compose windows added by smime.
r=kaie
sr=sspitzer
a=jessup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122740 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 02:02:48 +00:00
brendan%mozilla.org
70ff3fdd2c Ensure a live keyHash *after* multiplying by the irrational (146907, r=dbaron, sr=shaver, a=asa).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122738 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 01:49:19 +00:00
av%netscape.com
2f7cfac5a6 Fixing 143178 -- refreshing plugin list just before redirecting to the plugin finder service, r=peterl, sr=beard, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122737 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 01:47:13 +00:00
av%netscape.com
ed50252be8 Fixing 143178 -- refreshing plugin list just before redirecting to the plugin finder service, a=peterl, sr=beard, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122736 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 01:43:00 +00:00
nhotta%netscape.com
7d6679d157 Change not to set the composing mail charset as attachment's chaset.
bug 144917, r=ducarroz, sr=bienvenu, a=adt, rjesup@wgate.com.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122732 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:50:13 +00:00
nhotta%netscape.com
6f8c6a62b9 Changed the meta parse function for performance,
bug 144917, r=ducarroz, sr=bienvenu, a=adt, rjesup@wgate.com.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122731 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:49:33 +00:00
harishd%netscape.com
e2747f8c64 No need to tokenize the input stream if the DTD ( NavDTD ) cannot create a content sink. b=138071, r=heikki, sr=jst, a=adt,valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122730 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:49:13 +00:00
naving%netscape.com
f25a0d5a5c 145341 r=cavin sr=bienvenu a=rjesup. fix regression where there is no mail counter for automatic download of
pop3 mail on biff, also fix other related problems


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122724 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:39:11 +00:00
nhotta%netscape.com
70a1b8abe7 Add charset fallback mechanism to nsISaveAsCharset and use it for message headers and plain text body,
bug 109342, r=ducarroz,ftang, sr=bienvenu,sspitzer, a=adt, rjesup@wgate.com.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122722 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:38:19 +00:00
ducarroz%netscape.com
8af267ad6a Fix for bug 141648. We need to set the focus outside the eidtable field when recycling the compose window to avoid having focus problem on Mac. R=varada, SR=bienvenu, A=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122721 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:36:05 +00:00
brendan%mozilla.org
a6b0dcd241 Respect addProperty failure (148899, r=khanson, sr=shaver, a=rjesup).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122720 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:35:54 +00:00
oeschger%netscape.com
623e2a09c2 reorder tabs in help per usability test, r=andreww, sr=alecf, a=jud for branch, fresh baked
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122719 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-05 00:31:51 +00:00
naving%netscape.com
c8f1a5e385 139576 r=bienvenu sr=mscott a=valeski, checking in some remaining part of fix left out.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122712 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 23:33:05 +00:00
wtc%netscape.com
f699f6b31d Tracking bug 145836: check in NSS bug fixes for Mozilla 1.0.1. Approved by
drivers@mozilla.org and Netscape's ADT.  (Tag: MOZILLA_1_0_BRANCH)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122695 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 20:36:22 +00:00
dprice%netscape.com
4a62f540f1 84763 r=ssu sr=dveditz a=rejsup adt=putterman
proxy download fix


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122666 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 07:32:24 +00:00
dprice%netscape.com
70eae9b6d2 14668 r=ssu sr=dveditz a=rejsup adt=putterman
add SupersedeMinVersion to components in win32 installer


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122665 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 07:31:56 +00:00
cmanske%netscape.com
af3c3a24e3 Added accesskeys to Composer dialogs,b=131672, fix by neil@parkwaycc.co.uk, r=cmanske, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122662 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 06:38:11 +00:00
cotter%netscape.com
0db2ffc3af ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; misc. formatting, updates from legal
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122656 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 05:39:40 +00:00
darin%netscape.com
b440081fa2 fixes bug 136956 "HTTP preferences panel needs to control proxy settings as well"
r=brade sr=alecf a=chofmann ADT+

and

fixes bug 145382 "cleanup 'HTTP Networking' prefs panel"
r=gagan sr=rpotts a=chofmann ADT+

(HTTP Networking UI changes only)


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122653 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 05:16:00 +00:00
darin%netscape.com
1f286b0218 fixes bug 100595 "crash [@ nsMultiMixedConv::FindToken] [was: sandiegozoo.org
- this site crashes the browser, every time]" r=dougt sr=rpotts a=chofmann ADT+


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122651 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 05:02:29 +00:00
cmanske%netscape.com
ef3972ac83 Fixed '3-D Shading' checkbox initialization, b=142784, r=brade, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122649 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:56:43 +00:00
cmanske%netscape.com
8394ac5fb2 Expand minimum width of location input field in Link Properties dialog, b=133790, r=brade, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122647 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:52:29 +00:00
kaie%netscape.com
db5ef2f455 Part of bug 119394, landing UI strings only.
r=cotter sr=alecf adt=putterman a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122646 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:51:51 +00:00
cmanske%netscape.com
b7e98f8495 Fixed List Properties dialog radio button initialization, b=141791, r=brade, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122644 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:47:21 +00:00
cmanske%netscape.com
60b9930469 Fixed Enter key behavior to reenable Composer UI after publishing, b=140962, r=andreww, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122642 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:43:59 +00:00
cmanske%netscape.com
eac3e2e9aa Fixed Preview in Browser command when used 2nd time, b=140959, r=brade, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122640 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:30:27 +00:00
cmanske%netscape.com
1acf8aa761 Changes in HTML source mode should trigger update of Publish button enable state, b=140063, r=akkana, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122639 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:23:30 +00:00
cmanske%netscape.com
5d51407505 Don't show publish failed message in Publish Progress dialog unless there's really an error, b=138040, r=brade, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122636 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 04:03:48 +00:00
cmanske%netscape.com
e63bb9d794 Fix conflicting accesskey in Composer context menu, b=137621, r=brade, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122635 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 03:57:58 +00:00
sdagley%netscape.com
eb15ad393e Localizable text portion of fix for #97975 going in to make L10N freeze. No code change so invoking the "Not part of build" excuse. ADT was consulted.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122634 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 03:56:55 +00:00
cmanske%netscape.com
8232e89286 Improve Publishing Site name creation and duplication prevention, b=136413, r=brade, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122632 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 03:51:50 +00:00
cmanske%netscape.com
c698a87201 Make Table Properties dialog xul1.0 compliant and fix Esc key action, b=135945, r=neil@parwayc.co.uk, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122631 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 03:16:19 +00:00
cmanske%netscape.com
619380c3c0 Make Table Properties dialog xul1.0 compliant and fix Esc key action, b=135945, r=neil@parwayc.co.uk, sr=kin, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122630 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 03:13:16 +00:00
ducarroz%netscape.com
231f605b15 FIx for bugscape bug 11669. Add preference to turn off plugin access in mail. R=mscott, SR=bienvenu, A=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122628 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 02:42:24 +00:00
cmanske%netscape.com
f715a3b168 Fixed data corruption in publishing - need clone object method, b=135834, r=akkana, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122625 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 02:32:47 +00:00
cmanske%netscape.com
2b3cc7e607 Allow HTML Source icon to be placed to right of text in Composer HTML mode tab, b=113883, r=mkaply@us.ibm.com,sr=hewitt,a=adt,a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122623 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 02:18:31 +00:00
cmanske%netscape.com
a0b5cde66a Add accesskeys to Spelling dialogs, b=112732, r=neil@parkwaycc.co.uk, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122622 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 02:10:14 +00:00
kyle.yuan%sun.com
20cb6cb693 Bug 134426 Set image as wallpaper crashes Mozilla (when Mozilla Wallpaper.bmp is Read-Only)
r=timeless, sr=hewitt, a=chofmann
return FAILURE rather than crashing when output stream can't be opend


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122618 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 00:52:15 +00:00
yokoyama%netscape.com
168886b9ad Checking in for nhotta
Use "sourceTextEncoding" to convert search name and description,
bug 92314, r=rjc, sr=alecf.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122615 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-04 00:31:36 +00:00
andreww%netscape.com
0399e58fdf bugzilla 111031 - need access keys [mnemonics] for QuickSearch - r=shuehan sr=hewitt adt=jaimejr drivers=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122606 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 22:43:52 +00:00
yokoyama%netscape.com
06d29ea249 Check in for nhotta
Moved the charset check out of
"if (msgType == nsIMsgCompDeliverMode.Now
|| msgType == nsIMsgCompDeliverMode.Later)",
bug 142902, r=ducarroz, sr=bienvenu,
adt=jaime, moz1.0.1=randell


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122605 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 22:42:09 +00:00
andreww%netscape.com
7e5c288be8 bugzilla 141281 - Editor: Format Menu: same mnemonic used for two menu items - r=cmanske sr=hewitt adt=jaimejr drivers=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122604 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 22:36:10 +00:00
timeless%mac.com
6fb3b48978 date: 2002/06/03 19:17:46; author: timeless%mac.com; state: Exp; lines: +3 -3
Bug 144763 tolerate do_QueryReferent() returning null [@nsXULPrototypeScript::Compile]
r=harishd sr=jst a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122603 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 22:36:06 +00:00
andreww%netscape.com
61e874fa84 bugzilla 89144 - Need keyboard access to "Tabs" menu in sidebar - r=aaronl,sgehani sr=hewitt, sspitzer adt=jaimiejr drivers=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122598 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 22:25:01 +00:00
cmanske%netscape.com
7d78857470 Fixed non-localized language strings for dictionary names in Spell Check dialog, b=142597, r=andreww, sr=hewitt, a=adt, a=chofmann/drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122597 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 22:16:00 +00:00
law%netscape.com
619bc7e159 Applying fix for bug 115225 on branch (on behalf of Stephen Donner)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122596 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:51:52 +00:00
akkana%netscape.com
69e6810d1e 139420: allow replacing a string with a null string. r=cmanske, some parts from parish@ntlworld.com with r=akkana, sr=kin, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122595 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:39:58 +00:00
bryner%netscape.com
75ba7f14e5 Don't allow sidebar panels to steal focus away from the URL bar or content area when a new window is opened (bug 76621). r=blake, sr=jag, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122592 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:29:00 +00:00
bryner%netscape.com
cce7fdff34 Fix menulist layout when a max-width is specified via CSS, and remove a workaround for this bug in the Editor Publish dialog (bug 131481). r=cmanske, sr=jag/hewitt, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122591 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:24:48 +00:00
kin%netscape.com
bf6cc01b52 Fix for bug 125345 (Font attributes disappear when you double click editor window)
Modified TypeInState::NotifySelectionChanged() to work around
bogus selection changed notifications (bug 140303). We now
call reset when the collapsed selection changes position, or
becomes uncollapsed.

mozilla/editor/libeditor/html/TypeInState.cpp
mozilla/editor/libeditor/html/TypeInState.h

r=jfrancis@netscape.com  sr=attinasi@netscape.com  a=chofmann@netscape.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122590 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:22:05 +00:00
kin%netscape.com
bcb095f8a9 Fix for bug 135154 (Cursor not appearing in textarea after tabbing into it)
Don't call StopBlinking() if the selection changed notification is
for a selection that is different from the one in mDomSelectionWeak.

r=akkana@netscape.com  sr=attinasi@netscape.com  a=chofmann@netscape.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122589 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:21:07 +00:00
pinkerton%netscape.com
bd7dff22a8 add first stage of dragging images. advertise os-native image format to other applications. r=ccarlen/sr=alecf. bug# 138049
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122587 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:15:59 +00:00
bryner%netscape.com
972cceb99c Don't allow ctrl+tab to focus a hidden browser tab, by fixing nsDocShell::GetVisibility to be more thorough (bug 106123). r=jkeiser, sr=hewitt, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122586 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:12:53 +00:00
pinkerton%netscape.com
7e1e6c7215 hookup tooltips in PPEmbed. fix embedding tooltip impl to check window/dialog tag before groveling for title attribute. r=pink/sr=beard. bug# 142814.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122583 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:08:54 +00:00
pinkerton%netscape.com
4b60d7372d fix problem where resizing window would cause jiggling. the workaround we put in for os9 seems to no longer be needed and gives osx fits. patch from lws@mac.com. r=pink/rs=blake. bug#86740
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122582 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 21:06:47 +00:00
oeschger%netscape.com
57052515de updating search db for Help, dispensation per 122806, r=cotter
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122554 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 14:15:21 +00:00
cotter%netscape.com
dff5676e1b ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; latest legal comments
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122532 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 05:49:33 +00:00
timeless%mac.com
8b6b478b81 Bug 130448 urlbar popup mislocated; if url.length > ~170 chars is persisted to 'nc:urlbar-history'
patch by schoepf@in.tum.de r=ben, sr=hewitt a=jesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122531 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 05:12:32 +00:00
dougt%netscape.com
6756ed03f7 Fixes top crash in M1RC3 crash [@ nsLocalFile::GetPath], r=rpotts@netscape.com, sr=darin@netscape.com, a=chofmann
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122528 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 03:32:37 +00:00
kaie%netscape.com
b762f8fe07 b=141894 Security button in msg compose needs a tooltip.
r=kaie sr=sspitzer a=chofmann adt=jaimejr


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122527 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 03:17:08 +00:00
bienvenu%netscape.com
3a341d46ca fix for 123858 showing multiple copies of news messages in threads with unread view from trunk
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122520 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 00:50:53 +00:00
bienvenu%netscape.com
106518fe50 speed up pop3 retrieval patch from trunk 139576 a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122519 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-03 00:44:26 +00:00
mkaply%us.ibm.com
cc7cfafe27 #145561
r=pedemont, sr=blizzard, a=valeski
OS/2 only - make focus code work more like Windows


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122517 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-02 20:11:22 +00:00
mkaply%us.ibm.com
8503fd95ac #148123
r=pedemont, sr=blizzard, a=valeski
OS/2 only - don't write an extra NULL char to URL objects


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122516 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-02 20:06:38 +00:00
mkaply%us.ibm.com
d7c55ba002 #148128
r=pedemont, sr=blizzard, a=valeski
OS/2 only - add prefs to set default telnet params


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122515 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-02 20:03:46 +00:00
mkaply%us.ibm.com
3c981d26f8 #148124
r=pedemont, sr=blizzard, a=valeski
OS/2 only - suppot for custom splash screen - same as Win - thanks to Bjorn Anderson for the sample code


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122514 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-02 20:01:22 +00:00
cmanske%netscape.com
d6ac34c459 Use system language format for date/time format in Page Properties dialog. b=132669, r=nhotta,sr=kin,a=rjesup@wgate.com,a=adt
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122504 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 20:57:52 +00:00
bryner%netscape.com
8bff0a3a2c Make sure to set a cursor for popup windows, otherwise we will get the root window cursor (bug 133387). r=pavlov, sr=blizzard, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122503 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 20:57:44 +00:00
sspitzer%netscape.com
ad80341982 fix for #138048. double click on card in addressbook side bar, doesn't bring up compose window.
r=rachan,sr=bienvenu.  a=adt,a=rjesup.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122499 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 18:45:05 +00:00
sspitzer%netscape.com
5729030ee1 fix for #134958. Deleting a mailing list from the directory pane fails.
r=hewitt,sr=bienvenu. a=adt,a=rjesup.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122498 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 18:38:58 +00:00
sspitzer%netscape.com
d314cdc629 fix for #115906. Properties of card\other\notes - Enter make a line-wrap and close the card.
r=racham,sr=bienvenu.a=adt,a=rjesup.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122497 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 18:35:06 +00:00
sspitzer%netscape.com
a22348496f fix for #146046 (r=hwaara, sr=bienvenu) and #135507 (r=naving, sr=sspitzer). fix several subscribe regressions. a=adt,a=rjesup.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122496 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 18:23:11 +00:00
sspitzer%netscape.com
a46e91bf0d fix for bugzilla bug #148310, bugscape bug #15485.
Quick Launch: After an exit, IMAP password dialog may appears with Biff and "Check new message on startup" setup.
r=naving,sr=mscott,a=adt,a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122495 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 18:05:48 +00:00
(no author)
4f992a26fb 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@122493 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 13:13:42 +00:00
kaie%netscape.com
eaa2ea31bd b=139561 Implement S/Mime "on demand verification" for IMAP messages
r=javi sr=bienvenu


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122491 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 11:48:54 +00:00
kaie%netscape.com
12293d26da b=120939 Make clear that both encryption and signing certs are required to configure s/mime.
r=javi sr=mscott


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122490 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 11:25:05 +00:00
kaie%netscape.com
a1a530fb8d b=136948 Give better feedback when no valid certs for S/Mime are available
r=javi sr=mscott


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122489 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 11:17:18 +00:00
kaie%netscape.com
f93de378fe b=147770 Enhance S/Mime menu wordings
r=cotter sr=alecf


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122488 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 11:09:54 +00:00
locka%iol.ie
84f47ba861 Fix for keyword lookup regression. b=143080 r=valeski@netscape.com sr=rpotts@netscape.com a=rjesup@wgate.com a=putterman@netscape.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122485 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 08:55:41 +00:00
shanjian%netscape.com
c0b0d51402 Fix the bugtage.
SetFont API has been changed in nsIRenderingContext, need to change
nsRenderingContextBeOS.h as well.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122483 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 07:38:13 +00:00
law%netscape.com
b8e76d926a Fixing BeOS build bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122475 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 04:11:07 +00:00
caillon%returnzero.com
92d7706b2f 'Send Page' context menu item sends the frame instead of the frameset. r=bzbarsky, sr=ben, a=valeski. Checking in for Sander <mybugzilla@juima.org>, who contributed the patch.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122463 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 00:38:01 +00:00
caillon%returnzero.com
cae49d7651 Bug 141333, Renaming 'Add to Bookmarks' to 'Bookmark This Page' in the Bookmarks menu. r=gerv, rs=jag, adt=jaimejr, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122460 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 00:31:06 +00:00
katakai%japan.sun.com
ff07968863 bug 146287
Solaris specific mime names are not supported in Mozilla/Netscape Mail
Added some lines for chinese and TIS-620 for iso8859-11
r=ftang, sr=alecf, a=rjesup@wgate.com


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122458 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-01 00:25:47 +00:00
jkeiser%netscape.com
0aa9d241d4 Make iframe borders repaint when iframe becomes visible (bug 124507). r=waterson@netscape.com, sr=attinasi@netscape.com, a=rjesup
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122456 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 23:58:02 +00:00
shanjian%netscape.com
2a7aacb79b #92806 need to support GB18030 in universal detector
Update gb18030 statemachine, and use gb18030 state machine to
replace gb2312.
r=ftang, sr=scc, a=adt


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122454 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 22:45:54 +00:00
shanjian%netscape.com
1122710c52 #142562 problem with <td align=right or align=center>
changed nsRenderingContext API, and let GetMetricsFor
take lang group as a required argument. Changed all such
calls. Implement a convenient function to simplifed the
code.
r=rbs, sr=waterson, a=adt, rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122452 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 22:37:55 +00:00
oeschger%netscape.com
964142a3a3 restoring context to help buttons in mailnews (and adding a couple of new ones), r=bhuvan, sr=alecf, a=scc, bug=129540
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122450 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 22:21:55 +00:00
dougt%netscape.com
eb31acfa17 r=dp, sr=darin, a=rjesup, adt+, bug=141479, inital patch by laotzu@pobox.com (Mathieu Fenniak)
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122448 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 21:24:26 +00:00
srilatha%netscape.com
58f9ceadcb Fix for bug # 144508. Importing mail form outlook crashes the client.
patch provided by ducarroz, r= varada, sr=bienvenu, a=rjesup


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122447 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 21:23:19 +00:00
smontagu%netscape.com
b82e3dd3d7 Bug 129666: Xlib/Xprint do not scale em-dash & co. correctly. r=bstell@ix.netcom.com, sr=scc, a=rjesup. Checking in for Roland.Mainz@informatik.med.uni-giessen.de
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122444 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 21:11:16 +00:00
cbiesinger%web.de
9a2febfed4 Bug 112908 patch by rossi@telnet.at r=biesi sr=alecf a=valeski
Error in walletOverlay.js on startup [redeclaration of const hide]


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122417 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 12:09:26 +00:00
cotter%netscape.com
963096e847 ongoing help content updates per bugzilla 122806 & ADT, r=oeschger; privacy & security updates per legal & engineering reviews
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122405 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 05:03:11 +00:00
sdagley%netscape.com
d0734c2a24 Fix #116079 - if a file with no extension is dragged to Mozilla and it has a file type of 'TEXT' treat it as text/plain rather than application/octet-stream. Merging from trunk. r=bryner, sr=hyatt, a=ADT&drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122402 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 03:57:42 +00:00
sdagley%netscape.com
7d08b37835 Fix #139360 - Don't silently fail when file name from FilePicker >31 characters. Do a mid-trunc until we can switch to HFS+ APIs. Merging from trunk. Originally r=ccarlen,pinkerton sr=scc a=ADT&drivers
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122401 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 03:52:44 +00:00
smontagu%netscape.com
eddc65a611 Prevent font download dialog from showing up in mailnews. Bug 139248, r=nhotta, sr=mscott, a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122399 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 03:39:13 +00:00
bienvenu%netscape.com
2deeb9d762 fix mac build bustage
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122397 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-31 02:52:29 +00:00
oeschger%netscape.com
b904c4673f adding help context ids to pref window, bug=129540, r=bhuvan, sr=alecf, a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122390 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:45:34 +00:00
oeschger%netscape.com
28dc3cc184 get default topic when context is not found (from help button), bug 145331, r=oeschger on pwilson@gorge.net's patch, sr=alecf, a=scc
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122388 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:40:53 +00:00
srilatha%netscape.com
968f595848 Fix for bug # 143161. Autocompletion doesnot work with LDAP server with multibyte BaseDN.
r=dmose,sr=sspitzer, a=scc


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122386 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:37:17 +00:00
serge%netscape.com
c25de96b99 fix #145377, browser crashes after clicking BACK on url with pdf doc, r=av,sr=darin,a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122385 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:13:42 +00:00
nhotta%netscape.com
1ad8ee4834 Add GB18030 to mail compose charset menu,
bug 136498, r=yokoyama, sr=alecf, a=atd,rjesup@wgate.com.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122383 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:11:50 +00:00
ducarroz%netscape.com
dd826b760f Fix for bug 67825. The shift option to select an alternative message compose window should be available only for mail3Pane toolbar's button. R=varada, SR=sspitzer, A=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122381 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:11:33 +00:00
nhotta%netscape.com
8c45a0d797 Changed GetTopmostMsgWindow, added pointer checks after the dom function calls,
bug 144735, r=ducarroz, sr=bienvenu a=atd,rjesup@wgate.com.


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122380 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:09:15 +00:00
dougt%netscape.com
c3218394e4 support for OS2 XPCOM_DEBUG_BREAK env. r=dougt, sr=jband, a=valeski, patch by mkaply, b=148127
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122379 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:03:25 +00:00
bienvenu%netscape.com
4a8b42df43 don't mark imap messages read when compacting offline store, from trunk, 100781
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122378 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 23:00:20 +00:00
(no author)
cdae846961 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@122371 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 22:56:23 +00:00
cavin%netscape.com
01f6ba274d Fix for 145336. Create keys for cards created from list members. r=dmose, sr=sspitzer, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122368 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 22:50:38 +00:00
morse%netscape.com
1361e7e34c bug 115818, context menu slow to appear, c=ajfeldman@brown.edu, r=morse, sr=waterson, a=rjesup@wgate.com
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122366 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 22:32:41 +00:00
morse%netscape.com
5b3948723c menus not matching specs, r=sgehani, sr=jag, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122363 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 22:21:13 +00:00
morse%netscape.com
7359ab3a7a bug 98673, reduce turbo-mode memory usage, r=law, sr=jag, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122362 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 22:08:29 +00:00
srilatha%netscape.com
27f4fc61c4 Fix for bug # 129610. Simple MAPI preferences is does not get saved when prefs window is opened from mailnews.
r=rdayal, sr=mscott, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122361 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 22:05:32 +00:00
morse%netscape.com
00521a78a1 bug 138132, reverse sort cookies if called from p3p, r=sgehani, sr=dveditz, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122357 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 21:58:55 +00:00
morse%netscape.com
c058e66325 bug 145492, sending out duplicate cookies, r=brade, sr=scc, a=rjesup@wgate.com, adt=trudelle
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122350 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 21:51:12 +00:00
morse%netscape.com
f2d72b7f87 bug 62348, empty cookie path treated incorrectly, c=sn@neopoly.de, r=morse, sr=jag, a=rjesup@wgate.com, adt=putterman
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122349 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 21:47:32 +00:00
yokoyama%netscape.com
978551c1f7 Bug 141513
- IME input repositioning of Candidate window
- affect Windows 2000/XP - Simplified Chinese and MS PinYing and NeiMa IME only
/r=shanjian; /sr=brendan, /drivers=jud, /adt1.0.1=jaime


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122346 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 21:40:48 +00:00
bzbarsky%mit.edu
de87376b96 Fix positioning of fixed and absolute positioned blocks with auto left
or top. Bug 126213, r=dbaron, sr=attinasi, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122345 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 21:36:57 +00:00
bienvenu%netscape.com
c57068e4c1 fix for problem removing and adding same news server from trunk, 127707
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122340 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:28:24 +00:00
bienvenu%netscape.com
a623ac4e0e fix for undoing move from imap to local from trunk, 138342
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122339 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:27:30 +00:00
bienvenu%netscape.com
9afb0e7d74 fix problem replying/forwarding message in folder with comma in name, from trunk, 133861
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122338 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:24:43 +00:00
bienvenu%netscape.com
e0b2480d0e fix for 136805 from trunk, mdn problems with long, non-ascii subjects
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122337 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:23:46 +00:00
bienvenu%netscape.com
b5bebe6668 fix for selection/command updating problems from trunk 134893
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122336 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:23:01 +00:00
bzbarsky%mit.edu
d945ef7ecf make clip:inherit work. Bug 141734, r=dbaron, sr=attinasi, a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122335 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:17:12 +00:00
bzbarsky%mit.edu
225f0aa962 Text zoom should reflow the viewport, otherwise fixed-pos elements don't
get reflown correctly. Bug 51578, r=dbaron, sr=waterson, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122334 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:10:14 +00:00
bzbarsky%mit.edu
e43da87623 cache results of getElementsByTagName in case people call
it in a loop. r=dbaron, sr=jst, a=valeski


git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122333 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 20:06:45 +00:00
pinkerton%netscape.com
dfab04f55c clean up packaging warnings so real errors are easier to see. r=ccarlen/sr=beard/a=valeski. bug# 142556
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122330 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 19:21:27 +00:00
brendan%mozilla.org
458ff6f480 Back out troublesome parts of patch for 130544 (147997, r/sr=me).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122318 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-30 07:15:01 +00:00
brendan%mozilla.org
3c64131dd8 Clean up nsICollection/nsSupportsArray {Append,Remove}Element return type (130544, r=dougt, sr=bienvenu, a=valeski).
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122292 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 22:38:49 +00:00
bienvenu%netscape.com
a1f4627d40 checking in fix for bug 121926 from trunk, r=bienvenu, sr=mscott, not removing failed passwords from wallet
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122287 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 21:53:52 +00:00
cavin%netscape.com
17138832e5 Fix for #82276. Always return entry info even if there's no other attribute associated with the contact. r=ducarroz, sr=mscott, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122286 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 21:52:51 +00:00
varada%netscape.com
17531efb1a fix for 70540 -compose window should bring up account wizard if there are no existing identities;r=bhuvan;sr=sspitzer;a=valeski;130036-in offline mode we should send later all the time instead of attempting to send after first try;r=ducarroz;sr=bienvenu;a=valeski
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122284 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 21:44:58 +00:00
cavin%netscape.com
41e6f47bfa Fix for 58206. Output "From " line if a msg does start with one such line. r=ducarroz, sr=sspitzer, a=valeski.
git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_0_BRANCH@122283 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-29 21:43:09 +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
254 changed files with 9122 additions and 43583 deletions

View File

@@ -0,0 +1,80 @@
#!perl
#
# 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):
# Simon Fraser <sfraser@netscape.com>
#
require 5.004;
use strict;
use Cwd;
use Moz::BuildUtils;
use Moz::BuildCore;
#-------------------------------------------------------------
# Where have the build options gone?
#
# The various build flags have been centralized into one place.
# The master list of options is in MozBuildFlags.txt. However,
# you should never need to edit that file, or this one.
#
# To customize what gets built, or where to start the build,
# edit the $prefs_file_name file in
# System Folder:Preferences:Mozilla build prefs:
# Documentation is provided in that file.
#-------------------------------------------------------------
my($prefs_file_name) = "Mozilla opt build prefs";
my($config_header_file_name) = ":mozilla:config:mac:DefinesOptions.h";
#-------------------------------------------------------------
# hashes to hold build options
#-------------------------------------------------------------
my(%build);
my(%options);
my(%filepaths);
my(%optiondefines);
# Hash of input files for this build. Eventually, there will be
# input files for manifests, and projects too.
my(%inputfiles) = (
"buildflags", "MozillaBuildFlags.txt",
"checkoutdata", "MozillaCheckoutList.txt",
"buildprogress", "¥ Mozilla opt progress",
"buildmodule", "MozillaBuildList.pm",
"checkouttime", "Mozilla last checkout"
);
#-------------------------------------------------------------
# end build hashes
#-------------------------------------------------------------
# set the build root directory, which is the the dir above mozilla
SetupBuildRootDir(":mozilla:build:mac:build_scripts");
# Set up all the flags on $main::, like DEBUG, CARBON etc.
# Override the defaults using the preferences files.
SetupDefaultBuildOptions(0, ":mozilla:dist:viewer:", $config_header_file_name);
my($do_checkout) = 0;
my($do_build) = 1;
RunBuild($do_checkout, $do_build, \%inputfiles, $prefs_file_name);

View File

@@ -0,0 +1,80 @@
#!perl
#
# 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):
# Simon Fraser <sfraser@netscape.com>
#
require 5.004;
use strict;
use Cwd;
use Moz::BuildUtils;
use Moz::BuildCore;
#-------------------------------------------------------------
# Where have the build options gone?
#
# The various build flags have been centralized into one place.
# The master list of options is in MozBuildFlags.txt. However,
# you should never need to edit that file, or this one.
#
# To customize what gets built, or where to start the build,
# edit the $prefs_file_name file in
# System Folder:Preferences:Mozilla build prefs:
# Documentation is provided in that file.
#-------------------------------------------------------------
my($prefs_file_name) = "Mozilla debug build prefs";
my($config_header_file_name) = ":mozilla:config:mac:DefinesOptionsDebug.h";
#-------------------------------------------------------------
# hashes to hold build options
#-------------------------------------------------------------
my(%build);
my(%options);
my(%filepaths);
my(%optiondefines);
# Hash of input files for this build. Eventually, there will be
# input files for manifests, and projects too.
my(%inputfiles) = (
"buildflags", "MozillaBuildFlags.txt",
"checkoutdata", "MozillaCheckoutList.txt",
"buildprogress", "¥ Mozilla debug progress",
"buildmodule", "MozillaBuildList.pm",
"checkouttime", "Mozilla last checkout"
);
#-------------------------------------------------------------
# end build hashes
#-------------------------------------------------------------
# set the build root directory, which is the the dir above mozilla
SetupBuildRootDir(":mozilla:build:mac:build_scripts");
# Set up all the flags on $main::, like DEBUG, CARBON etc.
# Override the defaults using the preferences files.
SetupDefaultBuildOptions(1, ":mozilla:dist:viewer_debug:", $config_header_file_name);
my($do_pull) = 0; # overridden by flags and prefs
my($do_build) = 1;
RunBuild($do_pull, $do_build, \%inputfiles, $prefs_file_name);

View File

@@ -0,0 +1,595 @@
#!perl -w
package Moz::BuildCore;
require 5.004;
require Exporter;
use strict;
use vars qw( @ISA @EXPORT );
# perl includes
use Cwd;
use POSIX;
use Time::Local;
use File::Basename;
use LWP::Simple;
# homegrown
use Moz::Moz;
use Moz::Jar;
use Moz::BuildFlags;
use Moz::BuildUtils;
use Moz::CodeWarriorLib;
# use MozillaBuildList; # eventually, this should go away, and be replaced by data input
@ISA = qw(Exporter);
@EXPORT = qw(
RunBuild
);
#//--------------------------------------------------------------------------------------------------
#// DoPrebuildCheck
#//
#// Check the build tools etc before running the build.
#//--------------------------------------------------------------------------------------------------
sub DoPrebuildCheck()
{
SanityCheckBuildOptions();
# launch codewarrior and persist its location. Have to call this before first
# call to getCodeWarriorPath().
my($ide_path_file) = $main::filepaths{"idepath"};
$ide_path_file = full_path_to($ide_path_file);
LaunchCodeWarrior($ide_path_file);
}
#//--------------------------------------------------------------------------------------------------
#// SanityCheckBuildOptions
#//--------------------------------------------------------------------------------------------------
sub SanityCheckBuildOptions()
{
my($bad_options) = 0;
# Jar options
if (!$main::options{chrome_jars} && !$main::options{chrome_files})
{
print "Warning: Both \$options{chrome_jars} and \$options{chrome_files} are off. You won't get any chrome.\n";
$bad_options = 1;
}
if (!$main::options{chrome_jars} && $main::options{use_jars})
{
print "Warning: \$options{chrome_jars} is off but \$options{use_jars} is on. Your build won't run (expects jars, got files).\n";
$bad_options = 1;
}
if (!$main::options{chrome_files} && !$main::options{use_jars})
{
print "Warning: \$options{chrome_jars} is off but \$options{chrome_files} is on. Your build won't run (expects files, got jars).\n";
$bad_options = 1;
}
if ($main::options{ldap_experimental} && !$main::options{ldap})
{
print "Warning: \$options{ldap_experimental} is on but \$options{ldap} is off. LDAP experimental features will not be built.\n";
$bad_options = 1;
}
if ($main::options{wsp} && !$main::options{xmlextras})
{
print "Warning: \$options{wsp} is on but \$options{xmlextras} is off. wsp will not be built.\n";
$bad_options = 1;
}
if ($bad_options) {
print "Build will start in 5 seconds. Press command-. to stop\n";
DelayFor(5);
}
}
#//--------------------------------------------------------------------------------------------------
#// GenBuildSystemInfo
#//--------------------------------------------------------------------------------------------------
sub GenBuildSystemInfo()
{
# always rebuild the configuration program.
BuildProjectClean(":mozilla:build:mac:tools:BuildSystemInfo:BuildSystemInfo.mcp", "BuildSystemInfo");
# delete the configuration file.
unlink(":mozilla:build:mac:BuildSystemInfo.pm");
# run the program.
system(":mozilla:build:mac:BuildSystemInfo");
# wait for the file to be created.
while (!(-e ":mozilla:build:mac:BuildSystemInfo.pm")) { WaitNextEvent(); }
# wait for BuildSystemInfo to finish, so that we see correct results.
while (IsProcessRunning("BuildSystemInfo")) { WaitNextEvent(); }
# now, evaluate the contents of the file.
open(F, ":mozilla:build:mac:BuildSystemInfo.pm");
while (<F>) { eval; }
close(F);
}
#//--------------------------------------------------------------------------------------------------
#// Make library aliases
#//--------------------------------------------------------------------------------------------------
sub MakeLibAliases()
{
my($dist_dir) = GetBinDirectory();
#// ProfilerLib
if ($main::PROFILE)
{
my($profilerlibpath) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:Profiler:Profiler Common:ProfilerLib");
MakeAlias("$profilerlibpath", "$dist_dir"."Essential Files:");
}
}
#//--------------------------------------------------------------------------------------------------
#// ConfigureBuildSystem
#//
#// defines some build-system configuration variables.
#//--------------------------------------------------------------------------------------------------
sub ConfigureBuildSystem()
{
#// In the future, we may want to do configurations based on the actual build system itself.
#// GenBuildSystemInfo();
#// For now, if we discover a newer header file than existed in Universal Interfaces 3.2,
#// we'll assume that 3.3 or later is in use.
my($universal_interfaces) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:Universal:Interfaces:CIncludes:");
if (-e ($universal_interfaces . "ControlDefinitions.h")) {
$main::UNIVERSAL_INTERFACES_VERSION = 0x0330;
}
#// Rename IC SDK folder in the Mac OS Support folder
my($ic_sdk_folder) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:ICProgKit2.0.2");
if( -e $ic_sdk_folder)
{
my($new_ic_folder_name) = Moz::CodeWarriorLib::getCodeWarriorPath("MacOS Support:(ICProgKit2.0.2)");
rename ($ic_sdk_folder, $new_ic_folder_name);
# note that CodeWarrior doesn't descend into folders with () the name
print "Mozilla no longer needs the Internet Config SDK to build:\n Renaming the 'ICProgKit2.0.2' folder to '(ICProgKit2.0.2)'\n";
}
printf("UNIVERSAL_INTERFACES_VERSION = 0x%04X\n", $main::UNIVERSAL_INTERFACES_VERSION);
# alias required CodeWarrior libs into the Essential Files folder (only the Profiler lib now)
MakeLibAliases();
}
#//--------------------------------------------------------------------------------------------------
#// CheckOutModule. Takes variable number of args; first two are required
#//--------------------------------------------------------------------------------------------------
sub CheckOutModule($$$$)
{
my($session, $module, $revision, $date) = @_;
my($result) = $session->checkout($module, $revision, $date);
# result of 1 is success
if ($result) { return; }
my($checkout_err) = $session->getLastError();
if ($checkout_err == 708) {
die "Error: Checkout was cancelled.\n";
} elsif ($checkout_err == 911) {
die "Error: CVS session settings are incorrect. Check your password, and the CVS root settings.\n";
} elsif ($checkout_err == 703) {
die "Error: CVS checkout failed. Unknown module, unknown tag, bad username, or other CVS error.\n";
} elsif ($checkout_err == 711) {
print "Checkout of '$module' failed.\n";
}
}
#//--------------------------------------------------------------------------------------------------
#// getScriptFolder
#//--------------------------------------------------------------------------------------------------
sub getScriptFolder()
{
return dirname($0);
}
#//--------------------------------------------------------------------------------------------------
#// getScriptFolder
#//--------------------------------------------------------------------------------------------------
sub get_url_contents($)
{
my($url) = @_;
my($url_contents) = LWP::Simple::get($url);
$url_contents =~ s/\r\n/\n/g; # normalize linebreaks
$url_contents =~ s/\r/\n/g; # normalize linebreaks
return $url_contents;
}
#//--------------------------------------------------------------------------------------------------
#// get_files_from_content
#//--------------------------------------------------------------------------------------------------
sub uniq
{
my $lastval;
grep(($_ ne $lastval, $lastval = $_)[$[], @_);
}
#//--------------------------------------------------------------------------------------------------
#// get_files_from_content
#//--------------------------------------------------------------------------------------------------
sub get_files_from_content($)
{
my($content) = @_;
my(@jscalls) = grep (/return js_file_menu[^{]*/, split(/\n/, $content));
my $i;
for ($i = 0; $i < @jscalls ; $i++)
{
$jscalls[$i] =~ s/.*\(|\).*//g;
my(@callparams) = split(/,/, $jscalls[$i]);
my ($repos, $dir, $file, $rev) = grep(s/['\s]//g, @callparams);
$jscalls[$i] = "$dir/$file";
}
&uniq(sort(@jscalls));
}
#//--------------------------------------------------------------------------------------------------
#// getLastUpdateTime
#//
#// Get the last time we updated. Return 0 on failure
#//--------------------------------------------------------------------------------------------------
sub getLastUpdateTime($)
{
my($timestamp_file) = @_;
my($time_string);
local(*TIMESTAMP_FILE);
unless (open(TIMESTAMP_FILE, "< $timestamp_file")) { return 0; }
while (<TIMESTAMP_FILE>)
{
my($line) = $_;
chomp($line);
# ignore comments and empty lines
if ($line =~ /^\#/ || $line =~ /^\s*$/) {
next;
}
$time_string = $line;
}
# get the epoch seconds
my($last_update_secs) = $time_string;
$last_update_secs =~ s/\s#.+$//;
print "FAST_UPDATE found that you last updated at ".localtime($last_update_secs)."\n";
# how long ago was this, in hours?
my($gm_now) = time();
my($update_hours) = 1 + ceil(($gm_now - $last_update_secs) / (60 * 60));
return $update_hours;
}
#//--------------------------------------------------------------------------------------------------
#// saveCheckoutTimestamp
#//
#// Create a file on disk containing the current time. Param is time(), which is an Epoch seconds
#// (and therefore in GMT).
#//
#//--------------------------------------------------------------------------------------------------
sub saveCheckoutTimestamp($$)
{
my($gm_secs, $timestamp_file) = @_;
local(*TIMESTAMP_FILE);
open(TIMESTAMP_FILE, ">$timestamp_file") || die "Failed to open $timestamp_file\n";
print(TIMESTAMP_FILE "# time of last checkout or update, in GMT. Used by FAST_UPDATE\n");
print(TIMESTAMP_FILE "$gm_secs \# around ".localtime()." local time\n");
close(TIMESTAMP_FILE);
}
#//--------------------------------------------------------------------------------------------------
#// FastUpdate
#//
#// Use Bonsai url data to update only those dirs which have new files
#//
#//--------------------------------------------------------------------------------------------------
sub FastUpdate($$)
{
my($modules, $timestamp_file) = @_; # list of modules to check out
my($num_hours) = getLastUpdateTime($timestamp_file);
if ($num_hours == 0 || $num_hours > 170) {
print "Can't fast_update; last update was too long ago, or never. Doing normal checkout.\n";
return 0;
}
print "Doing fast update, pulling files changed in the last $num_hours hours\n";
my($cvsfile) = AskAndPersistFile($main::filepaths{"sessionpath"});
my($session) = Moz::MacCVS->new( $cvsfile );
unless (defined($session)) { die "Error: Checkout aborted. Cannot create session file: $session" }
# activate MacCVS
ActivateApplication('Mcvs');
my($checkout_start_time) = time();
#print "Time now is $checkout_start_time ($checkout_start_time + 0)\n";
my($this_co);
foreach $this_co (@$modules)
{
my($module, $revision, $date) = ($this_co->[0], $this_co->[1], $this_co->[2]);
# assume that things pulled by date wont change
if ($date ne "") {
print "$module is pulled by date, so ignoring in FastUpdate.\n";
next;
}
my($search_type) = "hours";
my($min_date) = "";
my($max_date) = "";
my($url) = "http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=${module}&branch=${revision}&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=${num_hours}&date=${search_type}&mindate=${min_date}&maxdate=${max_date}&cvsroot=%2Fcvsroot";
if ($revision eq "") {
print "Getting list of checkins to $module from Bonsai...\n";
} else {
print "Getting list of checkins to $module on branch $revision from Bonsai...\n";
}
my(@files) = &get_files_from_content(&get_url_contents($url));
if ($#files > 0)
{
my(@cvs_co_list);
my($co_file);
foreach $co_file (@files)
{
print "Updating $co_file\n";
push(@cvs_co_list, $co_file);
}
my($result) = $session->update($revision, \@cvs_co_list);
# result of 1 is success
if (!$result) { die "Error: Fast update failed\n"; }
} else {
print "No files in this module changed\n";
}
}
saveCheckoutTimestamp($checkout_start_time, $timestamp_file);
return 1;
}
#//--------------------------------------------------------------------------------------------------
#// Checkout
#//--------------------------------------------------------------------------------------------------
sub CheckoutModules($$$)
{
my($modules, $pull_date, $timestamp_file) = @_; # list of modules to check out
my($start_time) = TimeStart();
# assertRightDirectory();
my($cvsfile) = AskAndPersistFile($main::filepaths{"sessionpath"});
my($session) = Moz::MacCVS->new( $cvsfile );
unless (defined($session)) { die "Error: Checkout aborted. Cannot create session file: $session" }
my($checkout_start_time) = time();
# activate MacCVS
ActivateApplication('Mcvs');
my($this_co);
foreach $this_co (@$modules)
{
my($module, $revision, $date) = ($this_co->[0], $this_co->[1], $this_co->[2]);
if ($date eq "") {
$date = $pull_date;
}
CheckOutModule($session, $module, $revision, $date);
# print "Checking out $module with ref $revision, date $date\n";
}
saveCheckoutTimestamp($checkout_start_time, $timestamp_file);
TimeEnd($start_time, "Checkout");
}
#//--------------------------------------------------------------------------------------------------
#// ReadCheckoutModulesFile
#//--------------------------------------------------------------------------------------------------
sub ReadCheckoutModulesFile($$)
{
my($modules_file, $co_list) = @_;
my($checkout_file) = getScriptFolder().":".$modules_file;
local(*CHECKOUT_FILE);
open(CHECKOUT_FILE, "< $checkout_file") || die "Error: failed to open checkout list $checkout_file\n";
while (<CHECKOUT_FILE>)
{
my($line) = $_;
chomp($line);
# ignore comments and empty lines
if ($line =~ /^\#/ || $line =~ /^\s*$/) {
next;
}
my(@cvs_co) = ["", "", ""];
my($module, $revision, $date) = (0, 1, 2);
if ($line =~ /\s*([^#,\s]+)\s*\,\s*([^#,\s]+)\s*\,\s*([^#]+)/)
{
@cvs_co[$module] = $1;
@cvs_co[$revision] = $2;
@cvs_co[$date] = $3;
}
elsif ($line =~ /\s*([^#,\s]+)\s*\,\s*([^#,\s]+)\s*(#.+)?/)
{
@cvs_co[$module] = $1;
@cvs_co[$revision] = $2;
}
elsif ($line =~ /\s*([^#,\s]+)\s*\,\s*,\s*([^#,]+)/)
{
@cvs_co[$module] = $1;
@cvs_co[$date] = $2;
}
elsif ($line =~ /\s*([^#,\s]+)/)
{
@cvs_co[$module] = $1;
}
else
{
die "Error: unrecognized line '$line' in $modules_file\n";
}
# strip surrounding space from date
@cvs_co[$date] =~ s/^\s*|\s*$//g;
# print "Going to check out '@cvs_co[$module]', '@cvs_co[$revision]', '@cvs_co[$date]'\n";
push(@$co_list, \@cvs_co);
}
close(CHECKOUT_FILE);
}
#//--------------------------------------------------------------------------------------------------
#// PullFromCVS
#//--------------------------------------------------------------------------------------------------
sub PullFromCVS($$)
{
unless ( $main::build{pull} ) { return; }
my($modules_file, $timestamp_file) = @_;
StartBuildModule("pull");
my(@cvs_co_list);
ReadCheckoutModulesFile($modules_file, \@cvs_co_list);
if ($main::FAST_UPDATE && $main::options{pull_by_date})
{
die "Error: you can't use FAST_UPDATE if you are pulling by date.\n";
}
my($did_fast_update) = $main::FAST_UPDATE && FastUpdate(\@cvs_co_list, $timestamp_file);
if (!$did_fast_update)
{
my($pull_date) = "";
if ($main::options{pull_by_date})
{
# acceptable CVS date formats are (in local time):
# ISO8601 (e.g. "1972-09-24 20:05") and Internet (e.g. "24 Sep 1972 20:05").
# Perl's localtime() string format also seems to work.
$pull_date = localtime().""; # force string interp.
print "Pulling by date $pull_date\n";
}
CheckoutModules(\@cvs_co_list, $pull_date, $timestamp_file);
}
EndBuildModule("pull");
}
#//--------------------------------------------------------------------------------------------------
#// RunBuild
#//--------------------------------------------------------------------------------------------------
sub RunBuild($$$$)
{
my($do_pull, $do_build, $input_files, $build_prefs) = @_;
InitBuildProgress($input_files->{"buildprogress"});
# if we are pulling, we probably want to do a full build, so clear the build progress
if ($do_pull) {
ClearBuildProgress();
}
# read local prefs, and the build progress file, and set flags to say what to build
SetupBuildParams(\%main::build,
\%main::options,
\%main::optiondefines,
\%main::filepaths,
$input_files->{"buildflags"},
$build_prefs);
# If we were told to pull, make sure we do, overriding prefs etc.
if ($do_pull)
{
$main::build{"pull"} = 1;
}
# transfer this flag
$CodeWarriorLib::CLOSE_PROJECTS_FIRST = $main::CLOSE_PROJECTS_FIRST;
# setup the build log
SetupBuildLog($main::filepaths{"buildlogfilepath"}, $main::USE_TIMESTAMPED_LOGS);
StopForErrors();
if ($main::LOG_TO_FILE) {
RedirectOutputToFile($main::filepaths{"scriptlogfilepath"});
}
# run a pre-build check to see that the tools etc are in order
DoPrebuildCheck();
# do the pull
PullFromCVS($input_files->{"checkoutdata"}, $input_files->{"checkouttime"});
unless ($do_build) { return; }
my($build_start) = TimeStart();
# check the build environment
ConfigureBuildSystem();
# here we load and call methods in the build module indirectly.
# we have to use indirection because the build module can be named
# differently for different builds.
chdir(dirname($0)); # change to the script dir
my($build_module) = $input_files->{"buildmodule"};
# load the build module
require $build_module;
{ # scope for no strict 'refs'
no strict 'refs';
my($package_name) = $build_module;
$package_name =~ s/\.pm$//;
chdir($main::MOZ_SRC);
&{$package_name."::BuildDist"}();
chdir($main::MOZ_SRC);
&{$package_name."::BuildProjects"}();
}
# the build finished, so clear the build progress state
ClearBuildProgress();
TimeEnd($build_start, "Build");
print "Build complete\n";
}
1;

View File

@@ -0,0 +1,425 @@
#!perl -w
package Moz::BuildFlags;
require 5.004;
require Exporter;
# Package that attempts to read a file from the Preferences folder,
# and get build settings out of it
use strict;
use Exporter;
use Cwd;
use File::Basename;
use Moz::Moz;
use Moz::Prefs;
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(
SetupBuildParams
InitBuildProgress
WriteBuildProgress
ClearBuildProgress
ReadBuildProgress
);
my(@build_flags);
my(@options_flags);
my(@filepath_flags);
my(%arrays_list) = (
"build_flags", \@build_flags,
"options_flags", \@options_flags,
"filepath_flags", \@filepath_flags
);
my($progress_file) = "¥ÊBuild progress";
#-------------------------------------------------------------------------------
# appendArrayFlag
#
# Set a flag in the array
#-------------------------------------------------------------------------------
sub appendArrayFlag(@)
{
my($array_name) = shift;
my($setting) = shift;
my($value) = shift;
my(@optional_values);
foreach (@_) {
push(@optional_values, $_);
}
my(@this_flag) = [$setting, $value, @optional_values];
my($flags_array) = $arrays_list{$array_name};
if ($flags_array)
{
push(@{$flags_array}, @this_flag) || die "Failed to append\n";
}
else
{
die "Error: unknown build flags array $array_name\n";
}
}
#-------------------------------------------------------------------------------
# readFlagsFile
#
# Read the file of build flags from disk. File path is relative to the
# script directory.
#-------------------------------------------------------------------------------
sub readFlagsFile($)
{
my($flags_file) = @_;
my($file_path) = $0;
$file_path =~ s/[^:]+$/$flags_file/;
print "Reading build flags from '$file_path'\n";
local(*FLAGS_FILE);
open(FLAGS_FILE, "< $file_path") || die "Error: failed to open flags file $file_path\n";
my($cur_array) = "";
while(<FLAGS_FILE>)
{
my($line) = $_;
chomp($line);
# ignore comments and empty lines
if ($line =~ /^\#/ || $line =~ /^\s*$/) {
next;
}
# 1-word line, probably array name
if ($line =~ /^([^#\s]+)\s*$/)
{
$cur_array = $1;
next;
}
elsif ($line =~ /^([^#\s]+)\s+\"(.+)\"(\s+#.+)?$/) # quoted option, possible comment
{
my($flag) = $1;
my($setting) = $2;
appendArrayFlag($cur_array, $flag, $setting);
}
elsif ($line =~ /^([^#\s]+)((\s+[^#\s]+)+)(\s+#.+)?$/) # multiple word line, possible comment
{
my($flag) = $1;
appendArrayFlag($cur_array, $flag, split(' ', $2));
}
else
{
die "Error: unknown build flag at '$line'\n";
}
}
close(FLAGS_FILE);
}
#-------------------------------------------------------------------------------
# flagsArrayToHash
#
# Utility routine to migrate flag from a 2D array to a hash, where
# item[n][0] is the hash entry name, and item[n][1] is the hash entry value.
#-------------------------------------------------------------------------------
sub flagsArrayToHash($$)
{
my($src_array, $dest_hash) = @_;
my($item);
foreach $item (@$src_array)
{
$dest_hash->{$item->[0]} = $item->[1];
}
}
#-----------------------------------------------
# printHash
#
# Utility routine to print a hash
#-----------------------------------------------
sub printHash($)
{
my($hash_ref) = @_;
print "Printing hash:\n";
my($key, $value);
while (($key, $value) = each (%$hash_ref))
{
print " $key $value\n";
}
}
#-----------------------------------------------
# printBuildArray
#
# Utility routine to print a 2D array
#-----------------------------------------------
sub printBuildArray($)
{
my($build_array) = @_;
my($entry);
foreach $entry (@$build_array)
{
print "$entry->[0] = $entry->[1]\n";
}
}
#-------------------------------------------------------------------------------
# SetBuildFlags
#-------------------------------------------------------------------------------
sub SetBuildFlags($)
{
my($build) = @_;
flagsArrayToHash(\@build_flags, $build);
}
#-------------------------------------------------------------------------------
# SetBuildOptions
#-------------------------------------------------------------------------------
sub SetBuildOptions($)
{
my($options) = @_;
flagsArrayToHash(\@options_flags, $options);
}
#-------------------------------------------------------------------------------
# SetFilepathFlags
#-------------------------------------------------------------------------------
sub SetFilepathFlags($)
{
my($filepath) = @_;
flagsArrayToHash(\@filepath_flags, $filepath);
}
#-------------------------------------------------------------------------------
# SetOptionDefines
#-------------------------------------------------------------------------------
sub SetOptionDefines($)
{
my($optiondefines) = @_;
foreach my $entry (@options_flags)
{
if (defined($entry->[2])) {
$optiondefines->{$entry->[0]}{$entry->[2]} = 1;
}
}
}
#-------------------------------------------------------------------------------
# PropagateAllFlags
#-------------------------------------------------------------------------------
sub PropagateAllFlags($)
{
my($build_array) = @_;
# if "all" is set, set all the flags to 1
unless ($build_array->[0][0] eq "all") { die "Error: 'all' must come first in the flags array\n"; }
if ($build_array->[0][1] == 1)
{
my($index);
foreach $index (@$build_array)
{
$index->[1] = 1;
}
}
}
#//--------------------------------------------------------------------------------------------------
#// _getBuildProgressFile
#//--------------------------------------------------------------------------------------------------
sub _getBuildProgressFile()
{
return $progress_file;
}
#//--------------------------------------------------------------------------------------------------
#// setBuildProgressStart
#//
#// This automagically sets $build{"all"} to 0
#//--------------------------------------------------------------------------------------------------
sub setBuildProgressStart($$)
{
my($build_array, $name) = @_;
my($index);
foreach $index (@$build_array)
{
$index->[1] = 0;
if ($index->[0] eq $name) {
last;
}
}
print "Building from module after $name, as specified by build progress\n";
}
#//--------------------------------------------------------------------------------------------------
#// InitBuildProgress
#//--------------------------------------------------------------------------------------------------
sub InitBuildProgress($)
{
my($prog_file) = @_;
if ($prog_file ne "") {
$progress_file = full_path_to($prog_file);
print "Writing build progress to $progress_file\n";
}
}
#//--------------------------------------------------------------------------------------------------
#// WriteBuildProgress
#//--------------------------------------------------------------------------------------------------
sub WriteBuildProgress($)
{
my($module_built) = @_;
my($progress_file) = _getBuildProgressFile();
if ($progress_file ne "")
{
open(PROGRESS_FILE, ">>$progress_file") || die "Failed to open $progress_file\n";
print(PROGRESS_FILE "$module_built\n");
close(PROGRESS_FILE);
}
}
#//--------------------------------------------------------------------------------------------------
#// ClearBuildProgress
#//--------------------------------------------------------------------------------------------------
sub ClearBuildProgress()
{
my($progress_file) = _getBuildProgressFile();
if ($progress_file ne "") {
unlink $progress_file;
}
}
#//--------------------------------------------------------------------------------------------------
#// WipeBuildProgress
#//--------------------------------------------------------------------------------------------------
sub WipeBuildProgress()
{
print "Ignoring build progress\n";
ClearBuildProgress();
$progress_file = "";
}
#//--------------------------------------------------------------------------------------------------
#// ReadBuildProgress
#//--------------------------------------------------------------------------------------------------
sub ReadBuildProgress($)
{
my($build_array) = @_;
my($progress_file) = _getBuildProgressFile();
my($last_module);
if (open(PROGRESS_FILE, "< $progress_file"))
{
print "Getting build progress from $progress_file\n";
while (<PROGRESS_FILE>)
{
my($line) = $_;
chomp($line);
$last_module = $line;
}
close(PROGRESS_FILE);
}
if ($last_module)
{
setBuildProgressStart($build_array, $last_module);
}
}
#-------------------------------------------------------------------------------
# clearOldBuildSettings
#-------------------------------------------------------------------------------
sub clearOldBuildSettings($$$$)
{
my($build, $options, $optiondefines, $filepaths) = @_;
# empty the arrays in case we're being called twice
@build_flags = ();
@options_flags = ();
@filepath_flags = ();
# and empty the hashes
%$build = ();
%$options = ();
%$optiondefines = ();
%$filepaths = ();
}
#-------------------------------------------------------------------------------
# SetupBuildParams
#-------------------------------------------------------------------------------
sub SetupBuildParams($$$$$$)
{
my($build, $options, $optiondefines, $filepaths, $flags_file, $prefs_file) = @_;
# Empty the hashes and arrays, to wipe out any stale data.
# Needed because these structures persist across two build scripts
# called using 'do' from a parent script.
clearOldBuildSettings($build, $options, $optiondefines, $filepaths);
# Read from the flags file, which sets up the various arrays
readFlagsFile($flags_file);
# If 'all' is set in the build array, propagate that to all entries
PropagateAllFlags(\@build_flags);
# read the user pref file, that can change values in the array
ReadMozUserPrefs($prefs_file, \@build_flags, \@options_flags, \@filepath_flags);
# If build progress exists, this clears flags in the array up to a certain point
if ($main::USE_BUILD_PROGRESS) {
ReadBuildProgress(\@build_flags);
} else {
WipeBuildProgress();
}
# printBuildArray(\@build_flags);
# printBuildArray(\@options_flags);
SetBuildFlags($build);
SetBuildOptions($options);
SetOptionDefines($optiondefines);
SetFilepathFlags($filepaths);
# printHash($build);
# printHash($options);
}
1;

View File

@@ -0,0 +1,786 @@
package Moz::BuildUtils;
require 5.004;
require Exporter;
# Package that contains build util functions specific to the Mozilla build
# process.
use strict;
use Exporter;
use Cwd;
use File::Path;
use File::Basename;
use Mac::Events;
use Mac::StandardFile;
use Moz::Moz;
use Moz::BuildFlags;
use Moz::MacCVS;
#use Moz::ProjectXML; #optional; required for static build only
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(
SetupDefaultBuildOptions
SetupBuildRootDir
StartBuildModule
EndBuildModule
GetBinDirectory
BuildOneProjectWithOutput
BuildOneProject
BuildProject
BuildProjectClean
BuildIDLProject
BuildFolderResourceAliases
AskAndPersistFile
DelayFor
TimeStart
TimeEnd
EmptyTree
SetupBuildLog
SetBuildNumber
SetTimeBomb
UpdateConfigHeader
);
#//--------------------------------------------------------------------------------------------------
#// SetupDefaultBuildOptions
#//--------------------------------------------------------------------------------------------------
sub SetupDefaultBuildOptions($$$)
{
my($debug, $bin_dir, $config_header_file_name) = @_;
# Here we set up defaults for the various build flags.
# If you want to override any of these, it's best to do
# so via the relevant preferences file, which lives in
# System Folder:Preferences:Mozilla build prefs:{build prefs file}.
# For the name of the prefs file, see the .pl script that you
# run to start this build. The prefs files are created when
# you run the build, and contain some documentation.
#-------------------------------------------------------------
# configuration variables that globally affect what is built
#-------------------------------------------------------------
$main::DEBUG = $debug;
$main::PROFILE = 0;
$main::RUNTIME = 0; # turn on to just build runtime support and NSPR projects
$main::GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
$main::MOZILLA_OFFICIAL = 0; # generate build number
$main::LOG_TO_FILE = 0; # write perl output to a file
#-------------------------------------------------------------
# configuration variables that affect the manner of building,
# but possibly affecting the outcome.
#-------------------------------------------------------------
$main::ALIAS_SYM_FILES = $main::DEBUG;
$main::CLOBBER_LIBS = 1; # turn on to clobber existing libs and .xSYM files before
# building each project
# The following two options will delete all dist files (if you have $main::build{dist} turned on),
# but leave the directory structure intact.
$main::CLOBBER_DIST_ALL = 1; # turn on to clobber all aliases/files inside dist (headers/xsym/libs)
$main::CLOBBER_DIST_LIBS = 0; # turn on to clobber only aliases/files for libraries/sym files in dist
$main::CLOBBER_IDL_PROJECTS = 0; # turn on to clobber all IDL projects.
$main::CLOBBER_PROJECTS = 0; # turn on to remove object code from each project before building it
$main::UNIVERSAL_INTERFACES_VERSION = 0x0320;
#-------------------------------------------------------------
# configuration variables that are preferences for the build,
# style and do not affect what is built.
#-------------------------------------------------------------
$main::CLOSE_PROJECTS_FIRST = 0;
# 1 = close then make (for development),
# 0 = make then close (for tinderbox).
$main::USE_TIMESTAMPED_LOGS = 0;
$main::USE_BUILD_PROGRESS = 1; # track build progress for restartable builds
#-------------------------------------------------------------
# END OF CONFIG SWITCHES
#-------------------------------------------------------------
$main::BIN_DIRECTORY = $bin_dir;
$main::DEFINESOPTIONS_FILE = $config_header_file_name;
}
#//--------------------------------------------------------------------------------------------------
#// SetupBuildRootDir
#//--------------------------------------------------------------------------------------------------
sub SetupBuildRootDir($)
{
my($rel_path_to_script) = @_;
my($cur_dir) = cwd();
$cur_dir =~ s/$rel_path_to_script$//;
chdir($cur_dir) || die "Error: failed to set build root directory to '$cur_dir'.\nYou probably need to put 'mozilla' one level down (in a folder).\n";
$main::MOZ_SRC = cwd();
}
#//--------------------------------------------------------------------------------------------------
#// StartBuildModule
#//--------------------------------------------------------------------------------------------------
sub StartBuildModule($)
{
my($module) = @_;
print("---- Start of $module ----\n");
}
#//--------------------------------------------------------------------------------------------------
#// EndBuildModule
#//--------------------------------------------------------------------------------------------------
sub EndBuildModule($)
{
my($module) = @_;
WriteBuildProgress($module);
print("---- End of $module ----\n");
}
#--------------------------------------------------------------------------------------------------
# GetBinDirectory
#--------------------------------------------------------------------------------------------------
sub GetBinDirectory()
{
if ($main::BIN_DIRECTORY eq "") { die "Dist directory not set\n"; }
return $main::BIN_DIRECTORY;
}
#--------------------------------------------------------------------------------------------------
# AskAndPersistFile stores the information about the user pick inside
# the file $session_storage
#--------------------------------------------------------------------------------------------------
sub AskAndPersistFile($)
{
my ($sessionStorage) = @_;
my $cvsfile;
if (( -e $sessionStorage) &&
open( SESSIONFILE, $sessionStorage ))
{
# Read in the path if available
$cvsfile = <SESSIONFILE>;
chomp $cvsfile;
close SESSIONFILE;
if ( ! -e $cvsfile )
{
print STDERR "$cvsfile has disappeared\n";
undef $cvsfile;
}
}
unless (defined ($cvsfile))
{
# make sure that MacPerl is a front process
ActivateApplication('McPL');
MacPerl::Answer("Could not find your MacCVS session file. Please choose one", "OK");
# prompt user for the file name, and store it
my $macFile = StandardGetFile( 0, "McvD");
if ( $macFile->sfGood() )
{
$cvsfile = $macFile->sfFile();
# save the choice if we can
if ( open (SESSIONFILE, ">" . $sessionStorage))
{
printf SESSIONFILE $cvsfile, "\n";
close SESSIONFILE;
}
else
{
print STDERR "Could not open storage file $sessionStorage for saving $cvsfile\n";
}
}
}
return $cvsfile;
}
#--------------------------------------------------------------------------------------------------
# BuildIDLProject
#
#--------------------------------------------------------------------------------------------------
sub BuildIDLProject($$)
{
my ($project_path, $module_name) = @_;
if ($main::CLOBBER_IDL_PROJECTS)
{
my (@suffix_list) = (".mcp", ".xml");
my ($project_name, $project_dir, $suffix) = fileparse($project_path, @suffix_list);
if ($suffix eq "") { die "Error: Project, $project_path must end in .xml or .mcp\n"; }
my($datafolder_path);
if ($suffix eq ".xml")
{
$datafolder_path = $project_dir . "_" . $project_name . " Data:";
}
else {
$datafolder_path = $project_dir . $project_name . " Data:";
}
print STDERR "Deleting IDL data folder: $datafolder_path\n";
EmptyTree($datafolder_path);
}
BuildOneProject($project_path, "headers", 0, 0, 0);
BuildOneProject($project_path, $module_name.".xpt", 1, 0, 1);
}
#--------------------------------------------------------------------------------------------------
# CreateStaticLibTargets
#
#--------------------------------------------------------------------------------------------------
sub CreateXMLStaticLibTargets($)
{
my($xml_path) = @_;
my (@suffix_list) = (".xml");
my ($project_name, $project_dir, $suffix) = fileparse($xml_path, @suffix_list);
if ($suffix eq "") { die "XML munging: $xml_path must end in .xml\n"; }
#sniff the file to see if we need to fix up broken Pro5-exported XML
print "Parsing $xml_path\n";
my $ide_version = Moz::ProjectXML::SniffProjectXMLIDEVersion($xml_path);
if ($ide_version eq "4.0")
{
my $new_file = $project_dir.$project_name."2.xml";
print "Cleaning up Pro 5 xml to $new_file\n";
Moz::ProjectXML::CleanupPro5XML($xml_path, $new_file);
unlink $xml_path;
rename ($new_file, $xml_path);
}
my $doc = Moz::ProjectXML::ParseXMLDocument($xml_path);
my @target_list = Moz::ProjectXML::GetTargetsList($doc);
my $target;
my %target_hash; # for easy lookups below
foreach $target (@target_list) { $target_hash{$target} = 1; }
foreach $target (@target_list)
{
if ($target =~ /(.+).shlb$/) # if this is a shared lib target
{
my $target_base = $1;
my $static_target = $target_base.".o";
# ensure that this does not exist already
if ($target_hash{$static_target}) {
print "Static target $static_target already exists in project. Not making\n";
next;
}
print "Making static target '$static_target' from target '$target'\n";
Moz::ProjectXML::CloneTarget($doc, $target, $static_target);
Moz::ProjectXML::SetAsStaticLibraryTarget($doc, $static_target, $static_target);
}
}
print "Writing XML file to $xml_path\n";
my $temp_path = $project_dir."_".$project_name.".xml";
Moz::ProjectXML::WriteXMLDocument($doc, $temp_path, $ide_version);
Moz::ProjectXML::DisposeXMLDocument($doc);
if (-e $temp_path)
{
unlink $xml_path;
rename ($temp_path, $xml_path);
}
else
{
die "Error: Failed to add new targets to XML project\n";
}
}
#//--------------------------------------------------------------------------------------------------
#// ProcessProjectXML
#//
#// Helper routine to allow for XML pre-processing. This should read in the XML, process it,
#// and replace the original file with the processed version.
#//--------------------------------------------------------------------------------------------------
sub ProcessProjectXML($)
{
my($xml_path) = @_;
# we need to manually load Moz::ProjectXML, becaues not everyone will have the
# required perl modules in their distro.
my($cur_dir) = cwd();
chdir(dirname($0)); # change to the script dir
eval "require Moz::ProjectXML";
if ($@) { die "Error: could not do Project XML munging because you do not have the correct XML modules installed. Error is:\n################\n $@################"; }
chdir($cur_dir);
CreateXMLStaticLibTargets($xml_path);
}
#//--------------------------------------------------------------------------------------------------
#// Build one project, and make the alias. Parameters are project path, target name, shared library
#// name, make shlb alias (boolean), make xSYM alias (boolean), and is component (boolean).
#//--------------------------------------------------------------------------------------------------
sub BuildOneProjectWithOutput($$$$$$)
{
my ($project_path, $target_name, $output_name, $alias_lib, $alias_xSYM, $component) = @_;
unless ($project_path =~ m/^$main::BUILD_ROOT.+/) { return; }
my (@suffix_list) = (".mcp", ".xml");
my ($project_name, $project_dir, $suffix) = fileparse($project_path, @suffix_list);
if ($suffix eq "") { die "Error: Project, $project_path must end in .xml or .mcp\n"; }
my($dist_dir) = GetBinDirectory();
# Put libraries in "Essential Files" folder, Components in "Components" folder
my($output_dir) = $component ? "Components:" : "Essential Files:";
my($output_path) = $dist_dir.$output_dir;
if ($main::options{static_build})
{
if ($output_name =~ /\.o$/ || $output_name =~ /\.[Ll]ib$/)
{
$alias_xSYM = 0;
$alias_lib = 1;
$output_path = $main::DEBUG ? ":mozilla:dist:static_libs_debug:" : ":mozilla:dist:static_libs:";
}
}
# if the flag is on to export projects to XML, export and munge them
if ($main::EXPORT_PROJECTS && !($project_path =~ /IDL\.mcp$/))
{
my $xml_out_path = $project_path;
$xml_out_path =~ s/\.mcp$/\.xml/;
# only do this if project is newer?
if (! -e $xml_out_path)
{
ExportProjectToXML(full_path_to($project_path), full_path_to($xml_out_path));
ProcessProjectXML($xml_out_path);
}
}
# if the flag is set to use XML projects, default to XML if the file
# is present.
if ($main::USE_XML_PROJECTS && !($project_path =~ /IDL\.mcp$/))
{
my $xml_project_path = $project_dir.$project_name.".xml";
if (-e $xml_project_path)
{
$project_path = $xml_project_path;
$suffix = ".xml";
}
}
if ($suffix eq ".xml")
{
my($xml_path) = $project_path;
# Prepend an "_" onto the name of the generated project file so it doesn't conflict
$project_path = $project_dir . "_" . $project_name . ".mcp";
my($project_modtime) = (-e $project_path ? GetFileModDate($project_path) : 0);
my($xml_modtime) = (-e $xml_path ? GetFileModDate($xml_path) : 0);
if ($xml_modtime > $project_modtime)
{
print("Importing $project_path from $project_name.xml.\n");
unlink($project_path);
# Might want to delete the "xxx.mcp Data" dir ???
ImportXMLProject(full_path_to($xml_path), full_path_to($project_path));
}
}
if ($main::CLOBBER_LIBS)
{
unlink "$project_dir$output_name"; # it's OK if these fail
unlink "$project_dir$output_name.xSYM";
}
DoBuildProject($project_path, $target_name, $main::CLOBBER_PROJECTS);
$alias_lib ? MakeAlias("$project_dir$output_name", "$output_path") : 0;
$alias_xSYM ? MakeAlias("$project_dir$output_name.xSYM", "$output_path") : 0;
}
#//--------------------------------------------------------------------------------------------------
#// For compatiblity with existing scripts, BuildOneProject now just calls
#// BuildOneProjectWithOutput, with the output name and target name identical.
#// Note that this routine assumes that the target name and the shared libary name
#// are the same.
#//--------------------------------------------------------------------------------------------------
sub BuildOneProject($$$$$)
{
my ($project_path, $target_name, $alias_lib, $alias_xSYM, $component) = @_;
BuildOneProjectWithOutput($project_path, $target_name, $target_name,
$alias_lib, $alias_xSYM, $component);
}
#//--------------------------------------------------------------------------------------------------
#// For compatiblity with existing scripts, BuildProject now just calls
#// BuildOneProjectWithOutput, with the output name and target name identical.
#// Note that this routine assumes that the target name and the shared libary name
#// are the same. No aliases of the output are made.
#//--------------------------------------------------------------------------------------------------
sub BuildProject($$)
{
my ($project_path, $target_name) = @_;
BuildOneProjectWithOutput($project_path, $target_name, $target_name, 0, 0, 0);
}
#//--------------------------------------------------------------------------------------------------
#// Identical to BuildProject but clobbers the project before building it.
#//--------------------------------------------------------------------------------------------------
sub BuildProjectClean($$)
{
my ($project_path, $target_name) = @_;
my ($save_clobber_flag) = $main::CLOBBER_PROJECTS;
$main::CLOBBER_PROJECTS = 1;
BuildOneProjectWithOutput($project_path, $target_name, $target_name, 0, 0, 0);
$main::CLOBBER_PROJECTS = $save_clobber_flag;
}
#//--------------------------------------------------------------------------------------------------
#// Make resource aliases for one directory
#//--------------------------------------------------------------------------------------------------
sub BuildFolderResourceAliases($$)
{
my($src_dir, $dest_dir) = @_;
# get a list of all the resource files
opendir(SRCDIR, $src_dir) || die("can't open $src_dir");
my(@resource_files) = readdir(SRCDIR);
closedir(SRCDIR);
# make aliases for each one into the dest directory
print("Placing aliases to all files from $src_dir in $dest_dir\n");
for ( @resource_files )
{
next if $_ eq "CVS";
#print(" Doing $_\n");
if (-l $src_dir.$_)
{
print(" $_ is an alias\n");
next;
}
my($file_name) = $src_dir . $_;
MakeAlias($file_name, $dest_dir);
}
}
#//--------------------------------------------------------------------------------------------------
#// DelayFor
#//
#// Delay for the given number of seconds, allowing the script to be cancelled
#//--------------------------------------------------------------------------------------------------
sub DelayFor($)
{
my($delay_secs) = @_;
STDOUT->autoflush(1);
my($end_time) = time() + $delay_secs;
my($last_time) = 0;
my($cur_time) = time();
while ($cur_time < $end_time)
{
$cur_time = time();
if ($cur_time > $last_time)
{
print ".";
$last_time = $cur_time;
}
WaitNextEvent();
}
print "\n";
STDOUT->autoflush(0);
}
#//--------------------------------------------------------------------------------------------------
#// TimeStart
#//--------------------------------------------------------------------------------------------------
sub TimeStart()
{
return time();
}
#//--------------------------------------------------------------------------------------------------
#// TimeEnd
#//--------------------------------------------------------------------------------------------------
sub TimeEnd($$)
{
use integer;
my($start_time, $operation_name) = @_;
my($end_time) = time();
my($tot_sec) = $end_time - $start_time;
my($seconds) = $tot_sec;
my($hours) = $seconds / (60 * 60);
$seconds -= $hours * (60 * 60);
my($minutes) = $seconds / 60;
$seconds -= $minutes * 60;
print "$operation_name took $hours hours $minutes minutes and $seconds seconds\n";
}
#//--------------------------------------------------------------------------------------------------
#// Remove all files from a tree, leaving directories intact (except "CVS").
#//--------------------------------------------------------------------------------------------------
sub EmptyTree($)
{
my ($root) = @_;
#print "EmptyTree($root)\n";
opendir(DIR, $root);
my $sub;
foreach $sub (readdir(DIR))
{
my $fullpathname = $root.$sub; # -f, -d only work on full paths
# Don't call empty tree for the alias of a directory.
# -d returns true for the alias of a directory, false for a broken alias)
if (-d $fullpathname)
{
if (-l $fullpathname) # delete aliases
{
unlink $fullpathname;
next;
}
EmptyTree($fullpathname.":");
if ($sub eq "CVS")
{
#print "rmdir $fullpathname\n";
rmdir $fullpathname;
}
}
else
{
unless (unlink $fullpathname) { die "Failed to delete $fullpathname\n"; }
}
}
closedir(DIR);
}
#//--------------------------------------------------------------------------------------------------
#// Recurse through a directory hierarchy, looking for MANIFEST files.
#// Currently unused.
#//--------------------------------------------------------------------------------------------------
sub ScanForManifestFiles($$$$)
{
my($dir, $theme_root, $theme_name, $dist_dir) = @_;
opendir(DIR, $dir) or die "Cannot open dir $dir\n";
my @files = readdir(DIR);
closedir DIR;
my $file;
foreach $file (@files)
{
my $filepath = $dir.":".$file;
if (-d $filepath)
{
# print "Looking for MANIFEST files in $filepath\n";
ScanForManifestFiles($filepath, $theme_root, $theme_name, $dist_dir);
}
elsif ($file eq "MANIFEST")
{
# print "Doing manifest file $filepath\n";
# Get the dest path from the first line of the file
open(MANIFEST, $filepath) || die "Could not open file $file";
# Read in the path if available
my($dest_line) = <MANIFEST>;
chomp $dest_line;
close MANIFEST;
$dest_line =~ s|^#!dest[\t ]+|| || die "No destination line found in $filepath\n";
my($dest_path) = $dist_dir."chrome:skins:$theme_name:$dest_line";
# print " Destination is $dest_path\n";
InstallResources($filepath, "$dest_path", 0);
}
}
}
#-----------------------------------------------
# SetupBuildLog
#-----------------------------------------------
sub SetupBuildLog($$)
{
my($logfile_path, $timestamped_log) = @_;
my($logdir) = "";
my($logfile) = $logfile_path;
if ($logfile_path =~ /(.+?:)([^:]+)$/) # ? for non-greedy match
{
$logdir = $1;
$logfile = $2;
mkpath($logdir);
}
if ($timestamped_log)
{
#Use time-stamped names so that you don't clobber your previous log file!
my $now = localtime();
while ($now =~ s@:@.@) {} # replace all colons by periods
OpenErrorLog("${logdir}${now}");
}
else
{
OpenErrorLog("${logdir}${logfile}");
}
}
#-----------------------------------------------
# SetBuildNumber
#-----------------------------------------------
sub SetBuildNumber($$)
{
my($build_num_file, $files_to_touch) = @_;
# Make sure we add the config dir to search, to pick up mozBDate.pm
# Need to do this dynamically, because this module can be used before
# mozilla/config has been checked out.
my ($inc_path) = $0; # $0 is the path to the parent script
$inc_path =~ s/:build:mac:build_scripts:.+$/:config/;
push(@INC, $inc_path);
require mozBDate;
mozBDate::UpdateBuildNumber($build_num_file, $main::MOZILLA_OFFICIAL);
my($file);
foreach $file (@$files_to_touch)
{
print "Writing build number to $file from ${file}.in\n";
mozBDate::SubstituteBuildNumber($file, $build_num_file, "${file}.in");
}
}
#-----------------------------------------------
# SetTimeBomb
#-----------------------------------------------
sub SetTimeBomb($$)
{
my ($warn_days, $bomb_days) = @_;
system("perl :mozilla:config:mac-set-timebomb.pl $warn_days $bomb_days");
}
#//--------------------------------------------------------------------------------------------------
#// Regenerate a configuration header file if necessary
#//--------------------------------------------------------------------------------------------------
sub UpdateConfigHeader($)
{
my($config_path) = @_;
my($config, $oldconfig) = ("", "");
my($define, $definevalue, $defines);
my($k, $l,);
foreach $k (keys(%main::options))
{
if ($main::options{$k})
{
foreach $l (keys(%{$main::optiondefines{$k}}))
{
$my::defines{$l} = $main::optiondefines{$k}{$l};
print "Setting up my::defines{$l}\n";
}
}
}
my $config_headerfile = current_directory().$config_path;
if (-e $config_headerfile)
{
open(CONFIG_HEADER, "< $config_headerfile") || die "$config_headerfile: $!\n";
my($line);
while ($line = <CONFIG_HEADER>)
{
if ($line =~ m/#define\s+([^\s]*)\s+([^\s]*)\s*\n/)
{
$define = $1;
$definevalue = $2;
#canonicalize so that whitespace changes are not significant
my $canon_value = "#define " . $define . " " . $definevalue . "\n";
$oldconfig .= $canon_value;
if (exists ($my::defines{$define}) and ($my::defines{$define} == $definevalue))
{
delete $my::defines{$define};
$config .= $canon_value;
}
}
}
close(CONFIG_HEADER);
}
if (%my::defines)
{
foreach $k (keys(%my::defines))
{
$config .= "#define " . $k . " " . $my::defines{$k} . "\n";
}
}
my $file_name = basename($config_headerfile);
if (($config ne $oldconfig) || (!-e $config_headerfile))
{
printf("Writing new configuration header $file_name\n");
open(CONFIG_HEADER, "> $config_headerfile") || die "$config_headerfile: $!\n";
print(CONFIG_HEADER "/* This file is auto-generated based on build options. Do not edit. */\n");
print CONFIG_HEADER ($config);
close(CONFIG_HEADER);
MacPerl::SetFileInfo("CWIE", "TEXT", $config_headerfile);
}
else
{
printf("Configuration header $file_name is up-to-date\n");
}
}
1;

View File

@@ -0,0 +1,660 @@
#!perl
package Moz::CodeWarriorLib;
=pod
=head1 NAME
CodeWarriorLib - supply interface to CodeWarrior
=head1 SYNOPSIS
#!perl
use CodeWarriorLib;
CodeWarriorLib::activate();
$had_errors = CodeWarriorLib::build_project(
$project_path, $target_name, $recent_errors_file, $clean_build
);
=head1 DESCRIPTION
Replaces the AppleScript library I<CodeWarriorLib>.
=over 4
=cut
use strict;
use Cwd;
use File::Basename;
use Mac::Types;
use Mac::Events;
use Mac::AppleEvents;
use Mac::AppleEvents::Simple;
use Mac::Processes;
use Mac::MoreFiles;
use Mac::StandardFile;
use vars qw($VERSION);
$VERSION = '1.02';
my($app) = 'CWIE';
my($scriptDir) = cwd(); # could use $0 for this
my($ide_loc_file) = "";
# 0 == don't switch CWIE to front app in do_event(), 1 == do switch
# note: activate() still switches when called
$Mac::AppleEvents::Simple::SWITCH = 0;
# $Mac::AppleEvents::Simple::WARN = 1;
# supply your own path to the source here
#_test('PowerPudgeIV:mozilla:mozilla:');
# If you want to understand the gobbldeygook that's used to build Apple Events,
# you should start by reading the AEGizmos documentation.
=pod
=item _get_project($full_path)
A private routine returning a reference to the open project with the given name,
or else the empty string (when that project is not open)
full_path is a string identifying the project to be built and is of the form,
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
=cut
sub _get_project ($) {
my(
$full_path, $candidate_projects
) = @_;
$candidate_projects = _doc_named(basename($full_path, '*'));
if ($candidate_projects) {
my($cps) = _get_dobj($candidate_projects);
my($num) = AECountItems($cps);
if ($num) { # is a list
foreach (1 .. AECountItems($cps)) {
my($cp) = AEGetNthDesc($cps, $_);
if (lc $full_path eq lc _full_path($cp)) {
return($cp);
}
}
} else { # is only one, not a list
if (lc $full_path eq lc _full_path($cps)) {
return($cps);
}
}
}
return;
}
=pod
=item build_project
Build a selected target of a project, saving any errors to a file, if supplied.
full_path is a string identifying the project to be built and is of the form,
e.g., "HD:ProjectFolder:MyProject.mcp". It must be supplied.
If target_name is the empty string, the current target of the selected project
will be built, else, target_name should be a string matching a target name in
the selected project.
If error_path is the empty string, errors will not be saved to a file,
else, error_path should be the full path of a file to save error messages into.
=cut
$CodeWarriorLib::CLOSE_PROJECTS_FIRST = 0; # If true we close then make. If false, make then close.
my $last_project_built = "";
my $last_project_was_closed = 0;
sub build_project ($;$$$) {
my(
$full_path, $target_name, $error_path,
$remove_object, $p, $project_was_closed, $had_errors
) = @_;
_close_errors_window();
if ($CodeWarriorLib::CLOSE_PROJECTS_FIRST && ($last_project_built ne $full_path))
{
# If we're in "close first" mode, we don't close if the current project
# is the same as the previous one.
if ($last_project_was_closed) {
$p = _get_project($last_project_built);
_close($p);
}
$last_project_built = $full_path;
$last_project_was_closed = 0; # now refers to the new project
}
$project_was_closed = 0;
while (1) {
$p = _get_project($full_path);
if (!$p) {
if ($project_was_closed) {
print "### Error - request for project document failed after opening\n";
die "### possibly CW Pro 4 bug: be sure to close your Find window\n";
}
$project_was_closed = 1;
$last_project_was_closed = 1;
_open_file($full_path);
} else {
last;
}
}
$had_errors = 0;
if ($target_name eq '') {
if ($remove_object) {_remove_object($p)}
_build($p);
} else {
if ($remove_object) {_remove_object($p, $target_name)}
_build($p, $target_name);
}
if ($error_path ne '') {
_save_errors_window($error_path);
}
$had_errors = _close_errors_window();
if (!$CodeWarriorLib::CLOSE_PROJECTS_FIRST)
{
if ($project_was_closed) {
$p = _get_project($full_path);
_close($p);
}
}
return($had_errors);
}
=pod
=item appIsRunning()
=cut
sub _appIsRunning($)
{
my ($appSignature) = @_;
my ($psi);
my ($found) = 0;
my ($appPSN);
foreach $psi (values(%Process))
{
if ($psi->processSignature() eq $appSignature)
{
$appPSN = $psi->processNumber();
$found = 1;
last;
}
}
return $found;
}
=pod
=item appIsFrontmost()
=cut
sub _appIsFrontmost($)
{
my ($appSignature) = @_;
my ($psi);
my ($found) = 0;
my ($appPSN);
foreach $psi (values(%Process))
{
if ($psi->processSignature() eq $appSignature)
{
$appPSN = $psi->processNumber();
$found = 1;
last;
}
}
return (GetFrontProcess() == $appPSN);
}
=pod
=item activate()
Launches CodeWarrior and brings it to the front.
Once found, path will be saved in $idepath_file for future reference.
Edit or delete this file to change the location of the IDE. If app is
moved, C<activate()> will prompt for a new location.
First looks for an open CodeWarrior app. Second, tries to open previously
saved location in ':idepath.txt'. Third, tries to find it and allow user
to choose it with Navigation Services (if present). Fourth, uses good old
GUSI routines built-in to MacPerl for a Choose Directory dialog box.
=cut
sub activate ($) {
$ide_loc_file = $_[0]; # save in global
my($filepath, $appath, $psi) = ($ide_loc_file);
foreach $psi (values(%Process)) {
if ($psi->processSignature() eq $app) {
$appath = $psi->processAppSpec();
_save_appath($filepath, $appath);
last;
}
}
if (!$appath || !-x $appath) {
$appath = _read_appath($filepath);
}
if (!$appath || ! -x $appath)
{
# make sure that MacPerl is a front process
#ActivateApplication('McPL');
MacPerl::Answer("Please locate the CodeWarrior application.", "OK");
# prompt user for the file name, and store it
my $macFile = StandardGetFile( 0, "APPL");
if ( $macFile->sfGood() )
{
$appath = $macFile->sfFile();
}
else
{
die "Operation canceled\n";
}
# if (eval {require Mac::Navigation}) {
# my($options, $nav);
# Mac::Navigation->import();
# $options = NavGetDefaultDialogOptions();
# $options->message('Where is CodeWarrior IDE?');
# $options->windowTitle('Find CodeWarrior IDE');
# $nav = NavChooseObject($Application{$app}, $options);
# die "CodeWarrior IDE not found.\n" if (!$nav || !$nav->file(1));
# $appath = $nav->file(1);
# } else {
# local(*D);
# my $cwd = `pwd`;
# $appath = _get_folder(
# 'Where is the CW IDE folder?',
# dirname($Application{$app})
# );
# die "CodeWarrior IDE not found.\n" if !$appath;
# opendir(D, $appath) or die $!;
# chdir($appath);
# foreach my $file (sort readdir (D)) {
# my(@app) = MacPerl::GetFileInfo($file);
# if ($app[0] && $app[1] &&
# $app[1] eq 'APPL' && $app[0] eq $app
# ) {
# $appath .= $file;
# last;
# }
# }
# chomp($cwd);
# chdir($cwd);
# }
_save_appath($filepath, $appath);
}
my($lp) = LaunchParam->new(
launchAppSpec => $appath,
launchControlFlags => launchContinue() + launchNoFileFlags()
);
unless (LaunchApplication($lp)) {
unlink($filepath);
die $^E;
}
# wait for CodeWarrior to show up in the list of processes
while (!_appIsRunning('CWIE'))
{
WaitNextEvent();
}
# wait for CodeWarrior to come to the front
while (!_appIsFrontmost('CWIE'))
{
WaitNextEvent();
}
}
=pod
=item getCodeWarriorPath()
Returns a file path relative to the CodeWarrior folder
=cut
sub getCodeWarriorPath($)
{
my($subfolder)=@_;
my($app_path) = _read_appath($ide_loc_file);
if ($app_path eq "") { die "Error: Failed to get CodeWarrior IDE path\n"; }
my($codewarrior_root) = $app_path;
$codewarrior_root =~ s/[^:]*$//;
return ($codewarrior_root . $subfolder);
}
=pod
=item getCodeWarriorIDEName()
Returns the name of the CodeWarrior application
=cut
sub getCodeWarriorIDEName()
{
my($subfolder)=@_;
my($app_path) = _read_appath($ide_loc_file);
if ($app_path eq "") { die "Error: Failed to get CodeWarrior IDE path\n"; }
my(@codewarrior_path) = split(/:/, $app_path);
return pop(@codewarrior_path);
}
=pod
=item quit()
Quits CodeWarrior.
=cut
sub quit() {
$last_project_built = "";
$last_project_was_closed = 0;
my($evt) = do_event(qw/aevt quit/, $app);
}
sub _build ($;$) {
my($evt);
if ($_[1]) {
my($prm) =
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
AEPrint($_[0]) . '}';
$evt = do_event(qw/CWIE MAKE/, $app, $prm, $_[1]);
} else {
my($prm) = q"'----':" . AEPrint($_[0]);
$evt = do_event(qw/CWIE MAKE/, $app, $prm);
}
}
sub _remove_object ($;$) {
my($evt);
if ($_[1]) {
my($prm) =
q"'----':obj {form:name, want:type(TRGT), seld:TEXT(@), from:" .
AEPrint($_[0]) . '}';
$evt = do_event(qw/CWIE RMOB/, $app, $prm, $_[1]);
} else {
my($prm) = q"'----':" . AEPrint($_[0]);
$evt = do_event(qw/CWIE RMOB/, $app, $prm);
}
}
sub _open_file ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), " .
q"seld:TEXT(@), from:'null'()}";
do_event(qw/aevt odoc/, $app, $prm, $_[0]);
}
sub import_project ($$) {
my($xml_file, $project_path) = @_;
my($prm) = "kocl:type(PRJD), rtyp:TEXT(@), data:TEXT(@), &subj:'null'()";
my($evt) = do_event(qw/core crel/, $app, $prm, $project_path, $xml_file);
my($result) = _get_event_result($evt);
if ($result eq "") {
_close(_get_project($project_path));
}
return $result;
}
sub export_project ($$) {
my($project_path, $xml_out_path) = @_;
my($p, $project_was_closed);
$project_was_closed = 0;
while (1) {
$p = _get_project($project_path);
if (!$p) {
if ($project_was_closed) {
print "### Error - request for project document failed after opening\n";
die "### possibly CW bug: be sure to close your Find window\n";
}
$project_was_closed = 1;
_open_file($project_path);
} else {
last;
}
}
# avoid problems with the Project Messages window
_close_named_window("Project Messages");
my($prm) =
q"'----':obj {form:indx, want:type(PRJD), " .
q"seld:1, from:'null'()}, kfil:TEXT(@)";
my($evt) = do_event(qw/CWIE EXPT/, $app, $prm, $xml_out_path);
if ($project_was_closed) {
$p = _get_project($project_path);
_close($p);
}
return _get_event_result($evt);
}
sub _doc_named ($) {
my($prm) =
q"'----':obj {form:test, want:type(docu), from:'null'(), " .
q"seld:cmpd{relo:'= ', 'obj1':obj {form:prop, want:type" .
q"(prop), seld:type(pnam), from:'exmn'()}, 'obj2':TEXT(@)}}";
my($evt) = do_event(qw/core getd/, $app, $prm, $_[0]);
return($evt->{REPLY} eq 'aevt\ansr{}' ? undef : $evt);
}
sub _full_path ($) {
my($obj) = $_[0];
my($prm) =
q"'----':obj {form:prop, want:type(prop), seld:type(FILE), " .
q"from:" . AEPrint($_[0]) . q"}, rtyp:type(TEXT)";
my($evt) = do_event(qw/core getd/, $app, $prm);
return MacPerl::MakePath(
MacUnpack('fss ', (
AEGetParamDesc($evt->{REP}, keyDirectObject()))->data()->get()
)
);
}
sub _save_errors_window ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}";
do_event(qw/MMPR SvMs/, $app, $prm, $_[0]);
}
sub _close_errors_window () {
return _close_named_window('Errors & Warnings');
}
sub _close_named_window ($) {
my($window_name) = @_;
my($prm) =
q"'----':obj {form:name, want:type(cwin), " .
q"seld:TEXT(@), from:'null'()}";
my($evt) = do_event(qw/core clos/, $app, $prm, $window_name);
return($evt->{REPLY} eq 'aevt\ansr{}' ? 1 : 0);
}
sub _close () {
my($prm) = q"'----':" . AEPrint($_[0]);
do_event(qw/core clos/, $app, $prm);
}
sub _get_dobj ($) {
return(AEGetParamDesc($_[0]->{REP}, keyDirectObject()));
}
sub _get_folder ($$) {
require 'GUSI.ph';
my($prompt, $default) = @_;
MacPerl::Choose(
GUSI::AF_FILE(), 0, $prompt, '',
GUSI::CHOOSE_DIR() + ($default ? &GUSI::CHOOSE_DEFAULT : 0),
$default
);
}
sub _get_event_result ($)
{
my($evt) = @_;
my($result) = $evt->{ERROR};
if ( $result eq "" && $evt->{ERRNO} != 0 )
{
$result = "unknown error (".$evt->{ERRNO}.")";
}
return $result;
}
sub _save_appath ($$) {
my($cwd) = cwd(); # remember the current working dir
chdir($scriptDir); # change dir to the script dir
local(*F);
open(F, '>' . $_[0]) or die $!;
print F $_[1];
close(F);
chdir($cwd); # restore the cwd
}
sub _read_appath ($) {
my($filepath) = @_;
my($cwd) = cwd(); # remember the current working dir
chdir($scriptDir); # change dir to the script dir
if (! -e $filepath) {
return "";
}
local(*F);
open(F, $filepath);
my($appath) = <F>;
close(F);
chdir($cwd); # restore the cwd
return($appath);
}
sub _test ($) {
activate($ide_loc_file);
my($path) = $_[0];
build_project(
"${path}modules:xml:macbuild:XML.mcp", '',
"${path}build:mac:Mozilla.BuildLog.part"
);
}
1;
=pod
=back
=head1 HISTORY
=over 4
=item v1.02, September 23, 1998
Made fixes in finding and saving location of CodeWarrior IDE.
=item v1.01, June 1, 1998
Made fixes to C<chdir()> in C<activate()>, made C<activate()> more robust
in finding CodeWarrior IDE, added global variable to NOT switch to IDE
for each sent event, a few other fixes.
=item v1.00, May 30, 1998
First shot
=back
=head1 AUTHORS
Chris Nandor F<E<lt>pudge@pobox.comE<gt>>, and the author of the
original I<CodeWarriorLib>, Scott Collins F<E<lt>scc@netscape.comE<gt>>.
=head1 SEE ALSO
BuildProject L<Moz>.
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public
License Version 1.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 Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
=cut

View File

@@ -0,0 +1,573 @@
#!perl -w
package Moz::Jar;
#
# Module for creating jar files, either using a jar manifest, or
# simply jarring up folders on disk.
#
require 5.004;
require Exporter;
use strict;
use Archive::Zip;
use File::Path;
use Mac::Files;
use Moz::Moz;
use vars qw( @ISA @EXPORT );
@ISA = qw(Exporter);
@EXPORT = qw(
CreateJarFileFromDirectory
CreateJarFromManifest
WriteOutJarFiles
SanityCheckJarOptions
);
#-------------------------------------------------------------------------------
# Add the contents of a directory to the zip file
#
#-------------------------------------------------------------------------------
sub _addDirToJar($$$$)
{
my($dir, $jar_root, $zip, $compress) = @_;
opendir(DIR, $dir) or die "Error: Cannot open dir $dir\n";
my @files = readdir(DIR);
closedir DIR;
my $unix_jar_root = $jar_root;
$unix_jar_root =~ s|:|/|g; # colon to slash conversion
my $file;
foreach $file (@files)
{
my $filepath = $dir.":".$file;
if (-d $filepath)
{
print "Adding files to jar from $filepath\n";
_addDirToJar($filepath, $jar_root, $zip, $compress);
}
else
{
my $member = Archive::Zip::Member->newFromFile($filepath);
die "Error: Failed to create zip file member $filepath\n" unless $member;
my $unixName = $filepath;
$unixName =~ s|:|/|g; # colon to slash conversion
$unixName =~ s|^$unix_jar_root||; # relativise
$member->fileName($unixName);
# print "Adding $file as $unixName\n";
if ($compress) {
$member->desiredCompressionMethod(Archive::Zip::COMPRESSION_DEFLATED);
} else {
$member->desiredCompressionMethod(Archive::Zip::COMPRESSION_STORED);
}
$zip->addMember($member);
}
}
}
#-------------------------------------------------------------------------------
# Add the contents of a directory to the zip file
#
#-------------------------------------------------------------------------------
sub CreateJarFileFromDirectory($$$)
{
my($srcdir, $jarpath, $compress) = @_;
my $zip = Archive::Zip->new();
_addDirToJar($srcdir, $srcdir, $zip, $compress);
print "Saving zip file...\n";
my $status = $zip->writeToFileNamed($jarpath);
if ($status == 0) {
print "Zipping completed successfully\n";
} else {
print "Error saving zip file\n";
}
# set the file type/creator to something reasonable
MacPerl::SetFileInfo("ZIP ", "ZIP ", $jarpath);
}
#-------------------------------------------------------------------------------
# printZipContents
#
#-------------------------------------------------------------------------------
sub printZipContents($)
{
my($zip) = @_;
my(@members) = $zip->memberNames();
print "Zip contains:\n";
my($member);
foreach $member (@members)
{
print " $member\n";
}
}
#-------------------------------------------------------------------------------
# safeSaveJarFile
#
# Archive::Zip has a problem where you cannot save a zip file on top of
# an existing zip file that it has open, because it holds references
# into that zip. So we have to save to a temp file, then do a swap.
#
# Note that the zip will become invalid after this operation.
# If you want to do further operations on it, you'll have to reread it.
#-------------------------------------------------------------------------------
sub safeSaveJarFile($$)
{
my($zip, $full_dest_path) = @_;
my($temp_file_name) = $full_dest_path."_temp";
($zip->writeToFileNamed($temp_file_name) == Archive::Zip::AZ_OK) || die "Error: died writing jar to temp file $temp_file_name\n";
unlink $full_dest_path;
(rename $temp_file_name, $full_dest_path) || die "Error: Failed to rename $temp_file_name\n";
MacPerl::SetFileInfo("ZIP ", "ZIP ", $full_dest_path);
}
#-------------------------------------------------------------------------------
# addToJarFile
#
# Add a file to a jar file
#
# Parameters:
# 1. Jar ID. Unix path of jar file inside chrome.
# 2. Abs path to jar.mn file (i.e. source) (mac breaks)
# 3. File source, relative to jar.mn path (mac breaks)
# 4. Abs path to the resulting .jar file (mac breaks)
# 5. Relative file path within the jar (unix breaks)
# 6. Reference to hash of jar files
#
#-------------------------------------------------------------------------------
sub addToJarFile($$$$$$$)
{
my($jar_id, $jar_man_dir, $file_src, $jar_path, $file_jar_path, $override, $jars) = @_;
# print "addToJarFile with:\n $jar_man_dir\n $file_src\n $jar_path\n $file_jar_path\n";
unless ($jar_path =~ m/(.+:)([^:]+)$/) { die "Error: Bad jar path $jar_path\n"; }
my($target_dir) = $1;
my($jar_name) = $2;
$target_dir =~ s/[^:]+$//;
# print "¥ $target_dir $jar_name\n";
# find the source file
my($src) = $jar_man_dir.":".$file_src;
if ((!-e $src) && ($file_src =~ m/.+:([^:]+)$/)) # src does not exist. Fall back to looking for src in jar.mn dir
{
$file_src = $1;
$src = $jar_man_dir.":".$file_src;
if (!-e $src) {
die "Error: Can't find chrome file $src\n";
}
}
if ($main::options{chrome_jars})
{
my($zip) = $jars->{$jar_id};
unless ($zip) { die "Error: Can't find Zip entry for $jar_id\n"; }
# print "Adding $file_src to jar file $jar_path at $file_jar_path\n";
my($member) = Archive::Zip::Member->newFromFile($src);
unless ($member) { die "Error: Failed to create zip file member $src\n"; }
$member->fileName($file_jar_path);
my($compress) = 1;
if ($compress) {
$member->desiredCompressionMethod(Archive::Zip::COMPRESSION_DEFLATED);
$member->desiredCompressionLevel(Archive::Zip::COMPRESSION_LEVEL_DEFAULT); # defaults to 6
} else {
$member->desiredCompressionMethod(Archive::Zip::COMPRESSION_STORED);
}
my($old_member) = $zip->memberNamed($file_jar_path);
if ($override)
{
if ($old_member)
{
# print "Overriding $file_jar_path in jar file $jar_id\n";
# need to compare mod dates or use the + here
$zip->removeMember($old_member);
}
$zip->addMember($member);
}
else
{
if ($old_member)
{
#compare dates here
my($member_moddate) = $old_member->lastModTime();
my($file_moddate) = GetFileModDate($src);
if ($file_moddate > $member_moddate)
{
print "Updating older file $file_jar_path in $jar_id\n";
$zip->removeMember($old_member);
$zip->addMember($member);
}
else
{
print "File $file_jar_path in $jar_id is more recent. Not updating.\n";
}
}
else
{
$zip->addMember($member);
}
}
}
if ($main::options{chrome_files}) # we install raw files too
{
my($rel_path) = $file_jar_path;
$rel_path =~ s|/|:|g; # slash to colons
my($dir_name) = $jar_name;
$dir_name =~ s/\.jar$//;
my($dst) = $target_dir.$dir_name.":".$rel_path;
# print "Aliassing $src\n to\n$dst\n";
if ($override)
{
unlink $dst;
MakeAlias($src, $dst); # don't check errors, otherwise we fail on replacement
}
else
{
if (-e $dst)
{
#compare dates here
my($dst_moddate) = GetFileModDate($dst);
my($file_moddate) = GetFileModDate($src);
if ($file_moddate > $dst_moddate)
{
print "Updating older file $rel_path in $dir_name\n";
unlink $dst;
MakeAlias($src, $dst);
}
else
{
print "File $file_jar_path in $jar_id is more recent. Not updating.\n";
}
}
else
{
MakeAlias($src, $dst);
}
}
}
}
#-------------------------------------------------------------------------------
# setupJarFile
#
# setup a zip for writing
#-------------------------------------------------------------------------------
sub setupJarFile($$$)
{
my($jar_id, $dest_path, $jar_hash) = @_;
# print "Creating jar file $jar_id at $jar_path\n";
my($jar_file) = $jar_id;
$jar_file =~ s|/|:|g; # slash to colons
my($full_jar_path) = full_path_to($dest_path.":".$jar_file);
if ($main::options{chrome_jars})
{
my($zip) = $jar_hash->{$jar_id};
if (!$zip) # if we haven't made it already, do so
{
my($zip) = Archive::Zip->new();
$jar_hash->{$jar_id} = $zip;
# does the jar file exist already? If so, read it in
if (-e $full_jar_path)
{
print "Reading in jar file $jar_id\n";
if ($zip->read($full_jar_path) != Archive::Zip::AZ_OK) { die "Error: Failed to re-read $full_jar_path\n"; }
# printZipContents($zip);
}
}
}
else
{
# installing files.
# nothing to do. MakeAlias creates dirs as needed.
# add this jar to the list
$jar_hash->{$jar_id} = 1;
}
}
#-------------------------------------------------------------------------------
# closeJarFile
#
# We're done with this jar file _for this jar.mn_. We may add more entries
# to it later, so keep it open in the hash.
#-------------------------------------------------------------------------------
sub closeJarFile($$)
{
my($jar_path, $jar_hash) = @_;
# print "Closing jar file $jar_path\n";
if ($main::options{chrome_jars})
{
}
else
{
# installing files.
# nothing to do
}
}
#-------------------------------------------------------------------------------
# WriteOutJarFiles
#
# Now we dump out the jars
#-------------------------------------------------------------------------------
sub WriteOutJarFiles($$)
{
my($chrome_dir, $jars) = @_;
unless ($main::options{chrome_jars}) { return; }
my($full_chrome_path) = full_path_to($chrome_dir);
my($key);
foreach $key (keys %$jars)
{
my($zip) = $jars->{$key};
my($rel_path) = $key;
$rel_path =~ s/\//:/g;
my($output_path) = $full_chrome_path.":".$rel_path;
print "Writing zip file $key to $output_path\n";
# ensure the target dirs exist
my($path) = $output_path;
$path =~ s/[^:]+$//;
mkpath($path);
# unlink $output_path; # remove any existing jar
safeSaveJarFile($zip, $output_path);
# $zip is invalid after this operation, so nuke it here
$jars->{$key} = 0;
}
}
#-------------------------------------------------------------------------------
# registerChromePackage
#
# Enter a chrome package into the installed-chrome.txt file
#-------------------------------------------------------------------------------
sub registerChromePackage($$$$$$)
{
my($jar_file, $file_path, $chrome_dir, $jar_hash, $chrome_type, $pkg_name) = @_;
my($manifest_subdir) = $jar_file;
$manifest_subdir =~ s/:/\//g;
my($chrome_entry);
if ($main::options{use_jars}) {
$chrome_entry = "$chrome_type,install,url,jar:resource:/chrome/$manifest_subdir!/$chrome_type/$pkg_name";
} else {
$manifest_subdir =~ s/\.jar$//;
$chrome_entry = "$chrome_type,install,url,resource:/chrome/$manifest_subdir/$chrome_type/$pkg_name";
}
# print "Entering $chrome_entry in installed-chrome.txt\n";
# ensure chrome_dir exists
mkpath($chrome_dir);
my($inst_chrome) = ${chrome_dir}.":installed-chrome.txt";
if (open(CHROMEFILE, "<$inst_chrome")) {
while (<CHROMEFILE>) {
chomp;
if ($_ eq $chrome_entry) {
# $chrome_entry already appears in installed-chrome.txt file
# just update the mod date
my $now = time;
utime($now, $now, $inst_chrome) || die "Error: Couldn't touch $inst_chrome";
print "+++ updating chrome $inst_chrome\n+++\t\t$chrome_entry\n";
close(CHROMEFILE) || die "Error: can't close $inst_chrome: $!";
return 0;
}
}
close(CHROMEFILE) || die "Error: can't close $inst_chrome: $!";
}
open(CHROMEFILE, ">>${inst_chrome}") || die "Error: Failed to open $inst_chrome\n";
print(CHROMEFILE "${chrome_entry}\n");
close(CHROMEFILE) || die "Error: Failed to close $inst_chrome\n";
print "+++ adding chrome $inst_chrome\n+++\t\t$chrome_entry\n";
}
#-------------------------------------------------------------------------------
# Create or add to a jar file from a jar.mn file.
# Both arguments are relative to the mozilla root dir.
#
#
#-------------------------------------------------------------------------------
sub CreateJarFromManifest($$$)
{
my($jar_man_path, $dest_path, $jars) = @_;
if ($main::options{chrome_jars}) {
print "Jarring from $jar_man_path\n";
}
if ($main::options{chrome_files}) {
print "Installing files from $jar_man_path\n";
}
$jar_man_path = full_path_to($jar_man_path);
$dest_path = full_path_to($dest_path);
# if the jars hash is empty, nuke installed-chrome.txt
if (! scalar(%$jars))
{
print "Nuking installed-chrome.txt\n";
my($installed_chrome) = $dest_path.":installed-chrome.txt";
# unlink $installed_chrome;
}
my $jar_man_dir = "";
my $jar_man_file = "";
if ($jar_man_path =~ /(.+):([^:]+)$/)
{
$jar_man_dir = $1; # no trailing :
$jar_man_file = $2;
}
# Keep a hash of jar files, keyed on relative jar path (e.g. "packages/core.jar")
# Entries are open Archive::Zips (if zipping), and installed-chrome entries.
my($jar_id) = ""; # Current foo/bar.jar from jar.mn file
my($jar_file) = ""; # relative path to jar file (from $dest_path), with mac separators
my($full_jar_path);
open(FILE, "<$jar_man_path") || die "Error: could not open \"$jar_man_path\": $!";
while (<FILE>)
{
my($line) = $_;
chomp($line);
# print "$line\n";
if ($line =~ /^\s*\#.*$/) { # skip comments
next;
}
if ($line =~/^([\w\d.\-\_\\\/]+)\:\s*$/) # line start jar file entries
{
$jar_id = $1;
$jar_file = $jar_id;
$jar_file =~ s|/|:|g; # slash to colons
$full_jar_path = $dest_path.":".$jar_file;
setupJarFile($jar_id, $dest_path, $jars);
}
elsif ($line =~ /^(\+?)\s+([\w\d.\-\_\\\/]+)\s*(\([\w\d.\-\_\\\/]+\))?$\s*/) # jar file entry
{
my($override) = ($1 eq "+");
my($file_dest) = $2;
my($file_src) = $3;
if ($file_src) {
$file_src = substr($file_src, 1, -1); #strip the ()
} else {
$file_src = $file_dest;
}
$file_src =~ s|/|:|g;
if ($jar_file ne "") # if jar is open, add to jar
{
if ($file_dest =~ /([\w\d.\-\_]+)\/([\w\d.\-\_\\\/]+)contents.rdf/)
{
my $chrome_type = $1;
my $pkg_name = $2;
registerChromePackage($jar_file, $file_dest, $dest_path, $jars, $chrome_type, $pkg_name);
}
addToJarFile($jar_id, $jar_man_dir, $file_src, $full_jar_path, $file_dest, $override, $jars);
}
else
{
die "Error: bad jar.mn format at $line\n";
}
}
elsif ($line =~ /^\s*$/ ) # blank line
{
if ($jar_file ne "") #if a jar file is open, close it
{
closeJarFile($full_jar_path, $jars);
$jar_file = "";
$full_jar_path = "";
}
}
}
close(FILE);
if ($jar_file ne "") #if a jar file is open, close it
{
closeJarFile($full_jar_path, $jars);
}
}
1;

View File

@@ -0,0 +1,228 @@
#!perl -w
package Moz::MacCVS;
# package Mac::Apps::MacCVS; this should really be the name of the package
# but due to our directory hierarchy in mozilla, I am not doing it
require 5.004;
require Exporter;
use strict;
use Exporter;
use vars qw($VERSION @ISA @EXPORT);
use Cwd;
use File::Basename;
use Mac::StandardFile;
use Mac::AppleEvents;
use Mac::AppleEvents::Simple;
@ISA = qw(Exporter);
@EXPORT = qw(new describe checkout update);
$VERSION = "1.00";
# If you want to understand the gobbldeygook that's used to build Apple Events,
# you should start by reading the AEGizmos documentation.
# Architecture:
# cvs session object:
# name - session name
# session_file - session file
#
#
my($last_error) = 0;
my($gAppSig) = 'Mcvs'; # MacCVS Pro
#
# utility routines
#
sub _checkForEventError($)
{
my($evt) = @_;
if ($evt->{ERRNO} != 0)
{
print STDERR "Error. Script returned '$evt->{ERROR} (error $evt->{ERRNO})\n";
$last_error = $evt->{ERRNO};
return 0;
}
return 1; # success
}
#
# Session object methods
#
sub new
{
my ( $proto, $session_file) = @_;
my $class = ref($proto) || $proto;
my $self = {};
if ( defined($session_file) && ( -e $session_file) )
{
$self->{"name"} = basename( $session_file );
$self->{"session_file"} = $session_file;
bless $self, $class;
return $self;
}
else
{
print STDERR "MacCVS->new cvs file < $session_file > does not exist\n";
return;
}
}
# makes sure that the session is open
# assertSessionOpen()
# returns 1 on success
sub assertSessionOpen()
{
my ($self) = shift;
$last_error = 0;
my($prm) =
q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}";
my($evt) = do_event(qw/aevt odoc/, $gAppSig, $prm, $self->{session_file});
return _checkForEventError($evt);
}
# prints the cvs object, used mostly for debugging
sub describe
{
my($self) = shift;
$last_error = 0;
print "MacCVS:: name: ", $self->{name}, " session file: ", $self->{session_file}, "\n";
}
# checkout( self, module, revision, date)
# MacCVS checkout command
# returns 1 on success.
sub checkout()
{
my($self, $module, $revision, $date ) = @_;
unless( defined ($module) ) { $module = ""; } # get rid of the pesky undefined warnings
unless( defined ($revision) ) { $revision = ""; }
unless( defined ($date) ) { $date = ""; }
$last_error = 0;
$self->assertSessionOpen() || die "Error: failed to open MacCVS session file at $self->{session_file}\n";
my($revstring) = ($revision ne "") ? $revision : "(none)";
my($datestring) = ($date ne "") ? $date : "(none)";
print "Checking out $module with revision $revstring, date $datestring\n";
my($prm) =
q"'----':obj {form:name, want:type(docu), seld:TEXT(@), from:'null'()}, ".
q"modl:'TEXT'(@), tagr:'TEXT'(@), tagd:'TEXT'(@) ";
my($evt) = do_event(qw/MCvs cout/, $gAppSig, $prm, $self->{name}, $module, $revision, $date);
return _checkForEventError($evt);
}
# update( self, branch tag, list of paths)
# MacCVS udate command
# returns 1 on success.
# NOTE: MacCVS Pro does not correctly support this stuff yet (as of version 2.7d5).
sub update()
{
my($self, $branch, $paths ) = @_;
$last_error = 0;
$self->assertSessionOpen() || die "Error: failed to open MacCVS session file at $self->{session_file}\n";
if ($branch eq "HEAD") {
$branch = "";
}
my($paths_list) = "";
my($path);
foreach $path (@$paths)
{
if ($paths_list ne "") {
$paths_list = $paths_list.", ";
}
$paths_list = $paths_list."Ò".$path."Ó";
}
my($prm) =
q"'----':obj {form:name, want:type(docu), seld:TEXT(@), from:'null'()}, ".
q"tagr:'TEXT'(@), tFls:[";
$prm = $prm.$paths_list."]";
my($evt) = do_event(qw/MCvs updt/, $gAppSig, $prm, $self->{name}, $branch);
return _checkForEventError($evt);
};
sub getLastError()
{
return $last_error;
}
1;
=pod
=head1 NAME
MacCVS - Interface to MacCVS
=head1 SYNOPSIS
use MacCVS;
$session = MacCVS->new( <session_file_path>) || die "cannot create session";
$session->checkout([module] [revision] [date]) || die "Could not check out";
=head1 DESCRIPTION
This is a MacCVS interface for talking to MacCVS Pro client.
MacCVSSession is the class used to manipulate the session
=item new
MacCVS->new( <cvs session file path>);
Creates a new session. Returns undef on failure.
=item checkout( <module> [revision] [date] )
cvs checkout command. Revision and date are optional
returns 0 on failure
=cut
=head1 SEE ALSO
=over
=item MacCVS Home Page
http://www.maccvs.org/
=back
=head1 AUTHORS
Aleks Totic atotic@netscape.com
Simon Fraser sfraser@netscape.com
=cut
__END__

View File

@@ -0,0 +1,603 @@
=head1 NAME
B<Moz> - routines for automating CodeWarrior builds, and some extra-curricular
activities related to building Mozilla
=head1 SYNOPSIS
use Moz;
OpenErrorLog(":::BuildLog");
StopForErrors();
$Moz::QUIET = 1;
InstallFromManifest(":projects:MANIFEST", $dist_dir);
BuildProjectClean(":projects:SomeProject.mcp", "SomeTarget");
MakeAlias(":projects:SomeProject.shlb", $dist_dir);
DontStopForErrors();
BuildProject(":projects:SomeOtherProject.mcp", "SomeTarget");
=head1 DESCRIPTION
B<Moz> comprises the routines needed to slap CodeWarrior around, force it
to build a sequence of projects, report the results, and a few other things.
This module should only contain functions that are generic to any build,
not just the Mozilla build.
=cut
package Moz::Moz;
require Exporter;
use Cwd;
use File::Copy;
use File::Path;
use File::Basename;
use Mac::Types;
use Mac::Events;
use Mac::Processes;
use ExtUtils::Manifest 'maniread';
use Moz::CodeWarriorLib;
@ISA = qw(Exporter);
@EXPORT = qw( LaunchCodeWarrior
GetCodeWarriorRelativePath
current_directory
full_path_to
DoBuildProject
ImportXMLProject
ExportProjectToXML
OpenErrorLog
MakeAlias
GetFileModDate
StopForErrors
DontStopForErrors
InstallFromManifest
InstallResources
RedirectOutputToFile
Delay
ActivateApplication
IsProcessRunning);
@EXPORT_OK = qw(CloseErrorLog QUIET);
sub current_directory()
{
my $current_directory = cwd();
chop($current_directory) if ( $current_directory =~ m/:$/ );
return $current_directory;
}
sub full_path_to($)
{
my ($path) = @_;
if ( $path =~ m/^[^:]+$/ )
{
$path = ":" . $path;
}
if ( $path =~ m/^:/ )
{
$path = current_directory() . $path;
}
return $path;
}
$logging = 0;
$recent_errors_file = "";
$stop_on_1st_error = 1;
$QUIET = 0;
=head2 Logging all the errors and warnings - C<OpenErrorLog($log_file)>, C<CloseErrorLog()>
The warnings and errors generated in the course of building projects can be logged to a file.
Tinderbox uses this facility to show why a remote build failed.
Logging is off by default.
Start logging at any point in your build process with C<OpenErrorLog($log_file)>.
Stop with C<CloseErrorLog()>.
You never need to close the log explicitly, unless you want to just log a couple of projects in the middle of a big list.
C<CloseErrorLog()> is not exported by default.
=cut
sub CloseErrorLog()
{
if ( $logging )
{
close(ERROR_LOG);
$logging = 0;
StopForErrors() if $stop_on_1st_error;
}
}
sub OpenErrorLog($)
{
my ($log_file) = @_;
CloseErrorLog();
if ( $log_file )
{
$log_file = full_path_to($log_file);
open(ERROR_LOG, ">$log_file") || die "Error: Can't open $log_file\n";
MacPerl::SetFileInfo("CWIE", "TEXT", $log_file);
$log_file =~ m/.+:(.+)/;
$recent_errors_file = full_path_to("$1.part");
$logging = 1;
}
}
=head2 Stopping before it's too late - C<StopForErrors()>, C<DontStopForErrors()>
When building a long list of projects, you decide whether to continue building subsequent projects when one fails.
By default, your build script will C<die> after the first project that generates an error while building.
Change this behavior with C<DontStopForErrors()>.
Re-enable it with C<StopForErrors()>.
=cut
sub StopForErrors()
{
$stop_on_1st_error = 1;
# Can't stop for errors unless we notice them.
# Can't notice them unless we are logging.
# If the user didn't explicitly request logging, log to a temporary file.
if ( ! $recent_errors_file )
{
OpenErrorLog("${TMPDIR}BuildResults");
}
}
sub DontStopForErrors()
{
$stop_on_1st_error = 0;
}
sub log_message($)
{
if ( $logging )
{
my ($message) = @_;
print ERROR_LOG $message;
}
}
sub log_message_with_time($)
{
if ( $logging )
{
my ($message) = @_;
my $time_stamp = localtime();
log_message("$message ($time_stamp)\n");
}
}
sub log_recent_errors($)
{
my ($project_name) = @_;
my $found_errors = 0;
if ( $logging )
{
open(RECENT_ERRORS, "<$recent_errors_file");
while( <RECENT_ERRORS> )
{
if ( /^Error/ || /^CouldnÕt find project file/ || /^Link Error/ )
{
# if (!$found_errors)
# print $_;
$found_errors = 1;
}
print ERROR_LOG $_;
}
close(RECENT_ERRORS);
unlink("$recent_errors_file");
}
if ( $stop_on_1st_error && $found_errors )
{
print ERROR_LOG "### Build failed.\n";
die "### Errors encountered building \"$project_name\".\n";
}
}
sub DoBuildProject($$$)
{
my ($project_path, $target_name, $clean_build) = @_;
$project_path = full_path_to($project_path);
# $project_path =~ m/.+:(.+)/;
# my $project_name = $1;
log_message_with_time("### Building \"$project_path\"");
# Check that the given project exists
if (! -e $project_path)
{
print ERROR_LOG "### Build failed.\n";
die "### Can't find project file \"$project_path\".\n";
}
print "Building \"$project_path\[$target_name\]\"\n";
$had_errors = Moz::CodeWarriorLib::build_project(
$project_path, $target_name, $recent_errors_file, $clean_build
);
WaitNextEvent();
# $had_errors =
#MacPerl::DoAppleScript(<<END_OF_APPLESCRIPT);
# tell (load script file "$CodeWarriorLib") to BuildProject("$project_path", "$project_name", "$target_name", "$recent_errors_file", $clean_build)
#END_OF_APPLESCRIPT
# Append any errors to the globally accumulated log file
# if ( $had_errors ) # Removed this test, because we want warnings, too. -- jrm
{
log_recent_errors($project_path);
}
}
sub ImportXMLProject($$)
{
my ($xml_path, $project_path) = @_;
# my ($codewarrior_ide_name) = Moz::CodeWarriorLib::getCodeWarriorIDEName();
# my $ascript = <<EOS;
# tell application "$codewarrior_ide_name"
# make new (project document) as ("$project_path") with data ("$xml_path")
# end tell
#EOS
# print $ascript."\n";
# my($result) = MacPerl::DoAppleScript($ascript);
# unless ($result) { die "Error: ImportXMLProject AppleScript failed $^E $result\n"; }
#
my($import_error) = Moz::CodeWarriorLib::import_project($xml_path, $project_path);
if ($import_error ne "") {
die "Error: ImportXMLProject failed with error $import_error\n";
}
}
sub ExportProjectToXML($$)
{
my ($project_path, $xml_path) = @_;
my (@suffix_list) = (".mcp");
my ($project_name, $project_dir, $suffix) = fileparse($project_path, @suffix_list);
if ($suffix eq "") { die "Project: $project_path doesn't look like a project file.\n"; }
if (-e $xml_path) {
print "$xml_path exists - not exporting $project_path\n";
}
else {
print "Exporting $project_path to $xml_path\n";
my($export_error) = Moz::CodeWarriorLib::export_project($project_path, $xml_path);
if ($export_error ne "") {
die "Error: export_project failed with error '$export_error'\n";
}
if (! -e $xml_path) {
die "Error: XML export to $xml_path failed\n";
}
}
}
=head2 Miscellaneous
C<MakeAlias($old_file, $new_file)> functions like C<symlink()>, except with better argument defaulting and more explicit error messages.
=cut
sub MakeAlias($$)
{
my ($old_file, $new_file) = @_;
# if the directory to hold $new_file doesn't exist, create it
if ( ($new_file =~ m/(.+:)/) && !-d $1 )
{
mkpath($1);
}
# if a leaf name wasn't specified for $new_file, use the leaf from $old_file
if ( ($new_file =~ m/:$/) && ($old_file =~ m/.+:(.+)/) )
{
$new_file .= $1;
}
my $message = "Can't create a Finder alias (at \"$new_file\")\n for \"$old_file\"; because ";
die "Error: $message \"$old_file\" doesn't exist.\n" unless -e $old_file;
die "Error: $message I won't replace an existing (non-alias) file with an alias.\n" if ( -e $new_file && ! -l $new_file );
# now: $old_file exists; $new_file doesn't (or else, is an alias already)
if ( -l $new_file )
{
# ...then see if it already points to $old_file
my $current_target = full_path_to(readlink($new_file));
my $new_target = full_path_to($old_file);
return if ( $current_target eq $new_target );
# if the desired alias already exists and points to the right thing, then we're done
unlink $new_file;
}
symlink($old_file, $new_file) || die "Error: $message symlink returned an unexpected error.\n";
}
=pod
C<InstallFromManifest()>
=cut
sub InstallFromManifest($;$$)
{
my ($manifest_file, $dest_dir, $flat) = @_;
$flat = 0 unless defined($flat); # if $flat, all rel. paths in MANIFEST get aliased to the root of $dest_dir
$dest_dir ||= ":";
$manifest_file =~ m/(.+):/;
my $source_dir = $1;
chop($dest_dir) if $dest_dir =~ m/:$/;
#Mac::Events->import();
WaitNextEvent();
if ($flat)
{
print "Doing manifest on \"$manifest_file\" FLAT\n" unless $QUIET;
}
else
{
print "Doing manifest on \"$manifest_file\"\n" unless $QUIET;
}
my $read = maniread(full_path_to($manifest_file));
foreach $file (keys %$read)
{
next unless $file;
$subdir = ":";
if (!$flat && ($file =~ /:.+:/ ))
{
$subdir = $&;
}
$file = ":$file" unless $file =~ m/^:/;
MakeAlias("$source_dir$file", "$dest_dir$subdir");
}
}
=pod
C<InstallResources()>
=cut
# parameters are path to MANIFEST file, destination dir, true (to make copies) or false (to make aliases)
sub InstallResources($;$;$)
{
my ($manifest_file, $dest_dir, $copy_files) = @_;
$dest_dir ||= ":";
mkpath($dest_dir) if !-d $dest_dir;
$manifest_file =~ m/(.+):/;
my $source_dir = $1;
chop($dest_dir) if $dest_dir =~ m/:$/;
WaitNextEvent();
print "Installing resources from \"$manifest_file\"\n" unless $QUIET;
my $read = maniread(full_path_to($manifest_file));
foreach $file (keys %$read)
{
next unless $file;
if ($copy_files)
{
copy("$source_dir:$file", "$dest_dir:$file");
}
else
{
MakeAlias("$source_dir:$file", "$dest_dir:$file");
}
}
}
#//--------------------------------------------------------------------------------------------------
#// Delay
#//--------------------------------------------------------------------------------------------------
sub Delay($)
{
my ($delay_seconds) = @_;
$now = time;
$exit_time = $now + $delay_seconds;
while ($exit_time > $now) {
$now = time;
}
}
#//--------------------------------------------------------------------------------------------------
#// GetFileModDate
#//--------------------------------------------------------------------------------------------------
sub GetFileModDate($)
{
my($filePath)=@_;
my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) = stat($filePath);
return $mtime;
}
#//--------------------------------------------------------------------------------------------------
#// LaunchCodeWarrior
#//--------------------------------------------------------------------------------------------------
sub LaunchCodeWarrior($)
{
my($idepath_file) = @_; # full path to IDE location file
my($cur_dir) = cwd();
# this both launches and writes the IDE path file
Moz::CodeWarriorLib::activate($idepath_file);
chdir($cur_dir);
}
#//--------------------------------------------------------------------------------------------------
#// GetCodeWarriorRelativePath
#//--------------------------------------------------------------------------------------------------
sub GetCodeWarriorRelativePath($)
{
my($rel_path) = @_;
return Moz::CodeWarriorLib::getCodeWarriorPath($rel_path);
}
#//--------------------------------------------------------------------------------------------------
#// RedirectOutputToFile
#//--------------------------------------------------------------------------------------------------
sub RedirectOutputToFile($)
{
my($log_file) = @_;
# ensure that folders in the path exist
my($logdir) = "";
my($logfile) = $log_file;
if ($log_file =~ /(.+?:)([^:]+)$/) # ? for non-greedy match
{
$logdir = $1;
$logfile = $2;
mkpath($logdir);
}
print "Output is now being redirected to the file '$log_file'\n";
open(STDOUT, "> $log_file") || die "Can't redirect stdout";
open(STDERR, ">&STDOUT") || die "Can't dup stdout";
select(STDERR); $| = 1; # make unbuffered
select(STDOUT); $| = 1; # make unbuffered
MacPerl::SetFileInfo("CWIE", "TEXT", $log_file);
}
#//--------------------------------------------------------------------------------------------------
#// ActivateApplication
#//--------------------------------------------------------------------------------------------------
sub ActivateApplication($)
{
my ($appSignature) = @_;
my ($psi, $found);
my ($appPSN);
$found = 0;
foreach $psi (values(%Process))
{
if ($psi->processSignature() eq $appSignature)
{
$appPSN = $psi->processNumber();
$found = 1;
last;
}
}
if ($found == 0 || SameProcess($appPSN, GetFrontProcess()))
{
return;
}
SetFrontProcess($appPSN);
while (GetFrontProcess() != $appPSN)
{
WaitNextEvent();
}
}
#//--------------------------------------------------------------------------------------------------
#// IsProcessRunning
#//--------------------------------------------------------------------------------------------------
sub IsProcessRunning($)
{
my($processName, $psn, $psi) = @_;
while ( ($psn, $psi) = each(%Process) ) {
if ($psi->processName eq $processName) { return 1; }
}
return 0;
}
1;
=head1 AUTHORS
Scott Collins <scc@netscape.com>, Simon Fraser <sfraser@netscape.com>, Chris Yeh <cyeh@netscape.com>
=head1 SEE ALSO
BuildMozillaDebug.pl (et al), BuildList.pm, CodeWarriorLib (an AppleScript library)
=head1 COPYRIGHT
The contents of this file are subject to the Netscape Public
License Version 1.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 Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
=cut

View File

@@ -0,0 +1,272 @@
package Moz::Prefs;
require 5.004;
require Exporter;
# Package that attempts to read a file from the Preferences folder,
# and get build settings out of it
use strict;
use Exporter;
use File::Path;
use Mac::Files;
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(ReadMozUserPrefs);
#-------------------------------------------------------------------------------
#
# GetPrefsFolder
#
#-------------------------------------------------------------------------------
sub GetPrefsFolder()
{
my($prefs_folder) = FindFolder(kOnSystemDisk, kPreferencesFolderType, 1);
return $prefs_folder.":Mozilla build prefs";
}
#-------------------------------------------------------------------------------
#
# SetArrayValue
#
#-------------------------------------------------------------------------------
sub SetArrayValue($$$)
{
my($array_ref, $index1, $index2) = @_;
my($index);
foreach $index (@$array_ref)
{
if ($index->[0] eq $index1)
{
$index->[1] = $index2;
return 1;
}
}
return 0;
}
#-------------------------------------------------------------------------------
#
# WriteDefaultPrefsFile
#
#-------------------------------------------------------------------------------
sub WriteDefaultPrefsFile($)
{
my($file_path) = @_;
my($file_contents);
$file_contents = <<'EOS';
% You can use this file to customize the Mozilla build system.
% The following kinds of lines are allowable:
% Comment lines, which start with a '%' in the first column
% Lines which modify the default build settings. For the list of flags,
% see MozBuildFlags.pm. Examples are:
%
% build pull 0 % don't pull
% options mng 1 % turn mng on
%
% Line containing the special 'buildfrom' flag, which specifies
% where to start the build. Example:
%
% buildfrom nglayout % where to start the build
%
% Lines which specify the location of the files used to store paths
% to the CodeWarrior IDE, and the MacCVS Pro session file. Note quoting
% of paths containing whitespace. Examples:
%
% filepath idepath ::codewarrior.txt
% filepath sessionpath ":Some folder:MacCVS session path.txt"
%
% Lines which modify the build settings like %main::DEBUG.
% Any lines which do not match either of the above are assumed
% to set variables on $main::. Examples:
%
% MOZILLA_OFFICIAL 1
%
EOS
$file_contents =~ s/%/#/g;
local(*PREFS_FILE);
open(PREFS_FILE, "> $file_path") || die "Could not write default prefs file\n";
print PREFS_FILE ($file_contents);
close(PREFS_FILE);
MacPerl::SetFileInfo("McPL", "TEXT", $file_path);
}
#-------------------------------------------------------------------------------
#
# HandlePrefSet
#
#-------------------------------------------------------------------------------
sub HandlePrefSet($$$$)
{
my($flags, $name, $value, $desc) = @_;
if (SetArrayValue($flags, $name, $value)) {
print "Prefs set $desc flag '$name' to '$value'\n";
} else {
die "$desc setting '$name' is not a valid option\n";
}
}
#-------------------------------------------------------------------------------
#
# HandleBuildFromPref
#
#-------------------------------------------------------------------------------
sub HandleBuildFromPref($$)
{
my($build_array, $name) = @_;
my($setting) = 0;
my($index);
foreach $index (@$build_array)
{
if ($index->[0] eq $name) {
$setting = 1;
}
$index->[1] = $setting;
}
if ($setting == 1) {
print "Building from $name onwards, as specified by prefs\n";
} else {
printf "Failed to find buildfrom setting '$name'\n";
}
}
#-------------------------------------------------------------------------------
#
# ReadPrefsFile
#
#-------------------------------------------------------------------------------
sub ReadPrefsFile($$$$$)
{
my($file_path, $build_flags, $options_flags, $filepath_flags, $create_if_missing) = @_;
local(*PREFS_FILE);
if (open(PREFS_FILE, "< $file_path"))
{
print "Reading build prefs from '$file_path'\n";
while (<PREFS_FILE>)
{
my($line) = $_;
chomp($line);
if ($line =~ /^\#/ || $line =~ /^\s*$/) { # ignore comments and empty lines
next;
}
if (($line =~ /^\s*([^#\s]+)\s+([^#\s]+)\s+\"(.+)\"(\s+#.+)?/) ||
($line =~ /^\s*([^#\s]+)\s+([^#\s]+)\s+\'(.+)\'(\s+#.+)?/) ||
($line =~ /^\s*([^#\s]+)\s+([^#\s]+)\s+([^#\s]+)(\s+#.+)?/))
{
my($array_name) = $1;
my($option_name) = $2;
my($option_value) = $3;
# print "Read '$array_name' '$option_name' '$option_value'\n";
if ($array_name eq "build")
{
HandlePrefSet($build_flags, $option_name, $option_value, "Build");
}
elsif ($array_name eq "options")
{
HandlePrefSet($options_flags, $option_name, $option_value, "Options");
}
elsif ($array_name eq "filepath" && $option_name && $option_value)
{
HandlePrefSet($filepath_flags, $option_name, $option_value, "Filepath");
}
else
{
print "Unknown pref option at $line\n";
}
}
elsif ($line =~ /^\s*buildfrom\s+([^#\s]+)(\s+#.+)?/)
{
my($build_start) = $1;
HandleBuildFromPref($build_flags, $build_start);
}
elsif ($line =~ /^\s*([^#\s]+)\s+([^#\s]+)(\s+#.+)?/)
{
my($build_var) = $1;
my($var_setting) = $2;
print "Setting \$main::$build_var to $var_setting\n";
eval "\$main::$build_var = \"$var_setting\"";
}
else
{
print "Unrecognized input line at $line\n";
}
}
close(PREFS_FILE);
}
elsif ($create_if_missing)
{
print "No prefs file found at $file_path; using defaults\n";
my($folder_path) = $file_path;
$folder_path =~ s/[^:]+$//;
mkpath($folder_path);
WriteDefaultPrefsFile($file_path);
}
}
#-------------------------------------------------------------------------------
#
# ReadMozUserPrefs
#
#-------------------------------------------------------------------------------
sub ReadMozUserPrefs($$$$)
{
my($prefs_file_name, $build_flags, $options_flags, $filepath_flags) = @_;
if ($prefs_file_name eq "") { return; }
# if local prefs exist, just use those. Othewise, look in the prefs folder
if (-e $prefs_file_name)
{
# read local prefs
ReadPrefsFile($prefs_file_name, $build_flags, $options_flags, $filepath_flags, 0);
}
else
{
# first read prefs folder prefs
my($prefs_path) = GetPrefsFolder();
$prefs_path .= ":$prefs_file_name";
ReadPrefsFile($prefs_path, $build_flags, $options_flags, $filepath_flags, 1);
}
}
1;

View File

@@ -0,0 +1,932 @@
#!/usr/bin/perl
#
# 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):
# Simon Fraser <sfraser@netscape.com>
#
package Moz::ProjectXML;
require 5.004;
require Exporter;
use strict;
use Exporter;
use Cwd;
use XML::DOM;
use vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(
ParseXMLDocument
DisposeXMLDocument
WriteXMLDocument
CleanupPro5XML
GetTargetsList
CloneTarget
SetAsSharedLibraryTarget
SetAsStaticLibraryTarget
AddTarget
RemoveTarget
GetTargetSetting
SetTargetSetting
getChildElementTextContents
);
#--------------------------------------------------------------------------------------------------
# A module for reading, manipulating, and writing XML-format CodeWarrior project files.
#
# Sample usage:
#
# use ProjectXML;
#
# my $doc = ProjectXML::ParseXMLDocument("Test.mcp.xml");
# ProjectXML::CloneTarget($doc, "Test.shlb", "Test.lib");
# ProjectXML::SetAsStaticLibraryTarget($doc, "Test.lib", "TestOutput.lib");
# ProjectXML::WriteXMLDocument($doc, "Test_out.xml");
# ProjectXML::DisposeXMLDocument($doc);
#
#--------------------------------------------------------------------------------------------------
#//--------------------------------------------------------------------------------------------------
#// ParseXMLDocument
#// Note that the caller must call DisposeXMLDocument on the returned doc
#//--------------------------------------------------------------------------------------------------
sub ParseXMLDocument($)
{
my($doc_path) = @_;
my $parser = new XML::DOM::Parser(ErrorContext => 2);
my $doc = $parser->parsefile($doc_path);
return $doc;
}
#//--------------------------------------------------------------------------------------------------
#// DisposeXMLDocument
#// Needed to avoid memory leaks - cleanup circular references for garbage collection
#//--------------------------------------------------------------------------------------------------
sub DisposeXMLDocument($)
{
my($doc) = @_;
$doc->dispose();
}
#//--------------------------------------------------------------------------------------------------
#// WriteXMLDocument
#//--------------------------------------------------------------------------------------------------
sub _pro5_tag_compression($$)
{
return 1; # Pro 5 is broken and can't import XML with <foo/> style tags
}
sub _pro6plus_tag_compression($$)
{
return 0; # Pro 6 can deal with empty XML tags like <foo/>
}
sub WriteXMLDocument($$$)
{
my($doc, $file_path, $ide_version) = @_;
if ($ide_version eq "4.0")
{
XML::DOM::setTagCompression(\&_pro5_tag_compression);
}
else
{
XML::DOM::setTagCompression(\&_pro6plus_tag_compression);
}
$doc->printToFile($file_path);
}
#//--------------------------------------------------------------------------------------------------
#// CleanupPro5XML
#// XML Projects exported by Pro 5 contain garbage data under the MWMerge_MacOS_skipResources
#// setting. This routine cleans this up, saving the result to a new file
#//--------------------------------------------------------------------------------------------------
sub CleanupPro5XML($$)
{
my($xml_path, $out_path) = @_;
local(*XML_FILE);
open(XML_FILE, "< $xml_path") || die "Error: failed to open file $xml_path\n";
local(*CLEANED_FILE);
open(CLEANED_FILE, "> $out_path") || die "Error: failed to open file $out_path for writing\n";
my $in_skip_resources_settings = 0;
while(<XML_FILE>)
{
my($line) = $_;
if ($line =~ /^<\?codewarrior/) # is processing inst line
{
my $test_line = $line;
chomp($test_line);
my $out_line = $test_line;
if ($test_line =~ /^<\?codewarrior\s+exportversion=\"(.+)\"\s+ideversion=\"(.+)\"\s*\?>$/)
{
my $export_version = $1;
my $ide_version = $2;
$ide_version = "4.0_mozilla"; # pseudo IDE version so we know we touched it
$out_line = "<?codewarrior exportversion=\"".$export_version."\" ideversion=\"".$ide_version."\"?>";
}
print CLEANED_FILE "$out_line\n";
next;
}
if ($line =~ /MWMerge_MacOS_skipResources/)
{
$in_skip_resources_settings = 1;
print CLEANED_FILE "$line";
}
elsif($in_skip_resources_settings && $line =~ /<!-- Settings for/)
{
# leaving bad settings lines. Write closing tag
print CLEANED_FILE " <!-- Corrupted setting entries removed by script -->\n";
print CLEANED_FILE " </SETTING>\n\n";
print CLEANED_FILE "$line";
$in_skip_resources_settings = 0;
}
elsif (!$in_skip_resources_settings)
{
print CLEANED_FILE "$line";
}
}
close(XML_FILE);
close(CLEANED_FILE);
}
#--------------------------------------------------------------------------------------------------
# SniffProjectXMLIDEVersion
#
#--------------------------------------------------------------------------------------------------
sub SniffProjectXMLIDEVersion($)
{
my($xml_path) = @_;
my $found_version = "";
local(*XML_FILE);
open(XML_FILE, "< $xml_path") || die "Error: failed to open file $xml_path\n";
while(<XML_FILE>)
{
my($line) = $_;
chomp($line);
if ($line =~ /^<\?codewarrior/) # is processing inst line
{
unless ($line =~ /^<\?codewarrior\s+exportversion=\"(.+)\"\s+ideversion=\"(.+)\"\s*\?>$/)
{
die "Error: Failed to find ideversion in $xml_path in line $line\n";
}
my $export_version = $1;
my $ide_version = $2;
$found_version = $ide_version;
last;
}
}
close(XML_FILE);
return $found_version;
}
#//--------------------------------------------------------------------------------------------------
#// GetTargetsList
#// Returns an array of target names
#//--------------------------------------------------------------------------------------------------
sub GetTargetsList($)
{
my($doc) = @_;
my $nodes = $doc->getElementsByTagName("TARGET");
my $n = $nodes->getLength;
my @target_names;
for (my $i = 0; $i < $n; $i++)
{
my ($node) = $nodes->item($i);
my($target_name) = getChildElementTextContents($node, "NAME");
push(@target_names, $target_name);
}
return @target_names;
}
#//--------------------------------------------------------------------------------------------------
#// CloneTarget
#// Clone the named target, renaming it to 'new_name'
#//--------------------------------------------------------------------------------------------------
sub CloneTarget($$$)
{
my($doc, $target_name, $new_name) = @_;
my $target_node = getTargetNode($doc, $target_name);
# clone here
my $target_clone = $target_node->cloneNode(1); # deep clone
# -- munge target settings --
# set the target name field
setChildElementTextContents($doc, $target_clone, "NAME", $new_name);
# set the targetname pref
setTargetNodeSetting($doc, $target_clone, "Targetname", $new_name);
# -- insert new target subtree --
my $target_list = $target_node->getParentNode();
$target_list->appendChild($target_clone);
# -- now add to targetorder --
my (@target_order_nodes) = getChildOfDocument($doc, "TARGETORDER");
my $target_order = @target_order_nodes[0];
my $new_order = $doc->createElement("ORDEREDTARGET");
my $order_name = $doc->createElement("NAME");
$new_order->appendChild($order_name);
setChildElementTextContents($doc, $new_order, "NAME", $new_name);
$target_order->appendChild($new_order);
}
#//--------------------------------------------------------------------------------------------------
#// SetAsSharedLibraryTarget
#//
#//--------------------------------------------------------------------------------------------------
sub SetAsSharedLibraryTarget($$$)
{
my($doc, $target_name, $output_name) = @_;
my $target_node = getTargetNode($doc, $target_name);
setTargetNodeSetting($doc, $target_node, "MWProject_PPC_type", "SharedLibrary");
setTargetNodeSetting($doc, $target_node, "MWProject_PPC_filetype", "1936223330"); #'shlb'
setTargetNodeSetting($doc, $target_node, "MWProject_PPC_outfile", $output_name);
}
#//--------------------------------------------------------------------------------------------------
#// AddFileToTarget
#//
#// Add a file to the specified target(s).
#//
#//--------------------------------------------------------------------------------------------------
sub AddFileToTarget($$$)
{
my($doc, $target_list, $file_name) = @_;
# the file must be added in 3 places:
# 1. in <TARGET><FILELIST><FILE> (with linkage flags if necessary)
# 2. in <TARGET><LINKORDER><FILEREF>
# 3. in <GROUPLIST><GROUP><FILEREF>
die "Write me\n";
}
#//--------------------------------------------------------------------------------------------------
#// RemoveFileFromTarget
#//
#// Remove a file from the specified target, removing it from the entire project
#// if no other targets reference it.
#//
#//--------------------------------------------------------------------------------------------------
sub RemoveFileFromTarget($$$)
{
my($doc, $target_node, $file_name) = @_;
# the file must be removed in 3 places:
# 1. in <TARGET><FILELIST><FILE>
# 2. in <TARGET><LINKORDER><FILEREF>
# 3. in <GROUPLIST><GROUP><FILEREF>
# first, remove from <FILELIST>
my $filelist_node = getFirstChildElement($target_node, "FILELIST");
unless ($filelist_node) { die "Error: failed to find FILELIST node\n"; }
my $file_node = getChildNodeByGrandchildContents($doc, $filelist_node, "FILE", "PATH", $file_name);
unless ($file_node) { return; }
$filelist_node->removeChild($file_node);
# next, remove from <LINKORDER>
my $linkorder_node = getFirstChildElement($target_node, "LINKORDER");
unless ($linkorder_node) { die "Error: failed to find LINKORDER node\n"; }
my $fileref_node = getChildNodeByGrandchildContents($doc, $linkorder_node, "FILEREF", "PATH", $file_name);
unless ($fileref_node) { die "Error: link order node for file $file_name not found\n"; }
$linkorder_node->removeChild($fileref_node);
# last, remove from <GROUPLIST>
# <GROUPLIST> is cross-target, so we have to be careful here.
my $grouplist_node = getChildOfDocument($doc, "GROUPLIST");
unless ($grouplist_node) { die "Error: failed to find GROUPLIST node\n"; }
# if the file isn't in any other targets, remove it from the groups
if (!GetFileInUse($doc, $file_name))
{
print "File $file_name is in no other targest. Removing from project\n";
my @group_nodes;
getChildElementsOfType($doc, $grouplist_node, "GROUP", \@group_nodes);
my $group_node;
foreach $group_node (@group_nodes)
{
my @fileref_nodes;
getChildElementsOfType($doc, $group_node, "FILEREF", \@fileref_nodes);
my $fileref_node;
foreach $fileref_node (@fileref_nodes)
{
my $path_name = getChildElementTextContents($fileref_node, "PATH");
if ($path_name eq $file_name)
{
print "Removing $file_name from project group list\n";
$group_node->removeChild($fileref_node);
last;
}
}
# can a file appear in more than one group?
}
}
}
#//--------------------------------------------------------------------------------------------------
#// SetAsStaticLibraryTarget
#//
#//--------------------------------------------------------------------------------------------------
sub SetAsStaticLibraryTarget($$$)
{
my($doc, $target_name, $output_name) = @_;
my $target_node = getTargetNode($doc, $target_name);
setTargetNodeSetting($doc, $target_node, "MWProject_PPC_type", "Library");
setTargetNodeSetting($doc, $target_node, "MWProject_PPC_filetype", "1061109567"); #'????'
setTargetNodeSetting($doc, $target_node, "MWProject_PPC_outfile", $output_name);
# static targets don't need any library linkage, so we can remove linkage
# with all .shlb and .Lib files.
my(@obsolete_files) = ("NSStdLibStubs", "InterfacesStubs", "InterfaceLib", "InternetConfigLib");
print " Removing libraries etc. from target\n";
# get all files in target
my @target_files = GetTargetFilesList($doc, $target_name);
my $target_file;
foreach $target_file (@target_files)
{
if ($target_file =~ /(\.shlb|\.lib|\.Lib|\.o|\.exp)$/)
{
RemoveFileFromTarget($doc, $target_node, $target_file);
}
}
print " Removing stub libraries from target\n";
# then remove files with known names
my $obs_file;
foreach $obs_file (@obsolete_files)
{
RemoveFileFromTarget($doc, $target_node, $obs_file);
}
}
#//--------------------------------------------------------------------------------------------------
#// AddTarget
#//
#//--------------------------------------------------------------------------------------------------
sub AddTarget($$)
{
my($doc, $target_name) = @_;
die "Write me\n";
}
#//--------------------------------------------------------------------------------------------------
#// RemoveTarget
#//
#//--------------------------------------------------------------------------------------------------
sub RemoveTarget($$)
{
my($doc, $target_name) = @_;
die "Write me\n";
}
#//--------------------------------------------------------------------------------------------------
#// GetTargetSetting
#// Get the value for the specified setting in the specified target
#//--------------------------------------------------------------------------------------------------
sub GetTargetSetting($$$)
{
my($doc, $target_name, $setting_name) = @_;
my $target_node = getTargetNode($doc, $target_name);
return getTargetNodeSetting($target_node, "VALUE");
}
#//--------------------------------------------------------------------------------------------------
#// SetTargetSetting
#// Set the value for the specified setting in the specified target
#//--------------------------------------------------------------------------------------------------
sub SetTargetSetting($$$$)
{
my($doc, $target_name, $setting_name, $new_value) = @_;
my $target_node = getTargetNode($doc, $target_name);
setTargetNodeSetting($doc, $target_node, "VALUE", $new_value);
}
#//--------------------------------------------------------------------------------------------------
#// GetTargetFilesList
#// Return an array of the files in the target (in filelist order)
#//--------------------------------------------------------------------------------------------------
sub GetTargetFilesList($$)
{
my($doc, $target_name) = @_;
my $target_node = getTargetNode($doc, $target_name);
my @files_list;
my $filelist_node = getFirstChildElement($target_node, "FILELIST");
unless ($filelist_node) { die "Error: failed to find FILELIST node\n"; }
my @file_nodes;
getChildElementsOfType($doc, $filelist_node, "FILE", \@file_nodes);
my $node;
foreach $node (@file_nodes)
{
my $file_name = getChildElementTextContents($node, "PATH");
push(@files_list, $file_name);
}
return @files_list;
}
#//--------------------------------------------------------------------------------------------------
#// FileIsInTarget
#//
#//--------------------------------------------------------------------------------------------------
sub FileIsInTarget($$$)
{
my($doc, $file_name, $target_name) = @_;
my $target_node = getTargetNode($doc, $target_name);
unless ($target_node) { die "Error: no target found called $target_name\n"; }
my $file_node = GetTargetFileNode($doc, $target_node, $file_name);
if ($file_node) {
return 1;
}
return 0;
}
#//--------------------------------------------------------------------------------------------------
#// GetFileTargetsList
#// Return an array of the targets that a file is in (expensive)
#//--------------------------------------------------------------------------------------------------
sub GetFileTargetsList($$)
{
my ($doc, $file_name) = @_;
my @target_list;
my @targets = GetTargetsList($doc);
my $target;
foreach $target (@targets)
{
if (FileIsInTarget($doc, $file_name, $target))
{
push(@target_list, $target);
}
}
return @target_list;
}
#//--------------------------------------------------------------------------------------------------
#// GetTargetFileNode
#//
#//--------------------------------------------------------------------------------------------------
sub GetTargetFileNode($$$)
{
my($doc, $target_node, $file_name) = @_;
my $filelist_node = getFirstChildElement($target_node, "FILELIST");
unless ($filelist_node) { die "Error: failed to find FILELIST node\n"; }
my $file_node = getChildNodeByGrandchildContents($doc, $filelist_node, "FILE", "PATH", $file_name);
return $file_node;
}
#//--------------------------------------------------------------------------------------------------
#// GetFileInUse
#// Return true if the file is used by any target
#//--------------------------------------------------------------------------------------------------
sub GetFileInUse($$)
{
my($doc, $file_name) = @_;
my $targetlist_node = getChildOfDocument($doc, "TARGETLIST");
my $target_node = $targetlist_node->getFirstChild();
while ($target_node)
{
if ($target_node->getNodeTypeName eq "ELEMENT_NODE" &&
$target_node->getTagName() eq "TARGET")
{
# if this is a target node
my $file_node = GetTargetFileNode($doc, $target_node, $file_name);
if ($file_node) {
return 1; # found it
}
}
$target_node = $target_node->getNextSibling();
}
# not found
return 0;
}
#//--------------------------------------------------------------------------------------------------
#// getChildOfDocument
#//--------------------------------------------------------------------------------------------------
sub getChildOfDocument($$)
{
my($doc, $child_type) = @_;
return getFirstChildElement($doc->getDocumentElement(), $child_type);
}
#//--------------------------------------------------------------------------------------------------
#// getFirstChildElement
#//--------------------------------------------------------------------------------------------------
sub getFirstChildElement($$)
{
my($node, $element_name) = @_;
my $found_node;
unless ($node) { die "getFirstChildElement called with empty node\n"; }
#look for the first "element_name" child
my $child_node = $node->getFirstChild();
while ($child_node)
{
if ($child_node->getNodeTypeName eq "ELEMENT_NODE" &&
$child_node->getTagName() eq $element_name)
{
$found_node = $child_node;
last;
}
$child_node = $child_node->getNextSibling();
}
return $found_node;
}
#//--------------------------------------------------------------------------------------------------
#// getChildElementsOfType
#//
#// Return an array of refs to child nodes of the given type
#//--------------------------------------------------------------------------------------------------
sub getChildElementsOfType($$$$)
{
my($doc, $node, $child_type, $array_ref) = @_;
my $child_node = $node->getFirstChild();
while ($child_node)
{
if ($child_node->getNodeTypeName eq "ELEMENT_NODE" &&
$child_node->getTagName() eq $child_type)
{
push(@$array_ref, $child_node);
}
$child_node = $child_node->getNextSibling();
}
}
#//--------------------------------------------------------------------------------------------------
#// getChildElementTextContents
#//--------------------------------------------------------------------------------------------------
#
# Given <FOOPY><NERD>Hi!</NERD></FOOPY>, where $node is <FOOPY>,
# returns "Hi!". If > 1 <NERD> node, returns the contents of the first.
#
sub getChildElementTextContents($$)
{
my($node, $tag_name) = @_;
my $first_element = getFirstChildElement($node, $tag_name);
my $text_node = $first_element->getFirstChild();
my $text_contents = "";
# concat adjacent text nodes
while ($text_node)
{
if ($text_node->getNodeTypeName() ne "TEXT_NODE")
{
last;
}
$text_contents = $text_contents.$text_node->getData();
$text_node = $text_node->getNextSibling();
}
return $text_contents;
}
#//--------------------------------------------------------------------------------------------------
#// setChildElementTextContents
#//--------------------------------------------------------------------------------------------------
sub setChildElementTextContents($$$$)
{
my($doc, $node, $tag_name, $contents_text) = @_;
my $first_element = getFirstChildElement($node, $tag_name);
my $new_text_node = $doc->createTextNode($contents_text);
# replace all child elements with a text element
removeAllChildren($first_element);
$first_element->appendChild($new_text_node);
}
#//--------------------------------------------------------------------------------------------------
#// getChildNodeByContents
#//
#// Consider <foo><bar><baz>Foopy</baz></bar><bar><baz>Loopy</baz></bar></foo>
#// This function, when called with getChildNodeByContents($foonode, "bar", "baz", "Loopy")
#// returns the second <bar> node.
#//--------------------------------------------------------------------------------------------------
sub getChildNodeByGrandchildContents($$$$$)
{
my($doc, $node, $child_type, $gc_type, $gc_contents) = @_; # gc = grandchild
my $found_node;
my $child_node = $node->getFirstChild();
while ($child_node)
{
if ($child_node->getNodeTypeName eq "ELEMENT_NODE" &&
$child_node->getTagName() eq $child_type)
{
# check for a child of this node of type
my $child_contents = getChildElementTextContents($child_node, $gc_type);
if ($child_contents eq $gc_contents)
{
$found_node = $child_node;
last;
}
}
$child_node = $child_node->getNextSibling();
}
return $found_node;
}
#//--------------------------------------------------------------------------------------------------
#// getTargetNode
#//--------------------------------------------------------------------------------------------------
sub getTargetNode($$)
{
my($doc, $target_name) = @_;
my $targetlist_node = getChildOfDocument($doc, "TARGETLIST");
return getChildNodeByGrandchildContents($doc, $targetlist_node, "TARGET", "NAME", $target_name);
}
#//--------------------------------------------------------------------------------------------------
#// getTargetNamedSettingNode
#//--------------------------------------------------------------------------------------------------
sub getTargetNamedSettingNode($$)
{
my($target_node, $setting_name) = @_;
my $setting_node;
my $settinglist_node = getFirstChildElement($target_node, "SETTINGLIST");
my $child_node = $settinglist_node->getFirstChild();
while ($child_node)
{
if ($child_node->getNodeTypeName ne "ELEMENT_NODE")
{
$child_node = $child_node->getNextSibling();
next;
}
if ($child_node->getTagName() eq "SETTING")
{
my $set_name = getChildElementTextContents($child_node, "NAME");
if ($set_name eq $setting_name)
{
$setting_node = $child_node;
last;
}
}
$child_node = $child_node->getNextSibling();
}
return $setting_node;
}
#//--------------------------------------------------------------------------------------------------
#// getTargetNodeSetting
#//--------------------------------------------------------------------------------------------------
sub getTargetNodeSetting($$)
{
my($target_node, $setting_name) = @_;
my $setting_node = getTargetNamedSettingNode($target_node, $setting_name);
return getChildElementTextContents($setting_node, "VALUE");
}
#//--------------------------------------------------------------------------------------------------
#// setTargetNodeSetting
#//--------------------------------------------------------------------------------------------------
sub setTargetNodeSetting($$$$)
{
my($doc, $target_node, $setting_name, $new_value) = @_;
my $setting_node = getTargetNamedSettingNode($target_node, $setting_name);
setChildElementTextContents($doc, $setting_node, "VALUE", $new_value);
}
#//--------------------------------------------------------------------------------------------------
#// elementInArray
#//--------------------------------------------------------------------------------------------------
sub elementInArray($$)
{
my($element, $array) = @_;
my $test;
foreach $test (@$array)
{
if ($test eq $element) {
return 1;
}
}
return 0;
}
#//--------------------------------------------------------------------------------------------------
#// removeAllChildren
#//--------------------------------------------------------------------------------------------------
sub removeAllChildren($)
{
my($node) = @_;
my $child_node = $node->getFirstChild();
while ($child_node)
{
$node->removeChild($child_node);
$child_node = $node->getFirstChild();
}
}
#//--------------------------------------------------------------------------------------------------
#// dumpNodeData
#//--------------------------------------------------------------------------------------------------
sub dumpNodeData($)
{
my($node) = @_;
unless ($node) { die "Null node passed to dumpNodeData\n"; }
print "Dumping node $node\n";
my($node_type) = $node->getNodeTypeName();
if ($node_type eq "ELEMENT_NODE")
{
my($node_name) = $node->getTagName();
print "Element $node_name\n";
}
elsif ($node_type eq "TEXT_NODE")
{
my($node_data) = $node->getData;
# my(@node_vals) = unpack("C*", $node_data);
print "Text '$node_data'\n"; # may contain LF chars
}
else
{
print "Node $node_type\n";
}
}
#//--------------------------------------------------------------------------------------------------
#// dumpNodeTree
#//--------------------------------------------------------------------------------------------------
sub dumpNodeTree($)
{
my($node) = @_;
my($child_node) = $node->getFirstChild();
unless ($child_node) { return; }
# recurse
dumpNodeData($child_node);
# then go through child nodes
while ($child_node)
{
dumpNodeTree($child_node);
$child_node = $child_node->getNextSibling();
}
}
1;

View File

@@ -0,0 +1,90 @@
#-------------------------------------------------------------------------------
# These 3 lists are the 'master lists' to control what gets built.
#
# Ordering in these arrays is important; it has to reflect the order in
# which the build occurs.
#
# Setting containing spaces must be quoted with double quotes.
#-------------------------------------------------------------------------------
build_flags
all 1
pull 0
dist 0
config 0
xpidl 0
idl 0
stubs 0
runtime 0
common 0
imglib 0
libimg2 0
necko 0
security 0
browserutils 0
intl 0
nglayout 0
accessiblity 0
editor 0
embedding 0
viewer 0
xpapp 0
extensions 0
plugins 0
mailnews 0
apprunner 0
resources 0
options_flags
pull_by_date 0
chrome_jars 1
chrome_files 0
use_jars 1
transformiix 1
mathml 0 MOZ_MATHML
svg 0 MOZ_SVG
# svg requires libart, which is an lgpl library. You need to pull it
# explicitly.
libart_lgpl 0
mng 1
ldap 1 MOZ_LDAP_XPCOM
ldap_experimental 0 MOZ_LDAP_XPCOM_EXPERIMENTAL
xmlextras 1
wsp 0 MOZ_WSP
inspector 1
mailextras 1
xptlink 0
psm 0 MOZ_PSM
embedding_test 1
embedding_chrome 0
embedding_xulprefs 0
embedding_xulsecurity 0
carbon 0 TARGET_CARBON
useimg2 1 USE_IMG2
lowmem 0 MOZ_MAC_LOWMEM
accessible 1 ACCESSIBILITY
bidi 1 IBMBIDI
p3p 0
jsd 1
venkman 1
moz_logging 1 MOZ_LOGGING
chatzilla 1
content_packs 1
xml_rpc 1
cview 1
help 1
timeline 0 MOZ_TIMELINE
static_build 0 MOZ_STATIC_COMPONENT_LIBS
string_debug 0 DEBUG_STRING
string_stats 0 DEBUG_STRING_STATS
xpctools 0 XPC_TOOLS_SUPPORT
smime 1
mdn 1
print_preview 1 NS_PRINT_PREVIEW
moz_xul 1 MOZ_XUL
filepath_flags
idepath ":CodeWarrior IDE Path.txt"
sessionpath ":Mozilla session path.txt"
buildlogfilepath ":Build Logs:Mozilla build log.txt" # this is a path
scriptlogfilepath ":Build Logs:Mozilla script log.txt"

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
# List of modules to check out. Format is
# module, (tag), (date)
# where tag and date are optional (non-trailing commas are required)
#
# Examples:
# mozilla/nsprpub, NSPRPUB_CLIENT_TAG
# mozilla/gc, , 10/25/2000 12:00:00
#
mozilla/nsprpub, NETSCAPE_7_0_RTM
mozilla/security/nss, NETSCAPE_7_0_RTM
mozilla/security/manager, NETSCAPE_7_0_RTM
mozilla/accessible, NETSCAPE_7_0_RTM
mozilla/directory/c-sdk, NETSCAPE_7_0_RTM
mozilla/lib/mac/Instrumentation, NETSCAPE_7_0_RTM
mozilla/gfx2, NETSCAPE_7_0_RTM
mozilla/modules/libpr0n, NETSCAPE_7_0_RTM
SeaMonkeyAll, NETSCAPE_7_0_RTM
## You need this if you want to be able to use SVG
## Note that this library is under the LGPL, not the MPL
#mozilla/other-licenses/libart_lgpl

View File

@@ -0,0 +1,79 @@
#!perl
#
# 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):
# Simon Fraser <sfraser@netscape.com>
#
require 5.004;
use strict;
use Cwd;
use Moz::BuildUtils;
use Moz::BuildCore;
#-------------------------------------------------------------
# Where have the build options gone?
#
# The various build flags have been centralized into one place.
# The master list of options is in MozBuildFlags.txt. However,
# you should never need to edit that file, or this one.
#
# To customize what gets built, or where to start the build,
# edit the $prefs_file_name file in
# System Folder:Preferences:Mozilla build prefs:
# Documentation is provided in that file.
#-------------------------------------------------------------
my($prefs_file_name) = "Mozilla pull prefs";
#-------------------------------------------------------------
# hashes to hold build options
#-------------------------------------------------------------
my(%build);
my(%options);
my(%filepaths);
my(%optiondefines);
# Hash of input files for this build. Eventually, there will be
# input files for manifests, and projects too.
my(%inputfiles) = (
"buildflags", "MozillaBuildFlags.txt",
"checkoutdata", "MozillaCheckoutList.txt",
"buildprogress", "",
"buildmodule", "MozillaBuildList.pm",
"checkouttime", "Mozilla last checkout"
);
#-------------------------------------------------------------
# end build hashes
#-------------------------------------------------------------
# set the build root directory, which is the the dir above mozilla
SetupBuildRootDir(":mozilla:build:mac:build_scripts");
# Set up all the flags on $main::, like DEBUG, CARBON etc.
# Override the defaults using the preferences files.
SetupDefaultBuildOptions(0, ":mozilla:dist:viewer:", "");
my($do_checkout) = 1;
my($do_build) = 0;
RunBuild($do_checkout, $do_build, \%inputfiles, $prefs_file_name);

511
mozilla/client.mak Normal file
View File

@@ -0,0 +1,511 @@
# 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):
DEPTH=.
!if !defined(MOZ_TOP)
#enable builds from changed top level directories
MOZ_TOP=mozilla
!endif
MOZ_SRC_FLIPPED = $(MOZ_SRC:\=/)
MOZ_DIST_FLIPPED = $(MOZ_SRC_FLIPPED)/mozilla/dist
!ifdef MOZ_DEBUG
MOZ_OBJDIR = WIN32_D.OBJ
!else
MOZ_OBJDIR = WIN32_O.OBJ
!endif
#
# Command macro defines
#
#//------------------------------------------------------------------------
#// Figure out how to do the pull.
#//------------------------------------------------------------------------
# uncomment these, modify branch tag, and check in to branch for milestones
MOZ_BRANCH=NETSCAPE_7_0_RTM
NSPR_CO_TAG=NETSCAPE_7_0_RTM
PSM_CO_TAG=NETSCAPE_7_0_RTM
NSS_CO_TAG=NETSCAPE_7_0_RTM
LDAPCSDK_CO_TAG=NETSCAPE_7_0_RTM
ACCESSIBLE_CO_TAG=NETSCAPE_7_0_RTM
IMGLIB2_CO_TAG=NETSCAPE_7_0_RTM
GFX2_CO_TAG=NETSCAPE_7_0_RTM
!ifdef MOZ_BRANCH
CVS_BRANCH=-r $(MOZ_BRANCH)
!endif
!ifdef MOZ_DATE
CVS_BRANCH=$(CVS_BRANCH) -D "$(MOZ_DATE)"
!endif
# default pull is "quiet" but it can be overridden with MOZ_CVS_VERBOSE
!ifndef MOZ_CVS_VERBOSE
CVS_FLAGS=-q
!endif
# honor any user-defined CVS flags
!ifdef MOZ_CVS_FLAGS
CVS_FLAGS=$(CVS_FLAGS) $(MOZ_CVS_FLAGS)
!endif
# let's be explicit about CVSROOT... some windows cvs clients
# are too stupid to correctly work without the -d option
#
# if they are too stupid, they should fail. I am
# commenting this out because this does not work
# under 4nt. (%'s are evaluted differently)
#
# If it breaks you, mail dougt@netscape.com
# and leaf@mozilla.org
#
!if 0
!if defined(CVSROOT)
CVS_FLAGS=$(CVS_FLAGS) -d "$(CVSROOT)"
!endif
!endif
!ifndef MOZ_CO_FLAGS
MOZ_CO_FLAGS = -P
!endif
CVSCO = cvs $(CVS_FLAGS) co $(MOZ_CO_FLAGS) $(CVS_BRANCH)
#//------------------------------------------------------------------------
#// Figure out how to pull NSPR.
#// If no NSPR_CO_TAG is specified, use the default static tag
#//------------------------------------------------------------------------
!ifndef NSPR_CO_FLAGS
NSPR_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
NSPR_CO_FLAGS=$(NSPR_CO_FLAGS) $(CVS_BRANCH)
CVSCO_NSPR = cvs $(CVS_FLAGS) co $(NSPR_CO_FLAGS)
#//------------------------------------------------------------------------
#// Figure out how to pull NSS and PSM libs.
#// If no NSS_CO_TAG or PSM_CO_TAG is specified, use the default static tag
#//------------------------------------------------------------------------
!ifndef NSS_CO_FLAGS
NSS_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
NSS_CO_FLAGS=$(NSS_CO_FLAGS) $(CVS_BRANCH)
CVSCO_NSS = cvs $(CVS_FLAGS) co $(NSS_CO_FLAGS)
!ifndef PSM_CO_FLAGS
PSM_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
PSM_CO_FLAGS=$(PSM_CO_FLAGS) $(CVS_BRANCH)
CVSCO_PSM = cvs $(CVS_FLAGS) co $(PSM_CO_FLAGS)
#//------------------------------------------------------------------------
#// Figure out how to pull LDAP C SDK client libs.
#// If no LDAPCSDK_CO_TAG is specified, use the default tag
#//------------------------------------------------------------------------
!ifndef LDAPCSDK_CO_FLAGS
LDAPCSDK_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
LDAPCSDK_CO_FLAGS=$(LDAPCSDK_CO_FLAGS) $(CVS_BRANCH)
CVSCO_LDAPCSDK = cvs $(CVS_FLAGS) co $(LDAPCSDK_CO_FLAGS)
#//------------------------------------------------------------------------
#// Figure out how to pull accessibility libs.
#// If no ACCESSIBLE_CO_TAG is specified, use the default tag
#//------------------------------------------------------------------------
!ifndef ACCESSIBLE_CO_FLAGS
ACCESSIBLE_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
ACCESSIBLE_CO_FLAGS=$(ACCESSIBLE_CO_FLAGS) $(CVS_BRANCH)
CVSCO_ACCESSIBLE = cvs $(CVS_FLAGS) co $(ACCESSIBLE_CO_FLAGS)
#//------------------------------------------------------------------------
#// Figure out how to pull new image library.
#// If no IMGLIB2_CO_TAG is specified, use the default tag
#//------------------------------------------------------------------------
!ifndef IMGLIB2_CO_FLAGS
IMGLIB2_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
IMGLIB2_CO_FLAGS=$(IMGLIB2_CO_FLAGS) $(CVS_BRANCH)
CVSCO_IMGLIB2 = cvs $(CVS_FLAGS) co $(IMGLIB2_CO_FLAGS)
#//------------------------------------------------------------------------
#// Figure out how to pull new image library.
#// If no GFX2_CO_TAG is specified, use the default tag
#//------------------------------------------------------------------------
!ifndef GFX2_CO_FLAGS
GFX2_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
GFX2_CO_FLAGS=$(GFX2_CO_FLAGS) $(CVS_BRANCH)
CVSCO_GFX2 = cvs $(CVS_FLAGS) co $(GFX2_CO_FLAGS)
#//------------------------------------------------------------------------
#// Figure out how to pull the internal libart
#// (only pulled and built if MOZ_INTERNAL_LIBART_LGPL is set)
#// If no MOZ_INTERNAL_LIBART_CO_TAG is specified, use the default tag
#//------------------------------------------------------------------------
!if defined(MOZ_SVG) && !defined(MOZ_INTERNAL_LIBART_LGPL)
ERR_MESSAGE = ^
You are trying to build Mozilla with SVG support (MOZ_SVG=1), but you ^
haven not specified that mozilla/other-licenses/libart_lgpl should be ^
pulled and built. At the moment Mozilla SVG builds need this patched ^
version of libart. You either need to disable SVG support (unset MOZ_SVG) ^
or enable pulling and building by setting MOZ_INTERNAL_LIBART_LGPL=1.^
^
If you choose to pull and build libart, note that it is only licensed^
under the terms of the LGPL, not the MPL. (Which is why you have to opt^
in explicitly.)
!endif
!if defined(MOZ_INTERNAL_LIBART_LGPL)
!ifndef MOZ_INTERNAL_LIBART_CO_FLAGS
MOZ_INTERNAL_LIBART_CO_FLAGS=$(MOZ_CO_FLAGS)
!endif
!if "$(MOZ_INTERNAL_LIBART_CO_TAG)" != ""
MOZ_INTERNAL_LIBART_CO_FLAGS=$(MOZ_INTERNAL_LIBART_CO_FLAGS) -r $(MOZ_INTERNAL_LIBART_CO_TAG)
!else
MOZ_INTERNAL_LIBART_CO_FLAGS=$(MOZ_INTERNAL_LIBART_CO_FLAGS) $(CVS_BRANCH)
!endif
CVSCO_MOZ_INTERNAL_LIBART = cvs $(CVS_FLAGS) co $(MOZ_INTERNAL_LIBART_CO_FLAGS)
!endif
## The master target
############################################################
pull_and_build_all: pull_all build_all_dep
## Rules for pulling the source from the cvs repository
############################################################
pull_clobber_and_build_all: pull_all clobber_all build_all
!if !defined(MOZ_INTERNAL_LIBART_LGPL)
pull_all: pull_nspr pull_psm pull_ldapcsdk pull_accessible pull_gfx2 pull_imglib2 pull_seamonkey
!else
pull_all: pull_nspr pull_psm pull_ldapcsdk pull_accessible pull_gfx2 pull_imglib2 pull_moz_internal_libart pull_seamonkey
!endif
pull_nspr: pull_clientmak
cd $(MOZ_SRC)\.
$(CVSCO_NSPR) mozilla/nsprpub
pull_nss:
cd $(MOZ_SRC)\.
$(CVSCO_NSS) mozilla/security/coreconf
$(CVSCO_NSS) mozilla/security/nss
pull_psm: pull_nss
cd $(MOZ_SRC)\.
$(CVSCO_PSM) mozilla/security/manager
$(CVSCO_PSM) mozilla/security/makefile.win
pull_ldapcsdk:
cd $(MOZ_SRC)\.
$(CVSCO_LDAPCSDK) mozilla/directory/c-sdk
pull_accessible:
cd $(MOZ_SRC)\.
$(CVSCO_ACCESSIBLE) mozilla/accessible
pull_gfx2:
cd $(MOZ_SRC)\.
$(CVSCO_GFX2) mozilla/gfx2
pull_imglib2:
cd $(MOZ_SRC)\.
$(CVSCO_IMGLIB2) mozilla/modules/libpr0n
!if defined(MOZ_INTERNAL_LIBART_LGPL)
pull_moz_internal_libart:
cd $(MOZ_SRC)\.
$(CVSCO_MOZ_INTERNAL_LIBART) mozilla/other-licenses/libart_lgpl
!endif
pull_xpconnect: pull_nspr
cd $(MOZ_SRC)\.
$(CVSCO) mozilla/include
$(CVSCO) mozilla/config
$(CVSCO) -l mozilla/js
$(CVSCO) -l mozilla/js/src
$(CVSCO) mozilla/js/src/fdlibm
$(CVSCO) mozilla/js/src/xpconnect
$(CVSCO) mozilla/modules/libreg
$(CVSCO) mozilla/xpcom
$(CVSCO) mozilla/string
# pull either layout only or seamonkey the browser
pull_layout:
cd $(MOZ_SRC)\.
$(CVSCO) RaptorWin
pull_seamonkey: pull_clientmak
cd $(MOZ_SRC)\.
$(CVSCO) SeaMonkeyAll
pull_clientmak:
cd $(MOZ_SRC)\.
$(CVSCO) mozilla/client.mak
############################################################
# nmake has to be hardcoded, or we have to depend on mozilla/config
# being pulled already to figure out what $(NMAKE) should be.
clobber_all: clobber_nspr clobber_ldapcsdk clobber_psm clobber_seamonkey
build_all: build_nspr build_ldapcsdk build_seamonkey
build_all_dep: depend libs
distclean:
@cd $(MOZ_SRC)\$(MOZ_TOP)\directory\c-sdk
gmake -f gmakefile.win distclean MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED)
@cd $(MOZ_SRC)\$(MOZ_TOP)\nsprpub
gmake -f gmakefile.win distclean MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED)
@cd $(MOZ_SRC)\$(MOZ_TOP)
nmake /f client.mak clobber_psm
nmake /f client.mak clobber_seamonkey
clobber_ldapcsdk:
@cd $(MOZ_SRC)\$(MOZ_TOP)\directory\c-sdk
gmake -f gmakefile.win clobber_all MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED) \
SHELL=sh
clobber_nspr:
@cd $(MOZ_SRC)\$(MOZ_TOP)\nsprpub
gmake -f gmakefile.win clobber_all MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED)
clobber_psm:
@cd $(MOZ_SRC)\$(MOZ_TOP)\security
nmake -f makefile.win clobber_all
clobber_xpconnect:
@cd $(MOZ_SRC)\$(MOZ_TOP)\.
-rd /s /q dist
@cd $(MOZ_SRC)\$(MOZ_TOP)\nsprpub
gmake -f gmakefile.win clobber_all MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED)
@cd $(MOZ_SRC)\$(MOZ_TOP)\include
nmake -f makefile.win clobber_all
@cd $(MOZ_SRC)\$(MOZ_TOP)\modules\libreg
nmake -f makefile.win clobber_all
@cd $(MOZ_SRC)\$(MOZ_TOP)\string
nmake -f makefile.win clobber_all
@cd $(MOZ_SRC)\$(MOZ_TOP)\xpcom
nmake -f makefile.win clobber_all
@cd $(MOZ_SRC)\$(MOZ_TOP)\js
nmake -f makefile.win clobber_all
@cd $(MOZ_SRC)\$(MOZ_TOP)\js\src\xpconnect
nmake -f makefile.win clobber_all
clobber_seamonkey:
@cd $(MOZ_SRC)\$(MOZ_TOP)\.
-rd /s /q dist
nmake -f makefile.win clobber_all
depend: export
@cd $(MOZ_SRC)\$(MOZ_TOP)\.
nmake -f makefile.win depend
depend_xpconnect:
@cd $(MOZ_SRC)\$(MOZ_TOP)\include
nmake -f makefile.win depend
@cd $(MOZ_SRC)\$(MOZ_TOP)\modules\libreg
nmake -f makefile.win depend
@cd $(MOZ_SRC)\$(MOZ_TOP)\string
nmake -f makefile.win depend
@cd $(MOZ_SRC)\$(MOZ_TOP)\xpcom
nmake -f makefile.win depend
@cd $(MOZ_SRC)\$(MOZ_TOP)\js\src
nmake -f makefile.win depend
@cd $(MOZ_SRC)\$(MOZ_TOP)\js\src\xpconnect
nmake -f makefile.win depend
build_nspr:
@cd $(MOZ_SRC)\$(MOZ_TOP)\nsprpub
gmake -f gmakefile.win MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED)
build_ldapcsdk:
@cd $(MOZ_SRC)\$(MOZ_TOP)\directory\c-sdk
gmake -f gmakefile.win MOZ_SRC_FLIPPED=$(MOZ_SRC_FLIPPED) SHELL=sh
build_psm:
@cd $(MOZ_SRC)\$(MOZ_TOP)\security
nmake -f makefile.win
build_xpconnect: build_nspr
@cd $(MOZ_SRC)\$(MOZ_TOP)\include
nmake -f makefile.win all
@cd $(MOZ_SRC)\$(MOZ_TOP)\modules\libreg
nmake -f makefile.win all
@cd $(MOZ_SRC)\$(MOZ_TOP)\xpcom
nmake -f makefile.win export
@cd $(MOZ_SRC)\$(MOZ_TOP)\string
nmake -f makefile.win all
@cd $(MOZ_SRC)\$(MOZ_TOP)\xpcom
nmake -f makefile.win libs
@cd $(MOZ_SRC)\$(MOZ_TOP)\js\src
nmake -f makefile.win all
@cd $(MOZ_SRC)\$(MOZ_TOP)\js\src\xpconnect
nmake -f makefile.win all
build_seamonkey:
@cd $(MOZ_SRC)\$(MOZ_TOP)\.
nmake -f makefile.win all
build_client:
@cd $(MOZ_SRC)\mozilla\.
nmake -f makefile.win all
build_layout:
@cd $(MOZ_SRC)\mozilla\.
nmake -f makefile.win all
build_dist:
@cd $(MOZ_SRC)\mozilla\.
nmake -f makefile.win all
libs:
@cd $(MOZ_SRC)\$(MOZ_TOP)\.
nmake -f makefile.win libs
export: build_nspr build_ldapcsdk
@cd $(MOZ_SRC)\$(MOZ_TOP)\.
nmake -f makefile.win export
clobber_dist:
@cd $(MOZ_SRC)\mozilla\.
nmake -f makefile.win clobber_all
clobber_client:
@cd $(MOZ_SRC)\mozilla\.
nmake -f makefile.win clobber_all
clobber_layout:
@cd $(MOZ_SRC)\mozilla\.
nmake -f makefile.win clobber_all
browse_info::
cd $(MOZ_SRC)\$(MOZ_TOP)
-dir /s /b *.sbr > sbrlist.tmp
-bscmake /Es /o mozilla.bsc @sbrlist.tmp
-rm sbrlist.tmp
regchrome::
@cd $(MOZ_SRC)\mozilla\.
nmake /f makefile.win regchrome
deliver::
@cd $(MOZ_SRC)\mozilla\.
nmake /f makefile.win splitsymbols
#//------------------------------------------------------------------------
#// Utility stuff...
#//------------------------------------------------------------------------
#//------------------------------------------------------------------------
# Verify that MOZ_SRC is set correctly
#//------------------------------------------------------------------------
# Check to see if it is set at all
!if "$(MOZ_SRC)"==""
MOZ_SRC = $(MAKEDIR)\..
!endif
#
# create a temp file at the root and make sure it is visible from MOZ_SRC
#
!if [copy $(MAKEDIR)\client.mak $(MAKEDIR)\xyzzy.tmp > NUL] == 0
!endif
!if !EXIST( $(MOZ_SRC)\mozilla\xyzzy.tmp )
ERR_MESSAGE=$(ERR_MESSAGE)^
MOZ_SRC isn't set correctly: [$(MOZ_SRC)\mozilla]!=[$(MAKEDIR)]
!endif
!if [del $(MAKEDIR)\xyzzy.tmp]
!endif
#//------------------------------------------------------------------------
# Verify that MOZ_BITS is set
#//------------------------------------------------------------------------
!if !defined(MOZ_BITS)
ERR_MESSAGE=$(ERR_MESSAGE)^
Environment variable MOZ_BITS isn't set.
!endif
!if !defined(MOZ_TOOLS)
ERR_MESSAGE=$(ERR_MESSAGE)^
Environment variable MOZ_TOOLS isn't set.
!endif
#//------------------------------------------------------------------------
#// Display error
#//------------------------------------------------------------------------
!if "$(ERR_MESSAGE)" != ""
ERR_MESSAGE = ^
client.mak: ^
$(ERR_MESSAGE) ^
^
client.mak: usage^
^
nmake -f client.mak [MOZ_BRANCH=<cvs_branch_name>] ^
[MOZ_DATE=<cvs_date>]^
[pull_and_build_all]^
[pull_all]^
[build_all]^
^
Environment variables:^
^
MOZ_BITS set to 32^
MOZ_TOOLS set to the directory containing the needed tools ^
!ERROR $(ERR_MESSAGE)
!endif

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_RTM
NSPR_CO_TAG = NETSCAPE_7_0_RTM
PSM_CO_TAG = NETSCAPE_7_0_RTM
NSS_CO_TAG = NETSCAPE_7_0_RTM
LDAPCSDK_CO_TAG = NETSCAPE_7_0_RTM
ACCESSIBLE_CO_TAG = NETSCAPE_7_0_RTM
GFX2_CO_TAG = NETSCAPE_7_0_RTM
IMGLIB2_CO_TAG = NETSCAPE_7_0_RTM
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,5 +0,0 @@
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>

View File

@@ -1,69 +0,0 @@
<?php
/* SVN FILE: $Id: app_controller.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* Short description for file.
*
* This file is application-wide controller file. You can put all
* application-wide controller-related methods here.
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.cake
* @since CakePHP v 0.2.9
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* Short description for class.
*
* Add your application-wide methods in the class below, your controllers
* will inherit them.
*
* @package cake
* @subpackage cake.cake
*/
uses('Sanitize');
class AppController extends Controller {
/**
* This function is intended to be used with url parameters when passing them to
* a view. (This is useful when echoing values out in <input> tags, etc.
* Note that the keys to the arrays are escaped as well.
*
* @param array dirty parameters
* @return array cleaned values
*/
function decodeAndSanitize($params)
{
$clean = array();
foreach ($params as $var => $val) {
$var = $this->Sanitize->html(urldecode($var));
$val = $this->Sanitize->html(urldecode($val));
$clean[$var] = $val;
}
return $clean;
}
}
?>

View File

@@ -1,72 +0,0 @@
<?php
/* SVN FILE: $Id: app_model.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* Application model for Cake.
*
* This file is application-wide model file. You can put all
* application-wide model-related methods here.
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.cake
* @since CakePHP v 0.2.9
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* Application model for Cake.
*
* Add your application-wide methods in the class below, your models
* will inherit them.
*
* @package cake
* @subpackage cake.cake
*/
uses('sanitize');
class AppModel extends Model {
/**
* Will clean arrays for input into SQL.
* Note that the array keys are getting cleaned here as well. If you're using strings
* (with escapable characters in them) as keys to your array, be extra careful.
*
* @access public
* @param array to be cleaned
* @return array with sql escaped
*/
function cleanArrayForSql($array)
{
$sanitize = new Sanitize();
$clean = array();
foreach ($array as $var => $val)
{
$var = $sanitize->sql($var);
$val = $sanitize->sql($val);
$clean[$var] = $val;
}
return $clean;
}
}
?>

View File

@@ -1,76 +0,0 @@
;<?php die() ?>
; SVN FILE: $Id: acl.ini.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $
;/**
; * Short description for file.
; *
; *
; * PHP versions 4 and 5
; *
; * CakePHP : Rapid Development Framework <http://www.cakephp.org/>
; * Copyright (c) 2006, Cake Software Foundation, Inc.
; * 1785 E. Sahara Avenue, Suite 490-204
; * Las Vegas, Nevada 89104
; *
; * Licensed under The MIT License
; * Redistributions of files must retain the above copyright notice.
; *
; * @filesource
; * @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
; * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
; * @package cake
; * @subpackage cake.app.config
; * @since CakePHP v 0.10.0.1076
; * @version $Revision: 1.1.1.1 $
; * @modifiedby $LastChangedBy: phpnut $
; * @lastmodified $Date: 2006-05-24 19:14:24 $
; * @license http://www.opensource.org/licenses/mit-license.php The MIT License
; */
; acl.ini.php - Cake ACL Configuration
; ---------------------------------------------------------------------
; Use this file to specify user permissions.
; aco = access control object (something in your application)
; aro = access request object (something requesting access)
;
; User records are added as follows:
;
; [uid]
; groups = group1, group2, group3
; allow = aco1, aco2, aco3
; deny = aco4, aco5, aco6
;
; Group records are added in a similar manner:
;
; [gid]
; allow = aco1, aco2, aco3
; deny = aco4, aco5, aco6
;
; The allow, deny, and groups sections are all optional.
; NOTE: groups names *cannot* ever be the same as usernames!
;
; ACL permissions are checked in the following order:
; 1. Check for user denies (and DENY if specified)
; 2. Check for user allows (and ALLOW if specified)
; 3. Gather user's groups
; 4. Check group denies (and DENY if specified)
; 5. Check group allows (and ALLOW if specified)
; 6. If no aro, aco, or group information is found, DENY
;
; ---------------------------------------------------------------------
;-------------------------------------
;Users
;-------------------------------------
[username-goes-here]
groups = group1, group2
deny = aco1, aco2
allow = aco3, aco4
;-------------------------------------
;Groups
;-------------------------------------
[groupname-goes-here]
deny = aco5, aco6
allow = aco7, aco8

View File

@@ -1,50 +0,0 @@
<?php
/* SVN FILE: $Id: bootstrap.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* Short description for file.
*
* Long description for file
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP v 0.10.8.2117
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
*
* This file is loaded automatically by the app/webroot/index.php file after the core bootstrap.php is loaded
* This is an application wide file to load any function that is not used within a class define.
* You can also use this to include or require any files in your application.
*
*/
/**
* The settings below can be used to set additional paths to models, views and controllers.
* This is related to Ticket #470 (https://trac.cakephp.org/ticket/470)
*
* $modelPaths = array('full path to models', 'second full path to models', 'etc...');
* $viewPaths = array('this path to views', 'second full path to views', 'etc...');
* $controllerPaths = array('this path to controllers', 'second full path to controllers', 'etc...');
*
*/
//EOF
?>

View File

@@ -1,153 +0,0 @@
<?php
/* SVN FILE: $Id: core.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* This is core configuration file.
*
* Use it to configure core behaviour ofCake.
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP v 0.2.9
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* If you do not have mod rewrite on your system
* or if you prefer to use CakePHP pretty urls.
* uncomment the line below.
* Note: If you do have mod rewrite but prefer the
* CakePHP pretty urls, you also have to remove the
* .htaccess files
* release/.htaccess
* release/app/.htaccess
* release/app/webroot/.htaccess
*/
//define ('BASE_URL', env('SCRIPT_NAME'));
/**
* Set debug level here:
* - 0: production
* - 1: development
* - 2: full debug with sql
* - 3: full debug with sql and dump of the current object
*
* In production, the "flash messages" redirect after a time interval.
* With the other debug levels you get to click the "flash message" to continue.
*
*/
define('DEBUG', 0);
/**
* Turn of caching checking wide.
* You must still use the controller var cacheAction inside you controller class.
* You can either set it controller wide, or in each controller method.
* use var $cacheAction = true; or in the controller method $this->cacheAction = true;
*/
define ('CACHE_CHECK', false);
/**
* Error constant. Used for differentiating error logging and debugging.
* Currently PHP supports LOG_DEBUG
*/
define ('LOG_ERROR', 2);
/**
* CakePHP includes 3 types of session saves
* database or file. Set this to your preferred method.
* If you want to use your own save handler place it in
* app/config/name.php DO NOT USE file or database as the name.
* and use just the name portion below.
*
* Setting this to cake will save files to /cakedistro/tmp directory
* Setting it to php will use the php default save path
* Setting it to database will use the database
*
*
*/
define('CAKE_SESSION_SAVE', 'php');
/**
* Set a random string of used in session.
*
*/
define('CAKE_SESSION_STRING', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
/**
* Set the name of session cookie
*
*/
define('CAKE_SESSION_COOKIE', 'CAKEPHP');
/**
* Set level of Cake security.
*
*/
define('CAKE_SECURITY', 'high');
/**
* Set Cake Session time out.
* If CAKE_SECURITY define is set
* high: multiplied by 10
* medium: is multiplied by 100
* low is: multiplied by 300
*
* Number below is seconds.
*/
define('CAKE_SESSION_TIMEOUT', '120');
/**
* Uncomment the define below to use cake built in admin routes.
* You can set this value to anything you want.
* All methods related to the admin route should be prefixed with the
* name you set CAKE_ADMIN to.
* For example: admin_index, admin_edit
*/
//define('CAKE_ADMIN', 'admin');
/**
* The define below is used to turn cake built webservices
* on or off. Default setting is off.
*/
define('WEBSERVICES', 'off');
/**
* Compress output CSS (removing comments, whitespace, repeating tags etc.)
* This requires a/var/cache directory to be writable by the web server (caching).
* To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use Controller::cssTag().
*/
define('COMPRESS_CSS', false);
/**
* If set to true, helpers would output data instead of returning it.
*/
define('AUTO_OUTPUT', false);
/**
* If set to false, session would not automatically be started.
*/
define('AUTO_SESSION', true);
/**
* Set the max size of file to use md5() .
*/
define('MAX_MD5SIZE', (5*1024)*1024 );
/**
* To use Access Control Lists with Cake...
*/
define('ACL_CLASSNAME', 'DB_ACL');
define('ACL_FILENAME', 'dbacl'.DS.'db_acl');
?>

View File

@@ -1,79 +0,0 @@
<?php
/* SVN FILE: $Id: database.php.default,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* This is core configuration file.
*
* Use it to configure core behaviour ofCake.
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP v 0.2.9
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* In this file you set up your database connection details.
*
* @package cake
* @subpackage cake.config
*/
/**
* Database configuration class.
* You can specify multiple configurations for production, development and testing.
*
* driver =>
* mysql, postgres, sqlite, adodb-drivername, pear-drivername
*
* connect =>
* MySQL set the connect to either mysql_pconnect of mysql_connect
* PostgreSQL set the connect to either pg_pconnect of pg_connect
* SQLite set the connect to sqlite_popen sqlite_open
* ADOdb set the connect to one of these
* (http://phplens.com/adodb/supported.databases.html) and
* append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
*
* host =>
* the host you connect to the database
* MySQL 'localhost' to add a port number use 'localhost:port#'
* PostgreSQL 'localhost' to add a port number use 'localhost port=5432'
*
*/
class DATABASE_CONFIG
{
var $default = array('driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'project_name',
'prefix' => '');
var $test = array('driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'project_name-test',
'prefix' => '');
}
?>

View File

@@ -1,74 +0,0 @@
<?php
/* SVN FILE: $Id: inflections.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* Custom Inflected Words.
*
* This file is used to hold words that are not matched in the normail Inflector::pluralize() and
* Inflector::singularize()
*
* PHP versions 4 and %
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP v 1.0.0.2312
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* This is a key => value array of regex used to match words.
* If key matches then the value is returned.
*
* $pluralRules = array('/(s)tatus$/i' => '\1\2tatuses', '/^(ox)$/i' => '\1\2en', '/([m|l])ouse$/i' => '\1ice');
*/
$pluralRules = array();
/**
* This is a key only array of plural words that should not be inflected.
* Notice the last comma
*
* $uninflectedPlural = array('.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox');
*/
$uninflectedPlural = array();
/**
* This is a key => value array of plural irregular words.
* If key matches then the value is returned.
*
* $irregularPlural = array('atlas' => 'atlases', 'beef' => 'beefs', 'brother' => 'brothers')
*/
$irregularPlural = array();
/**
* This is a key => value array of regex used to match words.
* If key matches then the value is returned.
*
* $singularRules = array('/(s)tatuses$/i' => '\1\2tatus', '/(matr)ices$/i' =>'\1ix','/(vert|ind)ices$/i')
*/
$singularRules = array();
/**
* This is a key only array of singular words that should not be inflected.
* You should not have to change this value below if you do change it use same format
* as the $uninflectedPlural above.
*/
$uninflectedSingular = $uninflectedPlural;
/**
* This is a key => value array of singular irregular words.
* Most of the time this will be a reverse of the above $irregularPlural array
* You should not have to change this value below if you do change it use same format
*
* $irregularSingular = array('atlases' => 'atlas', 'beefs' => 'beef', 'brothers' => 'brother')
*/
$irregularSingular = array_flip($irregularPlural);
?>

View File

@@ -1,51 +0,0 @@
<?php
/* SVN FILE: $Id: routes.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* Short description for file.
*
* In this file, you set up routes to your controllers and their actions.
* Routes are very important mechanism that allows you to freely connect
* different urls to chosen controllers and their actions (functions).
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP v 0.2.9
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* Here, we are connecting '/' (base path) to controller called 'Pages',
* its action called 'display', and we pass a param to select the view file
* to use (in this case, /app/views/pages/home.thtml)...
*/
$Route->connect ('/', array('controller'=>'results', 'action'=>'', ''));
/**
* ...and connect the rest of 'Pages' controller's urls.
*/
$Route->connect ('/pages/*', array('controller'=>'pages', 'action'=>'display'));
/**
* Then we connect url '/test' to our test controller. This is helpfull in
* developement.
*/
$Route->connect ('/tests', array('controller'=>'tests', 'action'=>'index'));
?>

View File

@@ -1,30 +0,0 @@
CREATE TABLE `acos` (
`id` int(11) NOT NULL auto_increment,
`model` varchar(255) NOT NULL default '',
`object_id` int(11) default NULL,
`alias` varchar(255) NOT NULL default '',
`lft` int(11) default NULL,
`rght` int(11) default NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `aros` (
`id` int(11) NOT NULL auto_increment,
`model` varchar(255) NOT NULL default '',
`user_id` int(11) default NULL,
`alias` varchar(255) NOT NULL default '',
`lft` int(11) default NULL,
`rght` int(11) default NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `aros_acos` (
`id` int(11) NOT NULL auto_increment,
`aro_id` int(11) default NULL,
`aco_id` int(11) default NULL,
`_create` int(1) NOT NULL default '0',
`_read` int(1) NOT NULL default '0',
`_update` int(1) NOT NULL default '0',
`_delete` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
);

View File

@@ -1,11 +0,0 @@
-- @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
-- @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
-- @since CakePHP v 0.10.8.1997
-- @version $Revision: 1.1.1.1 $
CREATE TABLE cake_sessions (
id varchar(255) NOT NULL default '',
data text,
expires int(11) default NULL,
PRIMARY KEY (id)
);

View File

@@ -1,7 +0,0 @@
<?php
class ApplicationsController extends AppController {
var $name = 'Applications';
}
?>

View File

@@ -1,7 +0,0 @@
<?php
class IntentionsController extends AppController {
var $name = 'Intentions';
}
?>

View File

@@ -1,7 +0,0 @@
<?php
class IssuesController extends AppController {
var $name = 'Issues';
}
?>

View File

@@ -1,122 +0,0 @@
<?php
/* Include the CSV library. It would be nice to make this OO sometime */
vendor('csv/csv');
class ResultsController extends AppController {
var $name = 'Results';
/**
* Model's this controller uses
* @var array
*/
var $uses = array('Application','Result');
/**
* Cake Helpers
* @var array
*/
var $helpers = array('Html', 'Javascript', 'Export', 'Pagination','Time');
/**
* Pagination helper variable array
* @access public
* @var array
*/
var $pagination_parameters = array();
/**
* Will hold a sanitize object
* @var object
*/
var $Sanitize;
/**
* Constructor - sets up the sanitizer and the pagination
*/
function ResultsController()
{
parent::AppController();
$this->Sanitize = new Sanitize();
// Pagination Stuff
$this->pagination_parameters['show'] = empty($_GET['show'])? '10' : $this->Sanitize->paranoid($_GET['show']);
$this->pagination_parameters['sortBy'] = empty($_GET['sort'])? 'created' : $this->Sanitize->paranoid($_GET['sort']);
$this->pagination_parameters['direction'] = empty($_GET['direction'])? 'desc': $this->Sanitize->paranoid($_GET['direction']);
$this->pagination_parameters['page'] = empty($_GET['page'])? '1': $this->Sanitize->paranoid($_GET['page']);
$this->pagination_parameters['order'] = $this->modelClass.'.'.$this->pagination_parameters['sortBy'].' '.strtoupper($this->pagination_parameters['direction']);
}
/**
* Front page will show the graph
*/
function index()
{
// Products dropdown
$this->set('products', $this->Application->getApplications());
// Fill in all the data passed in $_GET
$this->set('url_params',$this->decodeAndSanitize($this->params['url']));
// We'll need to include the graphing libraries
$this->set('include_graph_libraries', true);
// Core data to show on page
$this->set('descriptionAndTotalsData',$this->Result->getDescriptionAndTotalsData($this->params['url']));
}
/**
* Display a table of user comments
*/
function comments()
{
// Products dropdown
$this->set('products', $this->Application->getApplications());
// Fill in all the data passed in $_GET
$this->set('url_params',$this->decodeAndSanitize($this->params['url']));
// Pagination settings
$paging['style'] = 'html';
$paging['link'] = "/results/comments/?product=".urlencode($this->params['url']['product'])."&start_date=".urlencode($this->params['url']['start_date'])."&end_date=".urlencode($this->params['url']['end_date'])."&show={$this->pagination_parameters['show']}&sort={$this->pagination_parameters['sortBy']}&direction={$this->pagination_parameters['direction']}&page=";
$paging['count'] = $this->Result->getCommentCount($this->params['url']);
$paging['page'] = $this->pagination_parameters['page'];
$paging['limit'] = $this->pagination_parameters['show'];
$paging['show'] = array('10','25','50');
// No point in showing them an error if they click on "show 50" but they are
// already on the last page.
if ($paging['count'] < ($this->pagination_parameters['page'] * ($this->pagination_parameters['show']/2))) {
$this->pagination_parameters['page'] = $paging['page'] = 1;
}
// Set pagination array
$this->set('paging',$paging);
// Core data to show on page
$this->set('commentsData',$this->Result->getComments($this->params['url'], $this->pagination_parameters));
}
/**
* Display a csv
*/
function csv()
{
// Get rid of the header/footer/etc.
$this->layout = null;
// Our CSV library sends headers and everything. Keep the view empty!
csv_send_csv($this->Result->getCsvExportData($this->params['url']));
// I'm not exiting here in case someone is going to use post callback stuff.
// In development, that means extra lines get added to our CSVs, but in
// production it should be clean.
}
}
?>

View File

@@ -1,27 +0,0 @@
<?php
/* SVN FILE: $Id: index.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app
* @since CakePHP v 0.10.0.1076
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
require 'webroot'.DIRECTORY_SEPARATOR.'index.php';
?>

View File

@@ -1,24 +0,0 @@
<?php
class Application extends AppModel {
var $name = 'Application';
var $hasOne = array('Result');
var $hasAndBelongsToMany = array(
'Intention' => array('className' => 'Intention'),
'Issue' => array('className' => 'Issue')
);
/**
* This was added because running findAll() on this model does a left join on the
* results table which takes around 10 seconds to grab all the data. All I want
* is a list of the applications...
*
* @return array rows representing each application
*/
function getApplications()
{
return $this->query('SELECT * FROM `applications` ORDER BY `id`');
}
}
?>

View File

@@ -1,12 +0,0 @@
<?php
class Intention extends AppModel {
var $name = 'Intention';
var $hasOne = array('Result');
var $hasAndBelongsToMany = array('Application' =>
array('className' => 'Application')
);
}
?>

View File

@@ -1,10 +0,0 @@
<?php
class Issue extends AppModel {
var $name = 'Issue';
var $hasAndBelongsToMany = array(
'Application' => array('className' => 'Application'),
'Result' => array('className' => 'Result')
);
}
?>

View File

@@ -1,339 +0,0 @@
<?php
class Result extends AppModel {
var $name = 'Result';
var $belongsTo = array('Application', 'Intention');
var $hasAndBelongsToMany = array('Issue' =>
array('className' => 'Issue')
);
/**
* Count's all the comments, according to the parameters.
* @param array URL parameters
* @return Cake's findCount() value
*/
function getCommentCount($params)
{
// Clean parameters
$params = $this->cleanArrayForSql($params);
// We only want to see rows with comments
$_conditions = array("comments NOT LIKE ''");
if (!empty($params['start_date'])) {
$_timestamp = strtotime($params['start_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
array_push($_conditions, "`created` >= '{$_date}'");
}
}
if (!empty($params['end_date'])) {
$_timestamp = strtotime($params['end_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
array_push($_conditions, "`created` <= '{$_date}'");
}
}
if (!empty($params['product'])) {
// product's come in looking like:
// Mozilla Firefox 1.5.0.1
$_exp = explode(' ',urldecode($params['product']));
if(count($_exp) == 3) {
$_product = $_exp[0].' '.$_exp[1];
$_version = $_exp[2];
/* Note that 'Application' is not the actual name of the table! You can
* thank cake for that.*/
array_push($_conditions, "`Application`.`name` LIKE '%{$_product}%'");
array_push($_conditions, "`Application`.`version` LIKE '%{$_version}%'");
} else {
// defaults I guess?
array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'");
array_push($_conditions, "`Application`.`version` LIKE '1.5'");
}
} else {
// I'm providing a default here, because otherwise all results will be
// returned (across all applications) and that is not desired
array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'");
array_push($_conditions, "`Application`.`version` LIKE '1.5'");
}
// Do the actual query
$comments = $this->findCount($_conditions);
return $comments;
}
/**
* Will retrieve all the comments within param's and pagination's parameters
* @param array URL parameters
* @param array pagination values from the controller
* @param boolean if privacy is true phone numbers and email addresses will be
* masked
* @return cake result set
*/
function getComments($params, $pagination, $privacy=true)
{
$params = $this->cleanArrayForSql($params);
// We only want to see rows with comments
$_conditions = array("comments NOT LIKE ''");
if (!empty($params['start_date'])) {
$_timestamp = strtotime($params['start_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
array_push($_conditions, "`created` >= '{$_date}'");
}
}
if (!empty($params['end_date'])) {
$_timestamp = strtotime($params['end_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
array_push($_conditions, "`created` <= '{$_date}'");
}
}
if (!empty($params['product'])) {
// product's come in looking like:
// Mozilla Firefox 1.5.0.1
$_exp = explode(' ',urldecode($params['product']));
if(count($_exp) == 3) {
$_product = $_exp[0].' '.$_exp[1];
$_version = $_exp[2];
/* Note that 'Application' is not the actual name of the table! You can
* thank cake for that.*/
array_push($_conditions, "`Application`.`name` LIKE '%{$_product}%'");
array_push($_conditions, "`Application`.`version` LIKE '%{$_version}%'");
} else {
// defaults I guess?
array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'");
array_push($_conditions, "`Application`.`version` LIKE '1.5'");
}
} else {
// I'm providing a default here, because otherwise all results will be
// returned (across all applications) and that is not desired
array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'");
array_push($_conditions, "`Application`.`version` LIKE '1.5'");
}
$comments = $this->findAll($_conditions, null, $pagination['order'], $pagination['show'], $pagination['page']);
if ($privacy) {
// Pull out all the email addresses and phone numbers
foreach ($comments as $var => $val) {
// Handle foo@bar.com
$_email_regex = '/\ ?(.+)?@(.+)?\.(.+)?\ ?/';
$comments[$var]['Result']['comments'] = preg_replace($_email_regex,'$1@****.$3',$comments[$var]['Result']['comments']);
$comments[$var]['Result']['intention_text'] = preg_replace($_email_regex,'$1@****.$3',$comments[$var]['Result']['intention_text']);
// Handle xxx-xxx-xxxx
$_phone_regex = '/([0-9]{3})[ .-]?[0-9]{4}/';
$comments[$var]['Result']['comments'] = preg_replace($_phone_regex,'$1-****',$comments[$var]['Result']['comments']);
$comments[$var]['Result']['intention_text'] = preg_replace($_phone_regex,'$1-****',$comments[$var]['Result']['intention_text']);
}
}
return $comments;
}
/**
* This function runs the query to get the export data for the CSV file.
*
* @param array URL parameters
* @param boolean if privacy is true phone numbers and email addresses will be
* masked
* @return array two dimensional array that should be pretty easy to transform
* into a CSV.
*/
function getCsvExportData($params, $privacy=true)
{
$params = $this->cleanArrayForSql($params);
// We have to use a left join here because there isn't always an intention
$_query = "
SELECT
`results`.`id`,
`results`.`created`,
`results`.`intention_text` as `intention_other`,
`results`.`comments`,
`intentions`.`description` as `intention`
FROM `results`
LEFT JOIN `intentions` ON `results`.`intention_id`=`intentions`.`id`
INNER JOIN `applications` ON `applications`.`id` = `results`.`application_id`
WHERE
1=1
";
if (!empty($params['start_date'])) {
$_timestamp = strtotime($params['start_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
$_query .= " AND `results`.`created` >= '{$_date}'";
}
}
if (!empty($params['end_date'])) {
$_timestamp = strtotime($params['end_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
$_query .= " AND `results`.`created` <= '{$_date}'";
}
}
if (!empty($params['product'])) {
// product's come in looking like:
// Mozilla Firefox 1.5.0.1
$_exp = explode(' ',urldecode($params['product']));
if(count($_exp) == 3) {
$_product = $_exp[0].' '.$_exp[1];
$_version = $_exp[2];
$_query .= " AND `applications`.`name` LIKE '{$_product}'";
$_query .= " AND `applications`.`version` LIKE '{$_version}'";
} else {
// defaults I guess?
$_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'";
$_query .= " AND `applications`.`version` LIKE '1.5'";
}
} else {
// I'm providing a default here, because otherwise all results will be
// returned (across all applications) and that is not desired
$_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'";
$_query .= " AND `applications`.`version` LIKE '1.5'";
}
$_query .= " ORDER BY `results`.`created` ASC";
$res = $this->query($_query);
// Since we're exporting to a CSV, we need to flatten the results into a 2
// dimensional table array
$newdata = array();
foreach ($res as $result) {
$newdata[] = array_merge($result['results'], $result['intentions']);
}
if ($privacy) {
// Pull out all the email addresses and phone numbers
foreach ($newdata as $var => $val) {
// Handle foo@bar.com
$_email_regex = '/\ ?(.+)?@(.+)?\.(.+)?\ ?/';
$newdata[$var]['comments'] = preg_replace($_email_regex,'$1@****.$3',$newdata[$var]['comments']);
$newdata[$var]['intention_other'] = preg_replace($_email_regex,'$1@****.$3',$newdata[$var]['intention_other']);
// Handle xxx-xxx-xxxx
$_phone_regex = '/([0-9]{3})[ .-]?[0-9]{4}/';
$newdata[$var]['comments'] = preg_replace($_phone_regex,'$1-****',$newdata[$var]['comments']);
$newdata[$var]['intention_other'] = preg_replace($_phone_regex,'$1-****',$newdata[$var]['intention_other']);
}
}
// Our CSV library just prints out everything in order, so we have to put the
// column labels on here ourselves
$newdata = array_merge(array(array_keys($newdata[0])), $newdata);
return $newdata;
}
/**
* Will retrieve the information used for graphing.
* @param the url parameters (unescaped)
* @return a result set
*/
function getDescriptionAndTotalsData($params)
{
// Clean parameters for inserting into SQL
$params = $this->cleanArrayForSql($params);
/* It would be nice to drop something like this in the SELECT:
*
* CONCAT(COUNT(*)/(SELECT COUNT(*) FROM our_giant_query_all_over_again)*100,'%') AS `percentage`
*/
$_query = "
SELECT
issues.description,
COUNT( DISTINCT results.id ) AS total
FROM
issues
LEFT JOIN
issues_results ON issues_results.issue_id=issues.id
LEFT JOIN results ON results.id=issues_results.result_id AND results.application_id=applications.id
JOIN applications_issues ON applications_issues.issue_id=issues.id
JOIN applications ON applications.id=applications_issues.application_id
WHERE 1=1
";
if (!empty($params['start_date'])) {
$_timestamp = strtotime($params['start_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
$_query.= " AND `results`.`created` >= '{$_date}'";
}
}
if (!empty($params['end_date'])) {
$_timestamp = strtotime($params['end_date']);
if (!($_timestamp == -1) || $_timestamp == false) {
$_date = date('Y-m-d H:i:s', $_timestamp);//sql format
$_query .= " AND `results`.`created` <= '{$_date}'";
}
}
if (!empty($params['product'])) {
// product's come in looking like:
// Mozilla Firefox 1.5.0.1
$_exp = explode(' ',urldecode($params['product']));
if(count($_exp) == 3) {
$_product = $_exp[0].' '.$_exp[1];
$_version = $_exp[2];
$_query .= " AND `applications`.`name` LIKE '{$_product}'";
$_query .= " AND `applications`.`version` LIKE '{$_version}'";
} else {
// defaults I guess?
$_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'";
$_query .= " AND `applications`.`version` LIKE '1.5'";
}
} else {
// I'm providing a default here, because otherwise all results will be
// returned (across all applications) and that is not desired
$_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'";
$_query .= " AND `applications`.`version` LIKE '1.5'";
}
$_query .= " GROUP BY `issues`.`description`
ORDER BY `issues`.`description` DESC";
return $this->query($_query);
}
}
?>

View File

@@ -1,188 +0,0 @@
<?php
/**
* Functions that take a db result and export it to CSV.
* Usage example:
* <code>
* if ($_GET['csv'])
* {
* $res=db_query("SELECT * FROM fic_courses");
* csv_send_csv($res);
* exit;
* }
* </code>
* @package libs
* @subpackage csv
* @author Richard Faaberg <faabergr@onid.orst.edu>
* @author Mike Morgan <mike.morgan@oregonstate.edu>
*/
/**
* Use a resource or two dimensional array, then send the CSV results to user.
* @param mixed $res MySQL resource / result, or a two dimensional array
* @param string $name name of the export file
* @return bool true if file sent, false otherwise
*/
function csv_send_csv($res,$name=null)
{
// set name of the export file
$filename=(is_null($name))?'export-'.date('Y-m-d').'.csv':$name.'.csv';
// check for valid resource
if ( is_resource($res) )
{
$csv=csv_export_to_csv($res);
}
elseif( is_array($res) && !empty($res) )
{
foreach ($res as $row)
{
if ( !is_array($row) )
;
else
$csv[] = csv_array_to_csv($row)."\n";
}
}
if ( is_array($csv) )
{
// stream csv to user
header("Content-type: application/x-csv");
header('Content-disposition: inline; filename="'.$filename.'"');
header('Cache-Control: private');
header('Pragma: public');
foreach ($csv as $row)
{
echo $row;
}
return true;
}
return false;
}
/**
* Replace quotes inside of a field with double quotes, which is something CSV requires.
* @param string $string unquoted quotes
* @return string $string quoted quotes
*/
function csv_fix_quotes($string)
{
return preg_replace('/"/','""',$string);
}
/**
* Replace line breaks with commas trailed by a space.
* @param string $string string containing line breaks
* @param string string without line breaks
*/
function csv_fix_line_breaks($string)
{
return preg_replace('/(\n\r|\r)/','\n',$string);
}
/**
* Replaces instances of double quotes in a string with a single quote.
* @param string $string the string to perform the replacement on
* @return string the string with "" replaced by "
*/
function csv_unfix_quotes($string)
{
return preg_replace('/""/', '"', $string);
}
/**
* Place quotes outside of every field, which inherently solves space, line break issues.
* @param string $string
* @return string $string with quotes around it
*/
function csv_add_quotes($string)
{
return '"'.$string.'"';
}
/**
* Removes quotes from the beginning and the end of a string.
* @param string $string the string to remove the quotes from
* @return string the string, sans quotes at the beginning and end
*/
function csv_remove_quotes($string)
{
$pattern = "/^\"(.*)\"$/";
$replacement = "$1";
return preg_replace($pattern, $replacement, $string);
}
/**
* Convert an array into a CSV string with quotes around each value.
* @param array $array
* @return string the values in $array surrounded by quotes and separated by commas
*/
function csv_array_to_csv($array)
{
$csv_arr = array();
foreach ($array as $value)
{
$csv_arr[]=csv_add_quotes(csv_fix_quotes(csv_fix_line_breaks($value)));
}
$csv_string=implode(',',$csv_arr);
return $csv_string;
}
/**
* Convert a CSV string into an array.
* Please use sparingly - this creates temp files
* @param string $string the CSV string
* @return array the elements from the CSV string in an array
*/
function csv_csv_to_array($string)
{
$return = array();
$length = strlen($string);
// create a temp file and write the string to it
$tmpfname = tempnam('/tmp', 'csvlib');
$fh = fopen($tmpfname, 'w');
fwrite($fh, $string);
fclose($fh);
// open the file for csv parsing
$csvh = fopen($tmpfname, 'r');
while (($arraydata = fgetcsv($csvh, $length, ',')) !== false)
{
$return = array_merge($return, $arraydata);
}
fclose($csvh);
unlink($tmpfname);
return $return;
}
/**
* Read a CSV file into a two dimensional array
* It returns all the rows in the file, so if the first row are headers, you'd need to take care of that in the returned array
* @param string $filepath the path to the csv file
* @param string $delimiter delimiter, default to ','
* @param string $enclosure enclosure character, default to '"'
* @return &array the two dimensional array with the csv file content, or an empty if an error occured
*/
function &csv_csv_file_to_array($filepath, $delimiter=',', $enclosure='"')
{
$return = array();
if (!file_exists($filepath) || !is_readable($filepath))
return $return;
$fh =& fopen($filepath, 'r');
$size = filesize($filepath)+1;
while ($data =& fgetcsv($fh, $size, $delimiter, $enclosure))
{
$return[] = $data;
}
fclose($fh);
return $return;
}
?>

View File

@@ -1,11 +0,0 @@
<div id="t_footer">
</div>
<!-- t_wrapper -->
</div>
<!-- t_border -->
</div>
</body>
</html>

View File

@@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Mozilla Uninstall Survey Data</title>
<meta name="author" content="Mozilla Corporation" />
<meta name="copyright" content="Mozilla Corporation" />
<?php echo $html->charset('UTF-8'); ?>
<?php echo $html->css('screen'); ?>
<?php if (isset($include_graph_libraries) && $include_graph_libraries):
echo $javascript->link('mochikit/MochiKit.js');
echo $javascript->link('plotkit/Base.js');
echo $javascript->link('plotkit/Layout.js');
echo $javascript->link('plotkit/Canvas.js');
echo $javascript->link('plotkit/SweetCanvas.js');
endif; ?>
</head>
<body>
<div id="t_border">
<div id="t_wrapper">
<a class="skipnav" href="#t_content">Skip Navigation Links</a>
<div id="t_header">
<div id="t_title">
<h1>Mozilla Firefox Uninstall Survey Data</h1>
</div>
</div>

View File

@@ -1,6 +0,0 @@
<div id="t_nav">
<ul>
<li><?php echo $html->link('Results', '/results'); ?></li>
<li><?php echo $html->link('Comments', '/results/comments'); ?></li>
</ul>
</div>

View File

@@ -1,36 +0,0 @@
<?php
/**
* When we're exporting data, we end up having to pass all the parameters
* via $_GET. Since we're doing this a few times per page (each graph, and the
* export hrefs) this helper should make that easier.
*/
class ExportHelper
{
/**
* Method to collect the current $_GET parameters and build another string from
* them.
*
* @param string cake URL that you want prepended to the result. eg: reports/graph/
* @param array the array of GET variables to add. These need to be
* pre-sanitized to print in html! This is designed to
* be used from the calling controller like:
* $params = $this->sanitize->html($url_parameters);
* @param string string to put between url and arguments (probably either '?' or
* '&')
* @param array array of strings which will be ignored
* @return string string with the url variables appeneded to it
*/
function buildUrlString($url, $params, $seperator='?', $ignore=array('url'))
{
$arguments = '';
foreach ($params as $var => $val) {
if (!in_array($var, $ignore)) {
$arguments .= empty($arguments) ? "{$var}={$val}" : "&amp;{$var}={$val}";
}
}
return "{$url}{$seperator}{$arguments}";
}
}
?>

View File

@@ -1,196 +0,0 @@
<?php
class PaginationHelper {
var $helpers = array('Html','Ajax');
var $_pageDetails = array();
var $link = '';
var $show = array();
var $page;
var $style;
/**
* Sets the default pagination options.
*
* @param array $paging an array detailing the page options
*/
function setPaging($paging)
{
if(!empty($paging))
{
$this->link = $paging['link'];
$this->show = $paging['show'];
$this->page = $paging['page'];
$this->style = $paging['style'];
$pageCount = ceil($paging['count'] / $paging['limit'] );
$this->_pageDetails = array(
'page'=>$paging['page'],
'recordCount'=>$paging['count'],
'pageCount' =>$pageCount,
'nextPage'=> ($paging['page'] < $pageCount) ? $paging['page']+1 : '',
'previousPage'=> ($paging['page']>1) ? $paging['page']-1 : '',
'limit'=>$paging['limit']
);
return true;
}
return false;
}
/**
* Displays limits for the query
*
* @param string $text - text to display before limits
* @param string $separator - display a separate between limits
*
**/
function show($text=null, $separator=null)
{
if (empty($this->_pageDetails)) { return false; }
if ( !empty($this->_pageDetails['recordCount']) )
{
$t = '';
if(is_array($this->show))
{
$t = $text.$separator;
foreach($this->show as $value)
{
$link = preg_replace('/show=(.*?)&/','show='.$value.'&',$this->link);
if($this->_pageDetails['limit'] == $value)
{
$t .= '<em>'.$value.'</em>'.$separator;
}
else
{
if($this->style == 'ajax')
{
$t .= $this->Ajax->linkToRemote($value, array("fallback"=>$this->action."#","url" => $link.$this->_pageDetails['page'],"update" => "ajax_update","method"=>"get")).$separator;
}
else
{
$t .= $this->Html->link($value,$link.$this->_pageDetails['page']).$separator;
}
}
}
}
return $t;
}
return false;
}
/**
* Displays current result information
*
* @param string $text - text to preceeding the number of results
*
**/
function result($text)
{
if (empty($this->_pageDetails)) { return false; }
if ( !empty($this->_pageDetails['recordCount']) )
{
if($this->_pageDetails['recordCount'] > $this->_pageDetails['limit'])
{
$start_row = $this->_pageDetails['page'] > 1 ? (($this->_pageDetails['page']-1)*$this->_pageDetails['limit'])+1:'1';
$end_row = ($this->_pageDetails['recordCount'] < ($start_row + $this->_pageDetails['limit']-1)) ? $this->_pageDetails['recordCount'] : ($start_row + $this->_pageDetails['limit']-1);
$t = $text.$start_row.'-'.$end_row.' of '.$this->_pageDetails['recordCount'];
}
else
{
$t = $text.$this->_pageDetails['recordCount'];
}
return $t;
}
return false;
}
/**
* Returns a list of page numbers separated by $separator
*
* @param string $separator - defaults to null
*
**/
function pageNumbers($separator=null)
{
if (empty($this->_pageDetails) || $this->_pageDetails['pageCount'] == 1) { return false; }
$t = array();
$text = '';
$pc = 1;
do
{
if($pc == $this->_pageDetails['page'])
{
$text = '<em>'.$pc.'</em>';
}
else
{
if($this->style == 'ajax')
{
$text = $this->Ajax->linkToRemote($pc, array("fallback"=>$this->action."#","url" =>$this->link.$pc,"update" => "ajax_update","method"=>"get"));
}
else
{
$text = $this->Html->link($pc,$this->link.$pc);
}
}
$t[] = $text;
$pc++;
}
while ($pc<=$this->_pageDetails['pageCount']);
$t = implode($separator, $t);
return $t;
}
/**
* Displays a link to the previous page, where the page doesn't exist then
* display the $text
*
* @param string $text - text display: defaults to next
*
**/
function prevPage($text='prev')
{
if (empty($this->_pageDetails)) { return false; }
if ( !empty($this->_pageDetails['previousPage']) )
{
if($this->style == 'ajax')
{
$t = $this->Ajax->linkToRemote($text, array("fallback"=>$this->action."#","url" => $this->link.$this->_pageDetails['previousPage'],"update" => "ajax_update","method"=>"get"));
}
else
{
$t = $this->Html->link($text,$this->link.$this->_pageDetails['previousPage']);
}
return $t;
}
return false;
}
/**
* Displays a link to the next page, where the page doesn't exist then
* display the $text
*
* @param string $text - text to display: defaults to next
*
**/
function nextPage($text='next')
{
if (empty($this->_pageDetails)) { return false; }
if (!empty($this->_pageDetails['nextPage']))
{
if($this->style == 'ajax')
{
$t = $this->Ajax->linkToRemote($text, array("fallback"=>$this->action."#","url" => $this->link.$this->_pageDetails['nextPage'],"update" => "ajax_update","method"=>"get"));
}
else
{
$t = $this->Html->link($text,$this->link.$this->_pageDetails['nextPage']);
}
return $t;
}
return false;
}
}
?>

View File

@@ -1,8 +0,0 @@
<?php echo $this->renderElement( 'header' ); ?>
<?php echo $this->renderElement( 'nav' ); ?>
<div id="t_content_container">
<div id="t_content">
<?php echo $content_for_layout;?>
</div>
</div>
<?php echo $this->renderElement( 'footer'); ?>

View File

@@ -1,51 +0,0 @@
<h1><?php echo Inflector::humanize($this->name); ?></h1>
<div id="queryform">
<?php echo $html->formTag('/results/comments/','get'); ?>
<span>
<label for="start_date">Start Date:</label>
<input type="text" name="start_date" id="start_date" value="<? echo isset($url_params['start_date']) ? $url_params['start_date'] : ''; ?>" />
<label for="end_date">End Date:</label>
<input type="text" name="end_date" id="end_date" value="<? echo isset($url_params['end_date']) ? $url_params['end_date'] : ''; ?>" />
</span>
<label for="product">Product:</label>
<select name="product" id="product">
<?php
foreach ($products as $select) :
$product = $select['applications']['name'].' '.$select['applications']['version'];
$selected = ($product == trim($url_params['product'])) ? ' selected="selected" ' : '';
?>
<option<?=$selected?>><?=$product?></option>
<?php endforeach; ?>
</select>
<input type="submit" name="submit" id="submit" value="Go" />
</form>
<br />
<span><small>Date format is yyyy-mm-dd. A blank date will use the largest possible range.</small></span>
</div>
<?php if (!empty($commentsData)) : ?>
<table class="comments" summary="User submitted comments.">
<tr><th>Date Recorded</th><th>Comment</th></tr>
<?php foreach ($commentsData as $var => $val) : ?>
<tr><td><?php echo $time->niceShort($val['Result']['created']); ?></td><td><?php echo nl2br(htmlspecialchars($val['Result']['comments'])); ?></td></tr>
<?php endforeach; ?>
</table>
<?php if($pagination->setPaging($paging)):?>
<ul id="page-numbers">
<li><?php echo $pagination->show('Show ', ' '); ?></li>
<li><?php echo $pagination->result('Results: '); ?></li>
<li><?php echo $pagination->pageNumbers(' '); ?></li>
</ul>
<?php endif;?>
<?php else: ?>
<div id="notice">There is no data available for your parameters. Please review your search criteria.</div>
<?php endif; ?>

View File

@@ -1,91 +0,0 @@
<h1><?php echo Inflector::humanize($this->name); ?></h1>
<div id="queryform">
<?php echo $html->formTag('/results/','get'); ?>
<span>
<label for="start_date">Start Date:</label>
<input type="text" name="start_date" id="start_date" value="<? echo isset($url_params['start_date']) ? $url_params['start_date'] : ''; ?>" />
<label for="end_date">End Date:</label>
<input type="text" name="end_date" id="end_date" value="<? echo isset($url_params['end_date']) ? $url_params['end_date'] : ''; ?>" />
</span>
<label for="product">Product:</label>
<select name="product" id="product">
<?php
foreach ($products as $select) :
$product = $select['applications']['name'].' '.$select['applications']['version'];
$selected = ($product == trim($url_params['product'])) ? ' selected="selected" ' : '';
?>
<option<?=$selected?>><?=$product?></option>
<?php endforeach; ?>
</select>
<input type="submit" name="submit" id="submit" value="Go" />
</form>
<br />
<span><small>Date format is yyyy-mm-dd. A blank date will use the largest possible range.</small></span>
</div>
<?php if (!empty($descriptionAndTotalsData)) : ?>
<?php
/* Prepare data for graphing */
$_dataset = '';
$_count = 0;
$_total = 0;
/* We've got to do 2 loops here because I need the totals to calculate
* percentages.
*/
foreach ($descriptionAndTotalsData as $var => $val) {
$_total += $val[0]['total'];
}
foreach ($descriptionAndTotalsData as $var => $val) {
// We're putting this in a js string, so escape the double quotes
$_description = str_replace('"','\"',$val['issues']['description']);
$_percentage = intval(($val[0]['total'] / $_total)*100);
$_dataset .= "[{$_count}, {$val[0]['total']}, \"{$_description} (n={$val[0]['total']}, {$_percentage}%)\"], ";
$_count++;
}
$_dataset = "[{$_dataset}]";
?>
<div id="graphcontainer">
<canvas id="graph" height="400" width="800">
<table class="results" summary="Firefox Uninstallation results.">
<tr><th>Reason for uninstalling</th><th>Total</th></tr>
<?php foreach ($descriptionAndTotalsData as $var => $val) : ?>
<tr><td><?=$val['issues']['description']?></td><td><?=$val[0]['total']?></td></tr>
<?php endforeach; ?>
</table>
</canvas>
</div>
<script type="text/javascript">
var layout = new PlotKit.Layout("bar", {"barOrientation":"horizontal"});
layout.addDataset("results", <?=$_dataset?>);
layout.evaluate();
var canvas = MochiKit.DOM.getElement("graph");
var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout,
{
"drawYAxis" : false,
"drawXAxis" : false,
"backgroundColor" : Color.fromHexString('#78c'),
"strokeColor" : Color.fromHexString('#777'),
"strokeWidth" : 1.0,
"enableEvents" : false
});
plotter.render();
</script>
<div id="exportbox">
<a href="<?php echo $export->buildUrlString('results/comments/',$url_params); ?>">View Any Associated Comments»</a><br />
<a href="<?php echo $export->buildUrlString('results/csv/',$url_params); ?>">Download this Data»</a>
</div>
<?php else: ?>
<div id="notice">There is no data available for your parameters. Please review your search criteria.</div>
<?php endif; ?>

View File

@@ -1,6 +0,0 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

View File

@@ -1,116 +0,0 @@
<?php
/* SVN FILE: $Id: css.php,v 1.1.1.1 2006-05-24 19:14:24 uid815 Exp $ */
/**
* Short description for file.
*
* Long description for file
*
* PHP versions 4 and 5
*
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
* Copyright (c) 2006, Cake Software Foundation, Inc.
* 1785 E. Sahara Avenue, Suite 490-204
* Las Vegas, Nevada 89104
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
* @package cake
* @subpackage cake.app.webroot
* @since CakePHP v 0.2.9
* @version $Revision: 1.1.1.1 $
* @modifiedby $LastChangedBy: phpnut $
* @lastmodified $Date: 2006-05-24 19:14:24 $
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
/**
* Enter description here...
*/
require(CONFIGS.'paths.php');
require(CAKE.'basics.php');
require(LIBS.'folder.php');
require(LIBS.'file.php');
require(LIBS.'legacy.php');
/**
* Enter description here...
*
* @param unknown_type $path
* @param unknown_type $name
* @return unknown
*/
function make_clean_css ($path, $name)
{
require(VENDORS.'csspp'.DS.'csspp.php');
$data = file_get_contents($path);
$csspp = new csspp();
$output = $csspp->compress($data);
$ratio = 100-(round(strlen($output)/strlen($data), 3)*100);
$output = " /* file: $name, ratio: $ratio% */ " . $output;
return $output;
}
/**
* Enter description here...
*
* @param unknown_type $path
* @param unknown_type $content
* @return unknown
*/
function write_css_cache ($path, $content)
{
if (!is_dir(dirname($path)))
mkdir(dirname($path));
$cache = new File($path);
return $cache->write($content);
}
if (preg_match('|\.\.|', $url) || !preg_match('|^ccss/(.+)$|i', $url, $regs))
die('Wrong file name.');
$filename = 'css/'.$regs[1];
$filepath = CSS.$regs[1];
$cachepath = CACHE.'css'.DS.str_replace(array('/','\\'), '-', $regs[1]);
if (!file_exists($filepath))
die('Wrong file name.');
if (file_exists($cachepath))
{
$templateModified = filemtime($filepath);
$cacheModified = filemtime($cachepath);
if ($templateModified > $cacheModified)
{
$output = make_clean_css ($filepath, $filename);
write_css_cache ($cachepath, $output);
}
else
{
$output = file_get_contents($cachepath);
}
}
else
{
$output = make_clean_css ($filepath, $filename);
write_css_cache ($cachepath, $output);
}
header("Date: ".date("D, j M Y G:i:s ", $templateModified).'GMT');
header("Content-Type: text/css");
header("Expires: ".gmdate("D, j M Y H:i:s", time()+DAY)." GMT");
header("Cache-Control: cache");// HTTP/1.1
header("Pragma: cache");// HTTP/1.0
print $output;
?>

View File

@@ -1,195 +0,0 @@
/* CSS Document */
@import url("cake.forms.css");
* {
padding:0;
margin:0;
}
body {
font: 76% Verdana, Arial, Sans-serif;
color: #333;
}
img {
border:0;
}
#wrapper {
text-align:left;
}
#header {
height: 101px;
background: #0D5087 url(../img/cake.header_bg.png) repeat-x left top;
border-bottom: 1px solid #000;
}
#content {
min-height:400px;
background-color: #fff;
padding:2em 4em;
}
#footer {
text-align:center;
padding:1em 0;
font-size:smaller;
border-top:1px solid #333;
background-color: #063260;
color:#fff;
line-height:1.5;
}
#footer a {
color:#fff;
}
h1, h2, h3, h4 {
padding-bottom:0.5em;
}
h1 {
font-family:"Trebuchet MS",Verdana,Arial,Sans-serif;
}
h1, a {
color:#DB8101;
}
h1 em, a em {
color:#008BCC;
font-style: normal;
}
ul.colored a em
h2 {
font-style: italic;
font-weight: bold;
color:#666;
}
a:hover, a:hover em {
color:#A22424;
text-decoration:none;
}
#content p, #content ul, #content ol {
line-height:1.5;
padding-bottom:1em;
}
ul, ol {
margin-left:3em;
}
/* tables */
table {
width: 100%;
background-color: #fff;
border: 1px solid #333;
clear:both;
margin: 0 0 2em 0;
white-space: normal;
}
th {
background-color: #ccc;
border-top: 1px solid #fff;
border-right: 1px solid #666;
border-bottom: 1px solid #666;
text-align: center;
padding:3px;
}
table tr td {
border-right: 1px solid #ccc;
padding:4px 4px;
vertical-align:top;
text-align: center;
}
table tr.altRow td {
background: #f4f4f4;
}
/* scaffold show */
div.related {
clear:both;
display:block;
}
dl {
line-height:2em;
margin:1em;
}
dt {
font-weight: bold;
vertical-align:top;
}
dd {
margin-left:10em;
margin-top:-2em;
vertical-align:top;
}
/* scaffold buttons */
.notice {
color: #DB8101;
background-color: #ddd;
display: block;
padding: 1em;
}
.tip {
color: #DB8101;
background-color: #ddd;
display: block;
padding: 1em;
}
ul.actions {
list-style: none;
text-align:left;
margin:2em 0;
padding: 0;
}
ul.actions li {
margin-left:1em;
list-style: none;
display: inline;
}
ul.actions li a, ul.actions li input {
padding: 2px 12px;
color: #DB8101;
background-color:#ccc;
text-decoration: none;
border: 1px solid #666;
line-height: 24px;
font-weight: bold;
text-align:center;
text-decoration: none;
}
ul.actions li a:hover {
color: #DB8101;
background-color:#fff;
text-decoration: none;
}
td.listactions {
width: 14em;
text-align: center;
white-space: nowrap;
}
td.listactions a {
padding: 0px 8px;
text-align:center;
font-weight: bold;
color: #DB8101;
background-color:#ccc;
text-decoration: none;
border: 1px solid #666;
white-space: nowrap;
}
td.listactions a:hover {
color: #fff;
background-color:#DB8101;
}
/* index links */
ul.colored a {
}
ul.colored a em {
}
a {
font-weight: bold;
}

View File

@@ -1,279 +0,0 @@
/* form.css */
form {
margin: 0 4px;
font-size: 120%;
border-width: 0px 0px 0px 0px;
border-style: solid;
border-color: #DB8101;
}
form fieldset {
font-size: 100%;
border-color: #000000;
border-width: 1px 0px 0px 0px;
border-style: solid none none none;
padding: 10px;
}
form fieldset legend {
font-size: 150%;
font-weight: normal;
color: #000;
padding: 0px 5px;
}
label {
font-size: 150%;
}
label u {
font-style: normal;
text-decoration: underline;
}
input, select, textarea {
font-family: Tahoma, Arial, sans-serif;
font-size: 100%;
color: #000;
}
textarea {
overflow: auto;
}
form div {
clear: left;
display: block;
margin: 5px 0px 0px 0px;
padding: 1px 3px;
}
form fieldset div.notes {
float: right;
width: 158px;
height: auto;
margin: 0px 0px 10px 10px;
padding: 5px;
border: 1px solid #666;
background-color: #ffffe1;
color: #666;
font-size: 88%;
}
form fieldset div.notes h4 {
background-image: url(/images/icon_info.gif);
background-repeat: no-repeat;
background-position: top left;
padding: 3px 0px 3px 27px;
border-width: 0px 0px 1px 0px;
border-style: solid;
border-color: #666;
color: #666;
font-size: 110%;
}
form fieldset div.notes p {
margin: 0em 0em 1.2em 0em;
color: #666;
}
form fieldset div.notes p.last {
margin: 0em;
}
form div fieldset {
clear: none;
border-width: 0px 1px 0px 1px;
border-style: solid;
border-color: #666;
margin: 0px 0px 0px 142px;
padding: 0px 5px 5px 5px;
}
form div fieldset legend {
font-size: 100%;
padding: 0px 3px 0px 9px;
}
form div.required fieldset legend {
font-weight: bold;
}
form div label {
display: block;
float: left;
width: 200px;
background-color: #f4f4f4;
font-size: 16px;
padding: 3px 5px;
margin: 0px 0px 5px 0px;
text-align: right;
}
form div.optional label, label.optional {
font-weight: normal;
}
form div.required label, label.required {
font-weight: bold;
}
form div label.labelCheckbox, form div label.labelRadio {
float: none;
display: block;
margin: 0px 0px 5px 142px;
text-align: left;
}
form div fieldset label.labelCheckbox, form div fieldset label.labelRadio {
margin: 0px 0px 5px 0px;
}
p.error {
color: #DB8101;
background-color: #DBA941;
font-size: 14px;
padding: 1em;
}
form div input, form div select, form div textarea {
padding: 1px 3px;
margin: 0px 0px 0px 0px;
}
form div input.inputFile {
width: 211px;
}
form div select.selectOne, form div select.selectMultiple {
width: 211px;
padding: 1px 3px;
}
form div input.inputCheckbox, form div input.inputRadio, input.inputCheckbox, input.inputRadio {
display: inline;
height: 14px;
width: 14px;
background-color: transparent;
border-width: 0px;
}
form div.submit {
padding: 0px 0px 0px 140px;
clear:both;
display:block;
}
div.submit input {
padding: 2px 12px;
color: #DB8101;
background-color:#ccc;
text-decoration: none;
border: 1px solid #666;
font-size: 14px;
font-weight: bold;
text-align:center;
text-decoration: none;
width: auto;
}
div.submit input:hover {
padding: 2px 12px;
color: #fff;
background-color:#DB8101;
text-decoration: none;
border: 1px solid #666;
font-size: 14px;
font-weight: bold;
text-align:center;
text-decoration: none;
width: auto;
}
form div.submit div input.inputSubmit, form div.submit div input.inputButton {
float: right;
margin: 0px 0px 0px 5px;
}
form div small {
display: block;
margin: 0px 0px 5px 142px;
padding: 1px 3px;
font-size: 88%;
}
/* form.import.css */
form fieldset legend {
line-height: 150%;
}
form input, form select, form textarea {
background-color: #fff;
}
div.optional label:before {
content: '';
}
div.required label:before {
content: '';
}
form div label.labelCheckbox, form div label.labelRadio, label.labelCheckbox, label.labelRadio {
display: block;
width: 190px;
padding: 4px 0px 0px 18px;
text-indent: -18px;
line-height: 120%;
}
form div label.labelCheckbox input.inputCheckbox, form div label.labelRadio input.inputRadio, label.labelCheckbox input.inputCheckbox, label.labelRadio input.inputRadio {
margin: 0;
}
form div fieldset input.inputText, form div fieldset input.inputPassword, form div fieldset input.inputFile, form div fieldset textarea.inputTextarea {
width: 160px;
margin: 0px 0px 0px 18px;
}
form div label.compact {
display: inline;
width: auto;
padding: 4px 10px 0px 0px;
text-indent: 0px;
margin: 0;
}
form div.wide label {
float: none;
display: block;
}
form div label.wide {
width: 348px;
}
form div.wide input.inputText, form div.wide input.inputPassword, form div.wide input.inputFile, form div.wide select, form div.wide textarea {
width: 344px;
margin: 0;
}
form div.notes p, form div small {
line-height: 125%;
}
form div.wide small {
margin: 0px 0px 5px 0px;
}
div.date select {
width:auto;
}
select.autoWidth {
width:auto;
}
option {
padding-left:1em;
}

View File

@@ -1,9 +0,0 @@
form div,
form div label.labelCheckbox, form div label.labelRadio,
form div small,
form div label.labelCheckbox, form div label.labelRadio, label.labelCheckbox, label.labelRadio {
height: expression('1%');
}
form div fieldset input.inputText, form div fieldset input.inputPassword, form div fieldset input.inputFile, form div fieldset textarea.inputTextarea {
margin: expression('0px 0px 0px -124px');
}

View File

@@ -1,133 +0,0 @@
/* Screen Stylesheet */
/* This is temporary while we use the scaffolding */
@import url("cake.default.css");
table { clear:none; }
/* CORE STYLES */
body{
background-color:#788;
}
div#t_title{
background-color:#ddd;
height:50px;
padding-left:8px;
}
div#t_title h1{
font-size:1.7em;
padding-top:10px;
color:#677;
}
div#t_content_container{
}
div#t_content{
padding: 20px 10px 100px 10px;
margin-left:151px;
background-image:url('../img/bg.jpg');
background-position:bottom right;
background-repeat:no-repeat;
min-height:200px;
}
div#t_wrapper{
margin:0px;
padding:0px;
background-color:#fff;
}
div#t_border{
border-left:1px solid #111;
border-right:1px solid #111;
border-bottom:1px solid #111;
margin:0px 30px 0px 30px;
}
div#t_nav {
padding:20px 0px 50px 0px;
float:left;
width:151px;
}
div#t_nav ul {
list-style-type:none;
padding:2px 0px 0px 0px;
margin:0px;
}
div#t_nav ul li{
padding:2px 0px 2px 0px;
}
div#t_nav ul li a{
text-decoration:none;
font-size:.8em;
padding:6px 0px 6px 8px;
margin:0px 0px 0px 0px;
color:#566;
border:none;
}
div#t_nav ul li a:hover{
color:#f80;
}
div#t_nav h3 {
padding:5px 0px 0px 5px;
font-size:.9em;
}
div#t_footer {
clear:both;
border-top:1px solid #111;
}
div#t_content h1 {
margin-bottom:100px;
font-size:1.6em;
}
a.skipnav {
position:absolute;
visibility:hidden;
}
div#queryform {
margin: 5px 20px 5px 20px;
padding-bottom:20px;
width:700px;
}
div#queryform label {
font-size:.8em;
font-weight:bold;
}
div#queryform input[type="text"]{
width:7em;
}
div#exportbox {
}
/* Classes for graph/table data. (Generally just padding) */
.results {
padding: 5px 5px 5px 5px;
margin: 5px 5px 5px 5px;
}
div#notice {
background-color:#ecc;
border:1px dashed #daa;
text-align:center;
padding:6px 6px 6px 6px;
margin:6px 20px 6px 20px;
}
table.comments tr {
}
table.comments tr td{
text-align:left;
border-bottom: 1px solid #222;
}
div.bar_chart_label {
position: absolute;
text-align: left;
font-size: small;
color: #fff;
overflow: hidden;
z-index: 10;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -1,244 +0,0 @@
2006-04-29 v1.3.1 (bug fix release)
- Fix sendXMLHttpRequest sendContent regression
- Internet Explorer fix in MochiKit.Logging (printfire exception)
- Internet Explorer XMLHttpRequest object leak fixed in MochiKit.Async
2006-04-26 v1.3 "warp zone"
- IMPORTANT: Renamed MochiKit.Base.forward to forwardCall (for export)
- IMPORTANT: Renamed MochiKit.Base.find to findValue (for export)
- New MochiKit.Base.method as a convenience form of bind that takes the
object before the method
- New MochiKit.Base.flattenArguments for flattening a list of arguments to
a single Array
- Refactored MochiRegExp example to use MochiKit.Signal
- New key_events example demonstrating use of MochiKit.Signal's key handling
capabilities.
- MochiKit.DOM.createDOM API change for convenience: if attrs is a string,
null is used and the string will be considered the first node. This
allows for the more natural P("foo") rather than P(null, "foo").
- MochiKit Interpreter example refactored to use MochiKit.Signal and now
provides multi-line input and a help() function to get MochiKit function
signature from the documentation.
- Native Console Logging for the default MochiKit.Logging logger
- New MochiKit.Async.DeferredList, gatherResults, maybeDeferred
- New MochiKit.Signal example: draggable
- Added sanity checking to Deferred to ensure that errors happen when chaining
is used incorrectly
- Opera sendXMLHttpRequest fix (sends empty string instead of null by default)
- Fix a bug in MochiKit.Color that incorrectly generated hex colors for
component values smaller than 16/255.
- Fix a bug in MochiKit.Logging that prevented logs from being capped at a
maximum size
- MochiKit.Async.Deferred will now wrap thrown objects that are not instanceof
Error, so that the errback chain is used instead of the callback chain.
- MochiKit.DOM.appendChildNodes and associated functions now append iterables
in the correct order.
- New MochiKit-based SimpleTest test runner as a replacement for Test.Simple
- MochiKit.Base.isNull no longer matches undefined
- example doctypes changed to HTML4
- isDateLike no longer throws error on null
- New MochiKit.Signal module, modeled after the slot/signal mechanism in Qt
- updated elementDimensions to calculate width from offsetWidth instead
of clientWidth
- formContents now works with FORM tags that have a name attribute
- Documentation now uses MochiKit to generate a function index
2006-01-26 v1.2 "the ocho"
- Fixed MochiKit.Color.Color.lighterColorWithLevel
- Added new MochiKit.Base.findIdentical function to find the index of an
element in an Array-like object. Uses === for identity comparison.
- Added new MochiKit.Base.find function to find the index of an element in
an Array-like object. Uses compare for rich comparison.
- MochiKit.Base.bind will accept a string for func, which will be immediately
looked up as self[func].
- MochiKit.DOM.formContents no longer skips empty form elements for Zope
compatibility
- MochiKit.Iter.forEach will now catch StopIteration to break
- New MochiKit.DOM.elementDimensions(element) for determining the width and
height of an element in the document
- MochiKit.DOM's initialization is now compatible with
HTMLUnit + JWebUnit + Rhino
- MochiKit.LoggingPane will now re-use a ``_MochiKit_LoggingPane`` DIV element
currently in the document instead of always creating one.
- MochiKit.Base now has operator.mul
- MochiKit.DOM.formContents correctly handles unchecked checkboxes that have
a custom value attribute
- Added new MochiKit.Color constructors fromComputedStyle and fromText
- MochiKit.DOM.setNodeAttribute should work now
- MochiKit.DOM now has a workaround for an IE bug when setting the style
property to a string
- MochiKit.DOM.createDOM now has workarounds for IE bugs when setting the
name and for properties
- MochiKit.DOM.scrapeText now walks the DOM tree in-order
- MochiKit.LoggingPane now sanitizes the window name to work around IE bug
- MochiKit.DOM now translates usemap to useMap to work around IE bug
- MochiKit.Logging is now resistant to Prototype's dumb Object.prototype hacks
- Added new MochiKit.DOM documentation on element visibility
- New MochiKit.DOM.elementPosition(element[, relativeTo={x: 0, y: 0}])
for determining the position of an element in the document
- Added new MochiKit.DOM createDOMFunc aliases: CANVAS, STRONG
2005-11-14 v1.1
- Fixed a bug in numberFormatter with large numbers
- Massively overhauled documentation
- Fast-path for primitives in MochiKit.Base.compare
- New groupby and groupby_as_array in MochiKit.Iter
- Added iterator factory adapter for objects that implement iterateNext()
- Fixed isoTimestamp to handle timestamps with time zone correctly
- Added new MochiKit.DOM createDOMFunc aliases: SELECT, OPTION, OPTGROUP,
LEGEND, FIELDSET
- New MochiKit.DOM formContents and enhancement to queryString to support it
- Updated view_source example to use dp.SyntaxHighlighter 1.3.0
- MochiKit.LoggingPane now uses named windows based on the URL so that
a given URL will get the same LoggingPane window after a reload
(at the same position, etc.)
- MochiKit.DOM now has currentWindow() and currentDocument() context
variables that are set with withWindow() and withDocument(). These
context variables affect all MochiKit.DOM functionality (getElement,
createDOM, etc.)
- MochiKit.Base.items will now catch and ignore exceptions for properties
that are enumerable but not accessible (e.g. permission denied)
- MochiKit.Async.Deferred's addCallback/addErrback/addBoth
now accept additional arguments that are used to create a partially
applied function. This differs from Twisted in that the callback/errback
result becomes the *last* argument, not the first when this feature
is used.
- MochiKit.Async's doSimpleXMLHttpRequest will now accept additional
arguments which are used to create a GET query string
- Did some refactoring to reduce the footprint of MochiKit by a few
kilobytes
- escapeHTML to longer escapes ' (apos) and now uses
String.replace instead of iterating over every char.
- Added DeferredLock to Async
- Renamed getElementsComputedStyle to computedStyle and moved
it from MochiKit.Visual to MochiKit.DOM
- Moved all color support out of MochiKit.Visual and into MochiKit.Color
- Fixed range() to accept a negative step
- New alias to MochiKit.swapDOM called removeElement
- New MochiKit.DOM.setNodeAttribute(node, attr, value) which sets
an attribute on a node without raising, roughly equivalent to:
updateNodeAttributes(node, {attr: value})
- New MochiKit.DOM.getNodeAttribute(node, attr) which gets the value of
a node's attribute or returns null without raising
- Fixed a potential IE memory leak if using MochiKit.DOM.addToCallStack
directly (addLoadEvent did not leak, since it clears the handler)
2005-10-24 v1.0
- New interpreter example that shows usage of MochiKit.DOM to make
an interactive JavaScript interpreter
- New MochiKit.LoggingPane for use with the MochiKit.Logging
debuggingBookmarklet, with logging_pane example to show its usage
- New mochiregexp example that demonstrates MochiKit.DOM and MochiKit.Async
in order to provide a live regular expression matching tool
- Added advanced number formatting capabilities to MochiKit.Format:
numberFormatter(pattern, placeholder="", locale="default") and
formatLocale(locale="default")
- Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed
MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.
- Added new MochiKit.DOM createDOMFunc aliases: BUTTON, TT, PRE
- Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision)
to MochiKit.Format
- MochiKit.DateTime can now handle full ISO 8601 timestamps, specifically
isoTimestamp(isoString) will convert them to Date objects, and
toISOTimestamp(date, true) will return an ISO 8601 timestamp in UTC
- Fixed missing errback for sendXMLHttpRequest when the server does not
respond
- Fixed infinite recusion bug when using roundClass("DIV", ...)
- Fixed a bug in MochiKit.Async wait (and callLater) that prevented them
from being cancelled properly
- Workaround in MochiKit.Base bind (and partial) for functions that don't
have an apply method, such as alert
- Reliably return null from the string parsing/manipulation functions if
the input can't be coerced to a string (s + "") or the input makes no sense;
e.g. isoTimestamp(null) and isoTimestamp("") return null
2005-10-08 v0.90
- Fixed ISO compliance with toISODate
- Added missing operator.sub
- Placated Mozilla's strict warnings a bit
- Added JSON serialization and unserialization support to MochiKit.Base:
serializeJSON, evalJSON, registerJSON. This is very similar to the repr
API.
- Fixed a bug in the script loader that failed in some scenarios when a script
tag did not have a "src" attribute (thanks Ian!)
- Added new MochiKit.DOM createDOMFunc aliases: H1, H2, H3, BR, HR, TEXTAREA,
P, FORM
- Use encodeURIComponent / decodeURIComponent for MochiKit.Base urlEncode
and parseQueryString, when available.
2005-08-12 v0.80
- Source highlighting in all examples, moved to a view-source example
- Added some experimental syntax highlighting for the Rounded Corners example,
via the LGPL dp.SyntaxHighlighter 1.2.0 now included in examples/common/lib
- Use an indirect binding for the logger conveniences, so that the global
logger could be replaced by setting MochiKit.Logger.logger to something else
(though an observer is probably a better choice).
- Allow MochiKit.DOM.getElementsByTagAndClassName to take a string for parent,
which will be looked up with getElement
- Fixed bug in MochiKit.Color.fromBackground (was using node.parent instead of
node.parentNode)
- Consider a 304 (NOT_MODIFIED) response from XMLHttpRequest to be success
- Disabled Mozilla map(...) fast-path due to Deer Park compatibility issues
- Possible workaround for Safari issue with swapDOM, where it would get
confused because two elements were in the DOM at the same time with the
same id
- Added missing THEAD convenience function to MochiKit.DOM
- Added lstrip, rstrip, strip to MochiKit.Format
- Added updateNodeAttributes, appendChildNodes, replaceChildNodes to
MochiKit.DOM
- MochiKit.Iter.iextend now has a fast-path for array-like objects
- Added HSV color space support to MochiKit.Visual
- Fixed a bug in the sortable_tables example, it now converts types
correctly
- Fixed a bug where MochiKit.DOM referenced MochiKit.Iter.next from global
scope
2005-08-04 v0.70
- New ajax_tables example, which shows off XMLHttpRequest, ajax, json, and
a little TAL-ish DOM templating attribute language.
- sendXMLHttpRequest and functions that use it (loadJSONDoc, etc.) no longer
ignore requests with status == 0, which seems to happen for cached or local
requests
- Added sendXMLHttpRequest to MochiKit.Async.EXPORT, d'oh.
- Changed scrapeText API to return a string by default. This is API-breaking!
It was dumb to have the default return value be the form you almost never
want. Sorry.
- Added special form to swapDOM(dest, src). If src is null, dest is removed
(where previously you'd likely get a DOM exception).
- Added three new functions to MochiKit.Base for dealing with URL query
strings: urlEncode, queryString, parseQueryString
- MochiKit.DOM.createDOM will now use attr[k] = v for all browsers if the name
starts with "on" (e.g. "onclick"). If v is a string, it will set it to
new Function(v).
- Another workaround for Internet "worst browser ever" Explorer's setAttribute
usage in MochiKit.DOM.createDOM (checked -> defaultChecked).
- Added UL, OL, LI convenience createDOM aliases to MochiKit.DOM
- Packing is now done by Dojo's custom Rhino interpreter, so it's much smaller
now!
2005-07-29 v0.60
- Beefed up the MochiKit.DOM test suite
- Fixed return value for MochiKit.DOM.swapElementClass, could return
false unexpectedly before
- Added an optional "parent" argument to
MochiKit.DOM.getElementsByTagAndClassName
- Added a "packed" version in packed/MochiKit/MochiKit.js
- Changed build script to rewrite the URLs in tests to account for the
JSAN-required reorganization
- MochiKit.Compat to potentially work around IE 5.5 issues
(5.0 still not supported). Test.Simple doesn't seem to work there,
though.
- Several minor documentation corrections
2005-07-27 v0.50
- Initial Release

View File

@@ -1,69 +0,0 @@
MochiKit is dual-licensed software. It is available under the terms of the
MIT License, or the Academic Free License version 2.1. The full text of
each license is included below.
MIT License
===========
Copyright (c) 2005 Bob Ippolito. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Academic Free License v. 2.1
============================
Copyright (c) 2005 Bob Ippolito. All rights reserved.
This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
Licensed under the Academic Free License version 2.1
1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
a) to reproduce the Original Work in copies;
b) to prepare derivative works ("Derivative Works") based upon the Original Work;
c) to distribute copies of the Original Work and Derivative Works to the public;
d) to perform the Original Work publicly; and
e) to display the Original Work publicly.
2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
5) This section intentionally omitted.
6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.

View File

@@ -1,115 +0,0 @@
Changes
META.json
MANIFEST This list of files
LICENSE.txt
doc/html/MochiKit/Async.html
doc/html/MochiKit/Base.html
doc/html/MochiKit/Color.html
doc/html/MochiKit/DateTime.html
doc/html/MochiKit/DOM.html
doc/html/MochiKit/Format.html
doc/html/MochiKit/index.html
doc/html/MochiKit/Iter.html
doc/html/MochiKit/Logging.html
doc/html/MochiKit/LoggingPane.html
doc/html/MochiKit/Signal.html
doc/html/MochiKit/VersionHistory.html
doc/html/MochiKit/Visual.html
doc/js/toc.js
doc/rst/MochiKit/Async.rst
doc/rst/MochiKit/Base.rst
doc/rst/MochiKit/Color.rst
doc/rst/MochiKit/DateTime.rst
doc/rst/MochiKit/DOM.rst
doc/rst/MochiKit/Format.rst
doc/rst/MochiKit/index.rst
doc/rst/MochiKit/Iter.rst
doc/rst/MochiKit/Logging.rst
doc/rst/MochiKit/LoggingPane.rst
doc/rst/MochiKit/Signal.rst
doc/rst/MochiKit/VersionHistory.rst
doc/rst/MochiKit/Visual.rst
examples/ajax_tables/ajax_tables.css
examples/ajax_tables/ajax_tables.js
examples/ajax_tables/domains.json
examples/ajax_tables/domains.xml
examples/ajax_tables/index.html
examples/color_wheel/color_wheel.css
examples/color_wheel/color_wheel.js
examples/color_wheel/index.html
examples/draggable/draggable.css
examples/draggable/draggable.js
examples/draggable/index.html
examples/interpreter/index.html
examples/interpreter/interpreter.css
examples/interpreter/interpreter.js
examples/key_events/index.html
examples/key_events/key_events.css
examples/key_events/key_events.js
examples/logging_pane/index.html
examples/logging_pane/logging_pane.css
examples/logging_pane/logging_pane.js
examples/mochiregexp/index.html
examples/mochiregexp/mochiregexp.css
examples/mochiregexp/mochiregexp.js
examples/rounded_corners/index.html
examples/rounded_corners/rounded_corners.css
examples/rounded_corners/rounded_corners.js
examples/sortable_tables/index.html
examples/sortable_tables/sortable_tables.css
examples/sortable_tables/sortable_tables.js
examples/view-source/view-source.css
examples/view-source/view-source.html
examples/view-source/view-source.js
examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js
examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js
examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js
examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js
examples/view-source/lib/SyntaxHighlighter/shBrushPython.js
examples/view-source/lib/SyntaxHighlighter/shBrushSql.js
examples/view-source/lib/SyntaxHighlighter/shBrushVb.js
examples/view-source/lib/SyntaxHighlighter/shBrushXml.js
examples/view-source/lib/SyntaxHighlighter/shCore.js
examples/view-source/lib/SyntaxHighlighter/SyntaxHighlighter.css
examples/view-source/lib/SyntaxHighlighter/Tests.html
include/css/documentation.css
include/css/general.css
MochiKit/__package__.js
MochiKit/Async.js
MochiKit/Base.js
MochiKit/Color.js
MochiKit/DateTime.js
MochiKit/DOM.js
MochiKit/Format.js
MochiKit/Iter.js
MochiKit/Logging.js
MochiKit/LoggingPane.js
MochiKit/MochiKit.js
MochiKit/MockDOM.js
MochiKit/Signal.js
MochiKit/Test.js
MochiKit/Visual.js
packed/MochiKit/__package__.js
packed/MochiKit/MochiKit.js
tests/index.html
tests/test_Base.js
tests/test_Color.js
tests/test_DateTime.js
tests/test_Format.js
tests/test_Iter.js
tests/test_Logging.js
tests/test_MochiKit-Async.html
tests/test_MochiKit-Base.html
tests/test_MochiKit-Color.html
tests/test_MochiKit-DateTime.html
tests/test_MochiKit-DOM.html
tests/test_MochiKit-Format.html
tests/test_MochiKit-Iter.html
tests/test_MochiKit-JSAN.html
tests/test_MochiKit-Logging.html
tests/test_MochiKit-MochiKit.html
tests/test_MochiKit-Signal.html
tests/test_Signal.js
tests/SimpleTest/SimpleTest.js
tests/SimpleTest/test.css
tests/SimpleTest/TestRunner.js

View File

@@ -1,17 +0,0 @@
{
"recommends": {
"JSAN": "0.10"
},
"name": "MochiKit",
"license": "mit",
"author": [
"Bob Ippolito <bob@redivi.com>"
],
"abstract": "Python-inspired JavaScript kit",
"generated_by": "MochiKit's build script",
"build_requires": {
"Test.Simple": "0.11"
},
"version": "1.3.1",
"provides": {}
}

View File

@@ -1,606 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Async - manage asynchronous tasks</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Async - manage asynchronous tasks</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
var url = &quot;/src/b/bo/bob/MochiKit.Async/META.json&quot;;
/*
META.json looks something like this:
{&quot;name&quot;: &quot;MochiKit&quot;, &quot;version&quot;: &quot;0.5&quot;}
*/
var d = loadJSONDoc(url);
var gotMetadata = function (meta) {
if (MochiKit.Async.VERSION == meta.version) {
alert(&quot;You have the newest MochiKit.Async!&quot;);
} else {
alert(&quot;MochiKit.Async &quot;
+ meta.version
+ &quot; is available, upgrade!&quot;);
}
};
var metadataFetchFailed = function (err) {
alert(&quot;The metadata for MochiKit.Async could not be fetched :(&quot;);
};
d.addCallbacks(gotMetadata, metadataFetchFailed);
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>MochiKit.Async provides facilities to manage asynchronous
(as in AJAX <a class="footnote-reference" href="#id7" id="id1" name="id1">[1]</a>) tasks. The model for asynchronous computation
used in this module is heavily inspired by Twisted <a class="footnote-reference" href="#id8" id="id2" name="id2">[2]</a>.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<div class="section">
<h2><a id="deferred" name="deferred">Deferred</a></h2>
<p>The Deferred constructor encapsulates a single value that
is not available yet. The most important example of this
in the context of a web browser would be an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>
to a server. The importance of the Deferred is that it
allows a consistent API to be exposed for all asynchronous
computations that occur exactly once.</p>
<p>The producer of the Deferred is responsible for doing all
of the complicated work behind the scenes. This often
means waiting for a timer to fire, or waiting for an event
(e.g. <tt class="docutils literal"><span class="pre">onreadystatechange</span></tt> of <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>).
It could also be coordinating several events (e.g.
<tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> with a timeout, or several Deferreds
(e.g. fetching a set of XML documents that should be
processed at the same time).</p>
<p>Since these sorts of tasks do not respond immediately, the
producer of the Deferred does the following steps before
returning to the consumer:</p>
<ol class="arabic simple">
<li>Create a <tt class="docutils literal"><span class="pre">new</span></tt> <a class="mochiref reference" href="#fn-deferred">Deferred();</a> object and keep a reference
to it, because it will be needed later when the value is
ready.</li>
<li>Setup the conditions to create the value requested (e.g.
create a new <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>, set its
<tt class="docutils literal"><span class="pre">onreadystatechange</span></tt>).</li>
<li>Return the <a class="mochiref reference" href="#fn-deferred">Deferred</a> object.</li>
</ol>
<p>Since the value is not yet ready, the consumer attaches
a function to the Deferred that will be called when the
value is ready. This is not unlike <tt class="docutils literal"><span class="pre">setTimeout</span></tt>, or
other similar facilities you may already be familiar with.
The consumer can also attach an &quot;errback&quot; to the
<a class="mochiref reference" href="#fn-deferred">Deferred</a>, which is a callback for error handling.</p>
<p>When the value is ready, the producer simply calls
<tt class="docutils literal"><span class="pre">myDeferred.callback(theValue)</span></tt>. If an error occurred,
it should call <tt class="docutils literal"><span class="pre">myDeferred.errback(theValue)</span></tt> instead.
As soon as this happens, the callback that the consumer
attached to the <a class="mochiref reference" href="#fn-deferred">Deferred</a> is called with <tt class="docutils literal"><span class="pre">theValue</span></tt>
as the only argument.</p>
<p>There are quite a few additional &quot;advanced&quot; features
baked into <a class="mochiref reference" href="#fn-deferred">Deferred</a>, such as cancellation and
callback chains, so take a look at the API
reference if you would like to know more!</p>
</div>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="errors" name="errors">Errors</a></h2>
<p>
<a name="fn-alreadycallederror"></a>
<a class="mochidef reference" href="#fn-alreadycallederror">AlreadyCalledError</a>:</p>
<blockquote>
Thrown by a <a class="mochiref reference" href="#fn-deferred">Deferred</a> if <tt class="docutils literal"><span class="pre">.callback</span></tt> or
<tt class="docutils literal"><span class="pre">.errback</span></tt> are called more than once.</blockquote>
<p>
<a name="fn-browsercomplianceerror"></a>
<a class="mochidef reference" href="#fn-browsercomplianceerror">BrowserComplianceError</a>:</p>
<blockquote>
Thrown when the JavaScript runtime is not capable of performing
the given function. Currently, this happens if the browser
does not support <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>.</blockquote>
<p>
<a name="fn-cancellederror"></a>
<a class="mochidef reference" href="#fn-cancellederror">CancelledError</a>:</p>
<blockquote>
Thrown by a <a class="mochiref reference" href="#fn-deferred">Deferred</a> when it is cancelled,
unless a canceller is present and throws something else.</blockquote>
<p>
<a name="fn-genericerror"></a>
<a class="mochidef reference" href="#fn-genericerror">GenericError</a>:</p>
<blockquote>
Results passed to <tt class="docutils literal"><span class="pre">.fail</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt> of a <a class="mochiref reference" href="#fn-deferred">Deferred</a>
are wrapped by this <tt class="docutils literal"><span class="pre">Error</span></tt> if <tt class="docutils literal"><span class="pre">!(result</span> <span class="pre">instanceof</span> <span class="pre">Error)</span></tt>.</blockquote>
<p>
<a name="fn-xmlhttprequesterror"></a>
<a class="mochidef reference" href="#fn-xmlhttprequesterror">XMLHttpRequestError</a>:</p>
<blockquote>
Thrown when an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> does not complete successfully
for any reason. The <tt class="docutils literal"><span class="pre">req</span></tt> property of the error is the failed
<tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> object, and for convenience the <tt class="docutils literal"><span class="pre">number</span></tt>
property corresponds to <tt class="docutils literal"><span class="pre">req.status</span></tt>.</blockquote>
</div>
<div class="section">
<h2><a id="constructors" name="constructors">Constructors</a></h2>
<p>
<a name="fn-deferred"></a>
<a class="mochidef reference" href="#fn-deferred">Deferred()</a>:</p>
<blockquote>
Encapsulates a sequence of callbacks in response to a value that
may not yet be available. This is modeled after the Deferred class
from Twisted <a class="footnote-reference" href="#id9" id="id3" name="id3">[3]</a>.</blockquote>
<blockquote>
<p>Why do we want this? JavaScript has no threads, and even if it did,
threads are hard. Deferreds are a way of abstracting non-blocking
events, such as the final response to an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>.</p>
<p>The sequence of callbacks is internally represented as a list
of 2-tuples containing the callback/errback pair. For example,
the following call sequence:</p>
<pre class="literal-block">
var d = new Deferred();
d.addCallback(myCallback);
d.addErrback(myErrback);
d.addBoth(myBoth);
d.addCallbacks(myCallback, myErrback);
</pre>
<p>is translated into a <a class="mochiref reference" href="#fn-deferred">Deferred</a> with the following internal
representation:</p>
<pre class="literal-block">
[
[myCallback, null],
[null, myErrback],
[myBoth, myBoth],
[myCallback, myErrback]
]
</pre>
<p>The <a class="mochiref reference" href="#fn-deferred">Deferred</a> also keeps track of its current status (fired).
Its status may be one of the following three values:</p>
<blockquote>
<table border="1" class="docutils">
<colgroup>
<col width="14%" />
<col width="86%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Value</th>
<th class="head">Condition</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>-1</td>
<td>no value yet (initial condition)</td>
</tr>
<tr><td>0</td>
<td>success</td>
</tr>
<tr><td>1</td>
<td>error</td>
</tr>
</tbody>
</table>
</blockquote>
<p>A <a class="mochiref reference" href="#fn-deferred">Deferred</a> will be in the error state if one of the following
conditions are met:</p>
<ol class="arabic simple">
<li>The result given to callback or errback is &quot;<tt class="docutils literal"><span class="pre">instanceof</span> <span class="pre">Error</span></tt>&quot;</li>
<li>The callback or errback threw while executing. If the thrown object
is not <tt class="docutils literal"><span class="pre">instanceof</span> <span class="pre">Error</span></tt>, it will be wrapped with
<a class="mochiref reference" href="#fn-genericerror">GenericError</a>.</li>
</ol>
<p>Otherwise, the <a class="mochiref reference" href="#fn-deferred">Deferred</a> will be in the success state. The state
of the <a class="mochiref reference" href="#fn-deferred">Deferred</a> determines the next element in the callback
sequence to run.</p>
<p>When a callback or errback occurs with the example deferred chain, something
equivalent to the following will happen (imagine that exceptions are caught
and returned as-is):</p>
<pre class="literal-block">
// d.callback(result) or d.errback(result)
if (!(result instanceof Error)) {
result = myCallback(result);
}
if (result instanceof Error) {
result = myErrback(result);
}
result = myBoth(result);
if (result instanceof Error) {
result = myErrback(result);
} else {
result = myCallback(result);
}
</pre>
<p>The result is then stored away in case another step is added to the
callback sequence. Since the <a class="mochiref reference" href="#fn-deferred">Deferred</a> already has a value
available, any new callbacks added will be called immediately.</p>
<p>There are two other &quot;advanced&quot; details about this implementation that are
useful:</p>
<p>Callbacks are allowed to return <a class="mochiref reference" href="#fn-deferred">Deferred</a> instances,
so you can build complicated sequences of events with (relative) ease.</p>
<p>The creator of the <a class="mochiref reference" href="#fn-deferred">Deferred</a> may specify a canceller. The
canceller is a function that will be called if
<a class="mochiref reference" href="#fn-deferred.prototype.cancel">Deferred.prototype.cancel</a> is called before the
<a class="mochiref reference" href="#fn-deferred">Deferred</a> fires. You can use this to allow an
<tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> to be cleanly cancelled, for example. Note that
cancel will fire the <a class="mochiref reference" href="#fn-deferred">Deferred</a> with a
<a class="mochiref reference" href="#fn-cancellederror">CancelledError</a> (unless your canceller throws or returns
a different <tt class="docutils literal"><span class="pre">Error</span></tt>), so errbacks should be prepared to handle that
<tt class="docutils literal"><span class="pre">Error</span></tt> gracefully for cancellable <a class="mochiref reference" href="#fn-deferred">Deferred</a> instances.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.addboth"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.addboth">Deferred.prototype.addBoth(func)</a>:</p>
<blockquote>
<p>Add the same function as both a callback and an errback as the
next element on the callback sequence. This is useful for code
that you want to guarantee to run, e.g. a finalizer.</p>
<p>If additional arguments are given, then <tt class="docutils literal"><span class="pre">func</span></tt> will be replaced
with <a class="mochiref reference" href="Base.html#fn-partial">MochiKit.Base.partial.apply(null, arguments)</a>. This
differs from <a class="reference" href="http://twistedmatrix.com/">Twisted</a>, because the result of the callback or
errback will be the <em>last</em> argument passed to <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">func</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, then it will be chained
(its value or error will be passed to the next callback). Note that
once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained, it can no longer accept new
callbacks.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.addcallback"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.addcallback">Deferred.prototype.addCallback(func[, ...])</a>:</p>
<blockquote>
<p>Add a single callback to the end of the callback sequence.</p>
<p>If additional arguments are given, then <tt class="docutils literal"><span class="pre">func</span></tt> will be replaced
with <a class="mochiref reference" href="Base.html#fn-partial">MochiKit.Base.partial.apply(null, arguments)</a>. This
differs from <a class="reference" href="http://twistedmatrix.com/">Twisted</a>, because the result of the callback will
be the <em>last</em> argument passed to <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">func</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, then it will be chained
(its value or error will be passed to the next callback). Note that
once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained, it can no longer accept new
callbacks.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.addcallbacks"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.addcallbacks">Deferred.prototype.addCallbacks(callback, errback)</a>:</p>
<blockquote>
<p>Add separate callback and errback to the end of the callback
sequence. Either callback or errback may be <tt class="docutils literal"><span class="pre">null</span></tt>,
but not both.</p>
<p>If <tt class="docutils literal"><span class="pre">callback</span></tt> or <tt class="docutils literal"><span class="pre">errback</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>,
then it will be chained (its value or error will be passed to the
next callback). Note that once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained,
it can no longer accept new callbacks.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.adderrback"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.adderrback">Deferred.prototype.addErrback(func)</a>:</p>
<blockquote>
<p>Add a single errback to the end of the callback sequence.</p>
<p>If additional arguments are given, then <tt class="docutils literal"><span class="pre">func</span></tt> will be replaced
with <a class="mochiref reference" href="Base.html#fn-partial">MochiKit.Base.partial.apply(null, arguments)</a>. This
differs from <a class="reference" href="http://twistedmatrix.com/">Twisted</a>, because the result of the errback will
be the <em>last</em> argument passed to <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">func</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, then it will be chained
(its value or error will be passed to the next callback). Note that
once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained, it can no longer accept new
callbacks.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.callback"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.callback">Deferred.prototype.callback([result])</a>:</p>
<blockquote>
<p>Begin the callback sequence with a non-<tt class="docutils literal"><span class="pre">Error</span></tt> result. Result
may be any value except for a <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
<p>Either <tt class="docutils literal"><span class="pre">.callback</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt> should
be called exactly once on a <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.cancel"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.cancel">Deferred.prototype.cancel()</a>:</p>
<blockquote>
<p>Cancels a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that has not yet received a value,
or is waiting on another <a class="mochiref reference" href="#fn-deferred">Deferred</a> as its value.</p>
<p>If a canceller is defined, the canceller is called.
If the canceller did not return an <tt class="docutils literal"><span class="pre">Error</span></tt>, or there
was no canceller, then the errback chain is started
with <a class="mochiref reference" href="#fn-cancellederror">CancelledError</a>.</p>
</blockquote>
<p>
<a name="fn-deferred.prototype.errback"></a>
<a class="mochidef reference" href="#fn-deferred.prototype.errback">Deferred.prototype.errback([result])</a>:</p>
<blockquote>
<p>Begin the callback sequence with an error result.
Result may be any value except for a <a class="mochiref reference" href="#fn-deferred">Deferred</a>,
but if <tt class="docutils literal"><span class="pre">!(result</span> <span class="pre">instanceof</span> <span class="pre">Error)</span></tt>, it will be wrapped
with <a class="mochiref reference" href="#fn-genericerror">GenericError</a>.</p>
<p>Either <tt class="docutils literal"><span class="pre">.callback</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt> should
be called exactly once on a
<a name="fn-deferred"></a>
<a class="mochidef reference" href="#fn-deferred">Deferred</a>.</p>
</blockquote>
<p>
<a name="fn-deferredlock"></a>
<a class="mochidef reference" href="#fn-deferredlock">DeferredLock()</a>:</p>
<blockquote>
<p>A lock for asynchronous systems.</p>
<p>The <tt class="docutils literal"><span class="pre">locked</span></tt> property of a <a class="mochiref reference" href="#fn-deferredlock">DeferredLock</a> will be <tt class="docutils literal"><span class="pre">true</span></tt> if
it locked, <tt class="docutils literal"><span class="pre">false</span></tt> otherwise. Do not change this property.</p>
</blockquote>
<p>
<a name="fn-deferredlock.prototype.acquire"></a>
<a class="mochidef reference" href="#fn-deferredlock.prototype.acquire">DeferredLock.prototype.acquire()</a>:</p>
<blockquote>
Attempt to acquire the lock. Returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that fires on
lock acquisition with the <a class="mochiref reference" href="#fn-deferredlock">DeferredLock</a> as the value.
If the lock is locked, then the <a class="mochiref reference" href="#fn-deferred">Deferred</a> goes into a waiting
list.</blockquote>
<p>
<a name="fn-deferredlock.prototype.release"></a>
<a class="mochidef reference" href="#fn-deferredlock.prototype.release">DeferredLock.prototype.release()</a>:</p>
<blockquote>
Release the lock. If there is a waiting list, then the first
<a class="mochiref reference" href="#fn-deferred">Deferred</a> in that waiting list will be called back.</blockquote>
<p>
<a name="fn-deferredlist"></a>
<a class="mochidef reference" href="#fn-deferredlist">DeferredList(list, [fireOnOneCallback, fireOnOneErrback, consumeErrors, canceller])</a>:</p>
<blockquote>
<p>Combine a list of <a class="mochiref reference" href="#fn-deferred">Deferred</a> into one. Track the callbacks and
return a list of (success, result) tuples, 'success' being a boolean
indicating whether result is a normal result or an error.</p>
<p>Once created, you have access to all <a class="mochiref reference" href="#fn-deferred">Deferred</a> methods, like
addCallback, addErrback, addBoth. The behaviour can be changed by the
following options:</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">fireOnOneCallback</span></tt>:</dt>
<dd>Flag for launching the callback once the first Deferred of the list
has returned.</dd>
<dt><tt class="docutils literal"><span class="pre">fireOnOneErrback</span></tt>:</dt>
<dd>Flag for calling the errback at the first error of a Deferred.</dd>
<dt><tt class="docutils literal"><span class="pre">consumeErrors</span></tt>:</dt>
<dd>Flag indicating that any errors raised in the Deferreds should be
consumed by the DeferredList.</dd>
</dl>
<p>Example:</p>
<pre class="literal-block">
// We need to fetch data from 2 different urls
var d1 = loadJSONDoc(url1);
var d2 = loadJSONDoc(url2);
var l1 = new DeferredList([d1, d2], false, false, true);
l1.addCallback(function (resultList) {
MochiKit.Base.map(function (result) {
if (result[0]) {
alert(&quot;Data is here: &quot; + result[1]);
} else {
alert(&quot;Got an error: &quot; + result[1]);
}
}, resultList);
});
</pre>
</blockquote>
</div>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-calllater"></a>
<a class="mochidef reference" href="#fn-calllater">callLater(seconds, func[, args...])</a>:</p>
<blockquote>
<p>Call <tt class="docutils literal"><span class="pre">func(args...)</span></tt> after at least <tt class="docutils literal"><span class="pre">seconds</span></tt> seconds have elapsed.
This is a convenience method for:</p>
<pre class="literal-block">
func = partial.apply(extend(null, arguments, 1));
return wait(seconds).addCallback(function (res) { return func() });
</pre>
<p>Returns a cancellable <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
</blockquote>
<p>
<a name="fn-dosimplexmlhttprequest"></a>
<a class="mochidef reference" href="#fn-dosimplexmlhttprequest">doSimpleXMLHttpRequest(url[, queryArguments...])</a>:</p>
<blockquote>
<p>Perform a simple <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> and wrap it with a
<a class="mochiref reference" href="#fn-deferred">Deferred</a> that may be cancelled.</p>
<p>Note that currently, only <tt class="docutils literal"><span class="pre">200</span></tt> (OK) and <tt class="docutils literal"><span class="pre">304</span></tt>
(NOT_MODIFIED) are considered success codes at this time, other
status codes will result in an errback with an <tt class="docutils literal"><span class="pre">XMLHttpRequestError</span></tt>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">url</span></tt>:</dt>
<dd>The URL to GET</dd>
<dt><tt class="docutils literal"><span class="pre">queryArguments</span></tt>:</dt>
<dd><p class="first">If this function is called with more than one argument, a <tt class="docutils literal"><span class="pre">&quot;?&quot;</span></tt>
and the result of <a class="mochiref reference" href="Base.html#fn-querystring">MochiKit.Base.queryString</a> with
the rest of the arguments are appended to the URL.</p>
<p>For example, this will do a GET request to the URL
<tt class="docutils literal"><span class="pre">http://example.com?bar=baz</span></tt>:</p>
<pre class="last literal-block">
doSimpleXMLHttpRequest(&quot;http://example.com&quot;, {bar: &quot;baz&quot;});
</pre>
</dd>
<dt><em>returns</em>:</dt>
<dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>
instance on success</dd>
</dl>
</blockquote>
<p>
<a name="fn-evaljsonrequest"></a>
<a class="mochidef reference" href="#fn-evaljsonrequest">evalJSONRequest(req)</a>:</p>
<blockquote>
<p>Evaluate a JSON <a class="footnote-reference" href="#id10" id="id4" name="id4">[4]</a> <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt></p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">req</span></tt>:</dt>
<dd>The request whose <tt class="docutils literal"><span class="pre">.responseText</span></tt> property is to be evaluated</dd>
<dt><em>returns</em>:</dt>
<dd>A JavaScript object</dd>
</dl>
</blockquote>
<p>
<a name="fn-fail"></a>
<a class="mochidef reference" href="#fn-fail">fail([result])</a>:</p>
<blockquote>
<p>Return a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that has already had <tt class="docutils literal"><span class="pre">.errback(result)</span></tt>
called.</p>
<p>See <tt class="docutils literal"><span class="pre">succeed</span></tt> documentation for rationale.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">result</span></tt>:</dt>
<dd>The result to give to <a class="mochiref reference" href="#fn-deferred.prototype.errback">Deferred.prototype.errback(result)</a>.</dd>
<dt><em>returns</em>:</dt>
<dd>A <tt class="docutils literal"><span class="pre">new</span></tt> <a class="mochiref reference" href="#fn-deferred">Deferred()</a></dd>
</dl>
</blockquote>
<p>
<a name="fn-gatherresults"></a>
<a class="mochidef reference" href="#fn-gatherresults">gatherResults(deferreds)</a>:</p>
<blockquote>
A convenience function that returns a <a class="mochiref reference" href="#fn-deferredlist">DeferredList</a>
from the given <tt class="docutils literal"><span class="pre">Array</span></tt> of <a class="mochiref reference" href="#fn-deferred">Deferred</a> instances
that will callback with an <tt class="docutils literal"><span class="pre">Array</span></tt> of just results when
they're available, or errback on the first array.</blockquote>
<p>
<a name="fn-getxmlhttprequest"></a>
<a class="mochidef reference" href="#fn-getxmlhttprequest">getXMLHttpRequest()</a>:</p>
<blockquote>
<p>Return an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> compliant object for the current
platform.</p>
<p>In order of preference:</p>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">XMLHttpRequest()</span></tt></li>
<li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">ActiveXObject('Msxml2.XMLHTTP')</span></tt></li>
<li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">ActiveXObject('Microsoft.XMLHTTP')</span></tt></li>
<li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">ActiveXObject('Msxml2.XMLHTTP.4.0')</span></tt></li>
</ul>
</blockquote>
<p>
<a name="fn-maybedeferred"></a>
<a class="mochidef reference" href="#fn-maybedeferred">maybeDeferred(func[, argument...])</a>:</p>
<blockquote>
<p>Call a <tt class="docutils literal"><span class="pre">func</span></tt> with the given arguments and ensure the result is a
<a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">func</span></tt>:</dt>
<dd>The function to call.</dd>
<dt><em>returns</em>:</dt>
<dd>A new <a class="mochiref reference" href="#fn-deferred">Deferred</a> based on the call to <tt class="docutils literal"><span class="pre">func</span></tt>. If <tt class="docutils literal"><span class="pre">func</span></tt>
does not naturally return a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, its result or error
value will be wrapped by one.</dd>
</dl>
</blockquote>
<p>
<a name="fn-loadjsondoc"></a>
<a class="mochidef reference" href="#fn-loadjsondoc">loadJSONDoc(url)</a>:</p>
<blockquote>
<p>Do a simple <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> to a URL and get the response
as a JSON <a class="footnote-reference" href="#id10" id="id5" name="id5">[4]</a> document.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">url</span></tt>:</dt>
<dd>The URL to GET</dd>
<dt><em>returns</em>:</dt>
<dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the evaluated JSON <a class="footnote-reference" href="#id10" id="id6" name="id6">[4]</a>
response upon successful <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt></dd>
</dl>
</blockquote>
<p>
<a name="fn-sendxmlhttprequest"></a>
<a class="mochidef reference" href="#fn-sendxmlhttprequest">sendXMLHttpRequest(req[, sendContent])</a>:</p>
<blockquote>
<p>Set an <tt class="docutils literal"><span class="pre">onreadystatechange</span></tt> handler on an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> object
and send it off. Will return a cancellable <a class="mochiref reference" href="#fn-deferred">Deferred</a> that will
callback on success.</p>
<p>Note that currently, only <tt class="docutils literal"><span class="pre">200</span></tt> (OK) and <tt class="docutils literal"><span class="pre">304</span></tt>
(NOT_MODIFIED) are considered success codes at this time, other
status codes will result in an errback with an <tt class="docutils literal"><span class="pre">XMLHttpRequestError</span></tt>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">req</span></tt>:</dt>
<dd>An preconfigured <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> object (open has been called).</dd>
<dt><tt class="docutils literal"><span class="pre">sendContent</span></tt>:</dt>
<dd>Optional string or DOM content to send over the <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>.</dd>
<dt><em>returns</em>:</dt>
<dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>
instance on success.</dd>
</dl>
</blockquote>
<p>
<a name="fn-succeed"></a>
<a class="mochidef reference" href="#fn-succeed">succeed([result])</a>:</p>
<blockquote>
<p>Return a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that has already had <tt class="docutils literal"><span class="pre">.callback(result)</span></tt>
called.</p>
<p>This is useful when you're writing synchronous code to an asynchronous
interface: i.e., some code is calling you expecting a <a class="mochiref reference" href="#fn-deferred">Deferred</a>
result, but you don't actually need to do anything asynchronous. Just
return <tt class="docutils literal"><span class="pre">succeed(theResult)</span></tt>.</p>
<p>See <tt class="docutils literal"><span class="pre">fail</span></tt> for a version of this function that uses a failing
<a class="mochiref reference" href="#fn-deferred">Deferred</a> rather than a successful one.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">result</span></tt>:</dt>
<dd>The result to give to <a class="mochiref reference" href="#fn-deferred.prototype.callback">Deferred.prototype.callback(result)</a></dd>
<dt><em>returns</em>:</dt>
<dd>a <tt class="docutils literal"><span class="pre">new</span></tt> <a class="mochiref reference" href="#fn-deferred">Deferred</a></dd>
</dl>
</blockquote>
<p>
<a name="fn-wait"></a>
<a class="mochidef reference" href="#fn-wait">wait(seconds[, res])</a>:</p>
<blockquote>
Return a new cancellable <a class="mochiref reference" href="#fn-deferred">Deferred</a> that will <tt class="docutils literal"><span class="pre">.callback(res)</span></tt>
after at least <tt class="docutils literal"><span class="pre">seconds</span></tt> seconds have elapsed.</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id7" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id7">[1]</a></td><td>AJAX, Asynchronous JavaScript and XML: <a class="reference" href="http://en.wikipedia.org/wiki/AJAX">http://en.wikipedia.org/wiki/AJAX</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id8" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2" name="id8">[2]</a></td><td>Twisted, an event-driven networking framework written in Python: <a class="reference" href="http://twistedmatrix.com/">http://twistedmatrix.com/</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id9" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id3" name="id9">[3]</a></td><td>Twisted Deferred Reference: <a class="reference" href="http://twistedmatrix.com/projects/core/documentation/howto/defer.html">http://twistedmatrix.com/projects/core/documentation/howto/defer.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id10" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id10">[4]</a></td><td><em>(<a class="fn-backref" href="#id4">1</a>, <a class="fn-backref" href="#id5">2</a>, <a class="fn-backref" href="#id6">3</a>)</em> JSON, JavaScript Object Notation: <a class="reference" href="http://json.org/">http://json.org/</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,509 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Color - color abstraction with CSS3 support</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Color - color abstraction with CSS3 support</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
// RGB color expressions are supported
assert(
objEqual(Color.whiteColor(), Color.fromString(&quot;rgb(255,100%, 255)&quot;))
);
// So is instantiating directly from HSL or RGB values.
// Note that fromRGB and fromHSL take numbers between 0.0 and 1.0!
assert( objEqual(Color.fromRGB(1.0, 1.0, 1.0), Color.fromHSL(0.0, 0.0, 1.0) );
// Or even SVG color keyword names, as per CSS3!
assert( Color.fromString(&quot;aquamarine&quot;), &quot;#7fffd4&quot; );
// NSColor-like colors built in
assert( Color.whiteColor().toHexString() == &quot;#ffffff&quot; );
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>MochiKit.Color is an abstraction for handling colors and strings that
represent colors.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<p>MochiKit.Color provides an abstraction of RGB, HSL and HSV colors with alpha.
It supports parsing and generating of CSS3 colors, and has a full CSS3 (SVG)
color table.</p>
<p>All of the functionality in this module is exposed through a Color constructor
and its prototype, but a few of its internals are available for direct use at
module level.</p>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="constructors" name="constructors">Constructors</a></h2>
<p>
<a name="fn-color"></a>
<a class="mochidef reference" href="#fn-color">Color()</a>:</p>
<blockquote>
<p>Represents a color. Component values should be integers between <tt class="docutils literal"><span class="pre">0.0</span></tt>
and <tt class="docutils literal"><span class="pre">1.0</span></tt>. You should use one of the <a class="mochiref reference" href="#fn-color">Color</a> factory
functions such as <a class="mochiref reference" href="#fn-color.fromrgb">Color.fromRGB</a>, <a class="mochiref reference" href="#fn-color.fromhsl">Color.fromHSL</a>,
etc. instead of constructing <a class="mochiref reference" href="#fn-color">Color</a> objects directly.</p>
<p><a class="mochiref reference" href="#fn-color">Color</a> instances can be compared with
<a class="mochiref reference" href="Base.html#fn-compare">MochiKit.Base.compare</a> (though ordering is on RGB, so is not
particularly meaningful except for equality), and the default <tt class="docutils literal"><span class="pre">toString</span></tt>
implementation returns <a class="mochiref reference" href="#fn-color.prototype.tohexstring">Color.prototype.toHexString()</a>.</p>
<p><a class="mochiref reference" href="#fn-color">Color</a> instances are immutable, and much of the architecture is
inspired by AppKit's NSColor <a class="footnote-reference" href="#id6" id="id1" name="id1">[1]</a></p>
</blockquote>
<p>
<a name="fn-color.frombackground"></a>
<a class="mochidef reference" href="#fn-color.frombackground">Color.fromBackground(elem)</a>:</p>
<blockquote>
<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object based on the background of the provided
element. Equivalent to:</p>
<pre class="literal-block">
c = Color.fromComputedStyle(
elem, &quot;backgroundColor&quot;, &quot;background-color&quot;) || Color.whiteColor();
</pre>
</blockquote>
<p>
<a name="fn-color.fromcomputedstyle"></a>
<a class="mochidef reference" href="#fn-color.fromcomputedstyle">Color.fromComputedStyle(elem, style, mozillaEquivalentCSS)</a>:</p>
<blockquote>
Returns a <a class="mochiref reference" href="#fn-color">Color</a> object based on the result of
<a class="mochiref reference" href="DOM.html#fn-computedstyle">MochiKit.DOM.computedStyle(elem, style, mozillaEquivalentCSS)</a>
or <tt class="docutils literal"><span class="pre">null</span></tt> if not found.</blockquote>
<p>
<a name="fn-color.fromhexstring"></a>
<a class="mochidef reference" href="#fn-color.fromhexstring">Color.fromHexString(hexString)</a>:</p>
<blockquote>
Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given hexadecimal color string.
For example, <tt class="docutils literal"><span class="pre">&quot;#FFFFFF&quot;</span></tt> would return a <a class="mochiref reference" href="#fn-color">Color</a> with
RGB values <tt class="docutils literal"><span class="pre">[255/255,</span> <span class="pre">255/255,</span> <span class="pre">255/255]</span></tt> (white).</blockquote>
<p>
<a name="fn-color.fromhsl"></a>
<a class="mochidef reference" href="#fn-color.fromhsl">Color.fromHSL(hue, saturation, lightness, alpha=1.0)</a>:</p>
<blockquote>
<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object from the given <tt class="docutils literal"><span class="pre">hue</span></tt>, <tt class="docutils literal"><span class="pre">saturation</span></tt>,
<tt class="docutils literal"><span class="pre">lightness</span></tt> values. Values should be numbers between <tt class="docutils literal"><span class="pre">0.0</span></tt> and
<tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">alpha</span></tt> is not given, then <tt class="docutils literal"><span class="pre">1.0</span></tt> (completely opaque) will be used.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-color.fromhsl">Color.fromHSL({h: hue, s: saturation, l: lightness, a: alpha})</a></dd>
</dl>
</blockquote>
<p>
<a name="fn-color.fromhslstring"></a>
<a class="mochidef reference" href="#fn-color.fromhslstring">Color.fromHSLString(hslString)</a>:</p>
<blockquote>
Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given decimal hsl color string.
For example, <tt class="docutils literal"><span class="pre">&quot;hsl(0,0%,100%)&quot;</span></tt> would return a <a class="mochiref reference" href="#fn-color">Color</a> with
HSL values <tt class="docutils literal"><span class="pre">[0/360,</span> <span class="pre">0/360,</span> <span class="pre">360/360]</span></tt> (white).</blockquote>
<p>
<a name="fn-color.fromhsv"></a>
<a class="mochidef reference" href="#fn-color.fromhsv">Color.fromHSV(hue, saturation, value, alpha=1.0)</a>:</p>
<blockquote>
<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object from the given <tt class="docutils literal"><span class="pre">hue</span></tt>, <tt class="docutils literal"><span class="pre">saturation</span></tt>,
<tt class="docutils literal"><span class="pre">value</span></tt> values. Values should be numbers between <tt class="docutils literal"><span class="pre">0.0</span></tt> and
<tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">alpha</span></tt> is not given, then <tt class="docutils literal"><span class="pre">1.0</span></tt> (completely opaque) will be used.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-color.fromhsv">Color.fromHSV({h: hue, s: saturation, v: value, a: alpha})</a></dd>
</dl>
</blockquote>
<p>
<a name="fn-color.fromname"></a>
<a class="mochidef reference" href="#fn-color.fromname">Color.fromName(colorName)</a>:</p>
<blockquote>
Returns a <a class="mochiref reference" href="#fn-color">Color</a> object corresponding to the given
SVG 1.0 color keyword name <a class="footnote-reference" href="#id7" id="id2" name="id2">[2]</a> as per the W3C CSS3
Color Module <a class="footnote-reference" href="#id8" id="id3" name="id3">[3]</a>. <tt class="docutils literal"><span class="pre">&quot;transparent&quot;</span></tt> is also accepted
as a color name, and will return <a class="mochiref reference" href="#fn-color.transparentcolor">Color.transparentColor()</a>.</blockquote>
<p>
<a name="fn-color.fromrgb"></a>
<a class="mochidef reference" href="#fn-color.fromrgb">Color.fromRGB(red, green, blue, alpha=1.0)</a>:</p>
<blockquote>
<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object from the given <tt class="docutils literal"><span class="pre">red</span></tt>, <tt class="docutils literal"><span class="pre">green</span></tt>,
<tt class="docutils literal"><span class="pre">blue</span></tt>, and <tt class="docutils literal"><span class="pre">alpha</span></tt> values. Values should be numbers between <tt class="docutils literal"><span class="pre">0</span></tt>
and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">alpha</span></tt> is not given, then <tt class="docutils literal"><span class="pre">1.0</span></tt> (completely opaque) will be used.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-color.fromrgb">Color.fromRGB({r: red, g: green, b: blue, a: alpha})</a></dd>
</dl>
</blockquote>
<p>
<a name="fn-color.fromrgbstring"></a>
<a class="mochidef reference" href="#fn-color.fromrgbstring">Color.fromRGBString(rgbString)</a>:</p>
<blockquote>
Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given decimal rgb color string.
For example, <tt class="docutils literal"><span class="pre">&quot;rgb(255,255,255)&quot;</span></tt> would return a <a class="mochiref reference" href="#fn-color">Color</a> with
RGB values <tt class="docutils literal"><span class="pre">[255/255,</span> <span class="pre">255/255,</span> <span class="pre">255/255]</span></tt> (white).</blockquote>
<p>
<a name="fn-color.fromtext"></a>
<a class="mochidef reference" href="#fn-color.fromtext">Color.fromText(elem)</a>:</p>
<blockquote>
<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object based on the text color of the provided
element. Equivalent to:</p>
<pre class="literal-block">
c = Color.fromComputedStyle(elem, &quot;color&quot;) || Color.whiteColor();
</pre>
</blockquote>
<p>
<a name="fn-color.fromstring"></a>
<a class="mochidef reference" href="#fn-color.fromstring">Color.fromString(rgbOrHexString)</a>:</p>
<blockquote>
<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given RGB, HSL, hex, or name.
Will return <tt class="docutils literal"><span class="pre">null</span></tt> if the string can not be parsed by any of these
methods.</p>
<p>See <a class="mochiref reference" href="#fn-color.fromhexstring">Color.fromHexString</a>, <a class="mochiref reference" href="#fn-color.fromrgbstring">Color.fromRGBString</a>,
<a class="mochiref reference" href="#fn-color.fromhslstring">Color.fromHSLString</a> and <a class="mochiref reference" href="#fn-color.fromname">Color.fromName</a> more
information.</p>
</blockquote>
<p>
<a name="fn-color.namedcolors"></a>
<a class="mochidef reference" href="#fn-color.namedcolors">Color.namedColors()</a>:</p>
<blockquote>
Returns an object with properties for each SVG 1.0 color keyword
name <a class="footnote-reference" href="#id7" id="id4" name="id4">[2]</a> supported by CSS3 <a class="footnote-reference" href="#id8" id="id5" name="id5">[3]</a>. Property names are the color keyword
name in lowercase, and the value is a string suitable for
<a class="mochiref reference" href="#fn-color.fromstring">Color.fromString()</a>.</blockquote>
<p>
<a name="fn-color.prototype.colorwithalpha"></a>
<a class="mochidef reference" href="#fn-color.prototype.colorwithalpha">Color.prototype.colorWithAlpha(alpha)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the provided
<tt class="docutils literal"><span class="pre">alpha</span></tt> value.</blockquote>
<p>
<a name="fn-color.prototype.colorwithhue"></a>
<a class="mochidef reference" href="#fn-color.prototype.colorwithhue">Color.prototype.colorWithHue(hue)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the provided
<tt class="docutils literal"><span class="pre">hue</span></tt> value.</blockquote>
<p>
<a name="fn-color.prototype.colorwithsaturation"></a>
<a class="mochidef reference" href="#fn-color.prototype.colorwithsaturation">Color.prototype.colorWithSaturation(saturation)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the provided
<tt class="docutils literal"><span class="pre">saturation</span></tt> value (using the HSL color model).</blockquote>
<p>
<a name="fn-color.prototype.colorwithlightness"></a>
<a class="mochidef reference" href="#fn-color.prototype.colorwithlightness">Color.prototype.colorWithLightness(lightness)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the provided
<tt class="docutils literal"><span class="pre">lightness</span></tt> value.</blockquote>
<p>
<a name="fn-color.prototype.darkercolorwithlevel"></a>
<a class="mochidef reference" href="#fn-color.prototype.darkercolorwithlevel">Color.prototype.darkerColorWithLevel(level)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but darker by the given
<tt class="docutils literal"><span class="pre">level</span></tt> (between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>).</blockquote>
<p>
<a name="fn-color.prototype.lightercolorwithlevel"></a>
<a class="mochidef reference" href="#fn-color.prototype.lightercolorwithlevel">Color.prototype.lighterColorWithLevel(level)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but lighter by the given
<tt class="docutils literal"><span class="pre">level</span></tt> (between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>).</blockquote>
<p>
<a name="fn-color.prototype.blendedcolor"></a>
<a class="mochidef reference" href="#fn-color.prototype.blendedcolor">Color.prototype.blendedColor(other, fraction=0.5)</a>:</p>
<blockquote>
Return a new <a class="mochiref reference" href="#fn-color">Color</a> whose RGBA component values are a weighted sum
of this color and <tt class="docutils literal"><span class="pre">other</span></tt>. Each component of the returned color
is the <tt class="docutils literal"><span class="pre">fraction</span></tt> of other's value plus <tt class="docutils literal"><span class="pre">1</span> <span class="pre">-</span> <span class="pre">fraction</span></tt> of this
color's.</blockquote>
<p>
<a name="fn-color.prototype.islight"></a>
<a class="mochidef reference" href="#fn-color.prototype.islight">Color.prototype.isLight()</a>:</p>
<blockquote>
<p>Return <tt class="docutils literal"><span class="pre">true</span></tt> if the lightness value of this color is greater than
<tt class="docutils literal"><span class="pre">0.5</span></tt>.</p>
<p>Note that <tt class="docutils literal"><span class="pre">alpha</span></tt> is ignored for this calculation (color components
are not premultiplied).</p>
</blockquote>
<p>
<a name="fn-color.prototype.isdark"></a>
<a class="mochidef reference" href="#fn-color.prototype.isdark">Color.prototype.isDark()</a>:</p>
<blockquote>
<p>Return <tt class="docutils literal"><span class="pre">true</span></tt> if the lightness value of this color is less than or
equal to <tt class="docutils literal"><span class="pre">0.5</span></tt>.</p>
<p>Note that <tt class="docutils literal"><span class="pre">alpha</span></tt> is ignored for this calculation (color components
are not premultiplied).</p>
</blockquote>
<p>
<a name="fn-color.prototype.torgbstring"></a>
<a class="mochidef reference" href="#fn-color.prototype.torgbstring">Color.prototype.toRGBString()</a>:</p>
<blockquote>
<p>Return the decimal <tt class="docutils literal"><span class="pre">&quot;rgb(red,</span> <span class="pre">green,</span> <span class="pre">blue)&quot;</span></tt> string representation of this
color.</p>
<p>If the alpha component is not <tt class="docutils literal"><span class="pre">1.0</span></tt> (fully opaque), the
<tt class="docutils literal"><span class="pre">&quot;rgba(red,</span> <span class="pre">green,</span> <span class="pre">blue,</span> <span class="pre">alpha)&quot;</span></tt> string representation will be used.</p>
<p>For example:</p>
<pre class="literal-block">
assert( Color.whiteColor().toRGBString() == &quot;rgb(255,255,255)&quot; );
</pre>
</blockquote>
<p>
<a name="fn-color.prototype.tohslstring"></a>
<a class="mochidef reference" href="#fn-color.prototype.tohslstring">Color.prototype.toHSLString()</a>:</p>
<blockquote>
<p>Return the decimal <tt class="docutils literal"><span class="pre">&quot;hsl(hue,</span> <span class="pre">saturation,</span> <span class="pre">lightness)&quot;</span></tt>
string representation of this color.</p>
<p>If the alpha component is not <tt class="docutils literal"><span class="pre">1.0</span></tt> (fully opaque), the
<tt class="docutils literal"><span class="pre">&quot;hsla(hue,</span> <span class="pre">saturation,</span> <span class="pre">lightness,</span> <span class="pre">alpha)&quot;</span></tt> string representation
will be used.</p>
<p>For example:</p>
<pre class="literal-block">
assert( Color.whiteColor().toHSLString() == &quot;hsl(0,0,360)&quot; );
</pre>
</blockquote>
<p>
<a name="fn-color.prototype.tohexstring"></a>
<a class="mochidef reference" href="#fn-color.prototype.tohexstring">Color.prototype.toHexString()</a>:</p>
<blockquote>
<p>Return the hexadecimal <tt class="docutils literal"><span class="pre">&quot;#RRGGBB&quot;</span></tt> string representation of this color.</p>
<p>Note that the alpha component is completely ignored for hexadecimal
string representations!</p>
<p>For example:</p>
<pre class="literal-block">
assert( Color.whiteColor().toHexString() == &quot;#FFFFFF&quot; );
</pre>
</blockquote>
<p>
<a name="fn-color.prototype.asrgb"></a>
<a class="mochidef reference" href="#fn-color.prototype.asrgb">Color.prototype.asRGB()</a>:</p>
<blockquote>
Return the RGB (red, green, blue, alpha) components of this color as an
object with <tt class="docutils literal"><span class="pre">r</span></tt>, <tt class="docutils literal"><span class="pre">g</span></tt>, <tt class="docutils literal"><span class="pre">b</span></tt>, and <tt class="docutils literal"><span class="pre">a</span></tt> properties that have
values between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</blockquote>
<p>
<a name="fn-color.prototype.ashsl"></a>
<a class="mochidef reference" href="#fn-color.prototype.ashsl">Color.prototype.asHSL()</a>:</p>
<blockquote>
Return the HSL (hue, saturation, lightness, alpha) components of this
color as an object with <tt class="docutils literal"><span class="pre">h</span></tt>, <tt class="docutils literal"><span class="pre">s</span></tt>, <tt class="docutils literal"><span class="pre">l</span></tt> and <tt class="docutils literal"><span class="pre">a</span></tt> properties
that have values between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</blockquote>
<p>
<a name="fn-color.prototype.ashsv"></a>
<a class="mochidef reference" href="#fn-color.prototype.ashsv">Color.prototype.asHSV()</a>:</p>
<blockquote>
Return the HSV (hue, saturation, value, alpha) components of this
color as an object with <tt class="docutils literal"><span class="pre">h</span></tt>, <tt class="docutils literal"><span class="pre">s</span></tt>, <tt class="docutils literal"><span class="pre">v</span></tt> and <tt class="docutils literal"><span class="pre">a</span></tt> properties
that have values between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</blockquote>
<p>
<a name="fn-color.blackcolor"></a>
<a class="mochidef reference" href="#fn-color.blackcolor">Color.blackColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 0, 0
(#000000).</blockquote>
<p>
<a name="fn-color.bluecolor"></a>
<a class="mochidef reference" href="#fn-color.bluecolor">Color.blueColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 0, 1
(#0000ff).</blockquote>
<p>
<a name="fn-color.browncolor"></a>
<a class="mochidef reference" href="#fn-color.browncolor">Color.brownColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0.6, 0.4, 0.2
(#996633).</blockquote>
<p>
<a name="fn-color.cyancolor"></a>
<a class="mochidef reference" href="#fn-color.cyancolor">Color.cyanColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 1, 1
(#00ffff).</blockquote>
<p>
<a name="fn-color.darkgraycolor"></a>
<a class="mochidef reference" href="#fn-color.darkgraycolor">Color.darkGrayColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1/3, 1/3, 1/3
(#555555).</blockquote>
<p>
<a name="fn-color.graycolor"></a>
<a class="mochidef reference" href="#fn-color.graycolor">Color.grayColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0.5, 0.5, 0.5
(#808080).</blockquote>
<p>
<a name="fn-color.greencolor"></a>
<a class="mochidef reference" href="#fn-color.greencolor">Color.greenColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 1, 0.
(#00ff00).</blockquote>
<p>
<a name="fn-color.lightgraycolor"></a>
<a class="mochidef reference" href="#fn-color.lightgraycolor">Color.lightGrayColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 2/3, 2/3, 2/3
(#aaaaaa).</blockquote>
<p>
<a name="fn-color.magentacolor"></a>
<a class="mochidef reference" href="#fn-color.magentacolor">Color.magentaColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 0, 1
(#ff00ff).</blockquote>
<p>
<a name="fn-color.orangecolor"></a>
<a class="mochidef reference" href="#fn-color.orangecolor">Color.orangeColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 0.5, 0
(#ff8000).</blockquote>
<p>
<a name="fn-color.purplecolor"></a>
<a class="mochidef reference" href="#fn-color.purplecolor">Color.purpleColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0.5, 0, 0.5
(#800080).</blockquote>
<p>
<a name="fn-color.redcolor"></a>
<a class="mochidef reference" href="#fn-color.redcolor">Color.redColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 0, 0
(#ff0000).</blockquote>
<p>
<a name="fn-color.whitecolor"></a>
<a class="mochidef reference" href="#fn-color.whitecolor">Color.whiteColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 1, 1
(#ffffff).</blockquote>
<p>
<a name="fn-color.yellowcolor"></a>
<a class="mochidef reference" href="#fn-color.yellowcolor">Color.yellowColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 1, 0
(#ffff00).</blockquote>
<p>
<a name="fn-color.transparentcolor"></a>
<a class="mochidef reference" href="#fn-color.transparentcolor">Color.transparentColor()</a>:</p>
<blockquote>
Return a <a class="mochiref reference" href="#fn-color">Color</a> object that is completely transparent
(has alpha component of 0).</blockquote>
</div>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-clampcolorcomponent"></a>
<a class="mochidef reference" href="#fn-clampcolorcomponent">clampColorComponent(num, scale)</a>:</p>
<blockquote>
<p>Returns <tt class="docutils literal"><span class="pre">num</span> <span class="pre">*</span> <span class="pre">scale</span></tt> clamped between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">scale</span></tt>.</p>
<p><a class="mochiref reference" href="#fn-clampcolorcomponent">clampColorComponent</a> is not exported by default when using JSAN.</p>
</blockquote>
<p>
<a name="fn-hsltorgb"></a>
<a class="mochidef reference" href="#fn-hsltorgb">hslToRGB(hue, saturation, lightness, alpha)</a>:</p>
<blockquote>
<p>Computes RGB values from the provided HSL values. The return value is a
mapping with <tt class="docutils literal"><span class="pre">&quot;r&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;g&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;b&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt> keys.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-hsltorgb">hslToRGB({h: hue, s: saturation, l: lightness, a: alpha})</a>.</dd>
</dl>
<p><a class="mochiref reference" href="#fn-hsltorgb">hslToRGB</a> is not exported by default when using JSAN.</p>
</blockquote>
<p>
<a name="fn-hsvtorgb"></a>
<a class="mochidef reference" href="#fn-hsvtorgb">hsvToRGB(hue, saturation, value, alpha)</a>:</p>
<blockquote>
<p>Computes RGB values from the provided HSV values. The return value is a
mapping with <tt class="docutils literal"><span class="pre">&quot;r&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;g&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;b&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt> keys.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-hsvtorgb">hsvToRGB({h: hue, s: saturation, v: value, a: alpha})</a>.</dd>
</dl>
<p><a class="mochiref reference" href="#fn-hsvtorgb">hsvToRGB</a> is not exported by default when using JSAN.</p>
</blockquote>
<p>
<a name="fn-tocolorpart"></a>
<a class="mochidef reference" href="#fn-tocolorpart">toColorPart(num)</a>:</p>
<blockquote>
<p>Convert num to a zero padded hexadecimal digit for use in a hexadecimal
color string. Num should be an integer between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">255</span></tt>.</p>
<p><a class="mochiref reference" href="#fn-tocolorpart">toColorPart</a> is not exported by default when using JSAN.</p>
</blockquote>
<p>
<a name="fn-rgbtohsl"></a>
<a class="mochidef reference" href="#fn-rgbtohsl">rgbToHSL(red, green, blue, alpha)</a>:</p>
<blockquote>
<p>Computes HSL values based on the provided RGB values. The return value is
a mapping with <tt class="docutils literal"><span class="pre">&quot;h&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;s&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;l&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt> keys.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-rgbtohsl">rgbToHSL({r: red, g: green, b: blue, a: alpha})</a>.</dd>
</dl>
<p><a class="mochiref reference" href="#fn-rgbtohsl">rgbToHSL</a> is not exported by default when using JSAN.</p>
</blockquote>
<p>
<a name="fn-rgbtohsv"></a>
<a class="mochidef reference" href="#fn-rgbtohsv">rgbToHSV(red, green, blue, alpha)</a>:</p>
<blockquote>
<p>Computes HSV values based on the provided RGB values. The return value is
a mapping with <tt class="docutils literal"><span class="pre">&quot;h&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;s&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;v&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt> keys.</p>
<dl class="docutils">
<dt>Alternate form:</dt>
<dd><a class="mochiref reference" href="#fn-rgbtohsv">rgbToHSV({r: red, g: green, b: blue, a: alpha})</a>.</dd>
</dl>
<p><a class="mochiref reference" href="#fn-rgbtohsv">rgbToHSV</a> is not exported by default when using JSAN.</p>
</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id6" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id6">[1]</a></td><td>Application Kit Reference - NSColor: <a class="reference" href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html">http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id7" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id7">[2]</a></td><td><em>(<a class="fn-backref" href="#id2">1</a>, <a class="fn-backref" href="#id4">2</a>)</em> SVG 1.0 color keywords: <a class="reference" href="http://www.w3.org/TR/SVG/types.html#ColorKeywords">http://www.w3.org/TR/SVG/types.html#ColorKeywords</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id8" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id8">[3]</a></td><td><em>(<a class="fn-backref" href="#id3">1</a>, <a class="fn-backref" href="#id5">2</a>)</em> W3C CSS3 Color Module: <a class="reference" href="http://www.w3.org/TR/css3-color/#svg-color">http://www.w3.org/TR/css3-color/#svg-color</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,798 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.DOM - painless DOM manipulation API</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.DOM - painless DOM manipulation API</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
var rows = [
[&quot;dataA1&quot;, &quot;dataA2&quot;, &quot;dataA3&quot;],
[&quot;dataB1&quot;, &quot;dataB2&quot;, &quot;dataB3&quot;]
];
row_display = function (row) {
return TR(null, map(partial(TD, null), row));
}
var newTable = TABLE({'class': 'prettytable'},
THEAD(null,
row_display([&quot;head1&quot;, &quot;head2&quot;, &quot;head3&quot;])),
TFOOT(null,
row_display([&quot;foot1&quot;, &quot;foot2&quot;, &quot;foot3&quot;])),
TBODY(null,
map(row_display, rows)));
// put that in your document.createElement and smoke it!
swapDOM(oldTable, newTable);
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>As you probably know, the DOM APIs are some of the most painful Java-inspired
APIs you'll run across from a highly dynamic language. Don't worry about that
though, because they provide a reasonable basis to build something that
sucks a lot less.</p>
<p>MochiKit.DOM takes much of its inspiration from Nevow's <a class="footnote-reference" href="#id5" id="id1" name="id1">[1]</a> stan <a class="footnote-reference" href="#id6" id="id2" name="id2">[2]</a>.
This means you choose a tag, give it some attributes, then stuff it full
of <em>whatever objects you want</em>. MochiKit.DOM isn't stupid, it knows that
a string should be a text node, and that you want functions to be called,
and that <tt class="docutils literal"><span class="pre">Array</span></tt>-like objects should be expanded, and stupid <tt class="docutils literal"><span class="pre">null</span></tt> values
should be skipped.</p>
<p>Hell, it will let you return strings from functions, and use iterators from
<a class="mochiref reference" href="Iter.html">MochiKit.Iter</a>. If that's not enough, just teach it new tricks with
<a class="mochiref reference" href="#fn-registerdomconverter">registerDOMConverter</a>. If you have never used an API like this for
creating DOM elements, you've been wasting your damn time. Get with it!</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
<li><a class="mochiref reference" href="Iter.html">MochiKit.Iter</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<div class="section">
<h2><a id="dom-coercion-rules" name="dom-coercion-rules">DOM Coercion Rules</a></h2>
<p>In order of precedence, <a class="mochiref reference" href="#fn-createdom">createDOM</a> coerces given arguments to DOM
nodes using the following rules:</p>
<ol class="arabic simple">
<li>Functions are called with a <tt class="docutils literal"><span class="pre">this</span></tt> of the parent
node and their return value is subject to the
following rules (even this one).</li>
<li><tt class="docutils literal"><span class="pre">undefined</span></tt> and <tt class="docutils literal"><span class="pre">null</span></tt> are ignored.</li>
<li>Iterables (see <a class="mochiref reference" href="Iter.html">MochiKit.Iter</a>) are flattened
(as if they were passed in-line as nodes) and each
return value is subject to all of these rules.</li>
<li>Values that look like DOM nodes (objects with a
<tt class="docutils literal"><span class="pre">.nodeType</span> <span class="pre">&gt;</span> <span class="pre">0</span></tt>) are <tt class="docutils literal"><span class="pre">.appendChild</span></tt>'ed to the created
DOM fragment.</li>
<li>Strings are wrapped up with <tt class="docutils literal"><span class="pre">document.createTextNode</span></tt></li>
<li>Objects that are not strings are run through the <tt class="docutils literal"><span class="pre">domConverters</span></tt>
<a class="mochiref reference" href="Base.html#fn-adapterregistry">MochiKit.Base.AdapterRegistry</a>
(see <a class="mochiref reference" href="#fn-registerdomconverter">registerDOMConverter</a>).
The value returned by the adapter is subject to these same rules (e.g.
adapters are allowed to return a string, which will be coerced into a
text node).</li>
<li>If no adapter is available, <tt class="docutils literal"><span class="pre">.toString()</span></tt> is used to create a text node.</li>
</ol>
</div>
<div class="section">
<h2><a id="creating-dom-element-trees" name="creating-dom-element-trees">Creating DOM Element Trees</a></h2>
<p><a class="mochiref reference" href="#fn-createdom">createDOM</a> provides you with an excellent facility for creating DOM trees
that is easy on the wrists. One of the best ways to understand how to use
it is to take a look at an example:</p>
<pre class="literal-block">
var rows = [
[&quot;dataA1&quot;, &quot;dataA2&quot;, &quot;dataA3&quot;],
[&quot;dataB1&quot;, &quot;dataB2&quot;, &quot;dataB3&quot;]
];
row_display = function (row) {
return TR(null, map(partial(TD, null), row));
}
var newTable = TABLE({'class': 'prettytable'},
THEAD(null,
row_display([&quot;head1&quot;, &quot;head2&quot;, &quot;head3&quot;])),
TFOOT(null,
row_display([&quot;foot1&quot;, &quot;foot2&quot;, &quot;foot3&quot;])),
TBODY(null,
map(row_display, rows)));
</pre>
<p>This will create a table with the following visual layout (if it
were inserted into the document DOM):</p>
<blockquote>
<table border="1" class="docutils">
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">head1</th>
<th class="head">head2</th>
<th class="head">head3</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>dataA1</td>
<td>dataA2</td>
<td>dataA3</td>
</tr>
<tr><td>dataB1</td>
<td>dataB2</td>
<td>dataB3</td>
</tr>
<tr><td>foot1</td>
<td>foot2</td>
<td>foot3</td>
</tr>
</tbody>
</table>
</blockquote>
<p>Corresponding to the following HTML:</p>
<pre class="literal-block">
&lt;table class=&quot;prettytable&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;td&gt;head1&lt;/td&gt;
&lt;td&gt;head2&lt;/td&gt;
&lt;td&gt;head3&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tfoot&gt;
&lt;tr&gt;
&lt;td&gt;foot1&lt;/td&gt;
&lt;td&gt;foot2&lt;/td&gt;
&lt;td&gt;foot3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tfoot&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;dataA1&lt;/td&gt;
&lt;td&gt;dataA2&lt;/td&gt;
&lt;td&gt;dataA3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;dataB1&lt;/td&gt;
&lt;td&gt;dataB2&lt;/td&gt;
&lt;td&gt;dataB3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</pre>
</div>
<div class="section">
<h2><a id="dom-context" name="dom-context">DOM Context</a></h2>
<p>In order to prevent having to pass a <tt class="docutils literal"><span class="pre">window</span></tt> and/or <tt class="docutils literal"><span class="pre">document</span></tt>
variable to every MochiKit.DOM function (e.g. when working with a
child window), MochiKit.DOM maintains a context variable for each
of them. They are managed with the <a class="mochiref reference" href="#fn-withwindow">withWindow</a> and
<a class="mochiref reference" href="#fn-withdocument">withDocument</a> functions, and can be acquired with
<a class="mochiref reference" href="#fn-currentwindow">currentWindow()</a> and <a class="mochiref reference" href="#fn-currentdocument">currentDocument()</a></p>
<p>For example, if you are creating DOM nodes in a child window, you
could do something like this:</p>
<pre class="literal-block">
withWindow(child, function () {
var doc = currentDocument();
appendChildNodes(doc.body, H1(null, &quot;This is in the child!&quot;));
});
</pre>
<p>Note that <a class="mochiref reference" href="#fn-withwindow">withWindow(win, ...)</a> also implies
<a class="mochiref reference" href="#fn-withdocument">withDocument(win.document, ...)</a>.</p>
</div>
<div class="section">
<h2><a id="element-visibility" name="element-visibility">Element Visibility</a></h2>
<p>The <a class="mochiref reference" href="#fn-hideelement">hideElement</a> and <a class="mochiref reference" href="#fn-showelement">showElement</a> functions are
provided as a convenience, but only work for elements that are
<tt class="docutils literal"><span class="pre">display:</span> <span class="pre">block</span></tt>. For a general solution to showing, hiding, and checking
the explicit visibility of elements, we recommend using a solution that
involves a little CSS. Here's an example:</p>
<pre class="literal-block">
&lt;style type=&quot;text/css&quot;&gt;
.invisible { display: none; }
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function toggleVisible(elem) {
toggleElementClass(&quot;invisible&quot;, elem);
}
function makeVisible(elem) {
removeElementClass(elem, &quot;invisible&quot;);
}
function makeInvisible(elem) {
addElementClass(elem, &quot;invisible&quot;);
}
function isVisible(elem) {
// you may also want to check for
// getElement(elem).style.display == &quot;none&quot;
return !hasElementClass(elem, &quot;invisible&quot;);
};
&lt;/script&gt;
</pre>
<p>MochiKit doesn't ship with such a solution, because there is no reliable and
portable method for adding CSS rules on the fly with JavaScript.</p>
</div>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-$"></a>
<a class="mochidef reference" href="#fn-$">$(id[, ...])</a>:</p>
<blockquote>
An alias for <a class="mochiref reference" href="#fn-getelement">getElement(id[, ...])</a></blockquote>
<p>
<a name="fn-addelementclass"></a>
<a class="mochidef reference" href="#fn-addelementclass">addElementClass(element, className)</a>:</p>
<blockquote>
Ensure that the given <tt class="docutils literal"><span class="pre">element</span></tt> has <tt class="docutils literal"><span class="pre">className</span></tt> set as part of its
class attribute. This will not disturb other class names.
<tt class="docutils literal"><span class="pre">element</span></tt> is looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers
are also acceptable.</blockquote>
<p>
<a name="fn-addloadevent"></a>
<a class="mochidef reference" href="#fn-addloadevent">addLoadEvent(func)</a>:</p>
<blockquote>
<p>Note that <a class="mochiref reference" href="#fn-addloadevent">addLoadEvent</a> can not be used in combination with
<a class="mochiref reference" href="Signal.html">MochiKit.Signal</a> if the <tt class="docutils literal"><span class="pre">onload</span></tt> event is connected.
Once an event is connected with <a class="mochiref reference" href="Signal.html">MochiKit.Signal</a>, no other APIs
may be used for that same event.</p>
<p>This will stack <tt class="docutils literal"><span class="pre">window.onload</span></tt> functions on top of each other.
Each function added will be called after <tt class="docutils literal"><span class="pre">onload</span></tt> in the
order that they were added.</p>
</blockquote>
<p>
<a name="fn-addtocallstack"></a>
<a class="mochidef reference" href="#fn-addtocallstack">addToCallStack(target, path, func[, once])</a>:</p>
<blockquote>
<p>Note that <a class="mochiref reference" href="#fn-addtocallstack">addToCallStack</a> is not compatible with
<a class="mochiref reference" href="Signal.html">MochiKit.Signal</a>. Once an event is connected with
<a class="mochiref reference" href="Signal.html">MochiKit.Signal</a>, no other APIs may be used for that same event.</p>
<p>Set the property <tt class="docutils literal"><span class="pre">path</span></tt> of <tt class="docutils literal"><span class="pre">target</span></tt> to a function that calls the
existing function at that property (if any), then calls <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">target[path]()</span></tt> returns exactly <tt class="docutils literal"><span class="pre">false</span></tt>, then <tt class="docutils literal"><span class="pre">func</span></tt> will
not be called.</p>
<p>If <tt class="docutils literal"><span class="pre">once</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt>, then <tt class="docutils literal"><span class="pre">target[path]</span></tt> is set to <tt class="docutils literal"><span class="pre">null</span></tt> after
the function call stack has completed.</p>
<p>If called several times for the same <tt class="docutils literal"><span class="pre">target[path]</span></tt>, it will create
a stack of functions (instead of just a pair).</p>
</blockquote>
<p>
<a name="fn-appendchildnodes"></a>
<a class="mochidef reference" href="#fn-appendchildnodes">appendChildNodes(node[, childNode[, ...]])</a>:</p>
<blockquote>
<p>Append children to a DOM element using the <a class="reference" href="#dom-coercion-rules">DOM Coercion Rules</a>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to add children to
(if a string is given, <a class="mochiref reference" href="#fn-getelement">getElement(node)</a>
will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">childNode</span></tt>...:</dt>
<dd>All additional arguments, if any, will be coerced into DOM
nodes that are appended as children using the
<a class="reference" href="#dom-coercion-rules">DOM Coercion Rules</a>.</dd>
<dt><em>returns</em>:</dt>
<dd>The given DOM element</dd>
</dl>
</blockquote>
<p>
<a name="fn-computedstyle"></a>
<a class="mochidef reference" href="#fn-computedstyle">computedStyle(htmlElement, cssProperty, mozillaEquivalentCSS)</a>:</p>
<blockquote>
Looks up a CSS property for the given element. The element can be
specified as either a string with the element's ID or the element
object itself.</blockquote>
<p>
<a name="fn-createdom"></a>
<a class="mochidef reference" href="#fn-createdom">createDOM(name[, attrs[, node[, ...]]])</a>:</p>
<blockquote>
<p>Create a DOM fragment in a really convenient manner, much like
Nevow`s <a class="footnote-reference" href="#id5" id="id3" name="id3">[1]</a> stan <a class="footnote-reference" href="#id6" id="id4" name="id4">[2]</a>.</p>
<p>Partially applied versions of this function for common tags are
available as aliases:</p>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">A</span></tt></li>
<li><tt class="docutils literal"><span class="pre">BUTTON</span></tt></li>
<li><tt class="docutils literal"><span class="pre">BR</span></tt></li>
<li><tt class="docutils literal"><span class="pre">CANVAS</span></tt></li>
<li><tt class="docutils literal"><span class="pre">DIV</span></tt></li>
<li><tt class="docutils literal"><span class="pre">FIELDSET</span></tt></li>
<li><tt class="docutils literal"><span class="pre">FORM</span></tt></li>
<li><tt class="docutils literal"><span class="pre">H1</span></tt></li>
<li><tt class="docutils literal"><span class="pre">H2</span></tt></li>
<li><tt class="docutils literal"><span class="pre">H3</span></tt></li>
<li><tt class="docutils literal"><span class="pre">HR</span></tt></li>
<li><tt class="docutils literal"><span class="pre">IMG</span></tt></li>
<li><tt class="docutils literal"><span class="pre">INPUT</span></tt></li>
<li><tt class="docutils literal"><span class="pre">LABEL</span></tt></li>
<li><tt class="docutils literal"><span class="pre">LEGEND</span></tt></li>
<li><tt class="docutils literal"><span class="pre">LI</span></tt></li>
<li><tt class="docutils literal"><span class="pre">OL</span></tt></li>
<li><tt class="docutils literal"><span class="pre">OPTGROUP</span></tt></li>
<li><tt class="docutils literal"><span class="pre">OPTION</span></tt></li>
<li><tt class="docutils literal"><span class="pre">P</span></tt></li>
<li><tt class="docutils literal"><span class="pre">PRE</span></tt></li>
<li><tt class="docutils literal"><span class="pre">SELECT</span></tt></li>
<li><tt class="docutils literal"><span class="pre">SPAN</span></tt></li>
<li><tt class="docutils literal"><span class="pre">STRONG</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TABLE</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TBODY</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TD</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TEXTAREA</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TFOOT</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TH</span></tt></li>
<li><tt class="docutils literal"><span class="pre">THEAD</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TR</span></tt></li>
<li><tt class="docutils literal"><span class="pre">TT</span></tt></li>
<li><tt class="docutils literal"><span class="pre">UL</span></tt></li>
</ul>
<p>See <a class="reference" href="#creating-dom-element-trees">Creating DOM Element Trees</a> for a comprehensive example.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">name</span></tt>:</dt>
<dd>The kind of fragment to create (e.g. 'span'), such as you would
pass to <tt class="docutils literal"><span class="pre">document.createElement</span></tt>.</dd>
<dt><tt class="docutils literal"><span class="pre">attrs</span></tt>:</dt>
<dd><p class="first">An object whose properties will be used as the attributes
(e.g. <tt class="docutils literal"><span class="pre">{'style':</span> <span class="pre">'display:block'}</span></tt>), or <tt class="docutils literal"><span class="pre">null</span></tt> if no
attributes need to be set.</p>
<p>See <a class="mochiref reference" href="#fn-updatenodeattributes">updateNodeAttributes</a> for more information.</p>
<p class="last">For convenience, if <tt class="docutils literal"><span class="pre">attrs</span></tt> is a string, <tt class="docutils literal"><span class="pre">null</span></tt> is used
and the string will be considered the first <tt class="docutils literal"><span class="pre">node</span></tt>.</p>
</dd>
<dt><tt class="docutils literal"><span class="pre">node</span></tt>...:</dt>
<dd>All additional arguments, if any, will be coerced into DOM
nodes that are appended as children using the
<a class="reference" href="#dom-coercion-rules">DOM Coercion Rules</a>.</dd>
<dt><em>returns</em>:</dt>
<dd>A DOM element</dd>
</dl>
</blockquote>
<p>
<a name="fn-createdomfunc"></a>
<a class="mochidef reference" href="#fn-createdomfunc">createDOMFunc(tag[, attrs[, node[, ...]]])</a>:</p>
<blockquote>
<p>Convenience function to create a partially applied createDOM
function. You'd want to use this if you add additional convenience
functions for creating tags, or if you find yourself creating
a lot of tags with a bunch of the same attributes or contents.</p>
<p>See <a class="mochiref reference" href="#fn-createdom">createDOM</a> for more detailed descriptions of the arguments.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">tag</span></tt>:</dt>
<dd>The name of the tag</dd>
<dt><tt class="docutils literal"><span class="pre">attrs</span></tt>:</dt>
<dd>Optionally specify the attributes to apply</dd>
<dt><tt class="docutils literal"><span class="pre">node</span></tt>...:</dt>
<dd>Optionally specify any children nodes it should have</dd>
<dt><em>returns</em>:</dt>
<dd>function that takes additional arguments and calls
<a class="mochiref reference" href="#fn-createdom">createDOM</a></dd>
</dl>
</blockquote>
<p>
<a name="fn-currentdocument"></a>
<a class="mochidef reference" href="#fn-currentdocument">currentDocument()</a>:</p>
<blockquote>
Return the current <tt class="docutils literal"><span class="pre">document</span></tt> <a class="reference" href="#dom-context">DOM Context</a>. This will always
be the same as the global <tt class="docutils literal"><span class="pre">document</span></tt> unless <a class="mochiref reference" href="#fn-withdocument">withDocument</a> or
<a class="mochiref reference" href="#fn-withwindow">withWindow</a> is currently executing.</blockquote>
<p>
<a name="fn-currentwindow"></a>
<a class="mochidef reference" href="#fn-currentwindow">currentWindow()</a>:</p>
<blockquote>
Return the current <tt class="docutils literal"><span class="pre">window</span></tt> <a class="reference" href="#dom-context">DOM Context</a>. This will always
be the same as the global <tt class="docutils literal"><span class="pre">window</span></tt> unless <a class="mochiref reference" href="#fn-withwindow">withWindow</a> is
currently executing.</blockquote>
<p>
<a name="fn-elementdimensions"></a>
<a class="mochidef reference" href="#fn-elementdimensions">elementDimensions(element)</a>:</p>
<blockquote>
Return the absolute pixel width and height of <tt class="docutils literal"><span class="pre">element</span></tt> as an object with
<tt class="docutils literal"><span class="pre">w</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> properties, or <tt class="docutils literal"><span class="pre">undefined</span></tt> if <tt class="docutils literal"><span class="pre">element</span></tt> is not in the
document. <tt class="docutils literal"><span class="pre">element</span></tt> may be specified as a string to be looked up with
<a class="mochiref reference" href="#fn-getelement">getElement</a>, a DOM element, or trivially as an object with
<tt class="docutils literal"><span class="pre">w</span></tt> and/or <tt class="docutils literal"><span class="pre">h</span></tt> properties.</blockquote>
<p>
<a name="fn-elementposition"></a>
<a class="mochidef reference" href="#fn-elementposition">elementPosition(element[, relativeTo={x: 0, y: 0}])</a>:</p>
<blockquote>
<p>Return the absolute pixel position of <tt class="docutils literal"><span class="pre">element</span></tt> in the document as an
object with <tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> properties, or <tt class="docutils literal"><span class="pre">undefined</span></tt> if <tt class="docutils literal"><span class="pre">element</span></tt>
is not in the document. <tt class="docutils literal"><span class="pre">element</span></tt> may be specified as a string to
be looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, a DOM element, or trivially
as an object with <tt class="docutils literal"><span class="pre">x</span></tt> and/or <tt class="docutils literal"><span class="pre">y</span></tt> properties.</p>
<p>If <tt class="docutils literal"><span class="pre">relativeTo</span></tt> is given, then its coordinates are subtracted from
the absolute position of <tt class="docutils literal"><span class="pre">element</span></tt>, e.g.:</p>
<pre class="literal-block">
var elemPos = elementPosition(elem);
var anotherElemPos = elementPosition(anotherElem);
var relPos = elementPosition(elem, anotherElem);
assert( relPos.x == (elemPos.x - anotherElemPos.x) );
assert( relPos.y == (elemPos.y - anotherElemPos.y) );
</pre>
<p><tt class="docutils literal"><span class="pre">relativeTo</span></tt> may be specified as a string to be looked up with
<a class="mochiref reference" href="#fn-getelement">getElement</a>, a DOM element, or trivially as an object
with <tt class="docutils literal"><span class="pre">x</span></tt> and/or <tt class="docutils literal"><span class="pre">y</span></tt> properties.</p>
</blockquote>
<p>
<a name="fn-emithtml"></a>
<a class="mochidef reference" href="#fn-emithtml">emitHTML(dom[, lst])</a>:</p>
<blockquote>
<p>Convert a DOM tree to an <tt class="docutils literal"><span class="pre">Array</span></tt> of HTML string fragments</p>
<p>You probably want to use <a class="mochiref reference" href="#fn-tohtml">toHTML</a> instead.</p>
</blockquote>
<p>
<a name="fn-escapehtml"></a>
<a class="mochidef reference" href="#fn-escapehtml">escapeHTML(s)</a>:</p>
<blockquote>
Make a string safe for HTML, converting the usual suspects (lt,
gt, quot, apos, amp)</blockquote>
<p>
<a name="fn-focusonload"></a>
<a class="mochidef reference" href="#fn-focusonload">focusOnLoad(element)</a>:</p>
<blockquote>
Add an onload event to focus the given element</blockquote>
<p>
<a name="fn-formcontents"></a>
<a class="mochidef reference" href="#fn-formcontents">formContents(elem)</a>:</p>
<blockquote>
Search the DOM tree, starting at <tt class="docutils literal"><span class="pre">elem</span></tt>, for any elements with a
<tt class="docutils literal"><span class="pre">name</span></tt> and <tt class="docutils literal"><span class="pre">value</span></tt> attribute. Return a 2-element <tt class="docutils literal"><span class="pre">Array</span></tt> of
<tt class="docutils literal"><span class="pre">names</span></tt> and <tt class="docutils literal"><span class="pre">values</span></tt> suitable for use with
<a class="mochiref reference" href="Base.html#fn-querystring">MochiKit.Base.queryString</a>.</blockquote>
<p>
<a name="fn-getelement"></a>
<a class="mochidef reference" href="#fn-getelement">getElement(id[, ...])</a>:</p>
<blockquote>
<p>A small quick little function to encapsulate the <tt class="docutils literal"><span class="pre">getElementById</span></tt>
method. It includes a check to ensure we can use that method.</p>
<p>If the id isn't a string, it will be returned as-is.</p>
<p>Also available as <a class="mochiref reference" href="#fn-$">$(...)</a> for convenience and compatibility with
other JavaScript frameworks.</p>
<p>If multiple arguments are given, an <tt class="docutils literal"><span class="pre">Array</span></tt> will be returned.</p>
</blockquote>
<p>
<a name="fn-getelementsbytagandclassname"></a>
<a class="mochidef reference" href="#fn-getelementsbytagandclassname">getElementsByTagAndClassName(tagName, className, parent=document)</a>:</p>
<blockquote>
<p>Returns an array of elements in <tt class="docutils literal"><span class="pre">parent</span></tt> that match the tag name
and class name provided. If <tt class="docutils literal"><span class="pre">parent</span></tt> is a string, it will be looked
up with <a class="mochiref reference" href="#fn-getelement">getElement</a>.</p>
<p>If <tt class="docutils literal"><span class="pre">tagName</span></tt> is <tt class="docutils literal"><span class="pre">null</span></tt> or <tt class="docutils literal"><span class="pre">&quot;*&quot;</span></tt>, all elements will be searched
for the matching class.</p>
<p>If <tt class="docutils literal"><span class="pre">className</span></tt> is <tt class="docutils literal"><span class="pre">null</span></tt>, all elements matching the provided tag are
returned.</p>
</blockquote>
<p>
<a name="fn-getnodeattribute"></a>
<a class="mochidef reference" href="#fn-getnodeattribute">getNodeAttribute(node, attr)</a>:</p>
<blockquote>
<p>Get the value of the given attribute for a DOM element without
ever raising an exception (will return <tt class="docutils literal"><span class="pre">null</span></tt> on exception).</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to update (if a string is given,
<a class="mochiref reference" href="#fn-getelement">getElement(node)</a> will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">attr</span></tt>:</dt>
<dd><p class="first">The name of the attribute</p>
<p class="last">Note that it will do the right thing for IE, so don't do
the <tt class="docutils literal"><span class="pre">class</span></tt> -&gt; <tt class="docutils literal"><span class="pre">className</span></tt> hack yourself.</p>
</dd>
<dt><em>returns</em>:</dt>
<dd>The attribute's value, or <tt class="docutils literal"><span class="pre">null</span></tt></dd>
</dl>
</blockquote>
<p>
<a name="fn-getviewportdimensions"></a>
<a class="mochidef reference" href="#fn-getviewportdimensions">getViewportDimensions()</a>:</p>
<blockquote>
Return the pixel width and height of the viewport as an object with <tt class="docutils literal"><span class="pre">w</span></tt>
and <tt class="docutils literal"><span class="pre">h</span></tt> properties. <tt class="docutils literal"><span class="pre">element</span></tt> is looked up with
<a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers are also acceptable.</blockquote>
<p>
<a name="fn-haselementclass"></a>
<a class="mochidef reference" href="#fn-haselementclass">hasElementClass(element, className[, ...])</a>:</p>
<blockquote>
Return <tt class="docutils literal"><span class="pre">true</span></tt> if <tt class="docutils literal"><span class="pre">className</span></tt> is found on the <tt class="docutils literal"><span class="pre">element</span></tt>.
<tt class="docutils literal"><span class="pre">element</span></tt> is looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers
are also acceptable.</blockquote>
<p>
<a name="fn-hideelement"></a>
<a class="mochidef reference" href="#fn-hideelement">hideElement(element, ...)</a>:</p>
<blockquote>
<p>Partial form of <a class="mochiref reference" href="#fn-setdisplayforelement">setDisplayForElement</a>, specifically:</p>
<pre class="literal-block">
partial(setDisplayForElement, &quot;none&quot;)
</pre>
<p>For information about the caveats of using a <tt class="docutils literal"><span class="pre">style.display</span></tt> based
show/hide mechanism, and a CSS based alternative, see
<a class="reference" href="#element-visibility">Element Visibility</a>.</p>
</blockquote>
<p>
<a name="fn-registerdomconverter"></a>
<a class="mochidef reference" href="#fn-registerdomconverter">registerDOMConverter(name, check, wrap[, override])</a>:</p>
<blockquote>
Register an adapter to convert objects that match <tt class="docutils literal"><span class="pre">check(obj,</span> <span class="pre">ctx)</span></tt>
to a DOM element, or something that can be converted to a DOM
element (i.e. number, bool, string, function, iterable).</blockquote>
<p>
<a name="fn-removeelement"></a>
<a class="mochidef reference" href="#fn-removeelement">removeElement(node)</a>:</p>
<blockquote>
<p>Remove and return <tt class="docutils literal"><span class="pre">node</span></tt> from a DOM tree. This is technically
just a convenience for <a class="mochiref reference" href="#fn-swapdom">swapDOM(node, null)</a>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>the DOM element (or string id of one) to be removed</dd>
<dt><em>returns</em></dt>
<dd>The removed element</dd>
</dl>
</blockquote>
<p>
<a name="fn-removeelementclass"></a>
<a class="mochidef reference" href="#fn-removeelementclass">removeElementClass(element, className)</a>:</p>
<blockquote>
Ensure that the given <tt class="docutils literal"><span class="pre">element</span></tt> does not have <tt class="docutils literal"><span class="pre">className</span></tt> set as part
of its class attribute. This will not disturb other class names.
<tt class="docutils literal"><span class="pre">element</span></tt> is looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers
are also acceptable.</blockquote>
<p>
<a name="fn-replacechildnodes"></a>
<a class="mochidef reference" href="#fn-replacechildnodes">replaceChildNodes(node[, childNode[, ...]])</a>:</p>
<blockquote>
<p>Remove all children from the given DOM element, then append any given
childNodes to it (by calling <a class="mochiref reference" href="#fn-appendchildnodes">appendChildNodes</a>).</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to add children to
(if a string is given, <a class="mochiref reference" href="#fn-getelement">getElement(node)</a>
will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">childNode</span></tt>...:</dt>
<dd>All additional arguments, if any, will be coerced into DOM
nodes that are appended as children using the
<a class="reference" href="#dom-coercion-rules">DOM Coercion Rules</a>.</dd>
<dt><em>returns</em>:</dt>
<dd>The given DOM element</dd>
</dl>
</blockquote>
<p>
<a name="fn-scrapetext"></a>
<a class="mochidef reference" href="#fn-scrapetext">scrapeText(node[, asArray=false])</a>:</p>
<blockquote>
<p>Walk a DOM tree in-order and scrape all of the text out of it as a
<tt class="docutils literal"><span class="pre">string</span></tt>.</p>
<p>If <tt class="docutils literal"><span class="pre">asArray</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt>, then an <tt class="docutils literal"><span class="pre">Array</span></tt> will be returned with
each individual text node. These two are equivalent:</p>
<pre class="literal-block">
assert( scrapeText(node) == scrapeText(node, true).join(&quot;&quot;) );
</pre>
</blockquote>
<p>
<a name="fn-setdisplayforelement"></a>
<a class="mochidef reference" href="#fn-setdisplayforelement">setDisplayForElement(display, element[, ...])</a>:</p>
<blockquote>
<p>Change the <tt class="docutils literal"><span class="pre">style.display</span></tt> for the given element(s). Usually
used as the partial forms:</p>
<ul class="simple">
<li><a class="mochiref reference" href="#fn-showelement">showElement(element, ...)</a></li>
<li><a class="mochiref reference" href="#fn-hideelement">hideElement(element, ...)</a></li>
</ul>
<p>Elements are looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers
are acceptable.</p>
<p>For information about the caveats of using a <tt class="docutils literal"><span class="pre">style.display</span></tt> based
show/hide mechanism, and a CSS based alternative, see
<a class="reference" href="#element-visibility">Element Visibility</a>.</p>
</blockquote>
<p>
<a name="fn-setelementclass"></a>
<a class="mochidef reference" href="#fn-setelementclass">setElementClass(element, className)</a>:</p>
<blockquote>
Set the entire class attribute of <tt class="docutils literal"><span class="pre">element</span></tt> to <tt class="docutils literal"><span class="pre">className</span></tt>.
<tt class="docutils literal"><span class="pre">element</span></tt> is looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers
are also acceptable.</blockquote>
<p>
<a name="fn-setelementdimensions"></a>
<a class="mochidef reference" href="#fn-setelementdimensions">setElementDimensions(element, dimensions[, units='px'])</a>:</p>
<blockquote>
<p>Sets the dimensions of <tt class="docutils literal"><span class="pre">element</span></tt> in the document from an
object with <tt class="docutils literal"><span class="pre">w</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> properties.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to update (if a string is given,
<a class="mochiref reference" href="#fn-getelement">getElement(node)</a> will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">dimensions</span></tt>:</dt>
<dd>An object with <tt class="docutils literal"><span class="pre">w</span></tt> and <tt class="docutils literal"><span class="pre">h</span></tt> properties</dd>
<dt><tt class="docutils literal"><span class="pre">units</span></tt>:</dt>
<dd>Optionally set the units to use, default is <tt class="docutils literal"><span class="pre">px</span></tt></dd>
</dl>
</blockquote>
<p>
<a name="fn-setelementposition"></a>
<a class="mochidef reference" href="#fn-setelementposition">setElementPosition(element, position[, units='px'])</a>:</p>
<blockquote>
<p>Sets the absolute position of <tt class="docutils literal"><span class="pre">element</span></tt> in the document from an
object with <tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> properties.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to update (if a string is given,
<a class="mochiref reference" href="#fn-getelement">getElement(node)</a> will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">position</span></tt>:</dt>
<dd>An object with <tt class="docutils literal"><span class="pre">x</span></tt> and <tt class="docutils literal"><span class="pre">y</span></tt> properties</dd>
<dt><tt class="docutils literal"><span class="pre">units</span></tt>:</dt>
<dd>Optionally set the units to use, default is <tt class="docutils literal"><span class="pre">px</span></tt></dd>
</dl>
</blockquote>
<p>
<a name="fn-setnodeattribute"></a>
<a class="mochidef reference" href="#fn-setnodeattribute">setNodeAttribute(node, attr, value)</a>:</p>
<blockquote>
<p>Set the value of the given attribute for a DOM element without
ever raising an exception (will return null on exception). If
setting more than one attribute, you should use
<a class="mochiref reference" href="#fn-updatenodeattributes">updateNodeAttributes</a>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to update (if a string is given,
<a class="mochiref reference" href="#fn-getelement">getElement(node)</a> will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">attr</span></tt>:</dt>
<dd><p class="first">The name of the attribute</p>
<p class="last">Note that it will do the right thing for IE, so don't do
the <tt class="docutils literal"><span class="pre">class</span></tt> -&gt; <tt class="docutils literal"><span class="pre">className</span></tt> hack yourself.</p>
</dd>
<dt><tt class="docutils literal"><span class="pre">value</span></tt>:</dt>
<dd>The value of the attribute, may be an object to be merged
(e.g. for setting style).</dd>
<dt><em>returns</em>:</dt>
<dd>The given DOM element or <tt class="docutils literal"><span class="pre">null</span></tt> on failure</dd>
</dl>
</blockquote>
<p>
<a name="fn-setopacity"></a>
<a class="mochidef reference" href="#fn-setopacity">setOpacity(element, opacity)</a>:</p>
<blockquote>
Sets <tt class="docutils literal"><span class="pre">opacity</span></tt> for <tt class="docutils literal"><span class="pre">element</span></tt>. Valid <tt class="docutils literal"><span class="pre">opacity</span></tt> values range from 0
(invisible) to 1 (opaque). <tt class="docutils literal"><span class="pre">element</span></tt> is looked up with
<a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers are also acceptable.</blockquote>
<p>
<a name="fn-showelement"></a>
<a class="mochidef reference" href="#fn-showelement">showElement(element, ...)</a>:</p>
<blockquote>
<p>Partial form of <a class="mochiref reference" href="#fn-setdisplayforelement">setDisplayForElement</a>, specifically:</p>
<pre class="literal-block">
partial(setDisplayForElement, &quot;block&quot;)
</pre>
<p>For information about the caveats of using a <tt class="docutils literal"><span class="pre">style.display</span></tt> based
show/hide mechanism, and a CSS based alternative, see
<a class="reference" href="#element-visibility">Element Visibility</a>.</p>
</blockquote>
<p>
<a name="fn-swapdom"></a>
<a class="mochidef reference" href="#fn-swapdom">swapDOM(dest, src)</a>:</p>
<blockquote>
<p>Replace <tt class="docutils literal"><span class="pre">dest</span></tt> in a DOM tree with <tt class="docutils literal"><span class="pre">src</span></tt>, returning <tt class="docutils literal"><span class="pre">src</span></tt>.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">dest</span></tt>:</dt>
<dd>a DOM element (or string id of one) to be replaced</dd>
<dt><tt class="docutils literal"><span class="pre">src</span></tt>:</dt>
<dd>the DOM element (or string id of one) to replace it with, or
<tt class="docutils literal"><span class="pre">null</span></tt> if <tt class="docutils literal"><span class="pre">dest</span></tt> is to be removed (replaced with nothing).</dd>
<dt><em>returns</em>:</dt>
<dd>a DOM element (<tt class="docutils literal"><span class="pre">src</span></tt>)</dd>
</dl>
</blockquote>
<p>
<a name="fn-swapelementclass"></a>
<a class="mochidef reference" href="#fn-swapelementclass">swapElementClass(element, fromClass, toClass)</a>:</p>
<blockquote>
If <tt class="docutils literal"><span class="pre">fromClass</span></tt> is set on <tt class="docutils literal"><span class="pre">element</span></tt>, replace it with <tt class="docutils literal"><span class="pre">toClass</span></tt>.
This will not disturb other classes on that element.
<tt class="docutils literal"><span class="pre">element</span></tt> is looked up with <a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers
are also acceptable.</blockquote>
<p>
<a name="fn-toggleelementclass"></a>
<a class="mochidef reference" href="#fn-toggleelementclass">toggleElementClass(className[, element[, ...]])</a>:</p>
<blockquote>
Toggle the presence of a given <tt class="docutils literal"><span class="pre">className</span></tt> in the class attribute
of all given elements. All elements will be looked up with
<a class="mochiref reference" href="#fn-getelement">getElement</a>, so string identifiers are acceptable.</blockquote>
<p>
<a name="fn-tohtml"></a>
<a class="mochidef reference" href="#fn-tohtml">toHTML(dom)</a>:</p>
<blockquote>
Convert a DOM tree to a HTML string using <a class="mochiref reference" href="#fn-emithtml">emitHTML</a></blockquote>
<p>
<a name="fn-updatenodeattributes"></a>
<a class="mochidef reference" href="#fn-updatenodeattributes">updateNodeAttributes(node, attrs)</a>:</p>
<blockquote>
<p>Update the attributes of a DOM element from a given object.</p>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">node</span></tt>:</dt>
<dd>A reference to the DOM element to update (if a string is given,
<a class="mochiref reference" href="#fn-getelement">getElement(node)</a> will be used to locate the node)</dd>
<dt><tt class="docutils literal"><span class="pre">attrs</span></tt>:</dt>
<dd><p class="first">An object whose properties will be used to set the attributes
(e.g. <tt class="docutils literal"><span class="pre">{'class':</span> <span class="pre">'invisible'}</span></tt>), or <tt class="docutils literal"><span class="pre">null</span></tt> if no
attributes need to be set. If an object is given for the
attribute value (e.g. <tt class="docutils literal"><span class="pre">{'style':</span> <span class="pre">{'display':</span> <span class="pre">'block'}}</span></tt>)
then <a class="mochiref reference" href="Base.html#fn-updatetree">MochiKit.Base.updatetree</a> will be used to set that
attribute.</p>
<p class="last">Note that it will do the right thing for IE, so don't do
the <tt class="docutils literal"><span class="pre">class</span></tt> -&gt; <tt class="docutils literal"><span class="pre">className</span></tt> hack yourself, and it deals with
setting &quot;on...&quot; event handlers correctly.</p>
</dd>
<dt><em>returns</em>:</dt>
<dd>The given DOM element</dd>
</dl>
</blockquote>
<p>
<a name="fn-withwindow"></a>
<a class="mochidef reference" href="#fn-withwindow">withWindow(win, func)</a>:</p>
<blockquote>
<p>Call <tt class="docutils literal"><span class="pre">func</span></tt> with the <tt class="docutils literal"><span class="pre">window</span></tt> <a class="reference" href="#dom-context">DOM Context</a> set to <tt class="docutils literal"><span class="pre">win</span></tt> and
the <tt class="docutils literal"><span class="pre">document</span></tt> <a class="reference" href="#dom-context">DOM Context</a> set to <tt class="docutils literal"><span class="pre">win.document</span></tt>. When
<tt class="docutils literal"><span class="pre">func()</span></tt> returns or throws an error, the <a class="reference" href="#dom-context">DOM Context</a> will be
restored to its previous state.</p>
<p>The return value of <tt class="docutils literal"><span class="pre">func()</span></tt> is returned by this function.</p>
</blockquote>
<p>
<a name="fn-withdocument"></a>
<a class="mochidef reference" href="#fn-withdocument">withDocument(doc, func)</a>:</p>
<blockquote>
<p>Call <tt class="docutils literal"><span class="pre">func</span></tt> with the <tt class="docutils literal"><span class="pre">doc</span></tt> <a class="reference" href="#dom-context">DOM Context</a> set to <tt class="docutils literal"><span class="pre">doc</span></tt>.
When <tt class="docutils literal"><span class="pre">func()</span></tt> returns or throws an error, the <a class="reference" href="#dom-context">DOM Context</a>
will be restored to its previous state.</p>
<p>The return value of <tt class="docutils literal"><span class="pre">func()</span></tt> is returned by this function.</p>
</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id5" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id5">[1]</a></td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id3">2</a>)</em> Nevow, a web application construction kit for Python: <a class="reference" href="http://nevow.com/">http://nevow.com/</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id6" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id6">[2]</a></td><td><em>(<a class="fn-backref" href="#id2">1</a>, <a class="fn-backref" href="#id4">2</a>)</em> nevow.stan is a domain specific language for Python
(read as &quot;crazy getitem/call overloading abuse&quot;) that Donovan and I
schemed up at PyCon 2003 at this super ninja Python/C++ programmer's
(David Abrahams) hotel room. Donovan later inflicted this upon the
masses in Nevow. Check out the Divmod project page for some
examples: <a class="reference" href="http://nevow.com/Nevow2004Tutorial.html">http://nevow.com/Nevow2004Tutorial.html</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,125 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.DateTime - &quot;what time is it anyway?&quot;</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.DateTime - &quot;what time is it anyway?&quot;</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
stringDate = toISOTimestamp(new Date());
dateObject = isoTimestamp(stringDate);
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>Remote servers don't give you JavaScript Date objects, and they certainly
don't want them from you, so you need to deal with string representations
of dates and timestamps. MochiKit.Date does that.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<p>None.</p>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-isodate"></a>
<a class="mochidef reference" href="#fn-isodate">isoDate(str)</a>:</p>
<blockquote>
Convert an ISO 8601 date (YYYY-MM-DD) to a <tt class="docutils literal"><span class="pre">Date</span></tt> object.</blockquote>
<p>
<a name="fn-isotimestamp"></a>
<a class="mochidef reference" href="#fn-isotimestamp">isoTimestamp(str)</a>:</p>
<blockquote>
<p>Convert any ISO 8601 <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a> timestamp (or something reasonably close to it)
to a <tt class="docutils literal"><span class="pre">Date</span></tt> object. Will accept the &quot;de facto&quot; form:</p>
<blockquote>
YYYY-MM-DD hh:mm:ss</blockquote>
<p>or (the proper form):</p>
<blockquote>
YYYY-MM-DDThh:mm:ssZ</blockquote>
<p>If a time zone designator (&quot;Z&quot; or &quot;[+-]HH:MM&quot;) is not present, then the
local timezone is used.</p>
</blockquote>
<p>
<a name="fn-toisotime"></a>
<a class="mochidef reference" href="#fn-toisotime">toISOTime(date)</a>:</p>
<blockquote>
Convert a <tt class="docutils literal"><span class="pre">Date</span></tt> object to a string in the form of hh:mm:ss</blockquote>
<p>
<a name="fn-toisotimestamp"></a>
<a class="mochidef reference" href="#fn-toisotimestamp">toISOTimestamp(date, realISO=false)</a>:</p>
<blockquote>
<p>Convert a <tt class="docutils literal"><span class="pre">Date</span></tt> object to something that's ALMOST but not quite an
ISO 8601 [1]_timestamp. If it was a proper ISO timestamp it would be:</p>
<blockquote>
YYYY-MM-DDThh:mm:ssZ</blockquote>
<p>However, we see junk in SQL and other places that looks like this:</p>
<blockquote>
YYYY-MM-DD hh:mm:ss</blockquote>
<p>So, this function returns the latter form, despite its name, unless
you pass <tt class="docutils literal"><span class="pre">true</span></tt> for <tt class="docutils literal"><span class="pre">realISO</span></tt>.</p>
</blockquote>
<p>
<a name="fn-toisodate"></a>
<a class="mochidef reference" href="#fn-toisodate">toISODate(date)</a>:</p>
<blockquote>
Convert a <tt class="docutils literal"><span class="pre">Date</span></tt> object to an ISO 8601 <a class="footnote-reference" href="#id3" id="id2" name="id2">[1]</a> date string (YYYY-MM-DD)</blockquote>
<p>
<a name="fn-americandate"></a>
<a class="mochidef reference" href="#fn-americandate">americanDate(str)</a>:</p>
<blockquote>
Converts a MM/DD/YYYY date to a <tt class="docutils literal"><span class="pre">Date</span></tt> object</blockquote>
<p>
<a name="fn-topaddedamericandate"></a>
<a class="mochidef reference" href="#fn-topaddedamericandate">toPaddedAmericanDate(date)</a>:</p>
<blockquote>
Converts a <tt class="docutils literal"><span class="pre">Date</span></tt> object to an MM/DD/YYYY date, e.g. 01/01/2001</blockquote>
<p>
<a name="fn-toamericandate"></a>
<a class="mochidef reference" href="#fn-toamericandate">toAmericanDate(date)</a>:</p>
<blockquote>
Converts a <tt class="docutils literal"><span class="pre">Date</span></tt> object to an M/D/YYYY date, e.g. 1/1/2001</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id3" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id3">[1]</a></td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>)</em> W3C profile of ISO 8601: <a class="reference" href="http://www.w3.org/TR/NOTE-datetime">http://www.w3.org/TR/NOTE-datetime</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,241 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Format - string formatting goes here</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Format - string formatting goes here</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
assert( truncToFixed(0.12345, 4) == &quot;0.1234&quot; );
assert( roundToFixed(0.12345, 4) == &quot;0.1235&quot; );
assert( twoDigitAverage(1, 0) == &quot;0&quot; );
assert( twoDigitFloat(1.2345) == &quot;1.23&quot; );
assert( twoDigitFloat(1) == &quot;1&quot; );
assert( percentFormat(1.234567) == &quot;123.46%&quot; );
assert( numberFormatter(&quot;###,###%&quot;)(125) == &quot;12,500%&quot; );
assert( numberFormatter(&quot;##.000&quot;)(1.25) == &quot;1.250&quot; );
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>Formatting strings and stringifying numbers is boring, so a couple useful
functions in that domain live here.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<p>None.</p>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<div class="section">
<h2><a id="formatting-numbers" name="formatting-numbers">Formatting Numbers</a></h2>
<p>MochiKit provides an extensible number formatting facility, modeled loosely
after the Number Format Pattern Syntax <a class="footnote-reference" href="#id2" id="id1" name="id1">[1]</a> from Java.
<a class="mochiref reference" href="#fn-numberformatter">numberFormatter(pattern[, placeholder=&quot;&quot;[, locale=&quot;default&quot;])</a>
returns a function that converts Number to string using the given information.
<tt class="docutils literal"><span class="pre">pattern</span></tt> is a string consisting of the following symbols:</p>
<table border="1" class="docutils">
<colgroup>
<col width="15%" />
<col width="85%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Symbol</th>
<th class="head">Meaning</th>
</tr>
</thead>
<tbody valign="top">
<tr><td><tt class="docutils literal"><span class="pre">-</span></tt></td>
<td>If given, used as the position of the minus sign
for negative numbers. If not given, the position
to the left of the first number placeholder is used.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">#</span></tt></td>
<td>The placeholder for a number that does not imply zero
padding.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">0</span></tt></td>
<td>The placeholder for a number that implies zero padding.
If it is used to the right of a decimal separator, it
implies trailing zeros, otherwise leading zeros.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">,</span></tt></td>
<td>The placeholder for a &quot;thousands separator&quot;. May be used
at most once, and it must be to the left of a decimal
separator. Will be replaced by <tt class="docutils literal"><span class="pre">locale.separator</span></tt> in the
result (the default is also <tt class="docutils literal"><span class="pre">,</span></tt>).</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">.</span></tt></td>
<td>The decimal separator. The quantity of <tt class="docutils literal"><span class="pre">#</span></tt> or <tt class="docutils literal"><span class="pre">0</span></tt>
after the decimal separator will determine the precision of
the result. If no decimal separator is present, the
fractional precision is <tt class="docutils literal"><span class="pre">0</span></tt> -- meaning that it will be
rounded to the nearest integer.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">%</span></tt></td>
<td>If present, the number will be multiplied by <tt class="docutils literal"><span class="pre">100</span></tt> and
the <tt class="docutils literal"><span class="pre">%</span></tt> will be replaced by <tt class="docutils literal"><span class="pre">locale.percent</span></tt>.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-formatlocale"></a>
<a class="mochidef reference" href="#fn-formatlocale">formatLocale(locale=&quot;default&quot;)</a>:</p>
<blockquote>
Return a locale object for the given locale. <tt class="docutils literal"><span class="pre">locale</span></tt> may be either a
string, which is looked up in the <tt class="docutils literal"><span class="pre">MochiKit.Format.LOCALE</span></tt> object, or
a locale object. If no locale is given, <tt class="docutils literal"><span class="pre">LOCALE.default</span></tt> is used
(equivalent to <tt class="docutils literal"><span class="pre">LOCALE.en_US</span></tt>).</blockquote>
<p>
<a name="fn-lstrip"></a>
<a class="mochidef reference" href="#fn-lstrip">lstrip(str, chars=&quot;\s&quot;)</a>:</p>
<blockquote>
<p>Returns a string based on <tt class="docutils literal"><span class="pre">str</span></tt> with leading whitespace stripped.</p>
<p>If <tt class="docutils literal"><span class="pre">chars</span></tt> is given, then that expression will be used instead of
whitespace. <tt class="docutils literal"><span class="pre">chars</span></tt> should be a string suitable for use in a <tt class="docutils literal"><span class="pre">RegExp</span></tt>
<tt class="docutils literal"><span class="pre">[character</span> <span class="pre">set]</span></tt>.</p>
</blockquote>
<p>
<a name="fn-numberformatter"></a>
<a class="mochidef reference" href="#fn-numberformatter">numberFormatter(pattern, placeholder=&quot;&quot;, locale=&quot;default&quot;)</a>:</p>
<blockquote>
<p>Return a function <tt class="docutils literal"><span class="pre">formatNumber(aNumber)</span></tt> that formats numbers
as a string according to the given pattern, placeholder and locale.</p>
<p><tt class="docutils literal"><span class="pre">pattern</span></tt> is a string that describes how the numbers should be formatted,
for more information see <a class="reference" href="#formatting-numbers">Formatting Numbers</a>.</p>
<p><tt class="docutils literal"><span class="pre">locale</span></tt> is a string of a known locale (en_US, de_DE, fr_FR, default) or
an object with the following fields:</p>
<table border="1" class="docutils">
<colgroup>
<col width="16%" />
<col width="84%" />
</colgroup>
<tbody valign="top">
<tr><td>separator</td>
<td>The &quot;thousands&quot; separator for this locale (en_US is &quot;,&quot;)</td>
</tr>
<tr><td>decimal</td>
<td>The decimal separator for this locale (en_US is &quot;.&quot;)</td>
</tr>
<tr><td>percent</td>
<td>The percent symbol for this locale (en_US is &quot;%&quot;)</td>
</tr>
</tbody>
</table>
</blockquote>
<p>
<a name="fn-percentformat"></a>
<a class="mochidef reference" href="#fn-percentformat">percentFormat(someFloat)</a>:</p>
<blockquote>
<p>Roughly equivalent to: <tt class="docutils literal"><span class="pre">sprintf(&quot;%.2f%%&quot;,</span> <span class="pre">someFloat</span> <span class="pre">*</span> <span class="pre">100)</span></tt></p>
<p>In new code, you probably want to use:
<a class="mochiref reference" href="#fn-numberformatter">numberFormatter(&quot;#.##%&quot;)(someFloat)</a> instead.</p>
</blockquote>
<p>
<a name="fn-roundtofixed"></a>
<a class="mochidef reference" href="#fn-roundtofixed">roundToFixed(aNumber, precision)</a>:</p>
<blockquote>
<p>Return a string representation of <tt class="docutils literal"><span class="pre">aNumber</span></tt>, rounded to <tt class="docutils literal"><span class="pre">precision</span></tt>
digits with trailing zeros. This is similar to
<tt class="docutils literal"><span class="pre">Number.toFixed(aNumber,</span> <span class="pre">precision)</span></tt>, but this has implementation
consistent rounding behavior (some versions of Safari round 0.5 down!)
and also includes preceding <tt class="docutils literal"><span class="pre">0</span></tt> for numbers less than <tt class="docutils literal"><span class="pre">1</span></tt> (Safari,
again).</p>
<p>For example, <a class="mochiref reference" href="#fn-roundtofixed">roundToFixed(0.1357, 2)</a> returns <tt class="docutils literal"><span class="pre">0.14</span></tt> on every
supported platform, where some return <tt class="docutils literal"><span class="pre">.13</span></tt> for <tt class="docutils literal"><span class="pre">(0.1357).toFixed(2)</span></tt>.</p>
</blockquote>
<p>
<a name="fn-rstrip"></a>
<a class="mochidef reference" href="#fn-rstrip">rstrip(str, chars=&quot;\s&quot;)</a>:</p>
<blockquote>
<p>Returns a string based on <tt class="docutils literal"><span class="pre">str</span></tt> with trailing whitespace stripped.</p>
<p>If <tt class="docutils literal"><span class="pre">chars</span></tt> is given, then that expression will be used instead of
whitespace. <tt class="docutils literal"><span class="pre">chars</span></tt> should be a string suitable for use in a <tt class="docutils literal"><span class="pre">RegExp</span></tt>
<tt class="docutils literal"><span class="pre">[character</span> <span class="pre">set]</span></tt>.</p>
</blockquote>
<p>
<a name="fn-strip"></a>
<a class="mochidef reference" href="#fn-strip">strip(str, chars=&quot;\s&quot;)</a>:</p>
<blockquote>
<p>Returns a string based on <tt class="docutils literal"><span class="pre">str</span></tt> with leading and trailing whitespace
stripped (equivalent to <a class="mochiref reference" href="#fn-lstrip">lstrip(rstrip(str, chars), chars)</a>).</p>
<p>If <tt class="docutils literal"><span class="pre">chars</span></tt> is given, then that expression will be used instead of
whitespace. <tt class="docutils literal"><span class="pre">chars</span></tt> should be a string suitable for use in a <tt class="docutils literal"><span class="pre">RegExp</span></tt>
<tt class="docutils literal"><span class="pre">[character</span> <span class="pre">set]</span></tt>.</p>
</blockquote>
<p>
<a name="fn-trunctofixed"></a>
<a class="mochidef reference" href="#fn-trunctofixed">truncToFixed(aNumber, precision)</a>:</p>
<blockquote>
<p>Return a string representation of <tt class="docutils literal"><span class="pre">aNumber</span></tt>, truncated to <tt class="docutils literal"><span class="pre">precision</span></tt>
digits with trailing zeros. This is similar to
<tt class="docutils literal"><span class="pre">aNumber.toFixed(precision)</span></tt>, but this truncates rather than rounds and
has implementation consistent behavior for numbers less than 1.
Specifically, <a class="mochiref reference" href="#fn-trunctofixed">truncToFixed(aNumber, precision)</a> will always have a
preceding <tt class="docutils literal"><span class="pre">0</span></tt> for numbers less than <tt class="docutils literal"><span class="pre">1</span></tt>.</p>
<p>For example, <a class="mochiref reference" href="#fn-tofixed">toFixed(0.1357, 2)</a> returns <tt class="docutils literal"><span class="pre">0.13</span></tt>.</p>
</blockquote>
<p>
<a name="fn-twodigitaverage"></a>
<a class="mochidef reference" href="#fn-twodigitaverage">twoDigitAverage(numerator, denominator)</a>:</p>
<blockquote>
<p>Calculate an average from a numerator and a denominator and return
it as a string with two digits of precision (e.g. &quot;1.23&quot;).</p>
<p>If the denominator is 0, &quot;0&quot; will be returned instead of <tt class="docutils literal"><span class="pre">NaN</span></tt>.</p>
</blockquote>
<p>
<a name="fn-twodigitfloat"></a>
<a class="mochidef reference" href="#fn-twodigitfloat">twoDigitFloat(someFloat)</a>:</p>
<blockquote>
<p>Roughly equivalent to: <tt class="docutils literal"><span class="pre">sprintf(&quot;%.2f&quot;,</span> <span class="pre">someFloat)</span></tt></p>
<p>In new code, you probably want to use
<a class="mochiref reference" href="#fn-numberformatter">numberFormatter(&quot;#.##&quot;)(someFloat)</a> instead.</p>
</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id2">[1]</a></td><td>Java Number Format Pattern Syntax:
<a class="reference" href="http://java.sun.com/docs/books/tutorial/i18n/format/numberpattern.html">http://java.sun.com/docs/books/tutorial/i18n/format/numberpattern.html</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,372 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Iter - itertools for JavaScript; iteration made HARD, and then easy</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Iter - itertools for JavaScript; iteration made HARD, and then easy</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
theSum = sum(takewhile(
partial(operator.gt, 10),
imap(
partial(operator.mul, 2),
count()
)
)
));
assert( theSum == (0 + 0 + 2 + 4 + 6 + 8) );
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>All of the functional programming missing from <a class="mochiref reference" href="Base.html">MochiKit.Base</a> lives
here. The functionality in this module is largely inspired by Python's iteration
protocol <a class="footnote-reference" href="#id4" id="id1" name="id1">[1]</a>, and the itertools module <a class="footnote-reference" href="#id5" id="id2" name="id2">[2]</a>.</p>
<p>MochiKit.Iter defines a standard way to iterate over anything, that you can
extend with <a class="mochiref reference" href="#fn-registeriterator">registerIterator</a>, or by implementing the <tt class="docutils literal"><span class="pre">.iter()</span></tt>
protocol. Iterators are lazy, so it can potentially be cheaper to build a
filter chain of iterators than to build lots of intermediate arrays.
Especially when the data set is very large, but the result is not.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<div class="section">
<h2><a id="iteration-for-javascript" name="iteration-for-javascript">Iteration for JavaScript</a></h2>
<p>The best overview right now is in my Iteration for JavaScript <a class="footnote-reference" href="#id6" id="id3" name="id3">[3]</a> blog entry.
This information will migrate here eventually.</p>
</div>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="errors" name="errors">Errors</a></h2>
<p>
<a name="fn-stopiteration"></a>
<a class="mochidef reference" href="#fn-stopiteration">StopIteration</a>:</p>
<blockquote>
The singleton <a class="mochiref reference" href="Base.html#fn-namederror">MochiKit.Base.NamedError</a> that signifies the end
of an iterator</blockquote>
</div>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-applymap"></a>
<a class="mochidef reference" href="#fn-applymap">applymap(fun, seq[, self])</a>:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">applymap(fun,</span> <span class="pre">seq)</span></tt> --&gt;</dt>
<dd>fun.apply(self, seq0), fun.apply(self, seq1), ...</dd>
</dl>
</blockquote>
<p>
<a name="fn-chain"></a>
<a class="mochidef reference" href="#fn-chain">chain(p, q[, ...])</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">chain(p,</span> <span class="pre">q,</span> <span class="pre">...)</span></tt> --&gt; p0, p1, ... plast, q0, q1, ...</blockquote>
<p>
<a name="fn-count"></a>
<a class="mochidef reference" href="#fn-count">count(n=0)</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">count(n=0)</span></tt> --&gt; n, n + 1, n + 2, ...</blockquote>
<p>
<a name="fn-cycle"></a>
<a class="mochidef reference" href="#fn-cycle">cycle(p)</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">cycle(p)</span></tt> --&gt; p0, p1, ... plast, p0, p1, ...</blockquote>
<p>
<a name="fn-dropwhile"></a>
<a class="mochidef reference" href="#fn-dropwhile">dropwhile(pred, seq)</a>:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">dropwhile(pred,</span> <span class="pre">seq)</span></tt> --&gt; seq[n], seq[n + 1], starting when</dt>
<dd>pred(seq[n]) fails</dd>
</dl>
</blockquote>
<p>
<a name="fn-every"></a>
<a class="mochidef reference" href="#fn-every">every(iterable, func)</a>:</p>
<blockquote>
Return <tt class="docutils literal"><span class="pre">true</span></tt> if <tt class="docutils literal"><span class="pre">func(item)</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt> for every item in
<tt class="docutils literal"><span class="pre">iterable</span></tt>.</blockquote>
<p>
<a name="fn-exhaust"></a>
<a class="mochidef reference" href="#fn-exhaust">exhaust(iterable)</a>:</p>
<blockquote>
Exhausts an iterable without saving the results anywhere,
like <a class="mochiref reference" href="#fn-list">list(iterable)</a> when you don't care what the output is.</blockquote>
<p>
<a name="fn-foreach"></a>
<a class="mochidef reference" href="#fn-foreach">forEach(iterable, func[, self])</a>:</p>
<blockquote>
Call <tt class="docutils literal"><span class="pre">func</span></tt> for each item in <tt class="docutils literal"><span class="pre">iterable</span></tt>, and don't save the results.</blockquote>
<p>
<a name="fn-groupby"></a>
<a class="mochidef reference" href="#fn-groupby">groupby(iterable[, keyfunc])</a>:</p>
<blockquote>
<p>Make an iterator that returns consecutive keys and groups from the
iterable. The key is a function computing a key value for each element.
If not specified or is None, key defaults to an identity function and
returns the element unchanged. Generally, the iterable needs to already be
sorted on the same key function.</p>
<p>The returned group is itself an iterator that shares the underlying
iterable with <a class="mochiref reference" href="#fn-groupby">groupby()</a>. Because the source is shared, when the
groupby object is advanced, the previous group is no longer visible.
So, if that data is needed later, it should be stored as an array:</p>
<pre class="literal-block">
var groups = [];
var uniquekeys = [];
forEach(groupby(data, keyfunc), function (key_group) {
groups.push(list(key_group[1]));
uniquekeys.push(key_group[0]);
});
</pre>
<p>As a convenience, <a class="mochiref reference" href="#fn-groupby_as_array">groupby_as_array()</a> is provided to suit the above
use case.</p>
</blockquote>
<p>
<a name="fn-groupby_as_array"></a>
<a class="mochidef reference" href="#fn-groupby_as_array">groupby_as_array(iterable[, keyfunc])</a>:</p>
<blockquote>
Perform the same task as <a class="mochiref reference" href="#fn-groupby">groupby()</a>, except return an array of
arrays instead of an iterator of iterators.</blockquote>
<p>
<a name="fn-iextend"></a>
<a class="mochidef reference" href="#fn-iextend">iextend(lst, iterable)</a>:</p>
<blockquote>
Just like <a class="mochiref reference" href="#fn-list">list(iterable)</a>, except it pushes results on <tt class="docutils literal"><span class="pre">lst</span></tt>
rather than creating a new one.</blockquote>
<p>
<a name="fn-ifilter"></a>
<a class="mochidef reference" href="#fn-ifilter">ifilter(pred, seq)</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">ifilter(pred,</span> <span class="pre">seq)</span></tt> --&gt; elements of seq where <tt class="docutils literal"><span class="pre">pred(elem)</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt></blockquote>
<p>
<a name="fn-ifilterfalse"></a>
<a class="mochidef reference" href="#fn-ifilterfalse">ifilterfalse(pred, seq)</a>:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">ifilterfalse(pred,</span> <span class="pre">seq)</span></tt> --&gt; elements of seq where <tt class="docutils literal"><span class="pre">pred(elem)</span></tt> is</dt>
<dd><tt class="docutils literal"><span class="pre">false</span></tt></dd>
</dl>
</blockquote>
<p>
<a name="fn-imap"></a>
<a class="mochidef reference" href="#fn-imap">imap(fun, p, q[, ...])</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">imap(fun,</span> <span class="pre">p,</span> <span class="pre">q,</span> <span class="pre">...)</span></tt> --&gt; fun(p0, q0, ...), fun(p1, q1, ...), ...</blockquote>
<p>
<a name="fn-islice"></a>
<a class="mochidef reference" href="#fn-islice">islice(seq, [start,] stop[, step])</a>:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">islice(seq,</span> <span class="pre">[start,]</span> <span class="pre">stop[,</span> <span class="pre">step])</span></tt> --&gt; elements from</dt>
<dd>seq[start:stop:step] (in Python slice syntax)</dd>
</dl>
</blockquote>
<p>
<a name="fn-iter"></a>
<a class="mochidef reference" href="#fn-iter">iter(iterable[, sentinel])</a>:</p>
<blockquote>
<p>Convert the given argument to an iterator (object implementing
<tt class="docutils literal"><span class="pre">.next()</span></tt>).</p>
<ol class="arabic simple">
<li>If <tt class="docutils literal"><span class="pre">iterable</span></tt> is an iterator (implements <tt class="docutils literal"><span class="pre">.next()</span></tt>), then it will
be returned as-is.</li>
<li>If <tt class="docutils literal"><span class="pre">iterable</span></tt> is an iterator factory (implements <tt class="docutils literal"><span class="pre">.iter()</span></tt>), then
the result of <tt class="docutils literal"><span class="pre">iterable.iter()</span></tt> will be returned.</li>
<li>Otherwise, the iterator factory <a class="mochiref reference" href="Base.html#fn-adapterregistry">MochiKit.Base.AdapterRegistry</a>
is used to find a match.</li>
<li>If no factory is found, it will throw <tt class="docutils literal"><span class="pre">TypeError</span></tt></li>
</ol>
<p>Built-in iterator factories are present for Array-like objects, and
objects that implement the <tt class="docutils literal"><span class="pre">iterateNext</span></tt> protocol (e.g. the result of
Mozilla's <tt class="docutils literal"><span class="pre">document.evaluate</span></tt>).</p>
<p>When used directly, using an iterator should look like this:</p>
<pre class="literal-block">
var it = iter(iterable);
try {
while (var o = it.next()) {
// use o
}
} catch (e) {
if (e != StopIteration) {
throw e;
}
// pass
}
</pre>
<p>This is ugly, so you should use the higher order functions to work
with iterators whenever possible.</p>
</blockquote>
<p>
<a name="fn-izip"></a>
<a class="mochidef reference" href="#fn-izip">izip(p, q[, ...])</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">izip(p,</span> <span class="pre">q,</span> <span class="pre">...)</span></tt> --&gt; [p0, q0, ...], [p1, q1, ...], ...</blockquote>
<p>
<a name="fn-list"></a>
<a class="mochidef reference" href="#fn-list">list(iterable)</a>:</p>
<blockquote>
Convert <tt class="docutils literal"><span class="pre">iterable</span></tt> to a new <tt class="docutils literal"><span class="pre">Array</span></tt></blockquote>
<p>
<a name="fn-next"></a>
<a class="mochidef reference" href="#fn-next">next(iterator)</a>:</p>
<blockquote>
Return <tt class="docutils literal"><span class="pre">iterator.next()</span></tt></blockquote>
<p>
<a name="fn-range"></a>
<a class="mochidef reference" href="#fn-range">range([start,] stop[, step])</a>:</p>
<blockquote>
<p>Return an iterator containing an arithmetic progression of integers.</p>
<p><tt class="docutils literal"><span class="pre">range(i,</span> <span class="pre">j)</span></tt> returns <a class="mochiref reference" href="#fn-iter">iter([i, i + 1, i + 2, ..., j - 1])</a></p>
<p><tt class="docutils literal"><span class="pre">start</span></tt> (!) defaults to <tt class="docutils literal"><span class="pre">0</span></tt>. When <tt class="docutils literal"><span class="pre">step</span></tt> is given, it specifies the
increment (or decrement). The end point is omitted!</p>
<p>For example, <tt class="docutils literal"><span class="pre">range(4)</span></tt> returns <a class="mochiref reference" href="#fn-iter">iter([0, 1, 2, 3])</a>.
This iterates over exactly the valid indexes for an array of 4 elements.</p>
</blockquote>
<p>
<a name="fn-reduce"></a>
<a class="mochidef reference" href="#fn-reduce">reduce(fn, iterable[, initial])</a>:</p>
<blockquote>
<p>Apply <tt class="docutils literal"><span class="pre">fn(a,</span> <span class="pre">b)</span></tt> cumulatively to the items of an
iterable from left to right, so as to reduce the iterable
to a single value.</p>
<p>For example:</p>
<pre class="literal-block">
reduce(function (a, b) { return x + y; }, [1, 2, 3, 4, 5])
</pre>
<p>calculates:</p>
<pre class="literal-block">
((((1 + 2) + 3) + 4) + 5).
</pre>
<p>If initial is given, it is placed before the items of the sequence
in the calculation, and serves as a default when the sequence is
empty.</p>
<p>Note that the above example could be written more clearly as:</p>
<pre class="literal-block">
reduce(operator.add, [1, 2, 3, 4, 5])
</pre>
<p>Or even simpler:</p>
<pre class="literal-block">
sum([1, 2, 3, 4, 5])
</pre>
</blockquote>
<p>
<a name="fn-registeriteratorfactory"></a>
<a class="mochidef reference" href="#fn-registeriteratorfactory">registerIteratorFactory(name, check, iterfactory[, override])</a>:</p>
<blockquote>
<p>Register an iterator factory for use with the iter function.</p>
<p><tt class="docutils literal"><span class="pre">check</span></tt> is a <tt class="docutils literal"><span class="pre">function(a)</span></tt> that returns <tt class="docutils literal"><span class="pre">true</span></tt> if <tt class="docutils literal"><span class="pre">a</span></tt> can be
converted into an iterator with <tt class="docutils literal"><span class="pre">iterfactory</span></tt>.</p>
<p><tt class="docutils literal"><span class="pre">iterfactory</span></tt> is a <tt class="docutils literal"><span class="pre">function(a)</span></tt> that returns an object with a
<tt class="docutils literal"><span class="pre">.next()</span></tt> method that returns the next value in the sequence.</p>
<p><tt class="docutils literal"><span class="pre">iterfactory</span></tt> is guaranteed to only be called if <tt class="docutils literal"><span class="pre">check(a)</span></tt>
returns a true value.</p>
<p>If <tt class="docutils literal"><span class="pre">override</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt>, then it will be made the
highest precedence iterator factory. Otherwise, the lowest.</p>
</blockquote>
<p>
<a name="fn-repeat"></a>
<a class="mochidef reference" href="#fn-repeat">repeat(elem[, n])</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">repeat(elem,</span> <span class="pre">[,n])</span></tt> --&gt; elem, elem, elem, ... endlessly or up to n times</blockquote>
<p>
<a name="fn-reversed"></a>
<a class="mochidef reference" href="#fn-reversed">reversed(iterable)</a>:</p>
<blockquote>
Return a reversed array from iterable.</blockquote>
<p>
<a name="fn-some"></a>
<a class="mochidef reference" href="#fn-some">some(iterable, func)</a>:</p>
<blockquote>
Return <tt class="docutils literal"><span class="pre">true</span></tt> if <tt class="docutils literal"><span class="pre">func(item)</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt> for at least one item in
<tt class="docutils literal"><span class="pre">iterable</span></tt>.</blockquote>
<p>
<a name="fn-sorted"></a>
<a class="mochidef reference" href="#fn-sorted">sorted(iterable[, cmp])</a>:</p>
<blockquote>
Return a sorted array from iterable.</blockquote>
<p>
<a name="fn-sum"></a>
<a class="mochidef reference" href="#fn-sum">sum(iterable, start=0)</a>:</p>
<blockquote>
<p>Returns the sum of a sequence of numbers plus the value
of parameter <tt class="docutils literal"><span class="pre">start</span></tt> (with a default of 0). When the sequence is
empty, returns start.</p>
<p>Equivalent to:</p>
<pre class="literal-block">
reduce(operator.add, iterable, start);
</pre>
</blockquote>
<p>
<a name="fn-takewhile"></a>
<a class="mochidef reference" href="#fn-takewhile">takewhile(pred, seq)</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">takewhile(pred,</span> <span class="pre">seq)</span></tt> --&gt; seq[0], seq[1], ... until pred(seq[n]) fails</blockquote>
<p>
<a name="fn-tee"></a>
<a class="mochidef reference" href="#fn-tee">tee(iterable, n=2)</a>:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">tee(it,</span> <span class="pre">n=2)</span></tt> --&gt; [it1, it2, it3, ... itn] splits one iterator into n</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id4" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id4">[1]</a></td><td>The iteration protocol is described in
PEP 234 - Iterators: <a class="reference" href="http://www.python.org/peps/pep-0234.html">http://www.python.org/peps/pep-0234.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id5" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2" name="id5">[2]</a></td><td>Python's itertools
module: <a class="reference" href="http://docs.python.org/lib/module-itertools.html">http://docs.python.org/lib/module-itertools.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id6" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id3" name="id6">[3]</a></td><td>Iteration in JavaScript: <a class="reference" href="http://bob.pythonmac.org/archives/2005/07/06/iteration-in-javascript/">http://bob.pythonmac.org/archives/2005/07/06/iteration-in-javascript/</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,310 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Logging - we're all tired of alert()</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Logging - we're all tired of alert()</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
log(&quot;INFO messages are so boring&quot;);
logDebug(&quot;DEBUG messages are even worse&quot;);
log(&quot;good thing I can pass&quot;, objects, &quot;conveniently&quot;);
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>MochiKit.Logging steals some ideas from Python's logging module <a class="footnote-reference" href="#id6" id="id1" name="id1">[1]</a>, but
completely forgot about the Java <a class="footnote-reference" href="#id7" id="id2" name="id2">[2]</a> inspiration. This is a KISS module for
logging that provides enough flexibility to do just about anything via
listeners, but without all the cruft.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<div class="section">
<h2><a id="native-console-logging" name="native-console-logging">Native Console Logging</a></h2>
<p>As of MochiKit 1.3, the default logger will log all messages to your browser's
native console. This is currently supported in Safari, Opera 9, and Firefox
when the <a class="reference" href="http://www.joehewitt.com/software/firebug/">FireBug</a> extension is installed.</p>
<p>To disable this behavior:</p>
<pre class="literal-block">
MochiKit.Logging.logger.useNativeLogging = false;
</pre>
</div>
<div class="section">
<h2><a id="bookmarklet-based-debugging" name="bookmarklet-based-debugging">Bookmarklet Based Debugging</a></h2>
<p>JavaScript is at a serious disadvantage without a standard console for
&quot;print&quot; statements. Everything else has one. The closest thing that
you get in a browser environment is the <tt class="docutils literal"><span class="pre">alert</span></tt> function, which is
absolutely evil.</p>
<p>This leaves you with one reasonable solution: do your logging in the page
somehow. The problem here is that you don't want to clutter the page with
debugging tools. The solution to that problem is what we call BBD, or
Bookmarklet Based Debugging <a class="footnote-reference" href="#id8" id="id4" name="id4">[3]</a>.</p>
<p>Simply create a bookmarklet for <a class="reference" href="javascript:MochiKit.Logging.logger.debuggingBookmarklet()">javascript:MochiKit.Logging.logger.debuggingBookmarklet()</a>,
and whack it whenever you want to see what's in the logger. Of course, this
means you must drink the MochiKit.Logging kool-aid. It's tangy and sweet,
don't worry.</p>
<p>Currently this is an ugly <tt class="docutils literal"><span class="pre">alert</span></tt>, but we'll have something spiffy
Real Soon Now, and when we do, you only have to upgrade MochiKit.Logging,
not your bookmarklet!</p>
</div>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="constructors" name="constructors">Constructors</a></h2>
<p>
<a name="fn-logmessage"></a>
<a class="mochidef reference" href="#fn-logmessage">LogMessage(num, level, info)</a>:</p>
<blockquote>
<p>Properties:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">num</span></tt>:</dt>
<dd>Identifier for the log message</dd>
<dt><tt class="docutils literal"><span class="pre">level</span></tt>:</dt>
<dd>Level of the log message (<tt class="docutils literal"><span class="pre">&quot;INFO&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;WARN&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;DEBUG&quot;</span></tt>,
etc.)</dd>
<dt><tt class="docutils literal"><span class="pre">info</span></tt>:</dt>
<dd>All other arguments passed to log function as an <tt class="docutils literal"><span class="pre">Array</span></tt></dd>
<dt><tt class="docutils literal"><span class="pre">timestamp</span></tt>:</dt>
<dd><tt class="docutils literal"><span class="pre">Date</span></tt> object timestamping the log message</dd>
</dl>
</blockquote>
</blockquote>
<p>
<a name="fn-logger"></a>
<a class="mochidef reference" href="#fn-logger">Logger([maxSize])</a>:</p>
<blockquote>
<p>A basic logger object that has a buffer of recent messages
plus a listener dispatch mechanism for &quot;real-time&quot; logging
of important messages.</p>
<p><tt class="docutils literal"><span class="pre">maxSize</span></tt> is the maximum number of entries in the log.
If <tt class="docutils literal"><span class="pre">maxSize</span> <span class="pre">&gt;=</span> <span class="pre">0</span></tt>, then the log will not buffer more than that
many messages. So if you don't like logging at all, be sure to
pass <tt class="docutils literal"><span class="pre">0</span></tt>.</p>
<p>There is a default logger available named &quot;logger&quot;, and several
of its methods are also global functions:</p>
<blockquote>
<tt class="docutils literal"><span class="pre">logger.log</span></tt> -&gt; <tt class="docutils literal"><span class="pre">log</span></tt>
<tt class="docutils literal"><span class="pre">logger.debug</span></tt> -&gt; <tt class="docutils literal"><span class="pre">logDebug</span></tt>
<tt class="docutils literal"><span class="pre">logger.warning</span></tt> -&gt; <tt class="docutils literal"><span class="pre">logWarning</span></tt>
<tt class="docutils literal"><span class="pre">logger.error</span></tt> -&gt; <tt class="docutils literal"><span class="pre">logError</span></tt>
<tt class="docutils literal"><span class="pre">logger.fatal</span></tt> -&gt; <tt class="docutils literal"><span class="pre">logFatal</span></tt></blockquote>
</blockquote>
<p>
<a name="fn-logger.prototype.addlistener"></a>
<a class="mochidef reference" href="#fn-logger.prototype.addlistener">Logger.prototype.addListener(ident, filter, listener)</a>:</p>
<blockquote>
<p>Add a listener for log messages.</p>
<p><tt class="docutils literal"><span class="pre">ident</span></tt> is a unique identifier that may be used to remove the listener
later on.</p>
<p><tt class="docutils literal"><span class="pre">filter</span></tt> can be one of the following:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">null</span></tt>:</dt>
<dd><tt class="docutils literal"><span class="pre">listener(msg)</span></tt> will be called for every log message
received.</dd>
<dt><tt class="docutils literal"><span class="pre">string</span></tt>:</dt>
<dd><a class="mochiref reference" href="#fn-loglevelatleast">logLevelAtLeast(filter)</a> will be used as the function
(see below).</dd>
<dt><tt class="docutils literal"><span class="pre">function</span></tt>:</dt>
<dd><tt class="docutils literal"><span class="pre">filter(msg)</span></tt> will be called for every msg, if it returns
true then <tt class="docutils literal"><span class="pre">listener(msg)</span></tt> will be called.</dd>
</dl>
</blockquote>
<p><tt class="docutils literal"><span class="pre">listener</span></tt> is a function that takes one argument, a log message. A log
message is an object (<a class="mochiref reference" href="#fn-logmessage">LogMessage</a> instance) that has at least these
properties:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">num</span></tt>:</dt>
<dd>A counter that uniquely identifies a log message (per-logger)</dd>
<dt><tt class="docutils literal"><span class="pre">level</span></tt>:</dt>
<dd>A string or number representing the log level. If string, you
may want to use <tt class="docutils literal"><span class="pre">LogLevel[level]</span></tt> for comparison.</dd>
<dt><tt class="docutils literal"><span class="pre">info</span></tt>:</dt>
<dd>An Array of objects passed as additional arguments to the <tt class="docutils literal"><span class="pre">log</span></tt>
function.</dd>
</dl>
</blockquote>
</blockquote>
<p>
<a name="fn-logger.prototype.baselog"></a>
<a class="mochidef reference" href="#fn-logger.prototype.baselog">Logger.prototype.baseLog(level, message[, ...])</a>:</p>
<blockquote>
<p>The base functionality behind all of the log functions.
The first argument is the log level as a string or number,
and all other arguments are used as the info list.</p>
<p>This function is available partially applied as:</p>
<blockquote>
<table border="1" class="docutils">
<colgroup>
<col width="61%" />
<col width="39%" />
</colgroup>
<tbody valign="top">
<tr><td>Logger.debug</td>
<td>'DEBUG'</td>
</tr>
<tr><td>Logger.log</td>
<td>'INFO'</td>
</tr>
<tr><td>Logger.error</td>
<td>'ERROR'</td>
</tr>
<tr><td>Logger.fatal</td>
<td>'FATAL'</td>
</tr>
<tr><td>Logger.warning</td>
<td>'WARNING'</td>
</tr>
</tbody>
</table>
</blockquote>
<p>For the default logger, these are also available as global functions,
see the <a class="mochiref reference" href="#fn-logger">Logger</a> constructor documentation for more info.</p>
</blockquote>
<p>
<a name="fn-logger.prototype.clear"></a>
<a class="mochidef reference" href="#fn-logger.prototype.clear">Logger.prototype.clear()</a>:</p>
<blockquote>
Clear all messages from the message buffer.</blockquote>
<p>
<a name="fn-logger.prototype.debuggingbookmarklet"></a>
<a class="mochidef reference" href="#fn-logger.prototype.debuggingbookmarklet">Logger.prototype.debuggingBookmarklet()</a>:</p>
<blockquote>
<p>Display the contents of the logger in a useful way for browsers.</p>
<p>Currently, if <a class="mochiref reference" href="LoggingPane.html">MochiKit.LoggingPane</a> is loaded, then a pop-up
<a class="mochiref reference" href="LoggingPane.html#fn-loggingpane">MochiKit.LoggingPane.LoggingPane</a> will be used. Otherwise,
it will be an alert with <a class="mochiref reference" href="#fn-logger.prototype.getmessagetext">Logger.prototype.getMessageText()</a>.</p>
</blockquote>
<p>
<a name="fn-logger.prototype.dispatchlisteners"></a>
<a class="mochidef reference" href="#fn-logger.prototype.dispatchlisteners">Logger.prototype.dispatchListeners(msg)</a>:</p>
<blockquote>
Dispatch a log message to all listeners.</blockquote>
<p>
<a name="fn-logger.prototype.getmessages"></a>
<a class="mochidef reference" href="#fn-logger.prototype.getmessages">Logger.prototype.getMessages(howMany)</a>:</p>
<blockquote>
Return a list of up to <tt class="docutils literal"><span class="pre">howMany</span></tt> messages from the message buffer.</blockquote>
<p>
<a name="fn-logger.prototype.getmessagetext"></a>
<a class="mochidef reference" href="#fn-logger.prototype.getmessagetext">Logger.prototype.getMessageText(howMany)</a>:</p>
<blockquote>
<p>Get a string representing up to the last <tt class="docutils literal"><span class="pre">howMany</span></tt> messages in the
message buffer. The default is <tt class="docutils literal"><span class="pre">30</span></tt>.</p>
<p>The message looks like this:</p>
<pre class="literal-block">
LAST {messages.length} MESSAGES:
[{msg.num}] {msg.level}: {m.info.join(' ')}
[{msg.num}] {msg.level}: {m.info.join(' ')}
...
</pre>
<p>If you want some other format, use
<a class="mochiref reference" href="#fn-logger.prototype.getmessages">Logger.prototype.getMessages</a> and do it yourself.</p>
</blockquote>
<p>
<a name="fn-logger.prototype.removelistener"></a>
<a class="mochidef reference" href="#fn-logger.prototype.removelistener">Logger.prototype.removeListener(ident)</a>:</p>
<blockquote>
Remove a listener using the ident given to <a class="mochiref reference" href="#fn-logger.prototype.addlistener">Logger.prototype.addListener</a></blockquote>
</div>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-alertlistener"></a>
<a class="mochidef reference" href="#fn-alertlistener">alertListener(msg)</a>:</p>
<blockquote>
Ultra-obnoxious <tt class="docutils literal"><span class="pre">alert(...)</span></tt> listener</blockquote>
<p>
<a name="fn-logdebug"></a>
<a class="mochidef reference" href="#fn-logdebug">logDebug(message[, info[, ...]])</a>:</p>
<blockquote>
Log an INFO message to the default logger</blockquote>
<p>
<a name="fn-logdebug"></a>
<a class="mochidef reference" href="#fn-logdebug">logDebug(message[, info[, ...]])</a>:</p>
<blockquote>
Log a DEBUG message to the default logger</blockquote>
<p>
<a name="fn-logerror"></a>
<a class="mochidef reference" href="#fn-logerror">logError(message[, info[, ...]])</a>:</p>
<blockquote>
Log an ERROR message to the default logger</blockquote>
<p>
<a name="fn-logfatal"></a>
<a class="mochidef reference" href="#fn-logfatal">logFatal(message[, info[, ...]])</a>:</p>
<blockquote>
Log a FATAL message to the default logger</blockquote>
<p>
<a name="fn-loglevelatleast"></a>
<a class="mochidef reference" href="#fn-loglevelatleast">logLevelAtLeast(minLevel)</a>:</p>
<blockquote>
Return a function that will match log messages whose level
is at least minLevel</blockquote>
<p>
<a name="fn-logwarning"></a>
<a class="mochidef reference" href="#fn-logwarning">logWarning(message[, info[, ...]])</a>:</p>
<blockquote>
Log a WARNING message to the default logger</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id6" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1" name="id6">[1]</a></td><td>Python's logging module: <a class="reference" href="http://docs.python.org/lib/module-logging.html">http://docs.python.org/lib/module-logging.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id7" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id2" name="id7">[2]</a></td><td>PEP 282, where they admit all of the Java influence: <a class="reference" href="http://www.python.org/peps/pep-0282.html">http://www.python.org/peps/pep-0282.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id8" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id4" name="id8">[3]</a></td><td>Original Bookmarklet Based Debugging blather: <a class="reference" href="http://bob.pythonmac.org/archives/2005/07/03/bookmarklet-based-debugging/">http://bob.pythonmac.org/archives/2005/07/03/bookmarklet-based-debugging/</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,121 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.LoggingPane - Interactive MochiKit.Logging pane</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.LoggingPane - Interactive MochiKit.Logging pane</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
// open a pop-up window
createLoggingPane()
// use a div at the bottom of the document
createLoggingPane(true);
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>MochiKit.Logging does not have any browser dependencies and is completely
unobtrusive. MochiKit.LoggingPane is a browser-based colored viewing pane
for your <a class="mochiref reference" href="Logging.html">MochiKit.Logging</a> output that can be used as a pop-up or
inline.</p>
<p>It also allows for regex and level filtering! MochiKit.LoggingPane is used
as the default <a class="mochiref reference" href="Logging.html#fn-debuggingbookmarklet">MochiKit.Logging.debuggingBookmarklet()</a> if it is
loaded.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
<li><a class="mochiref reference" href="Logging.html">MochiKit.Logging</a></li>
</ul>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="constructors" name="constructors">Constructors</a></h2>
<p>
<a name="fn-loggingpane"></a>
<a class="mochidef reference" href="#fn-loggingpane">LoggingPane(inline=false, logger=MochiKit.Logging.logger)</a>:</p>
<blockquote>
<p>A listener for a <a class="mochiref reference" href="Logging.html">MochiKit.Logging</a> logger with an interactive
DOM representation.</p>
<p>If <tt class="docutils literal"><span class="pre">inline</span></tt> is <tt class="docutils literal"><span class="pre">true</span></tt>, then the <tt class="docutils literal"><span class="pre">LoggingPane</span></tt> will be a <tt class="docutils literal"><span class="pre">DIV</span></tt>
at the bottom of the document. Otherwise, it will be in a pop-up
window with a name based on the calling page's URL. If there is an
element in the document with an id of <tt class="docutils literal"><span class="pre">_MochiKit_LoggingPane</span></tt>,
it will be used instead of appending a new <tt class="docutils literal"><span class="pre">DIV</span></tt> to the body.</p>
<p><tt class="docutils literal"><span class="pre">logger</span></tt> is the reference to the <a class="mochiref reference" href="Logging.html#fn-logger">MochiKit.Logging.Logger</a> to
listen to. If not specified, the global default logger is used.</p>
<p>Properties:</p>
<blockquote>
<dl class="docutils">
<dt><tt class="docutils literal"><span class="pre">win</span></tt>:</dt>
<dd>Reference to the pop-up window (<tt class="docutils literal"><span class="pre">undefined</span></tt> if <tt class="docutils literal"><span class="pre">inline</span></tt>)</dd>
<dt><tt class="docutils literal"><span class="pre">inline</span></tt>:</dt>
<dd><tt class="docutils literal"><span class="pre">true</span></tt> if the <tt class="docutils literal"><span class="pre">LoggingPane</span></tt> is inline</dd>
<dt><tt class="docutils literal"><span class="pre">colorTable</span></tt>:</dt>
<dd><p class="first">An object with property-&gt;value mappings for each log level
and its color. May also be mutated on <tt class="docutils literal"><span class="pre">LoggingPane.prototype</span></tt>
to affect all instances. For example:</p>
<pre class="last literal-block">
MochiKit.LoggingPane.LoggingPane.prototype.colorTable = {
DEBUG: &quot;green&quot;,
INFO: &quot;black&quot;,
WARNING: &quot;blue&quot;,
ERROR: &quot;red&quot;,
FATAL: &quot;darkred&quot;
};
</pre>
</dd>
</dl>
</blockquote>
</blockquote>
<p>
<a name="fn-loggingpane.prototype.closepane"></a>
<a class="mochidef reference" href="#fn-loggingpane.prototype.closepane">LoggingPane.prototype.closePane()</a>:</p>
<blockquote>
Close the <a class="mochiref reference" href="#fn-loggingpane">LoggingPane</a> (close the child window, or
remove the <tt class="docutils literal"><span class="pre">_MochiKit_LoggingPane</span></tt> <tt class="docutils literal"><span class="pre">DIV</span></tt> from the document).</blockquote>
</div>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-createloggingpane"></a>
<a class="mochidef reference" href="#fn-createloggingpane">createLoggingPane(inline=false)</a>:</p>
<blockquote>
Create or return an existing <a class="mochiref reference" href="#fn-loggingpane">LoggingPane</a> for this document
with the given inline setting. This is preferred over using
<a class="mochiref reference" href="#fn-loggingpane">LoggingPane</a> directly, as only one <a class="mochiref reference" href="#fn-loggingpane">LoggingPane</a>
should be present in a given document.</blockquote>
</div>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,331 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Signal - Simple universal event handling</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Signal - Simple universal event handling</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<p>Signal for DOM events:</p>
<pre class="literal-block">
// DOM events are also signals. Connect freely! The functions will be
// called with the custom event as a parameter.
// calls myClicked.apply(getElement('myID'), event)
connect('myID', 'onclick', myClicked);
// calls wasClicked.apply(myObject, event)
connect('myID', 'onclick', myObject, wasClicked);
// calls myObject.wasClicked(event)
connect('myID', 'onclick', myObject, 'wasClicked');
// the event is normalized, no more e = e || window.event!
myObject.wasClicked = function(e) {
var crossBrowserCoordinates = e.mouse().page;
// e.mouse().page is a MochiKit.DOM.Coordinates object
}
</pre>
<p>Signal for non-DOM events:</p>
<pre class="literal-block">
// otherObject.gotFlash() will be called when 'flash' signalled.
connect(myObject, 'flash', otherObject, 'gotFlash');
// gotBang.apply(otherObject) will be called when 'bang' signalled.
// You can access otherObject from within gotBang as 'this'.
connect(myObject, 'bang', otherObject, gotBang);
// myFunc.apply(myObject) will be called when 'flash' signalled.
// You can access myObject from within myFunc as 'this'.
var ident = connect(myObject, 'flash', myFunc);
// You may disconnect with the return value from connect
disconnect(ident);
// Signal can take parameters. These will be passed along to the connected
// functions.
signal(myObject, 'flash');
signal(myObject, 'bang', 'BANG!');
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>Event handling was never so easy!</p>
<p>This module takes care of all the hard work—figuring out which event
model to use, trying to retrieve the event object, and handling your own
internal events, as well as cleanup when the page is unloaded to clean up IE's
nasty memory leakage.</p>
<p>This event system is largely based on Qt's signal/slot system. Read more on
how that is handled and also how it is used in model/view programming at:
<a class="reference" href="http://doc.trolltech.com/">http://doc.trolltech.com/</a></p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
<li><a class="mochiref reference" href="DOM.html">MochiKit.DOM</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<div class="section">
<h2><a id="using-signal-for-dom-events" name="using-signal-for-dom-events">Using Signal for DOM Events</a></h2>
<p>When using MochiKit.Signal, do not use the browser's native event API. That
means, no <tt class="docutils literal"><span class="pre">onclick=&quot;blah&quot;</span></tt>, no <tt class="docutils literal"><span class="pre">elem.addEventListener(...)</span></tt>, and certainly
no <tt class="docutils literal"><span class="pre">elem.attachEvent(...)</span></tt>. This also means that
<a class="mochiref reference" href="DOM.html#fn-addtocallstack">MochiKit.DOM.addToCallStack</a> and
<a class="mochiref reference" href="DOM.html#fn-addloadevent">MochiKit.DOM.addLoadEvent</a> should not be used in combination with
this module.</p>
<p>Signals for DOM objects are named with the <tt class="docutils literal"><span class="pre">'on'</span></tt> prefix, e.g.:
<tt class="docutils literal"><span class="pre">'onclick'</span></tt>, <tt class="docutils literal"><span class="pre">'onkeyup'</span></tt>, etc.</p>
<p>When the signal fires, your slot will be called with one parameter, the custom
event object.</p>
</div>
<div class="section">
<h2><a id="custom-event-objects-for-dom-events" name="custom-event-objects-for-dom-events">Custom Event Objects for DOM events</a></h2>
<p>Signals triggered by DOM events are called with a custom event object as a
parameter. The custom event object presents a consistent view of the event
across all supported platforms and browsers, and provides many conveniences
not available even in a correct W3C implementation.</p>
<p>See the <a class="reference" href="#dom-custom-event-object-reference">DOM Custom Event Object Reference</a> for a detailed API description
of this object.</p>
<p>If you find that you're accessing the native event for any reason, create a
<a class="reference" href="http://trac.mochikit.com/newticket">new ticket</a> and we'll look into normalizing the behavior you're looking for.</p>
</div>
<div class="section">
<h2><a id="memory-usage" name="memory-usage">Memory Usage</a></h2>
<p>Any object that has connected slots (via <a class="mochiref reference" href="#fn-connect">connect()</a>) is referenced
by the Signal mechanism until it is disconnected via <a class="mochiref reference" href="#fn-disconnect">disconnect()</a>
or <a class="mochiref reference" href="#fn-disconnectall">disconnectAll()</a>.</p>
<p>Signal does not leak. It registers an <tt class="docutils literal"><span class="pre">'onunload'</span></tt> event that disconnects all
objects on the page when the browser leaves the page. However, memory usage
will grow during the page view for every connection made until it is
disconnected. Even if the DOM object is removed from the document, it
will still be referenced by Signal until it is explicitly disconnected.</p>
<p>In order to conserve memory during the page view, <a class="mochiref reference" href="#fn-disconnectall">disconnectAll()</a>
any DOM elements that are about to be removed from the document.</p>
</div>
<div class="section">
<h2><a id="using-signal-for-non-dom-objects" name="using-signal-for-non-dom-objects">Using Signal for non-DOM objects</a></h2>
<p>Signals are triggered with the <a class="mochiref reference" href="#fn-signal">signal(src, 'signal', ...)</a>
function. Additional parameters passed to this are passed onto the
connected slots. Explicit signals are not required for DOM events.</p>
<p>Slots that are connected to a signal are called in the following manner
when that signal is signalled:</p>
<ul class="simple">
<li>If the slot was a single function, then it is called with <tt class="docutils literal"><span class="pre">this</span></tt> set
to the object originating the signal with whatever parameters it was
signalled with.</li>
<li>If the slot was an object and a function, then it is called with
<tt class="docutils literal"><span class="pre">this</span></tt> set to the object, and with whatever parameters it was
signalled with.</li>
<li>If the slot was an object and a string, then <tt class="docutils literal"><span class="pre">object[string]</span></tt> is
called with the parameters to the signal.</li>
</ul>
</div>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="signal-api-reference" name="signal-api-reference">Signal API Reference</a></h2>
<p>
<a name="fn-connect"></a>
<a class="mochidef reference" href="#fn-connect">connect(src, signal, dest[, func])</a>:</p>
<blockquote>
<p>Connects a signal to a slot, and return a unique identifier that can be
used to disconnect that signal.</p>
<p><tt class="docutils literal"><span class="pre">src</span></tt> is the object that has the signal. You may pass in a string, in
which case, it is interpreted as an id for an HTML element.</p>
<p><tt class="docutils literal"><span class="pre">signal</span></tt> is a string that represents a signal name. If 'src' is an HTML
Element, <tt class="docutils literal"><span class="pre">window</span></tt>, or the <tt class="docutils literal"><span class="pre">document</span></tt>, then it can be one of the
'on-XYZ' events. You must include the 'on' prefix, and it must be all
lower-case.</p>
<p><tt class="docutils literal"><span class="pre">dest</span></tt> and <tt class="docutils literal"><span class="pre">func</span></tt> describe the slot, or the action to take when the
signal is triggered.</p>
<blockquote>
<ul class="simple">
<li>If <tt class="docutils literal"><span class="pre">dest</span></tt> is an object and <tt class="docutils literal"><span class="pre">func</span></tt> is a string, then
<tt class="docutils literal"><span class="pre">dest[func].apply(dest,</span> <span class="pre">...)</span></tt> will be called when the signal
is signalled.</li>
<li>If <tt class="docutils literal"><span class="pre">dest</span></tt> is an object and <tt class="docutils literal"><span class="pre">func</span></tt> is a function, then
<tt class="docutils literal"><span class="pre">func.apply(dest,</span> <span class="pre">...)</span></tt> will be called when the signal is
signalled.</li>
<li>If <tt class="docutils literal"><span class="pre">func</span></tt> is undefined and <tt class="docutils literal"><span class="pre">dest</span></tt> is a function, then
<tt class="docutils literal"><span class="pre">func.apply(src,</span> <span class="pre">...)</span></tt> will be called when the signal is
signalled.</li>
</ul>
</blockquote>
<p>No other combinations are allowed and will raise an exception.</p>
<p>The return value can be passed to <a class="mochiref reference" href="#fn-disconnect">disconnect</a> to disconnect
the signal.</p>
</blockquote>
<p>
<a name="fn-disconnect"></a>
<a class="mochidef reference" href="#fn-disconnect">disconnect(ident)</a>:</p>
<blockquote>
To disconnect a signal, pass its ident returned by <a class="mochiref reference" href="#fn-connect">connect()</a>.
This is similar to how the browser's <tt class="docutils literal"><span class="pre">setTimeout</span></tt> and <tt class="docutils literal"><span class="pre">clearTimeout</span></tt>
works.</blockquote>
<p>
<a name="fn-disconnectall"></a>
<a class="mochidef reference" href="#fn-disconnectall">disconnectAll(src[, signal, ...])</a>:</p>
<blockquote>
<p><tt class="docutils literal"><span class="pre">disconnectAll(src)</span></tt> removes all signals from src.</p>
<p><tt class="docutils literal"><span class="pre">disconnectAll(src,</span> <span class="pre">'onmousedown',</span> <span class="pre">'mySignal')</span></tt> will remove all
<tt class="docutils literal"><span class="pre">'onmousedown'</span></tt> and <tt class="docutils literal"><span class="pre">'mySignal'</span></tt> signals from src.</p>
</blockquote>
<p>
<a name="fn-signal"></a>
<a class="mochidef reference" href="#fn-signal">signal(src, signal, ...)</a>:</p>
<blockquote>
This will signal a signal, passing whatever additional parameters on to
the connected slots. <tt class="docutils literal"><span class="pre">src</span></tt> and <tt class="docutils literal"><span class="pre">signal</span></tt> are the same as for
<a class="mochiref reference" href="#fn-connect">connect()</a>.</blockquote>
</div>
<div class="section">
<h2><a id="dom-custom-event-object-reference" name="dom-custom-event-object-reference">DOM Custom Event Object Reference</a></h2>
<p>
<a name="fn-event"></a>
<a class="mochidef reference" href="#fn-event">event()</a>:</p>
<blockquote>
The native event produced by the browser. You should not need to use this.</blockquote>
<p>
<a name="fn-src"></a>
<a class="mochidef reference" href="#fn-src">src()</a>:</p>
<blockquote>
The element that this signal is connected to.</blockquote>
<p>
<a name="fn-type"></a>
<a class="mochidef reference" href="#fn-type">type()</a>:</p>
<blockquote>
The event type (<tt class="docutils literal"><span class="pre">'click'</span></tt>, <tt class="docutils literal"><span class="pre">'mouseover'</span></tt>, <tt class="docutils literal"><span class="pre">'keypress'</span></tt>, etc.) as a
string. Does not include the <tt class="docutils literal"><span class="pre">'on'</span></tt> prefix.</blockquote>
<p>
<a name="fn-target"></a>
<a class="mochidef reference" href="#fn-target">target()</a>:</p>
<blockquote>
The element that triggered the event. This may be a child of
<a class="mochiref reference" href="#fn-src">src()</a>.</blockquote>
<p>
<a name="fn-modifier"></a>
<a class="mochidef reference" href="#fn-modifier">modifier()</a>:</p>
<blockquote>
Returns <tt class="docutils literal"><span class="pre">{shift,</span> <span class="pre">ctrl,</span> <span class="pre">meta,</span> <span class="pre">alt,</span> <span class="pre">any}</span></tt>, where each property is <tt class="docutils literal"><span class="pre">true</span></tt>
if its respective modifier key was pressed, <tt class="docutils literal"><span class="pre">false</span></tt> otherwise. <tt class="docutils literal"><span class="pre">any</span></tt>
is <tt class="docutils literal"><span class="pre">true</span></tt> if any modifier is pressed, <tt class="docutils literal"><span class="pre">false</span></tt> otherwise.</blockquote>
<p>
<a name="fn-stoppropagation"></a>
<a class="mochidef reference" href="#fn-stoppropagation">stopPropagation()</a>:</p>
<blockquote>
Works like W3C's <tt class="docutils literal"><span class="pre">stopPropagation()</span></tt>.</blockquote>
<p>
<a name="fn-preventdefault"></a>
<a class="mochidef reference" href="#fn-preventdefault">preventDefault()</a>:</p>
<blockquote>
Works like W3C's <tt class="docutils literal"><span class="pre">preventDefault()</span></tt>.</blockquote>
<p>
<a name="fn-stop"></a>
<a class="mochidef reference" href="#fn-stop">stop()</a>:</p>
<blockquote>
Shortcut that calls <tt class="docutils literal"><span class="pre">stopPropagation()</span></tt> and <tt class="docutils literal"><span class="pre">preventDefault()</span></tt>.</blockquote>
<p>
<a name="fn-key"></a>
<a class="mochidef reference" href="#fn-key">key()</a>:</p>
<blockquote>
<p>Returns <tt class="docutils literal"><span class="pre">{code,</span> <span class="pre">string}</span></tt>.</p>
<p>Use <tt class="docutils literal"><span class="pre">'onkeydown'</span></tt> and <tt class="docutils literal"><span class="pre">'onkeyup'</span></tt> handlers to detect control
characters such as <tt class="docutils literal"><span class="pre">'KEY_F1'</span></tt>. Use the <tt class="docutils literal"><span class="pre">'onkeypressed'</span></tt> handler to
detect &quot;printable&quot; characters, such as <tt class="docutils literal"><span class="pre">'é'</span></tt>.</p>
<p>When a user presses F1, in <tt class="docutils literal"><span class="pre">'onkeydown'</span></tt> and <tt class="docutils literal"><span class="pre">'onkeyup'</span></tt> this method
returns <tt class="docutils literal"><span class="pre">{code:</span> <span class="pre">122,</span> <span class="pre">string:</span> <span class="pre">'KEY_F1'}</span></tt>. In <tt class="docutils literal"><span class="pre">'onkeypress'</span></tt>, it returns
<tt class="docutils literal"><span class="pre">{code:</span> <span class="pre">0,</span> <span class="pre">string:</span> <span class="pre">''}</span></tt>.</p>
<p>If a user presses Shift+2 on a US keyboard, this method returns
<tt class="docutils literal"><span class="pre">{code:</span> <span class="pre">50,</span> <span class="pre">string:</span> <span class="pre">'KEY_2'}</span></tt> in <tt class="docutils literal"><span class="pre">'onkeydown'</span></tt> and <tt class="docutils literal"><span class="pre">'onkeyup'</span></tt>.
In <tt class="docutils literal"><span class="pre">'onkeypress'</span></tt>, it returns <tt class="docutils literal"><span class="pre">{code:</span> <span class="pre">64,</span> <span class="pre">string:</span> <span class="pre">'&#64;'}</span></tt>.</p>
<p>See <tt class="docutils literal"><span class="pre">_specialKeys</span></tt> in the source code for a comprehensive list of
control characters.</p>
</blockquote>
<p>
<a name="fn-mouse"></a>
<a class="mochidef reference" href="#fn-mouse">mouse()</a>:</p>
<blockquote>
<p>Properties for <tt class="docutils literal"><span class="pre">'onmouse*'</span></tt>, <tt class="docutils literal"><span class="pre">'onclick'</span></tt>, <tt class="docutils literal"><span class="pre">'ondblclick'</span></tt>, and
<tt class="docutils literal"><span class="pre">'oncontextmenu'</span></tt>:</p>
<blockquote>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">page</span></tt> is a <a class="mochiref reference" href="DOM.html#fn-coordinates">MochiKit.DOM.Coordinates</a> object that
represents the cursor position relative to the HTML document.
Equivalent to <tt class="docutils literal"><span class="pre">pageX</span></tt> and <tt class="docutils literal"><span class="pre">pageY</span></tt> in Safari, Mozilla, and
Opera.</li>
<li><tt class="docutils literal"><span class="pre">client</span></tt> is a <a class="mochiref reference" href="DOM.html#fn-coordinates">MochiKit.DOM.Coordinates</a> object that
represents the cursor position relative to the visible portion of
the HTML document. Equivalent to <tt class="docutils literal"><span class="pre">clientX</span></tt> and <tt class="docutils literal"><span class="pre">clientY</span></tt> on
all browsers.</li>
</ul>
</blockquote>
<p>Properties for <tt class="docutils literal"><span class="pre">'onmouseup'</span></tt>, <tt class="docutils literal"><span class="pre">'onmousedown'</span></tt>, <tt class="docutils literal"><span class="pre">'onclick'</span></tt>, and
<tt class="docutils literal"><span class="pre">'ondblclick'</span></tt>:</p>
<blockquote>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">mouse().button</span></tt> returns <tt class="docutils literal"><span class="pre">{left,</span> <span class="pre">right,</span> <span class="pre">middle}</span></tt> where each
property is <tt class="docutils literal"><span class="pre">true</span></tt> if the mouse button was pressed, <tt class="docutils literal"><span class="pre">false</span></tt>
otherwise.</li>
</ul>
</blockquote>
<p>Known browser bugs:</p>
<blockquote>
<ul>
<li><p class="first">Current versions of Safari won't signal <tt class="docutils literal"><span class="pre">'ondblclick'</span></tt> when
attached via <tt class="docutils literal"><span class="pre">connect()</span></tt> (<a class="reference" href="http://bugzilla.opendarwin.org/show_bug.cgi?id=7790">Safari Bug 7790</a>).</p>
</li>
<li><p class="first">Mac browsers don't report right-click consistently. Firefox
signals the slot and sets <tt class="docutils literal"><span class="pre">modifier().ctrl</span></tt> to true, Opera
signals the slot and sets <tt class="docutils literal"><span class="pre">modifier().meta</span></tt> to <tt class="docutils literal"><span class="pre">true</span></tt>, and
Safari doesn't signal the slot at all (<a class="reference" href="http://bugzilla.opendarwin.org/show_bug.cgi?id=6595">Safari Bug 6595</a>).</p>
<p>To find a right-click in Safari, Firefox, and IE, you can connect
an element to <tt class="docutils literal"><span class="pre">'oncontextmenu'</span></tt>. This doesn't work in Opera.</p>
</li>
</ul>
</blockquote>
</blockquote>
<p>
<a name="fn-relatedtarget"></a>
<a class="mochidef reference" href="#fn-relatedtarget">relatedTarget()</a>:</p>
<blockquote>
Returns the document element that the mouse has moved to. This is
generated for <tt class="docutils literal"><span class="pre">'onmouseover'</span></tt> and <tt class="docutils literal"><span class="pre">'onmouseout'</span></tt> events.</blockquote>
</div>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Jonathan Gardner &lt;<a class="reference" href="mailto:jgardner&#64;jonathangardner.net">jgardner&#64;jonathangardner.net</a>&gt;</li>
<li>Beau Hartshorne &lt;<a class="reference" href="mailto:beau&#64;hartshornesoftware.com">beau&#64;hartshornesoftware.com</a>&gt;</li>
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2006 Jonathan Gardner &lt;<a class="reference" href="mailto:jgardner&#64;jonathangardner.net">jgardner&#64;jonathangardner.net</a>&gt;, Beau
Hartshorne &lt;<a class="reference" href="mailto:beau&#64;hartshornesoftware.com">beau&#64;hartshornesoftware.com</a>&gt;, and Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;.
This program is dual-licensed free software; you can redistribute it and/or
modify it under the terms of the <a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the
<a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,264 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title></title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<p>2006-04-29 v1.3.1 (bug fix release)</p>
<ul class="simple">
<li>Fix sendXMLHttpRequest sendContent regression</li>
<li>Internet Explorer fix in MochiKit.Logging (printfire exception)</li>
<li>Internet Explorer XMLHttpRequest object leak fixed in MochiKit.Async</li>
</ul>
<p>2006-04-26 v1.3 &quot;warp zone&quot;</p>
<ul class="simple">
<li>IMPORTANT: Renamed MochiKit.Base.forward to forwardCall (for export)</li>
<li>IMPORTANT: Renamed MochiKit.Base.find to findValue (for export)</li>
<li>New MochiKit.Base.method as a convenience form of bind that takes the
object before the method</li>
<li>New MochiKit.Base.flattenArguments for flattening a list of arguments to
a single Array</li>
<li>Refactored MochiRegExp example to use MochiKit.Signal</li>
<li>New key_events example demonstrating use of MochiKit.Signal's key handling
capabilities.</li>
<li>MochiKit.DOM.createDOM API change for convenience: if attrs is a string,
null is used and the string will be considered the first node. This
allows for the more natural P(&quot;foo&quot;) rather than P(null, &quot;foo&quot;).</li>
<li>MochiKit Interpreter example refactored to use MochiKit.Signal and now
provides multi-line input and a help() function to get MochiKit function
signature from the documentation.</li>
<li>Native Console Logging for the default MochiKit.Logging logger</li>
<li>New MochiKit.Async.DeferredList, gatherResults, maybeDeferred</li>
<li>New MochiKit.Signal example: draggable</li>
<li>Added sanity checking to Deferred to ensure that errors happen when chaining
is used incorrectly</li>
<li>Opera sendXMLHttpRequest fix (sends empty string instead of null by default)</li>
<li>Fix a bug in MochiKit.Color that incorrectly generated hex colors for
component values smaller than 16/255.</li>
<li>Fix a bug in MochiKit.Logging that prevented logs from being capped at a
maximum size</li>
<li>MochiKit.Async.Deferred will now wrap thrown objects that are not instanceof
Error, so that the errback chain is used instead of the callback chain.</li>
<li>MochiKit.DOM.appendChildNodes and associated functions now append iterables
in the correct order.</li>
<li>New MochiKit-based SimpleTest test runner as a replacement for Test.Simple</li>
<li>MochiKit.Base.isNull no longer matches undefined</li>
<li>example doctypes changed to HTML4</li>
<li>isDateLike no longer throws error on null</li>
<li>New MochiKit.Signal module, modeled after the slot/signal mechanism in Qt</li>
<li>updated elementDimensions to calculate width from offsetWidth instead
of clientWidth</li>
<li>formContents now works with FORM tags that have a name attribute</li>
<li>Documentation now uses MochiKit to generate a function index</li>
</ul>
<p>2006-01-26 v1.2 &quot;the ocho&quot;</p>
<ul class="simple">
<li>Fixed MochiKit.Color.Color.lighterColorWithLevel</li>
<li>Added new MochiKit.Base.findIdentical function to find the index of an
element in an Array-like object. Uses === for identity comparison.</li>
<li>Added new MochiKit.Base.find function to find the index of an element in
an Array-like object. Uses compare for rich comparison.</li>
<li>MochiKit.Base.bind will accept a string for func, which will be immediately
looked up as self[func].</li>
<li>MochiKit.DOM.formContents no longer skips empty form elements for Zope
compatibility</li>
<li>MochiKit.Iter.forEach will now catch StopIteration to break</li>
<li>New MochiKit.DOM.elementDimensions(element) for determining the width and
height of an element in the document</li>
<li>MochiKit.DOM's initialization is now compatible with
HTMLUnit + JWebUnit + Rhino</li>
<li>MochiKit.LoggingPane will now re-use a <tt class="docutils literal"><span class="pre">_MochiKit_LoggingPane</span></tt> DIV element
currently in the document instead of always creating one.</li>
<li>MochiKit.Base now has operator.mul</li>
<li>MochiKit.DOM.formContents correctly handles unchecked checkboxes that have
a custom value attribute</li>
<li>Added new MochiKit.Color constructors fromComputedStyle and fromText</li>
<li>MochiKit.DOM.setNodeAttribute should work now</li>
<li>MochiKit.DOM now has a workaround for an IE bug when setting the style
property to a string</li>
<li>MochiKit.DOM.createDOM now has workarounds for IE bugs when setting the
name and for properties</li>
<li>MochiKit.DOM.scrapeText now walks the DOM tree in-order</li>
<li>MochiKit.LoggingPane now sanitizes the window name to work around IE bug</li>
<li>MochiKit.DOM now translates usemap to useMap to work around IE bug</li>
<li>MochiKit.Logging is now resistant to Prototype's dumb Object.prototype hacks</li>
<li>Added new MochiKit.DOM documentation on element visibility</li>
<li>New MochiKit.DOM.elementPosition(element[, relativeTo={x: 0, y: 0}])
for determining the position of an element in the document</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: CANVAS, STRONG</li>
</ul>
<p>2005-11-14 v1.1</p>
<ul class="simple">
<li>Fixed a bug in numberFormatter with large numbers</li>
<li>Massively overhauled documentation</li>
<li>Fast-path for primitives in MochiKit.Base.compare</li>
<li>New groupby and groupby_as_array in MochiKit.Iter</li>
<li>Added iterator factory adapter for objects that implement iterateNext()</li>
<li>Fixed isoTimestamp to handle timestamps with time zone correctly</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: SELECT, OPTION, OPTGROUP,
LEGEND, FIELDSET</li>
<li>New MochiKit.DOM formContents and enhancement to queryString to support it</li>
<li>Updated view_source example to use dp.SyntaxHighlighter 1.3.0</li>
<li>MochiKit.LoggingPane now uses named windows based on the URL so that
a given URL will get the same LoggingPane window after a reload
(at the same position, etc.)</li>
<li>MochiKit.DOM now has currentWindow() and currentDocument() context
variables that are set with withWindow() and withDocument(). These
context variables affect all MochiKit.DOM functionality (getElement,
createDOM, etc.)</li>
<li>MochiKit.Base.items will now catch and ignore exceptions for properties
that are enumerable but not accessible (e.g. permission denied)</li>
<li>MochiKit.Async.Deferred's addCallback/addErrback/addBoth
now accept additional arguments that are used to create a partially
applied function. This differs from Twisted in that the callback/errback
result becomes the <em>last</em> argument, not the first when this feature
is used.</li>
<li>MochiKit.Async's doSimpleXMLHttpRequest will now accept additional
arguments which are used to create a GET query string</li>
<li>Did some refactoring to reduce the footprint of MochiKit by a few
kilobytes</li>
<li>escapeHTML to longer escapes ' (apos) and now uses
String.replace instead of iterating over every char.</li>
<li>Added DeferredLock to Async</li>
<li>Renamed getElementsComputedStyle to computedStyle and moved
it from MochiKit.Visual to MochiKit.DOM</li>
<li>Moved all color support out of MochiKit.Visual and into MochiKit.Color</li>
<li>Fixed range() to accept a negative step</li>
<li>New alias to MochiKit.swapDOM called removeElement</li>
<li>New MochiKit.DOM.setNodeAttribute(node, attr, value) which sets
an attribute on a node without raising, roughly equivalent to:
updateNodeAttributes(node, {attr: value})</li>
<li>New MochiKit.DOM.getNodeAttribute(node, attr) which gets the value of
a node's attribute or returns null without raising</li>
<li>Fixed a potential IE memory leak if using MochiKit.DOM.addToCallStack
directly (addLoadEvent did not leak, since it clears the handler)</li>
</ul>
<p>2005-10-24 v1.0</p>
<ul class="simple">
<li>New interpreter example that shows usage of MochiKit.DOM to make
an interactive JavaScript interpreter</li>
<li>New MochiKit.LoggingPane for use with the MochiKit.Logging
debuggingBookmarklet, with logging_pane example to show its usage</li>
<li>New mochiregexp example that demonstrates MochiKit.DOM and MochiKit.Async
in order to provide a live regular expression matching tool</li>
<li>Added advanced number formatting capabilities to MochiKit.Format:
numberFormatter(pattern, placeholder=&quot;&quot;, locale=&quot;default&quot;) and
formatLocale(locale=&quot;default&quot;)</li>
<li>Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed
MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: BUTTON, TT, PRE</li>
<li>Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision)
to MochiKit.Format</li>
<li>MochiKit.DateTime can now handle full ISO 8601 timestamps, specifically
isoTimestamp(isoString) will convert them to Date objects, and
toISOTimestamp(date, true) will return an ISO 8601 timestamp in UTC</li>
<li>Fixed missing errback for sendXMLHttpRequest when the server does not
respond</li>
<li>Fixed infinite recusion bug when using roundClass(&quot;DIV&quot;, ...)</li>
<li>Fixed a bug in MochiKit.Async wait (and callLater) that prevented them
from being cancelled properly</li>
<li>Workaround in MochiKit.Base bind (and partial) for functions that don't
have an apply method, such as alert</li>
<li>Reliably return null from the string parsing/manipulation functions if
the input can't be coerced to a string (s + &quot;&quot;) or the input makes no sense;
e.g. isoTimestamp(null) and isoTimestamp(&quot;&quot;) return null</li>
</ul>
<p>2005-10-08 v0.90</p>
<ul class="simple">
<li>Fixed ISO compliance with toISODate</li>
<li>Added missing operator.sub</li>
<li>Placated Mozilla's strict warnings a bit</li>
<li>Added JSON serialization and unserialization support to MochiKit.Base:
serializeJSON, evalJSON, registerJSON. This is very similar to the repr
API.</li>
<li>Fixed a bug in the script loader that failed in some scenarios when a script
tag did not have a &quot;src&quot; attribute (thanks Ian!)</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: H1, H2, H3, BR, HR, TEXTAREA,
P, FORM</li>
<li>Use encodeURIComponent / decodeURIComponent for MochiKit.Base urlEncode
and parseQueryString, when available.</li>
</ul>
<p>2005-08-12 v0.80</p>
<ul class="simple">
<li>Source highlighting in all examples, moved to a view-source example</li>
<li>Added some experimental syntax highlighting for the Rounded Corners example,
via the LGPL dp.SyntaxHighlighter 1.2.0 now included in examples/common/lib</li>
<li>Use an indirect binding for the logger conveniences, so that the global
logger could be replaced by setting MochiKit.Logger.logger to something else
(though an observer is probably a better choice).</li>
<li>Allow MochiKit.DOM.getElementsByTagAndClassName to take a string for parent,
which will be looked up with getElement</li>
<li>Fixed bug in MochiKit.Color.fromBackground (was using node.parent instead of
node.parentNode)</li>
<li>Consider a 304 (NOT_MODIFIED) response from XMLHttpRequest to be success</li>
<li>Disabled Mozilla map(...) fast-path due to Deer Park compatibility issues</li>
<li>Possible workaround for Safari issue with swapDOM, where it would get
confused because two elements were in the DOM at the same time with the
same id</li>
<li>Added missing THEAD convenience function to MochiKit.DOM</li>
<li>Added lstrip, rstrip, strip to MochiKit.Format</li>
<li>Added updateNodeAttributes, appendChildNodes, replaceChildNodes to
MochiKit.DOM</li>
<li>MochiKit.Iter.iextend now has a fast-path for array-like objects</li>
<li>Added HSV color space support to MochiKit.Visual</li>
<li>Fixed a bug in the sortable_tables example, it now converts types
correctly</li>
<li>Fixed a bug where MochiKit.DOM referenced MochiKit.Iter.next from global
scope</li>
</ul>
<p>2005-08-04 v0.70</p>
<ul class="simple">
<li>New ajax_tables example, which shows off XMLHttpRequest, ajax, json, and
a little TAL-ish DOM templating attribute language.</li>
<li>sendXMLHttpRequest and functions that use it (loadJSONDoc, etc.) no longer
ignore requests with status == 0, which seems to happen for cached or local
requests</li>
<li>Added sendXMLHttpRequest to MochiKit.Async.EXPORT, d'oh.</li>
<li>Changed scrapeText API to return a string by default. This is API-breaking!
It was dumb to have the default return value be the form you almost never
want. Sorry.</li>
<li>Added special form to swapDOM(dest, src). If src is null, dest is removed
(where previously you'd likely get a DOM exception).</li>
<li>Added three new functions to MochiKit.Base for dealing with URL query
strings: urlEncode, queryString, parseQueryString</li>
<li>MochiKit.DOM.createDOM will now use attr[k] = v for all browsers if the name
starts with &quot;on&quot; (e.g. &quot;onclick&quot;). If v is a string, it will set it to
new Function(v).</li>
<li>Another workaround for Internet &quot;worst browser ever&quot; Explorer's setAttribute
usage in MochiKit.DOM.createDOM (checked -&gt; defaultChecked).</li>
<li>Added UL, OL, LI convenience createDOM aliases to MochiKit.DOM</li>
<li>Packing is now done by Dojo's custom Rhino interpreter, so it's much smaller
now!</li>
</ul>
<p>2005-07-29 v0.60</p>
<ul class="simple">
<li>Beefed up the MochiKit.DOM test suite</li>
<li>Fixed return value for MochiKit.DOM.swapElementClass, could return
false unexpectedly before</li>
<li>Added an optional &quot;parent&quot; argument to
MochiKit.DOM.getElementsByTagAndClassName</li>
<li>Added a &quot;packed&quot; version in packed/lib/MochiKit/MochiKit.js</li>
<li>Changed build script to rewrite the URLs in tests to account for the
JSAN-required reorganization</li>
<li>MochiKit.Compat to potentially work around IE 5.5 issues
(5.0 still not supported). Test.Simple doesn't seem to work there,
though.</li>
<li>Several minor documentation corrections</li>
</ul>
<p>2005-07-27 v0.50</p>
<ul class="simple">
<li>Initial Release</li>
</ul>
</div>
</body>
</html>

View File

@@ -1,162 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit.Visual - visual effects</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="name" name="name">Name</a></h1>
<p>MochiKit.Visual - visual effects</p>
</div>
<div class="section">
<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
<pre class="literal-block">
// round the corners of all h1 elements
roundClass(&quot;h1&quot;, null);
// round the top left corner of the element with the id &quot;title&quot;
roundElement(&quot;title&quot;, {corners: &quot;tl&quot;});
</pre>
</div>
<div class="section">
<h1><a id="description" name="description">Description</a></h1>
<p>MochiKit.Visual provides visual effects and support functions for visuals.</p>
</div>
<div class="section">
<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
<ul class="simple">
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
<li><a class="mochiref reference" href="Iter.html">MochiKit.Iter</a></li>
<li><a class="mochiref reference" href="DOM.html">MochiKit.DOM</a></li>
<li><a class="mochiref reference" href="Color.html">MochiKit.Color</a></li>
</ul>
</div>
<div class="section">
<h1><a id="overview" name="overview">Overview</a></h1>
<p>At this time, MochiKit.Visual provides one visual effect: rounded corners
for your HTML elements. These rounded corners are created completely
through CSS manipulations and require no external images or style sheets.
This implementation was adapted from <a class="reference" href="http://www.openrico.org">Rico</a>.</p>
</div>
<div class="section">
<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
<div class="section">
<h2><a id="functions" name="functions">Functions</a></h2>
<p>
<a name="fn-roundclass"></a>
<a class="mochidef reference" href="#fn-roundclass">roundClass(tagName[, className[, options]])</a>:</p>
<blockquote>
Rounds all of the elements that match the <tt class="docutils literal"><span class="pre">tagName</span></tt> and <tt class="docutils literal"><span class="pre">className</span></tt>
specifiers, using the options provided. <tt class="docutils literal"><span class="pre">tagName</span></tt> or <tt class="docutils literal"><span class="pre">className</span></tt> can
be <tt class="docutils literal"><span class="pre">null</span></tt> to match all tags or classes. For more information about
the options, see the <a class="mochiref reference" href="#fn-roundelement">roundElement</a> function.</blockquote>
<p>
<a name="fn-roundelement"></a>
<a class="mochidef reference" href="#fn-roundelement">roundElement(element[, options])</a>:</p>
<blockquote>
<p>Immediately round the corners of the specified element.
The element can be given as either a string
with the element ID, or as an element object.</p>
<p>The options mapping has the following defaults:</p>
<table border="1" class="docutils">
<colgroup>
<col width="35%" />
<col width="65%" />
</colgroup>
<tbody valign="top">
<tr><td>corners</td>
<td><tt class="docutils literal"><span class="pre">&quot;all&quot;</span></tt></td>
</tr>
<tr><td>color</td>
<td><tt class="docutils literal"><span class="pre">&quot;fromElement&quot;</span></tt></td>
</tr>
<tr><td>bgColor</td>
<td><tt class="docutils literal"><span class="pre">&quot;fromParent&quot;</span></tt></td>
</tr>
<tr><td>blend</td>
<td><tt class="docutils literal"><span class="pre">true</span></tt></td>
</tr>
<tr><td>border</td>
<td><tt class="docutils literal"><span class="pre">false</span></tt></td>
</tr>
<tr><td>compact</td>
<td><tt class="docutils literal"><span class="pre">false</span></tt></td>
</tr>
</tbody>
</table>
<p>corners:</p>
<blockquote>
<p>specifies which corners of the element should be rounded.
Choices are:</p>
<ul class="simple">
<li>all</li>
<li>top</li>
<li>bottom</li>
<li>tl (top left)</li>
<li>bl (bottom left)</li>
<li>tr (top right)</li>
<li>br (bottom right)</li>
</ul>
<dl class="docutils">
<dt>Example:</dt>
<dd><tt class="docutils literal"><span class="pre">&quot;tl</span> <span class="pre">br&quot;</span></tt>: top-left and bottom-right corners are rounded</dd>
</dl>
</blockquote>
<dl class="docutils">
<dt>blend:</dt>
<dd>specifies whether the color and background color should be blended
together to produce the border color.</dd>
</dl>
</blockquote>
</div>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<table class="docutils footnote" frame="void" id="id1" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id1">[1]</a></td><td>Application Kit Reference - NSColor: <a class="reference" href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html">http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id2">[2]</a></td><td>SVG 1.0 color keywords: <a class="reference" href="http://www.w3.org/TR/SVG/types.html#ColorKeywords">http://www.w3.org/TR/SVG/types.html#ColorKeywords</a></td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="id3" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a name="id3">[3]</a></td><td>W3C CSS3 Color Module: <a class="reference" href="http://www.w3.org/TR/css3-color/#svg-color">http://www.w3.org/TR/css3-color/#svg-color</a></td></tr>
</tbody>
</table>
</div>
<div class="section">
<h1><a id="authors" name="authors">Authors</a></h1>
<ul class="simple">
<li>Kevin Dangoor &lt;<a class="reference" href="mailto:dangoor&#64;gmail.com">dangoor&#64;gmail.com</a>&gt;</li>
<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
<li>Originally adapted from Rico &lt;<a class="reference" href="http://openrico.org/">http://openrico.org/</a>&gt; (though little remains)</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
<p>Portions adapted from <a class="reference" href="http://www.openrico.org">Rico</a> are available under the terms of the
<a class="reference" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License, Version 2.0</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,319 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>MochiKit Documentation Index</title>
<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
<script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="../../js/toc.js"></script>
</head>
<body>
<div class="document">
<div class="section">
<h1><a id="distribution" name="distribution">Distribution</a></h1>
<p>MochiKit - makes JavaScript suck a bit less</p>
<ul class="simple">
<li><a class="mochiref reference" href="Async.html">MochiKit.Async</a> - manage asynchronous tasks</li>
<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a> - functional programming and useful comparisons</li>
<li><a class="mochiref reference" href="DOM.html">MochiKit.DOM</a> - painless DOM manipulation API</li>
<li><a class="mochiref reference" href="Color.html">MochiKit.Color</a> - color abstraction with CSS3 support</li>
<li><a class="mochiref reference" href="DateTime.html">MochiKit.DateTime</a> - &quot;what time is it anyway?&quot;</li>
<li><a class="mochiref reference" href="Format.html">MochiKit.Format</a> - string formatting goes here</li>
<li><a class="mochiref reference" href="Iter.html">MochiKit.Iter</a> - itertools for JavaScript; iteration made HARD,
and then easy</li>
<li><a class="mochiref reference" href="Logging.html">MochiKit.Logging</a> - we're all tired of <tt class="docutils literal"><span class="pre">alert()</span></tt></li>
<li><a class="mochiref reference" href="LoggingPane.html">MochiKit.LoggingPane</a> - interactive <a class="mochiref reference" href="Logging.html">MochiKit.Logging</a>
pane</li>
<li><a class="mochiref reference" href="Signal.html">MochiKit.Signal</a> - simple universal event handling</li>
<li><a class="mochiref reference" href="Visual.html">MochiKit.Visual</a> - visual effects</li>
</ul>
</div>
<div class="section">
<h1><a id="notes" name="notes">Notes</a></h1>
<p>To turn on MochiKit's compatibility mode, do this before loading MochiKit:</p>
<pre class="literal-block">
&lt;script type=&quot;text/javascript&quot;&gt;MochiKit = {__compat__: true};&lt;/script&gt;
</pre>
<p>When compatibility mode is on, you must use fully qualified names for all
MochiKit functions (e.g. <tt class="docutils literal"><span class="pre">MochiKit.Base.map(...)</span></tt>).</p>
</div>
<div class="section">
<h1><a id="screencasts" name="screencasts">Screencasts</a></h1>
<ul class="simple">
<li><a class="reference" href="http://mochikit.com/screencasts/MochiKit_Intro-1">MochiKit 1.1 Intro</a></li>
</ul>
</div>
<div class="section">
<h1><a id="see-also" name="see-also">See Also</a></h1>
<ul class="simple">
<li><a class="reference" href="http://groups.google.com/group/mochikit">Google Groups: MochiKit</a>: The official mailing list for discussions
related to development of and with MochiKit</li>
<li><a class="reference" href="http://mochikit.com/">mochikit.com</a>: MochiKit's home on the web</li>
<li><a class="reference" href="http://bob.pythonmac.org/">from __future__ import *</a>: Bob Ippolito's blog</li>
<li><a class="reference" href="http://openjsan.org/doc/b/bo/bob/lib/MochiKit/">MochiKit on JSAN</a>: the JSAN distribution page for MochiKit</li>
<li><a class="reference" href="http://del.icio.us/tag/mochikit">MochiKit tag on del.icio.us</a>: Recent bookmarks related to MochiKit</li>
<li><a class="reference" href="http://technorati.com/tag/mochikit">MochiKit tag on Technorati</a>: Recent blog entries related to MochiKit</li>
</ul>
</div>
<div class="section">
<h1><a id="version-history" name="version-history">Version History</a></h1>
<p>2006-04-29 v1.3.1 (bug fix release)</p>
<ul class="simple">
<li>Fix sendXMLHttpRequest sendContent regression</li>
<li>Internet Explorer fix in MochiKit.Logging (printfire exception)</li>
<li>Internet Explorer XMLHttpRequest object leak fixed in MochiKit.Async</li>
</ul>
<p>2006-04-26 v1.3 &quot;warp zone&quot;</p>
<ul class="simple">
<li>IMPORTANT: Renamed MochiKit.Base.forward to forwardCall (for export)</li>
<li>IMPORTANT: Renamed MochiKit.Base.find to findValue (for export)</li>
<li>New MochiKit.Base.method as a convenience form of bind that takes the
object before the method</li>
<li>New MochiKit.Base.flattenArguments for flattening a list of arguments to
a single Array</li>
<li>Refactored MochiRegExp example to use MochiKit.Signal</li>
<li>New key_events example demonstrating use of MochiKit.Signal's key handling
capabilities.</li>
<li>MochiKit.DOM.createDOM API change for convenience: if attrs is a string,
null is used and the string will be considered the first node. This
allows for the more natural P(&quot;foo&quot;) rather than P(null, &quot;foo&quot;).</li>
<li>MochiKit Interpreter example refactored to use MochiKit.Signal and now
provides multi-line input and a help() function to get MochiKit function
signature from the documentation.</li>
<li>Native Console Logging for the default MochiKit.Logging logger</li>
<li>New MochiKit.Async.DeferredList, gatherResults, maybeDeferred</li>
<li>New MochiKit.Signal example: draggable</li>
<li>Added sanity checking to Deferred to ensure that errors happen when chaining
is used incorrectly</li>
<li>Opera sendXMLHttpRequest fix (sends empty string instead of null by default)</li>
<li>Fix a bug in MochiKit.Color that incorrectly generated hex colors for
component values smaller than 16/255.</li>
<li>Fix a bug in MochiKit.Logging that prevented logs from being capped at a
maximum size</li>
<li>MochiKit.Async.Deferred will now wrap thrown objects that are not instanceof
Error, so that the errback chain is used instead of the callback chain.</li>
<li>MochiKit.DOM.appendChildNodes and associated functions now append iterables
in the correct order.</li>
<li>New MochiKit-based SimpleTest test runner as a replacement for Test.Simple</li>
<li>MochiKit.Base.isNull no longer matches undefined</li>
<li>example doctypes changed to HTML4</li>
<li>isDateLike no longer throws error on null</li>
<li>New MochiKit.Signal module, modeled after the slot/signal mechanism in Qt</li>
<li>updated elementDimensions to calculate width from offsetWidth instead
of clientWidth</li>
<li>formContents now works with FORM tags that have a name attribute</li>
<li>Documentation now uses MochiKit to generate a function index</li>
</ul>
<p>2006-01-26 v1.2 &quot;the ocho&quot;</p>
<ul class="simple">
<li>Fixed MochiKit.Color.Color.lighterColorWithLevel</li>
<li>Added new MochiKit.Base.findIdentical function to find the index of an
element in an Array-like object. Uses === for identity comparison.</li>
<li>Added new MochiKit.Base.find function to find the index of an element in
an Array-like object. Uses compare for rich comparison.</li>
<li>MochiKit.Base.bind will accept a string for func, which will be immediately
looked up as self[func].</li>
<li>MochiKit.DOM.formContents no longer skips empty form elements for Zope
compatibility</li>
<li>MochiKit.Iter.forEach will now catch StopIteration to break</li>
<li>New MochiKit.DOM.elementDimensions(element) for determining the width and
height of an element in the document</li>
<li>MochiKit.DOM's initialization is now compatible with
HTMLUnit + JWebUnit + Rhino</li>
<li>MochiKit.LoggingPane will now re-use a <tt class="docutils literal"><span class="pre">_MochiKit_LoggingPane</span></tt> DIV element
currently in the document instead of always creating one.</li>
<li>MochiKit.Base now has operator.mul</li>
<li>MochiKit.DOM.formContents correctly handles unchecked checkboxes that have
a custom value attribute</li>
<li>Added new MochiKit.Color constructors fromComputedStyle and fromText</li>
<li>MochiKit.DOM.setNodeAttribute should work now</li>
<li>MochiKit.DOM now has a workaround for an IE bug when setting the style
property to a string</li>
<li>MochiKit.DOM.createDOM now has workarounds for IE bugs when setting the
name and for properties</li>
<li>MochiKit.DOM.scrapeText now walks the DOM tree in-order</li>
<li>MochiKit.LoggingPane now sanitizes the window name to work around IE bug</li>
<li>MochiKit.DOM now translates usemap to useMap to work around IE bug</li>
<li>MochiKit.Logging is now resistant to Prototype's dumb Object.prototype hacks</li>
<li>Added new MochiKit.DOM documentation on element visibility</li>
<li>New MochiKit.DOM.elementPosition(element[, relativeTo={x: 0, y: 0}])
for determining the position of an element in the document</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: CANVAS, STRONG</li>
</ul>
<p>2005-11-14 v1.1</p>
<ul class="simple">
<li>Fixed a bug in numberFormatter with large numbers</li>
<li>Massively overhauled documentation</li>
<li>Fast-path for primitives in MochiKit.Base.compare</li>
<li>New groupby and groupby_as_array in MochiKit.Iter</li>
<li>Added iterator factory adapter for objects that implement iterateNext()</li>
<li>Fixed isoTimestamp to handle timestamps with time zone correctly</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: SELECT, OPTION, OPTGROUP,
LEGEND, FIELDSET</li>
<li>New MochiKit.DOM formContents and enhancement to queryString to support it</li>
<li>Updated view_source example to use dp.SyntaxHighlighter 1.3.0</li>
<li>MochiKit.LoggingPane now uses named windows based on the URL so that
a given URL will get the same LoggingPane window after a reload
(at the same position, etc.)</li>
<li>MochiKit.DOM now has currentWindow() and currentDocument() context
variables that are set with withWindow() and withDocument(). These
context variables affect all MochiKit.DOM functionality (getElement,
createDOM, etc.)</li>
<li>MochiKit.Base.items will now catch and ignore exceptions for properties
that are enumerable but not accessible (e.g. permission denied)</li>
<li>MochiKit.Async.Deferred's addCallback/addErrback/addBoth
now accept additional arguments that are used to create a partially
applied function. This differs from Twisted in that the callback/errback
result becomes the <em>last</em> argument, not the first when this feature
is used.</li>
<li>MochiKit.Async's doSimpleXMLHttpRequest will now accept additional
arguments which are used to create a GET query string</li>
<li>Did some refactoring to reduce the footprint of MochiKit by a few
kilobytes</li>
<li>escapeHTML to longer escapes ' (apos) and now uses
String.replace instead of iterating over every char.</li>
<li>Added DeferredLock to Async</li>
<li>Renamed getElementsComputedStyle to computedStyle and moved
it from MochiKit.Visual to MochiKit.DOM</li>
<li>Moved all color support out of MochiKit.Visual and into MochiKit.Color</li>
<li>Fixed range() to accept a negative step</li>
<li>New alias to MochiKit.swapDOM called removeElement</li>
<li>New MochiKit.DOM.setNodeAttribute(node, attr, value) which sets
an attribute on a node without raising, roughly equivalent to:
updateNodeAttributes(node, {attr: value})</li>
<li>New MochiKit.DOM.getNodeAttribute(node, attr) which gets the value of
a node's attribute or returns null without raising</li>
<li>Fixed a potential IE memory leak if using MochiKit.DOM.addToCallStack
directly (addLoadEvent did not leak, since it clears the handler)</li>
</ul>
<p>2005-10-24 v1.0</p>
<ul class="simple">
<li>New interpreter example that shows usage of MochiKit.DOM to make
an interactive JavaScript interpreter</li>
<li>New MochiKit.LoggingPane for use with the MochiKit.Logging
debuggingBookmarklet, with logging_pane example to show its usage</li>
<li>New mochiregexp example that demonstrates MochiKit.DOM and MochiKit.Async
in order to provide a live regular expression matching tool</li>
<li>Added advanced number formatting capabilities to MochiKit.Format:
numberFormatter(pattern, placeholder=&quot;&quot;, locale=&quot;default&quot;) and
formatLocale(locale=&quot;default&quot;)</li>
<li>Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed
MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: BUTTON, TT, PRE</li>
<li>Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision)
to MochiKit.Format</li>
<li>MochiKit.DateTime can now handle full ISO 8601 timestamps, specifically
isoTimestamp(isoString) will convert them to Date objects, and
toISOTimestamp(date, true) will return an ISO 8601 timestamp in UTC</li>
<li>Fixed missing errback for sendXMLHttpRequest when the server does not
respond</li>
<li>Fixed infinite recusion bug when using roundClass(&quot;DIV&quot;, ...)</li>
<li>Fixed a bug in MochiKit.Async wait (and callLater) that prevented them
from being cancelled properly</li>
<li>Workaround in MochiKit.Base bind (and partial) for functions that don't
have an apply method, such as alert</li>
<li>Reliably return null from the string parsing/manipulation functions if
the input can't be coerced to a string (s + &quot;&quot;) or the input makes no sense;
e.g. isoTimestamp(null) and isoTimestamp(&quot;&quot;) return null</li>
</ul>
<p>2005-10-08 v0.90</p>
<ul class="simple">
<li>Fixed ISO compliance with toISODate</li>
<li>Added missing operator.sub</li>
<li>Placated Mozilla's strict warnings a bit</li>
<li>Added JSON serialization and unserialization support to MochiKit.Base:
serializeJSON, evalJSON, registerJSON. This is very similar to the repr
API.</li>
<li>Fixed a bug in the script loader that failed in some scenarios when a script
tag did not have a &quot;src&quot; attribute (thanks Ian!)</li>
<li>Added new MochiKit.DOM createDOMFunc aliases: H1, H2, H3, BR, HR, TEXTAREA,
P, FORM</li>
<li>Use encodeURIComponent / decodeURIComponent for MochiKit.Base urlEncode
and parseQueryString, when available.</li>
</ul>
<p>2005-08-12 v0.80</p>
<ul class="simple">
<li>Source highlighting in all examples, moved to a view-source example</li>
<li>Added some experimental syntax highlighting for the Rounded Corners example,
via the LGPL dp.SyntaxHighlighter 1.2.0 now included in examples/common/lib</li>
<li>Use an indirect binding for the logger conveniences, so that the global
logger could be replaced by setting MochiKit.Logger.logger to something else
(though an observer is probably a better choice).</li>
<li>Allow MochiKit.DOM.getElementsByTagAndClassName to take a string for parent,
which will be looked up with getElement</li>
<li>Fixed bug in MochiKit.Color.fromBackground (was using node.parent instead of
node.parentNode)</li>
<li>Consider a 304 (NOT_MODIFIED) response from XMLHttpRequest to be success</li>
<li>Disabled Mozilla map(...) fast-path due to Deer Park compatibility issues</li>
<li>Possible workaround for Safari issue with swapDOM, where it would get
confused because two elements were in the DOM at the same time with the
same id</li>
<li>Added missing THEAD convenience function to MochiKit.DOM</li>
<li>Added lstrip, rstrip, strip to MochiKit.Format</li>
<li>Added updateNodeAttributes, appendChildNodes, replaceChildNodes to
MochiKit.DOM</li>
<li>MochiKit.Iter.iextend now has a fast-path for array-like objects</li>
<li>Added HSV color space support to MochiKit.Visual</li>
<li>Fixed a bug in the sortable_tables example, it now converts types
correctly</li>
<li>Fixed a bug where MochiKit.DOM referenced MochiKit.Iter.next from global
scope</li>
</ul>
<p>2005-08-04 v0.70</p>
<ul class="simple">
<li>New ajax_tables example, which shows off XMLHttpRequest, ajax, json, and
a little TAL-ish DOM templating attribute language.</li>
<li>sendXMLHttpRequest and functions that use it (loadJSONDoc, etc.) no longer
ignore requests with status == 0, which seems to happen for cached or local
requests</li>
<li>Added sendXMLHttpRequest to MochiKit.Async.EXPORT, d'oh.</li>
<li>Changed scrapeText API to return a string by default. This is API-breaking!
It was dumb to have the default return value be the form you almost never
want. Sorry.</li>
<li>Added special form to swapDOM(dest, src). If src is null, dest is removed
(where previously you'd likely get a DOM exception).</li>
<li>Added three new functions to MochiKit.Base for dealing with URL query
strings: urlEncode, queryString, parseQueryString</li>
<li>MochiKit.DOM.createDOM will now use attr[k] = v for all browsers if the name
starts with &quot;on&quot; (e.g. &quot;onclick&quot;). If v is a string, it will set it to
new Function(v).</li>
<li>Another workaround for Internet &quot;worst browser ever&quot; Explorer's setAttribute
usage in MochiKit.DOM.createDOM (checked -&gt; defaultChecked).</li>
<li>Added UL, OL, LI convenience createDOM aliases to MochiKit.DOM</li>
<li>Packing is now done by Dojo's custom Rhino interpreter, so it's much smaller
now!</li>
</ul>
<p>2005-07-29 v0.60</p>
<ul class="simple">
<li>Beefed up the MochiKit.DOM test suite</li>
<li>Fixed return value for MochiKit.DOM.swapElementClass, could return
false unexpectedly before</li>
<li>Added an optional &quot;parent&quot; argument to
MochiKit.DOM.getElementsByTagAndClassName</li>
<li>Added a &quot;packed&quot; version in packed/lib/MochiKit/MochiKit.js</li>
<li>Changed build script to rewrite the URLs in tests to account for the
JSAN-required reorganization</li>
<li>MochiKit.Compat to potentially work around IE 5.5 issues
(5.0 still not supported). Test.Simple doesn't seem to work there,
though.</li>
<li>Several minor documentation corrections</li>
</ul>
<p>2005-07-27 v0.50</p>
<ul class="simple">
<li>Initial Release</li>
</ul>
</div>
<div class="section">
<h1><a id="copyright" name="copyright">Copyright</a></h1>
<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
<a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License v2.1</a>.</p>
</div>
</div>
</body>
</html>

View File

@@ -1,89 +0,0 @@
function function_ref(fn) {
return A({"href": fn[1], "class": "mochiref reference"}, fn[0], BR());
};
function toggle_docs() {
toggleElementClass("invisible", "show_index", "function_index");
return false;
};
function create_toc() {
if (getElement("distribution")) {
return global_index();
}
if (getElement("api-reference")) {
return module_index();
}
};
function doXHTMLRequest(url) {
var req = getXMLHttpRequest();
if (req.overrideMimeType) {
req.overrideMimeType("text/xml");
}
req.open("GET", url, true);
return sendXMLHttpRequest(req).addCallback(function (res) {
return res.responseXML.documentElement;
});
};
function load_request(href, div, doc) {
var functions = withDocument(doc, spider_doc);
forEach(functions, function (func) {
// fix anchors
if (func[1].charAt(0) == "#") {
func[1] = href + func[1];
}
});
var showLink = A({"class": "force-pointer"}, "[+]");
var hideLink = A({"class": "force-pointer"}, "[\u2013]");
var functionIndex = DIV({"id": "function_index", "class": "invisible"},
hideLink,
P(null, map(function_ref, functions))
);
var toggleFunc = function (e) {
toggleElementClass("invisible", showLink, functionIndex);
};
connect(showLink, "onclick", toggleFunc);
connect(hideLink, "onclick", toggleFunc);
replaceChildNodes(div,
showLink,
functionIndex
);
};
function global_index() {
var distList = getElementsByTagAndClassName("ul")[0];
var bullets = getElementsByTagAndClassName("li", null, distList);
for (var i = 0; i < bullets.length; i++) {
var tag = bullets[i];
var firstLink = getElementsByTagAndClassName("a", "mochiref", tag)[0];
var href = getNodeAttribute(firstLink, "href");
var div = DIV(null, "[\u2026]");
appendChildNodes(tag, BR(), div);
var d = doXHTMLRequest(href).addCallback(load_request, href, div);
}
};
function spider_doc() {
return map(
function (tag) {
return [scrapeText(tag), getNodeAttribute(tag, "href")];
},
getElementsByTagAndClassName("a", "mochidef")
);
};
function module_index() {
var sections = getElementsByTagAndClassName("div", "section");
var ptr = sections[1];
var ref = DIV({"class": "section"},
H1(null, "Function Index"),
A({"id": "show_index", "href": "#", "onclick": toggle_docs}, "[show]"),
DIV({"id": "function_index", "class": "invisible"},
A({"href":"#", "onclick": toggle_docs}, "[hide]"),
P(null, map(function_ref, spider_doc()))));
ptr.parentNode.insertBefore(ref, ptr);
};
addLoadEvent(create_toc);

View File

@@ -1,573 +0,0 @@
.. title:: MochiKit.Async - manage asynchronous tasks
Name
====
MochiKit.Async - manage asynchronous tasks
Synopsis
========
::
var url = "/src/b/bo/bob/MochiKit.Async/META.json";
/*
META.json looks something like this:
{"name": "MochiKit", "version": "0.5"}
*/
var d = loadJSONDoc(url);
var gotMetadata = function (meta) {
if (MochiKit.Async.VERSION == meta.version) {
alert("You have the newest MochiKit.Async!");
} else {
alert("MochiKit.Async "
+ meta.version
+ " is available, upgrade!");
}
};
var metadataFetchFailed = function (err) {
alert("The metadata for MochiKit.Async could not be fetched :(");
};
d.addCallbacks(gotMetadata, metadataFetchFailed);
Description
===========
MochiKit.Async provides facilities to manage asynchronous
(as in AJAX [1]_) tasks. The model for asynchronous computation
used in this module is heavily inspired by Twisted [2]_.
Dependencies
============
- :mochiref:`MochiKit.Base`
Overview
========
Deferred
--------
The Deferred constructor encapsulates a single value that
is not available yet. The most important example of this
in the context of a web browser would be an ``XMLHttpRequest``
to a server. The importance of the Deferred is that it
allows a consistent API to be exposed for all asynchronous
computations that occur exactly once.
The producer of the Deferred is responsible for doing all
of the complicated work behind the scenes. This often
means waiting for a timer to fire, or waiting for an event
(e.g. ``onreadystatechange`` of ``XMLHttpRequest``).
It could also be coordinating several events (e.g.
``XMLHttpRequest`` with a timeout, or several Deferreds
(e.g. fetching a set of XML documents that should be
processed at the same time).
Since these sorts of tasks do not respond immediately, the
producer of the Deferred does the following steps before
returning to the consumer:
1. Create a ``new`` :mochiref:`Deferred();` object and keep a reference
to it, because it will be needed later when the value is
ready.
2. Setup the conditions to create the value requested (e.g.
create a new ``XMLHttpRequest``, set its
``onreadystatechange``).
3. Return the :mochiref:`Deferred` object.
Since the value is not yet ready, the consumer attaches
a function to the Deferred that will be called when the
value is ready. This is not unlike ``setTimeout``, or
other similar facilities you may already be familiar with.
The consumer can also attach an "errback" to the
:mochiref:`Deferred`, which is a callback for error handling.
When the value is ready, the producer simply calls
``myDeferred.callback(theValue)``. If an error occurred,
it should call ``myDeferred.errback(theValue)`` instead.
As soon as this happens, the callback that the consumer
attached to the :mochiref:`Deferred` is called with ``theValue``
as the only argument.
There are quite a few additional "advanced" features
baked into :mochiref:`Deferred`, such as cancellation and
callback chains, so take a look at the API
reference if you would like to know more!
API Reference
=============
Errors
------
:mochidef:`AlreadyCalledError`:
Thrown by a :mochiref:`Deferred` if ``.callback`` or
``.errback`` are called more than once.
:mochidef:`BrowserComplianceError`:
Thrown when the JavaScript runtime is not capable of performing
the given function. Currently, this happens if the browser
does not support ``XMLHttpRequest``.
:mochidef:`CancelledError`:
Thrown by a :mochiref:`Deferred` when it is cancelled,
unless a canceller is present and throws something else.
:mochidef:`GenericError`:
Results passed to ``.fail`` or ``.errback`` of a :mochiref:`Deferred`
are wrapped by this ``Error`` if ``!(result instanceof Error)``.
:mochidef:`XMLHttpRequestError`:
Thrown when an ``XMLHttpRequest`` does not complete successfully
for any reason. The ``req`` property of the error is the failed
``XMLHttpRequest`` object, and for convenience the ``number``
property corresponds to ``req.status``.
Constructors
------------
:mochidef:`Deferred()`:
Encapsulates a sequence of callbacks in response to a value that
may not yet be available. This is modeled after the Deferred class
from Twisted [3]_.
.. _`Twisted`: http://twistedmatrix.com/
Why do we want this? JavaScript has no threads, and even if it did,
threads are hard. Deferreds are a way of abstracting non-blocking
events, such as the final response to an ``XMLHttpRequest``.
The sequence of callbacks is internally represented as a list
of 2-tuples containing the callback/errback pair. For example,
the following call sequence::
var d = new Deferred();
d.addCallback(myCallback);
d.addErrback(myErrback);
d.addBoth(myBoth);
d.addCallbacks(myCallback, myErrback);
is translated into a :mochiref:`Deferred` with the following internal
representation::
[
[myCallback, null],
[null, myErrback],
[myBoth, myBoth],
[myCallback, myErrback]
]
The :mochiref:`Deferred` also keeps track of its current status (fired).
Its status may be one of the following three values:
===== ================================
Value Condition
===== ================================
-1 no value yet (initial condition)
0 success
1 error
===== ================================
A :mochiref:`Deferred` will be in the error state if one of the following
conditions are met:
1. The result given to callback or errback is "``instanceof Error``"
2. The callback or errback threw while executing. If the thrown object
is not ``instanceof Error``, it will be wrapped with
:mochiref:`GenericError`.
Otherwise, the :mochiref:`Deferred` will be in the success state. The state
of the :mochiref:`Deferred` determines the next element in the callback
sequence to run.
When a callback or errback occurs with the example deferred chain, something
equivalent to the following will happen (imagine that exceptions are caught
and returned as-is)::
// d.callback(result) or d.errback(result)
if (!(result instanceof Error)) {
result = myCallback(result);
}
if (result instanceof Error) {
result = myErrback(result);
}
result = myBoth(result);
if (result instanceof Error) {
result = myErrback(result);
} else {
result = myCallback(result);
}
The result is then stored away in case another step is added to the
callback sequence. Since the :mochiref:`Deferred` already has a value
available, any new callbacks added will be called immediately.
There are two other "advanced" details about this implementation that are
useful:
Callbacks are allowed to return :mochiref:`Deferred` instances,
so you can build complicated sequences of events with (relative) ease.
The creator of the :mochiref:`Deferred` may specify a canceller. The
canceller is a function that will be called if
:mochiref:`Deferred.prototype.cancel` is called before the
:mochiref:`Deferred` fires. You can use this to allow an
``XMLHttpRequest`` to be cleanly cancelled, for example. Note that
cancel will fire the :mochiref:`Deferred` with a
:mochiref:`CancelledError` (unless your canceller throws or returns
a different ``Error``), so errbacks should be prepared to handle that
``Error`` gracefully for cancellable :mochiref:`Deferred` instances.
:mochidef:`Deferred.prototype.addBoth(func)`:
Add the same function as both a callback and an errback as the
next element on the callback sequence. This is useful for code
that you want to guarantee to run, e.g. a finalizer.
If additional arguments are given, then ``func`` will be replaced
with :mochiref:`MochiKit.Base.partial.apply(null, arguments)`. This
differs from `Twisted`_, because the result of the callback or
errback will be the *last* argument passed to ``func``.
If ``func`` returns a :mochiref:`Deferred`, then it will be chained
(its value or error will be passed to the next callback). Note that
once the returned ``Deferred`` is chained, it can no longer accept new
callbacks.
:mochidef:`Deferred.prototype.addCallback(func[, ...])`:
Add a single callback to the end of the callback sequence.
If additional arguments are given, then ``func`` will be replaced
with :mochiref:`MochiKit.Base.partial.apply(null, arguments)`. This
differs from `Twisted`_, because the result of the callback will
be the *last* argument passed to ``func``.
If ``func`` returns a :mochiref:`Deferred`, then it will be chained
(its value or error will be passed to the next callback). Note that
once the returned ``Deferred`` is chained, it can no longer accept new
callbacks.
:mochidef:`Deferred.prototype.addCallbacks(callback, errback)`:
Add separate callback and errback to the end of the callback
sequence. Either callback or errback may be ``null``,
but not both.
If ``callback`` or ``errback`` returns a :mochiref:`Deferred`,
then it will be chained (its value or error will be passed to the
next callback). Note that once the returned ``Deferred`` is chained,
it can no longer accept new callbacks.
:mochidef:`Deferred.prototype.addErrback(func)`:
Add a single errback to the end of the callback sequence.
If additional arguments are given, then ``func`` will be replaced
with :mochiref:`MochiKit.Base.partial.apply(null, arguments)`. This
differs from `Twisted`_, because the result of the errback will
be the *last* argument passed to ``func``.
If ``func`` returns a :mochiref:`Deferred`, then it will be chained
(its value or error will be passed to the next callback). Note that
once the returned ``Deferred`` is chained, it can no longer accept new
callbacks.
:mochidef:`Deferred.prototype.callback([result])`:
Begin the callback sequence with a non-``Error`` result. Result
may be any value except for a :mochiref:`Deferred`.
Either ``.callback`` or ``.errback`` should
be called exactly once on a :mochiref:`Deferred`.
:mochidef:`Deferred.prototype.cancel()`:
Cancels a :mochiref:`Deferred` that has not yet received a value,
or is waiting on another :mochiref:`Deferred` as its value.
If a canceller is defined, the canceller is called.
If the canceller did not return an ``Error``, or there
was no canceller, then the errback chain is started
with :mochiref:`CancelledError`.
:mochidef:`Deferred.prototype.errback([result])`:
Begin the callback sequence with an error result.
Result may be any value except for a :mochiref:`Deferred`,
but if ``!(result instanceof Error)``, it will be wrapped
with :mochiref:`GenericError`.
Either ``.callback`` or ``.errback`` should
be called exactly once on a :mochidef:`Deferred`.
:mochidef:`DeferredLock()`:
A lock for asynchronous systems.
The ``locked`` property of a :mochiref:`DeferredLock` will be ``true`` if
it locked, ``false`` otherwise. Do not change this property.
:mochidef:`DeferredLock.prototype.acquire()`:
Attempt to acquire the lock. Returns a :mochiref:`Deferred` that fires on
lock acquisition with the :mochiref:`DeferredLock` as the value.
If the lock is locked, then the :mochiref:`Deferred` goes into a waiting
list.
:mochidef:`DeferredLock.prototype.release()`:
Release the lock. If there is a waiting list, then the first
:mochiref:`Deferred` in that waiting list will be called back.
:mochidef:`DeferredList(list, [fireOnOneCallback, fireOnOneErrback, consumeErrors, canceller])`:
Combine a list of :mochiref:`Deferred` into one. Track the callbacks and
return a list of (success, result) tuples, 'success' being a boolean
indicating whether result is a normal result or an error.
Once created, you have access to all :mochiref:`Deferred` methods, like
addCallback, addErrback, addBoth. The behaviour can be changed by the
following options:
``fireOnOneCallback``:
Flag for launching the callback once the first Deferred of the list
has returned.
``fireOnOneErrback``:
Flag for calling the errback at the first error of a Deferred.
``consumeErrors``:
Flag indicating that any errors raised in the Deferreds should be
consumed by the DeferredList.
Example::
// We need to fetch data from 2 different urls
var d1 = loadJSONDoc(url1);
var d2 = loadJSONDoc(url2);
var l1 = new DeferredList([d1, d2], false, false, true);
l1.addCallback(function (resultList) {
MochiKit.Base.map(function (result) {
if (result[0]) {
alert("Data is here: " + result[1]);
} else {
alert("Got an error: " + result[1]);
}
}, resultList);
});
Functions
---------
:mochidef:`callLater(seconds, func[, args...])`:
Call ``func(args...)`` after at least ``seconds`` seconds have elapsed.
This is a convenience method for::
func = partial.apply(extend(null, arguments, 1));
return wait(seconds).addCallback(function (res) { return func() });
Returns a cancellable :mochiref:`Deferred`.
:mochidef:`doSimpleXMLHttpRequest(url[, queryArguments...])`:
Perform a simple ``XMLHttpRequest`` and wrap it with a
:mochiref:`Deferred` that may be cancelled.
Note that currently, only ``200`` (OK) and ``304``
(NOT_MODIFIED) are considered success codes at this time, other
status codes will result in an errback with an ``XMLHttpRequestError``.
``url``:
The URL to GET
``queryArguments``:
If this function is called with more than one argument, a ``"?"``
and the result of :mochiref:`MochiKit.Base.queryString` with
the rest of the arguments are appended to the URL.
For example, this will do a GET request to the URL
``http://example.com?bar=baz``::
doSimpleXMLHttpRequest("http://example.com", {bar: "baz"});
*returns*:
:mochiref:`Deferred` that will callback with the ``XMLHttpRequest``
instance on success
:mochidef:`evalJSONRequest(req)`:
Evaluate a JSON [4]_ ``XMLHttpRequest``
``req``:
The request whose ``.responseText`` property is to be evaluated
*returns*:
A JavaScript object
:mochidef:`fail([result])`:
Return a :mochiref:`Deferred` that has already had ``.errback(result)``
called.
See ``succeed`` documentation for rationale.
``result``:
The result to give to :mochiref:`Deferred.prototype.errback(result)`.
*returns*:
A ``new`` :mochiref:`Deferred()`
:mochidef:`gatherResults(deferreds)`:
A convenience function that returns a :mochiref:`DeferredList`
from the given ``Array`` of :mochiref:`Deferred` instances
that will callback with an ``Array`` of just results when
they're available, or errback on the first array.
:mochidef:`getXMLHttpRequest()`:
Return an ``XMLHttpRequest`` compliant object for the current
platform.
In order of preference:
- ``new XMLHttpRequest()``
- ``new ActiveXObject('Msxml2.XMLHTTP')``
- ``new ActiveXObject('Microsoft.XMLHTTP')``
- ``new ActiveXObject('Msxml2.XMLHTTP.4.0')``
:mochidef:`maybeDeferred(func[, argument...])`:
Call a ``func`` with the given arguments and ensure the result is a
:mochiref:`Deferred`.
``func``:
The function to call.
*returns*:
A new :mochiref:`Deferred` based on the call to ``func``. If ``func``
does not naturally return a :mochiref:`Deferred`, its result or error
value will be wrapped by one.
:mochidef:`loadJSONDoc(url)`:
Do a simple ``XMLHttpRequest`` to a URL and get the response
as a JSON [4]_ document.
``url``:
The URL to GET
*returns*:
:mochiref:`Deferred` that will callback with the evaluated JSON [4]_
response upon successful ``XMLHttpRequest``
:mochidef:`sendXMLHttpRequest(req[, sendContent])`:
Set an ``onreadystatechange`` handler on an ``XMLHttpRequest`` object
and send it off. Will return a cancellable :mochiref:`Deferred` that will
callback on success.
Note that currently, only ``200`` (OK) and ``304``
(NOT_MODIFIED) are considered success codes at this time, other
status codes will result in an errback with an ``XMLHttpRequestError``.
``req``:
An preconfigured ``XMLHttpRequest`` object (open has been called).
``sendContent``:
Optional string or DOM content to send over the ``XMLHttpRequest``.
*returns*:
:mochiref:`Deferred` that will callback with the ``XMLHttpRequest``
instance on success.
:mochidef:`succeed([result])`:
Return a :mochiref:`Deferred` that has already had ``.callback(result)``
called.
This is useful when you're writing synchronous code to an asynchronous
interface: i.e., some code is calling you expecting a :mochiref:`Deferred`
result, but you don't actually need to do anything asynchronous. Just
return ``succeed(theResult)``.
See ``fail`` for a version of this function that uses a failing
:mochiref:`Deferred` rather than a successful one.
``result``:
The result to give to :mochiref:`Deferred.prototype.callback(result)`
*returns*:
a ``new`` :mochiref:`Deferred`
:mochidef:`wait(seconds[, res])`:
Return a new cancellable :mochiref:`Deferred` that will ``.callback(res)``
after at least ``seconds`` seconds have elapsed.
See Also
========
.. [1] AJAX, Asynchronous JavaScript and XML: http://en.wikipedia.org/wiki/AJAX
.. [2] Twisted, an event-driven networking framework written in Python: http://twistedmatrix.com/
.. [3] Twisted Deferred Reference: http://twistedmatrix.com/projects/core/documentation/howto/defer.html
.. [4] JSON, JavaScript Object Notation: http://json.org/
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,481 +0,0 @@
.. title:: MochiKit.Color - color abstraction with CSS3 support
Name
====
MochiKit.Color - color abstraction with CSS3 support
Synopsis
========
::
// RGB color expressions are supported
assert(
objEqual(Color.whiteColor(), Color.fromString("rgb(255,100%, 255)"))
);
// So is instantiating directly from HSL or RGB values.
// Note that fromRGB and fromHSL take numbers between 0.0 and 1.0!
assert( objEqual(Color.fromRGB(1.0, 1.0, 1.0), Color.fromHSL(0.0, 0.0, 1.0) );
// Or even SVG color keyword names, as per CSS3!
assert( Color.fromString("aquamarine"), "#7fffd4" );
// NSColor-like colors built in
assert( Color.whiteColor().toHexString() == "#ffffff" );
Description
===========
MochiKit.Color is an abstraction for handling colors and strings that
represent colors.
Dependencies
============
- :mochiref:`MochiKit.Base`
Overview
========
MochiKit.Color provides an abstraction of RGB, HSL and HSV colors with alpha.
It supports parsing and generating of CSS3 colors, and has a full CSS3 (SVG)
color table.
All of the functionality in this module is exposed through a Color constructor
and its prototype, but a few of its internals are available for direct use at
module level.
API Reference
=============
Constructors
------------
:mochidef:`Color()`:
Represents a color. Component values should be integers between ``0.0``
and ``1.0``. You should use one of the :mochiref:`Color` factory
functions such as :mochiref:`Color.fromRGB`, :mochiref:`Color.fromHSL`,
etc. instead of constructing :mochiref:`Color` objects directly.
:mochiref:`Color` instances can be compared with
:mochiref:`MochiKit.Base.compare` (though ordering is on RGB, so is not
particularly meaningful except for equality), and the default ``toString``
implementation returns :mochiref:`Color.prototype.toHexString()`.
:mochiref:`Color` instances are immutable, and much of the architecture is
inspired by AppKit's NSColor [1]_
:mochidef:`Color.fromBackground(elem)`:
Returns a :mochiref:`Color` object based on the background of the provided
element. Equivalent to::
c = Color.fromComputedStyle(
elem, "backgroundColor", "background-color") || Color.whiteColor();
:mochidef:`Color.fromComputedStyle(elem, style, mozillaEquivalentCSS)`:
Returns a :mochiref:`Color` object based on the result of
:mochiref:`MochiKit.DOM.computedStyle(elem, style, mozillaEquivalentCSS)`
or ``null`` if not found.
:mochidef:`Color.fromHexString(hexString)`:
Returns a :mochiref:`Color` object from the given hexadecimal color string.
For example, ``"#FFFFFF"`` would return a :mochiref:`Color` with
RGB values ``[255/255, 255/255, 255/255]`` (white).
:mochidef:`Color.fromHSL(hue, saturation, lightness, alpha=1.0)`:
Return a :mochiref:`Color` object from the given ``hue``, ``saturation``,
``lightness`` values. Values should be numbers between ``0.0`` and
``1.0``.
If ``alpha`` is not given, then ``1.0`` (completely opaque) will be used.
Alternate form:
:mochiref:`Color.fromHSL({h: hue, s: saturation, l: lightness, a: alpha})`
:mochidef:`Color.fromHSLString(hslString)`:
Returns a :mochiref:`Color` object from the given decimal hsl color string.
For example, ``"hsl(0,0%,100%)"`` would return a :mochiref:`Color` with
HSL values ``[0/360, 0/360, 360/360]`` (white).
:mochidef:`Color.fromHSV(hue, saturation, value, alpha=1.0)`:
Return a :mochiref:`Color` object from the given ``hue``, ``saturation``,
``value`` values. Values should be numbers between ``0.0`` and
``1.0``.
If ``alpha`` is not given, then ``1.0`` (completely opaque) will be used.
Alternate form:
:mochiref:`Color.fromHSV({h: hue, s: saturation, v: value, a: alpha})`
:mochidef:`Color.fromName(colorName)`:
Returns a :mochiref:`Color` object corresponding to the given
SVG 1.0 color keyword name [2]_ as per the W3C CSS3
Color Module [3]_. ``"transparent"`` is also accepted
as a color name, and will return :mochiref:`Color.transparentColor()`.
:mochidef:`Color.fromRGB(red, green, blue, alpha=1.0)`:
Return a :mochiref:`Color` object from the given ``red``, ``green``,
``blue``, and ``alpha`` values. Values should be numbers between ``0``
and ``1.0``.
If ``alpha`` is not given, then ``1.0`` (completely opaque) will be used.
Alternate form:
:mochiref:`Color.fromRGB({r: red, g: green, b: blue, a: alpha})`
:mochidef:`Color.fromRGBString(rgbString)`:
Returns a :mochiref:`Color` object from the given decimal rgb color string.
For example, ``"rgb(255,255,255)"`` would return a :mochiref:`Color` with
RGB values ``[255/255, 255/255, 255/255]`` (white).
:mochidef:`Color.fromText(elem)`:
Returns a :mochiref:`Color` object based on the text color of the provided
element. Equivalent to::
c = Color.fromComputedStyle(elem, "color") || Color.whiteColor();
:mochidef:`Color.fromString(rgbOrHexString)`:
Returns a :mochiref:`Color` object from the given RGB, HSL, hex, or name.
Will return ``null`` if the string can not be parsed by any of these
methods.
See :mochiref:`Color.fromHexString`, :mochiref:`Color.fromRGBString`,
:mochiref:`Color.fromHSLString` and :mochiref:`Color.fromName` more
information.
:mochidef:`Color.namedColors()`:
Returns an object with properties for each SVG 1.0 color keyword
name [2]_ supported by CSS3 [3]_. Property names are the color keyword
name in lowercase, and the value is a string suitable for
:mochiref:`Color.fromString()`.
:mochidef:`Color.prototype.colorWithAlpha(alpha)`:
Return a new :mochiref:`Color` based on this color, but with the provided
``alpha`` value.
:mochidef:`Color.prototype.colorWithHue(hue)`:
Return a new :mochiref:`Color` based on this color, but with the provided
``hue`` value.
:mochidef:`Color.prototype.colorWithSaturation(saturation)`:
Return a new :mochiref:`Color` based on this color, but with the provided
``saturation`` value (using the HSL color model).
:mochidef:`Color.prototype.colorWithLightness(lightness)`:
Return a new :mochiref:`Color` based on this color, but with the provided
``lightness`` value.
:mochidef:`Color.prototype.darkerColorWithLevel(level)`:
Return a new :mochiref:`Color` based on this color, but darker by the given
``level`` (between ``0`` and ``1.0``).
:mochidef:`Color.prototype.lighterColorWithLevel(level)`:
Return a new :mochiref:`Color` based on this color, but lighter by the given
``level`` (between ``0`` and ``1.0``).
:mochidef:`Color.prototype.blendedColor(other, fraction=0.5)`:
Return a new :mochiref:`Color` whose RGBA component values are a weighted sum
of this color and ``other``. Each component of the returned color
is the ``fraction`` of other's value plus ``1 - fraction`` of this
color's.
:mochidef:`Color.prototype.isLight()`:
Return ``true`` if the lightness value of this color is greater than
``0.5``.
Note that ``alpha`` is ignored for this calculation (color components
are not premultiplied).
:mochidef:`Color.prototype.isDark()`:
Return ``true`` if the lightness value of this color is less than or
equal to ``0.5``.
Note that ``alpha`` is ignored for this calculation (color components
are not premultiplied).
:mochidef:`Color.prototype.toRGBString()`:
Return the decimal ``"rgb(red, green, blue)"`` string representation of this
color.
If the alpha component is not ``1.0`` (fully opaque), the
``"rgba(red, green, blue, alpha)"`` string representation will be used.
For example::
assert( Color.whiteColor().toRGBString() == "rgb(255,255,255)" );
:mochidef:`Color.prototype.toHSLString()`:
Return the decimal ``"hsl(hue, saturation, lightness)"``
string representation of this color.
If the alpha component is not ``1.0`` (fully opaque), the
``"hsla(hue, saturation, lightness, alpha)"`` string representation
will be used.
For example::
assert( Color.whiteColor().toHSLString() == "hsl(0,0,360)" );
:mochidef:`Color.prototype.toHexString()`:
Return the hexadecimal ``"#RRGGBB"`` string representation of this color.
Note that the alpha component is completely ignored for hexadecimal
string representations!
For example::
assert( Color.whiteColor().toHexString() == "#FFFFFF" );
:mochidef:`Color.prototype.asRGB()`:
Return the RGB (red, green, blue, alpha) components of this color as an
object with ``r``, ``g``, ``b``, and ``a`` properties that have
values between ``0.0`` and ``1.0``.
:mochidef:`Color.prototype.asHSL()`:
Return the HSL (hue, saturation, lightness, alpha) components of this
color as an object with ``h``, ``s``, ``l`` and ``a`` properties
that have values between ``0.0`` and ``1.0``.
:mochidef:`Color.prototype.asHSV()`:
Return the HSV (hue, saturation, value, alpha) components of this
color as an object with ``h``, ``s``, ``v`` and ``a`` properties
that have values between ``0.0`` and ``1.0``.
:mochidef:`Color.blackColor()`:
Return a :mochiref:`Color` object whose RGB values are 0, 0, 0
(#000000).
:mochidef:`Color.blueColor()`:
Return a :mochiref:`Color` object whose RGB values are 0, 0, 1
(#0000ff).
:mochidef:`Color.brownColor()`:
Return a :mochiref:`Color` object whose RGB values are 0.6, 0.4, 0.2
(#996633).
:mochidef:`Color.cyanColor()`:
Return a :mochiref:`Color` object whose RGB values are 0, 1, 1
(#00ffff).
:mochidef:`Color.darkGrayColor()`:
Return a :mochiref:`Color` object whose RGB values are 1/3, 1/3, 1/3
(#555555).
:mochidef:`Color.grayColor()`:
Return a :mochiref:`Color` object whose RGB values are 0.5, 0.5, 0.5
(#808080).
:mochidef:`Color.greenColor()`:
Return a :mochiref:`Color` object whose RGB values are 0, 1, 0.
(#00ff00).
:mochidef:`Color.lightGrayColor()`:
Return a :mochiref:`Color` object whose RGB values are 2/3, 2/3, 2/3
(#aaaaaa).
:mochidef:`Color.magentaColor()`:
Return a :mochiref:`Color` object whose RGB values are 1, 0, 1
(#ff00ff).
:mochidef:`Color.orangeColor()`:
Return a :mochiref:`Color` object whose RGB values are 1, 0.5, 0
(#ff8000).
:mochidef:`Color.purpleColor()`:
Return a :mochiref:`Color` object whose RGB values are 0.5, 0, 0.5
(#800080).
:mochidef:`Color.redColor()`:
Return a :mochiref:`Color` object whose RGB values are 1, 0, 0
(#ff0000).
:mochidef:`Color.whiteColor()`:
Return a :mochiref:`Color` object whose RGB values are 1, 1, 1
(#ffffff).
:mochidef:`Color.yellowColor()`:
Return a :mochiref:`Color` object whose RGB values are 1, 1, 0
(#ffff00).
:mochidef:`Color.transparentColor()`:
Return a :mochiref:`Color` object that is completely transparent
(has alpha component of 0).
Functions
---------
:mochidef:`clampColorComponent(num, scale)`:
Returns ``num * scale`` clamped between ``0`` and ``scale``.
:mochiref:`clampColorComponent` is not exported by default when using JSAN.
:mochidef:`hslToRGB(hue, saturation, lightness, alpha)`:
Computes RGB values from the provided HSL values. The return value is a
mapping with ``"r"``, ``"g"``, ``"b"`` and ``"a"`` keys.
Alternate form:
:mochiref:`hslToRGB({h: hue, s: saturation, l: lightness, a: alpha})`.
:mochiref:`hslToRGB` is not exported by default when using JSAN.
:mochidef:`hsvToRGB(hue, saturation, value, alpha)`:
Computes RGB values from the provided HSV values. The return value is a
mapping with ``"r"``, ``"g"``, ``"b"`` and ``"a"`` keys.
Alternate form:
:mochiref:`hsvToRGB({h: hue, s: saturation, v: value, a: alpha})`.
:mochiref:`hsvToRGB` is not exported by default when using JSAN.
:mochidef:`toColorPart(num)`:
Convert num to a zero padded hexadecimal digit for use in a hexadecimal
color string. Num should be an integer between ``0`` and ``255``.
:mochiref:`toColorPart` is not exported by default when using JSAN.
:mochidef:`rgbToHSL(red, green, blue, alpha)`:
Computes HSL values based on the provided RGB values. The return value is
a mapping with ``"h"``, ``"s"``, ``"l"`` and ``"a"`` keys.
Alternate form:
:mochiref:`rgbToHSL({r: red, g: green, b: blue, a: alpha})`.
:mochiref:`rgbToHSL` is not exported by default when using JSAN.
:mochidef:`rgbToHSV(red, green, blue, alpha)`:
Computes HSV values based on the provided RGB values. The return value is
a mapping with ``"h"``, ``"s"``, ``"v"`` and ``"a"`` keys.
Alternate form:
:mochiref:`rgbToHSV({r: red, g: green, b: blue, a: alpha})`.
:mochiref:`rgbToHSV` is not exported by default when using JSAN.
See Also
========
.. [1] Application Kit Reference - NSColor: http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html
.. [2] SVG 1.0 color keywords: http://www.w3.org/TR/SVG/types.html#ColorKeywords
.. [3] W3C CSS3 Color Module: http://www.w3.org/TR/css3-color/#svg-color
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,782 +0,0 @@
.. title:: MochiKit.DOM - painless DOM manipulation API
Name
====
MochiKit.DOM - painless DOM manipulation API
Synopsis
========
::
var rows = [
["dataA1", "dataA2", "dataA3"],
["dataB1", "dataB2", "dataB3"]
];
row_display = function (row) {
return TR(null, map(partial(TD, null), row));
}
var newTable = TABLE({'class': 'prettytable'},
THEAD(null,
row_display(["head1", "head2", "head3"])),
TFOOT(null,
row_display(["foot1", "foot2", "foot3"])),
TBODY(null,
map(row_display, rows)));
// put that in your document.createElement and smoke it!
swapDOM(oldTable, newTable);
Description
===========
As you probably know, the DOM APIs are some of the most painful Java-inspired
APIs you'll run across from a highly dynamic language. Don't worry about that
though, because they provide a reasonable basis to build something that
sucks a lot less.
MochiKit.DOM takes much of its inspiration from Nevow's [1]_ stan [2]_.
This means you choose a tag, give it some attributes, then stuff it full
of *whatever objects you want*. MochiKit.DOM isn't stupid, it knows that
a string should be a text node, and that you want functions to be called,
and that ``Array``-like objects should be expanded, and stupid ``null`` values
should be skipped.
Hell, it will let you return strings from functions, and use iterators from
:mochiref:`MochiKit.Iter`. If that's not enough, just teach it new tricks with
:mochiref:`registerDOMConverter`. If you have never used an API like this for
creating DOM elements, you've been wasting your damn time. Get with it!
Dependencies
============
- :mochiref:`MochiKit.Base`
- :mochiref:`MochiKit.Iter`
Overview
========
DOM Coercion Rules
------------------
In order of precedence, :mochiref:`createDOM` coerces given arguments to DOM
nodes using the following rules:
1. Functions are called with a ``this`` of the parent
node and their return value is subject to the
following rules (even this one).
2. ``undefined`` and ``null`` are ignored.
3. Iterables (see :mochiref:`MochiKit.Iter`) are flattened
(as if they were passed in-line as nodes) and each
return value is subject to all of these rules.
4. Values that look like DOM nodes (objects with a
``.nodeType > 0``) are ``.appendChild``'ed to the created
DOM fragment.
5. Strings are wrapped up with ``document.createTextNode``
6. Objects that are not strings are run through the ``domConverters``
:mochiref:`MochiKit.Base.AdapterRegistry`
(see :mochiref:`registerDOMConverter`).
The value returned by the adapter is subject to these same rules (e.g.
adapters are allowed to return a string, which will be coerced into a
text node).
7. If no adapter is available, ``.toString()`` is used to create a text node.
Creating DOM Element Trees
--------------------------
:mochiref:`createDOM` provides you with an excellent facility for creating DOM trees
that is easy on the wrists. One of the best ways to understand how to use
it is to take a look at an example::
var rows = [
["dataA1", "dataA2", "dataA3"],
["dataB1", "dataB2", "dataB3"]
];
row_display = function (row) {
return TR(null, map(partial(TD, null), row));
}
var newTable = TABLE({'class': 'prettytable'},
THEAD(null,
row_display(["head1", "head2", "head3"])),
TFOOT(null,
row_display(["foot1", "foot2", "foot3"])),
TBODY(null,
map(row_display, rows)));
This will create a table with the following visual layout (if it
were inserted into the document DOM):
+--------+--------+--------+
| head1 | head2 | head3 |
+========+========+========+
| dataA1 | dataA2 | dataA3 |
+--------+--------+--------+
| dataB1 | dataB2 | dataB3 |
+--------+--------+--------+
| foot1 | foot2 | foot3 |
+--------+--------+--------+
Corresponding to the following HTML::
<table class="prettytable">
<thead>
<tr>
<td>head1</td>
<td>head2</td>
<td>head3</td>
</tr>
</thead>
<tfoot>
<tr>
<td>foot1</td>
<td>foot2</td>
<td>foot3</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>dataA1</td>
<td>dataA2</td>
<td>dataA3</td>
</tr>
<tr>
<td>dataB1</td>
<td>dataB2</td>
<td>dataB3</td>
</tr>
</tbody>
</table>
DOM Context
-----------
In order to prevent having to pass a ``window`` and/or ``document``
variable to every MochiKit.DOM function (e.g. when working with a
child window), MochiKit.DOM maintains a context variable for each
of them. They are managed with the :mochiref:`withWindow` and
:mochiref:`withDocument` functions, and can be acquired with
:mochiref:`currentWindow()` and :mochiref:`currentDocument()`
For example, if you are creating DOM nodes in a child window, you
could do something like this::
withWindow(child, function () {
var doc = currentDocument();
appendChildNodes(doc.body, H1(null, "This is in the child!"));
});
Note that :mochiref:`withWindow(win, ...)` also implies
:mochiref:`withDocument(win.document, ...)`.
Element Visibility
------------------
The :mochiref:`hideElement` and :mochiref:`showElement` functions are
provided as a convenience, but only work for elements that are
``display: block``. For a general solution to showing, hiding, and checking
the explicit visibility of elements, we recommend using a solution that
involves a little CSS. Here's an example::
<style type="text/css">
.invisible { display: none; }
</style>
<script type="text/javascript">
function toggleVisible(elem) {
toggleElementClass("invisible", elem);
}
function makeVisible(elem) {
removeElementClass(elem, "invisible");
}
function makeInvisible(elem) {
addElementClass(elem, "invisible");
}
function isVisible(elem) {
// you may also want to check for
// getElement(elem).style.display == "none"
return !hasElementClass(elem, "invisible");
};
</script>
MochiKit doesn't ship with such a solution, because there is no reliable and
portable method for adding CSS rules on the fly with JavaScript.
API Reference
=============
Functions
---------
:mochidef:`$(id[, ...])`:
An alias for :mochiref:`getElement(id[, ...])`
:mochidef:`addElementClass(element, className)`:
Ensure that the given ``element`` has ``className`` set as part of its
class attribute. This will not disturb other class names.
``element`` is looked up with :mochiref:`getElement`, so string identifiers
are also acceptable.
:mochidef:`addLoadEvent(func)`:
Note that :mochiref:`addLoadEvent` can not be used in combination with
:mochiref:`MochiKit.Signal` if the ``onload`` event is connected.
Once an event is connected with :mochiref:`MochiKit.Signal`, no other APIs
may be used for that same event.
This will stack ``window.onload`` functions on top of each other.
Each function added will be called after ``onload`` in the
order that they were added.
:mochidef:`addToCallStack(target, path, func[, once])`:
Note that :mochiref:`addToCallStack` is not compatible with
:mochiref:`MochiKit.Signal`. Once an event is connected with
:mochiref:`MochiKit.Signal`, no other APIs may be used for that same event.
Set the property ``path`` of ``target`` to a function that calls the
existing function at that property (if any), then calls ``func``.
If ``target[path]()`` returns exactly ``false``, then ``func`` will
not be called.
If ``once`` is ``true``, then ``target[path]`` is set to ``null`` after
the function call stack has completed.
If called several times for the same ``target[path]``, it will create
a stack of functions (instead of just a pair).
:mochidef:`appendChildNodes(node[, childNode[, ...]])`:
Append children to a DOM element using the `DOM Coercion Rules`_.
``node``:
A reference to the DOM element to add children to
(if a string is given, :mochiref:`getElement(node)`
will be used to locate the node)
``childNode``...:
All additional arguments, if any, will be coerced into DOM
nodes that are appended as children using the
`DOM Coercion Rules`_.
*returns*:
The given DOM element
:mochidef:`computedStyle(htmlElement, cssProperty, mozillaEquivalentCSS)`:
Looks up a CSS property for the given element. The element can be
specified as either a string with the element's ID or the element
object itself.
:mochidef:`createDOM(name[, attrs[, node[, ...]]])`:
Create a DOM fragment in a really convenient manner, much like
Nevow`s [1]_ stan [2]_.
Partially applied versions of this function for common tags are
available as aliases:
- ``A``
- ``BUTTON``
- ``BR``
- ``CANVAS``
- ``DIV``
- ``FIELDSET``
- ``FORM``
- ``H1``
- ``H2``
- ``H3``
- ``HR``
- ``IMG``
- ``INPUT``
- ``LABEL``
- ``LEGEND``
- ``LI``
- ``OL``
- ``OPTGROUP``
- ``OPTION``
- ``P``
- ``PRE``
- ``SELECT``
- ``SPAN``
- ``STRONG``
- ``TABLE``
- ``TBODY``
- ``TD``
- ``TEXTAREA``
- ``TFOOT``
- ``TH``
- ``THEAD``
- ``TR``
- ``TT``
- ``UL``
See `Creating DOM Element Trees`_ for a comprehensive example.
``name``:
The kind of fragment to create (e.g. 'span'), such as you would
pass to ``document.createElement``.
``attrs``:
An object whose properties will be used as the attributes
(e.g. ``{'style': 'display:block'}``), or ``null`` if no
attributes need to be set.
See :mochiref:`updateNodeAttributes` for more information.
For convenience, if ``attrs`` is a string, ``null`` is used
and the string will be considered the first ``node``.
``node``...:
All additional arguments, if any, will be coerced into DOM
nodes that are appended as children using the
`DOM Coercion Rules`_.
*returns*:
A DOM element
:mochidef:`createDOMFunc(tag[, attrs[, node[, ...]]])`:
Convenience function to create a partially applied createDOM
function. You'd want to use this if you add additional convenience
functions for creating tags, or if you find yourself creating
a lot of tags with a bunch of the same attributes or contents.
See :mochiref:`createDOM` for more detailed descriptions of the arguments.
``tag``:
The name of the tag
``attrs``:
Optionally specify the attributes to apply
``node``...:
Optionally specify any children nodes it should have
*returns*:
function that takes additional arguments and calls
:mochiref:`createDOM`
:mochidef:`currentDocument()`:
Return the current ``document`` `DOM Context`_. This will always
be the same as the global ``document`` unless :mochiref:`withDocument` or
:mochiref:`withWindow` is currently executing.
:mochidef:`currentWindow()`:
Return the current ``window`` `DOM Context`_. This will always
be the same as the global ``window`` unless :mochiref:`withWindow` is
currently executing.
:mochidef:`elementDimensions(element)`:
Return the absolute pixel width and height of ``element`` as an object with
``w`` and ``h`` properties, or ``undefined`` if ``element`` is not in the
document. ``element`` may be specified as a string to be looked up with
:mochiref:`getElement`, a DOM element, or trivially as an object with
``w`` and/or ``h`` properties.
:mochidef:`elementPosition(element[, relativeTo={x: 0, y: 0}])`:
Return the absolute pixel position of ``element`` in the document as an
object with ``x`` and ``y`` properties, or ``undefined`` if ``element``
is not in the document. ``element`` may be specified as a string to
be looked up with :mochiref:`getElement`, a DOM element, or trivially
as an object with ``x`` and/or ``y`` properties.
If ``relativeTo`` is given, then its coordinates are subtracted from
the absolute position of ``element``, e.g.::
var elemPos = elementPosition(elem);
var anotherElemPos = elementPosition(anotherElem);
var relPos = elementPosition(elem, anotherElem);
assert( relPos.x == (elemPos.x - anotherElemPos.x) );
assert( relPos.y == (elemPos.y - anotherElemPos.y) );
``relativeTo`` may be specified as a string to be looked up with
:mochiref:`getElement`, a DOM element, or trivially as an object
with ``x`` and/or ``y`` properties.
:mochidef:`emitHTML(dom[, lst])`:
Convert a DOM tree to an ``Array`` of HTML string fragments
You probably want to use :mochiref:`toHTML` instead.
:mochidef:`escapeHTML(s)`:
Make a string safe for HTML, converting the usual suspects (lt,
gt, quot, apos, amp)
:mochidef:`focusOnLoad(element)`:
Add an onload event to focus the given element
:mochidef:`formContents(elem)`:
Search the DOM tree, starting at ``elem``, for any elements with a
``name`` and ``value`` attribute. Return a 2-element ``Array`` of
``names`` and ``values`` suitable for use with
:mochiref:`MochiKit.Base.queryString`.
:mochidef:`getElement(id[, ...])`:
A small quick little function to encapsulate the ``getElementById``
method. It includes a check to ensure we can use that method.
If the id isn't a string, it will be returned as-is.
Also available as :mochiref:`$(...)` for convenience and compatibility with
other JavaScript frameworks.
If multiple arguments are given, an ``Array`` will be returned.
:mochidef:`getElementsByTagAndClassName(tagName, className, parent=document)`:
Returns an array of elements in ``parent`` that match the tag name
and class name provided. If ``parent`` is a string, it will be looked
up with :mochiref:`getElement`.
If ``tagName`` is ``null`` or ``"*"``, all elements will be searched
for the matching class.
If ``className`` is ``null``, all elements matching the provided tag are
returned.
:mochidef:`getNodeAttribute(node, attr)`:
Get the value of the given attribute for a DOM element without
ever raising an exception (will return ``null`` on exception).
``node``:
A reference to the DOM element to update (if a string is given,
:mochiref:`getElement(node)` will be used to locate the node)
``attr``:
The name of the attribute
Note that it will do the right thing for IE, so don't do
the ``class`` -> ``className`` hack yourself.
*returns*:
The attribute's value, or ``null``
:mochidef:`getViewportDimensions()`:
Return the pixel width and height of the viewport as an object with ``w``
and ``h`` properties. ``element`` is looked up with
:mochiref:`getElement`, so string identifiers are also acceptable.
:mochidef:`hasElementClass(element, className[, ...])`:
Return ``true`` if ``className`` is found on the ``element``.
``element`` is looked up with :mochiref:`getElement`, so string identifiers
are also acceptable.
:mochidef:`hideElement(element, ...)`:
Partial form of :mochiref:`setDisplayForElement`, specifically::
partial(setDisplayForElement, "none")
For information about the caveats of using a ``style.display`` based
show/hide mechanism, and a CSS based alternative, see
`Element Visibility`_.
:mochidef:`registerDOMConverter(name, check, wrap[, override])`:
Register an adapter to convert objects that match ``check(obj, ctx)``
to a DOM element, or something that can be converted to a DOM
element (i.e. number, bool, string, function, iterable).
:mochidef:`removeElement(node)`:
Remove and return ``node`` from a DOM tree. This is technically
just a convenience for :mochiref:`swapDOM(node, null)`.
``node``:
the DOM element (or string id of one) to be removed
*returns*
The removed element
:mochidef:`removeElementClass(element, className)`:
Ensure that the given ``element`` does not have ``className`` set as part
of its class attribute. This will not disturb other class names.
``element`` is looked up with :mochiref:`getElement`, so string identifiers
are also acceptable.
:mochidef:`replaceChildNodes(node[, childNode[, ...]])`:
Remove all children from the given DOM element, then append any given
childNodes to it (by calling :mochiref:`appendChildNodes`).
``node``:
A reference to the DOM element to add children to
(if a string is given, :mochiref:`getElement(node)`
will be used to locate the node)
``childNode``...:
All additional arguments, if any, will be coerced into DOM
nodes that are appended as children using the
`DOM Coercion Rules`_.
*returns*:
The given DOM element
:mochidef:`scrapeText(node[, asArray=false])`:
Walk a DOM tree in-order and scrape all of the text out of it as a
``string``.
If ``asArray`` is ``true``, then an ``Array`` will be returned with
each individual text node. These two are equivalent::
assert( scrapeText(node) == scrapeText(node, true).join("") );
:mochidef:`setDisplayForElement(display, element[, ...])`:
Change the ``style.display`` for the given element(s). Usually
used as the partial forms:
- :mochiref:`showElement(element, ...)`
- :mochiref:`hideElement(element, ...)`
Elements are looked up with :mochiref:`getElement`, so string identifiers
are acceptable.
For information about the caveats of using a ``style.display`` based
show/hide mechanism, and a CSS based alternative, see
`Element Visibility`_.
:mochidef:`setElementClass(element, className)`:
Set the entire class attribute of ``element`` to ``className``.
``element`` is looked up with :mochiref:`getElement`, so string identifiers
are also acceptable.
:mochidef:`setElementDimensions(element, dimensions[, units='px'])`:
Sets the dimensions of ``element`` in the document from an
object with ``w`` and ``h`` properties.
``node``:
A reference to the DOM element to update (if a string is given,
:mochiref:`getElement(node)` will be used to locate the node)
``dimensions``:
An object with ``w`` and ``h`` properties
``units``:
Optionally set the units to use, default is ``px``
:mochidef:`setElementPosition(element, position[, units='px'])`:
Sets the absolute position of ``element`` in the document from an
object with ``x`` and ``y`` properties.
``node``:
A reference to the DOM element to update (if a string is given,
:mochiref:`getElement(node)` will be used to locate the node)
``position``:
An object with ``x`` and ``y`` properties
``units``:
Optionally set the units to use, default is ``px``
:mochidef:`setNodeAttribute(node, attr, value)`:
Set the value of the given attribute for a DOM element without
ever raising an exception (will return null on exception). If
setting more than one attribute, you should use
:mochiref:`updateNodeAttributes`.
``node``:
A reference to the DOM element to update (if a string is given,
:mochiref:`getElement(node)` will be used to locate the node)
``attr``:
The name of the attribute
Note that it will do the right thing for IE, so don't do
the ``class`` -> ``className`` hack yourself.
``value``:
The value of the attribute, may be an object to be merged
(e.g. for setting style).
*returns*:
The given DOM element or ``null`` on failure
:mochidef:`setOpacity(element, opacity)`:
Sets ``opacity`` for ``element``. Valid ``opacity`` values range from 0
(invisible) to 1 (opaque). ``element`` is looked up with
:mochiref:`getElement`, so string identifiers are also acceptable.
:mochidef:`showElement(element, ...)`:
Partial form of :mochiref:`setDisplayForElement`, specifically::
partial(setDisplayForElement, "block")
For information about the caveats of using a ``style.display`` based
show/hide mechanism, and a CSS based alternative, see
`Element Visibility`_.
:mochidef:`swapDOM(dest, src)`:
Replace ``dest`` in a DOM tree with ``src``, returning ``src``.
``dest``:
a DOM element (or string id of one) to be replaced
``src``:
the DOM element (or string id of one) to replace it with, or
``null`` if ``dest`` is to be removed (replaced with nothing).
*returns*:
a DOM element (``src``)
:mochidef:`swapElementClass(element, fromClass, toClass)`:
If ``fromClass`` is set on ``element``, replace it with ``toClass``.
This will not disturb other classes on that element.
``element`` is looked up with :mochiref:`getElement`, so string identifiers
are also acceptable.
:mochidef:`toggleElementClass(className[, element[, ...]])`:
Toggle the presence of a given ``className`` in the class attribute
of all given elements. All elements will be looked up with
:mochiref:`getElement`, so string identifiers are acceptable.
:mochidef:`toHTML(dom)`:
Convert a DOM tree to a HTML string using :mochiref:`emitHTML`
:mochidef:`updateNodeAttributes(node, attrs)`:
Update the attributes of a DOM element from a given object.
``node``:
A reference to the DOM element to update (if a string is given,
:mochiref:`getElement(node)` will be used to locate the node)
``attrs``:
An object whose properties will be used to set the attributes
(e.g. ``{'class': 'invisible'}``), or ``null`` if no
attributes need to be set. If an object is given for the
attribute value (e.g. ``{'style': {'display': 'block'}}``)
then :mochiref:`MochiKit.Base.updatetree` will be used to set that
attribute.
Note that it will do the right thing for IE, so don't do
the ``class`` -> ``className`` hack yourself, and it deals with
setting "on..." event handlers correctly.
*returns*:
The given DOM element
:mochidef:`withWindow(win, func)`:
Call ``func`` with the ``window`` `DOM Context`_ set to ``win`` and
the ``document`` `DOM Context`_ set to ``win.document``. When
``func()`` returns or throws an error, the `DOM Context`_ will be
restored to its previous state.
The return value of ``func()`` is returned by this function.
:mochidef:`withDocument(doc, func)`:
Call ``func`` with the ``doc`` `DOM Context`_ set to ``doc``.
When ``func()`` returns or throws an error, the `DOM Context`_
will be restored to its previous state.
The return value of ``func()`` is returned by this function.
See Also
========
.. [1] Nevow, a web application construction kit for Python: http://nevow.com/
.. [2] nevow.stan is a domain specific language for Python
(read as "crazy getitem/call overloading abuse") that Donovan and I
schemed up at PyCon 2003 at this super ninja Python/C++ programmer's
(David Abrahams) hotel room. Donovan later inflicted this upon the
masses in Nevow. Check out the Divmod project page for some
examples: http://nevow.com/Nevow2004Tutorial.html
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,118 +0,0 @@
.. title:: MochiKit.DateTime - "what time is it anyway?"
Name
====
MochiKit.DateTime - "what time is it anyway?"
Synopsis
========
::
stringDate = toISOTimestamp(new Date());
dateObject = isoTimestamp(stringDate);
Description
===========
Remote servers don't give you JavaScript Date objects, and they certainly
don't want them from you, so you need to deal with string representations
of dates and timestamps. MochiKit.Date does that.
Dependencies
============
None.
API Reference
=============
Functions
---------
:mochidef:`isoDate(str)`:
Convert an ISO 8601 date (YYYY-MM-DD) to a ``Date`` object.
:mochidef:`isoTimestamp(str)`:
Convert any ISO 8601 [1]_ timestamp (or something reasonably close to it)
to a ``Date`` object. Will accept the "de facto" form:
YYYY-MM-DD hh:mm:ss
or (the proper form):
YYYY-MM-DDThh:mm:ssZ
If a time zone designator ("Z" or "[+-]HH:MM") is not present, then the
local timezone is used.
:mochidef:`toISOTime(date)`:
Convert a ``Date`` object to a string in the form of hh:mm:ss
:mochidef:`toISOTimestamp(date, realISO=false)`:
Convert a ``Date`` object to something that's ALMOST but not quite an
ISO 8601 [1]_timestamp. If it was a proper ISO timestamp it would be:
YYYY-MM-DDThh:mm:ssZ
However, we see junk in SQL and other places that looks like this:
YYYY-MM-DD hh:mm:ss
So, this function returns the latter form, despite its name, unless
you pass ``true`` for ``realISO``.
:mochidef:`toISODate(date)`:
Convert a ``Date`` object to an ISO 8601 [1]_ date string (YYYY-MM-DD)
:mochidef:`americanDate(str)`:
Converts a MM/DD/YYYY date to a ``Date`` object
:mochidef:`toPaddedAmericanDate(date)`:
Converts a ``Date`` object to an MM/DD/YYYY date, e.g. 01/01/2001
:mochidef:`toAmericanDate(date)`:
Converts a ``Date`` object to an M/D/YYYY date, e.g. 1/1/2001
See Also
========
.. [1] W3C profile of ISO 8601: http://www.w3.org/TR/NOTE-datetime
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,211 +0,0 @@
.. title:: MochiKit.Format - string formatting goes here
Name
====
MochiKit.Format - string formatting goes here
Synopsis
========
::
assert( truncToFixed(0.12345, 4) == "0.1234" );
assert( roundToFixed(0.12345, 4) == "0.1235" );
assert( twoDigitAverage(1, 0) == "0" );
assert( twoDigitFloat(1.2345) == "1.23" );
assert( twoDigitFloat(1) == "1" );
assert( percentFormat(1.234567) == "123.46%" );
assert( numberFormatter("###,###%")(125) == "12,500%" );
assert( numberFormatter("##.000")(1.25) == "1.250" );
Description
===========
Formatting strings and stringifying numbers is boring, so a couple useful
functions in that domain live here.
Dependencies
============
None.
Overview
========
Formatting Numbers
------------------
MochiKit provides an extensible number formatting facility, modeled loosely
after the Number Format Pattern Syntax [1]_ from Java.
:mochiref:`numberFormatter(pattern[, placeholder=""[, locale="default"])`
returns a function that converts Number to string using the given information.
``pattern`` is a string consisting of the following symbols:
+-----------+---------------------------------------------------------------+
| Symbol | Meaning |
+===========+===============================================================+
| ``-`` | If given, used as the position of the minus sign |
| | for negative numbers. If not given, the position |
| | to the left of the first number placeholder is used. |
+-----------+---------------------------------------------------------------+
| ``#`` | The placeholder for a number that does not imply zero |
| | padding. |
+-----------+---------------------------------------------------------------+
| ``0`` | The placeholder for a number that implies zero padding. |
| | If it is used to the right of a decimal separator, it |
| | implies trailing zeros, otherwise leading zeros. |
+-----------+---------------------------------------------------------------+
| ``,`` | The placeholder for a "thousands separator". May be used |
| | at most once, and it must be to the left of a decimal |
| | separator. Will be replaced by ``locale.separator`` in the |
| | result (the default is also ``,``). |
+-----------+---------------------------------------------------------------+
| ``.`` | The decimal separator. The quantity of ``#`` or ``0`` |
| | after the decimal separator will determine the precision of |
| | the result. If no decimal separator is present, the |
| | fractional precision is ``0`` -- meaning that it will be |
| | rounded to the nearest integer. |
+-----------+---------------------------------------------------------------+
| ``%`` | If present, the number will be multiplied by ``100`` and |
| | the ``%`` will be replaced by ``locale.percent``. |
+-----------+---------------------------------------------------------------+
API Reference
=============
Functions
---------
:mochidef:`formatLocale(locale="default")`:
Return a locale object for the given locale. ``locale`` may be either a
string, which is looked up in the ``MochiKit.Format.LOCALE`` object, or
a locale object. If no locale is given, ``LOCALE.default`` is used
(equivalent to ``LOCALE.en_US``).
:mochidef:`lstrip(str, chars="\\s")`:
Returns a string based on ``str`` with leading whitespace stripped.
If ``chars`` is given, then that expression will be used instead of
whitespace. ``chars`` should be a string suitable for use in a ``RegExp``
``[character set]``.
:mochidef:`numberFormatter(pattern, placeholder="", locale="default")`:
Return a function ``formatNumber(aNumber)`` that formats numbers
as a string according to the given pattern, placeholder and locale.
``pattern`` is a string that describes how the numbers should be formatted,
for more information see `Formatting Numbers`_.
``locale`` is a string of a known locale (en_US, de_DE, fr_FR, default) or
an object with the following fields:
+-----------+-----------------------------------------------------------+
| separator | The "thousands" separator for this locale (en_US is ",") |
+-----------+-----------------------------------------------------------+
| decimal | The decimal separator for this locale (en_US is ".") |
+-----------+-----------------------------------------------------------+
| percent | The percent symbol for this locale (en_US is "%") |
+-----------+-----------------------------------------------------------+
:mochidef:`percentFormat(someFloat)`:
Roughly equivalent to: ``sprintf("%.2f%%", someFloat * 100)``
In new code, you probably want to use:
:mochiref:`numberFormatter("#.##%")(someFloat)` instead.
:mochidef:`roundToFixed(aNumber, precision)`:
Return a string representation of ``aNumber``, rounded to ``precision``
digits with trailing zeros. This is similar to
``Number.toFixed(aNumber, precision)``, but this has implementation
consistent rounding behavior (some versions of Safari round 0.5 down!)
and also includes preceding ``0`` for numbers less than ``1`` (Safari,
again).
For example, :mochiref:`roundToFixed(0.1357, 2)` returns ``0.14`` on every
supported platform, where some return ``.13`` for ``(0.1357).toFixed(2)``.
:mochidef:`rstrip(str, chars="\\s")`:
Returns a string based on ``str`` with trailing whitespace stripped.
If ``chars`` is given, then that expression will be used instead of
whitespace. ``chars`` should be a string suitable for use in a ``RegExp``
``[character set]``.
:mochidef:`strip(str, chars="\\s")`:
Returns a string based on ``str`` with leading and trailing whitespace
stripped (equivalent to :mochiref:`lstrip(rstrip(str, chars), chars)`).
If ``chars`` is given, then that expression will be used instead of
whitespace. ``chars`` should be a string suitable for use in a ``RegExp``
``[character set]``.
:mochidef:`truncToFixed(aNumber, precision)`:
Return a string representation of ``aNumber``, truncated to ``precision``
digits with trailing zeros. This is similar to
``aNumber.toFixed(precision)``, but this truncates rather than rounds and
has implementation consistent behavior for numbers less than 1.
Specifically, :mochiref:`truncToFixed(aNumber, precision)` will always have a
preceding ``0`` for numbers less than ``1``.
For example, :mochiref:`toFixed(0.1357, 2)` returns ``0.13``.
:mochidef:`twoDigitAverage(numerator, denominator)`:
Calculate an average from a numerator and a denominator and return
it as a string with two digits of precision (e.g. "1.23").
If the denominator is 0, "0" will be returned instead of ``NaN``.
:mochidef:`twoDigitFloat(someFloat)`:
Roughly equivalent to: ``sprintf("%.2f", someFloat)``
In new code, you probably want to use
:mochiref:`numberFormatter("#.##")(someFloat)` instead.
See Also
========
.. [1] Java Number Format Pattern Syntax:
http://java.sun.com/docs/books/tutorial/i18n/format/numberpattern.html
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,345 +0,0 @@
.. title:: MochiKit.Iter - itertools for JavaScript; iteration made HARD, and then easy
Name
====
MochiKit.Iter - itertools for JavaScript; iteration made HARD, and then easy
Synopsis
========
::
theSum = sum(takewhile(
partial(operator.gt, 10),
imap(
partial(operator.mul, 2),
count()
)
)
));
assert( theSum == (0 + 0 + 2 + 4 + 6 + 8) );
Description
===========
All of the functional programming missing from :mochiref:`MochiKit.Base` lives
here. The functionality in this module is largely inspired by Python's iteration
protocol [1]_, and the itertools module [2]_.
MochiKit.Iter defines a standard way to iterate over anything, that you can
extend with :mochiref:`registerIterator`, or by implementing the ``.iter()``
protocol. Iterators are lazy, so it can potentially be cheaper to build a
filter chain of iterators than to build lots of intermediate arrays.
Especially when the data set is very large, but the result is not.
Dependencies
============
- :mochiref:`MochiKit.Base`
Overview
========
Iteration for JavaScript
------------------------
The best overview right now is in my Iteration for JavaScript [3]_ blog entry.
This information will migrate here eventually.
API Reference
=============
Errors
------
:mochidef:`StopIteration`:
The singleton :mochiref:`MochiKit.Base.NamedError` that signifies the end
of an iterator
Functions
---------
:mochidef:`applymap(fun, seq[, self])`:
``applymap(fun, seq)`` -->
fun.apply(self, seq0), fun.apply(self, seq1), ...
:mochidef:`chain(p, q[, ...])`:
``chain(p, q, ...)`` --> p0, p1, ... plast, q0, q1, ...
:mochidef:`count(n=0)`:
``count(n=0)`` --> n, n + 1, n + 2, ...
:mochidef:`cycle(p)`:
``cycle(p)`` --> p0, p1, ... plast, p0, p1, ...
:mochidef:`dropwhile(pred, seq)`:
``dropwhile(pred, seq)`` --> seq[n], seq[n + 1], starting when
pred(seq[n]) fails
:mochidef:`every(iterable, func)`:
Return ``true`` if ``func(item)`` is ``true`` for every item in
``iterable``.
:mochidef:`exhaust(iterable)`:
Exhausts an iterable without saving the results anywhere,
like :mochiref:`list(iterable)` when you don't care what the output is.
:mochidef:`forEach(iterable, func[, self])`:
Call ``func`` for each item in ``iterable``, and don't save the results.
:mochidef:`groupby(iterable[, keyfunc])`:
Make an iterator that returns consecutive keys and groups from the
iterable. The key is a function computing a key value for each element.
If not specified or is None, key defaults to an identity function and
returns the element unchanged. Generally, the iterable needs to already be
sorted on the same key function.
The returned group is itself an iterator that shares the underlying
iterable with :mochiref:`groupby()`. Because the source is shared, when the
groupby object is advanced, the previous group is no longer visible.
So, if that data is needed later, it should be stored as an array::
var groups = [];
var uniquekeys = [];
forEach(groupby(data, keyfunc), function (key_group) {
groups.push(list(key_group[1]));
uniquekeys.push(key_group[0]);
});
As a convenience, :mochiref:`groupby_as_array()` is provided to suit the above
use case.
:mochidef:`groupby_as_array(iterable[, keyfunc])`:
Perform the same task as :mochiref:`groupby()`, except return an array of
arrays instead of an iterator of iterators.
:mochidef:`iextend(lst, iterable)`:
Just like :mochiref:`list(iterable)`, except it pushes results on ``lst``
rather than creating a new one.
:mochidef:`ifilter(pred, seq)`:
``ifilter(pred, seq)`` --> elements of seq where ``pred(elem)`` is ``true``
:mochidef:`ifilterfalse(pred, seq)`:
``ifilterfalse(pred, seq)`` --> elements of seq where ``pred(elem)`` is
``false``
:mochidef:`imap(fun, p, q[, ...])`:
``imap(fun, p, q, ...)`` --> fun(p0, q0, ...), fun(p1, q1, ...), ...
:mochidef:`islice(seq, [start,] stop[, step])`:
``islice(seq, [start,] stop[, step])`` --> elements from
seq[start:stop:step] (in Python slice syntax)
:mochidef:`iter(iterable[, sentinel])`:
Convert the given argument to an iterator (object implementing
``.next()``).
1. If ``iterable`` is an iterator (implements ``.next()``), then it will
be returned as-is.
2. If ``iterable`` is an iterator factory (implements ``.iter()``), then
the result of ``iterable.iter()`` will be returned.
3. Otherwise, the iterator factory :mochiref:`MochiKit.Base.AdapterRegistry`
is used to find a match.
4. If no factory is found, it will throw ``TypeError``
Built-in iterator factories are present for Array-like objects, and
objects that implement the ``iterateNext`` protocol (e.g. the result of
Mozilla's ``document.evaluate``).
When used directly, using an iterator should look like this::
var it = iter(iterable);
try {
while (var o = it.next()) {
// use o
}
} catch (e) {
if (e != StopIteration) {
throw e;
}
// pass
}
This is ugly, so you should use the higher order functions to work
with iterators whenever possible.
:mochidef:`izip(p, q[, ...])`:
``izip(p, q, ...)`` --> [p0, q0, ...], [p1, q1, ...], ...
:mochidef:`list(iterable)`:
Convert ``iterable`` to a new ``Array``
:mochidef:`next(iterator)`:
Return ``iterator.next()``
:mochidef:`range([start,] stop[, step])`:
Return an iterator containing an arithmetic progression of integers.
``range(i, j)`` returns :mochiref:`iter([i, i + 1, i + 2, ..., j - 1])`
``start`` (!) defaults to ``0``. When ``step`` is given, it specifies the
increment (or decrement). The end point is omitted!
For example, ``range(4)`` returns :mochiref:`iter([0, 1, 2, 3])`.
This iterates over exactly the valid indexes for an array of 4 elements.
:mochidef:`reduce(fn, iterable[, initial])`:
Apply ``fn(a, b)`` cumulatively to the items of an
iterable from left to right, so as to reduce the iterable
to a single value.
For example::
reduce(function (a, b) { return x + y; }, [1, 2, 3, 4, 5])
calculates::
((((1 + 2) + 3) + 4) + 5).
If initial is given, it is placed before the items of the sequence
in the calculation, and serves as a default when the sequence is
empty.
Note that the above example could be written more clearly as::
reduce(operator.add, [1, 2, 3, 4, 5])
Or even simpler::
sum([1, 2, 3, 4, 5])
:mochidef:`registerIteratorFactory(name, check, iterfactory[, override])`:
Register an iterator factory for use with the iter function.
``check`` is a ``function(a)`` that returns ``true`` if ``a`` can be
converted into an iterator with ``iterfactory``.
``iterfactory`` is a ``function(a)`` that returns an object with a
``.next()`` method that returns the next value in the sequence.
``iterfactory`` is guaranteed to only be called if ``check(a)``
returns a true value.
If ``override`` is ``true``, then it will be made the
highest precedence iterator factory. Otherwise, the lowest.
:mochidef:`repeat(elem[, n])`:
``repeat(elem, [,n])`` --> elem, elem, elem, ... endlessly or up to n times
:mochidef:`reversed(iterable)`:
Return a reversed array from iterable.
:mochidef:`some(iterable, func)`:
Return ``true`` if ``func(item)`` is ``true`` for at least one item in
``iterable``.
:mochidef:`sorted(iterable[, cmp])`:
Return a sorted array from iterable.
:mochidef:`sum(iterable, start=0)`:
Returns the sum of a sequence of numbers plus the value
of parameter ``start`` (with a default of 0). When the sequence is
empty, returns start.
Equivalent to::
reduce(operator.add, iterable, start);
:mochidef:`takewhile(pred, seq)`:
``takewhile(pred, seq)`` --> seq[0], seq[1], ... until pred(seq[n]) fails
:mochidef:`tee(iterable, n=2)`:
``tee(it, n=2)`` --> [it1, it2, it3, ... itn] splits one iterator into n
See Also
========
.. [1] The iteration protocol is described in
PEP 234 - Iterators: http://www.python.org/peps/pep-0234.html
.. [2] Python's itertools
module: http://docs.python.org/lib/module-itertools.html
.. [3] Iteration in JavaScript: http://bob.pythonmac.org/archives/2005/07/06/iteration-in-javascript/
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,284 +0,0 @@
.. title:: MochiKit.Logging - we're all tired of alert()
Name
====
MochiKit.Logging - we're all tired of alert()
Synopsis
========
::
log("INFO messages are so boring");
logDebug("DEBUG messages are even worse");
log("good thing I can pass", objects, "conveniently");
Description
===========
MochiKit.Logging steals some ideas from Python's logging module [1]_, but
completely forgot about the Java [2]_ inspiration. This is a KISS module for
logging that provides enough flexibility to do just about anything via
listeners, but without all the cruft.
Dependencies
============
- :mochiref:`MochiKit.Base`
Overview
========
Native Console Logging
----------------------
As of MochiKit 1.3, the default logger will log all messages to your browser's
native console. This is currently supported in Safari, Opera 9, and Firefox
when the FireBug__ extension is installed.
.. __: http://www.joehewitt.com/software/firebug/
To disable this behavior::
MochiKit.Logging.logger.useNativeLogging = false;
Bookmarklet Based Debugging
---------------------------
JavaScript is at a serious disadvantage without a standard console for
"print" statements. Everything else has one. The closest thing that
you get in a browser environment is the ``alert`` function, which is
absolutely evil.
This leaves you with one reasonable solution: do your logging in the page
somehow. The problem here is that you don't want to clutter the page with
debugging tools. The solution to that problem is what we call BBD, or
Bookmarklet Based Debugging [3]_.
Simply create a bookmarklet for `javascript:MochiKit.Logging.logger.debuggingBookmarklet()`__,
and whack it whenever you want to see what's in the logger. Of course, this
means you must drink the MochiKit.Logging kool-aid. It's tangy and sweet,
don't worry.
.. __: javascript:MochiKit.Logging.logger.debuggingBookmarklet()
Currently this is an ugly ``alert``, but we'll have something spiffy
Real Soon Now, and when we do, you only have to upgrade MochiKit.Logging,
not your bookmarklet!
API Reference
=============
Constructors
------------
:mochidef:`LogMessage(num, level, info)`:
Properties:
``num``:
Identifier for the log message
``level``:
Level of the log message (``"INFO"``, ``"WARN"``, ``"DEBUG"``,
etc.)
``info``:
All other arguments passed to log function as an ``Array``
``timestamp``:
``Date`` object timestamping the log message
:mochidef:`Logger([maxSize])`:
A basic logger object that has a buffer of recent messages
plus a listener dispatch mechanism for "real-time" logging
of important messages.
``maxSize`` is the maximum number of entries in the log.
If ``maxSize >= 0``, then the log will not buffer more than that
many messages. So if you don't like logging at all, be sure to
pass ``0``.
There is a default logger available named "logger", and several
of its methods are also global functions:
``logger.log`` -> ``log``
``logger.debug`` -> ``logDebug``
``logger.warning`` -> ``logWarning``
``logger.error`` -> ``logError``
``logger.fatal`` -> ``logFatal``
:mochidef:`Logger.prototype.addListener(ident, filter, listener)`:
Add a listener for log messages.
``ident`` is a unique identifier that may be used to remove the listener
later on.
``filter`` can be one of the following:
``null``:
``listener(msg)`` will be called for every log message
received.
``string``:
:mochiref:`logLevelAtLeast(filter)` will be used as the function
(see below).
``function``:
``filter(msg)`` will be called for every msg, if it returns
true then ``listener(msg)`` will be called.
``listener`` is a function that takes one argument, a log message. A log
message is an object (:mochiref:`LogMessage` instance) that has at least these
properties:
``num``:
A counter that uniquely identifies a log message (per-logger)
``level``:
A string or number representing the log level. If string, you
may want to use ``LogLevel[level]`` for comparison.
``info``:
An Array of objects passed as additional arguments to the ``log``
function.
:mochidef:`Logger.prototype.baseLog(level, message[, ...])`:
The base functionality behind all of the log functions.
The first argument is the log level as a string or number,
and all other arguments are used as the info list.
This function is available partially applied as:
============== =========
Logger.debug 'DEBUG'
Logger.log 'INFO'
Logger.error 'ERROR'
Logger.fatal 'FATAL'
Logger.warning 'WARNING'
============== =========
For the default logger, these are also available as global functions,
see the :mochiref:`Logger` constructor documentation for more info.
:mochidef:`Logger.prototype.clear()`:
Clear all messages from the message buffer.
:mochidef:`Logger.prototype.debuggingBookmarklet()`:
Display the contents of the logger in a useful way for browsers.
Currently, if :mochiref:`MochiKit.LoggingPane` is loaded, then a pop-up
:mochiref:`MochiKit.LoggingPane.LoggingPane` will be used. Otherwise,
it will be an alert with :mochiref:`Logger.prototype.getMessageText()`.
:mochidef:`Logger.prototype.dispatchListeners(msg)`:
Dispatch a log message to all listeners.
:mochidef:`Logger.prototype.getMessages(howMany)`:
Return a list of up to ``howMany`` messages from the message buffer.
:mochidef:`Logger.prototype.getMessageText(howMany)`:
Get a string representing up to the last ``howMany`` messages in the
message buffer. The default is ``30``.
The message looks like this::
LAST {messages.length} MESSAGES:
[{msg.num}] {msg.level}: {m.info.join(' ')}
[{msg.num}] {msg.level}: {m.info.join(' ')}
...
If you want some other format, use
:mochiref:`Logger.prototype.getMessages` and do it yourself.
:mochidef:`Logger.prototype.removeListener(ident)`:
Remove a listener using the ident given to :mochiref:`Logger.prototype.addListener`
Functions
---------
:mochidef:`alertListener(msg)`:
Ultra-obnoxious ``alert(...)`` listener
:mochidef:`logDebug(message[, info[, ...]])`:
Log an INFO message to the default logger
:mochidef:`logDebug(message[, info[, ...]])`:
Log a DEBUG message to the default logger
:mochidef:`logError(message[, info[, ...]])`:
Log an ERROR message to the default logger
:mochidef:`logFatal(message[, info[, ...]])`:
Log a FATAL message to the default logger
:mochidef:`logLevelAtLeast(minLevel)`:
Return a function that will match log messages whose level
is at least minLevel
:mochidef:`logWarning(message[, info[, ...]])`:
Log a WARNING message to the default logger
See Also
========
.. [1] Python's logging module: http://docs.python.org/lib/module-logging.html
.. [2] PEP 282, where they admit all of the Java influence: http://www.python.org/peps/pep-0282.html
.. [3] Original Bookmarklet Based Debugging blather: http://bob.pythonmac.org/archives/2005/07/03/bookmarklet-based-debugging/
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,114 +0,0 @@
.. title:: MochiKit.LoggingPane - Interactive MochiKit.Logging pane
Name
====
MochiKit.LoggingPane - Interactive MochiKit.Logging pane
Synopsis
========
::
// open a pop-up window
createLoggingPane()
// use a div at the bottom of the document
createLoggingPane(true);
Description
===========
MochiKit.Logging does not have any browser dependencies and is completely
unobtrusive. MochiKit.LoggingPane is a browser-based colored viewing pane
for your :mochiref:`MochiKit.Logging` output that can be used as a pop-up or
inline.
It also allows for regex and level filtering! MochiKit.LoggingPane is used
as the default :mochiref:`MochiKit.Logging.debuggingBookmarklet()` if it is
loaded.
Dependencies
============
- :mochiref:`MochiKit.Base`
- :mochiref:`MochiKit.Logging`
API Reference
=============
Constructors
------------
:mochidef:`LoggingPane(inline=false, logger=MochiKit.Logging.logger)`:
A listener for a :mochiref:`MochiKit.Logging` logger with an interactive
DOM representation.
If ``inline`` is ``true``, then the ``LoggingPane`` will be a ``DIV``
at the bottom of the document. Otherwise, it will be in a pop-up
window with a name based on the calling page's URL. If there is an
element in the document with an id of ``_MochiKit_LoggingPane``,
it will be used instead of appending a new ``DIV`` to the body.
``logger`` is the reference to the :mochiref:`MochiKit.Logging.Logger` to
listen to. If not specified, the global default logger is used.
Properties:
``win``:
Reference to the pop-up window (``undefined`` if ``inline``)
``inline``:
``true`` if the ``LoggingPane`` is inline
``colorTable``:
An object with property->value mappings for each log level
and its color. May also be mutated on ``LoggingPane.prototype``
to affect all instances. For example::
MochiKit.LoggingPane.LoggingPane.prototype.colorTable = {
DEBUG: "green",
INFO: "black",
WARNING: "blue",
ERROR: "red",
FATAL: "darkred"
};
:mochidef:`LoggingPane.prototype.closePane()`:
Close the :mochiref:`LoggingPane` (close the child window, or
remove the ``_MochiKit_LoggingPane`` ``DIV`` from the document).
Functions
---------
:mochidef:`createLoggingPane(inline=false)`:
Create or return an existing :mochiref:`LoggingPane` for this document
with the given inline setting. This is preferred over using
:mochiref:`LoggingPane` directly, as only one :mochiref:`LoggingPane`
should be present in a given document.
Authors
=======
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,349 +0,0 @@
.. title:: MochiKit.Signal - Simple universal event handling
.. |---| unicode:: U+2014 .. em dash, trimming surrounding whitespace
:trim:
Name
====
MochiKit.Signal - Simple universal event handling
Synopsis
========
Signal for DOM events::
// DOM events are also signals. Connect freely! The functions will be
// called with the custom event as a parameter.
// calls myClicked.apply(getElement('myID'), event)
connect('myID', 'onclick', myClicked);
// calls wasClicked.apply(myObject, event)
connect('myID', 'onclick', myObject, wasClicked);
// calls myObject.wasClicked(event)
connect('myID', 'onclick', myObject, 'wasClicked');
// the event is normalized, no more e = e || window.event!
myObject.wasClicked = function(e) {
var crossBrowserCoordinates = e.mouse().page;
// e.mouse().page is a MochiKit.DOM.Coordinates object
}
Signal for non-DOM events::
// otherObject.gotFlash() will be called when 'flash' signalled.
connect(myObject, 'flash', otherObject, 'gotFlash');
// gotBang.apply(otherObject) will be called when 'bang' signalled.
// You can access otherObject from within gotBang as 'this'.
connect(myObject, 'bang', otherObject, gotBang);
// myFunc.apply(myObject) will be called when 'flash' signalled.
// You can access myObject from within myFunc as 'this'.
var ident = connect(myObject, 'flash', myFunc);
// You may disconnect with the return value from connect
disconnect(ident);
// Signal can take parameters. These will be passed along to the connected
// functions.
signal(myObject, 'flash');
signal(myObject, 'bang', 'BANG!');
Description
===========
Event handling was never so easy!
This module takes care of all the hard work |---| figuring out which event
model to use, trying to retrieve the event object, and handling your own
internal events, as well as cleanup when the page is unloaded to clean up IE's
nasty memory leakage.
This event system is largely based on Qt's signal/slot system. Read more on
how that is handled and also how it is used in model/view programming at:
http://doc.trolltech.com/
Dependencies
============
- :mochiref:`MochiKit.Base`
- :mochiref:`MochiKit.DOM`
Overview
========
Using Signal for DOM Events
---------------------------
When using MochiKit.Signal, do not use the browser's native event API. That
means, no ``onclick="blah"``, no ``elem.addEventListener(...)``, and certainly
no ``elem.attachEvent(...)``. This also means that
:mochiref:`MochiKit.DOM.addToCallStack` and
:mochiref:`MochiKit.DOM.addLoadEvent` should not be used in combination with
this module.
Signals for DOM objects are named with the ``'on'`` prefix, e.g.:
``'onclick'``, ``'onkeyup'``, etc.
When the signal fires, your slot will be called with one parameter, the custom
event object.
Custom Event Objects for DOM events
-----------------------------------
Signals triggered by DOM events are called with a custom event object as a
parameter. The custom event object presents a consistent view of the event
across all supported platforms and browsers, and provides many conveniences
not available even in a correct W3C implementation.
See the `DOM Custom Event Object Reference`_ for a detailed API description
of this object.
If you find that you're accessing the native event for any reason, create a
`new ticket`_ and we'll look into normalizing the behavior you're looking for.
.. _`new ticket`: http://trac.mochikit.com/newticket
.. _`Safari bug 6595`: http://bugzilla.opendarwin.org/show_bug.cgi?id=6595
.. _`Safari bug 7790`: http://bugzilla.opendarwin.org/show_bug.cgi?id=7790
Memory Usage
------------
Any object that has connected slots (via :mochiref:`connect()`) is referenced
by the Signal mechanism until it is disconnected via :mochiref:`disconnect()`
or :mochiref:`disconnectAll()`.
Signal does not leak. It registers an ``'onunload'`` event that disconnects all
objects on the page when the browser leaves the page. However, memory usage
will grow during the page view for every connection made until it is
disconnected. Even if the DOM object is removed from the document, it
will still be referenced by Signal until it is explicitly disconnected.
In order to conserve memory during the page view, :mochiref:`disconnectAll()`
any DOM elements that are about to be removed from the document.
Using Signal for non-DOM objects
--------------------------------
Signals are triggered with the :mochiref:`signal(src, 'signal', ...)`
function. Additional parameters passed to this are passed onto the
connected slots. Explicit signals are not required for DOM events.
Slots that are connected to a signal are called in the following manner
when that signal is signalled:
- If the slot was a single function, then it is called with ``this`` set
to the object originating the signal with whatever parameters it was
signalled with.
- If the slot was an object and a function, then it is called with
``this`` set to the object, and with whatever parameters it was
signalled with.
- If the slot was an object and a string, then ``object[string]`` is
called with the parameters to the signal.
API Reference
=============
Signal API Reference
--------------------
:mochidef:`connect(src, signal, dest[, func])`:
Connects a signal to a slot, and return a unique identifier that can be
used to disconnect that signal.
``src`` is the object that has the signal. You may pass in a string, in
which case, it is interpreted as an id for an HTML element.
``signal`` is a string that represents a signal name. If 'src' is an HTML
Element, ``window``, or the ``document``, then it can be one of the
'on-XYZ' events. You must include the 'on' prefix, and it must be all
lower-case.
``dest`` and ``func`` describe the slot, or the action to take when the
signal is triggered.
- If ``dest`` is an object and ``func`` is a string, then
``dest[func].apply(dest, ...)`` will be called when the signal
is signalled.
- If ``dest`` is an object and ``func`` is a function, then
``func.apply(dest, ...)`` will be called when the signal is
signalled.
- If ``func`` is undefined and ``dest`` is a function, then
``func.apply(src, ...)`` will be called when the signal is
signalled.
No other combinations are allowed and will raise an exception.
The return value can be passed to :mochiref:`disconnect` to disconnect
the signal.
:mochidef:`disconnect(ident)`:
To disconnect a signal, pass its ident returned by :mochiref:`connect()`.
This is similar to how the browser's ``setTimeout`` and ``clearTimeout``
works.
:mochidef:`disconnectAll(src[, signal, ...])`:
``disconnectAll(src)`` removes all signals from src.
``disconnectAll(src, 'onmousedown', 'mySignal')`` will remove all
``'onmousedown'`` and ``'mySignal'`` signals from src.
:mochidef:`signal(src, signal, ...)`:
This will signal a signal, passing whatever additional parameters on to
the connected slots. ``src`` and ``signal`` are the same as for
:mochiref:`connect()`.
DOM Custom Event Object Reference
---------------------------------
:mochidef:`event()`:
The native event produced by the browser. You should not need to use this.
:mochidef:`src()`:
The element that this signal is connected to.
:mochidef:`type()`:
The event type (``'click'``, ``'mouseover'``, ``'keypress'``, etc.) as a
string. Does not include the ``'on'`` prefix.
:mochidef:`target()`:
The element that triggered the event. This may be a child of
:mochiref:`src()`.
:mochidef:`modifier()`:
Returns ``{shift, ctrl, meta, alt, any}``, where each property is ``true``
if its respective modifier key was pressed, ``false`` otherwise. ``any``
is ``true`` if any modifier is pressed, ``false`` otherwise.
:mochidef:`stopPropagation()`:
Works like W3C's ``stopPropagation()``.
:mochidef:`preventDefault()`:
Works like W3C's ``preventDefault()``.
:mochidef:`stop()`:
Shortcut that calls ``stopPropagation()`` and ``preventDefault()``.
:mochidef:`key()`:
Returns ``{code, string}``.
Use ``'onkeydown'`` and ``'onkeyup'`` handlers to detect control
characters such as ``'KEY_F1'``. Use the ``'onkeypressed'`` handler to
detect "printable" characters, such as ``'é'``.
When a user presses F1, in ``'onkeydown'`` and ``'onkeyup'`` this method
returns ``{code: 122, string: 'KEY_F1'}``. In ``'onkeypress'``, it returns
``{code: 0, string: ''}``.
If a user presses Shift+2 on a US keyboard, this method returns
``{code: 50, string: 'KEY_2'}`` in ``'onkeydown'`` and ``'onkeyup'``.
In ``'onkeypress'``, it returns ``{code: 64, string: '@'}``.
See ``_specialKeys`` in the source code for a comprehensive list of
control characters.
:mochidef:`mouse()`:
Properties for ``'onmouse*'``, ``'onclick'``, ``'ondblclick'``, and
``'oncontextmenu'``:
- ``page`` is a :mochiref:`MochiKit.DOM.Coordinates` object that
represents the cursor position relative to the HTML document.
Equivalent to ``pageX`` and ``pageY`` in Safari, Mozilla, and
Opera.
- ``client`` is a :mochiref:`MochiKit.DOM.Coordinates` object that
represents the cursor position relative to the visible portion of
the HTML document. Equivalent to ``clientX`` and ``clientY`` on
all browsers.
Properties for ``'onmouseup'``, ``'onmousedown'``, ``'onclick'``, and
``'ondblclick'``:
- ``mouse().button`` returns ``{left, right, middle}`` where each
property is ``true`` if the mouse button was pressed, ``false``
otherwise.
Known browser bugs:
- Current versions of Safari won't signal ``'ondblclick'`` when
attached via ``connect()`` (`Safari Bug 7790`_).
- Mac browsers don't report right-click consistently. Firefox
signals the slot and sets ``modifier().ctrl`` to true, Opera
signals the slot and sets ``modifier().meta`` to ``true``, and
Safari doesn't signal the slot at all (`Safari Bug 6595`_).
To find a right-click in Safari, Firefox, and IE, you can connect
an element to ``'oncontextmenu'``. This doesn't work in Opera.
:mochidef:`relatedTarget()`:
Returns the document element that the mouse has moved to. This is
generated for ``'onmouseover'`` and ``'onmouseout'`` events.
Authors
=======
- Jonathan Gardner <jgardner@jonathangardner.net>
- Beau Hartshorne <beau@hartshornesoftware.com>
- Bob Ippolito <bob@redivi.com>
Copyright
=========
Copyright 2006 Jonathan Gardner <jgardner@jonathangardner.net>, Beau
Hartshorne <beau@hartshornesoftware.com>, and Bob Ippolito <bob@redivi.com>.
This program is dual-licensed free software; you can redistribute it and/or
modify it under the terms of the `MIT License`_ or the
`Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,244 +0,0 @@
2006-04-29 v1.3.1 (bug fix release)
- Fix sendXMLHttpRequest sendContent regression
- Internet Explorer fix in MochiKit.Logging (printfire exception)
- Internet Explorer XMLHttpRequest object leak fixed in MochiKit.Async
2006-04-26 v1.3 "warp zone"
- IMPORTANT: Renamed MochiKit.Base.forward to forwardCall (for export)
- IMPORTANT: Renamed MochiKit.Base.find to findValue (for export)
- New MochiKit.Base.method as a convenience form of bind that takes the
object before the method
- New MochiKit.Base.flattenArguments for flattening a list of arguments to
a single Array
- Refactored MochiRegExp example to use MochiKit.Signal
- New key_events example demonstrating use of MochiKit.Signal's key handling
capabilities.
- MochiKit.DOM.createDOM API change for convenience: if attrs is a string,
null is used and the string will be considered the first node. This
allows for the more natural P("foo") rather than P(null, "foo").
- MochiKit Interpreter example refactored to use MochiKit.Signal and now
provides multi-line input and a help() function to get MochiKit function
signature from the documentation.
- Native Console Logging for the default MochiKit.Logging logger
- New MochiKit.Async.DeferredList, gatherResults, maybeDeferred
- New MochiKit.Signal example: draggable
- Added sanity checking to Deferred to ensure that errors happen when chaining
is used incorrectly
- Opera sendXMLHttpRequest fix (sends empty string instead of null by default)
- Fix a bug in MochiKit.Color that incorrectly generated hex colors for
component values smaller than 16/255.
- Fix a bug in MochiKit.Logging that prevented logs from being capped at a
maximum size
- MochiKit.Async.Deferred will now wrap thrown objects that are not instanceof
Error, so that the errback chain is used instead of the callback chain.
- MochiKit.DOM.appendChildNodes and associated functions now append iterables
in the correct order.
- New MochiKit-based SimpleTest test runner as a replacement for Test.Simple
- MochiKit.Base.isNull no longer matches undefined
- example doctypes changed to HTML4
- isDateLike no longer throws error on null
- New MochiKit.Signal module, modeled after the slot/signal mechanism in Qt
- updated elementDimensions to calculate width from offsetWidth instead
of clientWidth
- formContents now works with FORM tags that have a name attribute
- Documentation now uses MochiKit to generate a function index
2006-01-26 v1.2 "the ocho"
- Fixed MochiKit.Color.Color.lighterColorWithLevel
- Added new MochiKit.Base.findIdentical function to find the index of an
element in an Array-like object. Uses === for identity comparison.
- Added new MochiKit.Base.find function to find the index of an element in
an Array-like object. Uses compare for rich comparison.
- MochiKit.Base.bind will accept a string for func, which will be immediately
looked up as self[func].
- MochiKit.DOM.formContents no longer skips empty form elements for Zope
compatibility
- MochiKit.Iter.forEach will now catch StopIteration to break
- New MochiKit.DOM.elementDimensions(element) for determining the width and
height of an element in the document
- MochiKit.DOM's initialization is now compatible with
HTMLUnit + JWebUnit + Rhino
- MochiKit.LoggingPane will now re-use a ``_MochiKit_LoggingPane`` DIV element
currently in the document instead of always creating one.
- MochiKit.Base now has operator.mul
- MochiKit.DOM.formContents correctly handles unchecked checkboxes that have
a custom value attribute
- Added new MochiKit.Color constructors fromComputedStyle and fromText
- MochiKit.DOM.setNodeAttribute should work now
- MochiKit.DOM now has a workaround for an IE bug when setting the style
property to a string
- MochiKit.DOM.createDOM now has workarounds for IE bugs when setting the
name and for properties
- MochiKit.DOM.scrapeText now walks the DOM tree in-order
- MochiKit.LoggingPane now sanitizes the window name to work around IE bug
- MochiKit.DOM now translates usemap to useMap to work around IE bug
- MochiKit.Logging is now resistant to Prototype's dumb Object.prototype hacks
- Added new MochiKit.DOM documentation on element visibility
- New MochiKit.DOM.elementPosition(element[, relativeTo={x: 0, y: 0}])
for determining the position of an element in the document
- Added new MochiKit.DOM createDOMFunc aliases: CANVAS, STRONG
2005-11-14 v1.1
- Fixed a bug in numberFormatter with large numbers
- Massively overhauled documentation
- Fast-path for primitives in MochiKit.Base.compare
- New groupby and groupby_as_array in MochiKit.Iter
- Added iterator factory adapter for objects that implement iterateNext()
- Fixed isoTimestamp to handle timestamps with time zone correctly
- Added new MochiKit.DOM createDOMFunc aliases: SELECT, OPTION, OPTGROUP,
LEGEND, FIELDSET
- New MochiKit.DOM formContents and enhancement to queryString to support it
- Updated view_source example to use dp.SyntaxHighlighter 1.3.0
- MochiKit.LoggingPane now uses named windows based on the URL so that
a given URL will get the same LoggingPane window after a reload
(at the same position, etc.)
- MochiKit.DOM now has currentWindow() and currentDocument() context
variables that are set with withWindow() and withDocument(). These
context variables affect all MochiKit.DOM functionality (getElement,
createDOM, etc.)
- MochiKit.Base.items will now catch and ignore exceptions for properties
that are enumerable but not accessible (e.g. permission denied)
- MochiKit.Async.Deferred's addCallback/addErrback/addBoth
now accept additional arguments that are used to create a partially
applied function. This differs from Twisted in that the callback/errback
result becomes the *last* argument, not the first when this feature
is used.
- MochiKit.Async's doSimpleXMLHttpRequest will now accept additional
arguments which are used to create a GET query string
- Did some refactoring to reduce the footprint of MochiKit by a few
kilobytes
- escapeHTML to longer escapes ' (apos) and now uses
String.replace instead of iterating over every char.
- Added DeferredLock to Async
- Renamed getElementsComputedStyle to computedStyle and moved
it from MochiKit.Visual to MochiKit.DOM
- Moved all color support out of MochiKit.Visual and into MochiKit.Color
- Fixed range() to accept a negative step
- New alias to MochiKit.swapDOM called removeElement
- New MochiKit.DOM.setNodeAttribute(node, attr, value) which sets
an attribute on a node without raising, roughly equivalent to:
updateNodeAttributes(node, {attr: value})
- New MochiKit.DOM.getNodeAttribute(node, attr) which gets the value of
a node's attribute or returns null without raising
- Fixed a potential IE memory leak if using MochiKit.DOM.addToCallStack
directly (addLoadEvent did not leak, since it clears the handler)
2005-10-24 v1.0
- New interpreter example that shows usage of MochiKit.DOM to make
an interactive JavaScript interpreter
- New MochiKit.LoggingPane for use with the MochiKit.Logging
debuggingBookmarklet, with logging_pane example to show its usage
- New mochiregexp example that demonstrates MochiKit.DOM and MochiKit.Async
in order to provide a live regular expression matching tool
- Added advanced number formatting capabilities to MochiKit.Format:
numberFormatter(pattern, placeholder="", locale="default") and
formatLocale(locale="default")
- Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed
MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.
- Added new MochiKit.DOM createDOMFunc aliases: BUTTON, TT, PRE
- Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision)
to MochiKit.Format
- MochiKit.DateTime can now handle full ISO 8601 timestamps, specifically
isoTimestamp(isoString) will convert them to Date objects, and
toISOTimestamp(date, true) will return an ISO 8601 timestamp in UTC
- Fixed missing errback for sendXMLHttpRequest when the server does not
respond
- Fixed infinite recusion bug when using roundClass("DIV", ...)
- Fixed a bug in MochiKit.Async wait (and callLater) that prevented them
from being cancelled properly
- Workaround in MochiKit.Base bind (and partial) for functions that don't
have an apply method, such as alert
- Reliably return null from the string parsing/manipulation functions if
the input can't be coerced to a string (s + "") or the input makes no sense;
e.g. isoTimestamp(null) and isoTimestamp("") return null
2005-10-08 v0.90
- Fixed ISO compliance with toISODate
- Added missing operator.sub
- Placated Mozilla's strict warnings a bit
- Added JSON serialization and unserialization support to MochiKit.Base:
serializeJSON, evalJSON, registerJSON. This is very similar to the repr
API.
- Fixed a bug in the script loader that failed in some scenarios when a script
tag did not have a "src" attribute (thanks Ian!)
- Added new MochiKit.DOM createDOMFunc aliases: H1, H2, H3, BR, HR, TEXTAREA,
P, FORM
- Use encodeURIComponent / decodeURIComponent for MochiKit.Base urlEncode
and parseQueryString, when available.
2005-08-12 v0.80
- Source highlighting in all examples, moved to a view-source example
- Added some experimental syntax highlighting for the Rounded Corners example,
via the LGPL dp.SyntaxHighlighter 1.2.0 now included in examples/common/lib
- Use an indirect binding for the logger conveniences, so that the global
logger could be replaced by setting MochiKit.Logger.logger to something else
(though an observer is probably a better choice).
- Allow MochiKit.DOM.getElementsByTagAndClassName to take a string for parent,
which will be looked up with getElement
- Fixed bug in MochiKit.Color.fromBackground (was using node.parent instead of
node.parentNode)
- Consider a 304 (NOT_MODIFIED) response from XMLHttpRequest to be success
- Disabled Mozilla map(...) fast-path due to Deer Park compatibility issues
- Possible workaround for Safari issue with swapDOM, where it would get
confused because two elements were in the DOM at the same time with the
same id
- Added missing THEAD convenience function to MochiKit.DOM
- Added lstrip, rstrip, strip to MochiKit.Format
- Added updateNodeAttributes, appendChildNodes, replaceChildNodes to
MochiKit.DOM
- MochiKit.Iter.iextend now has a fast-path for array-like objects
- Added HSV color space support to MochiKit.Visual
- Fixed a bug in the sortable_tables example, it now converts types
correctly
- Fixed a bug where MochiKit.DOM referenced MochiKit.Iter.next from global
scope
2005-08-04 v0.70
- New ajax_tables example, which shows off XMLHttpRequest, ajax, json, and
a little TAL-ish DOM templating attribute language.
- sendXMLHttpRequest and functions that use it (loadJSONDoc, etc.) no longer
ignore requests with status == 0, which seems to happen for cached or local
requests
- Added sendXMLHttpRequest to MochiKit.Async.EXPORT, d'oh.
- Changed scrapeText API to return a string by default. This is API-breaking!
It was dumb to have the default return value be the form you almost never
want. Sorry.
- Added special form to swapDOM(dest, src). If src is null, dest is removed
(where previously you'd likely get a DOM exception).
- Added three new functions to MochiKit.Base for dealing with URL query
strings: urlEncode, queryString, parseQueryString
- MochiKit.DOM.createDOM will now use attr[k] = v for all browsers if the name
starts with "on" (e.g. "onclick"). If v is a string, it will set it to
new Function(v).
- Another workaround for Internet "worst browser ever" Explorer's setAttribute
usage in MochiKit.DOM.createDOM (checked -> defaultChecked).
- Added UL, OL, LI convenience createDOM aliases to MochiKit.DOM
- Packing is now done by Dojo's custom Rhino interpreter, so it's much smaller
now!
2005-07-29 v0.60
- Beefed up the MochiKit.DOM test suite
- Fixed return value for MochiKit.DOM.swapElementClass, could return
false unexpectedly before
- Added an optional "parent" argument to
MochiKit.DOM.getElementsByTagAndClassName
- Added a "packed" version in packed/MochiKit/MochiKit.js
- Changed build script to rewrite the URLs in tests to account for the
JSAN-required reorganization
- MochiKit.Compat to potentially work around IE 5.5 issues
(5.0 still not supported). Test.Simple doesn't seem to work there,
though.
- Several minor documentation corrections
2005-07-27 v0.50
- Initial Release

View File

@@ -1,127 +0,0 @@
.. title:: MochiKit.Visual - visual effects
Name
====
MochiKit.Visual - visual effects
Synopsis
========
::
// round the corners of all h1 elements
roundClass("h1", null);
// round the top left corner of the element with the id "title"
roundElement("title", {corners: "tl"});
Description
===========
MochiKit.Visual provides visual effects and support functions for visuals.
Dependencies
============
- :mochiref:`MochiKit.Base`
- :mochiref:`MochiKit.Iter`
- :mochiref:`MochiKit.DOM`
- :mochiref:`MochiKit.Color`
Overview
========
At this time, MochiKit.Visual provides one visual effect: rounded corners
for your HTML elements. These rounded corners are created completely
through CSS manipulations and require no external images or style sheets.
This implementation was adapted from Rico_.
.. _Rico: http://www.openrico.org
API Reference
=============
Functions
---------
:mochidef:`roundClass(tagName[, className[, options]])`:
Rounds all of the elements that match the ``tagName`` and ``className``
specifiers, using the options provided. ``tagName`` or ``className`` can
be ``null`` to match all tags or classes. For more information about
the options, see the :mochiref:`roundElement` function.
:mochidef:`roundElement(element[, options])`:
Immediately round the corners of the specified element.
The element can be given as either a string
with the element ID, or as an element object.
The options mapping has the following defaults:
========= =================
corners ``"all"``
color ``"fromElement"``
bgColor ``"fromParent"``
blend ``true``
border ``false``
compact ``false``
========= =================
corners:
specifies which corners of the element should be rounded.
Choices are:
- all
- top
- bottom
- tl (top left)
- bl (bottom left)
- tr (top right)
- br (bottom right)
Example:
``"tl br"``: top-left and bottom-right corners are rounded
blend:
specifies whether the color and background color should be blended
together to produce the border color.
See Also
========
.. [1] Application Kit Reference - NSColor: http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html
.. [2] SVG 1.0 color keywords: http://www.w3.org/TR/SVG/types.html#ColorKeywords
.. [3] W3C CSS3 Color Module: http://www.w3.org/TR/css3-color/#svg-color
Authors
=======
- Kevin Dangoor <dangoor@gmail.com>
- Bob Ippolito <bob@redivi.com>
- Originally adapted from Rico <http://openrico.org/> (though little remains)
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php
Portions adapted from `Rico`_ are available under the terms of the
`Apache License, Version 2.0`_.
.. _`Apache License, Version 2.0`: http://www.apache.org/licenses/LICENSE-2.0.html

View File

@@ -1,74 +0,0 @@
.. title:: MochiKit Documentation Index
Distribution
============
MochiKit - makes JavaScript suck a bit less
- :mochiref:`MochiKit.Async` - manage asynchronous tasks
- :mochiref:`MochiKit.Base` - functional programming and useful comparisons
- :mochiref:`MochiKit.DOM` - painless DOM manipulation API
- :mochiref:`MochiKit.Color` - color abstraction with CSS3 support
- :mochiref:`MochiKit.DateTime` - "what time is it anyway?"
- :mochiref:`MochiKit.Format` - string formatting goes here
- :mochiref:`MochiKit.Iter` - itertools for JavaScript; iteration made HARD,
and then easy
- :mochiref:`MochiKit.Logging` - we're all tired of ``alert()``
- :mochiref:`MochiKit.LoggingPane` - interactive :mochiref:`MochiKit.Logging`
pane
- :mochiref:`MochiKit.Signal` - simple universal event handling
- :mochiref:`MochiKit.Visual` - visual effects
Notes
=====
To turn on MochiKit's compatibility mode, do this before loading MochiKit::
<script type="text/javascript">MochiKit = {__compat__: true};</script>
When compatibility mode is on, you must use fully qualified names for all
MochiKit functions (e.g. ``MochiKit.Base.map(...)``).
Screencasts
===========
- `MochiKit 1.1 Intro`__
.. __: http://mochikit.com/screencasts/MochiKit_Intro-1
See Also
========
.. _`mochikit.com`: http://mochikit.com/
.. _`from __future__ import *`: http://bob.pythonmac.org/
.. _`MochiKit on JSAN`: http://openjsan.org/doc/b/bo/bob/MochiKit/
.. _`MochiKit tag on del.icio.us`: http://del.icio.us/tag/mochikit
.. _`MochiKit tag on Technorati`: http://technorati.com/tag/mochikit
.. _`Google Groups: MochiKit`: http://groups.google.com/group/mochikit
- `Google Groups: MochiKit`_: The official mailing list for discussions
related to development of and with MochiKit
- `mochikit.com`_: MochiKit's home on the web
- `from __future__ import *`_: Bob Ippolito's blog
- `MochiKit on JSAN`_: the JSAN distribution page for MochiKit
- `MochiKit tag on del.icio.us`_: Recent bookmarks related to MochiKit
- `MochiKit tag on Technorati`_: Recent blog entries related to MochiKit
Version History
===============
.. include:: VersionHistory.rst
Copyright
=========
Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is dual-licensed
free software; you can redistribute it and/or modify it under the terms of the
`MIT License`_ or the `Academic Free License v2.1`_.
.. _`MIT License`: http://www.opensource.org/licenses/mit-license.php
.. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php

View File

@@ -1,69 +0,0 @@
h1 {
font-size: 2em;
color: #4B4545;
text-align: center;
}
table.datagrid {
width: 100%;
border-collapse: collapse;
}
table.datagrid thead th {
text-align: left;
background-color: #4B4545;
background-repeat: no-repeat;
background-position: right center;
color: white;
font-weight: bold;
padding: .3em .7em;
font-size: .9em;
padding-right: 5px;
background-repeat: no-repeat;
background-position: 95% right;
}
table.datagrid thead th a {
color: white;
text-decoration: none;
font-size: 1.0em;
background-repeat: no-repeat;
background-position: center right;
padding-right: 15px;
}
table.datagrid thead th.over {
background-color: #746B6B;
cursor: pointer;
}
table.datagrid tbody th {
font-weight: bold;
}
table.datagrid tbody td, table.datagrid tbody th {
text-align: left;
padding: .3em .7em;
border-bottom: 1px solid #eee;
}
table.datagrid tbody tr.alternate td, table.datagrid tbody tr.alternate th {
background-color: #f1f1f1;
}
table.datagrid tfoot td, table.datagrid tfoot th {
background-color: #FFFEE3;
color: #4B4545;
padding: .5em;
font-weight: bold;
border-top: 2px solid #4B4545;
}
table.datagrid tfoot th { text-align: left; }
table.datagrid tfoot td { }
.invisible { display: none; }
.mochi-template { display: none; }
.mochi-example { display: none; }

View File

@@ -1,402 +0,0 @@
/*
On page load, the SortableManager:
- Rips out all of the elements with the mochi-example class.
- Finds the elements with the mochi-template class and saves them for
later parsing with "MochiTAL".
- Finds the anchor tags with the mochi:dataformat attribute and gives them
onclick behvaiors to load new data, using their href as the data source.
This makes your XML or JSON look like a normal link to a search engine
(or javascript-disabled browser).
- Clones the thead element from the table because it will be replaced on each
sort.
- Sets up a default sort key of "domain_name" and queues a load of the json
document.
On data load, the SortableManager:
- Parses the table data from the document (columns list, rows list-of-lists)
and turns them into a list of [{column:value, ...}] objects for easy sorting
and column order stability.
- Chooses the default (or previous) sort state and triggers a sort request
On sort request:
- Replaces the cloned thead element with a copy of it that has the sort
indicator (&uarr; or &darr;) for the most recently sorted column (matched up
to the first field in the th's mochi:sortcolumn attribute), and attaches
onclick, onmousedown, onmouseover, onmouseout behaviors to them. The second
field of mochi:sortcolumn attribute is used to perform a non-string sort.
- Performs the sort on the domains list. If the second field of
mochi:sortcolumn was not "str", then a custom function is used and the
results are stored away in a __sort__ key, which is then used to perform the
sort (read: shwartzian transform).
- Calls processMochiTAL on the page, which finds the mochi-template sections
and then looks for mochi:repeat and mochi:content attributes on them, using
the data object.
*/
processMochiTAL = function (dom, data) {
/***
A TAL-esque template attribute language processor,
including content replacement and repeat
***/
// nodeType == 1 is an element, we're leaving
// text nodes alone.
if (dom.nodeType != 1) {
return;
}
var attr;
// duplicate this element for each item in the
// given list, and then process the duplicated
// element again (sans mochi:repeat tag)
attr = getAttribute(dom, "mochi:repeat");
if (attr) {
dom.removeAttribute("mochi:repeat");
var parent = dom.parentNode;
attr = attr.split(" ");
var name = attr[0];
var lst = valueForKeyPath(data, attr[1]);
if (!lst) {
return;
}
for (var i = 0; i < lst.length; i++) {
data[name] = lst[i];
var newDOM = dom.cloneNode(true);
processMochiTAL(newDOM, data);
parent.insertBefore(newDOM, dom);
}
parent.removeChild(dom);
return;
}
// do content replacement if there's a mochi:content attribute
// on the element
attr = getAttribute(dom, "mochi:content");
if (attr) {
dom.removeAttribute("mochi:content");
replaceChildNodes(dom, valueForKeyPath(data, attr));
return;
}
// we make a shallow copy of the current list of child nodes
// because it *will* change if there's a mochi:repeat in there!
var nodes = list(dom.childNodes);
for (var i = 0; i < nodes.length; i++) {
processMochiTAL(nodes[i], data);
}
};
mouseOverFunc = function () {
addElementClass(this, "over");
};
mouseOutFunc = function () {
removeElementClass(this, "over");
};
ignoreEvent = function (ev) {
if (ev && ev.preventDefault) {
ev.preventDefault();
ev.stopPropagation();
} else if (typeof(event) != 'undefined') {
event.cancelBubble = false;
event.returnValue = false;
}
};
SortTransforms = {
"str": operator.identity,
"istr": function (s) { return s.toLowerCase(); },
"isoDate": isoDate
};
getAttribute = function (dom, key) {
try {
return dom.getAttribute(key);
} catch (e) {
return null;
}
};
datatableFromXMLRequest = function (req) {
/***
This effectively converts domains.xml to the
same form as domains.json
***/
var xml = req.responseXML;
var nodes = xml.getElementsByTagName("column");
var rval = {"columns": map(scrapeText, nodes)};
var rows = [];
nodes = xml.getElementsByTagName("row")
for (var i = 0; i < nodes.length; i++) {
var cells = nodes[i].getElementsByTagName("cell");
rows.push(map(scrapeText, cells));
}
rval.rows = rows;
return rval;
};
loadFromDataAnchor = function (ev) {
ignoreEvent(ev);
var format = this.getAttribute("mochi:dataformat");
var href = this.href;
sortableManager.loadFromURL(format, href);
};
valueForKeyPath = function (data, keyPath) {
var chunks = keyPath.split(".");
while (chunks.length && data) {
data = data[chunks.shift()];
}
return data;
};
SortableManager = function () {
this.thead = null;
this.thead_proto = null;
this.tbody = null;
this.deferred = null;
this.columns = [];
this.rows = [];
this.templates = [];
this.sortState = {};
bindMethods(this);
};
SortableManager.prototype = {
"initialize": function () {
// just rip all mochi-examples out of the DOM
var examples = getElementsByTagAndClassName(null, "mochi-example");
while (examples.length) {
swapDOM(examples.pop(), null);
}
// make a template list
var templates = getElementsByTagAndClassName(null, "mochi-template");
for (var i = 0; i < templates.length; i++) {
var template = templates[i];
var proto = template.cloneNode(true);
removeElementClass(proto, "mochi-template");
this.templates.push({
"template": proto,
"node": template
});
}
// set up the data anchors to do loads
var anchors = getElementsByTagAndClassName("a", null);
for (var i = 0; i < anchors.length; i++) {
var node = anchors[i];
var format = getAttribute(node, "mochi:dataformat");
if (format) {
node.onclick = loadFromDataAnchor;
}
}
// to find sort columns
this.thead = getElementsByTagAndClassName("thead", null)[0];
this.thead_proto = this.thead.cloneNode(true);
this.sortkey = "domain_name";
this.loadFromURL("json", "domains.json");
},
"loadFromURL": function (format, url) {
log('loadFromURL', format, url);
var d;
if (this.deferred) {
this.deferred.cancel();
}
if (format == "xml") {
var req = getXMLHttpRequest();
if (req.overrideMimeType) {
req.overrideMimeType("text/xml");
}
req.open("GET", url, true);
d = sendXMLHttpRequest(req).addCallback(datatableFromXMLRequest);
} else if (format == "json") {
d = loadJSONDoc(url);
} else {
throw new TypeError("format " + repr(format) + " not supported");
}
// keep track of the current deferred, so that we can cancel it
this.deferred = d;
var self = this;
// on success or error, remove the current deferred because it has
// completed, and pass through the result or error
d.addBoth(function (res) {
self.deferred = null;
log('loadFromURL success');
return res;
});
// on success, tag the result with the format used so we can display
// it
d.addCallback(function (res) {
res.format = format;
return res;
});
// call this.initWithData(data) once it's ready
d.addCallback(this.initWithData);
// if anything goes wrong, except for a simple cancellation,
// then log the error and show the logger
d.addErrback(function (err) {
if (err instanceof CancelledError) {
return;
}
logError(err);
logger.debuggingBookmarklet();
});
return d;
},
"initWithData": function (data) {
/***
Initialize the SortableManager with a table object
***/
// reformat to [{column:value, ...}, ...] style as the domains key
var domains = [];
var rows = data.rows;
var cols = data.columns;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var domain = {};
for (var j = 0; j < cols.length; j++) {
domain[cols[j]] = row[j];
}
domains.push(domain);
}
data.domains = domains;
this.data = data;
// perform a sort and display based upon the previous sort state,
// defaulting to an ascending sort if this is the first sort
var order = this.sortState[this.sortkey];
if (typeof(order) == 'undefined') {
order = true;
}
this.drawSortedRows(this.sortkey, order, false);
},
"onSortClick": function (name) {
/***
Return a sort function for click events
***/
// save ourselves from doing a bind
var self = this;
// on click, flip the last sort order of that column and sort
return function () {
log('onSortClick', name);
var order = self.sortState[name];
if (typeof(order) == 'undefined') {
// if it's never been sorted by this column, sort ascending
order = true;
} else if (self.sortkey == name) {
// if this column was sorted most recently, flip the sort order
order = !((typeof(order) == 'undefined') ? false : order);
}
self.drawSortedRows(name, order, true);
};
},
"drawSortedRows": function (key, forward, clicked) {
/***
Draw the new sorted table body, and modify the column headers
if appropriate
***/
log('drawSortedRows', key, forward);
// save it so we can flip next time
this.sortState[key] = forward;
this.sortkey = key;
var sortstyle;
// setup the sort columns
var thead = this.thead_proto.cloneNode(true);
var cols = thead.getElementsByTagName("th");
for (var i = 0; i < cols.length; i++) {
var col = cols[i];
var sortinfo = getAttribute(col, "mochi:sortcolumn").split(" ");
var sortkey = sortinfo[0];
col.onclick = this.onSortClick(sortkey);
col.onmousedown = ignoreEvent;
col.onmouseover = mouseOverFunc;
col.onmouseout = mouseOutFunc;
// if this is the sorted column
if (sortkey == key) {
sortstyle = sortinfo[1];
// \u2193 is down arrow, \u2191 is up arrow
// forward sorts mean the rows get bigger going down
var arrow = (forward ? "\u2193" : "\u2191");
// add the character to the column header
col.appendChild(SPAN(null, arrow));
if (clicked) {
col.onmouseover();
}
}
}
this.thead = swapDOM(this.thead, thead);
// apply a sort transform to a temporary column named __sort__,
// and do the sort based on that column
if (!sortstyle) {
sortstyle = "str";
}
var sortfunc = SortTransforms[sortstyle];
if (!sortfunc) {
throw new TypeError("unsupported sort style " + repr(sortstyle));
}
var domains = this.data.domains;
for (var i = 0; i < domains.length; i++) {
var domain = domains[i];
domain.__sort__ = sortfunc(domain[key]);
}
// perform the sort based on the state given (forward or reverse)
var cmp = (forward ? keyComparator : reverseKeyComparator);
domains.sort(cmp("__sort__"));
// process every template with the given data
// and put the processed templates in the DOM
for (var i = 0; i < this.templates.length; i++) {
log('template', i, template);
var template = this.templates[i];
var dom = template.template.cloneNode(true);
processMochiTAL(dom, this.data);
template.node = swapDOM(template.node, dom);
}
}
};
// create the global SortableManager and initialize it on page load
sortableManager = new SortableManager();
addLoadEvent(sortableManager.initialize);
// rewrite the view-source links
addLoadEvent(function () {
var elems = getElementsByTagAndClassName("A", "view-source");
var page = "ajax_tables/";
for (var i = 0; i < elems.length; i++) {
var elem = elems[i];
var href = elem.href.split(/\//).pop();
elem.target = "_blank";
elem.href = "../view-source/view-source.html#" + page + href;
}
});

View File

@@ -1,10 +0,0 @@
{
"columns": [ "domain_name", "create_date", "expiry_date", "organization_name"],
"rows": [
["json.org", "2000-05-08", "2006-05-08", "Douglas Crockford"],
["mochibot.com", "2005-02-10", "2007-02-10", "Jameson Hsu"],
["pythonmac.org", "2003-09-24", "2006-09-24", "Bob Ippolito"],
["undefined.org", "2000-01-10", "2006-01-10", "Robert J Ippolito"],
["python.org", "1995-03-27", "2007-03-28", "Python Software Foundation"]
]
}

View File

@@ -1,40 +0,0 @@
<datatable>
<columns>
<column>domain_name</column>
<column>create_date</column>
<column>expiry_date</column>
<column>organization_name</column>
</columns>
<rows>
<row>
<cell>xml.com</cell>
<cell>1996-09-30</cell>
<cell>2012-09-29</cell>
<cell>Tim Bray</cell>
</row>
<row>
<cell>mochibot.com</cell>
<cell>2005-02-10</cell>
<cell>2007-02-10</cell>
<cell>Jameson Hsu</cell>
</row>
<row>
<cell>pythonmac.org</cell>
<cell>2003-09-24</cell>
<cell>2006-09-24</cell>
<cell>Bob Ippolito</cell>
</row>
<row>
<cell>undefined.org</cell>
<cell>2000-01-10</cell>
<cell>2006-01-10</cell>
<cell>Robert J Ippolito</cell>
</row>
<row>
<cell>python.org</cell>
<cell>1995-03-27</cell>
<cell>2007-03-28</cell>
<cell>Python Software Foundation</cell>
</row>
</rows>
</datatable>

View File

@@ -1,96 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!--
Using a made-up xmlns..
-->
<html xmlns:mochi="http://mochikit.com/examples/ajax_tables">
<head>
<title>Sortable Tables from Scratch with MochiKit</title>
<link href="ajax_tables.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="ajax_tables.js"></script>
</head>
<body>
<h1>
Sortable Ajax Tables in JSON and XML with MochiKit
</h1>
<div>
<div>
<p>
This is an example of how one might use <a href="http://mochikit.com/">MochiKit</a> to do
sortable tables from data given by the server in either JSON
or XML format. It uses
<a href="../../doc/html/lib/MochiKit/Async.html">MochiKit.Async</a>
to fetch the data, and
<a href="../../doc/html/lib/MochiKit/DOM.html">MochiKit.DOM</a>
to display it.
</p>
<p>
Includes a micro implementation of something
<a href="http://www.zope.org/Wikis/DevSite/Projects/ZPT/FrontPage">TAL</a>-esque
(called "MochiTAL" in the source, using a mochi: namespace).
For a more detailed description of what happens under the
covers, view the <a href="ajax_tables.js" class="view-source">ajax_tables.js</a>
source and look at the comments.
</p>
</div>
</div>
<div>
View Source: [
<a href="index.html" class="view-source">index.html</a> |
<a href="ajax_tables.js" class="view-source">ajax_tables.js</a> |
<a href="domains.json" class="view-source">domains.json</a> |
<a href="domains.xml" class="view-source">domains.xml</a>
]
</div>
<div>
Load data: [
<a href="domains.json" mochi:dataformat="json">domains.json</a>
| <a href="domains.xml" mochi:dataformat="xml">domains.xml</a>
]
(current format: <span class="mochi-template" mochi:content="format">loading</span>)
</div>
<table id="sortable_table" class="datagrid">
<thead>
<tr>
<th mochi:sortcolumn="domain_name str">Domain Name</th>
<th mochi:sortcolumn="create_date isoDate">Creation Date</th>
<th mochi:sortcolumn="expiry_date isoDate">Expiry Date</th>
<th mochi:sortcolumn="organization_name istr">Organization Name</th>
</tr>
</thead>
<tfoot class="invisible">
<tr>
<td colspan="0"></td>
</tr>
</tfoot>
<tbody class="mochi-template">
<tr mochi:repeat="item domains">
<td mochi:content="item.domain_name">mochibot.com</td>
<td mochi:content="item.create_date">2005-02-10</td>
<td mochi:content="item.expiry_date">2007-02-10</td>
<td mochi:content="item.organization_name">Jameson Hsu</td>
</tr>
<tr class="mochi-example">
<td>pythonmac.org</td>
<td>2003-09-24</td>
<td>2006-09-24</td>
<td>Bob Ippolito</td>
</tr>
<tr class="mochi-example">
<td>undefined.org</td>
<td>2000-01-10</td>
<td>2006-01-10</td>
<td>Robert J Ippolito</td>
</tr>
<tr class="mochi-example">
<td>python.org</td>
<td>1995-03-27</td>
<td>2007-03-28</td>
<td>Python Software Foundation</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -1,4 +0,0 @@
h1 { text-align: center; }
#docs { text-align: center; }
#source { text-align: center; }
#color_wheel_container { position:absolute; left: 50%; top: 50% }

View File

@@ -1,95 +0,0 @@
var radius = 225;
var twoPI = Math.PI * 2;
var amplification = 10;
var calcAlpha = function (target, lightness) {
return Math.max(1.0 - (Math.abs(lightness - target) * amplification), 0);
};
var makeColorDiv = function (name) {
var c = Color.fromName(name);
var hsl = c.asHSL();
var r = hsl.s * radius;
var e = DIV({"style": {
"color": Color.fromHSL(hsl).toString(),
"width": "100px",
"height": "30px",
"position": "absolute",
"verticalAlign": "middle",
"textAlign": "center",
"left": Math.floor((Math.cos(hsl.h * twoPI) * r) - 50) + "px",
"top": Math.floor((Math.sin(hsl.h * twoPI) * r)) + "px"
}},
name
);
// hsl.a = 0;
return [c, e];
};
var colorWheelOnLoad = function () {
var seenColors = {};
var colors = Color.namedColors();
var colorDivs = [];
for (var k in colors) {
var val = colors[k];
if (val in seenColors) {
continue;
}
colorDivs.push(makeColorDiv(k));
}
swapDOM(
"color_wheel",
DIV(null, map(itemgetter(1), colorDivs))
);
var colorCanary = DIV({"style":{"color": "blue"}}, "");
try {
colorCanary.style.color = "rgba(100,100,100,0.5)";
} catch (e) {
// IE passtastic
}
var colorFunc;
// Check for CSS3 HSL support
if (colorCanary.style.color == "blue") {
var bgColor = Color.fromBackground();
colorFunc = function (color, alpha) {
return bgColor.blendedColor(color, alpha).toHexString();
};
} else {
colorFunc = function (color, alpha) {
return color.colorWithAlpha(alpha).toRGBString();
}
}
// Per-frame animation
var intervalFunc = function (cycle, timeout) {
var target = 0.5 + (0.5 * Math.sin(Math.PI * (cycle / 180)));
for (var i = 0; i < colorDivs.length; i++) {
var cd = colorDivs[i];
var color = cd[0];
var alpha = calcAlpha(target, color.asHSL().l);
var style = cd[1].style;
if (alpha == 0) {
style.display = "none";
} else {
style.display ="";
style.color = colorFunc(color, alpha);
}
}
callLater(timeout, arguments.callee, cycle + 2, timeout);
};
// < 5 fps
intervalFunc(0, 1/5);
};
addLoadEvent(colorWheelOnLoad);
// rewrite the view-source links
addLoadEvent(function () {
var elems = getElementsByTagAndClassName("A", "view-source");
var page = "color_wheel/";
for (var i = 0; i < elems.length; i++) {
var elem = elems[i];
var href = elem.href.split(/\//).pop();
elem.target = "_blank";
elem.href = "../view-source/view-source.html#" + page + href;
}
});

View File

@@ -1,31 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Demo of MochiKit.Color</title>
<link href="color_wheel.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="color_wheel.js"></script>
</head>
<body>
<h1>Color Wheel</h1>
<div id="docs">
Animated visualization of all the CSS3 colors by:
hue (angle), saturation (distance), luminance (time/alpha).
<br />
Uses <a href="http://mochikit.com/">MochiKit</a>'s
<a href="../../doc/html/lib/MochiKit/Color.html">MochiKit.Color</a>,
<a href="../../doc/html/lib/MochiKit/DOM.html">MochiKit.DOM</a>,
and <a href="../../doc/html/lib/MochiKit/Async.html">MochiKit.Async</a>.
</div>
<div id="source">
View Source: [
<a href="index.html" class="view-source">index.html</a> |
<a href="color_wheel.js" class="view-source">color_wheel.js</a>
]
</div>
<div id="color_wheel_container">
<div id="color_wheel" />
</div>
</body>
</html>

View File

@@ -1,28 +0,0 @@
h1 {
font-size: 2em;
color: #4B4545;
text-align: center;
}
.draggable
{
color: white;
cursor: move;
font-size: 25px;
height: 100px;
line-height: 100px;
position: absolute;
text-align: center;
top: 200px;
width: 100px;
}
.blue { background: blue; }
.green { background: green; }
.red { background: red; }
.white
{
background: white;
border: 1px solid black;
color: black;
}

View File

@@ -1,73 +0,0 @@
/*
Drag: A Really Simple Drag Handler
*/
Drag = {
_move: null,
_down: null,
start: function(e) {
e.stop();
// We need to remember what we're dragging.
Drag._target = e.target();
/*
There's no cross-browser way to get offsetX and offsetY, so we
have to do it ourselves. For performance, we do this once and
cache it.
*/
Drag._offset = Drag._diff(
e.mouse().page,
elementPosition(Drag._target));
Drag._move = connect(document, 'onmousemove', Drag._drag);
Drag._down = connect(document, 'onmouseup', Drag._stop);
},
_offset: null,
_target: null,
_diff: function(lhs, rhs) {
return new MochiKit.DOM.Coordinates(lhs.x - rhs.x, lhs.y - rhs.y);
},
_drag: function(e) {
e.stop();
setElementPosition(
Drag._target,
Drag._diff(e.mouse().page, Drag._offset));
},
_stop: function(e) {
disconnect(Drag._move);
disconnect(Drag._down);
}
};
connect(window, 'onload',
function() {
/*
Find all DIVs tagged with the draggable class, and connect them to
the Drag handler.
*/
var d = getElementsByTagAndClassName('DIV', 'draggable');
forEach(d,
function(elem) {
connect(elem, 'onmousedown', Drag.start);
});
});
connect(window, 'onload',
function() {
var elems = getElementsByTagAndClassName("A", "view-source");
var page = "draggable/";
for (var i = 0; i < elems.length; i++) {
var elem = elems[i];
var href = elem.href.split(/\//).pop();
elem.target = "_blank";
elem.href = "../view-source/view-source.html#" + page + href;
}
});

View File

@@ -1,38 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Signal Example</title>
<link href="draggable.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="draggable.js"></script>
</head>
<body>
<h1>
Dragging with MochiKit
</h1>
<p>
This is an example of one might implement a drag handler with
MochiKit&#8217;s Signal.
</p>
<p>
For a detailed description of what happens under the hood, check out
<a href="draggable.js" class="view-source">draggable.js</a>.
</p>
<p>
View Source: [
<a href="index.html" class="view-source">index.html</a> |
<a href="draggable.js" class="view-source">draggable.js</a> |
<a href="draggable.css" class="view-source">draggable.css</a>
]
</p>
<div class="draggable red" style="left: 10px;">R</div>
<div class="draggable green" style="left: 120px;">G</div>
<div class="draggable blue" style="left: 230px;">B</div>
<div class="draggable white" style="left: 340px;">W</div>
</body>
</html>

View File

@@ -1,88 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Interpreter - JavaScript Interactive Interpreter</title>
<link href="interpreter.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../lib/MochiKit/MochiKit.js"></script>
<script type="text/javascript" src="interpreter.js"></script>
</head>
<body>
<h1>
Interpreter - JavaScript Interactive Interpreter
</h1>
<div>
<p>
This demo is a JavaScript interpreter. Type some code into
the text input and press enter to see the results. It uses
<a href="http://mochikit.com">MochiKit</a>'s
<a href="../../doc/html/lib/MochiKit/DOM.html">MochiKit.DOM</a>
to manipulate the display. It also supports waiting for
<a href="../../doc/html/lib/MochiKit/Async.html">MochiKit.Async</a>
Deferreds via <tt>blockOn(aDeferred)</tt>.
</p>
</div>
<div>
View Source: [
<a href="index.html" class="view-source">index.html</a> |
<a href="interpreter.js" class="view-source">interpreter.js</a>
]
</div>
<form id="interpreter_form" autocomplete="off">
<div id="interpreter_area">
<div id="interpreter_output"></div>
</div>
<div id="oneline">
<input id="interpreter_text" name="input_text" type="text" class="textbox" size="100" />
</div>
<div id="multiline">
<textarea id="interpreter_textarea" name="input_textarea" type="text" class="textbox" cols="97" rows="10"></textarea>
<br />
</div>
</form>
<div>
Notes:
<ul>
<li>
To show the signature of a MochiKit function and link
to its documentation, type help(fn) on any MochiKit
function.
</li>
<li>
To write multi-line code snippets, use the lower text area
and press ctrl-enter or cmd-enter to submit.
</li>
<li>
<tt>function name() {}</tt> syntax might not end up in
window scope, so use <tt>name = function () {}</tt>
syntax instead
</li>
<li>
If you want to stuff something into the output window
other than the <tt>repr(...)</tt> of the expression
result, use the <tt>writeln(...)</tt> function.
It accepts anything that MochiKit.DOM does, so you can
even put styled stuff in there!
</li>
<li>
Use <tt>clear()</tt> to clear the interpreter window.
</li>
<li>
You can use <tt>blockOn(aDeferred)</tt> to wait on a
Deferred. This expression must be used by itself, so
the value must be obtained from <tt>_</tt> or
<tt>last_exc</tt>. Typing any expression will
cancel the Deferred.
</li>
<li>
Up and down arrow keys work as a rudimentary history
</li>
<li>
<tt>_</tt> is the value of the last expression
that was not <tt>undefined</tt>, <tt>last_exc</tt> is
the value of the last unhandled exception.
</li>
</ul>
</div>
</body>
</html>

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