Compare commits

..

1263 Commits

Author SHA1 Message Date
(no author)
b35fdfb1ef This commit was manufactured by cvs2svn to create branch
'Accessible_042401_Branch2'.

git-svn-id: svn://10.0.0.236/branches/Accessible_042401_Branch2@93040 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 23:59:46 +00:00
pavlov%netscape.com
3fc8650b96 fixing crasher bug 74270. r=brendan, blizzard, sr=tor@cs.brown.edu. a=blizzard
fixing crasher bug 76032.  r=tor@cs.brown.edu sr=blizzard. a=brendan
fixing unix image scaling bug 74313.  r=me (on syd's code) r=syd (on the rest of the code), sr=tor@cs.brown.edu.  a=asa


git-svn-id: svn://10.0.0.236/trunk@92990 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 05:46:46 +00:00
pollmann%netscape.com
673558e402 Bug 76684: Fix crash on recursive submit event processing, r=rods@netscape.com, sr=brendan@mozilla.org, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92989 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 05:18:10 +00:00
attinasi%netscape.com
8702f9571b Block Regression Test File: NOT PART OF BUILD OR DISTRIBUTION - LAYOUT TESTING ONLY (really). Added testcase (ref. b=62376)
git-svn-id: svn://10.0.0.236/trunk@92987 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 04:49:09 +00:00
cls%seawood.org
38fad4bc80 Do not use builtin mkdepend for OS/2 until they've ported it. Fixes OS/2 tinderbox bustage caused by previous checkin for bug #66529 r=mkaply
git-svn-id: svn://10.0.0.236/trunk@92985 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 03:54:12 +00:00
dbaron%fas.harvard.edu
be77b0d07a Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding imglib2 to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@92983 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 02:36:52 +00:00
gordon%netscape.com
1a8faed5c8 Approved checking for bug 76372, r=gagan, sr=brendan, a=brendan/chofmann. Added guards against calls to uninitialized nsCacheEntryHashtable.
git-svn-id: svn://10.0.0.236/trunk@92982 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 02:22:27 +00:00
pschwartau%netscape.com
f9254662af Avoid a name conflict; getClass() is already used in js/src/liveconnect/jsj_JavaClass.c
git-svn-id: svn://10.0.0.236/trunk@92981 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 01:30:53 +00:00
roc+%cs.cmu.edu
a841bac02b Add API to view manager to get/set default background color (used when refresh disabled and possibly useful for other things). Have Docshell preserve background color across page loads. Make root frames set background color. Fix for bug 75591. r=waterson,sr=attinasi,a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92978 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 01:01:16 +00:00
rginda%netscape.com
2c86cad907 - not built -
add FEVAL-* sheets for evals performed in the debug target's current frame
random colors changed again


git-svn-id: svn://10.0.0.236/trunk@92977 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:56:41 +00:00
rginda%netscape.com
86a981d20e - not built -
more string fun


git-svn-id: svn://10.0.0.236/trunk@92976 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:55:24 +00:00
rginda%netscape.com
f63bb71b74 - not built -
add tons of .js files for drag-and-drop and tooltips support
add tooltip popupset
switch from an html:iframe (which supports .contentDocument) to a xul:iframe (which supports tooltips and dnd)


git-svn-id: svn://10.0.0.236/trunk@92975 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:55:04 +00:00
rginda%netscape.com
93f11c511a - not built -
copy getCommonPfx() from chatzilla's utils.js, used for tab complete


git-svn-id: svn://10.0.0.236/trunk@92974 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:53:41 +00:00
rginda%netscape.com
c76f201832 - not built -
promote console.display() to display()
add displayCommands(), evalInDebuggerScope(), evalInTargetScope(), fillInToolTip() [copied from chatzilla], formatEvalException() [refactored from venkman-handlers.js]
set window._content for drag-and-drop foo
call displayCommands() on startup.
add "venkman-link" to CSS class in htmlVA() for the case where the caller is providing custom attributes that do not include "class"


git-svn-id: svn://10.0.0.236/trunk@92973 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:53:00 +00:00
rginda%netscape.com
f3039533ba - not built -
add preff for tab-tab timeout


git-svn-id: svn://10.0.0.236/trunk@92971 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:49:17 +00:00
rginda%netscape.com
7c50df183f - not built -
wrap string bundle calls in a try/catch
add CMD_* consts and other l10n strings


git-svn-id: svn://10.0.0.236/trunk@92970 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:48:57 +00:00
rginda%netscape.com
5f7ad126c0 - not built -
don't print usage if a command returns false, that's lame
imeplement /commands, /cont
factor exception formatting into formatEvalException now that there are two places that need it
make onInputEval evaluate in the target scope instead of the debugger's scope
copy tab complete code from chatzilla


git-svn-id: svn://10.0.0.236/trunk@92969 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:47:57 +00:00
rginda%netscape.com
f4073de170 -not built-
add $ array to hold return values from /eval commands
save currentFrameIndex into the frames array, instead of a reference to the current frame.


git-svn-id: svn://10.0.0.236/trunk@92968 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:45:45 +00:00
rginda%netscape.com
bb717454a9 - not built -
switch from hardcoded strings to localizable things
add /commands, and /cont commands


git-svn-id: svn://10.0.0.236/trunk@92967 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:44:30 +00:00
sonmi%netscape.com
2c31d7ecb6 made changes so script (-t) can be run on NT
git-svn-id: svn://10.0.0.236/trunk@92966 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:38:21 +00:00
sonmi%netscape.com
13815e5c8a made changes to the backward compatibility test master dir, so the
master dir does not need to come from the same nssver (for example tip, 32...)
now only a change in the variable BC_MASTER is needed to test against a
different build


git-svn-id: svn://10.0.0.236/trunk@92965 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:37:38 +00:00
pavlov%netscape.com
8943b28271 fixing image printing on unix. bug 76993. r=brendan sr=blizzard a=asa
git-svn-id: svn://10.0.0.236/trunk@92964 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:30:53 +00:00
waterson%netscape.com
034c7e8885 Bug 76407. Handle second CantRenderReplacedElement() request for same frame: check to see if we've already posted an event for the frame. r=dbaron, sr=attinasi, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@92963 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:05:33 +00:00
heikki%netscape.com
75dc2e58dc Bug 76641, back out baseURI property in the Node interface to fix binary compatibility. baseURI property is implemented in a different way on the DOM conversion branch, so baseURI will get back when the branch lands. This fix by jst, r=heikki, sr=brendan, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@92962 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-24 00:04:11 +00:00
attinasi%netscape.com
9833e5b433 Image dimensions now show up in title with or without IMG2. b=57549 r=pavlov sr=waterson a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92961 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 23:46:50 +00:00
leaf%mozilla.org
2b8a754db5 Automated update
git-svn-id: svn://10.0.0.236/trunk@92959 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:59:58 +00:00
cls%seawood.org
776ae0f789 Fix dependency rules for in-tree mkdepend.
Force solaris to use in-tree mkdepend since their system makedepend up to at least solaris 7 causes the build times to more than double with the new non-compiler dependency scheme.


git-svn-id: svn://10.0.0.236/trunk@92958 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:54:29 +00:00
pinkerton%netscape.com
56ab94ca43 use openDialog instead of open to get around security manager when opening console. r=rginda/a=asa, bug 59748
git-svn-id: svn://10.0.0.236/trunk@92956 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:35:53 +00:00
tara%tequilarista.org
f1011adbda Checking in the last of the changes for 76837 for 2.12. Good enough for government work.
git-svn-id: svn://10.0.0.236/trunk@92954 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:16:12 +00:00
tara%tequilarista.org
b31fa05f51 README now points everybody to the release notes and the new user guide
git-svn-id: svn://10.0.0.236/trunk@92953 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:14:50 +00:00
shanjian%netscape.com
13b66d59a1 #76848 Regression in handling global fonts
r = rbs@maths.uq.edu.au  sr,a=blizzard


git-svn-id: svn://10.0.0.236/trunk@92952 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:11:59 +00:00
dbragg%netscape.com
753fbf9e44 Fix for bug 76541, r=danm, sr=brendan, a=asa@mozilla.org. Suspending and Releasing JS requests during Alert and Confirm dialog creation.
git-svn-id: svn://10.0.0.236/trunk@92951 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 22:08:05 +00:00
chak%netscape.com
c6c8db899a I screwed up by removing something i should not have in my prev checkin. sorry.
a=ducarroz


git-svn-id: svn://10.0.0.236/trunk@92950 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 21:55:01 +00:00
chak%netscape.com
c51ac68160 Patch for Blocker Bug#77176 - mfcembed crashes opening password dialogue
r=ccarlen,danm
sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@92949 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 21:36:51 +00:00
danm%netscape.com
08cb9f6a3d fix bad exported function definitions. blocker bug 77176 code=jeff@tcbnetworks.com r=hyatt,me a=kysmith
git-svn-id: svn://10.0.0.236/trunk@92948 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 21:34:42 +00:00
pinkerton%netscape.com
9a8e5242b8 fix build bustage that people who don't trash dist will see with nsICiter.h. We use the IDL version now, don't export header to dist. sr=sfraser/blizzard.
git-svn-id: svn://10.0.0.236/trunk@92947 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 21:31:18 +00:00
rginda%netscape.com
2b399134a9 - not built -
add venkman-link effects
assorted color/style changes


git-svn-id: svn://10.0.0.236/trunk@92944 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:33:20 +00:00
rginda%netscape.com
26c9b0c483 - not built -
more l10n strings


git-svn-id: svn://10.0.0.236/trunk@92943 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:32:27 +00:00
rginda%netscape.com
873a489bd1 - not built -
add argumentsAsArray() utility function to create an array out of extra arguments passed to a function


git-svn-id: svn://10.0.0.236/trunk@92942 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:31:53 +00:00
rginda%netscape.com
71145c6562 - not built -
add htmlVA() to create anchors with the "venkman-link" class
print hello message on successful startup, with link to sample debug target.
add exception IDs missing parameter, invalid parameter, and subscript load exceptions
add function name property to BadMojo objects
throw invalis parameter from display() if the parameter looks bad.
switch from document.createElementNS to the new html utility functions.
allow message to be a string (we create the testnode), or a DOM object (we just append it to the content tree)


git-svn-id: svn://10.0.0.236/trunk@92941 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:30:44 +00:00
rginda%netscape.com
6c3292ad9a -not built-
more l10n strings


git-svn-id: svn://10.0.0.236/trunk@92940 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:26:04 +00:00
rginda%netscape.com
9679f81c4c -not built-
remove sample output
s/console.commands/console._commands/g, leading _ indicates variable is "private"
l10n in onInputCommand()
report function name for caught exceptions, if it is available
implement /frame, /help, /scope, /quit, and /where


git-svn-id: svn://10.0.0.236/trunk@92939 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:24:32 +00:00
rginda%netscape.com
4240351358 - not built -
factor debug stop code into debugTrap()
add detachDebugger() function to cleanup the debugger onunload
add formatProperty, formatScript, formatStackFrame, and formatValue fucntions to turn jsdI* values into strings
add displayCallStack() function to dump the call stack to the console
add displayFrame() function to dump a frame to the console


git-svn-id: svn://10.0.0.236/trunk@92938 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:21:53 +00:00
rginda%netscape.com
8cab2509dd - not built -
add eval, frame, help, scope, and where commands.  The hardcoded strings need to be moved into the .properties file.


git-svn-id: svn://10.0.0.236/trunk@92937 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:18:48 +00:00
rginda%netscape.com
4cdd360052 - not built -
add utility functions for creating html elements


git-svn-id: svn://10.0.0.236/trunk@92936 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:17:39 +00:00
rginda%netscape.com
c11f7fe4c1 - not built -
add line attribute to jsdIStackFrame
remove isFuction from jsdIValue
add TYPE_UNKNOWN to jsType "enumeration" so we don't fail hard if we can't figure out the type.
add hook type "enumeration" to jsdIExecutionHook


git-svn-id: svn://10.0.0.236/trunk@92935 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:15:55 +00:00
rginda%netscape.com
baa9bebcf0 - not built -
add line attribute to jsdStackFrame
add pcToLine and lineToPc methods to jsdStackFrame
remove isFunction attribute from jsdValue (already covered by jsType attribute)
add propertyCount attribute to jsdValue so you can get the property cound without forcing a bunch of property wrappers to be created (as in GetProperties())


git-svn-id: svn://10.0.0.236/trunk@92934 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 19:12:56 +00:00
roc+%cs.cmu.edu
67f2bfdbac Backing myself out ... IDIOT.
git-svn-id: svn://10.0.0.236/trunk@92932 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 18:40:01 +00:00
roc+%cs.cmu.edu
ef97784bf9 Copy background color from the old view manager to the new view manager when loading a new document. Fix for bug 75591. r=waterson,sr=attinasi,a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92927 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 18:16:13 +00:00
roc+%cs.cmu.edu
980b62ea0a Adding view manager API for specifying background color for the document. Fix for bug 75591. r=waterson,sr=attinasi,a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92926 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 18:14:46 +00:00
colin%theblakes.com
722862ec1c Remove unused OpenVMS-specific lines.
b=76519 r=cls a=blizzard


git-svn-id: svn://10.0.0.236/trunk@92924 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 10:43:11 +00:00
pavlov%netscape.com
505aae9c7e fixing image colors on beos. patch from Wade Majors <guru@startrek.com>. bug 75339. r=pavlov sr=cls@seawood.org
git-svn-id: svn://10.0.0.236/trunk@92923 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 08:27:06 +00:00
ian%hixie.ch
f380df49a8 Changing release numbers to 2.0 to match mozbot version number.
git-svn-id: svn://10.0.0.236/trunk@92922 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 07:09:20 +00:00
ian%hixie.ch
b45b41311b Updating mozbot to version 2.0: changed to a more modular architecture, added support for multiple channels, added support for multiple nicks, generally cleaned up the code, etc. Uses some code and ideas from timeless and zach.
git-svn-id: svn://10.0.0.236/trunk@92921 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 07:07:17 +00:00
myk%mozilla.org
8dcea84e9b updated url to stats on mothra
git-svn-id: svn://10.0.0.236/trunk@92920 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 06:02:59 +00:00
joki%netscape.com
bac2271263 Fix for bug 71283, null pointer check for event listeners passed into AddEventListener. a:choffmann
git-svn-id: svn://10.0.0.236/trunk@92919 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 05:33:07 +00:00
gordon%netscape.com
e42611a0e1 Approved checkin for bug 76125, cleanup usage of pldhashtable in nsCacheService.cpp. r=gagan, sr=brendan, a=asa.
git-svn-id: svn://10.0.0.236/trunk@92918 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-23 05:15:03 +00:00
yokoyama%netscape.com
a7aaffb7de Fix for 76152: /r=bstell; /sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92912 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 22:45:30 +00:00
bbaetz%cs.mcgill.ca
8d9ff8477d bug 77095 - fix casing typo in directory.js
patch by anedah-9@sm.luth.se
r=bbaetz, sr=shaver, a=asa


git-svn-id: svn://10.0.0.236/trunk@92909 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 19:11:54 +00:00
bbaetz%cs.mcgill.ca
267bfa29ad bug 68472 - avoid crash on shutdown in xlib.
patch by Roland.Mainz@informatik.med.uni-giessen.de
r=blizzard, sr=shaver, a=roc+moz
Not part of build.


git-svn-id: svn://10.0.0.236/trunk@92908 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 19:05:22 +00:00
justdave%syndicomm.com
42f8890023 Adding reference to data/comments needing to be an exception to the blocking of the 'data' folder.
git-svn-id: svn://10.0.0.236/trunk@92907 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 18:56:58 +00:00
justdave%syndicomm.com
d7161d53fa Checking in Matty's update to the release notes
git-svn-id: svn://10.0.0.236/trunk@92905 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 18:48:04 +00:00
gerv%gerv.net
abe6cbd6fc Added a couple of lines about mysqld-watcher.pl. Bug 76862.
git-svn-id: svn://10.0.0.236/trunk@92902 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 18:13:40 +00:00
justdave%syndicomm.com
80705e51c8 Per bug 76862, moving mysqld-watcher.pl into contrib
git-svn-id: svn://10.0.0.236/trunk@92901 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 17:48:12 +00:00
gerv%gerv.net
dba51d2e7b Lots of formatting fixups, removed tab characters. Also removed incorrect DB_File requirement.
git-svn-id: svn://10.0.0.236/trunk@92900 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 17:26:35 +00:00
gerv%gerv.net
44ffd3d316 Fix bug 76524 - mostfreqhtml param text has a few issues. Patch by matty@chariot.net.au .
git-svn-id: svn://10.0.0.236/trunk@92899 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 16:44:10 +00:00
blizzard%redhat.com
00e97d387e Checking in code for gerv. Fix bug #77096. value -> label in "Copy Email Address" context menu command. r=doron, sr=shaver, a=dbaron for 0.9.
git-svn-id: svn://10.0.0.236/trunk@92898 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 16:40:53 +00:00
stephend%netscape.com
6edebea9ce Bug 77031 - Bookmark to Iplanet's PSM should be removed from under 3rd-Party Tools. r=doron@nabooonline.com sr=ben@netscape.com a=dbaron on behalf of drivers@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92889 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 01:49:37 +00:00
stephend%netscape.com
52d3594d25 Bug 33724. 'Block Image' is mis-named. r=blakeross@telocity.com sr=alecf@netscape.com a=blizzard@mozilla.org (on behalf of drivers@mozilla.org)
git-svn-id: svn://10.0.0.236/trunk@92888 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-22 01:13:09 +00:00
harishd%netscape.com
d4eee33ec9 fixing the bustage...again
git-svn-id: svn://10.0.0.236/trunk@92887 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 23:40:05 +00:00
harishd%netscape.com
ccf1ed4977 fixing the bustage...
git-svn-id: svn://10.0.0.236/trunk@92886 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 22:57:22 +00:00
harishd%netscape.com
d2199013d8 69455 - enable noframes content when frames are disabled
r=heikki,sr=waterson,a=choffmann


git-svn-id: svn://10.0.0.236/trunk@92885 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 22:22:15 +00:00
ccarlen%netscape.com
9f42c732d7 Bug 75745 - Remove nsIPrompt implementations from embedding chrome. r=valeski, sr=blizzard, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@92884 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 22:17:39 +00:00
ccarlen%netscape.com
9a5631bd30 Bug 75745 - Remove nsIPrompt implementations from embedding chrome. r=valeski, sr=blizzard, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@92881 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 22:07:25 +00:00
tor%cs.brown.edu
de17a33923 Backing out fix from bug 31623. a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92880 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 18:51:59 +00:00
bbaetz%cs.mcgill.ca
ec6c4577c2 Bug 72087 - major xprint revamp
patch by Roland.Mainz@informatik.med.uni-giessen.de
r=blizzard, sr=shaver, a=asa

NOT PART OF DEFAULT BUILD


git-svn-id: svn://10.0.0.236/trunk@92879 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 17:20:51 +00:00
karnaze%netscape.com
024580f69d Does not affect the build. Remove delays because most use the patch in bug 62589. This includes the table regression changes in that patch along with others.
git-svn-id: svn://10.0.0.236/trunk@92878 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 15:34:00 +00:00
shaver%mozilla.org
2fbf0db9be not built: fix compilation error due to jschar/PRUnichar mismatch
git-svn-id: svn://10.0.0.236/trunk@92877 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 15:11:02 +00:00
rginda%netscape.com
52a52299eb - not built -
implement jsdIProperty


git-svn-id: svn://10.0.0.236/trunk@92876 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 07:21:27 +00:00
brendan%mozilla.org
31f6a8d613 Restore reviewed code that should have been in the last checkin (76976, r=beard, sr=shaver, a=blizzard).
git-svn-id: svn://10.0.0.236/trunk@92875 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 04:37:01 +00:00
rginda%netscape.com
d7356c1ed0 - not built -
don't need to getMsg for MSG_*, they're already gotten.


git-svn-id: svn://10.0.0.236/trunk@92871 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:55:47 +00:00
danm%netscape.com
a6b0135044 implement nsIPrompt override component. bug 75745 r=blizzard,chak
git-svn-id: svn://10.0.0.236/trunk@92870 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:46:29 +00:00
danm%netscape.com
0ea41a2466 implement ShowAsModal and remove nsIPrompt implementation; requirements for fielding default nsIPrompts. bug 75745 r=blizzard,hyatt
git-svn-id: svn://10.0.0.236/trunk@92869 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:45:37 +00:00
danm%netscape.com
86665fa5ff nsIPrompt interface requests are now fielded to the service, rather than the enclosing chrome window. bug 72112 r=blizzard,ccarlen
git-svn-id: svn://10.0.0.236/trunk@92868 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:42:14 +00:00
rginda%netscape.com
f25897fe0f - not built -
add some strings.


git-svn-id: svn://10.0.0.236/trunk@92866 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:07:57 +00:00
rginda%netscape.com
27a5fe9987 - not built -
include more javascript!


git-svn-id: svn://10.0.0.236/trunk@92865 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:07:17 +00:00
rginda%netscape.com
c7a027421f - not built -
add warn and ASSERT
make load() a top level function
exception i18n, add numeric code to exceptions


git-svn-id: svn://10.0.0.236/trunk@92864 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:06:41 +00:00
rginda%netscape.com
d1a556c3c8 - not built -
i18n change


git-svn-id: svn://10.0.0.236/trunk@92863 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:04:21 +00:00
rginda%netscape.com
7e04a46232 - not built -
l18n changes
fix exception reporting


git-svn-id: svn://10.0.0.236/trunk@92862 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:02:41 +00:00
rginda%netscape.com
c0686d744a - not built -
move variables into better places, flesh out the debuggerHook a bit more
add detachDebugger()


git-svn-id: svn://10.0.0.236/trunk@92861 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 02:01:17 +00:00
rginda%netscape.com
059c811eae - not built -
add new files to the jar


git-svn-id: svn://10.0.0.236/trunk@92860 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 01:58:50 +00:00
rginda%netscape.com
c58af65b8f -not built-
initial add
move the eval into it's own file, if we catch an exception with from this file, we know it came from something the user typed.


git-svn-id: svn://10.0.0.236/trunk@92859 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 01:58:24 +00:00
rginda%netscape.com
a90cb46f3d - not built -
initial add
message utils and defines for l18n


git-svn-id: svn://10.0.0.236/trunk@92858 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 01:57:15 +00:00
rginda%netscape.com
2845d4bc9c reverting bogus checkin
r=peterv, a=asa


git-svn-id: svn://10.0.0.236/trunk@92857 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 00:39:29 +00:00
ccarlen%netscape.com
4ee95c6310 Bug 46859 - Remove UniversalDialog. r=valeski/sr=rpotts,sfraser/a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92856 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 00:26:18 +00:00
Chris.Yeh%nokia.com
d0f18fb164 column change from when to ci_when a long time ago. make repophook.cgi
match database schema


git-svn-id: svn://10.0.0.236/trunk@92855 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-21 00:10:39 +00:00
disttsc%bart.nl
ee5f42f1aa Make help extension actually be installed on platforms which use Makefile.in, bug 76935, r=sgehani@netscape.com, r=cls@seawood.org, a=tor@cs.brown.edu
git-svn-id: svn://10.0.0.236/trunk@92853 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 23:00:36 +00:00
tara%tequilarista.org
b9495ae895 Checking in massive changes to make this document more generic to all bugzilla installations
git-svn-id: svn://10.0.0.236/trunk@92850 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 22:08:09 +00:00
sonmi%netscape.com
bf99503c10 fixed problems with teh returncode of cert.sh
git-svn-id: svn://10.0.0.236/trunk@92848 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 21:35:04 +00:00
timeless%mac.com
cbcfd57404 fix Bugzilla Bug 31623 Location of Bookmarks file cannot be changed
fix by gervase.markham@univ.ox.ac.uk
r=timeless, sr=waterson, a=asa


git-svn-id: svn://10.0.0.236/trunk@92846 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 21:14:11 +00:00
sonmi%netscape.com
e38a383472 added -D to the selfserver
git-svn-id: svn://10.0.0.236/trunk@92845 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 20:50:24 +00:00
dr%netscape.com
7447c2ab5c fix for 76580 (misplaced <command id=cmd_copyLink/>, etc. in mailnews). patch by jag, r=dr, sr=ben, a=asa
git-svn-id: svn://10.0.0.236/trunk@92843 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 19:06:49 +00:00
tara%tequilarista.org
06de4475cc Adding new Release Notes for MattyT
git-svn-id: svn://10.0.0.236/trunk@92841 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 16:46:59 +00:00
justdave%syndicomm.com
b04f7869bc another chmod with a leading 1 (Perl interprets this as a decimal instead of octal)
git-svn-id: svn://10.0.0.236/trunk@92834 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 14:41:44 +00:00
nboyd%atg.com
f2db5eac9c Convert to IdScriptable form.
Patch from Igor.


git-svn-id: svn://10.0.0.236/trunk@92833 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 14:29:56 +00:00
cls%seawood.org
b53fb27932 Add the plugins dir to LD_LIBRARY_PATH so that multiple-library components can find their secondary libs. Bug #58022 a=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92832 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 13:53:20 +00:00
mkaply%us.ibm.com
e6a66fd152 Don't need to make this change if pref isn't in
git-svn-id: svn://10.0.0.236/trunk@92829 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 12:19:23 +00:00
disttsc%bart.nl
3de766b659 Bug 45143: fix <meta http-equiv="refresh" content="X; url=URI"> to accept URI which contain commas. While I'm at it, merging the implementations in nsDocShell.cpp and nsHTMLContentSink.cpp. r=brendan@mozilla.org, sr=rpotts@netscape.com, a=hofmann
git-svn-id: svn://10.0.0.236/trunk@92825 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 08:11:12 +00:00
bryner%uiuc.edu
607c3ab676 Backing out bnesse's fix for bug 46863 due to numerous types of runtime bustage on linux and windows. a=brendan.
git-svn-id: svn://10.0.0.236/trunk@92818 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 06:45:56 +00:00
beard%netscape.com
16cf116363 Fix for bug #76677. r=beard, sr=brendan, a=asa.
git-svn-id: svn://10.0.0.236/trunk@92816 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 06:20:42 +00:00
pschwartau%netscape.com
3a1720cd7f Minor change; see Brendan's comment at 2001-04-19 12:00 in Bugzilla bug 76634.
git-svn-id: svn://10.0.0.236/trunk@92809 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 04:57:51 +00:00
rginda%netscape.com
da670b00a2 - not built -
stop for debugger keyword


git-svn-id: svn://10.0.0.236/trunk@92807 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 04:43:03 +00:00
disttsc%bart.nl
e7ef2ecd2a bug 76808: remove xpfe/components/sample from allmakefiles.sh now that directory is cvs removed. r=cls, a=tor
git-svn-id: svn://10.0.0.236/trunk@92806 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 04:25:21 +00:00
rginda%netscape.com
8d5107cb90 - not build -
basic methods for jsdIObject and jsdIProperty
tweak string params
most methods for jsdIScript jsdIStackFrame, jsdIThreadState, and jsdIValue
add hack methods enterNestedEventLoop and exitNestedEventLoop.  These should be moved to another interface before long.


git-svn-id: svn://10.0.0.236/trunk@92802 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 04:08:47 +00:00
rginda%netscape.com
b3af18cfb8 - not built -
add private data to JSDContexts and JSDScripts, add JSD_EvaluateUCScriptInStackFrame
fix comment for JSD_GetValueProperty


git-svn-id: svn://10.0.0.236/trunk@92801 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 04:03:21 +00:00
bnesse%netscape.com
0709290be5 Swapped order of #includes to fix nebiros (SunOS/sparc) build bustage.
git-svn-id: svn://10.0.0.236/trunk@92799 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 04:00:02 +00:00
rginda%netscape.com
9a4aacb341 - not built -
add private data to JSDContexts and JSDScripts, add JSD_EvaluateUCScriptInStackFrame


git-svn-id: svn://10.0.0.236/trunk@92798 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:59:43 +00:00
rginda%netscape.com
8781bc62ce - not built -
declare jsdObject, jsdProperty, jsdStackFrame, jsdThreadState, and jsdValue


git-svn-id: svn://10.0.0.236/trunk@92797 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:57:28 +00:00
mkaply%us.ibm.com
e7e1220bbe OS/2 TB bustage
OS/2 only change needed with the OS/2 change to nsCom.h


git-svn-id: svn://10.0.0.236/trunk@92796 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:57:26 +00:00
rginda%netscape.com
a992a68b97 - not built -
mmm.
skeleton jsdIObject, jsdIProperty
string tweaking
lock / unlock script sytem for JSDScript calls
imeplement jsdIStackFrame, jsdIThreadState, and jsdIValue
hacked in EnterNestedEventLoop and ExitNestedEventLoop


git-svn-id: svn://10.0.0.236/trunk@92794 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:54:05 +00:00
rginda%netscape.com
144429c08a - not built -
indentation fix


git-svn-id: svn://10.0.0.236/trunk@92792 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:48:03 +00:00
rginda%netscape.com
274c8e0f4f - not built -
add *_EvaluateUCScriptInStackFrame


git-svn-id: svn://10.0.0.236/trunk@92791 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:47:09 +00:00
rginda%netscape.com
8f7fe7cbfc - not built -
add private data to JSDScripts, fix unsigned vs signed warning


git-svn-id: svn://10.0.0.236/trunk@92790 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:45:39 +00:00
mkaply%us.ibm.com
67e6695988 OS/2 TB bustage
OS/2 only change needed with the OS/2 change to nsCom.h


git-svn-id: svn://10.0.0.236/trunk@92789 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:45:19 +00:00
rginda%netscape.com
34c01b18cc - not built -
quiet unix missing initializer warnings
add private data to JSDContexxt


git-svn-id: svn://10.0.0.236/trunk@92788 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:44:25 +00:00
mkaply%us.ibm.com
f2671709b0 OS/2 TB bustage
Make OS/2 interfaces _System. Might cause OS/2 breakage - I'm testing it as fast as I can.


git-svn-id: svn://10.0.0.236/trunk@92787 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:44:05 +00:00
rginda%netscape.com
bb30f7ce3f -not built-
adding private data to JSDContext, add jsd_EvaluateUCScriptInStackFrame


git-svn-id: svn://10.0.0.236/trunk@92786 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:43:07 +00:00
rginda%netscape.com
e983a744be - not built -
include <ctype.h> for toupper


git-svn-id: svn://10.0.0.236/trunk@92785 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:41:10 +00:00
dr%netscape.com
60bf3150fa fix for 76779 (one-liner, misnamed variable in mailnews). r=hyatt, sr=mscott, a=brendan.
git-svn-id: svn://10.0.0.236/trunk@92782 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 03:12:09 +00:00
timeless%mac.com
df568361ea fix Bugzilla Bug 47743 Copy should be added to e-mail address context menu
by gervase.markham@univ.ox.ac.uk
r=timeless, ok=bienvenu
cond(ok): sr=alecf, a=asa


git-svn-id: svn://10.0.0.236/trunk@92779 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 02:35:53 +00:00
blakeross%telocity.com
a43f7190b8 Open Web Location dialog does not work in Composer, and Choose File... button doesn't work at all (71234, 75849). r=blake, cmanske sr=blizzard, alecf a=asa
git-svn-id: svn://10.0.0.236/trunk@92777 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 02:21:52 +00:00
jgmyers%netscape.com
76f3d186dc Fix typos: bug 75735 r=doron sr=ben a=chofmann
git-svn-id: svn://10.0.0.236/trunk@92775 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 02:08:57 +00:00
sonmi%netscape.com
583e59c6e0 changed the errorcode once more, now there is a system, the higher the
errorcode the more QA errors were encountered
No matter which errors are being found, QA will try to finish the other tests,
so we can't indicate the kind of failure with the returncode
0 means QA passed
open tinderbox issues: results are being put underneath the tinderbox build
this is easy to change by setting the varialbel $RESULTDIR


git-svn-id: svn://10.0.0.236/trunk@92774 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 01:52:42 +00:00
despotdaemon%netscape.com
f24809dfbc Pseudo-automatic update of changes made by ian@hixie.ch.
git-svn-id: svn://10.0.0.236/trunk@92773 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 01:47:42 +00:00
hyatt%netscape.com
71f2a15166 Fix for 76367. r=saari, sr=waterson, a=asa
git-svn-id: svn://10.0.0.236/trunk@92772 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 01:45:07 +00:00
sonmi%netscape.com
1a27efffd0 changes to be able to run qa locally on a tinderbox build
git-svn-id: svn://10.0.0.236/trunk@92770 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 00:52:11 +00:00
bnesse%netscape.com
c058d076e2 Fixing senna build bustage.
git-svn-id: svn://10.0.0.236/trunk@92769 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 00:36:08 +00:00
sonmi%netscape.com
fc5a9579bc changed trustargs on import personal certificates for s/mime
from u,u,u (trusted user) to p,p,p (peer certificate)


git-svn-id: svn://10.0.0.236/trunk@92768 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 00:32:15 +00:00
hyatt%netscape.com
c91138df8b Fix for 76746. r=saari, sr=waterson, a=asa
git-svn-id: svn://10.0.0.236/trunk@92767 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-20 00:16:39 +00:00
waterson%netscape.com
6b673bb2e2 Bug 75591. Null check to handle case where element has been removed from doc, but reference not dropped yet. r=hyatt, sr=jst, a=asa.
git-svn-id: svn://10.0.0.236/trunk@92765 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 23:28:57 +00:00
jfrancis%netscape.com
c10a398054 reserving some id's for nsIRangeUtil. NOT PART OF BUILD
git-svn-id: svn://10.0.0.236/trunk@92764 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 23:21:57 +00:00
shanjian%netscape.com
656421251c #59405 IME candidate window position is not correct in text field on New card and To field
r = sfraser sr=kin a=blizzard
Handle the difference of cursor coordinate required by different platform.
nsICaret.h
nsCaret.cpp
nsEditor.cpp
nsPlaintextEditor.cpp
nsHTMLEditor.cpp


git-svn-id: svn://10.0.0.236/trunk@92763 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 22:46:29 +00:00
despotdaemon%netscape.com
6d123439db Pseudo-automatic update of changes made by arik@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@92762 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 22:24:22 +00:00
bnesse%netscape.com
e8c7f4a0a7 Landing PrefAPI refactoring bug 46863. r=valeski, sr=alecf, a=blizzard.
git-svn-id: svn://10.0.0.236/trunk@92761 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 22:21:39 +00:00
mkaply%us.ibm.com
a1a8a55847 No bug
r=mkaply, a=blizzard
Code from Javier - get images working again, cleanup nsRenderingContext


git-svn-id: svn://10.0.0.236/trunk@92760 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 22:00:56 +00:00
brendan%mozilla.org
f54563bd60 Restore ECMA-required Function.prototype.toString while keeping toSource/uneval fix for bug 73760 (76634, r=beard, sr=shaver, a=asa).
git-svn-id: svn://10.0.0.236/trunk@92759 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 21:57:25 +00:00
attinasi%netscape.com
4ba548978e Fixed handling of empty line after a bullet in QuirksMode. b=75963 r=karnaze@netscape.com sr=waterson@netscape.com a=brendan
git-svn-id: svn://10.0.0.236/trunk@92758 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 21:54:35 +00:00
dr%netscape.com
2b51d63056 fix for 76733 (DocumentViewer::GetInLink, ::GetInImage should be quieter -- needed for immediate silencing of unnecessary mailnews assertions). r=pink, sr=scc, a=asa
git-svn-id: svn://10.0.0.236/trunk@92757 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 21:47:17 +00:00
brendan%mozilla.org
c4f96602a8 Fix regexp object (scope) vs GC deadlock (76233, r=beard, sr=shaver, a=asa).
git-svn-id: svn://10.0.0.236/trunk@92756 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 21:15:40 +00:00
brendan%mozilla.org
3dbc040f94 Fix __kernel_standard prototype to match recent addition of int *err final out-param (8112, r=shaver, sr=me, prototype not used by Mozilla or embedding builds).
git-svn-id: svn://10.0.0.236/trunk@92755 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 21:05:52 +00:00
justdave%syndicomm.com
130396a6d3 Changing all chmod 1777 to chmod 01777. Without the leading 0 it's interpreted as decimal instead of octal (oops)
git-svn-id: svn://10.0.0.236/trunk@92754 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 20:46:53 +00:00
waterson%netscape.com
5e4363687a Bug 76286. Bullet-proof code that uses mDocumentRequest; add assert-botch to catch cases where first request is not LOAD_DOCUMENT_URI. r=darin, sr=mscott, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@92750 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:51:29 +00:00
timeless%mac.com
f7d6fde771 fix Bugzilla Bug 76426 All your control paths should belong to us.
r=valeski, sr=darin, a=asa


git-svn-id: svn://10.0.0.236/trunk@92749 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:43:43 +00:00
chak%netscape.com
4bb22b0e45 Fix for Bug#76657 - ViewSource protocol handler must use nsIRequest::LOAD_FROM_CACHE
r=valeski, sr=brendan@mozilla.org, a=asa@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@92748 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:41:14 +00:00
attinasi%netscape.com
cd296596bb Backing out Peter's changes since it cause the SunOS compiler to go off the deep end. Not apparent why the change should matter, actually, so this is just paranoias.
git-svn-id: svn://10.0.0.236/trunk@92747 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:38:27 +00:00
bernd.mielke%snafu.de
16c67e7c6b checkin of the remaining lines from my previous patch for bug 47432.
thanks to dbaron r=karnaze sr=attinasi a=asa


git-svn-id: svn://10.0.0.236/trunk@92746 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:11:17 +00:00
pschwartau%netscape.com
a6110df839 Getter/setter tests are non-ECMA. Moving them from ecma_3 directory to js1_5 directory.
git-svn-id: svn://10.0.0.236/trunk@92745 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:09:32 +00:00
jgmyers%netscape.com
7cef60f4db use brand.dtd: bug 75735 p=anedah-9@sm.luth.se r=doron sr=alecf a=chofmann
git-svn-id: svn://10.0.0.236/trunk@92744 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 19:00:56 +00:00
law%netscape.com
e6a12cbc4a Fix for bug 50424; correct contractID; r=danm, sr=alecf, a=asa
git-svn-id: svn://10.0.0.236/trunk@92743 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 18:34:53 +00:00
tara%tequilarista.org
c05fe93661 Bullshit checkin to add the fact that the previous changes also include the final fix for bug 72721. I am a buckethead
git-svn-id: svn://10.0.0.236/trunk@92737 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 17:35:23 +00:00
beard%netscape.com
c907b7f850 loadClassName: use current class loader to find classes, before calling Class.forName().
git-svn-id: svn://10.0.0.236/trunk@92736 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 17:31:34 +00:00
peterlubczynski%netscape.com
6201fd8ad7 Fix for clearing previous page title r=valeski sr=waterson a=choffman
git-svn-id: svn://10.0.0.236/trunk@92734 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 17:20:51 +00:00
tara%tequilarista.org
71888475f0 landing final patch for bug 76261
git-svn-id: svn://10.0.0.236/trunk@92733 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 17:19:07 +00:00
jgmyers%netscape.com
58ce853e0c fix typo: bug 31896 r=dmose sr=darin a=blizzard
git-svn-id: svn://10.0.0.236/trunk@92731 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 17:10:50 +00:00
endico%mozilla.org
79aa8cf419 fixing path for accessible in MozillaTinderboxAll and add gfx2
git-svn-id: svn://10.0.0.236/trunk@92727 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 15:49:44 +00:00
locka%iol.ie
9d0c043d95 Sets profile during initialisation to ensure directory locations, cache, cookies etc. all work correctly for control. b=76654, a=blizzard@mozilla.org, sr=blizzard@mozilla.org, r=ccarlen@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92726 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 15:21:16 +00:00
chak%netscape.com
8a625f60dd Fix for bug#76272 - Assertion when using viewsource
r=valeski, sr=alecf, a=blizzard


git-svn-id: svn://10.0.0.236/trunk@92725 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 14:42:52 +00:00
nboyd%atg.com
9cc7ae6dbf Latest patches from Igor.
git-svn-id: svn://10.0.0.236/trunk@92724 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 12:52:39 +00:00
colin%theblakes.com
d74e9d61e7 Move ldap40 and lber40 after MOZ_COMPONENT_LIBS so that they have
a -L in effect. b=76482. r=cld. a=roc+moz.


git-svn-id: svn://10.0.0.236/trunk@92722 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 09:57:17 +00:00
bnesse%netscape.com
b37f8b4028 Removed #pragma mark - stuff that was causing build problems on Windows in preparation for landing bug 46863 tomorrow.
[Not part of the build --- yet :)]


git-svn-id: svn://10.0.0.236/trunk@92710 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 03:49:00 +00:00
cls%seawood.org
f24522eceb Reversing previous checkin. This was not meant for the trunk just yet. Broken client.mk on the branch. :-/
git-svn-id: svn://10.0.0.236/trunk@92706 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 03:00:55 +00:00
sspitzer%netscape.com
c1833e248c fix for #76578. crash on exit when viewing "account central" page.
r=mscott,sr=bienvenu,a=blizzard


git-svn-id: svn://10.0.0.236/trunk@92705 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 02:38:15 +00:00
nicolson%netscape.com
6b315db828 get rid of workarounds for bug 323494.
git-svn-id: svn://10.0.0.236/trunk@92704 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 02:03:55 +00:00
cls%seawood.org
6ebcae0ae4 Build fixes based upon Ron's original mega-patch.
git-svn-id: svn://10.0.0.236/trunk@92703 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 01:53:36 +00:00
sspitzer%netscape.com
275951823d fix for #76200. crash when viewing a message with an <img> tag but no src.
r/sr=valeski,mscott.  a=blizzard


git-svn-id: svn://10.0.0.236/trunk@92702 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-19 00:59:56 +00:00
jdunn%netscape.com
f5527ac6a1 fixing HP tinderbox bustage, just reformatting the lines of code
a=roc@moz
sr=roc+moz
# 76489


git-svn-id: svn://10.0.0.236/trunk@92699 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 22:42:30 +00:00
pschwartau%netscape.com
64cd0c2fe2 "for (i in myArray)" produces unintentional side effects if a test modifies Array.prototype or Object.prototype. Use for (i=0; __; i++) instead.
git-svn-id: svn://10.0.0.236/trunk@92698 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 22:33:31 +00:00
bbaetz%cs.mcgill.ca
8f333fd8a8 bug 76059, fixes A4 printing regression. Patch by atontti@cc.hut.fi.
r=kmcclusk@netscape.com sr=attinasi a=asa


git-svn-id: svn://10.0.0.236/trunk@92695 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 22:11:55 +00:00
rginda%netscape.com
8666c54109 initial add of license templates
git-svn-id: svn://10.0.0.236/trunk@92694 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 22:06:17 +00:00
rginda%netscape.com
bfd100bfed initial add of xul-app template
git-svn-id: svn://10.0.0.236/trunk@92692 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 22:04:30 +00:00
dougt%netscape.com
8420a0e8e6 This fixes the double channel load caused by the directory viewer.
b  = 45066
r  = bbaetz@cs.mcgill.ca
sr = waterson@netscape.com
a   = chofmann@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92691 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 22:01:12 +00:00
rginda%netscape.com
312d1191d6 initial add of template processor
git-svn-id: svn://10.0.0.236/trunk@92690 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 21:45:10 +00:00
despotdaemon%netscape.com
870517bac6 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@92687 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 21:17:32 +00:00
beard%netscape.com
cca45f427e Removed hard tabs, removed unnecessary cast, (Scriptable)null.
git-svn-id: svn://10.0.0.236/trunk@92686 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 20:50:58 +00:00
ben%netscape.com
981d57173e Fix for crash on mac startup, 76526 & other personal toolbar weirdness.
sr=sfraser, a=asa.


git-svn-id: svn://10.0.0.236/trunk@92685 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 20:42:46 +00:00
despotdaemon%netscape.com
304e2c97c8 Pseudo-automatic update of changes made by Chris.Yeh@nokia.com.
git-svn-id: svn://10.0.0.236/trunk@92683 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 19:52:33 +00:00
despotdaemon%netscape.com
d9a9528907 Pseudo-automatic update of changes made by cyeh@bluemartini.com.
git-svn-id: svn://10.0.0.236/trunk@92682 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 19:51:50 +00:00
endico%mozilla.org
7ff7c245a6 initial checkin
git-svn-id: svn://10.0.0.236/trunk@92679 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 18:01:28 +00:00
bryner%uiuc.edu
3cc39f818c bug 70810 [XUL Syntax] Change tab syntax - another of the XUL 1.0 changes. patch from maolson@earthlink.net, r=ben, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92676 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 07:01:29 +00:00
maolson%earthlink.net
d682f6cc6b bug 70810 [XUL Syntax] Change tab syntax - another of the XUL 1.0 changes
r=ben, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@92673 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 06:59:04 +00:00
mjudge%netscape.com
8eb3c77193 forgot 1 change sr=scc r=anthonyd 76442
git-svn-id: svn://10.0.0.236/trunk@92670 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 06:26:19 +00:00
bryner%uiuc.edu
a6e92ef342 Bug 31809:
- When a docshell first takes focus, give focus to its first focusable content
- Make the docshell come after all of its content in the tabbing order

r=saari, sr=hyatt.


git-svn-id: svn://10.0.0.236/trunk@92669 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 06:18:10 +00:00
mjudge%netscape.com
f92ab20e82 76442 sr= scc r= anthonyd. last minute fixes to editor to not do stupid copies and instead to use new case insensitive string compares.
git-svn-id: svn://10.0.0.236/trunk@92668 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 06:17:05 +00:00
dr%netscape.com
58190bba57 64313 (Implement cmd_copyLink, cmd_copyImageLocation, cmd_copyImageContents). Implement the commands, hook them up in the navigator and mailnews frontends, provide hooks for embedding. r=hyatt, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92667 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 06:06:31 +00:00
timeless%mac.com
75929d9555 fix Bugzilla Bug 75853 CR and LF are naked ifdefs
r=dveditz, sr=scc


git-svn-id: svn://10.0.0.236/trunk@92666 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:59:43 +00:00
ben%netscape.com
d8da150fe1 forgot to include this file in previous checkin
git-svn-id: svn://10.0.0.236/trunk@92665 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:49:48 +00:00
scc%mozilla.org
c599e4011d bug #70740: r=mjudge, sr=sfraser. Provide case-insensitive comparison for all string classes
git-svn-id: svn://10.0.0.236/trunk@92664 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:20:06 +00:00
bnesse%netscape.com
2f7b49c5b8 Added support for caching accesses to the root branch as per alecf.
[Not part of the build].


git-svn-id: svn://10.0.0.236/trunk@92663 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:18:47 +00:00
bnesse%netscape.com
49903ac920 Cleaned up bad formatting.
[Not part of the build.]


git-svn-id: svn://10.0.0.236/trunk@92662 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:17:54 +00:00
dveditz%netscape.com
862b98e6df fixing bustage
git-svn-id: svn://10.0.0.236/trunk@92661 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:17:36 +00:00
bnesse%netscape.com
456e141fb3 Added comments as per alecf.
[Not part of the build.]


git-svn-id: svn://10.0.0.236/trunk@92660 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 05:16:47 +00:00
radha%netscape.com
c0f55bbc71 Fix for bug 61557. location.replace() loads wrong page in the frame r=valeski sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@92659 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:55:16 +00:00
ben%netscape.com
57c21e29f7 17920, r=hyatt, sr=sfraser, scc
git-svn-id: svn://10.0.0.236/trunk@92658 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:52:46 +00:00
ben%netscape.com
c639c3ccdd fix for 17920, r=hyatt, sr=sfraser, scc.
git-svn-id: svn://10.0.0.236/trunk@92657 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:38:30 +00:00
ssu%netscape.com
18a8ece1c0 fixing bug 74021 - Stand alone window Close File->Close menu is gray out
r=blake ross
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92656 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:37:01 +00:00
pierre%netscape.com
e1fa3a64af #12386 "Matching of case sensitive attribute values should be case sensitive" sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92655 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:36:52 +00:00
dveditz%netscape.com
7c7c380c70 bug 71393, miscalculates free space on large drives. Contributed by thorgal@amiga.com.pl and bzbarsky@mit.edu, r=ksosez@softhome.net/dveditz@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92654 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:30:26 +00:00
cls%seawood.org
89cc9bc982 Do not building embedding/tests if DISABLE_TESTS is set.
Thanks to Sean Chitwood <darkmane@w-link.net> & Dean Tessman <dean_tessman@hotmail.com> for the patch.
Bug #66697 r=cls


git-svn-id: svn://10.0.0.236/trunk@92653 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:19:09 +00:00
beard%netscape.com
18cfb38847 Fix for bug #60018, ra=edburns, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92652 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:19:00 +00:00
mscott%netscape.com
fef75fad9e Bug #68237 --> fix array bounds read in ::ScanTXT
r=benb
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92651 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 04:08:25 +00:00
blakeross%telocity.com
7cad893111 Pressing Esc while urlbar has focus should revert url to that of page and select contents of urlbar (47863, patch by doronr@naboonline.com). r=bz sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92650 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:50:15 +00:00
mscott%netscape.com
2306c12670 Bug #74547 --> be sure to initialize m_channelListener to consume the output from libmime when fetching a part. This was causing
us to not show inlined images for local messages.
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92649 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:39:37 +00:00
beard%netscape.com
4b7d52f7a7 fix for bug #8112, sr=brendan, r=beard
git-svn-id: svn://10.0.0.236/trunk@92648 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:38:58 +00:00
cls%seawood.org
a261f8d036 Remove mozilla/security from psm2 build list.
Make BUILD_MODULES=psm == BUILD_MODULES=psm2
Bug #75958 r=dbaron


git-svn-id: svn://10.0.0.236/trunk@92647 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:35:06 +00:00
ccarlen%netscape.com
66e7274286 Bug 71641 - profile mgr is creating sub dirs in profile dir it shouldn't be. r=valeski,r=sspitzer,sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92646 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:30:36 +00:00
beard%netscape.com
7ea5ae0dc5 fix for bug #60018 (prevent dangling JSContext), sr=brendan, r=edburns
git-svn-id: svn://10.0.0.236/trunk@92645 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:17:30 +00:00
alecf%netscape.com
9adb18f5d2 add nsTimingService to the factory for bug 72002 sr=ben
git-svn-id: svn://10.0.0.236/trunk@92644 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:16:30 +00:00
beard%netscape.com
0e4835a553 partial fix (fixes refcount leak) for bug #60018, sr=brendan, ra=edburns
git-svn-id: svn://10.0.0.236/trunk@92643 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:16:19 +00:00
alecf%netscape.com
556caf5f2e oops, fix capitalization
git-svn-id: svn://10.0.0.236/trunk@92642 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:12:29 +00:00
gagan%netscape.com
ab557ef568 Fix for bug 68086. Replaced several about: files which were only redirecting to a new location with a single smarter one. r=rpotts, sr=darin
git-svn-id: svn://10.0.0.236/trunk@92641 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:09:32 +00:00
beard%netscape.com
a627d40758 bug #68086, removed trivial redirecting protocol handlers, added nsAboutRedirector.cpp. r=gagan
git-svn-id: svn://10.0.0.236/trunk@92640 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:05:56 +00:00
sdagley%netscape.com
aa037dac34 Changes for #72002. Checking in for alecf. sr=ben,r=alecf
git-svn-id: svn://10.0.0.236/trunk@92639 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:05:10 +00:00
alecf%netscape.com
bb114108ae add nsTimingService.cpp to the windows/unix builds, sr=ben
bug 72002


git-svn-id: svn://10.0.0.236/trunk@92638 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:04:55 +00:00
beard%netscape.com
40c61b9fb1 Fix for Mac bustage. r=gagan
git-svn-id: svn://10.0.0.236/trunk@92637 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:04:44 +00:00
alecf%netscape.com
b3a2f2003b add nsITimingService.idl to windows/mac builds
sr=ben
bug 72002


git-svn-id: svn://10.0.0.236/trunk@92636 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 03:03:57 +00:00
timeless%mac.com
20927967f9 fix Bugzilla Bug 75632 [FIX]Bad HTML <button> CSS causes jiggling when clicked
patch by bzbarsky@mit.edu r=rods, sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@92635 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:56:12 +00:00
timeless%mac.com
8600da50ff fix Bugzilla Bug 62678 View source uses background from prefs and hardcoded text color
fix by bzbarsky@mit.edu r=timeless, sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@92634 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:54:41 +00:00
ccarlen%netscape.com
bb890dd0d1 Bug 44071 - Change name of profile root dir from "Users50" to "Profiles". Checking in patch by gemal@gemal.dk. r=ccarlen@netscape.com, sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92633 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:51:24 +00:00
mscott%netscape.com
3cf666c91c (NOT PART OF THE BUILD)
Changes to get the icon loader working on win2k with 16bit icons.


git-svn-id: svn://10.0.0.236/trunk@92632 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:48:04 +00:00
beard%netscape.com
b262e03ccf Added UTCUtil library. [not part of build]
git-svn-id: svn://10.0.0.236/trunk@92631 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:44:01 +00:00
beard%netscape.com
a91c8a9a52 Fix for bug #26516, load Java lazily. sr=brendan, r=edburns
git-svn-id: svn://10.0.0.236/trunk@92630 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:22:13 +00:00
edburns%acm.org
f719f527f4 I've checked the diffs, they are as expected.
r=dbaron
a=edburns
sr=waterson
bug=71644

Files in this fix:
lcglue.cpp
nsCSecurityContext.cpp

-                nsCOMPtr<nsIScriptGlobalObject> global = scriptContext->GetGlobalObject();
+                nsCOMPtr<nsIScriptGlobalObject> global(dont_AddRef(scriptContext->GetGlobalObject()));

All the changes are like this.


git-svn-id: svn://10.0.0.236/trunk@92629 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:20:32 +00:00
anatoliya%netscape.com
e8746325c9 bug-75464 r=andreww sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@92628 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 02:12:48 +00:00
hyatt%netscape.com
da9233dd37 See previous checkin comments. Focus issues, same bugs, etc. r=saari, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92627 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 01:42:27 +00:00
hyatt%netscape.com
08d078d3c5 Fix for my 0.9 focus issues. r=saari, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92626 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 01:41:20 +00:00
sspitzer%netscape.com
13f7f47252 fix for #76088 views not persisting. fix started by putterman. sr=bienvenu@netscape.com
fix for #76307 special views default to sort order and type instead of the current sort order and type.
thanks to putterman for the bug and the fix.  r=sspitzer, sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@92625 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 01:20:29 +00:00
ben%netscape.com
fbe2328abc fix mac bustage by backing out change.
git-svn-id: svn://10.0.0.236/trunk@92624 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 01:15:23 +00:00
evaughan%netscape.com
87fe99d8fc Added a return to the end of this file to prevent HPUX bustage.
git-svn-id: svn://10.0.0.236/trunk@92623 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:48:24 +00:00
ddrinan%netscape.com
f612135854 Fix for bug #75277, enable tls. r=javi@netscape.com, sr=darin@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92622 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:46:04 +00:00
mjudge%netscape.com
0c91e5ea8d needed PR_MIN and MAX bustage
git-svn-id: svn://10.0.0.236/trunk@92621 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:33:23 +00:00
shanjian%netscape.com
1440650582 #63965 crashed under Simplified Chinese Win2000 OS when scroll bar is dragged
r = nhotta,  sr=blizzard

"LoadGlobalFont" function is added to both "nsFontMetricsWin"
and "nsFontMetricsWinA" class to replace existing "LoadFont" call.
This function will use the "LOGFONT" stored in global font list to
create new font, that include charset parameter. CMAP is created
again for "mLoadedFont", but copied from global font item.

When enumerating the font, true type font is put in priority order
so that it will be searched first. This is done inside "enumProc"
function.


git-svn-id: svn://10.0.0.236/trunk@92620 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:30:46 +00:00
dbaron%fas.harvard.edu
ac8536309b Fix build bustage by removing unneeded #include of file that was just removed.
git-svn-id: svn://10.0.0.236/trunk@92619 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:30:43 +00:00
sonmi%netscape.com
b27dd64a06 tinderbox platformlist - which platforems are required to run which tests
git-svn-id: svn://10.0.0.236/trunk@92618 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:28:22 +00:00
scc%mozilla.org
d772050476 [documentation], _never_ part of a build. fixing bad ``it's''s, and referencing the tracking bug
git-svn-id: svn://10.0.0.236/trunk@92617 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:22:01 +00:00
dbaron%fas.harvard.edu
a6365729bb Fix MOZ_TRACK_MODULE_DEPS bustage by adding htmlparser to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@92616 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:17:21 +00:00
heikki%netscape.com
f76611d359 Bug 51339, XHTML map elements did not work, r=harishd, sr=vidur.
git-svn-id: svn://10.0.0.236/trunk@92615 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:14:34 +00:00
av%netscape.com
51fb14306f Fixing bug 76384 -- crash in the default plugin, r=serge, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92614 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:05:20 +00:00
dcone%netscape.com
c893147011 b=57928 r=mcclusky sr=attinas.
git-svn-id: svn://10.0.0.236/trunk@92613 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-18 00:03:10 +00:00
law%netscape.com
b1113cd461 Bug 52454
git-svn-id: svn://10.0.0.236/trunk@92612 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:59:58 +00:00
law%netscape.com
6dad00cb02 Bug 52454; new Makefile.in for Linux build; not built yet
git-svn-id: svn://10.0.0.236/trunk@92611 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:59:02 +00:00
serge%netscape.com
ee588f04cc #67879 fix the crash, getting rid of xpm.h to show up a puzzle pixmap; sr=blizzard, r=av
git-svn-id: svn://10.0.0.236/trunk@92610 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:57:26 +00:00
pschwartau%netscape.com
60aff7a1ad Getter/setter tests are non-ECMA. Moving them from ecma_3 directory to js1_5 directory.
git-svn-id: svn://10.0.0.236/trunk@92609 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:56:57 +00:00
pschwartau%netscape.com
1a163d7749 Getter/setter tests are non-ECMA. Moving them to js1_5 directory
git-svn-id: svn://10.0.0.236/trunk@92608 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:54:17 +00:00
pierre%netscape.com
b160c572c1 Removed nsHTMLContentStream.cpp. Checked in for harishd.
git-svn-id: svn://10.0.0.236/trunk@92607 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:49:10 +00:00
av%netscape.com
d9428df46f Fixing 76356 -- plugin streams don't ask for byte range support, r=gagan, sr=darin
git-svn-id: svn://10.0.0.236/trunk@92606 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:47:01 +00:00
blizzard%redhat.com
b2d61d9a9e Fix bug #66347. Bogus return values for screenX and screenY. Don't cache values after a ::Move. r=dbaron, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@92605 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:41:32 +00:00
ducarroz%netscape.com
60dae999c2 Fix for bug 75650. Fix some memories leak which result on not remowing temp files. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92604 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:41:29 +00:00
ducarroz%netscape.com
2c31df783d Fix for bug 76215. Need to start progressmeters even when we don't show the progress dialog. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92603 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:38:44 +00:00
ben%netscape.com
cf3329bfb1 68547, dragging bookmarks to top of folder sometimes deletes folder.
patch from matthew wilson, r=fabian, sr=ben


git-svn-id: svn://10.0.0.236/trunk@92602 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:36:44 +00:00
bienvenu%netscape.com
1b9a1a7bff fix problem reading unread imap msg from mem cache not marking msg read r=naving,sr=sspitzer 24787
git-svn-id: svn://10.0.0.236/trunk@92600 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:32:09 +00:00
mjudge%netscape.com
fbe313babb removing optimization unneeded for table selection to fix 60846sr= kin r= manske after making changes they requested
git-svn-id: svn://10.0.0.236/trunk@92599 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:31:34 +00:00
av%netscape.com
4f229b20dd Fixing 75826 -- PostURL not working from files, r=peterl, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92598 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:30:25 +00:00
javi%netscape.com
c934f0f6b5 Backing out prior patch for 76141 which caused all
platforms to display incorrectly.


git-svn-id: svn://10.0.0.236/trunk@92597 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:29:58 +00:00
joki%netscape.com
1c2178cff5 Fix for 63742, fire DOM resize events from a resetting timer to make them more useful and avoid infinite recursion. r:pollmann,sr:jst
git-svn-id: svn://10.0.0.236/trunk@92596 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:25:21 +00:00
ben%netscape.com
f67f00eb0e er, part of previous checkin (71685) r=pchen, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92595 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:25:18 +00:00
harishd%netscape.com
ebecf5a4cb 68790 - Remove nsHTMLContentSinkStream dependency. Not in use anymore
r=heikki
sr=jst


git-svn-id: svn://10.0.0.236/trunk@92594 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:23:33 +00:00
pierre%netscape.com
f9f1e674f2 #59933. When a |smaller| font size results in something smaller than the |xx-small| of the base font, we use the parent's font size. Same thing for |larger| and |xx-large|. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@92593 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:23:09 +00:00
ben%netscape.com
363315a84e 71685 - bookmarks sidebar panel doesn't load. Rename file back to the original name.
r=pchen, sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@92592 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:21:51 +00:00
gordon%netscape.com
713d908b72 Fix bug 75448 "Clear disk cache from prefs not working properly". Patch by
beard, r=gordon, sr=darin.


git-svn-id: svn://10.0.0.236/trunk@92591 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:20:06 +00:00
ddrinan%netscape.com
67317e5330 Fix for cert selection.
git-svn-id: svn://10.0.0.236/trunk@92590 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:16:14 +00:00
ben%netscape.com
18ad3d959e 75470, add bookmark dialog should be resizable. patch from sfraser, r=pchen, sr=ben. Also, changed some boxes to hbox/vbox.
git-svn-id: svn://10.0.0.236/trunk@92589 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:15:13 +00:00
cmanske%netscape.com
0b345adb68 Fixed selection of named anchor icon, b=68714, r=mjudge, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92588 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:13:45 +00:00
roc+%cs.cmu.edu
5c45d6acce New blender code. Cleans up/speeds up the code a lot and fixes bug 42011, and probably others. r=tor,sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@92587 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:13:12 +00:00
roc+%cs.cmu.edu
133c509891 Make sure a reflow command is posted for all dirty children in nsContainerFrame::ReflowDirtyChild, even if there's already a dirty child. Fix for bug 57251. r=attinasi,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92586 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:12:36 +00:00
ben%netscape.com
05a62734ff Fix for 57763, disable field in advanced panel with checkbox. r=jag, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@92585 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:12:16 +00:00
varada%netscape.com
202e62afd1 fix for bug#74601;getting rid of last option in reply-on-top for compose prefs;r=ducarroz;sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@92583 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:09:06 +00:00
evaughan%netscape.com
b28fc76be2 Accessibility work. bug #12952
-r aaronl -sr brendan


git-svn-id: svn://10.0.0.236/trunk@92582 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:06:38 +00:00
morse%netscape.com
5322ffef33 bug 76386, cookies no longer being sorted, r=blakeross, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92581 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:04:19 +00:00
locka%iol.ie
7c673db440 Fix for context menus not working in new windows opened from links with a _new target. b=76327, r=valeski@netscape.com, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92580 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:04:13 +00:00
erik%netscape.com
4cc5898b01 bug 76311; author=simon@softel.co.il; r=mjudge; sr=erik; This fixes the bug
where we were running bidi selection code even on a non-bidi document. It
also fixes a problem in the bidi code where we were ignoring the return
values of a few calls.


git-svn-id: svn://10.0.0.236/trunk@92579 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:03:38 +00:00
alecf%netscape.com
9b77648006 remove files not part of build in an effort to eradicate nsIAppShellComponent
git-svn-id: svn://10.0.0.236/trunk@92578 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 23:02:35 +00:00
despotdaemon%netscape.com
85e589b749 Pseudo-automatic update of changes made by heikki@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@92576 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 22:52:49 +00:00
valeski%netscape.com
ace9c0e466 fixing windows bustage
git-svn-id: svn://10.0.0.236/trunk@92571 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 21:27:51 +00:00
dougt%netscape.com
3dfa6e52f7 Fixes bug 76291. r=valeski@netscape.com, sr=me
git-svn-id: svn://10.0.0.236/trunk@92570 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 21:00:37 +00:00
karnaze%netscape.com
6d64d2e559 bug 8113 - render a cell's background and border unless its content is empty and it has "empty-cells:hide"
git-svn-id: svn://10.0.0.236/trunk@92564 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 14:58:34 +00:00
mkaply%us.ibm.com
1b3d508646 #70334
r=alecf, sr=waterson
Personal toolbar doesn't migrate on DBCS systems - use NS_ConvertUTF8toUCS2


git-svn-id: svn://10.0.0.236/trunk@92563 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 14:46:12 +00:00
karnaze%netscape.com
2326effc92 bug 66804 - return correct desired height when splitting row group. sr=waterson, r=bernd.mielke@snafu.de.
git-svn-id: svn://10.0.0.236/trunk@92562 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 14:39:54 +00:00
bienvenu%netscape.com
54b37fbd15 fix problem with new messages icon not showing up on inbox r=sspitzer, sr=mscott 76130
git-svn-id: svn://10.0.0.236/trunk@92561 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 14:36:23 +00:00
dbaron%fas.harvard.edu
7f0e5d6088 Adding nsProxyAutoConfig.js to makefiles and installer manifests. b=53080 r=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92560 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 14:33:19 +00:00
dveditz%netscape.com
d49359afb0 fix for 15115, registry reading speedup
git-svn-id: svn://10.0.0.236/trunk@92559 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 14:25:19 +00:00
nboyd%atg.com
58b7235e7f Hi, Norris!
I attach optimization patch for NativeDate that makes all js... methods
private, removes passing of unnecessary parameters and replaces
checkInstance by realThis call with false as the third parameter.


Regards, Igor

Hi, Norris!

Here is another small optimization for NativeDate in DayFromMonth method
where it replaces arrays by few ifs.

Regards, Igor


git-svn-id: svn://10.0.0.236/trunk@92558 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 13:54:45 +00:00
dveditz%netscape.com
dd05d83b86 more ^M bustage
git-svn-id: svn://10.0.0.236/trunk@92557 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 13:26:03 +00:00
dveditz%netscape.com
f4e8a362b7 Re-fixing bug 7022 (Install.buildID). "2001040506" needs to be a double,
doesn't fit in a javascript int.


git-svn-id: svn://10.0.0.236/trunk@92556 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 13:13:24 +00:00
dveditz%netscape.com
152683d8fc Fixing build bustage (evil trailing ^M's).
git-svn-id: svn://10.0.0.236/trunk@92555 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 12:46:17 +00:00
gordon%netscape.com
27f08b9248 desperate attempt to fix build bustage on win32. Don't know why it didn't like the !endif, so I'm just nuking the lines I was trying to comment out.
git-svn-id: svn://10.0.0.236/trunk@92554 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 12:01:58 +00:00
locka%iol.ie
1a22004738 Fix for http referrer not being sent when session history urls are loaded from the network. b=61426 sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92553 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 11:53:11 +00:00
peterv%netscape.com
def2c5f2f6 Fix access paths and remove expat lib, we're not using that. Not part of the default build. r/sr=me.
git-svn-id: svn://10.0.0.236/trunk@92552 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 11:14:39 +00:00
peterv%netscape.com
e15cf8bac0 Fix for bug 56087 (XSLTProcessor::TransformDocument can't work on existing document). Not part of the default build. r=dr, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@92551 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 11:13:13 +00:00
gordon%netscape.com
5661879251 bug 72528, remove old cache from build. sr=darin.
git-svn-id: svn://10.0.0.236/trunk@92549 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 10:47:22 +00:00
gordon%netscape.com
91ac06c23a bug 72528, removing old cache from build. sr=darin.
git-svn-id: svn://10.0.0.236/trunk@92548 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 10:40:13 +00:00
jfrancis%netscape.com
9a35a75ae3 fixes for bugs:
75618   CR line breaks not recognized when inserting data in a plain 
76258 	IsEditable() needs to be smarter 
72968 	browser crashes when doing REDO after doing some cut/paste i 
55224 	switching from HTML Source mode to Normal causes dataloss 
71355 	style buttons do not work from 2nd cell onwards inside table 
71362 	empty tables inside (otherwise) empty list item disappears w 
74655 	40% of reply time in mailcompose spent converting linefeeds

r=fm; sr=kin


git-svn-id: svn://10.0.0.236/trunk@92547 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 10:15:05 +00:00
pollmann%netscape.com
6d4f34711c Bug 76208: Store control that submitted form in event so we can submit it to the server (fixes regression), r=harishd@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92546 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 10:02:11 +00:00
joki%netscape.com
27f4c139a7 Fix for smoketest block 76304. r:jst
git-svn-id: svn://10.0.0.236/trunk@92545 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 09:53:37 +00:00
peterv%netscape.com
846cfab67c Fix for bug 45377 (document base is not set right in nsXMLDocument::Load). Code by heikki, r=me, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@92544 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 09:46:29 +00:00
pavlov%netscape.com
61cbe9aa64 fixing bug 75432 r=ben sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92543 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 09:04:12 +00:00
pavlov%netscape.com
c71f927843 fixing printing of images printing them too small. r=timeless sr=ben. bug 73254 and 75425.
git-svn-id: svn://10.0.0.236/trunk@92542 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 09:03:20 +00:00
rginda%netscape.com
7437ee7b9f moving the xpcom wrapper into js/jsd
git-svn-id: svn://10.0.0.236/trunk@92541 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 08:57:15 +00:00
ssu%netscape.com
a808e432ba fixing bug 64249 - remove the '(D)' from "Edit | Unsubscribe(D)" and "Edit | Cancel Message(D)"
and bug 75658 - 'Edit|Unsubscribe' and 'Edit|Cancel Message' not showing up..instead label 'Delete' is displayed

r=bhuvan
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92540 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 08:55:19 +00:00
rginda%netscape.com
bc4cd3c716 moving xpcom wrapper from extensions/venkman/src/ and idl/ to here.
git-svn-id: svn://10.0.0.236/trunk@92539 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 08:50:41 +00:00
ssu%netscape.com
e572347b2f fixing bug 64249 - remove the '(D)' from "Edit | Unsubscribe(D)" and "Edit | Cancel Message(D)"
r=bhuvan
sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92538 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 08:47:21 +00:00
jst%netscape.com
6722d3c544 Fixing regression bug 75645, anonymous form controls were ending up in form.elements. r=pollmann@netscape.com, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92537 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 08:35:49 +00:00
brendan%mozilla.org
03a1420a71 Avoid recursive death *and* don't crash on null proto pointer (75239, r/sr=jband, r=itaj sherman <MobDotCom@hotmail.com>).
git-svn-id: svn://10.0.0.236/trunk@92536 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:34:39 +00:00
sgehani%netscape.com
7bddbb83b4 Make bookmarks checkbox reflect that the bookmarks folder is
in the personal toolbar by default.

b  = 68395
r  = jag
sr = alecf


git-svn-id: svn://10.0.0.236/trunk@92535 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:33:26 +00:00
alecf%netscape.com
a7adfa8482 fix for bug 71660 sr=ben, r=blake - use deep merging to set default hidden state on history columns in the history sidebar panel
git-svn-id: svn://10.0.0.236/trunk@92534 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:24:01 +00:00
rbs%maths.uq.edu.au
45b99efaab Improve the speed of viewsource - Patch of Boris Zbarsky <bzbarsky@mit.edu> b=74486 r=rbs r=attinasi
git-svn-id: svn://10.0.0.236/trunk@92532 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:23:04 +00:00
jband%netscape.com
656bc99a3e fix bug 76102. Only vend weak references from the root of a wrappedJS wrapper chain. r=dbaron sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92531 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:22:52 +00:00
alecf%netscape.com
04d62928b5 fix for bug 53904 and bug 75023, sr=ben@netscape.com
fix up content area drag handler so that selection that is anchored on a text node works fine, by using nsIDOMSelection APIs to find what we're dragging


git-svn-id: svn://10.0.0.236/trunk@92530 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:21:59 +00:00
bryner%uiuc.edu
2500eceedc Fixing js strict warnings. r=jag, sr=ben.
git-svn-id: svn://10.0.0.236/trunk@92529 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:19:52 +00:00
brendan%mozilla.org
abe01808f5 Over-engineer byte-order macro generation to catch most PDP-endian situations (65230, r=rogerl, not part of Mozilla-the-browser-suite build).
git-svn-id: svn://10.0.0.236/trunk@92528 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:12:38 +00:00
hyatt%netscape.com
d9defebf03 Fix for outliner crashing all the time. bug#74902.
git-svn-id: svn://10.0.0.236/trunk@92527 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:02:36 +00:00
disttsc%bart.nl
6f2f3c11b4 Only try to create an instance of the secure browser UI if PSM is installed. Bug=76292, r=timeless, sr=ben
git-svn-id: svn://10.0.0.236/trunk@92526 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 07:01:15 +00:00
waterson%netscape.com
b56dab6734 Bug 74184. Make sure that NS_FRAME_HAS_CHILD_WITH_VIEW is carried forward to continuing frames. r=kmcclusk, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92525 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 06:43:01 +00:00
joki%netscape.com
8443fdd96e Fixes for Create/Init/Dispatch of new DOM events. Bugs 25889, 71544, 52129, 61022, 71823. sr:jst, hyatt
git-svn-id: svn://10.0.0.236/trunk@92524 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 05:52:11 +00:00
bernd.mielke%snafu.de
431aac1d4d fix my bustage
git-svn-id: svn://10.0.0.236/trunk@92523 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 05:34:10 +00:00
mstoltz%netscape.com
d60c6f2177 Temporary fix for 66938 (wiretap exploit), previously reviewed for checkin on NS6.01 branch.
Limiting DOM access for scripts in mail messages to prevent stealing forwarded mail content.


git-svn-id: svn://10.0.0.236/trunk@92522 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 05:22:55 +00:00
sgehani%netscape.com
50e2cdab2c Fix spotlight warnings thanks to Simon.
b = 76255
r = ssu, sgehani (checking in for sfraser)
sr = sfraser


git-svn-id: svn://10.0.0.236/trunk@92521 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 05:03:05 +00:00
pinkerton%netscape.com
154922dba3 put the timer code in the include path for osx.
git-svn-id: svn://10.0.0.236/trunk@92520 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:43:06 +00:00
pavlov%netscape.com
c0024742b2 fixing bug 75830 r=harishd sr=jst
git-svn-id: svn://10.0.0.236/trunk@92519 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:39:56 +00:00
pinkerton%netscape.com
f28018677b nsIContent needed in the header for nsCOMPtr and gcc.
git-svn-id: svn://10.0.0.236/trunk@92518 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:36:36 +00:00
pinkerton%netscape.com
aa96cc342e get rid of warning about non-virtual dtor with virtual methods.
git-svn-id: svn://10.0.0.236/trunk@92517 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:35:56 +00:00
pinkerton%netscape.com
36e65d8849 osx needs nsWidgetAtoms built. r=saari/sr=hyatt. bug#75653
git-svn-id: svn://10.0.0.236/trunk@92516 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:35:22 +00:00
pinkerton%netscape.com
691f9596d1 cast needed on codewarrior, not on gcc. fix fizzilla bustage.
git-svn-id: svn://10.0.0.236/trunk@92515 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:32:43 +00:00
bernd.mielke%snafu.de
f053ce605d look first for the inner colspans if more than one colspan start in a column
bug 47432 r=karnazesr =attinasi


git-svn-id: svn://10.0.0.236/trunk@92514 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:32:32 +00:00
pinkerton%netscape.com
9db666252b needs MacTypes.h for Handle.
git-svn-id: svn://10.0.0.236/trunk@92512 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:10:47 +00:00
pinkerton%netscape.com
677bed34ba build all the right files and generate the idl. bug 75653.
git-svn-id: svn://10.0.0.236/trunk@92511 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:02:00 +00:00
pinkerton%netscape.com
bba64ec8cf use reset() with auto_ptr for gcc. r=saari/sr=hyatt. bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92510 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:01:24 +00:00
pinkerton%netscape.com
323898afb8 get rid of an unsiged warning and pull in drag.h for a flavor const on osx.
git-svn-id: svn://10.0.0.236/trunk@92509 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:00:39 +00:00
pinkerton%netscape.com
6a712d0424 cast for gcc
git-svn-id: svn://10.0.0.236/trunk@92508 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 04:00:07 +00:00
pinkerton%netscape.com
f627c10c81 needs menus.h
git-svn-id: svn://10.0.0.236/trunk@92507 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:59:50 +00:00
gordon%netscape.com
6fe467e1c5 First implementation of "flat files" for cache.
git-svn-id: svn://10.0.0.236/trunk@92506 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:54:48 +00:00
timeless%mac.com
c4f9e46e47 for Bugzilla Bug 76042 [FIX] remove duplicate cmd_rename line in bookmark.properties
patch by atontti@cc.hut.fi r=timeless, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@92505 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:40:40 +00:00
chuang%netscape.com
a9497b25b8 Bug4640 Login fails to AB Sync without asking me for a password, r=racham, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92504 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:28:49 +00:00
pinkerton%netscape.com
641528df7f use CoreFoundation for setting control text from a unicode string under carbon.
r=saari/sr=hyatt bug# 75653


git-svn-id: svn://10.0.0.236/trunk@92503 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:21:16 +00:00
pinkerton%netscape.com
406d53d7a9 don't use SIOUX debug calls under osx (there is no sioux console).
git-svn-id: svn://10.0.0.236/trunk@92502 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:20:30 +00:00
pinkerton%netscape.com
71f84b05bc switch to using reset() to set auto_ptr's. not sure why we did it the
other way. r=saari/sr=hyatt. bug# 75653


git-svn-id: svn://10.0.0.236/trunk@92501 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 03:19:32 +00:00
pinkerton%netscape.com
6085587437 needs MacTypes.h for osx
git-svn-id: svn://10.0.0.236/trunk@92500 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:59:24 +00:00
pinkerton%netscape.com
7e0d81aaf3 Export widget atoms for osx. r=saari/sr=hyatt bug#75653
git-svn-id: svn://10.0.0.236/trunk@92499 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:58:51 +00:00
dbaron%fas.harvard.edu
5b34044fae Fix form controls and Windows/Unix classic skin to use new system colors -moz-FieldText, -moz-Dialog, and -moz-DialogText where appropriate to allow accurate representation of system colors on GTK.
Fix various CSS errors in themes.
b=67448  r=hewitt@netscape.com  sr=blizzard@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@92498 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:54:21 +00:00
pinkerton%netscape.com
6aa5df3e83 nothing should be including standardFile.h anymore
git-svn-id: svn://10.0.0.236/trunk@92497 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:50:07 +00:00
pinkerton%netscape.com
3f85ad41c7 use rint instead of round to avoid warnings
git-svn-id: svn://10.0.0.236/trunk@92496 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:49:20 +00:00
drapeau%eng.sun.com
4564105d70 Bug fix for Bugzilla bug 53080. Includes a JavaScript XPCOM component that
does the automatic proxy config.  Much thanks to Denis Antrushin
(adu@sparc.spb.su), among others, for writing this fix.


git-svn-id: svn://10.0.0.236/trunk@92495 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:34:47 +00:00
pinkerton%netscape.com
9b05a06b50 windows.h -> MacWindows.h
git-svn-id: svn://10.0.0.236/trunk@92494 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:33:40 +00:00
justdave%syndicomm.com
f539fe27ee Correcting my email address in the comments
git-svn-id: svn://10.0.0.236/trunk@92493 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:26:16 +00:00
pinkerton%netscape.com
fa0f8f2b74 include full class because of gcc r=saari/sr=hyatt, bug#75653
git-svn-id: svn://10.0.0.236/trunk@92491 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:19:32 +00:00
loadrunner%betak.net
f78f0efd9f bug 54285, r=nhotta, jag, pink, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92489 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 02:16:51 +00:00
disttsc%bart.nl
df97775619 Bug 68374, "xp filepicker should return an error if file doesn't exist". It will now popup a warning dialog. r=bryner, r=Pavlov, sr=blizzard.
git-svn-id: svn://10.0.0.236/trunk@92486 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:58:01 +00:00
loadrunner%betak.net
87918c26d4 bug 54285, r=nhotta, jag, pink, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92485 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:58:00 +00:00
dbaron%fas.harvard.edu
a17c958312 Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding windowwatcher to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@92484 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:54:05 +00:00
pinkerton%netscape.com
d1e19460f7 adjust a define for osx. r=saari/sr=hyatt, bug 75653.
git-svn-id: svn://10.0.0.236/trunk@92483 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:50:50 +00:00
roc+%cs.cmu.edu
9a09592520 Fix calculation of scrollbar widths for laying out fixed-position frames. Also make sure that the fixed frames are reflowed if scrollbar widths change. Fix for bug 5195. r=evaughan,sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92482 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:45:38 +00:00
mstoltz%netscape.com
452a43cfc9 More fixes for 55237, cleaned up CheckLoadURI and added a check on "Edit This Link." Also added error reporting (bug 40538).
r=beard, sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@92480 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:21:44 +00:00
cls%seawood.org
ed898d3357 Remove exit(0) from qt version check.
Thanks to johng@corel.com (John Griggs) for the patch.
Bug #75730 r=leaf sr=cls


git-svn-id: svn://10.0.0.236/trunk@92479 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 01:10:54 +00:00
pinkerton%netscape.com
d53d8f4fc7 Removing incorrect escaping and fixing switch default typo. r=saari/sr=hyatt, bug 75653
git-svn-id: svn://10.0.0.236/trunk@92478 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:56:00 +00:00
pinkerton%netscape.com
95beb6ec98 get rid of non-virtual dtor with virtual methods warnings. r=saari/sr=hyatt bug 75653
git-svn-id: svn://10.0.0.236/trunk@92477 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:50:11 +00:00
pinkerton%netscape.com
71908bf08f Build osx printing files. r=saari/sr=hyatt bug 75653
git-svn-id: svn://10.0.0.236/trunk@92476 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:49:34 +00:00
dbaron%fas.harvard.edu
90e814955b Add 3 proposed CSS3 system colors as -moz-FieldText, -moz-Dialog, and -moz-DialogText, which are needed to accurately represent system colors on GTK.
Restore GTK system color for WindowText to the correct value (fg rather than text).
Add debugging code that can be enabled to debug use of system colors in themes.
r=pierre@netscape.com  sr=blizzard@mozilla.org  b=67448


git-svn-id: svn://10.0.0.236/trunk@92475 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:46:07 +00:00
yokoyama%netscape.com
7236f71f61 partial bug fix : 66030, /r=valeski, /sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92474 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:43:16 +00:00
pinkerton%netscape.com
a0d3cfb0a5 Fix warnings and compile errors in gcc. r=saari/sr=hyatt, bug#7653
git-svn-id: svn://10.0.0.236/trunk@92473 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:38:34 +00:00
dbaron%fas.harvard.edu
1fa5023227 Remove carriage returns (^M) to fix cement (IRIX) bustage.
git-svn-id: svn://10.0.0.236/trunk@92472 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:32:17 +00:00
dbaron%fas.harvard.edu
d7a51c2dfb Fix leaks of global objects. b=76091 r=mstoltz@netscape.com sr=hyatt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92471 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:12:28 +00:00
cls%seawood.org
b5ab50d450 Allow cvs command to be set via CVS env variable.
Thanks to stephen@tgivan.com (Stephen Rasku) for the patch.
Bug #74565 r=cls


git-svn-id: svn://10.0.0.236/trunk@92470 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:11:22 +00:00
sonmi%netscape.com
773f50b55e started tinderbox addition, intermediate checkin
git-svn-id: svn://10.0.0.236/trunk@92469 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-17 00:00:58 +00:00
pinkerton%netscape.com
bae8040585 Fix warning about non-virtual dtor with virtual methods
git-svn-id: svn://10.0.0.236/trunk@92468 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:55:10 +00:00
oeschger%netscape.com
28b30c8196 bug=74132, patch from cls for building help, r=oeschger
git-svn-id: svn://10.0.0.236/trunk@92467 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:54:25 +00:00
pinkerton%netscape.com
f975160722 get rid of warning about virtual methods w/ non-virtual dtor.
git-svn-id: svn://10.0.0.236/trunk@92466 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:52:07 +00:00
pinkerton%netscape.com
6cf58bf5de be more explicit about includes for gcc. r=saari/sr=hyatt bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92465 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:50:10 +00:00
pinkerton%netscape.com
c50318d5cf fix for fizzilla bustage. don't create stuff that isn't available on x.
git-svn-id: svn://10.0.0.236/trunk@92464 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:48:04 +00:00
pinkerton%netscape.com
c9a1aad537 fix for fizzilla bustage. don't create stuff that isn't available on x.
git-svn-id: svn://10.0.0.236/trunk@92463 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:44:41 +00:00
rginda%netscape.com
21b60ac3f1 - not built -
fixed NS_IF_ADDREF(aHook)s
added more hook attributes


git-svn-id: svn://10.0.0.236/trunk@92462 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:43:09 +00:00
naving%netscape.com
79fb563e5b 75992. sr=bienvenu. When it is cross-server update the counts correctly.
git-svn-id: svn://10.0.0.236/trunk@92461 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:42:07 +00:00
cls%seawood.org
106597cdc1 Compaq changed uname to use osf as a basename instead of osf1
git-svn-id: svn://10.0.0.236/trunk@92459 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:21:31 +00:00
pavlov%netscape.com
cb563f77a6 fixing from generating huge imageframes with broken images. bug 76230. r=akkana, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92458 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:13:01 +00:00
maolson%earthlink.net
056e8ad486 bug 11623 - change CSS file comments from // to /* */
r=dbaron, sr=hewitt


git-svn-id: svn://10.0.0.236/trunk@92457 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:11:27 +00:00
valeski%netscape.com
7037da5301 r=rpotts, r=heikki, sr=vidur. content types are no longer hardcoded for docshell load acceptance. we now ask layout what it can handle (indirectly via the category manager). 40772.
git-svn-id: svn://10.0.0.236/trunk@92456 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:05:08 +00:00
pinkerton%netscape.com
29ad9f24ed don't include needless header, fix type error under gcc. r=saari/sr=hyatt. bug#75653
git-svn-id: svn://10.0.0.236/trunk@92455 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:02:42 +00:00
pinkerton%netscape.com
2cc2be2904 Include the OSX version of nsDeviceContextSpec for carbon. r=saari/sr=hyatt. bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92454 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 23:01:07 +00:00
dbaron%fas.harvard.edu
3b36b2ebcb Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by changing mime to mimetype in REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@92453 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 22:55:25 +00:00
pinkerton%netscape.com
24b37408f4 Export nsIPrintingContext.h for osx r=saari/sr=hyatt, bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92452 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 22:47:33 +00:00
bnesse%netscape.com
98706209c2 Fixed bad JS_Request stuff in openPrefFile.
[Not part of the build].


git-svn-id: svn://10.0.0.236/trunk@92449 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 22:34:30 +00:00
law%netscape.com
6efb961cef More refinements for bug 52454, et al
git-svn-id: svn://10.0.0.236/trunk@92447 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 22:04:24 +00:00
akkana%netscape.com
f04dc5d2b2 74169: Enable controls on image animation in libpr0n. r=pavlov,saari sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92446 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 22:02:39 +00:00
erik%netscape.com
c160d23648 fixing build bustage in IBMBIDI ifdef on Mac
git-svn-id: svn://10.0.0.236/trunk@92445 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:53:21 +00:00
scc%mozilla.org
2c0b33af2b [documentation], _never_ part of a build. fixing the title to be a little less misleading
git-svn-id: svn://10.0.0.236/trunk@92444 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:47:49 +00:00
erik%netscape.com
3cb907b335 fixing build bustage in IBMBIDI ifdef on Mac
git-svn-id: svn://10.0.0.236/trunk@92443 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:32:19 +00:00
av%netscape.com
85fcba7f70 Fixing 76116 -- crash on File->Exit with plugin on page, ra=av, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92442 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:26:28 +00:00
av%netscape.com
84090fa2c8 Fixing 75682 -- file leaf name comparison xp'ed in nsPluginHostImpl.cpp, r=peterl, a=av, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92441 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:21:11 +00:00
peterv%netscape.com
7ef84810e1 Fix View->Use Stylesheet. r=jag, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@92440 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:15:51 +00:00
curt%scruznet.com
02ba1153f2 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@92439 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:13:41 +00:00
valeski%netscape.com
60b932c5fe sr=vidur, r=dbaron. fixing leak and updating hashtables to newer, better, versions. 75337
git-svn-id: svn://10.0.0.236/trunk@92438 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:11:20 +00:00
ashuk%eng.sun.com
0fb49fc8d2 Bug=74742
author=ashuk
ra=idk

This patch allows BlackConnect to build with Forte Compilers. It
fixes some syntactical errors in the xpidl_idl.c and xpidl_java.c
files where C++ style syntax was being used in a C file and some
implicit illegal typecasts were being made.

_Ashu


git-svn-id: svn://10.0.0.236/trunk@92437 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:11:08 +00:00
dcone%netscape.com
187e4743e7 new print preview navigation idl for embedding. Does not effect the build.
git-svn-id: svn://10.0.0.236/trunk@92436 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:06:55 +00:00
jgmyers%netscape.com
758c3e42be rename tls sockets to starttls: bug 74387 r=javi r=darin sr=mscott
git-svn-id: svn://10.0.0.236/trunk@92435 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 21:01:29 +00:00
sdagley%netscape.com
f82296edb5 Increasing memory partition (20MB minimum, 28MB preferred) so we can load something more complex than mozilla.org before hitting tempmem. Ostensibly for #65884 but I'm thinking that Shockwave might need a significantly larger partition (at least SW 8.0, SW8.5 reportedly behaves itself better). r=bnesse,sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92434 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:50:37 +00:00
bbaetz%cs.mcgill.ca
f8d72f899a Bug 76069 - fix rdf:httpindex (such as ftp bookmarks)
r=dougt, sr=waterson


git-svn-id: svn://10.0.0.236/trunk@92433 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:45:26 +00:00
dcone%netscape.com
09ed3147b7 b=36796 r=peterl sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@92432 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:41:24 +00:00
javi%netscape.com
33ca9bb816 Cause this to build the PSM 2.0 directory now instead.
git-svn-id: svn://10.0.0.236/trunk@92431 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:41:00 +00:00
javi%netscape.com
13319a5672 Backing out my change since leaf will provide a "better" fix.
git-svn-id: svn://10.0.0.236/trunk@92430 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:40:16 +00:00
morse%netscape.com
8d0292bd09 bug 75661, crash when image-manager alert box appears, r=kmcclusk, sr=roc+moz
git-svn-id: svn://10.0.0.236/trunk@92429 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:40:08 +00:00
hwaara%chello.se
331d5f10a8 Implement date&time support in reply-headers, like:
"On <date & time>, <author> wrote:"
For now, this is optional (set mailnews.reply_header_type to '2' in prefs.js), we will default to only show "<author> wrote:", as usual.  This is due to some l10n issues which are part of bug 75377. The date&time format is hard-coded to be en-US if set, again, bug 75377.
bug 23615. r=disttsc@bart.nl, sr=sspitzer@netscape.com

Fix a bunch of leaks (15 of them) in addressbook, addressbook-sync and import-mail code. None of the callers to GetUserProfileDirectory() deallocated their nsFileSpec.
bug 75332. r=chuang@netscape.com, sr=bienvenu@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92428 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:40:07 +00:00
darin%netscape.com
e12ac7f710 Fixes bug 75354 "https content is being cached on disk!!" r=bbaetz, sr=dougt
git-svn-id: svn://10.0.0.236/trunk@92427 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:39:10 +00:00
javi%netscape.com
f709cb6740 Fix for Bug 76179 patch provided by leaf, r=javi, sr=cls
Don't build the Makefile in security as part of PSM 2 builds.  That
  build drives the PSM1 build process.


git-svn-id: svn://10.0.0.236/trunk@92426 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:37:57 +00:00
danm%netscape.com
de9fcdd499 hooking up windowwatcher active window. bug 44809,76011 r=hyatt,saari
git-svn-id: svn://10.0.0.236/trunk@92425 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:35:46 +00:00
danm%netscape.com
f2abbd8476 hooking up windowwatcher active window. bug 44809,76011 r=chak,hyatt,saari
git-svn-id: svn://10.0.0.236/trunk@92424 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:34:33 +00:00
morse%netscape.com
9329d75d6f bug 27417, select new cookie/password when previous one is deleted, r=dbragg, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92423 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:32:17 +00:00
rginda%netscape.com
b30a815b09 - not built -
Mac warning fixes by peterv
comment fixed


git-svn-id: svn://10.0.0.236/trunk@92422 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:22:42 +00:00
pinkerton%netscape.com
7007e8b335 Fix up to actually build the correct files. r=pchen/sr=hyatt. bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92421 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:21:37 +00:00
chak%netscape.com
5ea415031f Fix for bug#66334 - Viewsource needs to be a protocol handler
Changes to make the mozilla to use viewsource: URL
r=valeski,sr=rpotts


git-svn-id: svn://10.0.0.236/trunk@92420 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:19:44 +00:00
chak%netscape.com
c1cf8d2413 Fix for bug#66334 - Viewsource needs to be a protocol handler
Changes to make the mfcembed to use viewsource: URL
r=valeski,sr=rpotts


git-svn-id: svn://10.0.0.236/trunk@92419 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:19:00 +00:00
chak%netscape.com
142bd3f47d Fix for bug#66334 - Viewsource needs to be a protocol handler
Changes to make the viewer to use viewsource: URL
r=valeski,sr=rpotts


git-svn-id: svn://10.0.0.236/trunk@92418 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:18:30 +00:00
chak%netscape.com
92aee5da44 Fix for bug#66334 - Viewsource needs to be a protocol handler
r=valeski,sr=rpotts


git-svn-id: svn://10.0.0.236/trunk@92417 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:17:36 +00:00
pchen%netscape.com
e2577ff7c2 bug 49758, r=alecf, sr=sfraser, added string for external protocol not handled on mac error dialog
git-svn-id: svn://10.0.0.236/trunk@92416 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:17:02 +00:00
pchen%netscape.com
9fb4e5dbd6 bug 49758, r=alecf, sr=sfraser, implement hasProtocolHandler method which calls Internet Config to look for protocol handler. Returns NS_ERROR_NOT_AVAILABLE if the app signature of the protocol handler is the same as the running application utilizing this code
git-svn-id: svn://10.0.0.236/trunk@92415 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:16:51 +00:00
pchen%netscape.com
e5a59b79c4 bug 49758, r=alecf, sr=sfraser, fix protocal misspelling
git-svn-id: svn://10.0.0.236/trunk@92414 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:16:49 +00:00
pchen%netscape.com
db1b1d6f54 bug 49758, r=alecf, sr=sfraser, implement nsOSHelperAppService::ExternalProtocolHandlerExists() and implement nsOSHelperAppService::LoadURL() for mac
git-svn-id: svn://10.0.0.236/trunk@92413 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:16:41 +00:00
ccarlen%netscape.com
4268567e3c Bug 66334 - Checking in Mac projects for chak@netscape.com. r=valeski@netscape.com, sr=rpotts@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92412 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:15:08 +00:00
varada%netscape.com
c8f8e28b29 fix for bug#73672;Msgpane collapse not reloading messages;r=putterman;sr=mscott;
git-svn-id: svn://10.0.0.236/trunk@92411 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:08:13 +00:00
javi%netscape.com
1025c055d6 Fix for Bug 76141.
Don't hardcode the width and height attributes.  Causes the
  text at bottom of window to not show up on some displays.


git-svn-id: svn://10.0.0.236/trunk@92410 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:02:36 +00:00
chak%netscape.com
d638069dbf Fix for bug#66334 - Viewsource needs to be a protocol handler
r=valeski,sr=rpotts
Not part of the build yet(pending some mac changes by ccarlen)


git-svn-id: svn://10.0.0.236/trunk@92409 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 20:00:20 +00:00
dougt%netscape.com
97f755b7d2 Fixes bug 64686. Simple impl of ReadSegments. r=gagan@netscape.com, sr=darin@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@92408 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 19:59:36 +00:00
darin%netscape.com
6f413ae8eb Fixes bug 76064 "nsSocketBOS::Write does not initialize return value"
patch=rginda, sr=darin


git-svn-id: svn://10.0.0.236/trunk@92407 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 19:57:38 +00:00
nboyd%atg.com
40445c4fd0 Subject:
Rhino: patch for IdScriptable.java and question about useDynamicScope
        Date:
             Mon, 16 Apr 2001 17:55:19 +0200
       From:
             Igor Bukanov <igor.bukanov@windriver.com>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




Hi, Norris!

Here is a patch to IdScriptable.java that fixes sealed semantic and
makes Something.prototype.constructor to behave just as having DONTENUM
attribute, not DONTENUM|READONLY|PERMANENT. It also renames
seal_function to sealFunctions.

I also have a following question. I added nextInstanceCheck to
IdScriptable.java and its usage in realThis in NativeDate to emulate
code from FunctionObject where it looks up prototype in search for
NativeSomething instance if useDynamicScope is true. But could you
describe why it is necessary? I can understand why doing something like

var proto = new Date();
function Test() { }
Test.prototype = proto;
var test = new Test();
print(test.getDay()); // same as proto.getDay()

would be useful in ceratain situations, but what it has to do with
shared scopes?

Regards, Igor


git-svn-id: svn://10.0.0.236/trunk@92406 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 19:29:48 +00:00
karnaze%netscape.com
9b37579f45 fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@92402 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 15:53:23 +00:00
neeti%netscape.com
9f9c5ca288 checking in patch for bug 58034 - Accept-Language header needs q values. r=neeti, sr=darin
git-svn-id: svn://10.0.0.236/trunk@92401 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 14:56:21 +00:00
karnaze%netscape.com
5c53575529 bug 59280 - better splitting of row groups/rows with rowspans. r=dcone.
git-svn-id: svn://10.0.0.236/trunk@92400 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 14:51:52 +00:00
scc%mozilla.org
5d8035fe84 [documentation], _never_ part of a build. Checking in as I add more FAQs. I've added all my email replies to string questions from the last year, with significant formatting so they are readable. They will be edited to become FAQs.
git-svn-id: svn://10.0.0.236/trunk@92399 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 14:33:27 +00:00
dcone%netscape.com
5fa90631a3 r=kmmclusk sr=attinasi b=62245. clamp the border size.
git-svn-id: svn://10.0.0.236/trunk@92397 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 13:14:40 +00:00
cls%seawood.org
fb745e13e9 Add security/nss/Makefile to STATIC_MAKEFILES
git-svn-id: svn://10.0.0.236/trunk@92395 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 10:48:48 +00:00
leaf%mozilla.org
177d00d7ad Automated update
git-svn-id: svn://10.0.0.236/trunk@92391 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 10:30:03 +00:00
cls%seawood.org
79087b3f45 Use C++ compiler when doing gnu_get_libc_version() check
git-svn-id: svn://10.0.0.236/trunk@92390 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 10:25:22 +00:00
gagan%netscape.com
c64ae6cefc Not part of the build yet. New files for bug 68086. Implemented a generic fat-free version for cases of about: that redirect to another URL. This will obsolete nsAboutCredits.*, mzAboutMozilla.*, and nsAboutPlugins.*
git-svn-id: svn://10.0.0.236/trunk@92389 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 10:07:56 +00:00
pavlov%netscape.com
ed845d252d removing the request attribute from imgIDecoder since it was unused and pointless. r=saari sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92388 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 09:41:01 +00:00
pavlov%netscape.com
a392c38142 adding some additional error checking r=saari sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92387 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 09:17:59 +00:00
brendan%mozilla.org
9af11e29f7 Dean Tessman's patch to fix a copy/paste Ctrl-instead-of-Meta error (55932, r=pink, sr=me).
git-svn-id: svn://10.0.0.236/trunk@92386 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 08:42:12 +00:00
gordon%netscape.com
60861ec3f8 Test for nsDiskCacheBlockFile.cpp [not part of build].
git-svn-id: svn://10.0.0.236/trunk@92385 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 08:37:47 +00:00
pollmann%netscape.com
2e99d49588 Bug 64702: Fix crash on focus by adding null checks, and make form.submit call onsubmit handlers before submitting. r=rods@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92382 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 06:36:45 +00:00
cls%seawood.org
f4455d5079 Start using the NSS_CLIENT_BRANCH instead of the NSS_AUTOCONF_BRANCH for psm2 builds.
git-svn-id: svn://10.0.0.236/trunk@92380 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 03:58:57 +00:00
tajima%eng.sun.com
d546701ff2 bug 53990 - XIM: preedit problems at over-the-spot style. r=erik, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@92376 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 03:13:44 +00:00
cls%seawood.org
6584e0275d Move AC_DEFINE outside of AC_CACHE check to fix problem of config-defs.h always being regenerated.
git-svn-id: svn://10.0.0.236/trunk@92374 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 02:29:39 +00:00
bryner%uiuc.edu
20f1799649 Move MOZ_NSS_AUTOCONF test *after* including autoconf.mk. r=cls.
git-svn-id: svn://10.0.0.236/trunk@92370 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-16 00:50:16 +00:00
karnaze%netscape.com
371c47e0e3 bug 60807 - revised patch to handle 2 regression test cases.
git-svn-id: svn://10.0.0.236/trunk@92358 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 20:49:09 +00:00
dveditz%netscape.com
cd8477c0b6 bug 75847 (form submit fails when psm2 installed)
git-svn-id: svn://10.0.0.236/trunk@92357 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 18:32:55 +00:00
karnaze%netscape.com
2aba039789 bug 60807 - reduce avail width by fixed widths when calculating colspan widths. sr=attinasi, r=bernd.mielke@snafu.de
git-svn-id: svn://10.0.0.236/trunk@92356 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 17:08:04 +00:00
bienvenu%netscape.com
3d0baef5fb remove ifdeffed out code for cacheless view no bug needed sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92355 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 16:52:42 +00:00
pinkerton%netscape.com
d1e8739fc3 Removing some redundant libraries. They're already covered by configure.in and xpcom/build/Makefile.in r=cls, sr=hyatt. bug# 75653.
git-svn-id: svn://10.0.0.236/trunk@92349 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 07:15:15 +00:00
pinkerton%netscape.com
b8edd21e25 differences in the linker between MW and gcc cause us to use ifdefs to prune instead of dead-stripping. r=saari/sr=hyatt. bug# 75653.
git-svn-id: svn://10.0.0.236/trunk@92347 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 06:44:58 +00:00
pavlov%netscape.com
e0faddc87b fixing scaling problem r=saari, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92340 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 05:15:48 +00:00
pinkerton%netscape.com
af1fcfd83e tweaks to build under macosx. r=saari/sr=hyatt. bug#75653.
git-svn-id: svn://10.0.0.236/trunk@92339 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 04:58:22 +00:00
pinkerton%netscape.com
6bd7c9b3e0 use nsLocalFileMac.h for osx. r=saari, sr=hyatt bug#75653
git-svn-id: svn://10.0.0.236/trunk@92335 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 04:10:12 +00:00
bryner%uiuc.edu
edad18be57 Removing unnecessary #include.
git-svn-id: svn://10.0.0.236/trunk@92334 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 03:56:10 +00:00
pavlov%netscape.com
77851f9099 fixing bug 75185 r=brendan sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92333 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 02:13:49 +00:00
pinkerton%netscape.com
e46a41a801 Pull in IC if we're using the mac toolkit. r=saari/sr=hyatt. bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92332 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 01:49:46 +00:00
pinkerton%netscape.com
c8fadae9fa another routine that isn't supported under Carbon. r=saari/sr=hyatt. bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92331 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 01:19:51 +00:00
pinkerton%netscape.com
83dffb81ec Errors.h->MacErrors.h, Types.h->MacTypes.h, r=saari/sr=hyatt. bug# 75653
git-svn-id: svn://10.0.0.236/trunk@92330 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 00:50:48 +00:00
pinkerton%netscape.com
f51d407b00 Windows.h --> MacWindows.h r=saari/sr=hyatt. bug# 75653.
git-svn-id: svn://10.0.0.236/trunk@92329 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 00:45:26 +00:00
dbaron%fas.harvard.edu
c209bf29f7 Removing carriage returns (^M) to fix build bustage on cement tinderbox (IRIX).
git-svn-id: svn://10.0.0.236/trunk@92328 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 00:20:44 +00:00
dbaron%fas.harvard.edu
d358eeb93c Backing out changes made by serge@netscape.com for bug 67879 because they include X11/xpm.h, which is not a standard part of X11 and therefore breaks builds on machines that don't have it, including the following tinderboxes: speedracer (on Seamonkey), messina, monkeypox, nebiros, palermo, and torino (on SeaMonkey-Ports). Fixes build bustage.
git-svn-id: svn://10.0.0.236/trunk@92327 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 00:15:35 +00:00
rginda%netscape.com
d1a42f8b35 checking in irc library updates described in 74164
chatzilla only, r=ssieb


git-svn-id: svn://10.0.0.236/trunk@92326 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-15 00:04:32 +00:00
blakeross%telocity.com
b3dc668078 Classic scrollbars need to extend xpfe binding to inherit proper implementation (removes context menus on scrollbars in Classic, 27289). r=kerz sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@92325 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 23:42:01 +00:00
sspitzer%netscape.com
d9224bdc4d clean up my fix for #75942 to not give a JS error in the filter dialog.
(I forgot the search terms are shared.)  also make it so if you hit enter in
a search term and the search has started, it will stop it and and start a new one.
rename gButton to gSearchStopButton, since that is what it is.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@92324 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 23:08:00 +00:00
dbaron%fas.harvard.edu
032fa957f2 Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding windowwatcher to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@92323 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 23:04:15 +00:00
bryner%uiuc.edu
df4573b17d Oops, need locale in here too (MOZ_TRACK_MODULE_DEPS bustage)
git-svn-id: svn://10.0.0.236/trunk@92322 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:53:33 +00:00
bryner%uiuc.edu
1816110e8b Fixing MOZ_TRACK_MODULE_DEPS bustage (and bringing to light more of our sad dependency story).
git-svn-id: svn://10.0.0.236/trunk@92320 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:48:10 +00:00
dougt%netscape.com
6b2e8297cf NotPartOfBuild - This is only a test of CVS
git-svn-id: svn://10.0.0.236/trunk@92319 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:39:57 +00:00
dougt%netscape.com
aed5fa21dd NotPartOfBuild.
git-svn-id: svn://10.0.0.236/trunk@92318 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:38:46 +00:00
dougt%netscape.com
a6b827b79f removing ^M
git-svn-id: svn://10.0.0.236/trunk@92317 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:37:39 +00:00
bbaetz%cs.mcgill.ca
283a6e680a Bug 70267 - implement gopher searches
r=dougt, sr=darin


git-svn-id: svn://10.0.0.236/trunk@92316 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:09:59 +00:00
bbaetz%cs.mcgill.ca
bd3614b670 bug 70529 - tidy up protocol-specific code in the dirviewer
r=jag, sr=waterson


git-svn-id: svn://10.0.0.236/trunk@92315 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 22:08:35 +00:00
dbaron%fas.harvard.edu
26652102a8 Fix page cycler (and tinderbox orange). r=disttsc@bart.nl
git-svn-id: svn://10.0.0.236/trunk@92313 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 21:41:15 +00:00
dougt%netscape.com
d1c5238b22 Fixing Mac Bustage. ftpcore.h was being included by the IDL file. It doesn't need to be.
git-svn-id: svn://10.0.0.236/trunk@92312 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 21:31:25 +00:00
dougt%netscape.com
063cdbbbd4 fixing bustage
git-svn-id: svn://10.0.0.236/trunk@92311 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 21:15:25 +00:00
serge%netscape.com
b82f7d646c #67879 eliminate crash unix defalt plugin; add puzzle pixmap to unix nullplugin; sr=blizzard, r=av
git-svn-id: svn://10.0.0.236/trunk@92310 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 21:14:23 +00:00
dougt%netscape.com
c1d7ac4835 Removing ^M.
git-svn-id: svn://10.0.0.236/trunk@92309 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 21:10:14 +00:00
serge%netscape.com
4afe35a3ef #67879 eliminate unix default plugin crash; add puzzle pixmap to unix nullplugin; sr=blizzard r=av
git-svn-id: svn://10.0.0.236/trunk@92308 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 21:07:43 +00:00
dougt%netscape.com
a3769f695d Fixing bustage...
Removing ^M. God I hate the msvc editor...


git-svn-id: svn://10.0.0.236/trunk@92307 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 20:57:44 +00:00
dougt%netscape.com
1005aceb22 Fixes 72774. Simple fix which checks the response code of the SYST command. If it is a 500 series we default to guessing the server is UNIX. r=bbaetz@cs.mcgill.ca
git-svn-id: svn://10.0.0.236/trunk@92306 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 20:36:24 +00:00
dougt%netscape.com
3a90a21610 Adds styles to the ftp logging.
r=bbaetz@cs.mcgill.ca
sr=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92305 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 20:32:24 +00:00
dougt%netscape.com
ab5182da96 Fix for bug 75836.
Adds an optional log window to the ftp directory viewer.
Adds a nsIPrompt and nsIAuthPrompt to the directory viewer's interface requestor.
Attempts to serialize network requests.

(thanks to chris waterson who helped me figure out the refcounting)

r=mailto:bbaetz@cs.mcgill.ca
sr=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92304 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 20:30:47 +00:00
disttsc%bart.nl
5b3736f0b7 Move browser's nsIWebProgressListener implementation into js. More work for bug 46200, r=ben, r=adamlock, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@92303 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 20:08:32 +00:00
rginda%netscape.com
60a697e6c7 - not built yet -
initial checkin of jsdebugger extension


git-svn-id: svn://10.0.0.236/trunk@92302 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 19:15:10 +00:00
rginda%netscape.com
162b9b2498 -- not built --
unix make fixes
unix "missing initializer" warnings


git-svn-id: svn://10.0.0.236/trunk@92301 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 18:57:00 +00:00
dbaron%fas.harvard.edu
2c62d3da30 Attempt to fix OS/2 bustage by adding the programs listed in SIMPLE_PROGRAMS to CPPSRCS as well, as they are in other makefiles that use SIMPLE_PROGRAMS. r=disttsc@bart.nl b=75163
git-svn-id: svn://10.0.0.236/trunk@92299 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 18:36:47 +00:00
axel%pike.org
e05bd1f660 not part of default build; PathExpr did wrong for //; code by sicking, r=me, sr=shaver, bug 75307
git-svn-id: svn://10.0.0.236/trunk@92298 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 17:24:59 +00:00
beard%netscape.com
70d4e5e6cf Fix for bug #49130, a=phil
git-svn-id: svn://10.0.0.236/trunk@92297 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 17:18:14 +00:00
dbaron%fas.harvard.edu
fdf2976375 Reduce the size of nsXPIDL[C]String by making destructor non-virtual and thus removing vtable pointer. b=75163 r=waterson@netscape.com sr=scc@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92296 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 17:08:16 +00:00
bienvenu%netscape.com
058a80430a fix 75912 downloading news msgs for offline use stops if article not found, also 71581 hang going offline if you have no newsgroups configured for offline use sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92295 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 15:30:19 +00:00
bienvenu%netscape.com
dd77c40099 add error status for news msg not found 15870 sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92294 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 15:28:50 +00:00
bienvenu%netscape.com
e5395735fb fix status msg for offline news sr=sspitzer 15870
git-svn-id: svn://10.0.0.236/trunk@92293 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 15:27:31 +00:00
attinasi%netscape.com
7487c96bf8 Fix for problem where a StyleContext changes its CRC and does not update the styel context cache. b=73553 r=karnaze sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92292 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 14:06:27 +00:00
markh%activestate.com
aea59ec1ab A number of changes moving towards dynamic linking support on Linux.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@92291 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 13:41:35 +00:00
markh%activestate.com
7069e0eef2 Add DOMString tests.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@92290 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 08:15:29 +00:00
markh%activestate.com
de520fc622 Almost complete support for DOMStrings. Also fix a crash with some Unicode objects.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@92289 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 08:14:33 +00:00
markh%activestate.com
81b6907127 Remove a misleading comment.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@92288 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 08:04:37 +00:00
bryner%uiuc.edu
0b08351033 Bug 61707 - Removing mac smart-scrolling warning. r=hewitt, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@92287 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 08:03:01 +00:00
brendan%mozilla.org
c0d45daa7f Use parent, if non-null, as scope chain with which to find default proto from Class.prototype, in js_{New,Construct}Object (75975, sr=jband&jst).
git-svn-id: svn://10.0.0.236/trunk@92286 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 07:34:58 +00:00
attinasi%netscape.com
f3e7b8ac13 Fix for regression: only restrict HTML content from event pseudo application. b=75823 sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92284 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 06:34:50 +00:00
blakeross%telocity.com
98b4e0ab02 The last two patches were by John Morrison <jrgm@netscape.com>. Sorry for forgetting to attribute them.
git-svn-id: svn://10.0.0.236/trunk@92283 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 05:30:53 +00:00
blakeross%telocity.com
f196aabfa6 Empty or otherwise messed up buttons in profile dialogs (73781, 73666). r=timeless sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92282 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 05:28:49 +00:00
leaf%mozilla.org
514aab3433 Automated update
git-svn-id: svn://10.0.0.236/trunk@92278 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 03:30:07 +00:00
bryner%uiuc.edu
6cfe2ec86c Add support for building PSM from the nss autoconf branch using --enable-crypto. Remove references to obsolete MOZ_SECURITY define. r=cls.
git-svn-id: svn://10.0.0.236/trunk@92276 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 03:20:48 +00:00
cls%seawood.org
7690537f01 CConverting line-endings to fix cement bustage. Extra ^Ms are A Bad Thing(tm).
git-svn-id: svn://10.0.0.236/trunk@92275 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 02:45:59 +00:00
sspitzer%netscape.com
7df316a339 #5335 show location in search dialog
#75942 enter in a search term kicks off search
#72253 no sort by thread in the search dialog
#44341 showing the wrong columns in search dialog
#75939 bad row count problems with search
remove unused search-widgets.css

r=mscott,sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@92274 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 02:16:56 +00:00
sspitzer%netscape.com
998fdba548 #75603 rebuild picker every time
#74672 use "ignoreincolumnpicker" allow columns to not show up in picker.

needed for mailnews, since since the thread pane is used by the search dialog.

sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@92272 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 02:09:36 +00:00
darin%netscape.com
afd4500f54 Patch to finalize necko loadFlags and fix HTTP validation correctness w.r.t.
cache validation preferences and browsing via history.  r=gagan,gordon.
Fixes several bugs that I would mention here if bugzilla weren't down ;-)


git-svn-id: svn://10.0.0.236/trunk@92271 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 02:02:19 +00:00
dougt%netscape.com
b592f10033 More Assertions and checks for null similar to the last checkin. r=me
git-svn-id: svn://10.0.0.236/trunk@92270 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 02:01:37 +00:00
myk%mozilla.org
d098cec94a bug 75991: removed bugzilla-specific stuff and added bugzilla-specific script since bugzilla is moving to mothra; genstats.cgi will do the bonsai stats and genstats-bz.cgi will do the bugzilla stats
git-svn-id: svn://10.0.0.236/trunk@92268 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 01:47:40 +00:00
disttsc%bart.nl
8dbf12e222 Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92267 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 01:42:54 +00:00
sfraser%netscape.com
d58c881de0 These changes fix PR_Poll on Mac thusly:
1. Factor out checking the fds into a new function CheckPollDescs()
2. Factor out setting/clearing the polling thread on those fds into 
SetDescPollThread()
3. Be more careful about where we set the polling thread on the fds, ensuring 
   that we turn off interrupts and hold a lock around the code that sets up the
   polling thread and checks for data on the fds. This fixes the race condition
   that causes this bug.
4. We now clear the polling thread on the fds when coming out of PR_Poll, so that
   the notifier doesn't attempt to wake the wrong thread when called when
   we're not polling.
5. Implement a 0-timeout version that behaves like select().

Bugzilla bugs 72965 and 60509. r=gordon, larryh.


git-svn-id: svn://10.0.0.236/trunk@92265 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 01:11:14 +00:00
blakeross%telocity.com
3a1db66ef3 Accelerator and command problems in mailnews (75447, 75038, 75453). r=ssu sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92264 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 01:08:15 +00:00
despotdaemon%netscape.com
345371b92f Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@92263 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:58:52 +00:00
law%netscape.com
ba24c14426 Bug 57576; add SetIcon method to widgets and add code to nsXULWindow to set icons per window; no icons available yet, unless you roll your own; see bug for details; r=mcafee, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92262 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:57:30 +00:00
sgehani%netscape.com
c42e5fd243 Don't UTF-8 encode bookmark URLs twice.
b = 54866
r = sgehani (checking in for waterson)
sr = alecf


git-svn-id: svn://10.0.0.236/trunk@92261 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:45:15 +00:00
jgmyers%netscape.com
a56fc05175 STARTTLS sockets shouldn't send v2 hello: bug 75617 r=javi sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92260 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:41:50 +00:00
hyatt%netscape.com
3dc11d4de5 Fix to ensure 100ms minimum when timeout is less than 100ms for animated images. Checking in for pav. r=saari, sr=me
git-svn-id: svn://10.0.0.236/trunk@92259 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:40:47 +00:00
dougt%netscape.com
6e8d19ed26 Attempting to fix 74057, although not likely. See bug for details.
If you are asserting after this patch is applied, please contact dougt@netscape.com.

r=gagan@netscape.com
sr=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92258 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:34:06 +00:00
yokoyama%netscape.com
c9e29953a6 Partial fix for 66020: /r=valeski; /sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92257 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:31:09 +00:00
mscott%netscape.com
7881e1ad6c NOT PART OF THE BUILD
Make the mac moz-icon url code work when the file doesn't exist by leveraging the new get file extension method.


git-svn-id: svn://10.0.0.236/trunk@92256 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:27:09 +00:00
beard%netscape.com
f9575b97bf Remove bogus access paths. r/sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92255 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:16:29 +00:00
despotdaemon%netscape.com
af34c00b91 Pseudo-automatic update of changes made by myk@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@92254 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:13:01 +00:00
beard%netscape.com
8b9c98753d Fix for bug #74476: pass the actual date to PRMJ_DSTOffset() rather than 0.
git-svn-id: svn://10.0.0.236/trunk@92253 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-14 00:07:53 +00:00
mscott%netscape.com
72003318ac NOT PART OF THE BUILD
Make moz-icon urls support both a nested file url and a non existent dummy file.
i.e.
moz-icon:file:///c/test.html?size=32
and
moz-icon:dummyFile.html?size=16
in the later case we use the file extension to determine the icon to fetch.


git-svn-id: svn://10.0.0.236/trunk@92252 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:58:24 +00:00
cls%seawood.org
182d07395e Add security to psm2 DIRS list so that BUILD_MODULES=psm2 works (how did this ever work before?)
git-svn-id: svn://10.0.0.236/trunk@92251 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:54:47 +00:00
dveditz%netscape.com
4615ef72e8 bug 75487 PSM2 installer issues, r=/sr=leaf
git-svn-id: svn://10.0.0.236/trunk@92250 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:50:22 +00:00
andreww%netscape.com
f7d2bbd939 bugzilla 53825 on behalf of MPT r = lordpixel, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@92249 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:39:12 +00:00
sfraser%netscape.com
e3492c2a28 Fix the build. This was EXACTLY what my nsFileStream.h changes were meant to detect. Ha!
git-svn-id: svn://10.0.0.236/trunk@92247 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:29:16 +00:00
waterson%netscape.com
3baf9dbae4 Convert some of nisheeth's debugging code into PR_LOG()'s so everyone can share. Implement the GetName() method for the dummy layout channel. r=nisheeth, sr=jst
git-svn-id: svn://10.0.0.236/trunk@92246 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:24:25 +00:00
colin%theblakes.com
6446079dd1 Use MOZ_COMPONENT_LIBS and pass via EXTRA_DSO_LDOPTS instead
of EXTRA_LIBS. r=cls b=75876.


git-svn-id: svn://10.0.0.236/trunk@92245 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:21:54 +00:00
dveditz%netscape.com
655c8e7d5a fix for 73520, update user agent to 0.8.1+
git-svn-id: svn://10.0.0.236/trunk@92243 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 23:11:45 +00:00
sfraser%netscape.com
9d97a8b47f Fix bug 71064; give the file stream classes private, and unimplemented copy constructors and assignment operators, prevent clients from passing them by value. r=waterson, sr=scc
git-svn-id: svn://10.0.0.236/trunk@92242 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:50:23 +00:00
law%netscape.com
76af2809b3 Updates to work in progress for bug 52454
git-svn-id: svn://10.0.0.236/trunk@92241 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:36:42 +00:00
sfraser%netscape.com
698b66c06c Fix bugs 75649 and 9131. Make moveToAlertPosition work properly, by ensuring that the dialog has some size before trying to position it. Also, only use the default position for the find dialog if you haven't persisted its position once before. r=jag, sr=sspitzer.
git-svn-id: svn://10.0.0.236/trunk@92240 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:30:04 +00:00
shanjian%netscape.com
6604a1b9f4 #59405 IME candidate window position is not correct in text field on New card and To field
r = kin, sr = sfraser
change the type of coordinate return for windows and unix


git-svn-id: svn://10.0.0.236/trunk@92239 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:27:18 +00:00
radha%netscape.com
1a1c39cd3b Fix for bug # 41065. null ptr checks added r=valeski sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@92238 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:26:28 +00:00
radha%netscape.com
ce87186dc2 Fix for bug # 55055 r=adamlock sr=rpotts Save CacheKey in SH
git-svn-id: svn://10.0.0.236/trunk@92237 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:20:33 +00:00
radha%netscape.com
1a8cd6167b Fix for bug # 55055. Save CacheKey in SH for postdata results r=adamlock sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@92236 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:19:21 +00:00
dmose%netscape.com
e253dbb57e helper function to make code that gets nsISupports proxies more readable: NS_GetProxyForObject (bug 74792). r=brendan@mozilla.org, sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92235 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:13:04 +00:00
erik%netscape.com
08d052a062 bug 75066; author=simon@softel.co.il; r=jst; sr=erik; this change addresses
a comment made during the review of 75066 (nsBidiOptions -> PRUint32)


git-svn-id: svn://10.0.0.236/trunk@92234 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:09:44 +00:00
sspitzer%netscape.com
ce327f26e3 fix for crasher #75831. make sure we close the dbview when we close
the stand alone message window.  sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@92233 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 22:05:10 +00:00
erik%netscape.com
8b6f590d05 bug 75066; author=simon@softel.co.il; r=jst; sr=erik; this change addresses
a comment made during review of 75066 (nsBidiOptions -> PRUint32)


git-svn-id: svn://10.0.0.236/trunk@92232 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:54:17 +00:00
ducarroz%netscape.com
cd0be835fe Part of bug 22486. Fix performance regression introduce yesterday with my big cleanup of message compose. R=shaver, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92231 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:53:20 +00:00
cmanske%netscape.com
322d7a4c8e Fixed selection of suggested list item, b=75747, r=kin, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92230 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:52:17 +00:00
erik%netscape.com
77bef28167 bug 75066; author=simon@softel.co.il; r=jst; sr=erik; this change addresses
a comment made during the review of 75066 (nsBidiOptions -> PRUint32)


git-svn-id: svn://10.0.0.236/trunk@92228 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:50:54 +00:00
cmanske%netscape.com
e7fbf6af2a Remove accelerator key from toolbar menu, b=75639, r=rcassin@supernova.org,kin; sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92227 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:50:08 +00:00
erik%netscape.com
66a3aa0e18 bug 75066; author=simon@softel.co.il; r=jst; sr=erik; this change addresses
a comment made during the review for 75066 (nsBidiOptions ->PRUint32)


git-svn-id: svn://10.0.0.236/trunk@92226 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:46:28 +00:00
cmanske%netscape.com
688301f444 Fixed double menu checks, b=75740, r=rcassin@supernova.org, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92225 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:46:05 +00:00
morse%netscape.com
89af28ed99 bug 75748, crash when viewing a particular message, r=sspitzer, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@92224 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:45:34 +00:00
varada%netscape.com
5fc38cad21 fix for bug#72916;changing xul broadcasters to commands and observes to commands;r=ducarroz;sr=mscott
git-svn-id: svn://10.0.0.236/trunk@92223 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:44:22 +00:00
sonmi%netscape.com
7520ae4315 added parameters for linux grep
git-svn-id: svn://10.0.0.236/trunk@92222 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:42:18 +00:00
sonmi%netscape.com
31d94e797d added more information to the QA report
ported to linux
added special "before contesxt" and "after context" parameters to grep when
running on linux


git-svn-id: svn://10.0.0.236/trunk@92221 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:41:16 +00:00
sspitzer%netscape.com
0ac1240c5f rest of fix for for #75317.
temp files created when forwarding a message with attachments are not being deleted. fix by cavin@netscape.com. r=ducarroz, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92220 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:38:47 +00:00
naving%netscape.com
584c757309 68737. sr=bienvenu. rv wasn't being set correctly to default value for
linux release builds.


git-svn-id: svn://10.0.0.236/trunk@92219 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:37:10 +00:00
peterlubczynski%netscape.com
4f676e260a Adding pref to enabled double buffering for pages that have plugins on Mac bug=62891 a=av sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92218 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:30:14 +00:00
blizzard%redhat.com
852798a51d Add XSync() before querying pointer to get any destroys done. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@92217 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 21:27:34 +00:00
sspitzer%netscape.com
6f6e1e5e2e #75948, bullet proof crasher when reading mail. sr=mscott, a=leaf
git-svn-id: svn://10.0.0.236/trunk@92216 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 20:30:10 +00:00
scc%mozilla.org
c60383becb [documentation], _never_ part of a build. Checking in as I add more FAQs
git-svn-id: svn://10.0.0.236/trunk@92215 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 18:03:33 +00:00
scc%mozilla.org
9302738ddc [documentation] a=leaf, _never_ part of a build. Checking in as I add more FAQs
git-svn-id: svn://10.0.0.236/trunk@92212 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 16:41:51 +00:00
ftang%netscape.com
e5315957fa fix IBMBIDI build bustage
git-svn-id: svn://10.0.0.236/trunk@92211 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:52:08 +00:00
scc%mozilla.org
5b191ef2e9 documentation only, never to be part of the build; fixing stylesheet problem
git-svn-id: svn://10.0.0.236/trunk@92210 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:48:50 +00:00
ftang%netscape.com
0d29952a29 fix unix bustage
git-svn-id: svn://10.0.0.236/trunk@92209 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:44:16 +00:00
ftang%netscape.com
ca5001df56 not part of the build.
fix the name


git-svn-id: svn://10.0.0.236/trunk@92208 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:34:55 +00:00
ftang%netscape.com
5980901691 not part of the build yet. add tools to generate #define so we can
remove some unnecessary class in nsUCvXXXSupport.h,cpp


git-svn-id: svn://10.0.0.236/trunk@92207 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:11:31 +00:00
disttsc%bart.nl
98bec09486 Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92206 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:08:44 +00:00
locka%iol.ie
9d886eedd9 NO CODE CHANGES. Reformatted to remove evil 3 space indentation
git-svn-id: svn://10.0.0.236/trunk@92205 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 13:05:16 +00:00
rods%netscape.com
74c73cc860 Fixing clipping problem with IFrames and the page timer not being stopped
and started correctly.
Bug 75740 r=dcone


git-svn-id: svn://10.0.0.236/trunk@92204 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 12:32:18 +00:00
leaf%mozilla.org
26e171fa6d Automated update
git-svn-id: svn://10.0.0.236/trunk@92203 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 12:15:06 +00:00
jdunn%netscape.com
3513e058ee don't set HAVE_CPP_2BYTE_WCHAR_T for AIX
r= cls@seawood.org
# 75544


git-svn-id: svn://10.0.0.236/trunk@92202 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 12:09:34 +00:00
ftang%netscape.com
60c410bf24 add /layout/base/src/nsBidiPresUtils.cpp into base and
/layout/html/base/src/nsBidiFrames.cpp  into html/base 
fix bug 75463. r/sr=sfraser@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92201 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:35:37 +00:00
rods%netscape.com
2dc500a3e3 This is a temporary fix until 75739 is fixed, this keeps the brorders from being
drawn over by the InnerFrame.
Bug 75737 r=pollmann sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@92200 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:34:31 +00:00
valeski%netscape.com
701f3dd004 r=tao, sr=alecf. cleanup of string bundle service. see bug 74512 for details.
git-svn-id: svn://10.0.0.236/trunk@92199 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:31:03 +00:00
ftang%netscape.com
f19af5208a add nsITextFrame.h to the export list. fix bug 75463. r/sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92198 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:24:53 +00:00
valeski%netscape.com
7ec123afdd sr=darin. no bug. just dead wood static cid cleanup
git-svn-id: svn://10.0.0.236/trunk@92197 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:23:11 +00:00
ftang%netscape.com
46de2a7d0a add bidi into the build flag and define IBMBID if bidi is set. fix bug 75463. r/sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92196 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:22:11 +00:00
ftang%netscape.com
25a9fd2462 add bidi into the build flag. fix bug 75463. r/sr=sfraser@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92195 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 11:21:34 +00:00
peterv%netscape.com
0798dc357b Fix for 75724 (duplicate data in inline stylesheets). r=glazman, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@92193 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 10:35:40 +00:00
pavlov%netscape.com
124ff7412b fix images not changing during skin switching bug 75181 r=brendan sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92192 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 09:07:12 +00:00
bryner%uiuc.edu
e16c8f5dab Adding support for pulling the NSS Autoconf branch. r=cls.
git-svn-id: svn://10.0.0.236/trunk@92191 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 09:01:36 +00:00
cls%seawood.org
ce5fb04ef1 Add check for <nl_types.h> as OpenBSD 2.5 requires that you include <nl_types.h> when including <langinfo.h> but does not do it automatically
git-svn-id: svn://10.0.0.236/trunk@92190 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 08:54:52 +00:00
cls%seawood.org
8409874bcf Remove -rpath from LDFLAGS when using --with-default-mozilla-five-home as it causes problems when building mozilla on a machine with mozilla installed.
Bug #68196 r=blizzard


git-svn-id: svn://10.0.0.236/trunk@92189 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 08:47:44 +00:00
sspitzer%netscape.com
4e121862da fix for #73156. enter should work like open in the thread / search pane.
patch by the bossman (putterman@netscape.com), sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92187 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 08:17:56 +00:00
sspitzer%netscape.com
fcd068e552 fix for #75317. temp files created when forwarding a message with attachments are not being
deleted.  fix by cavin@netscape.com.  r=ducarroz, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@92186 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 08:13:48 +00:00
brendan%mozilla.org
cd44bd5351 Don't zap atom state on last destroy-context in a runtime if interned strings are held by atoms, and/or rooted objects reach atoms -- there may be a new-first-context in the future (72043, r=jband, sr=shaver).
git-svn-id: svn://10.0.0.236/trunk@92185 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 08:06:15 +00:00
jst%netscape.com
c65e0ac7ce Adding missing trailing '/' in the xmlns namespace uri, fixes bug 37649. Fix by sicking@bigfoot.com, r=disttsc@bart.nl, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92184 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 07:54:21 +00:00
darin%netscape.com
7a7e91ee9e Fixes bug 43191 "frameset targets not selecting from cached frame" r=gagan, sr=waterson.
git-svn-id: svn://10.0.0.236/trunk@92183 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 07:30:27 +00:00
cls%seawood.org
abd962daa7 Add an explicit check for CODESET to fix OpenBSD bustage. r=bstell@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92181 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 06:41:17 +00:00
danm%netscape.com
3226cc992f i think this'll fix speedracer, burning these past two hours
git-svn-id: svn://10.0.0.236/trunk@92180 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 06:38:33 +00:00
ducarroz%netscape.com
adcd15f789 should fix senna Linux bustage
git-svn-id: svn://10.0.0.236/trunk@92179 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 06:26:15 +00:00
darin%netscape.com
3df39b6d18 Fixes bug 74512 "file transport should support non-blocking streams" r=dougt, sr=rpotts.
git-svn-id: svn://10.0.0.236/trunk@92178 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 06:14:11 +00:00
waterson%netscape.com
698145d40d Set files as binary.
git-svn-id: svn://10.0.0.236/trunk@92177 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 05:57:40 +00:00
waterson%netscape.com
c78717106f Aj.gif
git-svn-id: svn://10.0.0.236/trunk@92176 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 05:51:25 +00:00
waterson%netscape.com
4cb348e5bc Check in as binary.
git-svn-id: svn://10.0.0.236/trunk@92175 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 05:48:52 +00:00
pavlov%netscape.com
b05eb9b92a fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@92174 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 05:37:29 +00:00
pavlov%netscape.com
fe942ef423 fixing stupid bustage from my last checkin r=saari sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92173 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 04:59:21 +00:00
ducarroz%netscape.com
34122e3b5a Part of bug 28348. Add pref to show progress dialog during send message. This pref will be turn to true when the progress dialog will be statble enough. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92171 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 04:50:14 +00:00
ducarroz%netscape.com
d48e5949c9 Fix for bug 28348 and bug 52329. Add a progress dialog while sending or saving a message. Also stop hidding the msg compose window during send. I have also did a big cleanup of message compose backend which remove couple of leaks. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92170 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 04:38:01 +00:00
anatoliya%netscape.com
2b17a7e785 bug-4596 r=jelwell, suresh sr=kin
git-svn-id: svn://10.0.0.236/trunk@92169 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 04:13:10 +00:00
mscott%netscape.com
6e595f4baa Bug #74011 --> fix xul syntax breakage. Change .value to .label so the cancel button becomes a close button.
git-svn-id: svn://10.0.0.236/trunk@92168 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:59:11 +00:00
disttsc%bart.nl
37a01ce7d3 Bug 47740: "Wrong wording when right-clicking on a From address", author=Keyser Sosez <ksosez@softhome.net>, r=timeless, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92167 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:57:57 +00:00
pinkerton%netscape.com
b85c14bc74 make combo-box dropdown stand out more from the page. especially needed since the mac WDEF no longer draws an outline for popups. r=rods/sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92166 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:53:40 +00:00
blizzard%redhat.com
ef034abbcd Fix bug #72230. Make sure to redraw the background of the window before any document is loaded in embedding. r=valeski,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92165 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:52:45 +00:00
disttsc%bart.nl
1ddb85ed76 Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92164 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:51:47 +00:00
mscott%netscape.com
0cbf822b14 Bug #73819 --> hook imap and news up to the new memory cache.
r/sr=sspitzer,bienvenu


git-svn-id: svn://10.0.0.236/trunk@92163 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:48:37 +00:00
waterson%netscape.com
510f337da2 Fix some code that is #ifdef DEBUG_waterson
git-svn-id: svn://10.0.0.236/trunk@92162 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:46:23 +00:00
disttsc%bart.nl
53e929c4bc Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92161 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:45:47 +00:00
anatoliya%netscape.com
9d9868147e bug-4013 r=andreww sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@92160 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:45:37 +00:00
disttsc%bart.nl
994be1be1e Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92159 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:30:51 +00:00
disttsc%bart.nl
8b4240cb71 Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92158 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:25:15 +00:00
waterson%netscape.com
fce779f76c Fix bustage better.
git-svn-id: svn://10.0.0.236/trunk@92157 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:19:29 +00:00
waterson%netscape.com
0a32ffd8fc Fix bustage.
git-svn-id: svn://10.0.0.236/trunk@92156 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:18:01 +00:00
sfraser%netscape.com
def0c9a2c3 Fixing imgCache files for pavlov.
git-svn-id: svn://10.0.0.236/trunk@92155 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 03:07:22 +00:00
mscott%netscape.com
9b89cbba41 Fix some assertions by making sure nsStreamListenerTee's isupports definition includes nsIRequestObserver.
sr=darin


git-svn-id: svn://10.0.0.236/trunk@92154 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:50:31 +00:00
pavlov%netscape.com
069a82eb4f forgot a file
git-svn-id: svn://10.0.0.236/trunk@92153 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:44:30 +00:00
pavlov%netscape.com
2fa16f5738 fix for at least bugs 6074,72087,74506,75190,75180,74165,69857,75576,75326,75417,75474 r=waterson, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@92152 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:42:56 +00:00
waterson%netscape.com
eb0669ba97 Bug 75623, and part of bug 75576. Make sure we only fire OnStartRequest() once. Also, the doc loader should handle nsIRequests that aren't nsIChannel objects; this fix cleans that up. r=pavlov, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@92151 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:32:02 +00:00
morse%netscape.com
fef03bdf1b bug 75654, bogus cookie description when multiple cookies selected, r=evaughan, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92150 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:26:19 +00:00
morse%netscape.com
5bbabf5c9a bug 75754, password manager not showing all saved passwords, r=sconest, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92149 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:22:46 +00:00
cmanske%netscape.com
ff42ae0276 Added missing key accelerator for Print. Part of fix for bug 75639, r=sfraser, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92148 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:11:07 +00:00
danm%netscape.com
37e6ff6374 fix -remote...new-window functionality broken in last revision. no bug #. r=hyatt,pinkerton
git-svn-id: svn://10.0.0.236/trunk@92147 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:00:48 +00:00
disttsc%bart.nl
5c86f8ec97 Fix senna bustage (MOZ_TRACK_MODULE_DEPS)
git-svn-id: svn://10.0.0.236/trunk@92146 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 02:00:19 +00:00
danm%netscape.com
9c80571fdb removing files no longer used. bug 72112 continues
git-svn-id: svn://10.0.0.236/trunk@92145 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 01:53:19 +00:00
hwaara%chello.se
c64b73648b A rather large optimization to GetNumSelected(). bug 75833, r=jag, sr=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@92144 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 01:30:06 +00:00
sfraser%netscape.com
b7a2ec21c6 Fix the build by doing the correct style struct casting foo.
git-svn-id: svn://10.0.0.236/trunk@92143 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 01:09:06 +00:00
mscott%netscape.com
032cc5948d Bug #74783 --> don't read the mac file creator and type values from our hard coded table of content types. Always use the values from internet config.
r=sspitzer
sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@92142 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:44:55 +00:00
mscott%netscape.com
61ccf241e1 Bug #74783 --> never get the mac creator and file type from our hard coded list of content types. Always get them from internet config. Mac only change.
r=sspitzer
sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@92141 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:43:52 +00:00
dougt%netscape.com
b7dbc380ab This file is not part of build.
git-svn-id: svn://10.0.0.236/trunk@92140 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:43:32 +00:00
sfraser%netscape.com
f04292abdf Fix for bug 75492 -- make <button>s selectable in composer. r=rods, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@92139 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:39:52 +00:00
sfraser%netscape.com
66ff3b3ff5 Fix bug 48716 -- make nsFileControlFrame's draw with a blue box when selected in composer. r=rods, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92138 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:30:37 +00:00
sfraser%netscape.com
2df2049806 Fix for bug 75676. Make textfield.textLength work properly. r=mjudge sr=kin
git-svn-id: svn://10.0.0.236/trunk@92137 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:25:36 +00:00
sfraser%netscape.com
8dbd85b3b8 Fix for bug 48400; ensure that textfield.select() on an empty text field shows the caret by selecting the correct nodes. r=cmanske, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92136 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:22:42 +00:00
sfraser%netscape.com
46ee64bdcc Fix for bug 53610. When the caret is in a <br> frame at the end of a line, use font metrics to get the height, rather than faking it. r=dbaron, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92135 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:17:21 +00:00
mscott%netscape.com
01345b4b2d NOT PART OF THE BUILD
extract the content Type and the size from the icon url


git-svn-id: svn://10.0.0.236/trunk@92134 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-13 00:08:25 +00:00
nhotta%netscape.com
0bef4f6581 Changed to ignore encoding="UTF-16" in detectByteOrderMark(), bug 66807, r=ftang, sr=erik.
git-svn-id: svn://10.0.0.236/trunk@92133 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:57:18 +00:00
dougt%netscape.com
2971a81712 Fixes 73797. Moves some initialization code up higher so that it does not have
to be called so much.

r=darin@Netscape.com
sr=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92132 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:56:28 +00:00
heikki%netscape.com
bf104f6aff Not part of build. Mac project files for P3P. p3p.mcp does not yet work.
git-svn-id: svn://10.0.0.236/trunk@92131 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:47:16 +00:00
erik%netscape.com
fd2c2f7c83 bug 74946; author=simon@softel.co.il; r=attinasi; sr=erik; Makefile change
for new file from IBM bidi project (e.g. Arabic, Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92130 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:44:00 +00:00
pavlov%netscape.com
d3c26a9c3c don't reset the decoded rect back to 0 when redrawing in a frame r=saari sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92129 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:43:24 +00:00
erik%netscape.com
ca57080def bugs 71370 and 74946; author=simon@softel.co.il; r=attinasi; sr=erik;
Makefile changes for new file from IBM bidi project (e.g. Arabic and Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92128 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:41:43 +00:00
naving%netscape.com
bb0004fdcc 75775. sr=bienvenu. check for null pointer and assert if null. This happens when we
have download_on_biff true.


git-svn-id: svn://10.0.0.236/trunk@92127 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:41:01 +00:00
erik%netscape.com
d0c67078bb bugs 71370 and 74946; author=simon@softel.co.il; r=attinasi; sr=erik;
Makefile changes for the files that were added by IBM bidi project (e.g.
Arabic and Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92126 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:39:48 +00:00
mjudge%netscape.com
cbadf98906 68396 removing unused ifdefs and includes from project for nsGfxTExtControlFrame2 sr=kin r= kin
git-svn-id: svn://10.0.0.236/trunk@92125 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:39:19 +00:00
bienvenu%netscape.com
6660d94a91 fix handling of new flag for filtered pop messages r=gaytrib, sr=sspitzer 55900
git-svn-id: svn://10.0.0.236/trunk@92124 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:39:18 +00:00
mjudge%netscape.com
92ddeb3cb6 53151 68396 sr=kin r= kin. removing some ifdefs of dead ender-lite code and fixing a mail news lockup in text traversal
git-svn-id: svn://10.0.0.236/trunk@92123 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:38:32 +00:00
ducarroz%netscape.com
b13d357c25 Part of fix for bug 28348. Add Progress Dialog. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92122 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:37:28 +00:00
dougt%netscape.com
a9ea43e527 Fixes refcount cycle pointed out by Mr. David Baron.
b=75110
r=dbaron@fas.harvard.edu
sr=darin@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92121 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:37:15 +00:00
mjudge%netscape.com
e8eca338ca kin=sr r=kin bug 75743 removing some [noscript]s from idl file to expose more idl to js
git-svn-id: svn://10.0.0.236/trunk@92120 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:37:08 +00:00
ducarroz%netscape.com
ab1af30daa Part of fix for bug 28348. Add Progress dialog. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92119 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:36:23 +00:00
erik%netscape.com
a3a70da91b bug 75066; author=simon@softel.co.il; r=jst; sr=erik; diffs from IBM bidi
project (e.g. Arabic, Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92118 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:35:24 +00:00
ducarroz%netscape.com
cd8b494be4 New files for fix for bug 52329 and bug 28348. NOT PART OF THE BUILD YET. R=varada, SR=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92117 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:33:30 +00:00
dougt%netscape.com
6de3e3c199 Fixes 75289. If you want to listen to the ftp control traffic, here is your chance.
sr=darin


git-svn-id: svn://10.0.0.236/trunk@92116 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:32:47 +00:00
naving%netscape.com
cf4d8e4e3d 61171. r/sr=mscott, bienvenu. If password fails start all over again
because some servers close the connection


git-svn-id: svn://10.0.0.236/trunk@92115 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:31:45 +00:00
bnesse%netscape.com
0a69ca5de7 Fixes for handling default localized unichar prefs.
[Not part of the build]


git-svn-id: svn://10.0.0.236/trunk@92114 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:28:43 +00:00
bnesse%netscape.com
2fc81147fa Added additional comments about functionality of reset & clear.
[Not part of the build]


git-svn-id: svn://10.0.0.236/trunk@92113 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 23:27:45 +00:00
nicolson%netscape.com
482d265222 Fix bug 75490: memory bug in decodeAndImportKey causes SEGV.
git-svn-id: svn://10.0.0.236/trunk@92112 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 22:13:25 +00:00
nicolson%netscape.com
b706a3912a Fix bug 75770: RSA_NewKey returns an incomplete key. Reviewed by mcgreer
and nelsonb.


git-svn-id: svn://10.0.0.236/trunk@92111 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 20:23:42 +00:00
idk%eng.sun.com
65831f917f *not part of the buid*
fix for 67457


git-svn-id: svn://10.0.0.236/trunk@92110 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 19:56:55 +00:00
johng%corel.com
a43565bc9f Support for Double-Byte fonts
Missing mID member in nsRenderingContextQt (for debugging)


git-svn-id: svn://10.0.0.236/trunk@92109 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 19:13:24 +00:00
johng%corel.com
26be1d277c Fix for nsTimerQt::SetDelay. Bug caused animated images to speed up after page reload.
git-svn-id: svn://10.0.0.236/trunk@92108 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 19:11:10 +00:00
johng%corel.com
0a0a794fdf Fix for re-entrancy problem with menus
git-svn-id: svn://10.0.0.236/trunk@92107 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 19:10:23 +00:00
javi%netscape.com
9140c35746 This file isn't used as part of PSM 2.0 builds, so let's not
break PSM 1.0 builds just yet.


git-svn-id: svn://10.0.0.236/trunk@92105 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 18:54:02 +00:00
javi%netscape.com
8a143006f0 Switch over to building PSM 2.0 by default now.
git-svn-id: svn://10.0.0.236/trunk@92104 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 18:38:35 +00:00
javi%netscape.com
4d2c0f0ca2 Fix for Bug 74897 r=leaf
New win32 package entries for PSM 2.0


git-svn-id: svn://10.0.0.236/trunk@92103 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 17:48:33 +00:00
javi%netscape.com
f144dcb5a3 Fix for Bug 74909 r=leaf
New package entries for PSM 2.0


git-svn-id: svn://10.0.0.236/trunk@92102 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 17:46:43 +00:00
javi%netscape.com
72b32428c5 Fix for Bug 74910 r=leaf
git-svn-id: svn://10.0.0.236/trunk@92101 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 17:45:02 +00:00
chuang%netscape.com
5fde1d3e4e Bug 69480 Address Book re-factoring landing
git-svn-id: svn://10.0.0.236/trunk@92100 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 17:35:30 +00:00
chuang%netscape.com
18b66b8ffe Bug 69480 Abbress Book re-factoring landing
git-svn-id: svn://10.0.0.236/trunk@92099 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 17:31:51 +00:00
dcone%netscape.com
3f89955939 Some title fixes. sr=Attinasi. r=mcclusk bug=66943
git-svn-id: svn://10.0.0.236/trunk@92097 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 14:48:21 +00:00
oeschger%netscape.com
8699cc11b0 fix for 75708 blocker, sr=shaver, r=jag
git-svn-id: svn://10.0.0.236/trunk@92096 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 14:48:15 +00:00
cmanske%netscape.com
a2818a9526 Fixed trivial misspelling in image dialog js. b=75408, r=brade
git-svn-id: svn://10.0.0.236/trunk@92095 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 14:45:52 +00:00
bienvenu%netscape.com
daa0ce54bd add prefs for compacting folders threshhold 15865 sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@92094 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 14:35:05 +00:00
peterv%netscape.com
576a0dc3d4 Fix for 70979 (DOMHelper::getParentNode doesn't work in mozmodule). Not part of default build. Code by sicking, r=Pike, sr=shaver.
git-svn-id: svn://10.0.0.236/trunk@92093 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 14:12:11 +00:00
peterv%netscape.com
21fb022a8b Fix for bug 71367 (use Node::getBaseURI to resolve relative urls for import and include). Not part of default build. Patch by sicking, r=me, sr=shaver.
git-svn-id: svn://10.0.0.236/trunk@92092 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 14:04:52 +00:00
rods%netscape.com
a74e78a562 Implements Print FrameAsIs and other frame printing options
Bug 7201 r=dcone sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@92091 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 13:04:29 +00:00
peterv%netscape.com
1968dc715c Fix for bug 75534 (transformiix doesn't compile). Code by Pike, r=me, sr=jst.
git-svn-id: svn://10.0.0.236/trunk@92087 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 10:13:59 +00:00
jst%netscape.com
7f1013281e Checking in a workaround for scrollbar code bug 55334, this bug causes scrollbars to not show up in pages that are completely generated with document.write(). r=brendan@mozilla.org/nisheeth@netscape.com, sr=vidur@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92086 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 09:50:55 +00:00
hyatt%netscape.com
3aa70f1520 Fix image loading in outliner.
git-svn-id: svn://10.0.0.236/trunk@92085 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 09:48:56 +00:00
pollmann%netscape.com
595c550fae Bug 70450: Make frame.noResize scriptable, r=nisheeth@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92084 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 08:16:54 +00:00
alecf%netscape.com
b34a2e687d fix for bug 73313 - put Gecko back in the user agent
problem was that there was no entry in the content DLL's CreateInstance for the HTTP Startup listener that actually set the date. duh.
sr=ben@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92083 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 07:54:26 +00:00
axel%pike.org
8c56812326 not part of default build, fix for 75309, code by sicking, r=me, sr=shaver; fixes local-name and name for some node types
git-svn-id: svn://10.0.0.236/trunk@92081 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 07:13:08 +00:00
pollmann%netscape.com
270847c7bc Bug 66399: Fix anchor target fetch to default to base target, r=nisheeth@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92078 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 06:57:02 +00:00
markh%activestate.com
60551e60e7 Fix the last checkin which broke this sample. Not part of the build (hence
this error went undetected)


git-svn-id: svn://10.0.0.236/trunk@92077 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 06:38:28 +00:00
sfraser%netscape.com
73d318c611 Shiny, better Find dialog which is wider, and uses grid for better alignment. (bug 75487). r=blake, sr=ben
git-svn-id: svn://10.0.0.236/trunk@92076 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 05:47:58 +00:00
waterson%netscape.com
a5c0b138a3 Fix bad image URLs.
git-svn-id: svn://10.0.0.236/trunk@92075 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 05:46:09 +00:00
waterson%netscape.com
97f09b3352 Fix missing image.
git-svn-id: svn://10.0.0.236/trunk@92074 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 05:45:33 +00:00
waterson%netscape.com
73f21d1dad Check in as binary.
git-svn-id: svn://10.0.0.236/trunk@92073 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 05:42:06 +00:00
hewitt%netscape.com
8d1631080a 72530 - oversized dialog problems, r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92072 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 05:42:05 +00:00
bienvenu%netscape.com
5628e28bbb make sure m_mdb gets assigned so we don't have UMR read sr=sspitzer, no bug
git-svn-id: svn://10.0.0.236/trunk@92071 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:47:04 +00:00
bienvenu%netscape.com
a7cb4a3db2 fix crash in nsMsgCopyMsgHdr sr=sspitzer 41933
git-svn-id: svn://10.0.0.236/trunk@92070 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:46:13 +00:00
bienvenu%netscape.com
8c0e66a8d8 add support for imap get new mail downloading message bodies r/sr =sspitzer,mscott 15865
git-svn-id: svn://10.0.0.236/trunk@92069 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:42:28 +00:00
hyatt%netscape.com
f6a510cf18 Fix bug in AdjustSelection. r=danm, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92068 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:40:16 +00:00
blakeross%telocity.com
91a01c8f0d Use a cached ref to the url bar instead of retrieving it for each page load and accel+L (75331). r=kerz sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92067 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:34:43 +00:00
waldemar%netscape.com
f86d45d969 Big switchover to Algol-style semantics
git-svn-id: svn://10.0.0.236/trunk@92066 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:33:39 +00:00
waldemar%netscape.com
5440d6ccb7 Removed '
git-svn-id: svn://10.0.0.236/trunk@92065 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:32:52 +00:00
waldemar%netscape.com
106fc6223c Brought up to date
git-svn-id: svn://10.0.0.236/trunk@92064 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:32:17 +00:00
waldemar%netscape.com
f16520821b Switchover to Algol-style semantics
git-svn-id: svn://10.0.0.236/trunk@92063 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:31:46 +00:00
hyatt%netscape.com
c95ef917e9 Fix a counting error in ReplaceMatch. r=danm, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92062 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 04:31:16 +00:00
cmanske%netscape.com
f71093f7b1 Fixed conflicting accesskey, b=74984, r=akkana, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92061 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 03:44:21 +00:00
cmanske%netscape.com
faba49aa9b Fixed reset selection when inserting under <head>. Also removed compile warning in nsTableEditor.cpp, b=71883, r=jfrancis,kin sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92060 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 03:41:06 +00:00
cmanske%netscape.com
40623e7a9a Replace 'data' with 'value' according to XUL 1.0 spec. b=75400, r=akkana, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@92059 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 03:14:37 +00:00
cmanske%netscape.com
d24c451d47 Fixed pref include bug 74900, r=akkana, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92058 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 03:04:21 +00:00
eddyk%netscape.com
7b4842fbca Bug 70625: complex locked pref FE disabling
r=blake, sr=ben


git-svn-id: svn://10.0.0.236/trunk@92055 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 02:42:08 +00:00
danm%netscape.com
db751ce8fe moving implementation details mistakenly placed in public promptservice interface to the private one. r=hyatt,jack
git-svn-id: svn://10.0.0.236/trunk@92054 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 02:18:06 +00:00
yokoyama%netscape.com
c033a896fa Fix for 67576; /r=valeski; /sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92053 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 02:06:02 +00:00
eddyk%netscape.com
baface0942 fix for disabled property in radio xul element to disable radiobutton children.
Bug 70033:  r=timeless, sr=ben


git-svn-id: svn://10.0.0.236/trunk@92052 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 02:01:40 +00:00
hyatt%netscape.com
7173aeb766 Fix error in empty testing in templates. r=brendan, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@92051 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:57:50 +00:00
brendan%mozilla.org
11106ed005 Better GC-deadlock avoidance (75141, r=shaver, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@92050 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:52:30 +00:00
ducarroz%netscape.com
7ec335ddb0 Fix for bug 74829. Cannot pass null for an out argument. R=varada, SR=mscott
git-svn-id: svn://10.0.0.236/trunk@92049 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:47:08 +00:00
oeschger%netscape.com
cc404cd7f0 forgot this one from patch, r=samir, sr=alecf, b=74132
git-svn-id: svn://10.0.0.236/trunk@92048 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:45:55 +00:00
pollmann%netscape.com
9a421852ed Bug 73309: Fix leak of <ConstStringImpl> in non-multipart form post case, r=rpotts@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92047 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:41:47 +00:00
dmose%netscape.com
f096b30781 Replace duplicated CID with unique one (bug 75048). Patch from Leif Hedstrom <leif@netscape.com>. r=dmose@netscape.com, sr=shaver@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92046 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:40:19 +00:00
sfraser%netscape.com
a9ca071a88 Blue boxes be gone! Fixing 58121, r=jfrancis, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@92045 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:26:57 +00:00
dmose%netscape.com
b02af4908d Fix getters and setters of various LDAP URL spec pieces to actually allow a spec to be built up from the individual pieces (bug 70420). Patch from Leif Hedstrom <leif@netscape.com>. r=dmose@netscape.com, sr=shaver@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@92044 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:25:07 +00:00
peterlubczynski%netscape.com
a5fc876b99 Fix for full-page plugin keeps playing after leaving page bug 75293 sr=attinasi a=av
git-svn-id: svn://10.0.0.236/trunk@92043 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:08:51 +00:00
oeschger%netscape.com
70965a8fc1 adding help build piece, bug=74132, r=samir, r=ssu (for win32), sr=alecf
git-svn-id: svn://10.0.0.236/trunk@92042 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:06:01 +00:00
pete%alphanumerica.com
fa0827f177 fix for bug #74381
http://bugzilla.mozilla.org/show_bug.cgi?id=74381

 r=pollmann@netscape.com, sr=jst@netscape.com

--pete


git-svn-id: svn://10.0.0.236/trunk@92041 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:05:42 +00:00
pollmann%netscape.com
97fc96cbf1 Bug 59408: Send full path name of file in file control to server: r=rods@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92040 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 01:01:23 +00:00
dr%netscape.com
3a419e9bec fix for outliner behaving weird when all columns are hidden (bug 66719), r=pchen, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@92039 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 00:47:31 +00:00
scc%mozilla.org
cc8d69912e this file is documentation only; it will never be part of the build.
more initial content


git-svn-id: svn://10.0.0.236/trunk@92038 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 00:33:13 +00:00
mscott%netscape.com
97a31baea4 (NOT PART OF THE BUILD)
fix some build breakage for moz-icon urls caused by the necko api changes from the other day.


git-svn-id: svn://10.0.0.236/trunk@92036 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 00:19:52 +00:00
peterlubczynski%netscape.com
23354027d1 Fix for POSTing in embedded plugins bug 63050 r=peterl sr=attinasi Patch by Pollman
git-svn-id: svn://10.0.0.236/trunk@92035 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-12 00:09:08 +00:00
ftang%netscape.com
9fa0ebf8f1 fix 74941. clean up massy code in the header and cpp files
git-svn-id: svn://10.0.0.236/trunk@92034 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:52:46 +00:00
attinasi%netscape.com
28ecdbb41f 'Fixes' major performance problem with universal dynamic pseudo selectors by restricting their application in Standard mode to the same elements we restrict them to in QuirksMode. b=68821 r=waterson sr=shaver
git-svn-id: svn://10.0.0.236/trunk@92033 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:47:34 +00:00
nicolson%netscape.com
8c80816232 snprintf is called _snprintf on windows.
git-svn-id: svn://10.0.0.236/trunk@92031 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:46:36 +00:00
ftang%netscape.com
edf0af3066 fix 65773. r=yokoyama sr=sfraser add cid for mac converters
git-svn-id: svn://10.0.0.236/trunk@92030 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:43:26 +00:00
ftang%netscape.com
b37d69267c fix bug 65773. add mac convertes to the project
git-svn-id: svn://10.0.0.236/trunk@92029 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:41:41 +00:00
ftang%netscape.com
b1b3a736fd fix bug 65773 r=yokoyama sr=sfraser
add mac table and unix/window makefile


git-svn-id: svn://10.0.0.236/trunk@92028 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:39:43 +00:00
erik%netscape.com
cc2bea75ae bug 74946; author=simon@softel.co.il; r=erik; sr=attinasi; diffs from IBM
bidi project (e.g. Arabic, Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92027 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:32:21 +00:00
nboyd%atg.com
0e9b6693e6 Updates from Igor.
git-svn-id: svn://10.0.0.236/trunk@92026 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:29:23 +00:00
ssu%netscape.com
8af4f0f2eb fixing bug 73895 - Bookmark this link doesn't work in message pane. r=racham sr=mscott.
git-svn-id: svn://10.0.0.236/trunk@92025 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:29:10 +00:00
nboyd%atg.com
3f9a974934 Need to pop activation stack.
git-svn-id: svn://10.0.0.236/trunk@92024 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:28:47 +00:00
sgehani%netscape.com
78c1d47fed Make the dummy talkback.xpi work fine by removing the call to addDirectory().
nsSample.js no longer gets exported to dist by default.

b = 72636
r = ssu
sr = leaf


git-svn-id: svn://10.0.0.236/trunk@92022 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:25:14 +00:00
stephend%netscape.com
4c29c2b985 Fix for bug 75581 - 'When attaching a webpage in mail, we prefill the field bar with 0, instead of null' r=sspitzer@netscape.com r=varada@netscape.com sr=sspitzer@netscape.com
git-svn-id: svn://10.0.0.236/trunk@92021 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:20:28 +00:00
blizzard%redhat.com
122d2cd390 Fix bug #73947. Clients weren't getting notifications when the first loaded content was about:blank or was streamed in data. Attach the listeners when you get a state change, not a progress change since we don't get progress changes on streamed content. r=tor,bryner sr=shaver
git-svn-id: svn://10.0.0.236/trunk@92020 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:18:10 +00:00
hwaara%chello.se
c0c331a13e Implementing .count in the Outliner. Now you can do |outliner.outlinerBoxObject.selection.count| to get the number of currently selected rows. This is much more convenient (and faster) than messing around with .getRangeAt() and then calculate the amount of selected rows by hand...
bug 75552

r=varga@utcru.sk, sr=hyatt@netscape.com


git-svn-id: svn://10.0.0.236/trunk@92019 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:15:49 +00:00
sfraser%netscape.com
d73c7a2650 Fix bug 75271; ensure that we update commands properly for batched transactions. r=akkana, sr=kin
git-svn-id: svn://10.0.0.236/trunk@92018 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:11:29 +00:00
av%netscape.com
862fddfec7 Fixing 74485, making shutdown procedures for plugins cleaner, r=sean@beatnik.com, sr=wateson
git-svn-id: svn://10.0.0.236/trunk@92017 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:08:36 +00:00
brendan%mozilla.org
24043e3212 - Don't initialize the arguments class, and do rename it to "Object" so that
arguments objects are prototyped by Object.prototype, per ECMA.  We still
  want a custom class, in order to lazily resolve active-JSStackFrame-based
  properties.
- Use a reserved slot to hold a bitmap of deleted arguments elements, so we
  don't re-resolve them after they've been deleted (which would make them seem
  to be permanent, contrary to ECMA).  This work involved sprucing up several
  fundamental types (jsbitmap) and macros (jsbitmap helper macros in jsbit.h,
  JS_HOWMANY in jstypes.h, JSVAL_INT_BITS in jsapi.h).


git-svn-id: svn://10.0.0.236/trunk@92016 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:07:26 +00:00
bnesse%netscape.com
c3f78dc5d0 Re-integrated the nsISecurityPref interface because it still appears to be the best solution.
[Not part of the build.]


git-svn-id: svn://10.0.0.236/trunk@92015 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:07:03 +00:00
alecf%netscape.com
7624870372 fix for bug 75053 - sr=smfr, r=jag - oops, forgot to implement NSGetModule
git-svn-id: svn://10.0.0.236/trunk@92014 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:06:04 +00:00
pinkerton%netscape.com
684c7dab18 remove special-case activation code for hidden window, let the OS do it. punts hidden window offscreen on mac so it can be visible yet of non-zero width/height for osx. bugs 70355/70388. r=danm/sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@92013 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:04:28 +00:00
erik%netscape.com
4b577b6b22 bug 75040; author=simon@softel.co.il; r=evaughan; sr=erik; diffs from IBM
bidi project (e.g. Arabic, Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92012 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:04:11 +00:00
sspitzer%netscape.com
4fe1abad8c fix for #75481. get "sort by recipient" to work. fix the ui issues
that I forget about when you change the "Sender" to "Recipient".
r/sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@92011 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:03:04 +00:00
pinkerton%netscape.com
b7c313058d flush all our reflows before someone else can trigger them. r=saari/sr=hyatt. bug# 71219
git-svn-id: svn://10.0.0.236/trunk@92010 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:02:49 +00:00
erik%netscape.com
4905b0845a bug 75068; author=simon@softel.co.il; r=kmcclusk, ftang; sr=erik; patches
from IBM bidi project (e.g. Arabic, Hebrew)


git-svn-id: svn://10.0.0.236/trunk@92009 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 23:02:32 +00:00
nelsonb%netscape.com
fb67735977 Merge in NSS 3.2.1 changes. (VersionCheck function)
git-svn-id: svn://10.0.0.236/trunk@92008 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:52:09 +00:00
nelsonb%netscape.com
cc14b39c93 Merge in NSS 3.2.1 changes.
git-svn-id: svn://10.0.0.236/trunk@92007 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:49:07 +00:00
nelsonb%netscape.com
f1930d9ddd Merge in changes from NSS 3.2.1.
git-svn-id: svn://10.0.0.236/trunk@92006 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:47:14 +00:00
nelsonb%netscape.com
c21c67009f Merge NSS 3.2.1 changes.
git-svn-id: svn://10.0.0.236/trunk@92005 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:45:40 +00:00
nelsonb%netscape.com
2de15533a1 Merge in NSS 3.2.1 changes into nss.def. Update version to 3.3 Beta.
git-svn-id: svn://10.0.0.236/trunk@92004 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:42:28 +00:00
nelsonb%netscape.com
e4570a946c Merged in changes from NSS_3_2_BRANCH.
git-svn-id: svn://10.0.0.236/trunk@92003 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:28:11 +00:00
nelsonb%netscape.com
53545e9ca2 Merge change from NSS_3_2_BRANCH. Use DBM 1_55_RTM instead of 1_54.
git-svn-id: svn://10.0.0.236/trunk@92002 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 22:16:29 +00:00
ccarlen%netscape.com
2fddb543d1 Bug 75556 - auth prompt does not work when wallet lib is not available. r=danm, sr=sfraser.
git-svn-id: svn://10.0.0.236/trunk@92001 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 21:42:18 +00:00
ducarroz%netscape.com
4c01d1e65a Fix for bug 75498. Still need to translate line breaks :-( R=sfraser, SR=mscott
git-svn-id: svn://10.0.0.236/trunk@92000 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 21:17:56 +00:00
sonmi%netscape.com
5d087813cd fixed problem, now links are seperated where they should be
git-svn-id: svn://10.0.0.236/trunk@91998 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:48:04 +00:00
jgmyers%netscape.com
aace6da805 SSL_ForceHandshake() too heavyweight: bug 75583 r=javi
git-svn-id: svn://10.0.0.236/trunk@91997 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:40:35 +00:00
javi%netscape.com
4d8ad9ed82 Tell coreconf where the nspr header files are in the mozilla client
build.


git-svn-id: svn://10.0.0.236/trunk@91996 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:40:30 +00:00
sonmi%netscape.com
ff2e2d934c fixed win2K bugs
git-svn-id: svn://10.0.0.236/trunk@91994 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:19:58 +00:00
sonmi%netscape.com
ef52518a95 ported to linux, fixed Win2K missing problem - this version is broken and
needs to be replaced again


git-svn-id: svn://10.0.0.236/trunk@91993 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:09:53 +00:00
sonmi%netscape.com
82f14436e0 added variable RMAIL so qa_stat can use sendmail on linux
git-svn-id: svn://10.0.0.236/trunk@91991 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:07:04 +00:00
sonmi%netscape.com
6f324612a1 fixed rmail problem, several problems with running qa_stat on linux
took out the never working -l local option


git-svn-id: svn://10.0.0.236/trunk@91990 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:05:48 +00:00
nelsonb%netscape.com
70a450485b Remove unnecessary global tables of cipherSuite numbers. This solves
a problem with gcc on Linux, which overrides local/automatic definitions
with global ones.


git-svn-id: svn://10.0.0.236/trunk@91989 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:03:22 +00:00
sonmi%netscape.com
953ea517f8 added Win2K
git-svn-id: svn://10.0.0.236/trunk@91988 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:02:43 +00:00
javi%netscape.com
6439122928 Remove references to mozilla/security/psm, that directory is not
built as part of the manager build, so we shouldn't be deleting it.


git-svn-id: svn://10.0.0.236/trunk@91987 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 20:00:33 +00:00
jgmyers%netscape.com
b5b384c566 localizability fixes: bug 66706 r=javi
git-svn-id: svn://10.0.0.236/trunk@91984 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 18:28:38 +00:00
axel%pike.org
d28b852834 not part of build, code by sicking, r=peterv,me,sr=shaver, fixing 75304, and 70865, whitespace and locationstep
git-svn-id: svn://10.0.0.236/trunk@91980 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 15:01:05 +00:00
shaver%mozilla.org
c82d54c0b9 fix my braindead build bustage by _properly_ resolving that conflict (I'm a loser)
git-svn-id: svn://10.0.0.236/trunk@91979 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 15:00:25 +00:00
blizzard%redhat.com
aee13ac6e9 Part of bug #5569. Make sure that areas that get an NS_PAINT event we always paint the default color when the view manager has refreshes disabled. This should fix the problem where before pages start loading in mail/news and the browser some areas aren't repainted. r=bryner sr=roc+moz.
git-svn-id: svn://10.0.0.236/trunk@91978 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 14:52:06 +00:00
shaver%mozilla.org
8a65cf3329 75152: Remove GetVersionNumber stub in favour of upcoming, less-invasive
preloader strategy. r=jag, sr=attinasi.


git-svn-id: svn://10.0.0.236/trunk@91976 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 14:23:13 +00:00
dcone%netscape.com
b995b07979 Fixed some timer issues that crashed the Mac. r=mmclusk sr=attinasi b=74083
git-svn-id: svn://10.0.0.236/trunk@91975 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 14:06:39 +00:00
nboyd%atg.com
aba8a41815 Fixes from Igor.
git-svn-id: svn://10.0.0.236/trunk@91974 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 13:44:09 +00:00
nboyd%atg.com
c5c2679205 Fix race condition in method.
git-svn-id: svn://10.0.0.236/trunk@91973 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 13:43:07 +00:00
nboyd%atg.com
b7b145f542 Make default for generatingDebug flag be true for compilation and false for interpretation.
git-svn-id: svn://10.0.0.236/trunk@91972 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 13:42:26 +00:00
mkaply%us.ibm.com
c2c97a3aa4 #69613
r=dougt, sr=darin
OS/2 needs to follow part of a Windows codepath


git-svn-id: svn://10.0.0.236/trunk@91971 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 11:06:25 +00:00
axel%pike.org
8809bcc6b5 not part of build, fixing testcase. XPath lexes as much as possible, div4 is not matching div operator. r=peterv
git-svn-id: svn://10.0.0.236/trunk@91970 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 10:32:45 +00:00
disttsc%bart.nl
8883ecfaaf Attempt at fixing Nebiros bustage, r=peterv, tested on linux, Mac and Windows.
git-svn-id: svn://10.0.0.236/trunk@91969 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 09:32:03 +00:00
bryner%uiuc.edu
e4734d7a20 Don't use the NSS coreconf hackery if we are building with MOZ_NSS_AUTOCONF. r=cls. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@91965 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 09:12:20 +00:00
mkaply%us.ibm.com
f1663aec64 Get OS/2 building - should IS_COMPONENT be removed
git-svn-id: svn://10.0.0.236/trunk@91964 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 09:11:01 +00:00
pavlov%netscape.com
3a72f21bce removing ifdef'd DEBUG_pavlov NS_ASSERTION.
git-svn-id: svn://10.0.0.236/trunk@91963 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 09:01:29 +00:00
pavlov%netscape.com
25c0997059 fixing icons in trees not drawing. bug 74037. r=syd sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91962 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 08:59:01 +00:00
pollmann%netscape.com
9aeae4bd3a Bug 66399: Make click on targetted server-side image map load resulting page into correct frame, r=nisheeth@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91961 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 08:12:10 +00:00
pollmann%netscape.com
be1aa8ed13 Bug 59675: Initialize variables before use (fix compiler warnings), r=nisheeth@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91960 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 07:56:13 +00:00
pollmann%netscape.com
16bc0059c3 Bug 59675: Initialize variables before use, r=nisheeth@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91959 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 07:39:48 +00:00
pollmann%netscape.com
001d626e79 Bug 73547: Don't create child frames for an nsHTMLFrameOuterFrame, even via document.write. r=pavlov@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91958 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 07:33:22 +00:00
brendan%mozilla.org
48a33f7396 Avoid deadlocking the GC on a scope claimed by another thread, but slated to be shared, i.e. ownercx is null but u.link is not (75141, r=shaver, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@91956 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 05:45:43 +00:00
maolson%earthlink.net
4a5f527816 fix bug 69433 - %foo% begone, summon %s (aka use stringbundle's getFormattedString instead of js .replace())
r=jag, racham; sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@91955 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 05:36:01 +00:00
brendan%mozilla.org
13767b85cc Fix uninitialized var botch (75239, r=rogerl, sr=jband).
git-svn-id: svn://10.0.0.236/trunk@91954 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 05:31:22 +00:00
peterlubczynski%netscape.com
182f18bfcc Fix for crash with full-page plugins on Mac bug 74934 r=kmcclusk sr=roc+moz
git-svn-id: svn://10.0.0.236/trunk@91953 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 05:29:36 +00:00
roc+%cs.cmu.edu
e75e68ae3c Adding support for root views with externally defined widgets. Bug 73383. r=kmcclusk,sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91952 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 05:10:15 +00:00
cmanske%netscape.com
231180e436 Fixed property dialog launch bug 75441, r=akkana, sr=kin
git-svn-id: svn://10.0.0.236/trunk@91951 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 04:42:55 +00:00
morse%netscape.com
bf72ec500c bug 75410, removed cookies not being cleared from cookieviewer, r=blake, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91950 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 04:40:32 +00:00
stephend%netscape.com
8b202d1a4c Checking in the fix for bug 40191, 'Bad connection refused message under an IMAP server.' r=hwaara@chello.se sr=alecf@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91949 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 04:39:39 +00:00
dmose%netscape.com
22713bb18c Fixing --enable-ldap-experimental build bustage introduced by Necko API changes.
git-svn-id: svn://10.0.0.236/trunk@91948 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 04:34:58 +00:00
hyatt%netscape.com
c3bb062eec Half-size scrollbar fix. Enable relative urls in addition to absolute urls. r=danm, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91947 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:56:12 +00:00
hyatt%netscape.com
b942377c6a Fix for 75189. r=jag. sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91946 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:55:39 +00:00
hyatt%netscape.com
3be83165db Fix for 75189. r=jag, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91945 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:55:19 +00:00
hewitt%netscape.com
214157a61c 72717 - die Blue, die!, r=dveditz, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91944 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:44:03 +00:00
danm%netscape.com
028e2b2927 dveditz points out a flaw in my last checkin
git-svn-id: svn://10.0.0.236/trunk@91943 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:33:59 +00:00
hewitt%netscape.com
7cdb6f49a6 72717 - die Blue, die!, r=dveditz, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91942 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:32:24 +00:00
hewitt%netscape.com
344f48c3e9 55368 - scrollbar disappearance, r=andreww, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91941 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:26:15 +00:00
bryner%uiuc.edu
d1f3b2c693 FreeBSD now uses $(OS_TARGET).mk. Patch from markush@acc.umu.se, r=bryner.
git-svn-id: svn://10.0.0.236/trunk@91940 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:26:10 +00:00
timeless%mac.com
836fea05f0 fix Bugzilla Bug 73184 can't inline rename bookmarks/folders or add bookmark folders
patch by bzbarsky@mit.edu r=timeless, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@91939 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:20:00 +00:00
bryner%uiuc.edu
9518bdab16 No longer needed.
git-svn-id: svn://10.0.0.236/trunk@91938 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:17:45 +00:00
bryner%uiuc.edu
8f5ca3ceb1 Use FreeBSD.mk for all FreeBSD versions. Patch from markush@acc.umu.se, r=nelsonb.
git-svn-id: svn://10.0.0.236/trunk@91937 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:12:42 +00:00
hyatt%netscape.com
1883278c65 Adding support for advancing and rewinding the focus using the command dispatcher. r=saari, sr=jst
git-svn-id: svn://10.0.0.236/trunk@91936 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:11:34 +00:00
waterson%netscape.com
03eb3d47f8 Bug 53956. Unconditionally remove dummy layout request when no reflows pending. Also, add NSPR logging code. r=nisheeth, sr=jst
git-svn-id: svn://10.0.0.236/trunk@91935 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:07:50 +00:00
hyatt%netscape.com
cb6f2a2121 Adding support for advancing and rewinding the focus using the command dispatcher. r=saari, sr=jst
git-svn-id: svn://10.0.0.236/trunk@91934 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:05:42 +00:00
waterson%netscape.com
b3ab5ab02e Bug 74728, take three. Properly handle stack-based tokens; specifically, require that only arena-allocated tokens may have attribute tokens. r=harishd, sr=jst
git-svn-id: svn://10.0.0.236/trunk@91933 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 03:05:22 +00:00
blakeross%telocity.com
f6fd365262 Implement css3 :empty selector (75186). Patch by the evil QA-turned-engineer Ian Hickson <ian@hixie.ch> who insists on using me shamelessly for my cvs account. r=pierre sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91932 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 02:55:41 +00:00
dbaron%fas.harvard.edu
f57b84fb51 Fix leak of nsDFAState objects from nsOutlinerStyleCache (and fix a few warnings too). r=disttsc@bart.nl sr=hyatt@netscape.com b=75328
git-svn-id: svn://10.0.0.236/trunk@91928 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 02:44:26 +00:00
dbaron%fas.harvard.edu
1ad11b35be Switch variants of |nsScanner::ReadUntil| to accept new string classes for |aTermSet| and to use |FindCharInReadable| instead of |nsString::FindChar|. Remove (function-scope) |static nsString|s from nsHTMLTokens.cpp. r=harishd@netscape.com sr=vidur@netscape.com b=65431
git-svn-id: svn://10.0.0.236/trunk@91927 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 02:28:17 +00:00
alecf%netscape.com
e6e918143c fix for bug 74908 r=jag, sr=shaver
the find component shouldn't be an appshell component, so it doesn't need to be loaded at startup.


git-svn-id: svn://10.0.0.236/trunk@91926 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 02:02:06 +00:00
alecf%netscape.com
d3d814dd2d fix for bug 75053 - xfer and ucth do not need to be appshell components
convert them to regular modules, so they don't get loaded at startup
r=jag, sr=ben


git-svn-id: svn://10.0.0.236/trunk@91925 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 01:59:40 +00:00
morse%netscape.com
cd42416fb1 bug 64361, don't prompt on every form submission if no new values to save, r=sgehani, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91924 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 01:55:59 +00:00
hewitt%netscape.com
4839aeecb7 74076 - Wrong URL for Modern preview image (from neil@parkwaycc.co.uk), r=andreww, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91923 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 01:52:45 +00:00
danm%netscape.com
b62f123945 oh yeah. last version compiled on linux, only
git-svn-id: svn://10.0.0.236/trunk@91922 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 01:45:19 +00:00
danm%netscape.com
06f0dca043 replacing use of evil hidden window with embedding-copacetic window watcher. bug 71895 r=blizzard,hyatt,javi,various
git-svn-id: svn://10.0.0.236/trunk@91921 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 01:20:28 +00:00
hewitt%netscape.com
fdce7cd76c 72882 - msgcompose cleanup , r=blake, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91920 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:51:15 +00:00
sdagley%netscape.com
d212a7ef52 Fix #75928. Add prvrsion.c to Mac build so libVersionPoint() available (needed for for NSS 3.2.1 landing). r=javi@netscape.com,r/a=larryh@netscape.com
Also sync'd Carbon targets in .mcp with version from NSPRPUB_CLIENT_BRANCH


git-svn-id: svn://10.0.0.236/trunk@91919 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:39:16 +00:00
nelsonb%netscape.com
b2661ccb4d Implementation of 5 DHE ciphersuites, client side only.
Contributed by Dr Stephen Henson <stephen.henson@gemplus.com>


git-svn-id: svn://10.0.0.236/trunk@91917 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:29:18 +00:00
andreww%netscape.com
234df03f68 bugzilla - 68247 r=doronr sr=sspitzer cleaning up mail search dialog some.
git-svn-id: svn://10.0.0.236/trunk@91916 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:21:51 +00:00
nhotta%netscape.com
841f0c90f8 Fix the backend problem of override inheritance, also changed to use nsIObserver for pref callback,
bug 74772, r=yokoyama, sr=bienvenu.


git-svn-id: svn://10.0.0.236/trunk@91914 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:14:08 +00:00
javi%netscape.com
c9a8285f69 Makefile clean-up.
Build against trunk of coreconf using new mechanism for adding includes.


git-svn-id: svn://10.0.0.236/trunk@91913 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:11:47 +00:00
danm%netscape.com
db135a7ce4 oops. forgot InterfacePointer constructor. see ds/nsSupportsPrimitives.cpp rev 3.16. bug 70534
git-svn-id: svn://10.0.0.236/trunk@91912 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-11 00:10:39 +00:00
sonmi%netscape.com
bd6b9f9efd fixed an sed command toi get process ID of tail -f on NT
git-svn-id: svn://10.0.0.236/trunk@91906 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 22:34:19 +00:00
javi%netscape.com
d04b3b024c Fix for Bug 75300
git-svn-id: svn://10.0.0.236/trunk@91905 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 22:28:52 +00:00
varga%utcru.sk
e14b93d128 backout accidental checkin
git-svn-id: svn://10.0.0.236/trunk@91903 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 21:26:00 +00:00
hwaara%chello.se
ec0771e0ca Checking in stuff I have for widgetglue.js (to know that I'm checkin into the right branch :) )
git-svn-id: svn://10.0.0.236/trunk@91900 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 21:11:43 +00:00
javi%netscape.com
98b09ba42b Fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@91899 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 20:57:57 +00:00
sfraser%netscape.com
a69ae58205 Final fix for bug 75388 -- don't crash with null image in nsImageBoxFrame. sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91897 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 20:25:12 +00:00
sonmi%netscape.com
a4a2b0eb35 fixed a stresstest failures were not recognized by this script
git-svn-id: svn://10.0.0.236/trunk@91894 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 18:39:14 +00:00
ccarlen%netscape.com
d0cf8c7fff Bugs 70379, 70380 - Hide nsISingleSignon from embedding apps, split auth prompting methods out of nsIPrompt into a new interface. r=valeski, sr=rpotts.
git-svn-id: svn://10.0.0.236/trunk@91893 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 18:30:25 +00:00
sspitzer%netscape.com
64e2e50b2b another bulletproofer, until pavlov wakes up. #75416 r=waterson.
git-svn-id: svn://10.0.0.236/trunk@91892 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 18:16:58 +00:00
sspitzer%netscape.com
215d6b12ed fix for blocker #75390. email addresses not showing up in message pane.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91891 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 17:50:42 +00:00
sspitzer%netscape.com
91eceb09cb bulletproof for crasher #75407. r/sr=mcafee,waterson,shaver
git-svn-id: svn://10.0.0.236/trunk@91890 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 17:44:53 +00:00
nicolson%netscape.com
c4222feb3a Don't link with libhpi, apparently it's not necessary in jdk 1.2.
git-svn-id: svn://10.0.0.236/trunk@91889 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 17:43:00 +00:00
nicolson%netscape.com
29b424625a Be able to link against JDK 1.1 libraries.
git-svn-id: svn://10.0.0.236/trunk@91888 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 17:41:52 +00:00
nicolson%netscape.com
b26177b61f Tweaks for JSS 3.1, and get it to build.
git-svn-id: svn://10.0.0.236/trunk@91886 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 17:32:30 +00:00
nboyd%atg.com
5eac350078 Fix incorrect for..in order dependency
git-svn-id: svn://10.0.0.236/trunk@91885 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 17:16:04 +00:00
ccarlen%netscape.com
b8a305d5bb New files for bug 70380 - not yet part of build. r=valeski, sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@91884 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 14:40:07 +00:00
nboyd%atg.com
09ab69d6c1 New file from Igor.
git-svn-id: svn://10.0.0.236/trunk@91883 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 14:21:24 +00:00
glazman%netscape.com
c70d8d0d40 fix for :not() due to 72302; b=71647, r=pierre, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91882 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 13:43:20 +00:00
nboyd%atg.com
10714a8364 Add Igor's changes to make generation of id strings by tool.
git-svn-id: svn://10.0.0.236/trunk@91881 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 13:20:02 +00:00
jfrancis%netscape.com
144d6ed231 fix for 74991: nsDocumentEncoder::SerializeRangeToString() reverses order of ancestors. r=anthonyd; sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91880 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 12:37:23 +00:00
disttsc%bart.nl
6796b6761b Fix MOZ_TRACK_MODULE_DEPS bustage (senna)
git-svn-id: svn://10.0.0.236/trunk@91879 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 12:14:46 +00:00
pavlov%netscape.com
19a0042886 fix for crash when using xprint bug 73178 r=darin sr=shaver
git-svn-id: svn://10.0.0.236/trunk@91878 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 11:51:43 +00:00
disttsc%bart.nl
18234d85ff Fix back/forward navigation keys, bug=75232, author=Sairuh <siaruh@netscape.com>, r=jag, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91877 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 11:34:47 +00:00
glazman%netscape.com
0f9b6f6318 CSS2+ identifiers should support underscores ; b=74845, r=pierre, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91876 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 11:09:07 +00:00
pollmann%netscape.com
64c10cf2d9 Bug 58189: Send Content-Transfer-Encoding header on file upload, patch thanks to havill@redhat.com, r=pollmann@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91875 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 10:16:11 +00:00
mcafee%netscape.com
d097ddbf2f Adding Ts to legend
git-svn-id: svn://10.0.0.236/trunk@91874 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 09:49:33 +00:00
darin%netscape.com
fec1ac1830 fixes win32 startup crash. sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91872 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 09:07:11 +00:00
darin%netscape.com
b25e09a122 fixes mac bustage
git-svn-id: svn://10.0.0.236/trunk@91868 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 08:45:44 +00:00
pavlov%netscape.com
d171543b59 more build bustage
git-svn-id: svn://10.0.0.236/trunk@91867 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 08:19:17 +00:00
pavlov%netscape.com
0e6b77651e fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@91866 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 08:10:51 +00:00
bryner%uiuc.edu
1a3ae53788 Updating for necko api change.
git-svn-id: svn://10.0.0.236/trunk@91865 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 08:01:26 +00:00
pavlov%netscape.com
7291038dd0 fixing stuff
git-svn-id: svn://10.0.0.236/trunk@91864 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:41:23 +00:00
sspitzer%netscape.com
ce26223606 fix for #74674. bad rows when switching folders. sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@91862 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:26:14 +00:00
darin%netscape.com
26bb2c7e3c Fixes irc bustage.
git-svn-id: svn://10.0.0.236/trunk@91861 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:25:55 +00:00
sspitzer%netscape.com
fe9e1053e6 fix for #75290. clean up our temp files when doing save as draft.
fix by cavin@netscape.com.  r=ducarroz, sr=sspitzer


git-svn-id: svn://10.0.0.236/trunk@91860 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:23:18 +00:00
darin%netscape.com
35f9593885 Fixes xmlterm bustage
git-svn-id: svn://10.0.0.236/trunk@91859 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:21:22 +00:00
darin%netscape.com
a0a935092f Fixes mac bustage.
git-svn-id: svn://10.0.0.236/trunk@91858 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:19:24 +00:00
sspitzer%netscape.com
fd7fb9c6fa fix for #75052. get "flagged" to stick for imap. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@91857 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:11:32 +00:00
pavlov%netscape.com
185c0f4ec5 fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@91856 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:10:30 +00:00
beard%netscape.com
5a1dc4be2d Synchronized with latest sources.
git-svn-id: svn://10.0.0.236/trunk@91855 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 07:09:43 +00:00
darin%netscape.com
e62c159d66 Removing erroneous NS_BREAK from nsHTTPChannel
git-svn-id: svn://10.0.0.236/trunk@91854 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:58:50 +00:00
darin%netscape.com
9b78254258 Removed erroneous NS_BREAK from nsSocketRequest::Cancel
git-svn-id: svn://10.0.0.236/trunk@91853 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:57:01 +00:00
hewitt%netscape.com
77a6d4918c 72257 - Subfolder is bolded when a msg is filtered to parent folder., r=bienvenu, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91852 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:49:12 +00:00
hewitt%netscape.com
179a5d1a8c 73133 - image properties dialog problems, r=cmanske, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91851 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:46:09 +00:00
hewitt%netscape.com
3b0add8d15 72542 - xpi dialog too wide, r=dveditz, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91850 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:41:26 +00:00
pavlov%netscape.com
bb0e9d0f54 removing the statusArg param to OnStopRequest to fix build bustage
git-svn-id: svn://10.0.0.236/trunk@91849 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:40:51 +00:00
darin%netscape.com
cd4d7b3d7e Needed to fix mac bustage from necko api changes.
git-svn-id: svn://10.0.0.236/trunk@91848 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:21:54 +00:00
darin%netscape.com
39e4de4954 Fixes mac bustage
git-svn-id: svn://10.0.0.236/trunk@91847 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:19:33 +00:00
mcafee%netscape.com
7aceda4c67 Adding startup.dat
git-svn-id: svn://10.0.0.236/trunk@91846 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:13:08 +00:00
sspitzer%netscape.com
c6aff1ea66 #75346. fix some assertions and leaks when migrating. sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@91845 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:08:27 +00:00
darin%netscape.com
9d03c579d0 Necko API changes, bug 74221. r=valeski, sr=rpotts.
git-svn-id: svn://10.0.0.236/trunk@91842 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 06:01:08 +00:00
darin%netscape.com
8705be106d Necko API changes, bug 74221. r=valeski, sr=rpotts
git-svn-id: svn://10.0.0.236/trunk@91841 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:57:29 +00:00
mcafee%netscape.com
f38af2ed47 Adding support for startup test.
git-svn-id: svn://10.0.0.236/trunk@91840 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:55:12 +00:00
mcafee%netscape.com
b58787ef68 process build log to create startup.dat file
git-svn-id: svn://10.0.0.236/trunk@91839 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:54:29 +00:00
sspitzer%netscape.com
06fc400d41 I crashed here, now I can reproduce it. add some bulletproofing and an assertion so I can catch it
next time.  no bug.  sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91838 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:54:28 +00:00
darin%netscape.com
2071e29acb Necko API changes, bug 74221. r=valeski, sr=rpotts.
git-svn-id: svn://10.0.0.236/trunk@91837 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:43:26 +00:00
varga%utcru.sk
cbcee194ee Bug 73865.
Changes to RDF outliner, needed for folder outliner.
r=waterson sr=ben


git-svn-id: svn://10.0.0.236/trunk@91836 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:30:51 +00:00
sspitzer%netscape.com
82b7db5819 fix for crasher on exit. close the dbview when the mailnews xul is unloaded.
when the db goes away (on shutdown) we won't get notified, so we won't poke the
outliner, which is already gone.  sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91835 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:29:39 +00:00
mcafee%netscape.com
85283d0841 minor change to test output format.
git-svn-id: svn://10.0.0.236/trunk@91834 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:24:28 +00:00
hyatt%netscape.com
aff62c695b Fix linux orange. r=pav, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91832 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 05:06:57 +00:00
pavlov%netscape.com
203883f072 fix for bug 74503 r=jag sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@91831 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 04:54:58 +00:00
mcafee%netscape.com
41e4c622fc Adding startup-test.html for tinderbox startup test. r=jag, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@91830 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 04:27:40 +00:00
danm%netscape.com
4559f9129e removing unused reference to commondialogs stuff. it bothered me. bug 72112 continues
git-svn-id: svn://10.0.0.236/trunk@91829 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 04:03:16 +00:00
mcafee%netscape.com
66b2b5a80a rename startup.html to startup-test.html
git-svn-id: svn://10.0.0.236/trunk@91828 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 04:02:21 +00:00
danm%netscape.com
693cc8b25a adding nsISupportsInterfacePointer from jst's XPCDOM_20010329 branch. preliminary for bug 70534. r=hyatt,jband,jst,me
git-svn-id: svn://10.0.0.236/trunk@91827 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:56:48 +00:00
justdave%syndicomm.com
38b7b40049 Fix for bug 18349: query.cgi target_milestone value does not reload SELECTed item.
Patch by <jake@acutex.net>
r= justdave


git-svn-id: svn://10.0.0.236/trunk@91826 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:49:01 +00:00
justdave%syndicomm.com
c3a81203c0 Fix for bug 72379: query.cgi component value does not reload SELECTed item.
Patch by Myl Melez <myk@mozilla.org>
r= jake, justdave


git-svn-id: svn://10.0.0.236/trunk@91825 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:41:44 +00:00
mscott%netscape.com
3079423038 (NOT PART OF THE BUILD YET)
turn icon urls into moz-icon to avoid name space problems.
the format is now:
moz-icon://file://some file?size=16&contentType=text/html
The content type parameter is optional. The file need not exist.


git-svn-id: svn://10.0.0.236/trunk@91824 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:40:02 +00:00
mcafee%netscape.com
3590a44a7f Adding startup test.
git-svn-id: svn://10.0.0.236/trunk@91823 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:33:35 +00:00
hyatt%netscape.com
95932a967d Fix win32 bustage.
git-svn-id: svn://10.0.0.236/trunk@91822 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:29:23 +00:00
cmanske%netscape.com
8dabedc82e Fixed Composer bugs 75291 and 74039. r=mjudge, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91821 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 03:02:10 +00:00
disttsc%bart.nl
917c3678ea Bug 72440: ``"menulist menu > menupopup" does not use the same style as "menulist > menupopup"'', author=Boris Zbarsky <bzbarsky@mit.edu>, r=timeless, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91819 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 02:34:45 +00:00
disttsc%bart.nl
4a90a75bdb Bug 36550: "Window unresponsive if in negative coord-space [such as in Dual Monitor setup]", author=Craig Boston <craig@aeiea.gank.org>, patch updated to tip by ajbanck@casema.net, r=bryner, sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@91818 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 02:27:41 +00:00
law%netscape.com
bca7ef42a9 Bug 52454; new helper app dialog; this is under development and not built/used yet
git-svn-id: svn://10.0.0.236/trunk@91815 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 02:15:22 +00:00
hyatt%netscape.com
c28b9f19c0 Fix for 73137. r=danm, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91814 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 02:10:02 +00:00
hyatt%netscape.com
2b396d44a0 Fix for 73137. r=danm, sr=hewitt.
git-svn-id: svn://10.0.0.236/trunk@91813 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 02:09:29 +00:00
saari%netscape.com
bce5412cec changes for creating the image container from the decoder. Needed for supporting different image container types (needed for ART support in the short term).
git-svn-id: svn://10.0.0.236/trunk@91812 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:51:36 +00:00
nboyd%atg.com
e2859294b4 Remove SecuritySupport code that doesn't apply to the Invoker case.
git-svn-id: svn://10.0.0.236/trunk@91811 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:47:50 +00:00
saari%netscape.com
6555a0a14c changes to image container creation to facilitate different container types. Needed for ART support, and cleaner GIF and JPEG support. r=pavlov, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91810 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:44:20 +00:00
javi%netscape.com
e317d9addf Fix some build bustage.
git-svn-id: svn://10.0.0.236/trunk@91809 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:39:03 +00:00
mcafee%netscape.com
03465d4ac5 remove bogus l
git-svn-id: svn://10.0.0.236/trunk@91808 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:26:52 +00:00
mozilla.BenB%bucksch.org
5e0c87ad03 58377: Spaces at end of line, empty lines with spaces. Fixed both. Adjusting test to follow. All changes intended and an improvement.
git-svn-id: svn://10.0.0.236/trunk@91807 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:13:07 +00:00
mozilla.BenB%bucksch.org
6fe07c2988 58377: We output space(s) at the end of the line way too often. That causes messy output in format=flowed-aware readers.
Examples (fixed): end of lists, after headers, empty lines in quotes.
Reason was broken indention and broken space-stuffing.
Also made empty lines around list items more similar to NGLayout (looks better now).
Part of fix contributed by Daniel Bratell
r=akk, sr=jst


git-svn-id: svn://10.0.0.236/trunk@91806 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:11:39 +00:00
brendan%mozilla.org
afe0723131 Fix Function.prototype.to{Source,String} to parenthesize function objects that were expressed rather than declared (73760, r=rogerl, sr=shaver).
git-svn-id: svn://10.0.0.236/trunk@91805 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:10:28 +00:00
mcafee%netscape.com
ba42324717 Adding white background, so linux sees white
git-svn-id: svn://10.0.0.236/trunk@91804 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:10:07 +00:00
mcafee%netscape.com
b0eafbc100 shrinking who iframe a bit
git-svn-id: svn://10.0.0.236/trunk@91803 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 01:09:35 +00:00
waterson%netscape.com
957ccfdaba Bug 5569. Make sure that Terminate() can propogate DidBuildModel() to the sink, and that the sink will ensure an initial reflow has occurred. r=harishd, sr=jst
git-svn-id: svn://10.0.0.236/trunk@91801 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 00:49:49 +00:00
idk%eng.sun.com
30ef619211 * not part of the build *
adding tests for urp module
author lsv@sparc.spb.su


git-svn-id: svn://10.0.0.236/trunk@91800 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-10 00:39:05 +00:00
nboyd%atg.com
78bc7f720f Revert default of generatingDebug back to false to fix regressions.
git-svn-id: svn://10.0.0.236/trunk@91799 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:52:04 +00:00
endico%mozilla.org
a370aaf2e1 change to using google links instead of the defunct deja.com links
git-svn-id: svn://10.0.0.236/trunk@91798 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:49:51 +00:00
nboyd%atg.com
f0846ebca4 Fix NPE.
git-svn-id: svn://10.0.0.236/trunk@91797 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:43:19 +00:00
jband%netscape.com
81c60fc961 fix bug 70360 - adding an additional gchook event. r=shaver sr=brendan. fix bug 73761 - property cache does *bad* things if accessed during finalization. sr=brendan. checkin patch from vidur regarding off-by-on in result code iteration. sr=jband on vidur's patch
git-svn-id: svn://10.0.0.236/trunk@91795 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:22:07 +00:00
dbaron%fas.harvard.edu
ebf2296c18 Fix build and runtime bustage in xlib port. b=75125 r=blizzard@mozilla.org sr=shaver@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@91794 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:16:19 +00:00
tao%netscape.com
137438393d Clean up debug printf; no code changes.
git-svn-id: svn://10.0.0.236/trunk@91793 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:15:21 +00:00
attinasi%netscape.com
9c95f04cf8 Fixed some bad code that was updating list position incorrectly when going from outside to inside. b=59086, r=karnaze@netscape.com sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91792 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:13:31 +00:00
tao%netscape.com
ec1b12fb8b 71910: Location field for home page in Navigator prefs panel empty
(r=mcafee,sr=alecf). Relocate urls.


git-svn-id: svn://10.0.0.236/trunk@91791 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:13:30 +00:00
dbaron%fas.harvard.edu
b6a5197edf Make "Runtime mismatch, so leaking context!" error message from fix for 71237 |#ifdef DEBUG|. r=disttsc@bart.nl sr=shaver@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@91790 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:08:37 +00:00
mcafee%netscape.com
133b833765 Adding startup timeout
git-svn-id: svn://10.0.0.236/trunk@91789 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:08:28 +00:00
dbaron%fas.harvard.edu
45a00c28bd Fix typo (missing commas) that caused some nested lists to have vertical margins when they shouldn't have had vertical margins. b=75132 r=disttsc@bart.nl, ian@hixie.ch sr=attinasi@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91788 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:05:43 +00:00
javi%netscape.com
f0b29e119c initialize with the correct file name.
git-svn-id: svn://10.0.0.236/trunk@91784 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:52:47 +00:00
bstell%netscape.com
39ebfed7df bug 55021, r=ftang@netscape.com, sr=erik@netscape.com
add pref for print.psnative.font for langGroups


git-svn-id: svn://10.0.0.236/trunk@91783 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:47:45 +00:00
mcafee%netscape.com
07fd082389 Support for run_system_cmd, to introduce sync;sleep settling for performance test. Stub for startup test.
git-svn-id: svn://10.0.0.236/trunk@91782 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:44:49 +00:00
aaronl%chorus.net
f66b544ef0 Implemented focus appearance prefs. bug 74225, r=rods, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91781 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:17:11 +00:00
ftang%netscape.com
832448f674 not part of the build yet.
4 bytes GB18030 mapping table in special index form


git-svn-id: svn://10.0.0.236/trunk@91780 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:07:00 +00:00
ftang%netscape.com
c2363829be not part of the build
modify the perl script so
1. it will generate npl
2. it will generate instruction in the file
3. map correctly for the EUDC according to MS document


git-svn-id: svn://10.0.0.236/trunk@91779 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:04:55 +00:00
ftang%netscape.com
34773b329a not part of the build
make the table generation tool depend on the global flag


git-svn-id: svn://10.0.0.236/trunk@91778 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 22:01:11 +00:00
jgmyers%netscape.com
bcd480e286 finish replacing DecodeMimePartIIStr with DecodeMimeHeader: bug 65277 r=nhotta r=ducarroz sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@91776 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 21:21:22 +00:00
erik%netscape.com
2b1a70ea09 trivial change (just adding a comma at the end of the list for the next
person who comes along)


git-svn-id: svn://10.0.0.236/trunk@91775 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 21:11:19 +00:00
anatoliya%netscape.com
8d6f13fcea Restore the file
git-svn-id: svn://10.0.0.236/trunk@91774 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 20:52:07 +00:00
anatoliya%netscape.com
95e67b1f69 Restore the file
git-svn-id: svn://10.0.0.236/trunk@91773 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 20:41:07 +00:00
danm%netscape.com
ee20847587 fix goofed recent change from use of commondialogs to promptservice. bug 75244 r=hyatt,ianh
git-svn-id: svn://10.0.0.236/trunk@91770 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 20:38:20 +00:00
harishd%netscape.com
648dbbe680 Changes contributed by Tom Lendacky ( toml@us.ibm.com ).
*** NOT PART OF THE BUILD ***


git-svn-id: svn://10.0.0.236/trunk@91769 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 20:27:35 +00:00
ccarlen%netscape.com
d2513c7c92 Bug 75227 - Unable to confirm profile migration - therefore can't migrate. r=danm, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91767 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 20:24:32 +00:00
nhotta%netscape.com
14b1dbb9be Changed MimeObject_output_init() to set an original mail's charset only if no override is set, bug 39736, r=ducarroz, sr=bienvenu.
git-svn-id: svn://10.0.0.236/trunk@91766 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 20:03:41 +00:00
justdave%syndicomm.com
53b0457f39 Fix for bug 71659: New bugs weren't creating email if the reported didn't give a long description, and the first person who added a comment had their comment become the long description of the bug.
Patch by <jake@acutex.net>
r= justdave


git-svn-id: svn://10.0.0.236/trunk@91764 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 19:10:43 +00:00
bryner%uiuc.edu
13a60dc90a Fixing more fallout from danm's checkin.
git-svn-id: svn://10.0.0.236/trunk@91763 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 18:30:18 +00:00
disttsc%bart.nl
32a16a831b Fix MOZ_TRACK_MODULE_DEPS bustage (senna)
git-svn-id: svn://10.0.0.236/trunk@91762 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 18:22:21 +00:00
cotter%netscape.com
3acbc38c33 Latest TOC corrections re PSM docs.
git-svn-id: svn://10.0.0.236/trunk@91761 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 18:17:51 +00:00
cotter%netscape.com
2ea3d76a42 Latest text updates.
git-svn-id: svn://10.0.0.236/trunk@91759 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 18:16:53 +00:00
cotter%netscape.com
4703746f05 Added first batch of help targets for PSM 2.0
git-svn-id: svn://10.0.0.236/trunk@91758 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 18:09:19 +00:00
javi%netscape.com
ff5f8a9f4a Get rid of a signed/unsigned comparison warning.
git-svn-id: svn://10.0.0.236/trunk@91757 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 17:44:08 +00:00
danm%netscape.com
b519f1a633 use prompt service correctly. smoketest blocker bug 75218. a=kysmith
git-svn-id: svn://10.0.0.236/trunk@91756 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 17:06:03 +00:00
disttsc%bart.nl
78c6817fd8 "Disable theme "Apply" button if no item is selected in the tree", bug=46681, author=Gervase Markham <gervase.markham@univ.ox.ac.uk>, r=jag/timeless, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91755 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 14:49:25 +00:00
dcone%netscape.com
c8ee69d8be Fixed postscript title. b=66943 r=mcclusk sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91752 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 14:27:53 +00:00
cls%seawood.org
c47bab30a3 Use nspr-config from nsprpub/config instead of $(DIST)/bin
git-svn-id: svn://10.0.0.236/trunk@91751 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 14:22:05 +00:00
karnaze%netscape.com
ebc3209fe0 bug 61663 - repeat headers and footers on more than 2 pages. sr=attinasi, r=bernd.mielke@snafu.de.
git-svn-id: svn://10.0.0.236/trunk@91750 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 14:21:24 +00:00
ccarlen%netscape.com
cecc5b9e55 Bug 64733 - Profile Mgr "Delete/Dont Delete Files" dialog not centered. r=timeless, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91749 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 13:49:06 +00:00
peterv%netscape.com
a01e2b3c87 Mac bustage fix. Removing nsGfxListControlFrame.cpp, which isn't needed (anymore?). r=jag.
git-svn-id: svn://10.0.0.236/trunk@91748 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 13:44:43 +00:00
valeski%netscape.com
383351c7a4 sr=shaver. r=valeski. checking this in for blizz to get it out of the way. 74801. need to be GI'instead of QI
git-svn-id: svn://10.0.0.236/trunk@91747 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 13:31:50 +00:00
cls%seawood.org
f6b2b3c998 Updating copyright
git-svn-id: svn://10.0.0.236/trunk@91746 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 13:25:32 +00:00
rods%netscape.com
2328a96abb Fixed the Onchange event, so it fires at the correct time.
Bug 62753 r=pollmann sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@91745 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 12:08:40 +00:00
gordon%netscape.com
6c231a906a Fix bug 73441 "New cache needs "Clear" functionality. Changed pref advanced cache panel clear buttons to clear new cache devices, and fixed bug in nsMemoryCacheDevice to avoid calling nsCRT::strlen(nsnull). sr=darin.
git-svn-id: svn://10.0.0.236/trunk@91741 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 09:52:15 +00:00
cls%seawood.org
b112ffed9c Add include path for nss. r=bryner
git-svn-id: svn://10.0.0.236/trunk@91740 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 09:52:12 +00:00
cls%seawood.org
35179a15ec Initial changes for building mozilla with nss autoconf. r=bryner
git-svn-id: svn://10.0.0.236/trunk@91739 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 09:40:16 +00:00
cls%seawood.org
7ab4b29cd7 Adding initial support for building mozilla with autoconf version of NSS. r=bryner
git-svn-id: svn://10.0.0.236/trunk@91738 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 09:38:55 +00:00
cls%seawood.org
0ea32ecec4 Followup fixes to danm's prompt changes.
r= (Tinderbox bustage | NOT PART OF THE BUILD | doing the right thing)


git-svn-id: svn://10.0.0.236/trunk@91736 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 08:51:34 +00:00
bryner%uiuc.edu
e3051d0209 Syncing with danm's nsIDialogParamBlock changes. r=cls. Not part of build.
git-svn-id: svn://10.0.0.236/trunk@91735 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 08:44:46 +00:00
gordon%netscape.com
7f9f297b86 Fix bug 75171 "implement nsCacheSession::EvictEntries", sr = darin.
git-svn-id: svn://10.0.0.236/trunk@91734 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 08:14:08 +00:00
dveditz%netscape.com
7807bb447b makefile changes to keep .h files out of bogus export directory -- r=leaf
removing obsolete files (not part of build)


git-svn-id: svn://10.0.0.236/trunk@91733 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 07:19:02 +00:00
danm%netscape.com
0518fc668b unbuilding deprecated prompt files (cleaning up my mess)
git-svn-id: svn://10.0.0.236/trunk@91732 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 04:52:46 +00:00
disttsc%bart.nl
030fc9c43e Fix back/forward button going back/forward twice and their history menus going back/forward instead of jumping to the selected item. bug=74960, r=blake, sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91731 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 04:31:00 +00:00
endico%mozilla.org
82cbdf6b8e only attempt to wrap the newsbot file if template and wrap script exist. Sometimes they don't if this script is run while the web site is being rebuilt.
git-svn-id: svn://10.0.0.236/trunk@91730 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 04:21:18 +00:00
morse%netscape.com
1aaa375599 bug 73964, unable to log in to compuserve, r=valeski, sr=darin
git-svn-id: svn://10.0.0.236/trunk@91729 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 04:16:54 +00:00
scc%mozilla.org
25223a8e62 moved the css file to someplace where lxr can't hurt it: www.mozilla.org/projects/string/string-guide.css
git-svn-id: svn://10.0.0.236/trunk@91728 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 03:21:48 +00:00
scc%mozilla.org
43768c0ead well, the css file can't live here, because lxr mangles it
git-svn-id: svn://10.0.0.236/trunk@91727 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 03:09:03 +00:00
danm%netscape.com
7bd5bccde5 removing duplicate nsIDialogParamBlock definition until the original can be removed.
git-svn-id: svn://10.0.0.236/trunk@91726 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 02:51:32 +00:00
danm%netscape.com
e023132805 oops
git-svn-id: svn://10.0.0.236/trunk@91725 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 02:25:52 +00:00
danm%netscape.com
0251b1e95c commondialog service is being replaced by promptservice. bug 72112 continues
git-svn-id: svn://10.0.0.236/trunk@91724 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 02:08:05 +00:00
hyatt%netscape.com
faee68a652 Fix for 75189. r=jag.
git-svn-id: svn://10.0.0.236/trunk@91722 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 01:40:19 +00:00
scc%mozilla.org
61c5f1a883 the start of some string documentation ... no real content yet, just an outline
git-svn-id: svn://10.0.0.236/trunk@91721 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 01:39:43 +00:00
danm%netscape.com
b49205d089 commondialog service is being replaced by promptservice. bug 72112 continues
git-svn-id: svn://10.0.0.236/trunk@91720 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 01:35:41 +00:00
danm%netscape.com
833a9075f2 more prompt stuff moved to embedding components. bug 72112 continues.
git-svn-id: svn://10.0.0.236/trunk@91719 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 00:48:21 +00:00
pavlov%netscape.com
7e0bbd83cd fixing bug 73685 r=jag sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91718 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 00:45:06 +00:00
danm%netscape.com
6584cefd59 more prompt stuff moved to embedding components. bug 72112 continues
git-svn-id: svn://10.0.0.236/trunk@91717 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 00:43:14 +00:00
danm%netscape.com
0cd03c8ac6 make DoDialog available from idl. bug 72112 continues
git-svn-id: svn://10.0.0.236/trunk@91716 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 00:42:12 +00:00
cls%seawood.org
eaeff9ebd7 Add directories to make psm/psm-glue build standalone again
git-svn-id: svn://10.0.0.236/trunk@91715 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 00:37:44 +00:00
naving%netscape.com
4f3ab17fd2 74903. sr=mscott. POP:3 Display the error msg sent by the server.
git-svn-id: svn://10.0.0.236/trunk@91712 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 23:41:00 +00:00
brendan%mozilla.org
0ced3d9999 Add __lookupGetter__ and __lookupSetter__ (71992, r=rogerl, sr=shaver).
git-svn-id: svn://10.0.0.236/trunk@91710 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 23:23:34 +00:00
rbs%maths.uq.edu.au
dcba7fad19 Removed early mis-prefixing of 'a' on local variables. Switched to NS_LITERAL_STRING. Combined two 'if's and added an explanatory comment while I was there.
git-svn-id: svn://10.0.0.236/trunk@91707 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 22:32:29 +00:00
hyatt%netscape.com
65a76bc8a4 Fix regression to :-moz-bound-element caused by the :not checkin.
git-svn-id: svn://10.0.0.236/trunk@91706 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 22:22:47 +00:00
hyatt%netscape.com
bb18d9fd4c Fix for 73137. r=lumpy, sr=mozbot
git-svn-id: svn://10.0.0.236/trunk@91705 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 22:12:55 +00:00
cls%seawood.org
1052e3f592 Removing extranous use of NSPR_INCLUDE_DIR
git-svn-id: svn://10.0.0.236/trunk@91702 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 21:26:19 +00:00
dbragg%netscape.com
1bf7055a01 Turning of building of OS2 version of InstallCleanup until I can work with the OS2 experts.
git-svn-id: svn://10.0.0.236/trunk@91701 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 20:51:12 +00:00
dbragg%netscape.com
fd8099df3a Fix for OS2 bustage.
git-svn-id: svn://10.0.0.236/trunk@91700 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 20:26:53 +00:00
dbragg%netscape.com
4c4bc67fb4 Special version of cleanup routine for OS2. Most of the work done by Javier pedemont@us.ibm.com
git-svn-id: svn://10.0.0.236/trunk@91699 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 20:17:09 +00:00
dbragg%netscape.com
21eb1b95fb Turning on xpicleanup in the build again for bug 65682. It was broken on several PORTS when first checked in. Original r=dveditz and sr=mscott
git-svn-id: svn://10.0.0.236/trunk@91696 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 17:54:54 +00:00
peterv%netscape.com
a5e3743352 Fix for 74873 (Make transformiix |#include|s better). Patch by Axel Hecht. Not part of default build. r=peterv, sr=scc.
git-svn-id: svn://10.0.0.236/trunk@91695 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 14:45:17 +00:00
peterv%netscape.com
2b9039ce10 Fix for 74873 (Make transformiix |#include|s better). Patch by Axel Hecht. Not part of default build. r=peterv, sr=scc.
git-svn-id: svn://10.0.0.236/trunk@91694 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 14:40:12 +00:00
talisman%anamorphic.com
1203747bbe Now have all bundle resources being properly copied, including icons and needed libraries. jrg...
git-svn-id: svn://10.0.0.236/trunk@91693 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:58:35 +00:00
talisman%anamorphic.com
c8f86b223b Fixed some potentially serious thread cancellation issues. jrg
git-svn-id: svn://10.0.0.236/trunk@91692 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:56:53 +00:00
talisman%anamorphic.com
6b4b21ac71 Fixed use of deprecated show() and hide() methods. Replaced with correct calls to setVisible( boolean ). jrg
git-svn-id: svn://10.0.0.236/trunk@91691 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:55:18 +00:00
talisman%anamorphic.com
a3e566e367 Fixed some potentially serious thread cancellation issues. Also, it's not clear to me that we really need to override the addNotify() method in this case. jrg
git-svn-id: svn://10.0.0.236/trunk@91690 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:53:30 +00:00
talisman%anamorphic.com
87f636ebc1 Missed this on last reorg checkin. jrg
git-svn-id: svn://10.0.0.236/trunk@91689 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:50:54 +00:00
talisman%anamorphic.com
b7e883dc4c Turned off the DEBUG flag and other unnecessary console output. jrg
git-svn-id: svn://10.0.0.236/trunk@91688 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:49:46 +00:00
talisman%anamorphic.com
62b87af5f9 Call to JPasswordField.getText() is deprecated. Changed to getPassword(). jrg
git-svn-id: svn://10.0.0.236/trunk@91687 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:46:24 +00:00
talisman%anamorphic.com
2a790ce78c Changed call to Properties.save() to Properties.store() since save() is deprecated. jrg
git-svn-id: svn://10.0.0.236/trunk@91686 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 09:44:43 +00:00
disttsc%bart.nl
f592618075 When opening a new window, place the uri to load in the location bar. If the load is somehow interrupted, you'll now have the uri you wanted there instead of nothing. bug=70682, r=mao, sr=ben
git-svn-id: svn://10.0.0.236/trunk@91685 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 08:39:33 +00:00
disttsc%bart.nl
0c89f24d60 Clean up MODULE/REQUIRES, bug=73353, r=cls
git-svn-id: svn://10.0.0.236/trunk@91684 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 08:33:11 +00:00
justdave%syndicomm.com
362a8f742b Fix for bug 66014: Correct sanitycheck for the new initialowner and
initialqacontact fields in the components table.
Patch by Matthew Tuck <matty@chariot.net.au>
r= afranke, justdave


git-svn-id: svn://10.0.0.236/trunk@91676 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 02:33:02 +00:00
jst%netscape.com
3d0ff6c93e Adding nsIDOMNSHistory.idl, not part of the build.
git-svn-id: svn://10.0.0.236/trunk@91669 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 01:40:04 +00:00
danm%netscape.com
7c0b874fa3 removing use of nsNetSupportDialog. bug 72112 continued. r=hyatt,morse,mstoltz,various
git-svn-id: svn://10.0.0.236/trunk@91668 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 01:32:13 +00:00
mscott%netscape.com
8d370ae599 Bug #32222 --> Implement a subclass of nsMsgprotocol which performs asynch writes. Re-write how we send
post data to use this subclass. We'll now read in the post file asynchronously and write out the post
data asynchronously to the server. When necessary, we'll pause and resume the file request for the incoming
post data since that comes in faster than data goes out.

this part is to the smtp code to use async writes.
sr=bienvenu
r=ducarroz/varada


git-svn-id: svn://10.0.0.236/trunk@91667 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 00:41:37 +00:00
mscott%netscape.com
bcaa044f65 Bug #32222 --> Implement a subclass of nsMsgprotocol which performs asynch writes. Re-write how we send
post data to use this subclass. We'll now read in the post file asynchronously and write out the post
data asynchronously to the server. When necessary, we'll pause and resume the file request for the incoming
post data since that comes in faster than data goes out.
sr=bienvenu
r=ducarroz/varada


git-svn-id: svn://10.0.0.236/trunk@91666 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-08 00:40:30 +00:00
cls%seawood.org
4304fa2b2b La la la. Still redefine NSPR_CFLAGS for OS/2. nsinstall should not be using NSPR_CFLAGS in any case. Hopefully fixing tb bustage
git-svn-id: svn://10.0.0.236/trunk@91665 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 22:15:54 +00:00
mscott%netscape.com
15165102a9 Bug #32222 --> re-expose the search method on the input stream of a pipe.
r/sr=darin,bienvenu


git-svn-id: svn://10.0.0.236/trunk@91664 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 21:29:11 +00:00
dbragg%netscape.com
4c63cb8b23 Fixes for Ports bustage when original fix for 65678 was checked in. Original r=dveditz and sr=mscott
git-svn-id: svn://10.0.0.236/trunk@91663 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 19:42:15 +00:00
oeschger%netscape.com
8727aa2eed minor updates to help, NOT PART OF BUILD
git-svn-id: svn://10.0.0.236/trunk@91662 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 19:32:34 +00:00
leaf%mozilla.org
1d072d5f7a Automated update
git-svn-id: svn://10.0.0.236/trunk@91661 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 17:30:09 +00:00
dbaron%fas.harvard.edu
bc72343c5f Fix bustage on VC++ and gcc 2.7.2.x caused by incorrect overload resolution.
git-svn-id: svn://10.0.0.236/trunk@91660 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 17:25:16 +00:00
justdave%syndicomm.com
995e39a8bf Fix for bug 71808: Can't set email preferences for voters (which caused voters to get OldEmailTech notifications.
Patch by jake@acutex.net
r= justdave


git-svn-id: svn://10.0.0.236/trunk@91659 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 17:09:28 +00:00
justdave%syndicomm.com
f73644bd7c Fix for bug 71912: changes email pref for "If I'm removed from that capacity" to "If I'm added to or removed from that capacity", so you can still get mail when someone adds you to a CC. Patch by <jake@acutex.net> r= justdave
git-svn-id: svn://10.0.0.236/trunk@91658 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 16:36:45 +00:00
leaf%mozilla.org
bc0e502c83 Automated update
git-svn-id: svn://10.0.0.236/trunk@91657 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 15:30:09 +00:00
dbaron%fas.harvard.edu
583839e9ea Replace my previous incorrect fix for |operator==| ambiguities with a correct one: provide additional |operator==| and |operator!=| for comparing nsCOMPtrs to raw pointers that take a non-const raw pointer argument so that builtin operators will not have a better conversion for one argument. b=65664 r=waterson@netscape.com sr=scc@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@91656 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 15:29:39 +00:00
ben%netscape.com
11f3d62d8a another small update to test file. not part of build.
git-svn-id: svn://10.0.0.236/trunk@91652 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 12:06:42 +00:00
ben%netscape.com
5e171bcf70 update test case for outliner bookmarks. not part of build.
git-svn-id: svn://10.0.0.236/trunk@91651 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 12:04:23 +00:00
cls%seawood.org
551793b4a2 Do not redefine NSPR_LIBS & NSPR_CFLAGS for OS/2 VA builds. Should fix tb bustage
git-svn-id: svn://10.0.0.236/trunk@91650 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 11:33:52 +00:00
cls%seawood.org
a4a1699277 Lose the directory comparison and just use MOZ_NATIVE_NSPR ifdef.
git-svn-id: svn://10.0.0.236/trunk@91649 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 11:10:58 +00:00
cls%seawood.org
8846d76753 Fix check for system NSPR
git-svn-id: svn://10.0.0.236/trunk@91648 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 10:59:36 +00:00
locka%iol.ie
4451c78621 Fixed some refcounting problems. URLs for linked files are now made relative to the main document path. BASE tag is removed if present. Anchors are made absolute. Added support for BACKGROUND attribute on BODY tag. b=73690, r=rpotts@netscape.com, sr=blizzard@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@91647 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 10:23:25 +00:00
bryner%uiuc.edu
78a8a627a0 Fixing NSS to know about the new include path for NSPR. Patch from cls, r=bryner.
git-svn-id: svn://10.0.0.236/trunk@91641 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 07:22:18 +00:00
mcafee%netscape.com
46941e143e comment for jrgm test.
git-svn-id: svn://10.0.0.236/trunk@91640 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 06:49:40 +00:00
bryner%uiuc.edu
9123f760fd Adding correct include path for NSPR, since it has changed. Patch from cls, r=bryner.
git-svn-id: svn://10.0.0.236/trunk@91639 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 06:37:07 +00:00
anatoliya%netscape.com
9d2c3dc377 New smileys bug-4013 r=andreww sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91638 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:49:24 +00:00
sspitzer%netscape.com
8575d9d4b0 fix for #75055. get "choose this folder" working in search again.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91637 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:49:13 +00:00
sspitzer%netscape.com
77b0cac56f fix for #74930. Go | Next | Message crashes on an empty view.
sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91636 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:44:11 +00:00
danm%netscape.com
a93bca4e42 nope. nix last checkin
git-svn-id: svn://10.0.0.236/trunk@91635 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:37:20 +00:00
danm%netscape.com
8dcbdb80b6 fix more expected senna bustage
git-svn-id: svn://10.0.0.236/trunk@91634 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:27:56 +00:00
dbaron%fas.harvard.edu
4aec05afbf Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding new header file dependencies to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@91633 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:27:06 +00:00
anatoliya%netscape.com
89e1a442d3 New smileys bug-4013 r=andreww sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91632 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:27:00 +00:00
dbaron%fas.harvard.edu
cfcf537db7 Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding new header file dependencies to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@91631 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 05:11:47 +00:00
dbaron%fas.harvard.edu
a1e3999bcc Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding new header file dependencies to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@91630 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:56:29 +00:00
anatoliya%netscape.com
927d6216e1 New smileys bug-4013 r=andreww sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91629 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:53:29 +00:00
cls%seawood.org
4a78827b54 Mozilla copy of nspr's .m4 file bug 73919
git-svn-id: svn://10.0.0.236/trunk@91628 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:41:30 +00:00
anatoliya%netscape.com
bd93125257 New smileys bug-4013 r=andreww sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@91627 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:39:35 +00:00
cls%seawood.org
5ba4a9675a Update build to use nspr.m4.
Start using nspr-config to set NSPR_CFLAGS & NSPR_LIBS.
Start placing nspr headers under $(DIST)/include/nspr to match a system installed NSPR.
Bug #73919 r=blizzard@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@91626 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:34:55 +00:00
dbaron%fas.harvard.edu
92339aceb9 Fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage by adding new header file dependencies to REQUIRES.
git-svn-id: svn://10.0.0.236/trunk@91625 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:29:01 +00:00
sdagley%netscape.com
a17a4bf9f3 Fix Carbon tinderbox build by turning off build of xpt_link which currently can't build with Pro 6 MSL. r=beard
git-svn-id: svn://10.0.0.236/trunk@91624 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:11:00 +00:00
stephend%netscape.com
6275fee7d1 Adding myself to the contributer list. Comments only, no code.
git-svn-id: svn://10.0.0.236/trunk@91623 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 04:09:14 +00:00
danm%netscape.com
2982675e55 moved to windowwatcher directory
git-svn-id: svn://10.0.0.236/trunk@91622 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 03:55:47 +00:00
danm%netscape.com
4d7d5bacd9 removing use of nsNetSupportDialog. bug 72112 continued. r=hyatt,morse,mstoltz,various
git-svn-id: svn://10.0.0.236/trunk@91621 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 03:33:56 +00:00
justdave%syndicomm.com
c93f8c293e Fix for bug 71607: remove "month-day only" date format from bug list views.
Patch by Stephan Niemz <st.n@gmx.net>
r= justdave


git-svn-id: svn://10.0.0.236/trunk@91620 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 03:30:59 +00:00
danm%netscape.com
759f435fb9 moving nsIPromptService to WindowWatcher lib. adding nsIPrompt creator. bug 72112 continued. r=ccarlen,hyatt,pinkerton
git-svn-id: svn://10.0.0.236/trunk@91619 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 03:29:53 +00:00
danm%netscape.com
7fe0ef199e moving new nsIPromptService to WindowWatcher lib. adding nsIPrompt creator. bug 72112 continued. r=ccarlen,hyatt,pinkerton
git-svn-id: svn://10.0.0.236/trunk@91618 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 03:27:28 +00:00
idk%eng.sun.com
8072792caa *not part of the build*
urp. initial checkin


git-svn-id: svn://10.0.0.236/trunk@91617 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 02:42:23 +00:00
hyatt%netscape.com
8a334cec2e Fix for 75039. sr=waterson
git-svn-id: svn://10.0.0.236/trunk@91616 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 01:57:21 +00:00
despotdaemon%netscape.com
7b6db54c29 Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@91613 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:51:55 +00:00
mjudge%netscape.com
bcca57a30b 66318 bug for api change of editor unicode not needed. nsAReadableString is what we need now.
git-svn-id: svn://10.0.0.236/trunk@91612 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:48:44 +00:00
mjudge%netscape.com
7d2e61b7ee as per jst review of dom part of 66318 added what was in this file a native descriptor. it is not necessary any more
git-svn-id: svn://10.0.0.236/trunk@91611 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:46:16 +00:00
mjudge%netscape.com
77323a8468 66318 r= kin, sr=kin tested by ducarozz ,phil chofmann approved..changing APIS to be idl so we can use in embedding land... lots of string changes too to nsAStrings
git-svn-id: svn://10.0.0.236/trunk@91610 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:45:26 +00:00
mjudge%netscape.com
9be4ac258a api change for editor changing null strings to empty nsStrings 66318
git-svn-id: svn://10.0.0.236/trunk@91609 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:44:59 +00:00
mjudge%netscape.com
c4f5dd721c sr = jst r = kin. 66318 extra dom stubs needed for editor
git-svn-id: svn://10.0.0.236/trunk@91608 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:44:06 +00:00
pinkerton%netscape.com
a71bc3256a landing idl changes for mjudge. bug# 66318.
git-svn-id: svn://10.0.0.236/trunk@91607 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:42:23 +00:00
pinkerton%netscape.com
1580ab6874 landing manifest changes for mjudge. bug# 66318.
git-svn-id: svn://10.0.0.236/trunk@91606 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-07 00:42:10 +00:00
jst%netscape.com
cf046a90b9 Adding interface file, not part of the build.
git-svn-id: svn://10.0.0.236/trunk@91603 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 23:20:01 +00:00
jst%netscape.com
b03677c8bf Removing file whose name is too long for the mac filesystem. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@91601 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 23:17:48 +00:00
hyatt%netscape.com
04ec0a4d03 Fix for smoketest blocker 74997, r=danm, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91600 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 23:01:55 +00:00
mcafee%netscape.com
75f34f9c91 Adding support for user comments, mozconfig.
git-svn-id: svn://10.0.0.236/trunk@91599 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 22:38:16 +00:00
mcafee%netscape.com
9fc059df81 Adding support for mozconfig
git-svn-id: svn://10.0.0.236/trunk@91594 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 21:57:21 +00:00
johng%corel.com
a26d9a7dfa Fix for Qt port from Bugzilla #74743
git-svn-id: svn://10.0.0.236/trunk@91590 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 20:06:33 +00:00
idk%eng.sun.com
807b85ba15 *not part of the build*
follow up on 71948. fixed build problems on windows


git-svn-id: svn://10.0.0.236/trunk@91587 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 19:18:46 +00:00
johng%corel.com
15c2125a0f Latest source for Qt-Mozilla from Bugzilla #70511
git-svn-id: svn://10.0.0.236/trunk@91586 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 18:38:16 +00:00
justdave%syndicomm.com
b25a71e200 Fix for bug 72721 (duplicates.cgi performs poorly with lots of bugs) and bug 69054 (DB_File not portable): dependence on DB_File removed, now uses AnyDBM_File which comes standard with Perl. Duplicates.cgi now runs its queries against the shadow database if it's available, among many other improvements.
Patch by gervase.markham@univ.ox.ac.uk (Gervase Markham)
r= justdave


git-svn-id: svn://10.0.0.236/trunk@91585 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 18:19:47 +00:00
nelsonb%netscape.com
c3e808b431 Merge changes from NSS_3_2_BRANCH. Fix backward compatibility issues.
git-svn-id: svn://10.0.0.236/trunk@91584 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 17:47:15 +00:00
justdave%syndicomm.com
e123160fb0 Re-fix for bug 29820: remove "Changed" from email subject line. Based on patch submitted by Stephan Niemz [faniz] <st.n@gmx.net>, r= jake, cyeh
UPGRADE NOTES: when you install this update, you will need to change the subject line in your 'changedmail' and 'newchangedmail' params from the web by running editparams.cgi.  The subject line needs to be changed from:
Subject: [Bug %bugid%] %neworchanged% - %summary%
to
Subject: [Bug %bugid%] %neworchanged%%summary%

Or whatever is appropriate for the subject you are using on your system.  Note the removal of the " - " in the middle.


git-svn-id: svn://10.0.0.236/trunk@91583 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 17:40:49 +00:00
justdave%syndicomm.com
d7eedf0b29 Fix for bug 74394: editmilestones.cgi can't edit the name and sortkey at the same time
Patch by slee@uk.bnsmc.com (Stephen Lee)


git-svn-id: svn://10.0.0.236/trunk@91581 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 16:47:49 +00:00
despotdaemon%netscape.com
790cda1af9 Pseudo-automatic update of changes made by anatoliya@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@91580 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 16:23:59 +00:00
despotdaemon%netscape.com
28fe7d5579 Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@91579 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 16:01:12 +00:00
kin%netscape.com
55e8b6a87b Fix for bug #74983: Can't start Composer or MessageCompose
Add missing NS_INIT_REFCNT macro.
r=shaver@mozilla.org,mjudge@netscape.com sr=scc@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@91577 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 14:38:15 +00:00
ducarroz%netscape.com
df2d0580e9 Fix mail part of bug 74901. Don't need anymore to convert line feeds before inserting data into editor. R=jfrancis, SR=mscott
git-svn-id: svn://10.0.0.236/trunk@91575 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 14:34:34 +00:00
scc%mozilla.org
c0e631b1ea bug #74866, r=dbaron, sr=shaver. |nsPromiseFlat[C]String| needs to forward more functions when the promised string doesn't implement the buffer handle magic, i.e., in |ns[C]String| derived classes. Also change |char_type| back to the real type because jag suggests it's more readable that way.
git-svn-id: svn://10.0.0.236/trunk@91574 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 14:04:29 +00:00
tajima%eng.sun.com
a7c3c4416a bug 60714 - need to define class name for Mozilla IM status window
sr=erik/blizzard


git-svn-id: svn://10.0.0.236/trunk@91572 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 10:10:18 +00:00
cls%seawood.org
b0c2aec1c0 Removing obsolete USE_NSPR_AUTOCONF usage
git-svn-id: svn://10.0.0.236/trunk@91568 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 08:44:49 +00:00
mcafee%netscape.com
382aa9b556 Configurable timeout for layout test.
git-svn-id: svn://10.0.0.236/trunk@91564 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 08:09:33 +00:00
mcafee%netscape.com
67ecca87bb renaming layout test
git-svn-id: svn://10.0.0.236/trunk@91563 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 07:31:04 +00:00
justdave%syndicomm.com
da131af4cc Backing out Blake's misfire
git-svn-id: svn://10.0.0.236/trunk@91560 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 04:44:41 +00:00
bbaetz%cs.mcgill.ca
cb98365b9b bug 74666 - Wrong context used in nsFTPChannel::OnStopRequest
r=jag, sr=darin


git-svn-id: svn://10.0.0.236/trunk@91559 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 04:35:12 +00:00
mcafee%netscape.com
539f24adc7 15min timeout for page loader test, removing test printfs.
git-svn-id: svn://10.0.0.236/trunk@91558 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 04:32:53 +00:00
dbragg%netscape.com
12cfe2bca9 Fix for 67503. Setting File object explicitly and using JS_BeginRequest-JS_EndRequest correctly. r=sgehani, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@91557 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 04:18:11 +00:00
markh%activestate.com
80e43f1501 Fix .xpt building problem. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@91556 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 04:10:19 +00:00
mcafee%netscape.com
eeb9c91502 Adding support for pageloader test.
git-svn-id: svn://10.0.0.236/trunk@91554 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 04:02:25 +00:00
morse%netscape.com
c7abd509d0 bug 74569, cookie viewer is blank on installer bits, r=dveditz, sr=shaver
git-svn-id: svn://10.0.0.236/trunk@91553 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:58:03 +00:00
mcafee%netscape.com
fa851f727e Adding support for pageloader test.
git-svn-id: svn://10.0.0.236/trunk@91552 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:56:50 +00:00
danm%netscape.com
d4874d52da adding new promptservice.xpt bug 72112 r=pinkerton,hyatt
git-svn-id: svn://10.0.0.236/trunk@91551 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:54:04 +00:00
sspitzer%netscape.com
ef936f8ab2 fix for #74072. since "forward as quoted" is obsolete, treat it as
"forward inline."  fix by cavin@netscape.com, sr=sspitzer@netscape.com


git-svn-id: svn://10.0.0.236/trunk@91550 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:53:42 +00:00
sspitzer%netscape.com
0ec582ab56 fix for #46619. show the attachment icon in the thread pane if the message
has an attachment.  until we get a "news message with attachment"
icon, use the "mail message with attachment" icon.
r/sr=mscott,bienvenu


git-svn-id: svn://10.0.0.236/trunk@91548 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:43:00 +00:00
mcafee%netscape.com
46dc2d6907 Adding pageloader.dat to copyfile list
git-svn-id: svn://10.0.0.236/trunk@91547 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:42:36 +00:00
idk%eng.sun.com
024e162a59 * not part of the build *
fix for 71948


git-svn-id: svn://10.0.0.236/trunk@91546 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:40:13 +00:00
mcafee%netscape.com
b90f126f1c First add
git-svn-id: svn://10.0.0.236/trunk@91545 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:40:08 +00:00
blizzard%redhat.com
1e3cdfd071 Fix bug #74216. Add accel keys for expand all threads and collapse all threads. sr=sspitzer, r=ben
git-svn-id: svn://10.0.0.236/trunk@91544 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:27:22 +00:00
sspitzer%netscape.com
92b5782c0d bullet proof to prevent crashes. #74471. r=pavlov,sr=shaver
the underlying problem still exists, and that will be covered in
another bug.  but until then, we'll assert instead of crashing


git-svn-id: svn://10.0.0.236/trunk@91543 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:20:44 +00:00
akkana%netscape.com
4341793ee2 Reverting block-ness testing code to the old evil hardwired list,
to see whether the static handle to the parser service was the
source of the leaks.  Discussed with sfraser and anthonyd.
If this causes problems, uncomment the USE_PARSER_FOR_BLOCKNESS
on line 433.


git-svn-id: svn://10.0.0.236/trunk@91542 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 03:18:41 +00:00
aaronl%chorus.net
0304feacbb State is now a bitfield. Makefile for viewer fixed
git-svn-id: svn://10.0.0.236/trunk@91541 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 01:42:48 +00:00
sfraser%netscape.com
d96a4cb74a Work in progress for command handling APIs. Not part of the build
git-svn-id: svn://10.0.0.236/trunk@91540 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 01:27:53 +00:00
sfraser%netscape.com
99a0ca6231 Work in progress for command updating APIs. Not part of the build.
git-svn-id: svn://10.0.0.236/trunk@91539 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 01:26:49 +00:00
akkana%netscape.com
672c4d4509 Forestall more win bustage -- missed a file
git-svn-id: svn://10.0.0.236/trunk@91537 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 01:19:23 +00:00
akkana%netscape.com
30b2fe17c8 Fix my bonehead windows bustage
git-svn-id: svn://10.0.0.236/trunk@91536 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 01:18:34 +00:00
sfraser%netscape.com
27d8b39d1b Fix for XUL assertions when loading browser windows. sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91535 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 01:02:17 +00:00
gordon%netscape.com
91d992734a Fix bug 74832, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@91534 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:57:36 +00:00
blakeross%telocity.com
cfb383e739 This should fix at least some of the assertions (harpoon orange)...just commenting two things out.
git-svn-id: svn://10.0.0.236/trunk@91533 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:51:19 +00:00
rbs%maths.uq.edu.au
c7f9a816d4 nice-to-have optimizations - low hanging fruits
git-svn-id: svn://10.0.0.236/trunk@91532 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:49:50 +00:00
dbaron%fas.harvard.edu
a8482342e5 Fix OS/2 tinderbox bustage (PR_CALLBACK). r=disttsc@bart.nl
git-svn-id: svn://10.0.0.236/trunk@91528 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:33:19 +00:00
dbaron%fas.harvard.edu
b513f5d715 Correct REQUIRES line to fix MOZ_TRACK_MODULE_DEPS (senna tinderbox) bustage.
git-svn-id: svn://10.0.0.236/trunk@91526 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:23:22 +00:00
relyea%netscape.com
a12fdb3141 Add Makefiles for SunOS 5.9 for sparc and intel.
git-svn-id: svn://10.0.0.236/trunk@91525 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:22:11 +00:00
morse%netscape.com
a57b9cb1da bug 74858, cookie permissions getting lost, r=valeski, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91521 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:11:54 +00:00
rbs%maths.uq.edu.au
c5a5ee63e2 Fix incomplete definitions
git-svn-id: svn://10.0.0.236/trunk@91519 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:04:35 +00:00
leaf%mozilla.org
756eb4105c Automated update
git-svn-id: svn://10.0.0.236/trunk@91518 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-06 00:00:07 +00:00
heikki%netscape.com
9b72eefa4c Bug 48217, clean up context menus by using DOM Level 3 baseURI node property, also fixes Show Link in New Window when XML Base has been used. r=blakeross@telocity.com, sr=alecf.
git-svn-id: svn://10.0.0.236/trunk@91517 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:59:35 +00:00
sfraser%netscape.com
36b8029293 Not part of build. In-progress work on editor session
git-svn-id: svn://10.0.0.236/trunk@91516 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:57:22 +00:00
akkana%netscape.com
a49e17641e 66345: Factoring necessary for editor reorganization. sr=kin, r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@91515 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:57:18 +00:00
akkana%netscape.com
5a6c5d7f55 66345: New unix/win makefiles for new editor directories,
anticipating the move of files from editor/base.
  Not built yet, needs Mac project.  r=jfrancis, sr=kin/sfraser


git-svn-id: svn://10.0.0.236/trunk@91514 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:51:30 +00:00
erik%netscape.com
4a52b9dc76 a name change outside the IBMBIDI ifdef caused the ifdeffed code to break;
this change fixes that; no bug number, r, sr


git-svn-id: svn://10.0.0.236/trunk@91513 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:50:10 +00:00
akkana%netscape.com
a9c46eb554 66345: factoring for editor reorganization. sr=kin/sfraser, r=jfrancis.
git-svn-id: svn://10.0.0.236/trunk@91512 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:48:38 +00:00
akkana%netscape.com
02dbe54c0d 66345: Factoring necessary for editor reorganization. sr=kin/sfraser, r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@91511 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:48:01 +00:00
sgehani%netscape.com
021d1cf3d4 Make installer not hang at Install.execute() in jre.xpi by forcing
libpthread to link before libc.  This fix alleviates the problem
caused by the explicit linking of libc created by revision 1.697 to
mozilla/configure.

b = 73802
r = dbragg@netscape.com
sr = cls@seawood.org


git-svn-id: svn://10.0.0.236/trunk@91510 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:43:58 +00:00
akkana%netscape.com
a8f704e11a New files necessary for phase 1 of editor reorganization checkin.
r=jfrancis, sr=kin,sfraser


git-svn-id: svn://10.0.0.236/trunk@91509 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:34:08 +00:00
valeski%netscape.com
79cd6bff52 removing dead files. 74801.
git-svn-id: svn://10.0.0.236/trunk@91508 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:26:17 +00:00
valeski%netscape.com
c0b9a84730 removing nsWBContentListener.cpp from the mac build. 74801.
git-svn-id: svn://10.0.0.236/trunk@91507 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:25:11 +00:00
tor%cs.brown.edu
7dc4b561d5 Give better origins for gdk_pixbuf_render_to_drawable to eliminate the
gdkpixbuf critical errors. r=pavlov, sr=blizzard


git-svn-id: svn://10.0.0.236/trunk@91506 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:21:43 +00:00
valeski%netscape.com
985661c739 r=ccarlen, sr=blizzard. 74801. removing dead nsIURIContentListener layer in the webBrowser. we now pass directly down into the docshell
git-svn-id: svn://10.0.0.236/trunk@91505 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:20:49 +00:00
attinasi%netscape.com
60ddc452d3 Fixed performance problem caused by unused nsAutoString in SelectorMatches.
Patch by bratell@lysator.liu.se, r=glazman@netscape.com sr=attinasi@netscape.com b=74830


git-svn-id: svn://10.0.0.236/trunk@91504 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:14:00 +00:00
danm%netscape.com
478efe7481 new embedding promptservice component. bug 72112 r=hyatt,pinkerton
git-svn-id: svn://10.0.0.236/trunk@91503 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:09:35 +00:00
bnesse%netscape.com
837b67f9ec Trimmed comments to < 80 characters as per request.
[Not part of the build]


git-svn-id: svn://10.0.0.236/trunk@91502 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:08:05 +00:00
jgmyers%netscape.com
b12b1b0fd8 fix more mime header decoder callers, cleanup string fu: bug 65277 r=ducarroz r=nhotta sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@91501 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 23:00:38 +00:00
jgmyers%netscape.com
73dfc6a97b fix too-short buffer allocation: bug 74453 r=nhotta r=ducarroz sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@91500 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:59:06 +00:00
ddrinan%netscape.com
6024545487 Fixed some xul elements that should have been label instead of value
git-svn-id: svn://10.0.0.236/trunk@91498 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:48:52 +00:00
gordon%netscape.com
8c8a8786b5 Fix smoketest blocker bug 74766. DISKCACHE2_BRANCH touchdown. r=beard, sr=darin.
git-svn-id: svn://10.0.0.236/trunk@91495 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:28:17 +00:00
despotdaemon%netscape.com
d74aece5af Pseudo-automatic update of changes made by justdave@syndicomm.com.
git-svn-id: svn://10.0.0.236/trunk@91494 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:24:31 +00:00
oeschger%netscape.com
f342b8f06c more minor adjustments to help chrome, NOT PART OF BUILD
git-svn-id: svn://10.0.0.236/trunk@91493 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:23:28 +00:00
shaver%mozilla.org
3e409e4871 74848: make LiveConnect objects NATIVE, to avoid startup crash, r=smfr/sr=brendan
git-svn-id: svn://10.0.0.236/trunk@91492 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:20:47 +00:00
despotdaemon%netscape.com
afaa654899 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@91490 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:16:17 +00:00
blakeross%telocity.com
25b490efd6 when the heck did I add these stupid alerts?
git-svn-id: svn://10.0.0.236/trunk@91489 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:15:32 +00:00
despotdaemon%netscape.com
f9d5aa3dcb Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@91486 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 22:02:12 +00:00
blakeross%telocity.com
a0b95ae8fe another stupid alert.
git-svn-id: svn://10.0.0.236/trunk@91481 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 20:57:09 +00:00
leaf%mozilla.org
ab29a050eb backing out inadvertent checkin
git-svn-id: svn://10.0.0.236/trunk@91477 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 20:30:01 +00:00
leaf%mozilla.org
c33d3f21d1 backing out blake's inadvertent commit.
git-svn-id: svn://10.0.0.236/trunk@91476 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 20:25:37 +00:00
blakeross%telocity.com
28d5d47f2f removing alert that snuck in.
git-svn-id: svn://10.0.0.236/trunk@91474 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 19:54:08 +00:00
blakeross%telocity.com
694fbc6383 Use more efficient command structure, refactor commands, broadcasters and keys, remove unused attributes, do some other optimization (72923). Landing navigator part only; this should help new window opening and some other areas. r=ben sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@91473 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 19:53:13 +00:00
despotdaemon%netscape.com
5f9f930135 Pseudo-automatic update of changes made by knous@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@91472 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 18:09:18 +00:00
valeski%netscape.com
ff8619beb3 backing out changes to fix 74728 as they are causing assertion death spirals in todays builds.
git-svn-id: svn://10.0.0.236/trunk@91471 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 17:53:18 +00:00
kestes%tradinglinx.com
498ed06aa1 auto generate the version number based on the output of the date command
git-svn-id: svn://10.0.0.236/trunk@91470 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 17:48:23 +00:00
despotdaemon%netscape.com
611d8e3904 Pseudo-automatic update of changes made by bbaetz@cs.mcgill.ca.
git-svn-id: svn://10.0.0.236/trunk@91469 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 17:39:00 +00:00
markh%activestate.com
f51ae01d80 Slightly updated docs for the windows build process.
Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@91452 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 12:36:38 +00:00
markh%activestate.com
9c99057f83 Move PyXPCOM to the Mozilla build system on Windows.
Linux still uses ".stupid" makefile.

Not part of the build.


git-svn-id: svn://10.0.0.236/trunk@91451 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 12:35:33 +00:00
disttsc%bart.nl
f8efc417a1 Add AString to nsrootidl.idl for bug 70681, r=markh, sr=jst
git-svn-id: svn://10.0.0.236/trunk@91450 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 12:25:09 +00:00
jdunn%netscape.com
fa68327632 adding changes to make xmlterm build on hpux11
r= svn@xmlterm.org
# 54160


git-svn-id: svn://10.0.0.236/trunk@91446 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 11:03:15 +00:00
mkaply%us.ibm.com
daf5e8dec2 No bug
r=mkaply, a=blizzard
Timing trap related to destroying windows and nice fix for height of fonts


git-svn-id: svn://10.0.0.236/trunk@91444 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 10:11:41 +00:00
cls%seawood.org
12ae2dca53 Add dep tracking for local compile rule
git-svn-id: svn://10.0.0.236/trunk@91443 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 10:06:37 +00:00
jband%netscape.com
08b9517502 fix for bug 74661. On platforms without longlong support we were reporting a possible non-error as an error. r=pinkerton sr=shaver
git-svn-id: svn://10.0.0.236/trunk@91440 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 08:38:14 +00:00
sspitzer%netscape.com
2ac2990e96 rest of fix for #74808. the icon in the subject column should
only have the green arrow if the message is new, not if the message is
unread.  sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91439 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 08:13:37 +00:00
sspitzer%netscape.com
e7d0f2afa0 #72456. re-implement "mark all read". sr=bienvenu
git-svn-id: svn://10.0.0.236/trunk@91438 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 07:20:30 +00:00
morse%netscape.com
d6580270ad fix linux bustage
git-svn-id: svn://10.0.0.236/trunk@91437 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 07:18:10 +00:00
sspitzer%netscape.com
6e3cec28fc fix for #74808. when setting a "new" message as "read", it should
properly update in the message pane.  sr=bienvenu


git-svn-id: svn://10.0.0.236/trunk@91436 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 07:13:16 +00:00
morse%netscape.com
c1b4abfdf5 bug 70382, redo password manager idl for embedding requirements, r=ccarlen, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91434 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 06:29:48 +00:00
gordon%netscape.com
39b8c65694 Fix bug 74809 "Rearrange cache enable prefs in debug pref panel". r=mcafee.
git-svn-id: svn://10.0.0.236/trunk@91433 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 06:23:19 +00:00
pchen%netscape.com
55a545fc52 mac buddy for bug 70382, add nsIPassword.idl and nsIPasswordManager.idl to mac IDL project
git-svn-id: svn://10.0.0.236/trunk@91432 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 06:23:15 +00:00
pchen%netscape.com
b8eba56147 mac buddy for bug 70382, add nsPassword.cpp and nsPasswordManager.cpp to mac project
git-svn-id: svn://10.0.0.236/trunk@91431 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 06:23:06 +00:00
mcafee%netscape.com
10d5e8e5f6 Run command instead of just binary command. add jrgm url
git-svn-id: svn://10.0.0.236/trunk@91430 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 06:12:12 +00:00
dprice%netscape.com
5cbf372cac 65845 - new order files
git-svn-id: svn://10.0.0.236/trunk@91428 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 06:02:32 +00:00
ben%netscape.com
5df9049d06 change comments in these files to be appropriate doc comment format. sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@91427 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 05:29:24 +00:00
anthonyd%netscape.com
d46561cd6b bug fix for 74145: Caret appears in previously disabled input field
r=cmanske
sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@91426 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 05:14:29 +00:00
cls%seawood.org
1f020b6a91 Updating config.guess & config.sub with 2001-03-30 changes from the GNU master copy at :pserver:anoncvs@subversions.gnu.org:/cvs /config .
git-svn-id: svn://10.0.0.236/trunk@91425 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 04:46:56 +00:00
cls%seawood.org
14ae816e4b Updating config.guess & config.sub with 2001-03-30 changes from the GNU master copy at :pserver:anoncvs@subversions.gnu.org:/cvs /config .
git-svn-id: svn://10.0.0.236/trunk@91424 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 04:41:13 +00:00
darin%netscape.com
16416e44e5 Fixes bug 73029 "new cache time problems, reload sometimes broken"
r=disttsc@bart.nl,gagan sr=mscott


git-svn-id: svn://10.0.0.236/trunk@91420 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:56:54 +00:00
mscott%netscape.com
47e53be8a3 (NOT PART OF THE BUILD).
Help get icon urls working on the Mac. Get rid of a bogus real bytes per row value which wasn't accurate. Just rely
on the # bytes per row the image frame gives us.


git-svn-id: svn://10.0.0.236/trunk@91419 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:51:59 +00:00
mscott%netscape.com
ef5c4d9598 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@91418 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:39:55 +00:00
bratell%lysator.liu.se
7259124fe2 The right fix for bug 74328. This was the one that was reviewed and I have no idea where the old one came from. r=waterson sr=jst
git-svn-id: svn://10.0.0.236/trunk@91417 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:38:20 +00:00
pinkerton%netscape.com
b6d6b1d4a4 OS_ARCH is no longer 'Rhapsody' on OSX, it's now 'Darwin'. Fixes problem
where shared libs all would try to link as stand-alone and fail to find _main().
r=beard/sr=blizzard.


git-svn-id: svn://10.0.0.236/trunk@91416 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:36:56 +00:00
disttsc%bart.nl
11c13fcf56 "Click Finish..." profile text not correctly aligned at bottom, bug=42402, author=Boris Zbarsky <bzbarsky@mit.edu>, r=ksosez@softhome.net, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91413 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:27:05 +00:00
disttsc%bart.nl
ae7ef1243d Provide default userChrome.css and userContent.css with sample (commented out) content for discoverability, bug=37642, author=Boris Zbarsky <bzbarsky@mit.edu>, r=timeless, sr=shaver
git-svn-id: svn://10.0.0.236/trunk@91412 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:20:46 +00:00
ben%netscape.com
697e3b44a9 First part of fix for bug 73508, test files for outliner bookmarks, not part of build!
(Testing only, will be removed once I'm done).


git-svn-id: svn://10.0.0.236/trunk@91411 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:17:58 +00:00
ben%netscape.com
9a4d892843 First part of fix for bug 73508, create nsIXULOutlinerBuilderObserver interface,
and install notifications for it. r=waterson, sr=shaver


git-svn-id: svn://10.0.0.236/trunk@91409 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:17:17 +00:00
bratell%lysator.liu.se
f1239e3f79 Fix for bug 74328, removing O(n^2) algorithm from ContentAppended. This saves time on big pages. r=waterson sr=jst
git-svn-id: svn://10.0.0.236/trunk@91408 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:14:57 +00:00
bratell%lysator.liu.se
bd6e87975b Fix for bug 74319, removing O(n^2) algorithm when restoring session frame state. This saves time on big pages. r=waterson sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91407 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 03:11:30 +00:00
dr%netscape.com
da65fbe16c fix for 61187 (nsIController ignores COM identity rules), contributed by MarkH@ActiveState.com, r=dr, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@91405 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 02:45:17 +00:00
tor%cs.brown.edu
a6631a4f52 Calculate vertical scaling factor properly in DrawScaled().
r=jag,dr; sr=shaver


git-svn-id: svn://10.0.0.236/trunk@91404 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 02:41:51 +00:00
erik%netscape.com
6ff4f34ea1 checkin for bstell@netscape.com:
bug 54000; r=cls, sr=blizzard
enable nl_langinfo(CODESET) compiling


git-svn-id: svn://10.0.0.236/trunk@91403 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 02:29:59 +00:00
cls%seawood.org
7ef560bf29 Make sure that cpp & asm files are rebuilt on Makefile.in changes like .c files.
git-svn-id: svn://10.0.0.236/trunk@91402 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 02:12:53 +00:00
disttsc%bart.nl
c793ed4f4d Fix senna bustage by removing unnecessary #include. r=shaver
git-svn-id: svn://10.0.0.236/trunk@91401 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 02:12:09 +00:00
sfraser%netscape.com
4b8124de18 Fix HPUX bustage
git-svn-id: svn://10.0.0.236/trunk@91400 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 02:11:57 +00:00
brendan%mozilla.org
e4c21a8200 - Add JS_GetReservedSlot, JS_SetReservedSlot, and JSCLASS_HAS_RESERVED_SLOTS(n)
to the JS API, for per class extra slots beyond JSSLOT_PRIVATE (or starting
  there for a class that lacks JSCLASS_HAS_PRIVATE).  To avoid penalizing all
  instances, these slots are allocated only upon first property-owned slot
  allocation, or upon first JS_SetReservedSlot.

  This entailed adding getRequiredSlot and setRequiredSlot hooks to the
  JSObjectOps struct, and making obj->slots self-describing, a la BSTR.  It
  also afforded me a chance to clean up obj->slots locking so that non-native
  JSObjectOps didn't risk unlocked accesses!  Now there are thread-safe hooks
  for all uses of obj.

  First consumer is the new, DOM-glue-unifying XPConnect, which needs two
  slots per wrapped function.  Hence the change to js_FunctionClass.flags'
  initializer.

- Commented the heck out of JSClass and JSObjectOps function typedefs in
  jspubtd.h.  I hope embedders see these comments!

- Fix JS_XDRValue's default case to handle int exclusively, there is no other
  possible type (and therefore no JSMSG_BAD_JVAL_TYPE error).

- Clean up tabs in select old, tab-ridden files and sections.

- s/\<fh\>/file/g for stdio FILE * canonical variable names.


git-svn-id: svn://10.0.0.236/trunk@91396 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 01:53:24 +00:00
cls%seawood.org
d7180f9a7b Update our non-compiler based dependency system to build dependencies on the fly like the compiler-based system does.
Bug #66529 r=leaf


git-svn-id: svn://10.0.0.236/trunk@91393 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 01:18:34 +00:00
loadrunner%betak.net
acedb5b4d7 Bug 64231, The Edit|Preferences|Fonts has problem with display some foreign fonts, r=matt, nhotta, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91391 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 01:06:13 +00:00
loadrunner%betak.net
2e257637d0 Bug 72752, The default search engine will pick up AltaVista TradChinese, r=nhotta, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91390 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 01:05:28 +00:00
kmcclusk%netscape.com
b1782a1c4e Not part of the build, stand alone test program. Make gfx pixel coverage test compile and run. bug=70041. (patch from jonsmirl@mediaone.net)
git-svn-id: svn://10.0.0.236/trunk@91388 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 01:01:40 +00:00
sfraser%netscape.com
4fdc5bc10c Add nsAccessibilityFactory.cpp so this stupid thing gets registered properly. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@91387 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 00:47:00 +00:00
ddrinan%netscape.com
b2332346b0 Use security.default_personal_cert for client auth
git-svn-id: svn://10.0.0.236/trunk@91386 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 00:36:53 +00:00
ddrinan%netscape.com
c21fadfcbe Fixed some typos in the pref names
git-svn-id: svn://10.0.0.236/trunk@91385 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 00:35:01 +00:00
mcafee%netscape.com
fc2a5878b2 Adding named logfiles, test support.
git-svn-id: svn://10.0.0.236/trunk@91384 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 00:33:19 +00:00
waterson%netscape.com
17ec076943 Bug 74728, redux. Fix without leaking tokens: make sure that nsCParserNode always has an nsTokenAllocator object. r=harishd, sr=shaver
git-svn-id: svn://10.0.0.236/trunk@91383 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 00:27:11 +00:00
bnesse%netscape.com
81dbdbc713 Added coments based on Judson's review comments.
[Not Part of the Build]


git-svn-id: svn://10.0.0.236/trunk@91378 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-05 00:08:07 +00:00
pinkerton%netscape.com
dafd939478 forgot to wrap something in !TARGET_CARBON. fixes bustage.
git-svn-id: svn://10.0.0.236/trunk@91376 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:58:35 +00:00
sfraser%netscape.com
55a3a4f35d Fix for 74143, change nsIController to use DOMStrings. sr=hyatt, r=kin
git-svn-id: svn://10.0.0.236/trunk@91375 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:48:03 +00:00
peterlubczynski%netscape.com
3987c653e7 Fix for null pointer in full page plugins on Mac. bug 74789 a=av sr=shaver
git-svn-id: svn://10.0.0.236/trunk@91374 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:46:27 +00:00
rich.burridge%sun.com
84f19f4353 Fix for bug 72841 - Solaris Intel xptcall code should really be in separate files.
sr=shaver@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@91373 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:42:40 +00:00
bryner%uiuc.edu
8365e2492e Making the CertContentListener support weak refs, this makes it so the user gets prompted to import the certificate. r=javi.
git-svn-id: svn://10.0.0.236/trunk@91370 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:30:05 +00:00
sonmi%netscape.com
23d3cc6ef4 updated
git-svn-id: svn://10.0.0.236/trunk@91369 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:28:57 +00:00
leaf%mozilla.org
5cc821a1cb Automated update
git-svn-id: svn://10.0.0.236/trunk@91368 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:15:03 +00:00
hyatt%netscape.com
c4648b083b Fix for 53670.
git-svn-id: svn://10.0.0.236/trunk@91367 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:15:02 +00:00
pinkerton%netscape.com
808c7b19d5 Add DARWIN define for osx so we don't have to keep adding RHAPSODY defines if
anything new is needed. r=leaf/sr=shaver.


git-svn-id: svn://10.0.0.236/trunk@91366 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:13:27 +00:00
hyatt%netscape.com
9ff7c61384 Fix for 53670. sr=waterson, r=danm
git-svn-id: svn://10.0.0.236/trunk@91365 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 23:12:53 +00:00
pinkerton%netscape.com
7cc8e5e508 add DefProcFakery to build.
git-svn-id: svn://10.0.0.236/trunk@91364 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:57:45 +00:00
erik%netscape.com
7181d48f9a checkin for bstell@netscape.com:
bug 54000; r=cls, sr=blizzard
define _XOPEN_SOURCE so older versions of Linux define CODESET


git-svn-id: svn://10.0.0.236/trunk@91363 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:51:36 +00:00
ftang%netscape.com
ba73f80669 remove obsoleted code. fix bug 74727
git-svn-id: svn://10.0.0.236/trunk@91362 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:49:04 +00:00
ftang%netscape.com
9d8ab7d797 remove obsoleted files
git-svn-id: svn://10.0.0.236/trunk@91361 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:42:57 +00:00
ftang%netscape.com
808acb1820 fix bug 74727. remove dead code
git-svn-id: svn://10.0.0.236/trunk@91360 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:36:47 +00:00
ftang%netscape.com
fc082d8752 fix 74727
r=yokoyama@netscape.com
remove dead code


git-svn-id: svn://10.0.0.236/trunk@91359 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:36:30 +00:00
ftang%netscape.com
c1dd21f016 remove dead cpp files
git-svn-id: svn://10.0.0.236/trunk@91358 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:35:25 +00:00
ftang%netscape.com
4070d00536 fix 74730. r=yokoyama@netscape.com
remove dead code
remove dead cpp file from the build


git-svn-id: svn://10.0.0.236/trunk@91357 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:34:45 +00:00
ftang%netscape.com
307f07b3d9 add table generation tool to the build Not part of the build
fix bug 67374


git-svn-id: svn://10.0.0.236/trunk@91356 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:32:54 +00:00
cmanske%netscape.com
d55dcb6cf6 checkin for neil@parkwaycc.co.uk: Use proper toolbar separator in Composer. b=73775, r=cmanske, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91355 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:28:45 +00:00
ddrinan%netscape.com
04444a91b6 Fixed preftype error for default_personal_cert. r=javi
git-svn-id: svn://10.0.0.236/trunk@91354 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:23:27 +00:00
Xiaobin.Lu%eng.Sun.com
acc0c9d7f5 Bug 68933 r=Ed Burns sr=Mike Shaver
Get rid of the duplication function of JavaEnabled & IsJavaEnabled


git-svn-id: svn://10.0.0.236/trunk@91353 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:16:52 +00:00
cmanske%netscape.com
b36907b631 Part of fix number validation bug 73049, r=brade, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91352 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:15:10 +00:00
Xiaobin.Lu%eng.Sun.com
600c054cdb Bug 68933 r=Ed Burns and Mike Shaver sr=Mike Shaver
Function name changed due to idl convention


git-svn-id: svn://10.0.0.236/trunk@91351 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:14:43 +00:00
Xiaobin.Lu%eng.Sun.com
6096346361 Bug 68933 r=sr=Mike Shaver
Add declaration of GetPluginHost


git-svn-id: svn://10.0.0.236/trunk@91350 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:13:04 +00:00
Xiaobin.Lu%eng.Sun.com
6065a9bc2a Bug 68933 r=sr=Mike Shaver
Add GetPluginHost method in order to be used by JavaEnabled implementation


git-svn-id: svn://10.0.0.236/trunk@91349 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:12:26 +00:00
Xiaobin.Lu%eng.Sun.com
28a0cbb434 Bug 68933 r=sr=Mike Shaver
Due to nsIJVMManger.idl change, IsJavaEnabled changed to GetJavaEnabled


git-svn-id: svn://10.0.0.236/trunk@91348 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:11:12 +00:00
Xiaobin.Lu%eng.Sun.com
ab5b7af17e Bug 68933 r=sr=Mike Shaver
Reimplemented the JavaEnabled() function done by jst@netscape


git-svn-id: svn://10.0.0.236/trunk@91347 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:09:56 +00:00
Xiaobin.Lu%eng.Sun.com
5bc2dc615f Bug 68933: r=sr=Mike Shaver.
M tasksOverlay.js
navigator.javaEnabled() implementation has been changed by jst@netscape


git-svn-id: svn://10.0.0.236/trunk@91346 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:07:46 +00:00
cmanske%netscape.com
1c88cd85a7 New strings for dialog number validation bug 73049, r=brade, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91345 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:05:50 +00:00
cmanske%netscape.com
62d10f5721 Fixed dialog number validation bug 73049, r=brade, sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91344 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 22:05:06 +00:00
morse%netscape.com
abc9cd1707 bug 74489, fix semantics of enumerate, r=valeski, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@91343 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:58:50 +00:00
jdunn%netscape.com
282f25dce4 just adding a comment with reference to the bug to let people looking
at this know what the heck is going on


git-svn-id: svn://10.0.0.236/trunk@91342 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:57:14 +00:00
jdunn%netscape.com
ce51cd05bb aix,os/2 & solaris are all having problems with this. It has to do with
struct/union access and nested classes, but it is a big pain.

r= mkaply@us.ibm.com,waterson@netscape.com,scc@mozilla.org
a= scc@mozilla.org
# 74725


git-svn-id: svn://10.0.0.236/trunk@91341 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:54:18 +00:00
cmanske%netscape.com
0ffe25f89e Fixed JS warnings and window title bugs 57649, 73807; r=brade, hurricane; sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@91340 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:52:25 +00:00
pinkerton%netscape.com
34f7b25727 remove mdef resource, no longer needed. r=saari/sr=sfraser bug# 61039
git-svn-id: svn://10.0.0.236/trunk@91339 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:45:51 +00:00
pinkerton%netscape.com
0ffe24b221 new borderless wdef to bring in line with win32 windows. clean up mdef code to be in line with wdef code. r=saari/sr=sfraser bug# 61039
git-svn-id: svn://10.0.0.236/trunk@91338 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:45:18 +00:00
pinkerton%netscape.com
6362cd404d add borders back to mac popups now that the popups have no border of their own. r=saari/sr=sfraser bug# 61039
git-svn-id: svn://10.0.0.236/trunk@91337 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:44:26 +00:00
pinkerton%netscape.com
87cf0f67a6 new borderless wdef to bring in line with win32 windows. clean up mdef code to be in line with wdef code.
git-svn-id: svn://10.0.0.236/trunk@91336 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:42:42 +00:00
pinkerton%netscape.com
d3cd048aeb extract some code used for our fake MDEF/WDEF. r=saari/sr=sfraser. bug 61039.
git-svn-id: svn://10.0.0.236/trunk@91335 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:42:16 +00:00
dbragg%netscape.com
873f8b6c8d Fix for 29415. Now returning READ_ONLY error if file attribute set that way. r=dveditz, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@91334 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:40:59 +00:00
leaf%mozilla.org
20d69db19e Automated update
git-svn-id: svn://10.0.0.236/trunk@91332 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:30:03 +00:00
cls%seawood.org
c2ee9a00e1 Use TRY_LINK instead of TRY_COMPILE when testing for gnu_get_libc_version().
Thanks to Kurt <lidl@pix.net> for the patch.
Bug #74758 Fixing ports tinderbox bustage


git-svn-id: svn://10.0.0.236/trunk@91331 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:29:20 +00:00
mcgreer%netscape.com
24504c30f6 fix bug #74764
r=javi


git-svn-id: svn://10.0.0.236/trunk@91329 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:06:22 +00:00
cls%seawood.org
6bd6c87cd3 Fix jsmath.o related dependencies.
Bug #74707 a=jj@netscape.com


git-svn-id: svn://10.0.0.236/trunk@91327 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 21:00:11 +00:00
beard%netscape.com
40e3d35ea3 Configuration for Mac OS X final (Darwin 1.3)
git-svn-id: svn://10.0.0.236/trunk@91324 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 19:48:12 +00:00
pchen%netscape.com
2ff09311e0 blocker bug 74728, r=pinkerton, Check for null mTokenAllocator before trying to free a token, for some reason unbeknowst to me, view source likes to create nsCParserNodes with a null allocator. Why this didn't bite us in the ass before is also beyond me.
git-svn-id: svn://10.0.0.236/trunk@91321 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 18:38:28 +00:00
shaver%mozilla.org
c2d245c145 explicitly include nsString.h
git-svn-id: svn://10.0.0.236/trunk@91311 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 16:41:14 +00:00
dcone%netscape.com
5064aea52b Added silent parameter. r=mclusky sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@91305 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 14:55:26 +00:00
jdunn%netscape.com
3c7ded623c fixing ports bustage
# 74725


git-svn-id: svn://10.0.0.236/trunk@91304 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 14:43:39 +00:00
ftang%netscape.com
52903545bc not part of the build yet.
fix bug 65773
r=nobodyyet sr=nobodyyet


git-svn-id: svn://10.0.0.236/trunk@91303 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 14:36:53 +00:00
kestes%tradinglinx.com
acfc204cad relax the uid/gid security checks for Debian
git-svn-id: svn://10.0.0.236/trunk@91302 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 14:23:36 +00:00
mkaply%us.ibm.com
3ce0b10d25 Nope, didn't work
git-svn-id: svn://10.0.0.236/trunk@91301 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 13:44:01 +00:00
mkaply%us.ibm.com
2d69301e88 Attempt to fix ports bustage
git-svn-id: svn://10.0.0.236/trunk@91300 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 13:08:27 +00:00
cls%seawood.org
93acdb6341 Some compilers/platforms (Irix) only have <new.h> not <new>. Fixing cement tinderbox bustage
git-svn-id: svn://10.0.0.236/trunk@91297 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 11:16:58 +00:00
leaf%mozilla.org
5e76dbfe8b Automated update
git-svn-id: svn://10.0.0.236/trunk@91296 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 11:15:02 +00:00
cls%seawood.org
6d44f62c63 Expand the function check for gnu_get_libc_version() into a full compile check as BeOS has the function in libroot.so but it is not declared in any headers.
git-svn-id: svn://10.0.0.236/trunk@91295 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 11:02:06 +00:00
hwaara%chello.se
6b919bf372 Don't include the same header twice! No bug, sr=sspitzer
git-svn-id: svn://10.0.0.236/trunk@91294 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 10:39:21 +00:00
sspitzer%netscape.com
794070fa81 ignore generate makefiles
git-svn-id: svn://10.0.0.236/trunk@91292 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 10:03:09 +00:00
waterson%netscape.com
5a0c204b43 Another wild stab at fixing ports bustage.
git-svn-id: svn://10.0.0.236/trunk@91281 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 09:09:58 +00:00
waterson%netscape.com
88dd85fcc6 Wild stab at fixing ports bustage.
git-svn-id: svn://10.0.0.236/trunk@91280 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 09:05:06 +00:00
waterson%netscape.com
38e5ada380 Fix more gcc-2.7.2.3 bustage. Whee\!
git-svn-id: svn://10.0.0.236/trunk@91279 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 08:26:32 +00:00
mkaply%us.ibm.com
23a9b5d209 OS/2 TB breakage
git-svn-id: svn://10.0.0.236/trunk@91278 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-04 08:25:32 +00:00
22939 changed files with 4663070 additions and 139 deletions

43
mozilla/LEGAL Normal file
View File

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

567
mozilla/LICENSE Normal file
View File

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

185
mozilla/Makefile.in Normal file
View File

@@ -0,0 +1,185 @@
#
# 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 = .
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/build/unix/modules.mk
ifneq ($(BUILD_MODULES),all)
DIRS = $(BUILD_MODULE_DIRS)
EXPORT_DIRS = $(BUILD_MODULE_DEP_DIRS)
else
DIRS = config build
ifdef MOZ_JAVA_SUPPLEMENT
DIRS += \
java/util \
java/webclient \
$(NULL)
endif
# boehm needs to be built before XPCOM
ifdef GC_LEAK_DETECTOR
DIRS += gc/boehm
endif
DIRS += $(NSPRPUB_DIR)
DIRS += dbm modules/libreg js string xpcom js/src/xpconnect
ifdef MOZ_OJI
DIRS += js/src/liveconnect
endif
ifndef MOZ_NATIVE_ZLIB
DIRS += modules/zlib
endif
ifndef MOZ_NATIVE_JPEG
DIRS += jpeg
endif
ifdef MOZ_ENABLE_XLIB
DIRS += gfx/src/xlibrgb widget/src/xlibxtbin
endif
ifdef MOZ_ENABLE_GTK
DIRS += widget/src/gtksuperwin widget/src/gtkxtbin
endif
# Linux and Solaris installer needs standalone libjar, hence standalone zlib
ifneq (,$(filter Linux SunOS,$(OS_ARCH)))
DIRS += modules/zlib/standalone
endif
DIRS += \
widget/timer \
include \
modules/libutil \
netwerk \
modules/mpfilelocprovider \
uriloader \
intl \
modules/libpref \
modules/libimg \
modules/oji \
modules/libjar \
caps \
rdf \
expat \
htmlparser \
gfx \
$(NULL)
ifdef USE_IMG2
DIRS += gfx2 modules/libpr0n
endif
DIRS += \
modules/plugin \
dom \
view \
widget \
content \
layout \
db \
docshell \
webshell \
embedding \
editor \
sun-java \
profile \
themes \
accessible \
$(NULL)
# This must preceed xpfe
ifdef MOZ_JPROF
DIRS += tools/jprof
endif
ifdef MOZ_BUILD_XPFE
DIRS += xpfe
endif
DIRS += xpinstall
ifdef MOZ_PSM
DIRS += security/nss security/manager
endif
ifdef MOZ_EXTENSIONS
DIRS += extensions
endif
ifdef MOZ_MAIL_NEWS
DIRS += mailnews
endif
ifdef MOZ_LEAKY
DIRS += tools/leaky
endif
ifdef ENABLE_TESTS
DIRS += xpcom/tests
endif
ifdef MOZ_LDAP_XPCOM
DIRS += directory/c-sdk/ldap directory/xpcom
endif
DIRS += l10n
ifdef MOZ_STATIC_COMPONENTS
DIRS += modules/staticmod
endif
endif # BUILD_MODULES == all
STATIC_MAKEFILES := $(NSPRPUB_DIR) directory/c-sdk/ldap
ifdef MOZ_PSM
STATIC_MAKEFILES += security/nss
endif
GARBAGE_DIRS += dist
DIST_GARBAGE = config.cache config.log config.status config-defs.h \
dependencies.beos config/autoconf.mk config/myrules.mk config/myconfig.mk \
unallmakefiles \
$(topsrcdir)/.mozconfig.mk $(topsrcdir)/.mozconfig.out
include $(topsrcdir)/config/rules.mk
export::
+$(LOOP_OVER_EXPORT_DIRS)
distclean::
cat unallmakefiles | $(XARGS) rm -f
rm -f unallmakefiles $(DIST_GARBAGE)

View File

@@ -0,0 +1,2 @@
Pursuant to section 3.3 of the MPL, this file will contain a list of the files
that have been modified by IBM Corporation.

View File

@@ -0,0 +1,3 @@
For mozilla-the-client build instructions, please read:
http://www.mozilla.org/build/

View File

@@ -0,0 +1,32 @@
#
# 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 = ..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = public src build
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,50 @@
#
# 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 = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = accessibility
LIBRARY_NAME = accessibility
SHORT_LIBNAME = access
IS_COMPONENT = 1
REQUIRES = xpcom string dom
CPPSRCS = nsAccessibilityFactory.cpp
LOCAL_INCLUDES = -I$(srcdir)/../src
SHARED_LIBRARY_LIBS = \
$(DIST)/lib/libaccessibility_s.$(LIB_SUFFIX) \
$(DIST)/lib/libchrome_s.$(LIB_SUFFIX) \
$(NULL)
EXTRA_DSO_LDOPTS = \
$(MOZ_COMPONENT_LIBS) \
-lgkgfx \
$(NULL)
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,47 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express 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=..\..
MODULE=accessibility
MAKE_OBJ_TYPE=DLL
DLLNAME=accessibility
DLL=.\$(OBJDIR)\$(DLLNAME).dll
CPP_OBJS=\
.\$(OBJDIR)\nsAccessibilityFactory.obj \
$(NULL)
LINCS = $(LINCS) -I..\src # for implementation headers
LLIBS=\
$(DIST)\lib\xpcom.lib \
$(DIST)\lib\accessibility_s.lib \
$(DIST)\lib\timer_s.lib \
$(DIST)\lib\gkgfxwin.lib \
$(LIBNSPR)
include <$(DEPTH)\config\rules.mak>
install:: $(DLL)
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin\components
$(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).lib $(DIST)\lib

View File

@@ -0,0 +1,60 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#include "nsCOMPtr.h"
#include "nsIModule.h"
#include "nsIGenericFactory.h"
#include "nsIServiceManager.h"
#include "nsIComponentManager.h"
#include "nsIAccessibilityService.h"
#include "nscore.h"
static NS_IMETHODIMP
NS_ConstructAccessibilityService(nsISupports *aOuter, REFNSIID aIID, void **aResult)
{
nsresult rv;
NS_ASSERTION(aOuter == nsnull, "no aggregation");
nsIAccessibilityService* accessibility;
rv = NS_NewAccessibilityService(&accessibility);
if (NS_FAILED(rv)) {
NS_ERROR("Unable to construct chrome registry");
return rv;
}
rv = accessibility->QueryInterface(aIID, aResult);
NS_ASSERTION(NS_SUCCEEDED(rv), "unable to find correct interface");
NS_RELEASE(accessibility);
return rv;
}
// The list of components we register
static nsModuleComponentInfo components[] =
{
{ "AccessibilityService",
NS_ACCESSIBILITY_SERVICE_CID,
"@mozilla.org/accessibilityService;1",
NS_ConstructAccessibilityService
},
};
NS_IMPL_NSGETMODULE("nsAccessibilityModule", components);

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,26 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express 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=..
DIRS= public src build
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,3 @@
nsIAccessibilityService.idl
nsIAccessible.idl
nsIMutableAccessible.idl

View File

@@ -0,0 +1,41 @@
#
# 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 = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = accessibility
XPIDL_MODULE= accessibility
XPIDLSRCS = \
nsIAccessibilityService.idl \
nsIAccessible.idl \
nsIMutableAccessible.idl \
nsIAccessibleEventReceiver.idl \
nsIAccessibleEventListener.idl \
$(NULL)
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,34 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express 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=..\..
MODULE=accessibility
XPIDL_MODULE=accessibility
XPIDLSRCS = \
.\nsIAccessibilityService.idl \
.\nsIAccessible.idl \
.\nsIMutableAccessible.idl \
.\nsIAccessibleEventReceiver.idl \
.\nsIAccessibleEventListener.idl \
$(NULL)
include <$(DEPTH)\config\rules.mak>

View File

@@ -0,0 +1,53 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Mozilla browser.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Original Author: Eric Vaughan (evaughan@netscape.com)
*
* Contributor(s):
*/
#include "nsISupports.idl"
#include "domstubs.idl"
#include "nsIMutableAccessible.idl"
#include "nsIAtom.idl"
[scriptable, uuid(68D9720A-0984-42b6-A3F5-8237ED925727)]
interface nsIAccessibilityService : nsISupports
{
nsIAccessible createRootAccessible(in nsISupports aPresShell, in nsISupports aFrame);
nsIMutableAccessible createMutableAccessible(in nsISupports aNode);
nsIAccessible createHTMLBlockAccessible(in nsIAccessible aAccessible, in nsIDOMNode aNode, in nsISupports aPresShell);
nsIAccessible createHTMLSelectAccessible(in nsIAtom aAccessible, in nsIDOMNode aNode, in nsISupports aPresShell);
nsIAccessible createHTMLCheckboxAccessible(in nsISupports aFrame);
nsIAccessible createHTMLRadioButtonAccessible(in nsISupports aFrame);
nsIAccessible createHTMLButtonAccessible(in nsISupports aFrame);
nsIAccessible createHTMLTextAccessible(in nsISupports aFrame);
};
%{ C++
// for component registration
// {DE401C37-9A7F-4278-A6F8-3DE2833989EF}
#define NS_ACCESSIBILITY_SERVICE_CID \
{ 0xde401c37, 0x9a7f, 0x4278, { 0xa6, 0xf8, 0x3d, 0xe2, 0x83, 0x39, 0x89, 0xef } }
extern nsresult
NS_NewAccessibilityService(nsIAccessibilityService** aResult);
%}

View File

@@ -0,0 +1,205 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Mozilla browser.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Original Author: Eric D Vaughan (evaughan@netscape.com)
*
* Contributor(s):
*/
#include "nsISupports.idl"
[scriptable, uuid(B26FBE47-9A5F-42a1-822B-082461AE4D6D)]
interface nsIAccessible : nsISupports
{
/* Can't use these javascript can't tell us if properties are undefined
readonly attribute nsIAccessible accParent;
readonly attribute nsIAccessible accNextSibling;
readonly attribute nsIAccessible accPreviousSibling;
readonly attribute nsIAccessible accFirstChild;
readonly attribute nsIAccessible accLastChild;
readonly attribute long accChildCount;
attribute wstring accName;
attribute wstring accValue;
readonly attribute wstring accDescription;
readonly attribute wstring accRole;
readonly attribute unsigned long accState;
readonly attribute wstring accHelp;
readonly attribute wstring accDefaultAction;
readonly attribute boolean accFocused;
*/
nsIAccessible getAccParent();
nsIAccessible getAccNextSibling();
nsIAccessible getAccPreviousSibling();
nsIAccessible getAccFirstChild();
nsIAccessible getAccLastChild();
long getAccChildCount();
wstring getAccName();
wstring getAccValue();
void setAccName(in wstring name);
void setAccValue(in wstring value);
wstring getAccDescription();
wstring getAccRole();
unsigned long getAccState();
unsigned long getAccExtState();
wstring getAccDefaultAction();
wstring getAccHelp();
boolean getAccFocused();
nsIAccessible accGetAt(in long x, in long y);
nsIAccessible accNavigateRight();
nsIAccessible accNavigateLeft();
nsIAccessible accNavigateUp();
nsIAccessible accNavigateDown();
void accGetBounds(out long x,
out long y,
out long width,
out long height);
void accAddSelection();
void accRemoveSelection();
void accExtendSelection();
void accTakeSelection();
void accTakeFocus();
void accDoDefaultAction();
// MSAA State flags - used for bitfield. More than 1 allowed.
const unsigned long STATE_UNAVAILABLE = 0x00000001; // Disabled, maps to opposite of Java ENABLED, Gnome/ATK SENSITIVE?
const unsigned long STATE_SELECTED = 0x00000002;
const unsigned long STATE_FOCUSED = 0x00000004;
const unsigned long STATE_PRESSED = 0x00000008;
const unsigned long STATE_CHECKED = 0x00000010;
const unsigned long STATE_MIXED = 0x00000020; // 3-state checkbox or toolbar button
const unsigned long STATE_READONLY = 0x00000040; // Maps to opposite of Java/Gnome/ATK EDITABLE state
const unsigned long STATE_HOTTRACKED = 0x00000080;
const unsigned long STATE_DEFAULT = 0x00000100;
const unsigned long STATE_EXPANDED = 0x00000200;
const unsigned long STATE_COLLAPSED = 0x00000400;
const unsigned long STATE_BUSY = 0x00000800;
const unsigned long STATE_FLOATING = 0x00001000; // Children "owned" not "contained" by parent
const unsigned long STATE_MARQUEED = 0x00002000;
const unsigned long STATE_ANIMATED = 0x00004000;
const unsigned long STATE_INVISIBLE = 0x00008000;
const unsigned long STATE_OFFSCREEN = 0x00010000;
const unsigned long STATE_SIZEABLE = 0x00020000;
const unsigned long STATE_MOVEABLE = 0x00040000;
const unsigned long STATE_SELFVOICING = 0x00080000;
const unsigned long STATE_FOCUSABLE = 0x00100000;
const unsigned long STATE_SELECTABLE = 0x00200000;
const unsigned long STATE_LINKED = 0x00400000;
const unsigned long STATE_TRAVERSED = 0x00800000;
const unsigned long STATE_MULTISELECTABLE = 0x01000000; // Supports multiple selection
const unsigned long STATE_EXTSELECTABLE = 0x02000000; // Supports extended selection
const unsigned long STATE_ALERT_LOW = 0x04000000; // This information is of low priority
const unsigned long STATE_ALERT_MEDIUM = 0x08000000; // This information is of medium priority
const unsigned long STATE_ALERT_HIGH = 0x10000000; // This information is of high priority
const unsigned long STATE_PROTECTED = 0x20000000; // Maps to Gnome's *Role* ATK_ROLE_PASSWD_TEXT, nothing for Java?
const unsigned long STATE_HASPOPUP = 0x40000000; // New in MSAA 2.0
// Extended state flags (for now non-MSAA, for Java and Gnome/ATK support)
// This is only the states that there isn't already a mapping for in MSAA
// See www.accessmozilla.org/article.php?sid=11 for information on the mappings between accessibility API states
const unsigned long STATE_INVALID = 0x00200000; // No explanation given
const unsigned long STATE_ACTIVE = 0x00400000; // This window is currently the active window
const unsigned long STATE_EXPANDABLE = 0x00800000; // An item that can be expanded, such as a tree item with children
const unsigned long STATE_MODAL = 0x01000000; // Must do something with control before leaving it
const unsigned long STATE_MULTI_LINE = 0x02000000; // Edit control that can take multiple lines
const unsigned long STATE_SENSITIVE = 0x04000000; // No explanation given
const unsigned long STATE_RESIZABLE = 0x08000000; // Object can be resized
const unsigned long STATE_SHOWING = 0x10000000; // This object and all of it's ancestors are visible
const unsigned long STATE_SINGLE_LINE = 0x20000000; // This text object can only contain 1 line of text
const unsigned long STATE_TRANSIENT = 0x40000000; // Tells accessibility aid "Don't add event listener - this object doesn't generate any". For example, could be used with higher level containers.
const unsigned long STATE_VERTICAL = 0x80000000; // Especially used for sliders and scrollbars
/*
// MSAA Roles - only one per nsIAccessible or IAccessible
const unsigned long ROLE_TITLEBAR = 0x00000001;
const unsigned long ROLE_MENUBAR = 0x00000002;
const unsigned long ROLE_SCROLLBAR = 0x00000003;
const unsigned long ROLE_GRIP = 0x00000004;
const unsigned long ROLE_SOUND = 0x00000005;
const unsigned long ROLE_CURSOR = 0x00000006;
const unsigned long ROLE_CARET = 0x00000007;
const unsigned long ROLE_ALERT = 0x00000008;
const unsigned long ROLE_WINDOW = 0x00000009;
const unsigned long ROLE_CLIENT = 0x0000000A;
const unsigned long ROLE_MENUPOPUP = 0x0000000B;
const unsigned long ROLE_MENUITEM = 0x0000000C;
const unsigned long ROLE_TOOLTIP = 0x0000000D;
const unsigned long ROLE_APPLICATION = 0x0000000E;
const unsigned long ROLE_DOCUMENT = 0x0000000F;
const unsigned long ROLE_PANE = 0x00000010;
const unsigned long ROLE_CHART = 0x00000011;
const unsigned long ROLE_DIALOG = 0x00000012;
const unsigned long ROLE_BORDER = 0x00000013;
const unsigned long ROLE_GROUPING = 0x00000014;
const unsigned long ROLE_SEPARATOR = 0x00000015;
const unsigned long ROLE_TOOLBAR = 0x00000016;
const unsigned long ROLE_STATUSBAR = 0x00000017;
const unsigned long ROLE_TABLE = 0x00000018;
const unsigned long ROLE_COLUMNHEADER = 0x00000019;
const unsigned long ROLE_ROWHEADER = 0x0000001A;
const unsigned long ROLE_COLUMN = 0x0000001B;
const unsigned long ROLE_ROW = 0x0000001C;
const unsigned long ROLE_CELL = 0x0000001D;
const unsigned long ROLE_LINK = 0x0000001E;
const unsigned long ROLE_HELPBALLOON = 0x0000001F;
const unsigned long ROLE_CHARACTER = 0x00000020;
const unsigned long ROLE_LIST = 0x00000021;
const unsigned long ROLE_LISTITEM = 0x00000022;
const unsigned long ROLE_OUTLINE = 0x00000023;
const unsigned long ROLE_OUTLINEITEM = 0x00000024;
const unsigned long ROLE_PAGETAB = 0x00000025;
const unsigned long ROLE_PROPERTYPAGE = 0x00000026;
const unsigned long ROLE_INDICATOR = 0x00000027;
const unsigned long ROLE_GRAPHIC = 0x00000028;
const unsigned long ROLE_STATICTEXT = 0x00000029;
const unsigned long ROLE_TEXT = 0x0000002A; // Editable, selectable, etc.
const unsigned long ROLE_PUSHBUTTON = 0x0000002B;
const unsigned long ROLE_CHECKBUTTON = 0x0000002C;
const unsigned long ROLE_RADIOBUTTON = 0x0000002D;
const unsigned long ROLE_COMBOBOX = 0x0000002E;
const unsigned long ROLE_DROPLIST = 0x0000002F;
const unsigned long ROLE_PROGRESSBAR = 0x00000030;
const unsigned long ROLE_DIAL = 0x00000031;
const unsigned long ROLE_HOTKEYFIELD = 0x00000032;
const unsigned long ROLE_SLIDER = 0x00000033;
const unsigned long ROLE_SPINBUTTON = 0x00000034;
const unsigned long ROLE_DIAGRAM = 0x00000035;
const unsigned long ROLE_ANIMATION = 0x00000036;
const unsigned long ROLE_EQUATION = 0x00000037;
const unsigned long ROLE_BUTTONDROPDOWN = 0x00000038;
const unsigned long ROLE_BUTTONMENU = 0x00000039;
const unsigned long ROLE_BUTTONDROPDOWNGRID = 0x0000003A;
const unsigned long ROLE_WHITESPACE = 0x0000003B;
const unsigned long ROLE_PAGETABLIST = 0x0000003C;
const unsigned long ROLE_CLOCK = 0x0000003D;
const unsigned long ROLE_SPLITBUTTON = 0x0000003E; // New in MSAA 2.0
const unsigned long ROLE_IPADDRESS = 0x0000003F; // New in MSAA 2.0
*/
};

View File

@@ -0,0 +1,34 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Mozilla browser.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Original Author: Eric D Vaughan (evaughan@netscape.com)
*
* Contributor(s):
*/
#include "nsISupports.idl"
#include "nsIAccessible.idl"
[scriptable, uuid(BEE49E7D-9D06-49bf-8984-1694C697D74F)]
interface nsIAccessibleEventListener : nsISupports
{
const unsigned long EVENT_FOCUS = 0x8005;
void handleEvent(in unsigned long aEvent, in nsIAccessible aTarget);
};

View File

@@ -0,0 +1,32 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Mozilla browser.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Original Author: Eric D Vaughan (evaughan@netscape.com)
*
* Contributor(s):
*/
#include "nsIAccessibleEventListener.idl"
[scriptable, uuid(AB331E47-4FAA-4a12-9480-9B480DD78B39)]
interface nsIAccessibleEventReceiver : nsISupports
{
void addAccessibleEventListener(in nsIAccessibleEventListener aListener);
void removeAccessibleEventListener(in nsIAccessibleEventListener aListener);
};

View File

@@ -0,0 +1,36 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Mozilla browser.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s): pav
*/
#include "nsIAccessible.idl"
#include "nsIAtom.idl"
[scriptable, uuid(AD3274E5-9DD1-4614-81C8-BFF992869CBE)]
interface nsIMutableAccessible : nsIAccessible
{
void SetNameAsNodeValue();
void SetName(in wstring aName);
void SetNameAsAttribute(in nsIAtom aAtom);
void SetRole(in wstring aRole);
void SetIsLeaf(in boolean aLeaf);
};

View File

@@ -0,0 +1,49 @@
#
# 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 = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = accessibility
LIBRARY_NAME = accessibility_s
REQUIRES = xpcom string layout widget dom view locale gfx2
CPPSRCS = \
nsAccessible.cpp \
nsAccessibilityService.cpp \
nsMutableAccessible.cpp \
nsRootAccessible.cpp \
nsHTMLFormControlAccessible.cpp \
nsHTMLTextAccessible.cpp \
nsSelectAccessible.cpp \
nsGenericAccessible.cpp \
$(NULL)
# we don't want the shared lib, but we want to force the creation of a static lib.
override NO_SHARED_LIB=1
override NO_STATIC_LIB=
include $(topsrcdir)/config/rules.mk

View File

@@ -0,0 +1,252 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#include "nsIAccessibilityService.h"
#include "nsAccessibilityService.h"
#include "nsAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsRootAccessible.h"
#include "nsINameSpaceManager.h"
#include "nsMutableAccessible.h"
#include "nsHTMLFormControlAccessible.h"
#include "nsLayoutAtoms.h"
#include "nsSelectAccessible.h"
#include "nsHTMLTextAccessible.h"
//--------------------
nsAccessibilityService::nsAccessibilityService()
{
NS_INIT_REFCNT();
}
nsAccessibilityService::~nsAccessibilityService()
{
}
NS_IMPL_THREADSAFE_ISUPPORTS1(nsAccessibilityService, nsIAccessibilityService);
////////////////////////////////////////////////////////////////////////////////
// nsIAccessibilityService methods:
NS_IMETHODIMP
nsAccessibilityService::CreateRootAccessible(nsISupports* aPresContext, nsISupports* aFrame, nsIAccessible **_retval)
{
nsIFrame* f = NS_STATIC_CAST(nsIFrame*, aFrame);
nsCOMPtr<nsIPresContext> c = do_QueryInterface(aPresContext);
NS_ASSERTION(c,"Error non prescontext passed to accessible factory!!!");
nsCOMPtr<nsIPresShell> s;
c->GetShell(getter_AddRefs(s));
NS_ASSERTION(s,"Error not presshell!!");
nsCOMPtr<nsIWeakReference> wr = getter_AddRefs(NS_GetWeakReference(s));
*_retval = new nsRootAccessible(wr,f);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP
nsAccessibilityService::CreateMutableAccessible(nsISupports* aNode, nsIMutableAccessible **_retval)
{
*_retval = new nsMutableAccessible(aNode);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLBlockAccessible(nsIAccessible* aAccessible, nsIDOMNode* node, nsISupports* aPresContext, nsIAccessible **_retval)
{
nsCOMPtr<nsIContent> n = do_QueryInterface(node);
NS_ASSERTION(n,"Error non nsIContent passed to accessible factory!!!");
nsCOMPtr<nsIPresContext> c = do_QueryInterface(aPresContext);
NS_ASSERTION(c,"Error non prescontext passed to accessible factory!!!");
nsCOMPtr<nsIPresShell> s;
c->GetShell(getter_AddRefs(s));
NS_ASSERTION(s,"Error not presshell!!");
nsCOMPtr<nsIWeakReference> wr = getter_AddRefs(NS_GetWeakReference(s));
*_retval = new nsHTMLBlockAccessible(aAccessible, n,wr);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLSelectAccessible(nsIAtom* aPopupAtom, nsIDOMNode* node, nsISupports* aPresContext, nsIAccessible **_retval)
{
nsCOMPtr<nsIContent> n = do_QueryInterface(node);
NS_ASSERTION(n,"Error non nsIContent passed to accessible factory!!!");
nsCOMPtr<nsIPresContext> c = do_QueryInterface(aPresContext);
NS_ASSERTION(c,"Error non prescontext passed to accessible factory!!!");
nsCOMPtr<nsIPresShell> s;
c->GetShell(getter_AddRefs(s));
nsCOMPtr<nsIWeakReference> wr = getter_AddRefs(NS_GetWeakReference(s));
*_retval = new nsSelectAccessible(aPopupAtom, nsnull, n, wr);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLCheckboxAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLCheckboxAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
nsresult rv = GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
if (NS_FAILED(rv))
return rv;
*_retval = new nsHTMLCheckboxAccessible(shell,node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLCheckboxAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLRadioButtonAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
*_retval = new nsHTMLRadioButtonAccessible(shell,node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLCheckboxAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLButtonAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
nsresult rv = GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
if (NS_FAILED(rv))
return rv;
*_retval = new nsHTMLButtonAccessible(shell,node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLTextAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLTextAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
nsresult rv = GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
if (NS_FAILED(rv))
return rv;
*_retval = new nsHTMLTextAccessible(shell, node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP nsAccessibilityService::GetInfo(nsISupports* aFrame, nsIFrame** aRealFrame, nsIPresShell** aShell, nsIDOMNode** aNode)
{
*aRealFrame = NS_STATIC_CAST(nsIFrame*, aFrame);
nsCOMPtr<nsIContent> content;
(*aRealFrame)->GetContent(getter_AddRefs(content));
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(content);
*aNode = node;
NS_ADDREF(*aNode);
nsCOMPtr<nsIDocument> document;
content->GetDocument(*getter_AddRefs(document));
#ifdef DEBUG
PRInt32 shells = document->GetNumberOfShells();
NS_ASSERTION(shells > 0,"Error no shells!");
#endif
*aShell = document->GetShellAt(0);
NS_IF_ADDREF(*aShell);
return NS_OK;
}
//////////////////////////////////////////////////////////////////////
nsresult
NS_NewAccessibilityService(nsIAccessibilityService** aResult)
{
NS_PRECONDITION(aResult != nsnull, "null ptr");
if (! aResult)
return NS_ERROR_NULL_POINTER;
nsAccessibilityService* a = new nsAccessibilityService();
if (a == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(a);
*aResult = a;
return NS_OK;
}

View File

@@ -0,0 +1,53 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#ifndef __nsAccessibilityService_h__
#define __nsAccessibilityService_h__
#include "nsIAccessibilityService.h"
class nsIFrame;
class nsIPresShell;
class nsIDOMNode;
class nsAccessibilityService : public nsIAccessibilityService
{
public:
NS_DECL_ISUPPORTS
// nsIAccessibilityService methods:
NS_DECL_NSIACCESSIBILITYSERVICE
// nsAccessibilityService methods:
nsAccessibilityService();
virtual ~nsAccessibilityService();
public:
private:
NS_IMETHOD GetInfo(nsISupports* aFrame, nsIFrame** aRealFrame, nsIPresShell** aShell, nsIDOMNode** aContent);
};
#endif /* __nsIccessibilityService_h__ */

View File

@@ -0,0 +1,995 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#include "nsAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsIScrollableView.h"
#include "nsRootAccessible.h"
//#define DEBUG_LEAKS
#ifdef DEBUG_LEAKS
static gnsAccessibles = 0;
#endif
class nsFrameTreeWalker {
public:
nsFrameTreeWalker(nsIPresContext* aPresContext, nsAccessible* aOwner);
nsIFrame* GetNextSibling(nsIFrame* aFrame);
nsIFrame* GetPreviousSibling(nsIFrame* aFrame);
nsIFrame* GetParent(nsIFrame* aFrame);
nsIFrame* GetFirstChild(nsIFrame* aFrame);
nsIFrame* GetLastChild(nsIFrame* aFrame);
nsIFrame* GetChildBefore(nsIFrame* aParent, nsIFrame* aChild);
PRInt32 GetCount(nsIFrame* aFrame);
static PRBool ShouldSkip(nsIPresContext* aContext, nsIAtom* aList, nsIFrame* aStart, nsIFrame* aNext);
static void GetAccessible(nsIFrame* aFrame, nsCOMPtr<nsIAccessible>& aAccessible, nsCOMPtr<nsIContent>& aContent);
nsCOMPtr<nsIPresContext> mPresContext;
nsCOMPtr<nsIAccessible> mAccessible;
nsCOMPtr<nsIContent> mContent;
nsAccessible* mOwner;
};
nsFrameTreeWalker::nsFrameTreeWalker(nsIPresContext* aPresContext, nsAccessible* aOwner)
{
mPresContext = aPresContext;
mOwner = aOwner;
}
nsIFrame* nsFrameTreeWalker::GetParent(nsIFrame* aFrame)
{
//printf("Get parent\n");
nsIFrame* parent = nsnull;
aFrame->GetParent(&parent);
// if no parent then we hit the root
// just return that top frame
if (!parent) {
mAccessible = nsnull;
mContent = nsnull;
return aFrame;
}
GetAccessible(parent, mAccessible, mContent);
if (mAccessible)
return parent;
return GetParent(parent);
}
nsIFrame* nsFrameTreeWalker::GetNextSibling(nsIFrame* aFrame)
{
//printf("Get next\n");
// get next sibling
nsIFrame* next = nsnull;
aFrame->GetNextSibling(&next);
nsIAtom* list = nsnull;
mOwner->GetListAtomForFrame(aFrame, list);
// skip any frames with the same content node
while(ShouldSkip(mPresContext, list, aFrame, next))
next->GetNextSibling(&next);
// if failed
if (!next)
{
// if parent has content
nsIFrame* parent = nsnull;
aFrame->GetParent(&parent);
// if no parent fail
if (!parent) {
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
}
// fail if we reach a parent that is accessible
GetAccessible(parent, mAccessible, mContent);
if (mAccessible)
{
// fail
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
} else {
// next on parent
nsIFrame* n = GetNextSibling(parent);
if (ShouldSkip(mPresContext, list, aFrame, n))
return GetNextSibling(n);
else
return n;
}
}
// if next has content
GetAccessible(next, mAccessible, mContent);
if (mAccessible)
{
// done
return next;
}
// if next doesn't have node
// call first on next
nsIFrame* first = GetFirstChild(next);
// if found
if (first) {
if (ShouldSkip(mPresContext, list, aFrame, first))
return GetNextSibling(first);
else
return first;
}
// call next on next
nsIFrame* n = GetNextSibling(next);
if (ShouldSkip(mPresContext, list, aFrame, next))
return GetNextSibling(n);
else
return n;
}
nsIFrame* nsFrameTreeWalker::GetFirstChild(nsIFrame* aFrame)
{
//printf("Get first\n");
// get first child
nsIFrame* child = nsnull;
nsIAtom* list = nsnull;
mOwner->GetListAtomForFrame(aFrame, list);
aFrame->FirstChild(mPresContext, list, &child);
while(child)
{
// if first has a content node
GetAccessible(child, mAccessible, mContent);
if (mAccessible)
{
// done
return child;
} else {
// call first on child
nsIFrame* first = GetFirstChild(child);
// if succeeded
if (first)
{
// return child
return first;
}
}
// get next sibling
nsIFrame* next;
child->GetNextSibling(&next);
// skip children with duplicate content nodes
nsIAtom* list = nsnull;
mOwner->GetListAtomForFrame(child, list);
while(ShouldSkip(mPresContext, list, child, next))
next->GetNextSibling(&next);
child = next;
}
// fail
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
}
nsIFrame* nsFrameTreeWalker::GetChildBefore(nsIFrame* aParent, nsIFrame* aChild)
{
nsIFrame* child = GetFirstChild(aParent);
// if the child is not us
if (child == aChild) {
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
}
nsIFrame* prev = child;
nsCOMPtr<nsIContent> prevContent = mContent;
nsCOMPtr<nsIAccessible> prevAccessible = mAccessible;
while(child)
{
child = GetNextSibling(child);
if (child == aChild)
break;
prev = child;
prevContent = mContent;
prevAccessible = mAccessible;
}
mAccessible = prevAccessible;
mContent = prevContent;
return prev;
}
nsIFrame* nsFrameTreeWalker::GetPreviousSibling(nsIFrame* aFrame)
{
//printf("Get previous\n");
nsIFrame* parent = GetParent(aFrame);
return GetChildBefore(parent, aFrame);
}
nsIFrame* nsFrameTreeWalker::GetLastChild(nsIFrame* aFrame)
{
//printf("Get last\n");
return GetChildBefore(aFrame, nsnull);
}
PRInt32 nsFrameTreeWalker::GetCount(nsIFrame* aFrame)
{
//printf("Get count\n");
nsIFrame* child = GetFirstChild(aFrame);
PRInt32 count = 0;
while(child)
{
count++;
child = GetNextSibling(child);
}
return count;
}
void nsFrameTreeWalker::GetAccessible(nsIFrame* aFrame, nsCOMPtr<nsIAccessible>& aAccessible, nsCOMPtr<nsIContent>& aContent)
{
aContent = nsnull;
aAccessible = nsnull;
aFrame->GetContent(getter_AddRefs(aContent));
if (!aContent)
return;
nsCOMPtr<nsIDocument> document;
aContent->GetDocument(*getter_AddRefs(document));
if (!document)
return;
PRInt32 shells = document->GetNumberOfShells();
NS_ASSERTION(shells > 0,"Error no shells!");
nsIPresShell* shell = document->GetShellAt(0);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(aContent, &frame);
if (!frame)
return;
aAccessible = do_QueryInterface(aFrame);
if (!aAccessible)
aAccessible = do_QueryInterface(aContent);
// if (aAccessible)
// printf("Found accessible!\n");
}
PRBool nsFrameTreeWalker::ShouldSkip(nsIPresContext* aContext, nsIAtom* aList, nsIFrame* aStart, nsIFrame* aNext)
{
if (!aStart || !aNext)
return PR_FALSE;
// is content the same? If so skip it
nsCOMPtr<nsIContent> content1;
nsCOMPtr<nsIContent> content2;
aStart->GetContent(getter_AddRefs(content1));
aNext->GetContent(getter_AddRefs(content2));
if (content1 == content2 && content1 != nsnull) {
// does it have childen? It it does then don't skip it
nsIFrame* child = nsnull;
aNext->FirstChild(aContext, aList, &child);
if (child)
return PR_FALSE;
return PR_TRUE;
}
return PR_FALSE;
}
/*
* Class nsAccessible
*/
//-----------------------------------------------------
// construction
//-----------------------------------------------------
nsAccessible::nsAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_INIT_REFCNT();
// get frame and node
mContent = aContent;
mAccessible = aAccessible;
mPresShell = aShell;
#ifdef DEBUG_LEAKS
printf("nsAccessibles=%d\n", ++gnsAccessibles);
#endif
}
//-----------------------------------------------------
// destruction
//-----------------------------------------------------
nsAccessible::~nsAccessible()
{
#ifdef DEBUG_LEAKS
printf("nsAccessibles=%d\n", --gnsAccessibles);
#endif
}
//NS_IMPL_ISUPPORTS2(nsAccessible, nsIAccessible, nsIAccessibleWidgetAccess);
NS_IMPL_ISUPPORTS1(nsAccessible, nsIAccessible);
/* readonly attribute nsIAccessible accParent; */
NS_IMETHODIMP nsAccessible::GetAccParent(nsIAccessible * *aAccParent)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccParent(aAccParent);
if (NS_SUCCEEDED(rv))
return rv;
}
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
// failed? Lets do some default behavior
walker.GetParent(GetFrame());
// if no content or accessible then we hit the root
if (!walker.mContent || !walker.mAccessible)
{
*aAccParent = new nsRootAccessible(mPresShell);
NS_ADDREF(*aAccParent);
return NS_OK;
}
*aAccParent = CreateNewParentAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccParent);
return NS_OK;
}
*aAccParent = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accNextSibling; */
NS_IMETHODIMP nsAccessible::GetAccNextSibling(nsIAccessible * *aAccNextSibling)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccNextSibling(aAccNextSibling);
if (NS_SUCCEEDED(rv))
return rv;
}
// failed? Lets do some default behavior
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* next = walker.GetNextSibling(GetFrame());
if (next && walker.mAccessible && walker.mContent)
{
*aAccNextSibling = CreateNewNextAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccNextSibling);
return NS_OK;
}
}
*aAccNextSibling = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accPreviousSibling; */
NS_IMETHODIMP nsAccessible::GetAccPreviousSibling(nsIAccessible * *aAccPreviousSibling)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccPreviousSibling(aAccPreviousSibling);
if (NS_SUCCEEDED(rv))
return rv;
}
// failed? Lets do some default behavior
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* prev = walker.GetPreviousSibling(GetFrame());
if (prev && walker.mAccessible && walker.mContent)
{
*aAccPreviousSibling = CreateNewPreviousAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccPreviousSibling);
return NS_OK;
}
}
*aAccPreviousSibling = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accFirstChild; */
NS_IMETHODIMP nsAccessible::GetAccFirstChild(nsIAccessible * *aAccFirstChild)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccFirstChild(aAccFirstChild);
if (NS_SUCCEEDED(rv))
return rv;
}
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* child = walker.GetFirstChild(GetFrame());
if (child && walker.mAccessible && walker.mContent)
{
*aAccFirstChild = CreateNewFirstAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccFirstChild);
return NS_OK;
}
}
*aAccFirstChild = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accFirstChild; */
NS_IMETHODIMP nsAccessible::GetAccLastChild(nsIAccessible * *aAccLastChild)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccLastChild(aAccLastChild);
if (NS_SUCCEEDED(rv))
return rv;
}
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* last = walker.GetLastChild(GetFrame());
if (last && walker.mAccessible && walker.mContent)
{
*aAccLastChild = CreateNewLastAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccLastChild);
return NS_OK;
}
}
*aAccLastChild = nsnull;
return NS_OK;
}
/* readonly attribute long accChildCount; */
NS_IMETHODIMP nsAccessible::GetAccChildCount(PRInt32 *aAccChildCount)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccChildCount(aAccChildCount);
if (NS_SUCCEEDED(rv))
return rv;
}
// failed? Lets do some default behavior
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
*aAccChildCount = walker.GetCount(GetFrame());
} else
*aAccChildCount = 0;
return NS_OK;
}
/* attribute wstring accName; */
NS_IMETHODIMP nsAccessible::GetAccName(PRUnichar * *aAccName)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccName(aAccName);
if (NS_SUCCEEDED(rv) && *aAccName != nsnull)
return rv;
}
*aAccName = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
/* attribute wstring accName; */
NS_IMETHODIMP nsAccessible::GetAccDefaultAction(PRUnichar * *aDefaultAction)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccDefaultAction(aDefaultAction);
if (NS_SUCCEEDED(rv) && *aDefaultAction != nsnull)
return rv;
}
*aDefaultAction = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::SetAccName(const PRUnichar * aAccName)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->SetAccName(aAccName);
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
/* attribute wstring accValue; */
NS_IMETHODIMP nsAccessible::GetAccValue(PRUnichar * *aAccValue)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccValue(aAccValue);
if (NS_SUCCEEDED(rv) && *aAccValue != nsnull)
return rv;
}
*aAccValue = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::SetAccValue(const PRUnichar * aAccValue) { return NS_ERROR_NOT_IMPLEMENTED; }
/* readonly attribute wstring accDescription; */
NS_IMETHODIMP nsAccessible::GetAccDescription(PRUnichar * *aAccDescription)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccDescription(aAccDescription);
if (NS_SUCCEEDED(rv) && *aAccDescription != nsnull)
return rv;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute wstring accRole; */
NS_IMETHODIMP nsAccessible::GetAccRole(PRUnichar * *aAccRole)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccRole(aAccRole);
if (NS_SUCCEEDED(rv) && *aAccRole != nsnull)
return rv;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute wstring accState; */
NS_IMETHODIMP nsAccessible::GetAccState(PRUint32 *aAccState)
{
// delegate
if (mAccessible)
return mAccessible->GetAccState(aAccState);
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::GetAccExtState(PRUint32 *aAccExtState)
{
// delegate
if (mAccessible)
return mAccessible->GetAccExtState(aAccExtState);
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute wstring accHelp; */
NS_IMETHODIMP nsAccessible::GetAccHelp(PRUnichar * *aAccHelp)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccHelp(aAccHelp);
if (NS_SUCCEEDED(rv) && *aAccHelp != nsnull)
return rv;
}
// failed? Lets do some default behavior
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute boolean accFocused; */
NS_IMETHODIMP nsAccessible::GetAccFocused(PRBool *aAccFocused) { return NS_OK; }
/* nsIAccessible accGetChildAt (in long x, in long y); */
NS_IMETHODIMP nsAccessible::AccGetAt(PRInt32 tx, PRInt32 ty, nsIAccessible **_retval)
{
PRInt32 x,y,w,h;
AccGetBounds(&x,&y,&w,&h);
if (tx > x && tx < x + w && ty > y && ty < y + h)
{
nsCOMPtr<nsIAccessible> child;
nsCOMPtr<nsIAccessible> next;
GetAccFirstChild(getter_AddRefs(child));
PRInt32 cx,cy,cw,ch;
while(child) {
child->AccGetBounds(&cx,&cy,&cw,&ch);
if (tx > cx && tx < cx + cw && ty > cy && ty < cy + ch)
{
*_retval = child;
NS_ADDREF(*_retval);
return NS_OK;
}
child->GetAccNextSibling(getter_AddRefs(next));
child = next;
}
*_retval = this;
NS_ADDREF(this);
return NS_OK;
}
*_retval = nsnull;
return NS_OK;
}
/* void accNavigateRight (); */
NS_IMETHODIMP nsAccessible::AccNavigateRight(nsIAccessible **_retval) { return NS_OK; }
/* void navigateLeft (); */
NS_IMETHODIMP nsAccessible::AccNavigateLeft(nsIAccessible **_retval) { return NS_OK; }
/* void navigateUp (); */
NS_IMETHODIMP nsAccessible::AccNavigateUp(nsIAccessible **_retval) { return NS_OK; }
/* void navigateDown (); */
NS_IMETHODIMP nsAccessible::AccNavigateDown(nsIAccessible **_retval) { return NS_OK; }
/* void addSelection (); */
NS_IMETHODIMP nsAccessible::AccAddSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccAddSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void removeSelection (); */
NS_IMETHODIMP nsAccessible::AccRemoveSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccRemoveSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void extendSelection (); */
NS_IMETHODIMP nsAccessible::AccExtendSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccExtendSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void takeSelection (); */
NS_IMETHODIMP nsAccessible::AccTakeSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccTakeSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void takeFocus (); */
NS_IMETHODIMP nsAccessible::AccTakeFocus(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccTakeFocus();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void doDefaultAction (); */
NS_IMETHODIMP nsAccessible::AccDoDefaultAction(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccDoDefaultAction();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void accGetBounds (out long x, out long y, out long width, out long height); */
NS_IMETHODIMP nsAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
nsIFrame* frame = GetBoundsFrame();
if (!frame || !context)
{
*x = *y = *width = *height = 0;
return NS_OK;
}
// sum up all rects of frames with the same content node
nsRect r;
nsIFrame* start = frame;
nsIFrame* next = nsnull;
start->GetNextSibling(&next);
start->GetRect(r);
while (nsFrameTreeWalker::ShouldSkip(context,nsnull, start, next))
{
nsRect r2;
next->GetRect(r2);
r.UnionRect(r,r2);
next->GetNextSibling(&next);
}
nsPoint offset(r.x,r.y);
frame->GetParent(&frame);
nsPoint pos(0,0);
while(frame) {
nsIScrollableView* scrollingView;
nsIView* view;
// XXX hack
frame->GetView(context, &view);
if (view) {
nsresult result = view->QueryInterface(NS_GET_IID(nsIScrollableView), (void**)&scrollingView);
if (NS_SUCCEEDED(result)) {
nscoord xoff = 0;
nscoord yoff = 0;
scrollingView->GetScrollPosition(xoff, yoff);
offset.x -= xoff;
offset.y -= yoff;
}
}
frame->GetOrigin(pos);
offset += pos;
frame->GetParent(&frame);
}
float t2p;
context->GetTwipsToPixels(&t2p);
*x = (PRInt32)(offset.x*t2p);
*y = (PRInt32)(offset.y*t2p);
*width = (PRInt32)(r.width*t2p);
*height = (PRInt32)(r.height*t2p);
return NS_OK;
}
// helpers
nsIFrame* nsAccessible::GetBoundsFrame()
{
return GetFrame();
}
nsIFrame* nsAccessible::GetFrame()
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(mContent, &frame);
return frame;
}
void nsAccessible::GetPresContext(nsCOMPtr<nsIPresContext>& aContext)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
if (shell) {
shell->GetPresContext(getter_AddRefs(aContext));
} else
aContext = nsnull;
}
nsIAccessible* nsAccessible::CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewParentAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsAccessible(aAccessible, aContent, aShell);
}
// ------- nsHTMLBlockAccessible ------
nsHTMLBlockAccessible::nsHTMLBlockAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell):nsAccessible(aAccessible, aContent, aShell)
{
}
nsIAccessible* nsHTMLBlockAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsHTMLBlockAccessible(aAccessible, aContent, aShell);
}
/* nsIAccessible accGetAt (in long x, in long y); */
NS_IMETHODIMP nsHTMLBlockAccessible::AccGetAt(PRInt32 tx, PRInt32 ty, nsIAccessible **_retval)
{
PRInt32 x,y,w,h;
AccGetBounds(&x,&y,&w,&h);
if (tx > x && tx < x + w && ty > y && ty < y + h)
{
nsCOMPtr<nsIAccessible> child;
nsCOMPtr<nsIAccessible> smallestChild;
PRInt32 smallestArea = -1;
nsCOMPtr<nsIAccessible> next;
GetAccFirstChild(getter_AddRefs(child));
PRInt32 cx,cy,cw,ch;
while(child) {
child->AccGetBounds(&cx,&cy,&cw,&ch);
// ok if there are multiple frames the contain the point
// and they overlap then pick the smallest. We need to do this
// for text frames.
if (tx > cx && tx < cx + cw && ty > cy && ty < cy + ch)
{
if (smallestArea == -1 || cw*ch < smallestArea) {
smallestArea = cw*ch;
smallestChild = child;
}
}
child->GetAccNextSibling(getter_AddRefs(next));
child = next;
}
if (smallestChild != nsnull)
{
*_retval = smallestChild;
NS_ADDREF(*_retval);
return NS_OK;
}
*_retval = this;
NS_ADDREF(this);
return NS_OK;
}
*_retval = nsnull;
return NS_OK;
}

View File

@@ -0,0 +1,79 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsAccessible_H_
#define _nsAccessible_H_
#include "nsISupports.h"
#include "nsIAccessible.h"
#include "nsCOMPtr.h"
#include "nsIContent.h"
#include "nsIDOMNode.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsWeakReference.h"
class nsIFrame;
class nsAccessible : public nsIAccessible
// public nsIAccessibleWidgetAccess
{
NS_DECL_ISUPPORTS
// nsIAccessibilityService methods:
NS_DECL_NSIACCESSIBLE
//NS_IMETHOD AccGetWidget(nsIWidget**);
public:
nsAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsAccessible();
virtual void GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList) { aList = nsnull; }
protected:
virtual nsIFrame* GetFrame();
virtual nsIFrame* GetBoundsFrame();
virtual void GetPresContext(nsCOMPtr<nsIPresContext>& aContext);
virtual nsIAccessible* CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewParentAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIContent> mContent;
nsCOMPtr<nsIWeakReference> mPresShell;
nsCOMPtr<nsIAccessible> mAccessible;
};
/* Special Accessible that knows how to handle hit detection for flowing text */
class nsHTMLBlockAccessible : public nsAccessible
{
public:
nsHTMLBlockAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
NS_IMETHOD AccGetAt(PRInt32 x, PRInt32 y, nsIAccessible **_retval);
protected:
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aFrame, nsIWeakReference* aShell);
};
#endif

View File

@@ -0,0 +1,335 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#include "nsGenericAccessible.h"
#include "nsIEventStateManager.h"
#include "nsIFrame.h"
#include "nsCOMPtr.h"
#include "nsIWeakReference.h"
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsGenericAccessible, nsIAccessible)
nsGenericAccessible::nsGenericAccessible()
{
NS_INIT_ISUPPORTS();
/* member initializers and constructor code */
}
nsGenericAccessible::~nsGenericAccessible()
{
/* destructor code */
}
/* nsIAccessible getAccParent (); */
NS_IMETHODIMP nsGenericAccessible::GetAccParent(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccNextSibling (); */
NS_IMETHODIMP nsGenericAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccPreviousSibling (); */
NS_IMETHODIMP nsGenericAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccFirstChild (); */
NS_IMETHODIMP nsGenericAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccLastChild (); */
NS_IMETHODIMP nsGenericAccessible::GetAccLastChild(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* long getAccChildCount (); */
NS_IMETHODIMP nsGenericAccessible::GetAccChildCount(PRInt32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccName (); */
NS_IMETHODIMP nsGenericAccessible::GetAccName(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccValue (); */
NS_IMETHODIMP nsGenericAccessible::GetAccValue(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void setAccName (in wstring name); */
NS_IMETHODIMP nsGenericAccessible::SetAccName(const PRUnichar *name)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void setAccValue (in wstring value); */
NS_IMETHODIMP nsGenericAccessible::SetAccValue(const PRUnichar *value)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccDescription (); */
NS_IMETHODIMP nsGenericAccessible::GetAccDescription(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsGenericAccessible::GetAccRole(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccState (); */
NS_IMETHODIMP nsGenericAccessible::GetAccState(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsGenericAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccHelp (); */
NS_IMETHODIMP nsGenericAccessible::GetAccHelp(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* boolean getAccFocused (); */
NS_IMETHODIMP nsGenericAccessible::GetAccFocused(PRBool *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accGetAt (in long x, in long y); */
NS_IMETHODIMP nsGenericAccessible::AccGetAt(PRInt32 x, PRInt32 y, nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateRight (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateRight(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateLeft (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateLeft(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateUp (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateUp(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateDown (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateDown(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accGetBounds (out long x, out long y, out long width, out long height); */
NS_IMETHODIMP nsGenericAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accAddSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccAddSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accRemoveSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccRemoveSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accExtendSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccExtendSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accTakeSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccTakeSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accTakeFocus (); */
NS_IMETHODIMP nsGenericAccessible::AccTakeFocus()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accDoDefaultAction (); */
NS_IMETHODIMP nsGenericAccessible::AccDoDefaultAction()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* unsigned long getAccExtState (); */
NS_IMETHODIMP nsGenericAccessible::GetAccExtState(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
//-------------
// nsDOMAccessible
//-------------
nsDOMAccessible::nsDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode)
{
mPresShell = getter_AddRefs(NS_GetWeakReference(aShell));
mNode = aNode;
}
/* void accRemoveSelection (); */
NS_IMETHODIMP nsDOMAccessible::AccRemoveSelection()
{
nsCOMPtr<nsISelectionController> control = do_QueryReferent(mPresShell);
nsCOMPtr<nsISelection> selection;
nsresult rv = control->GetSelection(nsISelectionController::SELECTION_NORMAL, getter_AddRefs(selection));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsIDOMNode> parent;
rv = mNode->GetParentNode(getter_AddRefs(parent));
if (NS_FAILED(rv))
return rv;
rv = selection->Collapse(parent, 0);
if (NS_FAILED(rv))
return rv;
return NS_OK;
}
/* void accTakeSelection (); */
NS_IMETHODIMP nsDOMAccessible::AccTakeSelection()
{
nsCOMPtr<nsISelectionController> control = do_QueryReferent(mPresShell);
nsCOMPtr<nsISelection> selection;
nsresult rv = control->GetSelection(nsISelectionController::SELECTION_NORMAL, getter_AddRefs(selection));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsIDOMNode> parent;
rv = mNode->GetParentNode(getter_AddRefs(parent));
if (NS_FAILED(rv))
return rv;
PRInt32 offsetInParent = 0;
nsCOMPtr<nsIDOMNode> child;
rv = parent->GetFirstChild(getter_AddRefs(child));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsIDOMNode> next;
while(child)
{
if (child == mNode) {
// Collapse selection to just before desired element,
rv = selection->Collapse(parent, offsetInParent);
if (NS_FAILED(rv))
return rv;
// then extend it to just after
rv = selection->Extend(parent, offsetInParent+1);
return rv;
}
child->GetNextSibling(getter_AddRefs(next));
child = next;
offsetInParent++;
}
// didn't find a child
return NS_ERROR_FAILURE;
}
/* void accTakeFocus (); */
NS_IMETHODIMP nsDOMAccessible::AccTakeFocus()
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsCOMPtr<nsIPresContext> context;
shell->GetPresContext(getter_AddRefs(context));
nsCOMPtr<nsIContent> content = do_QueryInterface(mNode);
content->SetFocus(context);
return NS_OK;
}
//-------------
// nsLeafFrameAccessible
//-------------
nsLeafDOMAccessible::nsLeafDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsDOMAccessible(aShell, aNode)
{
}
/* nsIAccessible getAccFirstChild (); */
NS_IMETHODIMP nsLeafDOMAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
/* nsIAccessible getAccLastChild (); */
NS_IMETHODIMP nsLeafDOMAccessible::GetAccLastChild(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
/* long getAccChildCount (); */
NS_IMETHODIMP nsLeafDOMAccessible::GetAccChildCount(PRInt32 *_retval)
{
*_retval = 0;
return NS_OK;
}

View File

@@ -0,0 +1,84 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric D Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#ifndef _nsGenericAccessible_H_
#define _nsGenericAccessible_H_
#include "nsISupports.h"
#include "nsIAccessible.h"
#include "nsIContent.h"
#include "nsIDOMNode.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsCOMPtr.h"
class nsIWeakReference;
/**
* Basic implementation
* supports nothing
*/
class nsGenericAccessible : public nsIAccessible
{
NS_DECL_ISUPPORTS
NS_DECL_NSIACCESSIBLE
public:
nsGenericAccessible();
virtual ~nsGenericAccessible();
};
/**
* And accessible that observes a dom node
* supports:
* - selection
* - focus
*/
class nsDOMAccessible : public nsGenericAccessible
{
public:
nsDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD AccTakeSelection(void);
NS_IMETHOD AccTakeFocus(void);
NS_IMETHOD AccRemoveSelection(void);
protected:
nsIWeakReference* mPresShell;
nsCOMPtr<nsIDOMNode> mNode;
};
/* Leaf version of DOM Accessible
* has no children
*/
class nsLeafDOMAccessible : public nsDOMAccessible
{
public:
nsLeafDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccFirstChild(nsIAccessible **_retval);
NS_IMETHOD GetAccLastChild(nsIAccessible **_retval);
NS_IMETHOD GetAccChildCount(PRInt32 *_retval);
};
#endif

View File

@@ -0,0 +1,199 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#include "nsRootAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsIDOMEventTarget.h"
#include "nsIDOMElement.h"
#include "nsIDOMEventReceiver.h"
#include "nsReadableUtils.h"
NS_INTERFACE_MAP_BEGIN(nsRootAccessible)
NS_INTERFACE_MAP_ENTRY(nsIAccessibleEventReceiver)
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAccessibleEventReceiver)
NS_INTERFACE_MAP_END_INHERITING(nsAccessible)
NS_IMPL_ADDREF_INHERITED(nsRootAccessible, nsAccessible);
NS_IMPL_RELEASE_INHERITED(nsRootAccessible, nsAccessible);
//-----------------------------------------------------
// construction
//-----------------------------------------------------
nsRootAccessible::nsRootAccessible(nsIWeakReference* aShell, nsIFrame* aFrame):nsAccessible(nsnull,nsnull,aShell)
{
// mFrame = aFrame;
mListener = nsnull;
}
//-----------------------------------------------------
// destruction
//-----------------------------------------------------
nsRootAccessible::~nsRootAccessible()
{
RemoveAccessibleEventListener(mListener);
}
/* attribute wstring accName; */
NS_IMETHODIMP nsRootAccessible::GetAccName(PRUnichar * *aAccName)
{
*aAccName = ToNewUnicode(NS_LITERAL_STRING("Mozilla Document"));
return NS_OK;
}
// helpers
nsIFrame* nsRootAccessible::GetFrame()
{
//if (!mFrame) {
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* root = nsnull;
if (shell)
shell->GetRootFrame(&root);
return root;
//}
// return mFrame;
}
nsIAccessible* nsRootAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return new nsHTMLBlockAccessible(aAccessible, aContent, aShell);
}
/* readonly attribute nsIAccessible accParent; */
NS_IMETHODIMP nsRootAccessible::GetAccParent(nsIAccessible * *aAccParent)
{
*aAccParent = nsnull;
return NS_OK;
}
/* readonly attribute wstring accRole; */
NS_IMETHODIMP nsRootAccessible::GetAccRole(PRUnichar * *aAccRole)
{
*aAccRole = ToNewUnicode(NS_LITERAL_STRING("client"));
return NS_OK;
}
/* void addAccessibleEventListener (in nsIAccessibleEventListener aListener); */
NS_IMETHODIMP nsRootAccessible::AddAccessibleEventListener(nsIAccessibleEventListener *aListener)
{
if (!mListener)
{
// add an event listener to the document
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsCOMPtr<nsIDocument> document;
shell->GetDocument(getter_AddRefs(document));
nsCOMPtr<nsIDOMEventReceiver> receiver;
if (NS_SUCCEEDED(document->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(receiver))) && receiver)
{
nsresult rv = receiver->AddEventListenerByIID(NS_STATIC_CAST(nsIDOMFocusListener *, this), NS_GET_IID(nsIDOMFocusListener));
NS_ASSERTION(NS_SUCCEEDED(rv), "failed to register listener");
}
}
// create a weak reference to the listener
mListener = aListener;
return NS_OK;
}
/* void removeAccessibleEventListener (in nsIAccessibleEventListener aListener); */
NS_IMETHODIMP nsRootAccessible::RemoveAccessibleEventListener(nsIAccessibleEventListener *aListener)
{
if (mListener)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsCOMPtr<nsIDocument> document;
if (!shell)
return NS_OK;
shell->GetDocument(getter_AddRefs(document));
nsCOMPtr<nsIDOMEventReceiver> erP;
if (NS_SUCCEEDED(document->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(erP))) && erP)
{
nsresult rv = erP->RemoveEventListenerByIID(NS_STATIC_CAST(nsIDOMFocusListener *, this), NS_GET_IID(nsIDOMFocusListener));
NS_ASSERTION(NS_SUCCEEDED(rv), "failed to register listener");
}
}
mListener = nsnull;
return NS_OK;
}
nsresult nsRootAccessible::HandleEvent(nsIDOMEvent* aEvent)
{
if (mListener) {
nsCOMPtr<nsIDOMEventTarget> t;
aEvent->GetOriginalTarget(getter_AddRefs(t));
// create and accessible for the target
nsCOMPtr<nsIContent> content = do_QueryInterface(t);
if (!content)
return NS_OK;
if (mCurrentFocus == content)
return NS_OK;
mCurrentFocus = content;
nsIFrame* frame = nsnull;
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
shell->GetPrimaryFrameFor(content, &frame);
if (!frame)
return NS_OK;
nsCOMPtr<nsIAccessible> a = do_QueryInterface(frame);
if (!a)
a = do_QueryInterface(content);
nsCOMPtr<nsIAccessible> na = CreateNewAccessible(a, content, mPresShell);
mListener->HandleEvent(nsIAccessibleEventListener::EVENT_FOCUS, na);
}
return NS_OK;
}
nsresult nsRootAccessible::Focus(nsIDOMEvent* aEvent)
{
return NS_OK;
}
nsresult nsRootAccessible::Blur(nsIDOMEvent* aEvent)
{
return NS_OK;
}

View File

@@ -0,0 +1,70 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsRootAccessible_H_
#define _nsRootAccessible_H_
#include "nsAccessible.h"
#include "nsIAccessibleEventReceiver.h"
#include "nsIAccessibleEventListener.h"
#include "nsIDOMFocusListener.h"
class nsRootAccessible : public nsAccessible,
public nsIAccessibleEventReceiver,
public nsIDOMFocusListener
{
NS_DECL_ISUPPORTS_INHERITED
public:
nsRootAccessible(nsIWeakReference* aShell, nsIFrame* aFrame = nsnull);
virtual ~nsRootAccessible();
/* attribute wstring accName; */
NS_IMETHOD GetAccName(PRUnichar * *aAccName);
NS_IMETHOD GetAccParent(nsIAccessible * *aAccParent);
NS_IMETHOD GetAccRole(PRUnichar * *aAccRole);
// ----- nsIAccessibleEventReceiver ------
NS_IMETHOD AddAccessibleEventListener(nsIAccessibleEventListener *aListener);
NS_IMETHOD RemoveAccessibleEventListener(nsIAccessibleEventListener *aListener);
// ----- nsIDOMEventListener --------
virtual nsresult HandleEvent(nsIDOMEvent* anEvent);
virtual nsresult Focus(nsIDOMEvent* aEvent);
virtual nsresult Blur(nsIDOMEvent* aEvent);
protected:
virtual nsIFrame* GetFrame();
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
// not a com pointer. We don't own the listener
// it is the callers responsibility to remove the listener
// otherwise we will get into circular referencing problems
nsIAccessibleEventListener* mListener;
nsCOMPtr<nsIContent> mCurrentFocus;
};
#endif

View File

@@ -0,0 +1,717 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#include "nsSelectAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsRootAccessible.h"
#include "nsINameSpaceManager.h"
#include "nsMutableAccessible.h"
#include "nsLayoutAtoms.h"
#include "nsIDOMMenuListener.h"
#include "nsIDOMEventReceiver.h"
#include "nsReadableUtils.h"
class nsSelectChildAccessible : public nsAccessible,
public nsIDOMMenuListener
{
public:
NS_DECL_ISUPPORTS_INHERITED
nsSelectChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsSelectChildAccessible();
NS_IMETHOD GetAccNextSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccValue(PRUnichar **_retval);
virtual nsIAccessible* CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
// popup listener
NS_IMETHOD Create(nsIDOMEvent* aEvent);
NS_IMETHOD Close(nsIDOMEvent* aEvent);
NS_IMETHOD Destroy(nsIDOMEvent* aEvent);
NS_IMETHOD Action(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD Broadcast(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD CommandUpdate(nsIDOMEvent* aEvent) { return NS_OK; }
nsresult HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
nsCOMPtr<nsIAtom> mPopupAtom;
nsCOMPtr<nsIContent> mSelectContent;
PRBool mRegistered;
PRBool mOpen;
};
NS_IMPL_ISUPPORTS_INHERITED(nsSelectChildAccessible, nsAccessible, nsIDOMMenuListener)
class nsSelectWindowAccessible : public nsAccessible,
public nsIDOMMenuListener
{
public:
NS_DECL_ISUPPORTS_INHERITED
nsSelectWindowAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aPrev, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsSelectWindowAccessible();
NS_IMETHOD GetAccParent(nsIAccessible **_retval);
NS_IMETHOD GetAccNextSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccPreviousSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccLastChild(nsIAccessible **_retval);
NS_IMETHOD GetAccFirstChild(nsIAccessible **_retval);
NS_IMETHOD GetAccChildCount(PRInt32 *_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccState(PRUint32 *_retval);
NS_IMETHOD GetAccExtState(PRUint32 *_retval);
// popup listener
NS_IMETHOD Create(nsIDOMEvent* aEvent);
NS_IMETHOD Close(nsIDOMEvent* aEvent);
NS_IMETHOD Destroy(nsIDOMEvent* aEvent);
NS_IMETHOD Action(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD Broadcast(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD CommandUpdate(nsIDOMEvent* aEvent) { return NS_OK; }
nsresult HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
// helpers
virtual nsIFrame* GetBoundsFrame();
nsCOMPtr<nsIAccessible> mParent;
nsCOMPtr<nsIAccessible> mPrev;
nsCOMPtr<nsIAtom> mPopupAtom;
PRBool mRegistered;
PRBool mOpen;
};
NS_IMPL_ISUPPORTS_INHERITED(nsSelectWindowAccessible, nsAccessible, nsIDOMMenuListener)
class nsSelectListAccessible : public nsAccessible
{
public:
nsSelectListAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsSelectListAccessible() {}
NS_IMETHOD GetAccParent(nsIAccessible **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccNextSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccPreviousSibling(nsIAccessible **_retval);
NS_IMETHOD AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height);
virtual void GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList);
virtual nsIAccessible* CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIAtom> mPopupAtom;
nsCOMPtr<nsIAccessible> mParent;
};
class nsListChildAccessible : public nsAccessible
{
public:
nsListChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsListChildAccessible() {}
NS_IMETHOD GetAccParent(nsIAccessible **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
virtual void GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList);
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIAccessible> mParent;
nsCOMPtr<nsIAtom> mPopupAtom;
nsCOMPtr<nsIContent> mSelectContent;
};
//---------
nsSelectAccessible::nsSelectAccessible(nsIAtom* aPopupAtom,
nsIAccessible* aAccessible,
nsIContent* aContent,
nsIWeakReference* aShell)
:nsAccessible(aAccessible, aContent, aShell)
{
mPopupAtom = aPopupAtom;
}
NS_IMETHODIMP nsSelectAccessible::GetAccValue(PRUnichar **_retval)
{
// our value is our first child's value. Which is the combo boxes text.
nsCOMPtr<nsIAccessible> text;
nsresult rv = GetAccFirstChild(getter_AddRefs(text));
if (NS_FAILED(rv)) {
*_retval = nsnull;
return rv;
}
if (!text) {
*_retval = nsnull;
return NS_ERROR_FAILURE;
}
// look at our role
return text->GetAccValue(_retval);
}
NS_IMETHODIMP nsSelectAccessible::GetAccName(PRUnichar **_retval)
{
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("combo box"));
return NS_OK;
}
NS_IMETHODIMP nsSelectAccessible::GetAccLastChild(nsIAccessible **_retval)
{
// get the last child. Wrap it with a connector that connects it to the window accessible
nsCOMPtr<nsIAccessible> last;
nsresult rv = nsAccessible::GetAccLastChild(getter_AddRefs(last));
if (NS_FAILED(rv))
return rv;
if (!last) {
// we have a parent but not previous
*_retval = new nsSelectWindowAccessible(mPopupAtom, this, nsnull, nsnull, mContent, mPresShell);
} else {
*_retval = last;
}
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
// get the last child. Wrap it with a connector that connects it to the window accessible
nsCOMPtr<nsIAccessible> first;
nsresult rv = nsAccessible::GetAccFirstChild(getter_AddRefs(first));
if (NS_FAILED(rv))
return rv;
if (!first) {
*_retval = new nsSelectWindowAccessible(mPopupAtom, this, nsnull, nsnull, mContent, mPresShell);
} else {
*_retval = first;
}
NS_ADDREF(*_retval);
return NS_OK;
}
nsIAccessible* nsSelectAccessible::CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewLastAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsSelectAccessible::CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsSelectChildAccessible(mPopupAtom, mContent, aAccessible, aContent, aShell);
}
NS_IMETHODIMP nsSelectAccessible::GetAccChildCount(PRInt32 *_retval)
{
nsresult rv = nsAccessible::GetAccChildCount(_retval);
if (NS_FAILED(rv))
return rv;
// always have one more that is our window child
(*_retval)++;
return NS_OK;
}
//--------------------
nsSelectChildAccessible::nsSelectChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell):
nsAccessible(aAccessible, aContent, aShell)
{
mPopupAtom = aPopupAtom;
mSelectContent = aSelectContent;
mRegistered = PR_FALSE;
mOpen = PR_FALSE;
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccValue(PRUnichar **_retval)
{
nsresult rv = NS_OK;
PRUnichar* string = nsnull;
// look at our role
rv = nsAccessible::GetAccRole(&string);
if (NS_FAILED(rv)) {
*_retval = nsnull;
return rv;
}
nsAutoString role(string);
// if its the text in the combo box then
// its value should be its name.
if (role.EqualsIgnoreCase("text")) {
rv = nsAccessible::GetAccName(_retval);
} else {
rv = nsAccessible::GetAccValue(_retval);
}
delete string;
return rv;
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccRole(PRUnichar **_retval)
{
nsresult rv = NS_OK;
PRUnichar* string = nsnull;
// look at our role
rv = nsAccessible::GetAccRole(&string);
if (NS_FAILED(rv)) {
*_retval = nsnull;
return rv;
}
nsAutoString role(string);
// any text in the combo box is static
if (role.EqualsIgnoreCase("text")) {
// if it the comboboxes text. Make it static
*_retval = ToNewUnicode(NS_LITERAL_STRING("static text"));
} else {
rv = nsAccessible::GetAccRole(_retval);
}
delete string;
return rv;
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccName(PRUnichar **_retval)
{
nsresult rv = NS_OK;
PRUnichar* string = nsnull;
// look at our role
nsAccessible::GetAccRole(&string);
nsAutoString role(string);
// if button then we need to make the name be open or close
if (role.EqualsIgnoreCase("push button"))
{
// if its a button and not already registered,
// register ourselves as a popup listener
if (!mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mSelectContent);
if (!eventReceiver) {
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
eventReceiver->AddEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
mRegistered = PR_TRUE;
}
// get the current state open or closed
// set _retval to it.
// notice its supposed to be reversed. Close if opened
// and Open if closed.
if (mOpen)
*_retval = ToNewUnicode(NS_LITERAL_STRING("Close"));
else
*_retval = ToNewUnicode(NS_LITERAL_STRING("Open"));
} else {
/*rv = nsAccessible::GetAccName(_retval);*/
rv = NS_ERROR_NOT_IMPLEMENTED;
*_retval = nsnull;
}
delete string;
return rv;
}
nsSelectChildAccessible::~nsSelectChildAccessible()
{
if (mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mSelectContent);
if (eventReceiver)
eventReceiver->RemoveEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
}
}
NS_IMETHODIMP nsSelectChildAccessible::Create(nsIDOMEvent* aEvent)
{
mOpen = PR_TRUE;
printf("Open\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectChildAccessible::Destroy(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectChildAccessible::Close(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
nsIAccessible* nsSelectChildAccessible::CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewPreviousAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsSelectChildAccessible::CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsSelectChildAccessible(mPopupAtom, mSelectContent, aAccessible, aContent, aShell);
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
nsCOMPtr<nsIAccessible> next;
nsresult rv = nsAccessible::GetAccNextSibling(getter_AddRefs(next));
if (NS_FAILED(rv))
return rv;
if (!next) {
// ok no more siblings. Lets create our window
nsCOMPtr<nsIAccessible> parent;
GetAccParent(getter_AddRefs(parent));
*_retval = new nsSelectWindowAccessible(mPopupAtom, parent, nsnull, nsnull, mSelectContent, mPresShell);
} else {
*_retval = next;
}
NS_ADDREF(*_retval);
return NS_OK;
}
//---------------------
nsSelectWindowAccessible::nsSelectWindowAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aPrev, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
:nsAccessible(aAccessible, aContent, aShell)
{
mParent = aParent;
mPrev = aPrev;
mPopupAtom = aPopupAtom;
mRegistered = PR_FALSE;
mOpen = PR_FALSE;
}
nsSelectWindowAccessible::~nsSelectWindowAccessible()
{
if (mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mContent);
if (eventReceiver)
eventReceiver->RemoveEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
}
}
NS_IMETHODIMP nsSelectWindowAccessible::Create(nsIDOMEvent* aEvent)
{
mOpen = PR_TRUE;
printf("Open\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::Destroy(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::Close(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccState(PRUint32 *_retval)
{
// not not already one register ourselves as a popup listener
if (!mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mContent);
if (!eventReceiver) {
*_retval = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
nsresult rv = eventReceiver->AddEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
if (NS_FAILED(rv)) {
*_retval = 0;
return rv;
}
mRegistered = PR_TRUE;
}
// if open we are visible if closed we are invisible
// set _retval to it.
if (mOpen)
*_retval |= STATE_DEFAULT;
else
*_retval |= STATE_INVISIBLE;
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccExtState(PRUint32 *_retval)
{
*_retval=0;
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccName(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("window"));
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccParent(nsIAccessible **_retval)
{
*_retval = mParent;
NS_IF_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
*_retval = mPrev;
NS_IF_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccLastChild(nsIAccessible **_retval)
{
*_retval = new nsSelectListAccessible(mPopupAtom, this, nsnull, mContent, mPresShell);
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
*_retval = new nsSelectListAccessible(mPopupAtom, this, nsnull, mContent, mPresShell);
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccChildCount(PRInt32 *_retval)
{
*_retval = 1;
return NS_OK;
}
/*
NS_IMETHODIMP nsSelectWindowAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
*x = *y = *width = *height = 0;
return NS_OK;
}
*/
nsIFrame* nsSelectWindowAccessible::GetBoundsFrame()
{
// get our frame
nsIFrame* frame = GetFrame();
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
// get its first popup child that should be the window
frame->FirstChild(context, mPopupAtom, &frame);
return frame;
}
//----------
nsSelectListAccessible::nsSelectListAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
:nsAccessible(aAccessible, aContent, aShell)
{
mPopupAtom = aPopupAtom;
mParent = aParent;
}
void nsSelectListAccessible::GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(mContent, &frame);
if (aFrame == frame)
aList = mPopupAtom;
else
aList = nsnull;
}
NS_IMETHODIMP nsSelectListAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
return mParent->AccGetBounds(x,y,width,height);
}
NS_IMETHODIMP nsSelectListAccessible::GetAccParent(nsIAccessible **_retval)
{
*_retval = mParent;
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccName(PRUnichar **_retval)
{
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("list"));
return NS_OK;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
nsIAccessible* nsSelectListAccessible::CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsListChildAccessible(mPopupAtom, mContent, this, aAccessible, aContent, aShell);
}
nsIAccessible* nsSelectListAccessible::CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsListChildAccessible(mPopupAtom, mContent, this, aAccessible, aContent, aShell);
}
//--------
nsListChildAccessible::nsListChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell):
nsAccessible(aAccessible, aContent, aShell)
{
mParent = aParent;
mPopupAtom = aPopupAtom;
mSelectContent = aSelectContent;
}
nsIAccessible* nsListChildAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsListChildAccessible(mPopupAtom, mSelectContent, mParent, aAccessible, aContent, aShell);
}
void nsListChildAccessible::GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(mSelectContent, &frame);
if (aFrame == frame)
aList = mPopupAtom;
else
aList = nsnull;
}
NS_IMETHODIMP nsListChildAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("list item"));
return NS_OK;
}
NS_IMETHODIMP nsListChildAccessible::GetAccParent(nsIAccessible **_retval)
{
*_retval = mParent;
NS_IF_ADDREF(*_retval);
return NS_OK;
}

View File

@@ -0,0 +1,51 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#ifndef __nsSelectAccessible_h__
#define __nsSelectAccessible_h__
#include "nsAccessible.h"
#include "nsCOMPtr.h"
#include "nsIAtom.h"
class nsSelectAccessible : public nsAccessible
{
public:
nsSelectAccessible(nsIAtom* aPopupAtom, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
NS_IMETHOD GetAccLastChild(nsIAccessible **_retval);
NS_IMETHOD GetAccFirstChild(nsIAccessible **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccValue(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccChildCount(PRInt32 *_retval);
virtual ~nsSelectAccessible() {}
virtual nsIAccessible* CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIAtom> mPopupAtom;
};
#endif

View File

@@ -0,0 +1,175 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#include "nsHTMLFormControlAccessible.h"
#include "nsWeakReference.h"
#include "nsIFrame.h"
#include "nsIDOMHTMLInputElement.h"
#include "nsINameSpaceManager.h"
#include "nsHTMLAtoms.h"
#include "nsIDOMHTMLButtonElement.h"
#include "nsReadableUtils.h"
nsHTMLFormControlAccessible::nsHTMLFormControlAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsLeafDOMAccessible(aShell, aNode)
{
}
/* wstring getAccName (); */
NS_IMETHODIMP nsHTMLFormControlAccessible::GetAccName(PRUnichar **_retval)
{
// go up tree get name of label if there is one.
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccState (); */
NS_IMETHODIMP nsHTMLFormControlAccessible::GetAccState(PRUint32 *_retval)
{
// can be
// focusable, focused, checked
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
PRBool checked = PR_FALSE;
element->GetChecked(&checked);
*_retval = (checked ? STATE_CHECKED : 0);
return NS_OK;
}
// --- checkbox -----
nsHTMLCheckboxAccessible::nsHTMLCheckboxAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsHTMLFormControlAccessible(aShell, aNode)
{
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLCheckboxAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("check box"));
return NS_OK;
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsHTMLCheckboxAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
// check or uncheck
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
PRBool checked = PR_FALSE;
element->GetChecked(&checked);
if (checked)
*_retval = ToNewUnicode(NS_LITERAL_STRING("Check"));
else
*_retval = ToNewUnicode(NS_LITERAL_STRING("UnCheck"));
return NS_OK;
}
/* void accDoDefaultAction (); */
NS_IMETHODIMP nsHTMLCheckboxAccessible::AccDoDefaultAction()
{
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
PRBool checked = PR_FALSE;
element->GetChecked(&checked);
element->SetChecked(checked ? PR_FALSE : PR_TRUE);
return NS_OK;
}
//------ Radio button -------
nsHTMLRadioButtonAccessible::nsHTMLRadioButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsHTMLFormControlAccessible(aShell, aNode)
{
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsHTMLRadioButtonAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("Select"));
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLRadioButtonAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("radio button"));
return NS_OK;
}
NS_IMETHODIMP nsHTMLRadioButtonAccessible::AccDoDefaultAction()
{
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
element->Click();
return NS_OK;
}
// ----- Button -----
nsHTMLButtonAccessible::nsHTMLButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsHTMLFormControlAccessible(aShell, aNode)
{
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsHTMLButtonAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("Press"));
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLButtonAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("push button"));
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLButtonAccessible::GetAccName(PRUnichar **_retval)
{
*_retval = nsnull;
nsCOMPtr<nsIDOMHTMLInputElement> button = do_QueryInterface(mNode);
if (!button)
return NS_ERROR_FAILURE;
nsAutoString name;
button->GetValue(name);
name.CompressWhitespace();
*_retval = name.ToNewUnicode();
return NS_OK;
}
NS_IMETHODIMP nsHTMLButtonAccessible::AccDoDefaultAction()
{
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
element->Click();
return NS_OK;
}

View File

@@ -0,0 +1,77 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric D Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#ifndef _nsHTMLFormControlAccessible_H_
#define _nsHTMLFormControlAccessible_H_
#include "nsGenericAccessible.h"
class nsICheckboxControlFrame;
/* Accessible for supporting for controls
* supports:
* - walking up to get name from label
* - support basic state
*/
class nsHTMLFormControlAccessible : public nsLeafDOMAccessible
{
public:
nsHTMLFormControlAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccState(PRUint32 *_retval);
};
class nsHTMLCheckboxAccessible : public nsHTMLFormControlAccessible
{
public:
nsHTMLCheckboxAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccDefaultAction(PRUnichar **_retval);
NS_IMETHOD AccDoDefaultAction(void);
};
class nsHTMLRadioButtonAccessible : public nsHTMLFormControlAccessible
{
public:
nsHTMLRadioButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccDefaultAction(PRUnichar **_retval);
NS_IMETHOD AccDoDefaultAction(void);
};
class nsHTMLButtonAccessible : public nsHTMLFormControlAccessible
{
public:
nsHTMLButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccDefaultAction(PRUnichar **_retval);
NS_IMETHOD AccDoDefaultAction(void);
};
#endif

View File

@@ -0,0 +1,51 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#include "nsHTMLTextAccessible.h"
#include "nsICheckboxControlFrame.h"
#include "nsWeakReference.h"
#include "nsIFrame.h"
nsHTMLTextAccessible::nsHTMLTextAccessible(nsIPresShell* aShell, nsIDOMNode* aDomNode):
nsLeafDOMAccessible(aShell, aDomNode)
{
}
/* wstring getAccName (); */
NS_IMETHODIMP nsHTMLTextAccessible::GetAccName(PRUnichar **_retval)
{
nsAutoString value;
mNode->GetNodeValue(value);
value.CompressWhitespace();
*_retval = value.ToNewUnicode();
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLTextAccessible::GetAccRole(PRUnichar **_retval)
{
nsAutoString role(NS_LITERAL_STRING("text"));
*_retval = role.ToNewUnicode();
return NS_OK;
}

View File

@@ -0,0 +1,43 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsHTMLTextAccessible_H_
#define _nsHTMLTextAccessible_H_
#include "nsGenericAccessible.h"
class nsIWeakReference;
class nsITextControlFrame;
class nsHTMLTextAccessible : public nsLeafDOMAccessible
{
public:
nsHTMLTextAccessible(nsIPresShell* aShell, nsIDOMNode* aDomNode);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
private:
nsCOMPtr<nsIDOMNode> mDomNode;
};
#endif

View File

@@ -0,0 +1,53 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express 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=..\..
MODULE=accessibility
LIBRARY_NAME=accessibility_s
CPP_OBJS=\
.\$(OBJDIR)\nsAccessible.obj \
.\$(OBJDIR)\nsRootAccessible.obj \
.\$(OBJDIR)\nsMutableAccessible.obj \
.\$(OBJDIR)\nsAccessibilityService.obj \
.\$(OBJDIR)\nsSelectAccessible.obj \
.\$(OBJDIR)\nsGenericAccessible.obj \
.\$(OBJDIR)\nsHTMLFormControlAccessible.obj \
.\$(OBJDIR)\nsHTMLTextAccessible.obj \
$(NULL)
LINCS= \
-I..\..\layout\html\forms\public \
-I..\..\layout\html\forms\src \
-I..\..\layout\html\base\src \
$(NULL)
include <$(DEPTH)\config\rules.mak>
install:: $(LIBRARY)
$(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib
clobber::
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib

View File

@@ -0,0 +1,252 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#include "nsIAccessibilityService.h"
#include "nsAccessibilityService.h"
#include "nsAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsRootAccessible.h"
#include "nsINameSpaceManager.h"
#include "nsMutableAccessible.h"
#include "nsHTMLFormControlAccessible.h"
#include "nsLayoutAtoms.h"
#include "nsSelectAccessible.h"
#include "nsHTMLTextAccessible.h"
//--------------------
nsAccessibilityService::nsAccessibilityService()
{
NS_INIT_REFCNT();
}
nsAccessibilityService::~nsAccessibilityService()
{
}
NS_IMPL_THREADSAFE_ISUPPORTS1(nsAccessibilityService, nsIAccessibilityService);
////////////////////////////////////////////////////////////////////////////////
// nsIAccessibilityService methods:
NS_IMETHODIMP
nsAccessibilityService::CreateRootAccessible(nsISupports* aPresContext, nsISupports* aFrame, nsIAccessible **_retval)
{
nsIFrame* f = NS_STATIC_CAST(nsIFrame*, aFrame);
nsCOMPtr<nsIPresContext> c = do_QueryInterface(aPresContext);
NS_ASSERTION(c,"Error non prescontext passed to accessible factory!!!");
nsCOMPtr<nsIPresShell> s;
c->GetShell(getter_AddRefs(s));
NS_ASSERTION(s,"Error not presshell!!");
nsCOMPtr<nsIWeakReference> wr = getter_AddRefs(NS_GetWeakReference(s));
*_retval = new nsRootAccessible(wr,f);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP
nsAccessibilityService::CreateMutableAccessible(nsISupports* aNode, nsIMutableAccessible **_retval)
{
*_retval = new nsMutableAccessible(aNode);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLBlockAccessible(nsIAccessible* aAccessible, nsIDOMNode* node, nsISupports* aPresContext, nsIAccessible **_retval)
{
nsCOMPtr<nsIContent> n = do_QueryInterface(node);
NS_ASSERTION(n,"Error non nsIContent passed to accessible factory!!!");
nsCOMPtr<nsIPresContext> c = do_QueryInterface(aPresContext);
NS_ASSERTION(c,"Error non prescontext passed to accessible factory!!!");
nsCOMPtr<nsIPresShell> s;
c->GetShell(getter_AddRefs(s));
NS_ASSERTION(s,"Error not presshell!!");
nsCOMPtr<nsIWeakReference> wr = getter_AddRefs(NS_GetWeakReference(s));
*_retval = new nsHTMLBlockAccessible(aAccessible, n,wr);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP
nsAccessibilityService::CreateHTMLSelectAccessible(nsIAtom* aPopupAtom, nsIDOMNode* node, nsISupports* aPresContext, nsIAccessible **_retval)
{
nsCOMPtr<nsIContent> n = do_QueryInterface(node);
NS_ASSERTION(n,"Error non nsIContent passed to accessible factory!!!");
nsCOMPtr<nsIPresContext> c = do_QueryInterface(aPresContext);
NS_ASSERTION(c,"Error non prescontext passed to accessible factory!!!");
nsCOMPtr<nsIPresShell> s;
c->GetShell(getter_AddRefs(s));
nsCOMPtr<nsIWeakReference> wr = getter_AddRefs(NS_GetWeakReference(s));
*_retval = new nsSelectAccessible(aPopupAtom, nsnull, n, wr);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLCheckboxAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLCheckboxAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
nsresult rv = GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
if (NS_FAILED(rv))
return rv;
*_retval = new nsHTMLCheckboxAccessible(shell,node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLCheckboxAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLRadioButtonAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
*_retval = new nsHTMLRadioButtonAccessible(shell,node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLCheckboxAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLButtonAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
nsresult rv = GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
if (NS_FAILED(rv))
return rv;
*_retval = new nsHTMLButtonAccessible(shell,node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
/* nsIAccessible createHTMLTextAccessible (in nsISupports aPresShell, in nsISupports aFrame); */
NS_IMETHODIMP nsAccessibilityService::CreateHTMLTextAccessible(nsISupports *aFrame, nsIAccessible **_retval)
{
nsIFrame* frame;
nsCOMPtr<nsIDOMNode> node;
nsCOMPtr<nsIPresShell> shell;
nsresult rv = GetInfo(aFrame, &frame, getter_AddRefs(shell), getter_AddRefs(node));
if (NS_FAILED(rv))
return rv;
*_retval = new nsHTMLTextAccessible(shell, node);
if (*_retval) {
NS_ADDREF(*_retval);
return NS_OK;
} else
return NS_ERROR_OUT_OF_MEMORY;
}
NS_IMETHODIMP nsAccessibilityService::GetInfo(nsISupports* aFrame, nsIFrame** aRealFrame, nsIPresShell** aShell, nsIDOMNode** aNode)
{
*aRealFrame = NS_STATIC_CAST(nsIFrame*, aFrame);
nsCOMPtr<nsIContent> content;
(*aRealFrame)->GetContent(getter_AddRefs(content));
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(content);
*aNode = node;
NS_ADDREF(*aNode);
nsCOMPtr<nsIDocument> document;
content->GetDocument(*getter_AddRefs(document));
#ifdef DEBUG
PRInt32 shells = document->GetNumberOfShells();
NS_ASSERTION(shells > 0,"Error no shells!");
#endif
*aShell = document->GetShellAt(0);
NS_IF_ADDREF(*aShell);
return NS_OK;
}
//////////////////////////////////////////////////////////////////////
nsresult
NS_NewAccessibilityService(nsIAccessibilityService** aResult)
{
NS_PRECONDITION(aResult != nsnull, "null ptr");
if (! aResult)
return NS_ERROR_NULL_POINTER;
nsAccessibilityService* a = new nsAccessibilityService();
if (a == nsnull)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(a);
*aResult = a;
return NS_OK;
}

View File

@@ -0,0 +1,53 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#ifndef __nsAccessibilityService_h__
#define __nsAccessibilityService_h__
#include "nsIAccessibilityService.h"
class nsIFrame;
class nsIPresShell;
class nsIDOMNode;
class nsAccessibilityService : public nsIAccessibilityService
{
public:
NS_DECL_ISUPPORTS
// nsIAccessibilityService methods:
NS_DECL_NSIACCESSIBILITYSERVICE
// nsAccessibilityService methods:
nsAccessibilityService();
virtual ~nsAccessibilityService();
public:
private:
NS_IMETHOD GetInfo(nsISupports* aFrame, nsIFrame** aRealFrame, nsIPresShell** aShell, nsIDOMNode** aContent);
};
#endif /* __nsIccessibilityService_h__ */

View File

@@ -0,0 +1,995 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#include "nsAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsIScrollableView.h"
#include "nsRootAccessible.h"
//#define DEBUG_LEAKS
#ifdef DEBUG_LEAKS
static gnsAccessibles = 0;
#endif
class nsFrameTreeWalker {
public:
nsFrameTreeWalker(nsIPresContext* aPresContext, nsAccessible* aOwner);
nsIFrame* GetNextSibling(nsIFrame* aFrame);
nsIFrame* GetPreviousSibling(nsIFrame* aFrame);
nsIFrame* GetParent(nsIFrame* aFrame);
nsIFrame* GetFirstChild(nsIFrame* aFrame);
nsIFrame* GetLastChild(nsIFrame* aFrame);
nsIFrame* GetChildBefore(nsIFrame* aParent, nsIFrame* aChild);
PRInt32 GetCount(nsIFrame* aFrame);
static PRBool ShouldSkip(nsIPresContext* aContext, nsIAtom* aList, nsIFrame* aStart, nsIFrame* aNext);
static void GetAccessible(nsIFrame* aFrame, nsCOMPtr<nsIAccessible>& aAccessible, nsCOMPtr<nsIContent>& aContent);
nsCOMPtr<nsIPresContext> mPresContext;
nsCOMPtr<nsIAccessible> mAccessible;
nsCOMPtr<nsIContent> mContent;
nsAccessible* mOwner;
};
nsFrameTreeWalker::nsFrameTreeWalker(nsIPresContext* aPresContext, nsAccessible* aOwner)
{
mPresContext = aPresContext;
mOwner = aOwner;
}
nsIFrame* nsFrameTreeWalker::GetParent(nsIFrame* aFrame)
{
//printf("Get parent\n");
nsIFrame* parent = nsnull;
aFrame->GetParent(&parent);
// if no parent then we hit the root
// just return that top frame
if (!parent) {
mAccessible = nsnull;
mContent = nsnull;
return aFrame;
}
GetAccessible(parent, mAccessible, mContent);
if (mAccessible)
return parent;
return GetParent(parent);
}
nsIFrame* nsFrameTreeWalker::GetNextSibling(nsIFrame* aFrame)
{
//printf("Get next\n");
// get next sibling
nsIFrame* next = nsnull;
aFrame->GetNextSibling(&next);
nsIAtom* list = nsnull;
mOwner->GetListAtomForFrame(aFrame, list);
// skip any frames with the same content node
while(ShouldSkip(mPresContext, list, aFrame, next))
next->GetNextSibling(&next);
// if failed
if (!next)
{
// if parent has content
nsIFrame* parent = nsnull;
aFrame->GetParent(&parent);
// if no parent fail
if (!parent) {
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
}
// fail if we reach a parent that is accessible
GetAccessible(parent, mAccessible, mContent);
if (mAccessible)
{
// fail
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
} else {
// next on parent
nsIFrame* n = GetNextSibling(parent);
if (ShouldSkip(mPresContext, list, aFrame, n))
return GetNextSibling(n);
else
return n;
}
}
// if next has content
GetAccessible(next, mAccessible, mContent);
if (mAccessible)
{
// done
return next;
}
// if next doesn't have node
// call first on next
nsIFrame* first = GetFirstChild(next);
// if found
if (first) {
if (ShouldSkip(mPresContext, list, aFrame, first))
return GetNextSibling(first);
else
return first;
}
// call next on next
nsIFrame* n = GetNextSibling(next);
if (ShouldSkip(mPresContext, list, aFrame, next))
return GetNextSibling(n);
else
return n;
}
nsIFrame* nsFrameTreeWalker::GetFirstChild(nsIFrame* aFrame)
{
//printf("Get first\n");
// get first child
nsIFrame* child = nsnull;
nsIAtom* list = nsnull;
mOwner->GetListAtomForFrame(aFrame, list);
aFrame->FirstChild(mPresContext, list, &child);
while(child)
{
// if first has a content node
GetAccessible(child, mAccessible, mContent);
if (mAccessible)
{
// done
return child;
} else {
// call first on child
nsIFrame* first = GetFirstChild(child);
// if succeeded
if (first)
{
// return child
return first;
}
}
// get next sibling
nsIFrame* next;
child->GetNextSibling(&next);
// skip children with duplicate content nodes
nsIAtom* list = nsnull;
mOwner->GetListAtomForFrame(child, list);
while(ShouldSkip(mPresContext, list, child, next))
next->GetNextSibling(&next);
child = next;
}
// fail
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
}
nsIFrame* nsFrameTreeWalker::GetChildBefore(nsIFrame* aParent, nsIFrame* aChild)
{
nsIFrame* child = GetFirstChild(aParent);
// if the child is not us
if (child == aChild) {
mAccessible = nsnull;
mContent = nsnull;
return nsnull;
}
nsIFrame* prev = child;
nsCOMPtr<nsIContent> prevContent = mContent;
nsCOMPtr<nsIAccessible> prevAccessible = mAccessible;
while(child)
{
child = GetNextSibling(child);
if (child == aChild)
break;
prev = child;
prevContent = mContent;
prevAccessible = mAccessible;
}
mAccessible = prevAccessible;
mContent = prevContent;
return prev;
}
nsIFrame* nsFrameTreeWalker::GetPreviousSibling(nsIFrame* aFrame)
{
//printf("Get previous\n");
nsIFrame* parent = GetParent(aFrame);
return GetChildBefore(parent, aFrame);
}
nsIFrame* nsFrameTreeWalker::GetLastChild(nsIFrame* aFrame)
{
//printf("Get last\n");
return GetChildBefore(aFrame, nsnull);
}
PRInt32 nsFrameTreeWalker::GetCount(nsIFrame* aFrame)
{
//printf("Get count\n");
nsIFrame* child = GetFirstChild(aFrame);
PRInt32 count = 0;
while(child)
{
count++;
child = GetNextSibling(child);
}
return count;
}
void nsFrameTreeWalker::GetAccessible(nsIFrame* aFrame, nsCOMPtr<nsIAccessible>& aAccessible, nsCOMPtr<nsIContent>& aContent)
{
aContent = nsnull;
aAccessible = nsnull;
aFrame->GetContent(getter_AddRefs(aContent));
if (!aContent)
return;
nsCOMPtr<nsIDocument> document;
aContent->GetDocument(*getter_AddRefs(document));
if (!document)
return;
PRInt32 shells = document->GetNumberOfShells();
NS_ASSERTION(shells > 0,"Error no shells!");
nsIPresShell* shell = document->GetShellAt(0);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(aContent, &frame);
if (!frame)
return;
aAccessible = do_QueryInterface(aFrame);
if (!aAccessible)
aAccessible = do_QueryInterface(aContent);
// if (aAccessible)
// printf("Found accessible!\n");
}
PRBool nsFrameTreeWalker::ShouldSkip(nsIPresContext* aContext, nsIAtom* aList, nsIFrame* aStart, nsIFrame* aNext)
{
if (!aStart || !aNext)
return PR_FALSE;
// is content the same? If so skip it
nsCOMPtr<nsIContent> content1;
nsCOMPtr<nsIContent> content2;
aStart->GetContent(getter_AddRefs(content1));
aNext->GetContent(getter_AddRefs(content2));
if (content1 == content2 && content1 != nsnull) {
// does it have childen? It it does then don't skip it
nsIFrame* child = nsnull;
aNext->FirstChild(aContext, aList, &child);
if (child)
return PR_FALSE;
return PR_TRUE;
}
return PR_FALSE;
}
/*
* Class nsAccessible
*/
//-----------------------------------------------------
// construction
//-----------------------------------------------------
nsAccessible::nsAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_INIT_REFCNT();
// get frame and node
mContent = aContent;
mAccessible = aAccessible;
mPresShell = aShell;
#ifdef DEBUG_LEAKS
printf("nsAccessibles=%d\n", ++gnsAccessibles);
#endif
}
//-----------------------------------------------------
// destruction
//-----------------------------------------------------
nsAccessible::~nsAccessible()
{
#ifdef DEBUG_LEAKS
printf("nsAccessibles=%d\n", --gnsAccessibles);
#endif
}
//NS_IMPL_ISUPPORTS2(nsAccessible, nsIAccessible, nsIAccessibleWidgetAccess);
NS_IMPL_ISUPPORTS1(nsAccessible, nsIAccessible);
/* readonly attribute nsIAccessible accParent; */
NS_IMETHODIMP nsAccessible::GetAccParent(nsIAccessible * *aAccParent)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccParent(aAccParent);
if (NS_SUCCEEDED(rv))
return rv;
}
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
// failed? Lets do some default behavior
walker.GetParent(GetFrame());
// if no content or accessible then we hit the root
if (!walker.mContent || !walker.mAccessible)
{
*aAccParent = new nsRootAccessible(mPresShell);
NS_ADDREF(*aAccParent);
return NS_OK;
}
*aAccParent = CreateNewParentAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccParent);
return NS_OK;
}
*aAccParent = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accNextSibling; */
NS_IMETHODIMP nsAccessible::GetAccNextSibling(nsIAccessible * *aAccNextSibling)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccNextSibling(aAccNextSibling);
if (NS_SUCCEEDED(rv))
return rv;
}
// failed? Lets do some default behavior
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* next = walker.GetNextSibling(GetFrame());
if (next && walker.mAccessible && walker.mContent)
{
*aAccNextSibling = CreateNewNextAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccNextSibling);
return NS_OK;
}
}
*aAccNextSibling = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accPreviousSibling; */
NS_IMETHODIMP nsAccessible::GetAccPreviousSibling(nsIAccessible * *aAccPreviousSibling)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccPreviousSibling(aAccPreviousSibling);
if (NS_SUCCEEDED(rv))
return rv;
}
// failed? Lets do some default behavior
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* prev = walker.GetPreviousSibling(GetFrame());
if (prev && walker.mAccessible && walker.mContent)
{
*aAccPreviousSibling = CreateNewPreviousAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccPreviousSibling);
return NS_OK;
}
}
*aAccPreviousSibling = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accFirstChild; */
NS_IMETHODIMP nsAccessible::GetAccFirstChild(nsIAccessible * *aAccFirstChild)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccFirstChild(aAccFirstChild);
if (NS_SUCCEEDED(rv))
return rv;
}
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* child = walker.GetFirstChild(GetFrame());
if (child && walker.mAccessible && walker.mContent)
{
*aAccFirstChild = CreateNewFirstAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccFirstChild);
return NS_OK;
}
}
*aAccFirstChild = nsnull;
return NS_OK;
}
/* readonly attribute nsIAccessible accFirstChild; */
NS_IMETHODIMP nsAccessible::GetAccLastChild(nsIAccessible * *aAccLastChild)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccLastChild(aAccLastChild);
if (NS_SUCCEEDED(rv))
return rv;
}
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
nsIFrame* last = walker.GetLastChild(GetFrame());
if (last && walker.mAccessible && walker.mContent)
{
*aAccLastChild = CreateNewLastAccessible(walker.mAccessible, walker.mContent, mPresShell);
NS_ADDREF(*aAccLastChild);
return NS_OK;
}
}
*aAccLastChild = nsnull;
return NS_OK;
}
/* readonly attribute long accChildCount; */
NS_IMETHODIMP nsAccessible::GetAccChildCount(PRInt32 *aAccChildCount)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccChildCount(aAccChildCount);
if (NS_SUCCEEDED(rv))
return rv;
}
// failed? Lets do some default behavior
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
if (context) {
nsFrameTreeWalker walker(context, this);
*aAccChildCount = walker.GetCount(GetFrame());
} else
*aAccChildCount = 0;
return NS_OK;
}
/* attribute wstring accName; */
NS_IMETHODIMP nsAccessible::GetAccName(PRUnichar * *aAccName)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccName(aAccName);
if (NS_SUCCEEDED(rv) && *aAccName != nsnull)
return rv;
}
*aAccName = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
/* attribute wstring accName; */
NS_IMETHODIMP nsAccessible::GetAccDefaultAction(PRUnichar * *aDefaultAction)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccDefaultAction(aDefaultAction);
if (NS_SUCCEEDED(rv) && *aDefaultAction != nsnull)
return rv;
}
*aDefaultAction = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::SetAccName(const PRUnichar * aAccName)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->SetAccName(aAccName);
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
/* attribute wstring accValue; */
NS_IMETHODIMP nsAccessible::GetAccValue(PRUnichar * *aAccValue)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccValue(aAccValue);
if (NS_SUCCEEDED(rv) && *aAccValue != nsnull)
return rv;
}
*aAccValue = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::SetAccValue(const PRUnichar * aAccValue) { return NS_ERROR_NOT_IMPLEMENTED; }
/* readonly attribute wstring accDescription; */
NS_IMETHODIMP nsAccessible::GetAccDescription(PRUnichar * *aAccDescription)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccDescription(aAccDescription);
if (NS_SUCCEEDED(rv) && *aAccDescription != nsnull)
return rv;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute wstring accRole; */
NS_IMETHODIMP nsAccessible::GetAccRole(PRUnichar * *aAccRole)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccRole(aAccRole);
if (NS_SUCCEEDED(rv) && *aAccRole != nsnull)
return rv;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute wstring accState; */
NS_IMETHODIMP nsAccessible::GetAccState(PRUint32 *aAccState)
{
// delegate
if (mAccessible)
return mAccessible->GetAccState(aAccState);
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAccessible::GetAccExtState(PRUint32 *aAccExtState)
{
// delegate
if (mAccessible)
return mAccessible->GetAccExtState(aAccExtState);
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute wstring accHelp; */
NS_IMETHODIMP nsAccessible::GetAccHelp(PRUnichar * *aAccHelp)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->GetAccHelp(aAccHelp);
if (NS_SUCCEEDED(rv) && *aAccHelp != nsnull)
return rv;
}
// failed? Lets do some default behavior
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute boolean accFocused; */
NS_IMETHODIMP nsAccessible::GetAccFocused(PRBool *aAccFocused) { return NS_OK; }
/* nsIAccessible accGetChildAt (in long x, in long y); */
NS_IMETHODIMP nsAccessible::AccGetAt(PRInt32 tx, PRInt32 ty, nsIAccessible **_retval)
{
PRInt32 x,y,w,h;
AccGetBounds(&x,&y,&w,&h);
if (tx > x && tx < x + w && ty > y && ty < y + h)
{
nsCOMPtr<nsIAccessible> child;
nsCOMPtr<nsIAccessible> next;
GetAccFirstChild(getter_AddRefs(child));
PRInt32 cx,cy,cw,ch;
while(child) {
child->AccGetBounds(&cx,&cy,&cw,&ch);
if (tx > cx && tx < cx + cw && ty > cy && ty < cy + ch)
{
*_retval = child;
NS_ADDREF(*_retval);
return NS_OK;
}
child->GetAccNextSibling(getter_AddRefs(next));
child = next;
}
*_retval = this;
NS_ADDREF(this);
return NS_OK;
}
*_retval = nsnull;
return NS_OK;
}
/* void accNavigateRight (); */
NS_IMETHODIMP nsAccessible::AccNavigateRight(nsIAccessible **_retval) { return NS_OK; }
/* void navigateLeft (); */
NS_IMETHODIMP nsAccessible::AccNavigateLeft(nsIAccessible **_retval) { return NS_OK; }
/* void navigateUp (); */
NS_IMETHODIMP nsAccessible::AccNavigateUp(nsIAccessible **_retval) { return NS_OK; }
/* void navigateDown (); */
NS_IMETHODIMP nsAccessible::AccNavigateDown(nsIAccessible **_retval) { return NS_OK; }
/* void addSelection (); */
NS_IMETHODIMP nsAccessible::AccAddSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccAddSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void removeSelection (); */
NS_IMETHODIMP nsAccessible::AccRemoveSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccRemoveSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void extendSelection (); */
NS_IMETHODIMP nsAccessible::AccExtendSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccExtendSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void takeSelection (); */
NS_IMETHODIMP nsAccessible::AccTakeSelection(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccTakeSelection();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void takeFocus (); */
NS_IMETHODIMP nsAccessible::AccTakeFocus(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccTakeFocus();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void doDefaultAction (); */
NS_IMETHODIMP nsAccessible::AccDoDefaultAction(void)
{
// delegate
if (mAccessible) {
nsresult rv = mAccessible->AccDoDefaultAction();
if (NS_SUCCEEDED(rv))
return rv;
}
return NS_ERROR_FAILURE;
}
/* void accGetBounds (out long x, out long y, out long width, out long height); */
NS_IMETHODIMP nsAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
nsIFrame* frame = GetBoundsFrame();
if (!frame || !context)
{
*x = *y = *width = *height = 0;
return NS_OK;
}
// sum up all rects of frames with the same content node
nsRect r;
nsIFrame* start = frame;
nsIFrame* next = nsnull;
start->GetNextSibling(&next);
start->GetRect(r);
while (nsFrameTreeWalker::ShouldSkip(context,nsnull, start, next))
{
nsRect r2;
next->GetRect(r2);
r.UnionRect(r,r2);
next->GetNextSibling(&next);
}
nsPoint offset(r.x,r.y);
frame->GetParent(&frame);
nsPoint pos(0,0);
while(frame) {
nsIScrollableView* scrollingView;
nsIView* view;
// XXX hack
frame->GetView(context, &view);
if (view) {
nsresult result = view->QueryInterface(NS_GET_IID(nsIScrollableView), (void**)&scrollingView);
if (NS_SUCCEEDED(result)) {
nscoord xoff = 0;
nscoord yoff = 0;
scrollingView->GetScrollPosition(xoff, yoff);
offset.x -= xoff;
offset.y -= yoff;
}
}
frame->GetOrigin(pos);
offset += pos;
frame->GetParent(&frame);
}
float t2p;
context->GetTwipsToPixels(&t2p);
*x = (PRInt32)(offset.x*t2p);
*y = (PRInt32)(offset.y*t2p);
*width = (PRInt32)(r.width*t2p);
*height = (PRInt32)(r.height*t2p);
return NS_OK;
}
// helpers
nsIFrame* nsAccessible::GetBoundsFrame()
{
return GetFrame();
}
nsIFrame* nsAccessible::GetFrame()
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(mContent, &frame);
return frame;
}
void nsAccessible::GetPresContext(nsCOMPtr<nsIPresContext>& aContext)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
if (shell) {
shell->GetPresContext(getter_AddRefs(aContext));
} else
aContext = nsnull;
}
nsIAccessible* nsAccessible::CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewParentAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsAccessible(aAccessible, aContent, aShell);
}
// ------- nsHTMLBlockAccessible ------
nsHTMLBlockAccessible::nsHTMLBlockAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell):nsAccessible(aAccessible, aContent, aShell)
{
}
nsIAccessible* nsHTMLBlockAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsHTMLBlockAccessible(aAccessible, aContent, aShell);
}
/* nsIAccessible accGetAt (in long x, in long y); */
NS_IMETHODIMP nsHTMLBlockAccessible::AccGetAt(PRInt32 tx, PRInt32 ty, nsIAccessible **_retval)
{
PRInt32 x,y,w,h;
AccGetBounds(&x,&y,&w,&h);
if (tx > x && tx < x + w && ty > y && ty < y + h)
{
nsCOMPtr<nsIAccessible> child;
nsCOMPtr<nsIAccessible> smallestChild;
PRInt32 smallestArea = -1;
nsCOMPtr<nsIAccessible> next;
GetAccFirstChild(getter_AddRefs(child));
PRInt32 cx,cy,cw,ch;
while(child) {
child->AccGetBounds(&cx,&cy,&cw,&ch);
// ok if there are multiple frames the contain the point
// and they overlap then pick the smallest. We need to do this
// for text frames.
if (tx > cx && tx < cx + cw && ty > cy && ty < cy + ch)
{
if (smallestArea == -1 || cw*ch < smallestArea) {
smallestArea = cw*ch;
smallestChild = child;
}
}
child->GetAccNextSibling(getter_AddRefs(next));
child = next;
}
if (smallestChild != nsnull)
{
*_retval = smallestChild;
NS_ADDREF(*_retval);
return NS_OK;
}
*_retval = this;
NS_ADDREF(this);
return NS_OK;
}
*_retval = nsnull;
return NS_OK;
}

View File

@@ -0,0 +1,79 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsAccessible_H_
#define _nsAccessible_H_
#include "nsISupports.h"
#include "nsIAccessible.h"
#include "nsCOMPtr.h"
#include "nsIContent.h"
#include "nsIDOMNode.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsWeakReference.h"
class nsIFrame;
class nsAccessible : public nsIAccessible
// public nsIAccessibleWidgetAccess
{
NS_DECL_ISUPPORTS
// nsIAccessibilityService methods:
NS_DECL_NSIACCESSIBLE
//NS_IMETHOD AccGetWidget(nsIWidget**);
public:
nsAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsAccessible();
virtual void GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList) { aList = nsnull; }
protected:
virtual nsIFrame* GetFrame();
virtual nsIFrame* GetBoundsFrame();
virtual void GetPresContext(nsCOMPtr<nsIPresContext>& aContext);
virtual nsIAccessible* CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewParentAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIContent> mContent;
nsCOMPtr<nsIWeakReference> mPresShell;
nsCOMPtr<nsIAccessible> mAccessible;
};
/* Special Accessible that knows how to handle hit detection for flowing text */
class nsHTMLBlockAccessible : public nsAccessible
{
public:
nsHTMLBlockAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
NS_IMETHOD AccGetAt(PRInt32 x, PRInt32 y, nsIAccessible **_retval);
protected:
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aFrame, nsIWeakReference* aShell);
};
#endif

View File

@@ -0,0 +1,335 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#include "nsGenericAccessible.h"
#include "nsIEventStateManager.h"
#include "nsIFrame.h"
#include "nsCOMPtr.h"
#include "nsIWeakReference.h"
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsGenericAccessible, nsIAccessible)
nsGenericAccessible::nsGenericAccessible()
{
NS_INIT_ISUPPORTS();
/* member initializers and constructor code */
}
nsGenericAccessible::~nsGenericAccessible()
{
/* destructor code */
}
/* nsIAccessible getAccParent (); */
NS_IMETHODIMP nsGenericAccessible::GetAccParent(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccNextSibling (); */
NS_IMETHODIMP nsGenericAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccPreviousSibling (); */
NS_IMETHODIMP nsGenericAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccFirstChild (); */
NS_IMETHODIMP nsGenericAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible getAccLastChild (); */
NS_IMETHODIMP nsGenericAccessible::GetAccLastChild(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* long getAccChildCount (); */
NS_IMETHODIMP nsGenericAccessible::GetAccChildCount(PRInt32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccName (); */
NS_IMETHODIMP nsGenericAccessible::GetAccName(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccValue (); */
NS_IMETHODIMP nsGenericAccessible::GetAccValue(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void setAccName (in wstring name); */
NS_IMETHODIMP nsGenericAccessible::SetAccName(const PRUnichar *name)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void setAccValue (in wstring value); */
NS_IMETHODIMP nsGenericAccessible::SetAccValue(const PRUnichar *value)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccDescription (); */
NS_IMETHODIMP nsGenericAccessible::GetAccDescription(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsGenericAccessible::GetAccRole(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccState (); */
NS_IMETHODIMP nsGenericAccessible::GetAccState(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsGenericAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccHelp (); */
NS_IMETHODIMP nsGenericAccessible::GetAccHelp(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* boolean getAccFocused (); */
NS_IMETHODIMP nsGenericAccessible::GetAccFocused(PRBool *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accGetAt (in long x, in long y); */
NS_IMETHODIMP nsGenericAccessible::AccGetAt(PRInt32 x, PRInt32 y, nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateRight (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateRight(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateLeft (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateLeft(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateUp (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateUp(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* nsIAccessible accNavigateDown (); */
NS_IMETHODIMP nsGenericAccessible::AccNavigateDown(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accGetBounds (out long x, out long y, out long width, out long height); */
NS_IMETHODIMP nsGenericAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accAddSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccAddSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accRemoveSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccRemoveSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accExtendSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccExtendSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accTakeSelection (); */
NS_IMETHODIMP nsGenericAccessible::AccTakeSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accTakeFocus (); */
NS_IMETHODIMP nsGenericAccessible::AccTakeFocus()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void accDoDefaultAction (); */
NS_IMETHODIMP nsGenericAccessible::AccDoDefaultAction()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* unsigned long getAccExtState (); */
NS_IMETHODIMP nsGenericAccessible::GetAccExtState(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
//-------------
// nsDOMAccessible
//-------------
nsDOMAccessible::nsDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode)
{
mPresShell = getter_AddRefs(NS_GetWeakReference(aShell));
mNode = aNode;
}
/* void accRemoveSelection (); */
NS_IMETHODIMP nsDOMAccessible::AccRemoveSelection()
{
nsCOMPtr<nsISelectionController> control = do_QueryReferent(mPresShell);
nsCOMPtr<nsISelection> selection;
nsresult rv = control->GetSelection(nsISelectionController::SELECTION_NORMAL, getter_AddRefs(selection));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsIDOMNode> parent;
rv = mNode->GetParentNode(getter_AddRefs(parent));
if (NS_FAILED(rv))
return rv;
rv = selection->Collapse(parent, 0);
if (NS_FAILED(rv))
return rv;
return NS_OK;
}
/* void accTakeSelection (); */
NS_IMETHODIMP nsDOMAccessible::AccTakeSelection()
{
nsCOMPtr<nsISelectionController> control = do_QueryReferent(mPresShell);
nsCOMPtr<nsISelection> selection;
nsresult rv = control->GetSelection(nsISelectionController::SELECTION_NORMAL, getter_AddRefs(selection));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsIDOMNode> parent;
rv = mNode->GetParentNode(getter_AddRefs(parent));
if (NS_FAILED(rv))
return rv;
PRInt32 offsetInParent = 0;
nsCOMPtr<nsIDOMNode> child;
rv = parent->GetFirstChild(getter_AddRefs(child));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsIDOMNode> next;
while(child)
{
if (child == mNode) {
// Collapse selection to just before desired element,
rv = selection->Collapse(parent, offsetInParent);
if (NS_FAILED(rv))
return rv;
// then extend it to just after
rv = selection->Extend(parent, offsetInParent+1);
return rv;
}
child->GetNextSibling(getter_AddRefs(next));
child = next;
offsetInParent++;
}
// didn't find a child
return NS_ERROR_FAILURE;
}
/* void accTakeFocus (); */
NS_IMETHODIMP nsDOMAccessible::AccTakeFocus()
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsCOMPtr<nsIPresContext> context;
shell->GetPresContext(getter_AddRefs(context));
nsCOMPtr<nsIContent> content = do_QueryInterface(mNode);
content->SetFocus(context);
return NS_OK;
}
//-------------
// nsLeafFrameAccessible
//-------------
nsLeafDOMAccessible::nsLeafDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsDOMAccessible(aShell, aNode)
{
}
/* nsIAccessible getAccFirstChild (); */
NS_IMETHODIMP nsLeafDOMAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
/* nsIAccessible getAccLastChild (); */
NS_IMETHODIMP nsLeafDOMAccessible::GetAccLastChild(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
/* long getAccChildCount (); */
NS_IMETHODIMP nsLeafDOMAccessible::GetAccChildCount(PRInt32 *_retval)
{
*_retval = 0;
return NS_OK;
}

View File

@@ -0,0 +1,84 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric D Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#ifndef _nsGenericAccessible_H_
#define _nsGenericAccessible_H_
#include "nsISupports.h"
#include "nsIAccessible.h"
#include "nsIContent.h"
#include "nsIDOMNode.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsCOMPtr.h"
class nsIWeakReference;
/**
* Basic implementation
* supports nothing
*/
class nsGenericAccessible : public nsIAccessible
{
NS_DECL_ISUPPORTS
NS_DECL_NSIACCESSIBLE
public:
nsGenericAccessible();
virtual ~nsGenericAccessible();
};
/**
* And accessible that observes a dom node
* supports:
* - selection
* - focus
*/
class nsDOMAccessible : public nsGenericAccessible
{
public:
nsDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD AccTakeSelection(void);
NS_IMETHOD AccTakeFocus(void);
NS_IMETHOD AccRemoveSelection(void);
protected:
nsIWeakReference* mPresShell;
nsCOMPtr<nsIDOMNode> mNode;
};
/* Leaf version of DOM Accessible
* has no children
*/
class nsLeafDOMAccessible : public nsDOMAccessible
{
public:
nsLeafDOMAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccFirstChild(nsIAccessible **_retval);
NS_IMETHOD GetAccLastChild(nsIAccessible **_retval);
NS_IMETHOD GetAccChildCount(PRInt32 *_retval);
};
#endif

View File

@@ -0,0 +1,175 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#include "nsHTMLFormControlAccessible.h"
#include "nsWeakReference.h"
#include "nsIFrame.h"
#include "nsIDOMHTMLInputElement.h"
#include "nsINameSpaceManager.h"
#include "nsHTMLAtoms.h"
#include "nsIDOMHTMLButtonElement.h"
#include "nsReadableUtils.h"
nsHTMLFormControlAccessible::nsHTMLFormControlAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsLeafDOMAccessible(aShell, aNode)
{
}
/* wstring getAccName (); */
NS_IMETHODIMP nsHTMLFormControlAccessible::GetAccName(PRUnichar **_retval)
{
// go up tree get name of label if there is one.
return NS_ERROR_NOT_IMPLEMENTED;
}
/* wstring getAccState (); */
NS_IMETHODIMP nsHTMLFormControlAccessible::GetAccState(PRUint32 *_retval)
{
// can be
// focusable, focused, checked
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
PRBool checked = PR_FALSE;
element->GetChecked(&checked);
*_retval = (checked ? STATE_CHECKED : 0);
return NS_OK;
}
// --- checkbox -----
nsHTMLCheckboxAccessible::nsHTMLCheckboxAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsHTMLFormControlAccessible(aShell, aNode)
{
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLCheckboxAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("check box"));
return NS_OK;
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsHTMLCheckboxAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
// check or uncheck
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
PRBool checked = PR_FALSE;
element->GetChecked(&checked);
if (checked)
*_retval = ToNewUnicode(NS_LITERAL_STRING("Check"));
else
*_retval = ToNewUnicode(NS_LITERAL_STRING("UnCheck"));
return NS_OK;
}
/* void accDoDefaultAction (); */
NS_IMETHODIMP nsHTMLCheckboxAccessible::AccDoDefaultAction()
{
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
PRBool checked = PR_FALSE;
element->GetChecked(&checked);
element->SetChecked(checked ? PR_FALSE : PR_TRUE);
return NS_OK;
}
//------ Radio button -------
nsHTMLRadioButtonAccessible::nsHTMLRadioButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsHTMLFormControlAccessible(aShell, aNode)
{
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsHTMLRadioButtonAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("Select"));
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLRadioButtonAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("radio button"));
return NS_OK;
}
NS_IMETHODIMP nsHTMLRadioButtonAccessible::AccDoDefaultAction()
{
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
element->Click();
return NS_OK;
}
// ----- Button -----
nsHTMLButtonAccessible::nsHTMLButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode):
nsHTMLFormControlAccessible(aShell, aNode)
{
}
/* wstring getAccDefaultAction (); */
NS_IMETHODIMP nsHTMLButtonAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("Press"));
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLButtonAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("push button"));
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLButtonAccessible::GetAccName(PRUnichar **_retval)
{
*_retval = nsnull;
nsCOMPtr<nsIDOMHTMLInputElement> button = do_QueryInterface(mNode);
if (!button)
return NS_ERROR_FAILURE;
nsAutoString name;
button->GetValue(name);
name.CompressWhitespace();
*_retval = name.ToNewUnicode();
return NS_OK;
}
NS_IMETHODIMP nsHTMLButtonAccessible::AccDoDefaultAction()
{
nsCOMPtr<nsIDOMHTMLInputElement> element = do_QueryInterface(mNode);
element->Click();
return NS_OK;
}

View File

@@ -0,0 +1,77 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric D Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#ifndef _nsHTMLFormControlAccessible_H_
#define _nsHTMLFormControlAccessible_H_
#include "nsGenericAccessible.h"
class nsICheckboxControlFrame;
/* Accessible for supporting for controls
* supports:
* - walking up to get name from label
* - support basic state
*/
class nsHTMLFormControlAccessible : public nsLeafDOMAccessible
{
public:
nsHTMLFormControlAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccState(PRUint32 *_retval);
};
class nsHTMLCheckboxAccessible : public nsHTMLFormControlAccessible
{
public:
nsHTMLCheckboxAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccDefaultAction(PRUnichar **_retval);
NS_IMETHOD AccDoDefaultAction(void);
};
class nsHTMLRadioButtonAccessible : public nsHTMLFormControlAccessible
{
public:
nsHTMLRadioButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccDefaultAction(PRUnichar **_retval);
NS_IMETHOD AccDoDefaultAction(void);
};
class nsHTMLButtonAccessible : public nsHTMLFormControlAccessible
{
public:
nsHTMLButtonAccessible(nsIPresShell* aShell, nsIDOMNode* aNode);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccDefaultAction(PRUnichar **_retval);
NS_IMETHOD AccDoDefaultAction(void);
};
#endif

View File

@@ -0,0 +1,51 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Author: Eric Vaughan (evaughan@netscape.com)
* Contributor(s):
*/
#include "nsHTMLTextAccessible.h"
#include "nsICheckboxControlFrame.h"
#include "nsWeakReference.h"
#include "nsIFrame.h"
nsHTMLTextAccessible::nsHTMLTextAccessible(nsIPresShell* aShell, nsIDOMNode* aDomNode):
nsLeafDOMAccessible(aShell, aDomNode)
{
}
/* wstring getAccName (); */
NS_IMETHODIMP nsHTMLTextAccessible::GetAccName(PRUnichar **_retval)
{
nsAutoString value;
mNode->GetNodeValue(value);
value.CompressWhitespace();
*_retval = value.ToNewUnicode();
return NS_OK;
}
/* wstring getAccRole (); */
NS_IMETHODIMP nsHTMLTextAccessible::GetAccRole(PRUnichar **_retval)
{
nsAutoString role(NS_LITERAL_STRING("text"));
*_retval = role.ToNewUnicode();
return NS_OK;
}

View File

@@ -0,0 +1,43 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsHTMLTextAccessible_H_
#define _nsHTMLTextAccessible_H_
#include "nsGenericAccessible.h"
class nsIWeakReference;
class nsITextControlFrame;
class nsHTMLTextAccessible : public nsLeafDOMAccessible
{
public:
nsHTMLTextAccessible(nsIPresShell* aShell, nsIDOMNode* aDomNode);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
private:
nsCOMPtr<nsIDOMNode> mDomNode;
};
#endif

View File

@@ -0,0 +1,263 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#include "nsMutableAccessible.h"
#include "nsINameSpaceManager.h"
NS_IMPL_ISUPPORTS1(nsMutableAccessible, nsIAccessible)
nsMutableAccessible::nsMutableAccessible(nsISupports* aNode)
{
NS_INIT_ISUPPORTS();
NS_ASSERTION(aNode,"We must have a valid node!!");
mNode = aNode;
mNameNodeValue = PR_FALSE;
mNameStringSet = PR_FALSE;
mRole = NS_LITERAL_STRING("unknown");
mIsLeaf = PR_FALSE;
}
nsMutableAccessible::~nsMutableAccessible()
{
}
NS_IMETHODIMP nsMutableAccessible::SetIsLeaf(PRBool aLeaf)
{
mIsLeaf = aLeaf;
return NS_OK;
}
/* void SetNodeAsNodeValue (); */
NS_IMETHODIMP nsMutableAccessible::SetNameAsNodeValue()
{
mNameNodeValue = PR_TRUE;
return NS_OK;
}
/* void SetName (in wstring name); */
NS_IMETHODIMP nsMutableAccessible::SetName(const PRUnichar *aName)
{
mName = aName;
mNameStringSet = PR_TRUE;
return NS_OK;
}
/* void SetNameAsAttribute (in nsIAtom atom); */
NS_IMETHODIMP nsMutableAccessible::SetNameAsAttribute(nsIAtom *aAttribute)
{
mNameAttribute = aAttribute;
return NS_OK;
}
/* void SetNameAsAttribute (in nsIAtom atom); */
NS_IMETHODIMP nsMutableAccessible::SetRole(const PRUnichar *aRole)
{
mRole = aRole;
return NS_OK;
}
NS_IMETHODIMP nsMutableAccessible::GetAccParent(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
if (mIsLeaf) {
*_retval = nsnull;
return NS_OK;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccLastChild(nsIAccessible **_retval)
{
if (mIsLeaf) {
*_retval = nsnull;
return NS_OK;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccChildCount(PRInt32 *_retval)
{
if (mIsLeaf) {
*_retval = 0;
return NS_OK;
}
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccName(PRUnichar **_retval)
{
nsAutoString value;
if (mNameNodeValue) {
// see if we can get nodevalue
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(mNode);
if (node) {
node->GetNodeValue(value);
value.CompressWhitespace();
} else {
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
} else if (mNameStringSet) {
value = mName;
} else if (mNameAttribute) {
nsCOMPtr<nsIContent> content = do_QueryInterface(mNode);
content->GetAttribute(kNameSpaceID_None, mNameAttribute, value);
value.CompressWhitespace();
} else {
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
*_retval = value.ToNewUnicode();
return NS_OK;
}
NS_IMETHODIMP nsMutableAccessible::GetAccValue(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::SetAccName(const PRUnichar *name)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::SetAccValue(const PRUnichar *value)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccDescription(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = mRole.ToNewUnicode();
return NS_OK;
}
NS_IMETHODIMP nsMutableAccessible::GetAccState(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccExtState(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccDefaultAction(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccHelp(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::GetAccFocused(PRBool *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccGetAt(PRInt32 x, PRInt32 y, nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccNavigateRight(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccNavigateLeft(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccNavigateUp(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccNavigateDown(nsIAccessible **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccAddSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccRemoveSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccExtendSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccTakeSelection()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccTakeFocus()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsMutableAccessible::AccDoDefaultAction()
{
return NS_ERROR_NOT_IMPLEMENTED;
}

View File

@@ -0,0 +1,52 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsMutableAccessible_H_
#define _nsMutableAccessible_H_
#include "nsAccessible.h"
#include "nsString.h"
#include "nsIMutableAccessible.h"
class nsMutableAccessible : public nsIMutableAccessible
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIACCESSIBLE
NS_DECL_NSIMUTABLEACCESSIBLE
nsMutableAccessible(nsISupports* aNode);
virtual ~nsMutableAccessible();
private:
nsCOMPtr<nsISupports> mNode;
nsAutoString mName;
nsAutoString mRole;
nsCOMPtr<nsIAtom> mNameAttribute;
PRPackedBool mNameNodeValue;
PRPackedBool mNameStringSet;
PRPackedBool mIsLeaf;
};
#endif

View File

@@ -0,0 +1,199 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#include "nsRootAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsIDOMEventTarget.h"
#include "nsIDOMElement.h"
#include "nsIDOMEventReceiver.h"
#include "nsReadableUtils.h"
NS_INTERFACE_MAP_BEGIN(nsRootAccessible)
NS_INTERFACE_MAP_ENTRY(nsIAccessibleEventReceiver)
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAccessibleEventReceiver)
NS_INTERFACE_MAP_END_INHERITING(nsAccessible)
NS_IMPL_ADDREF_INHERITED(nsRootAccessible, nsAccessible);
NS_IMPL_RELEASE_INHERITED(nsRootAccessible, nsAccessible);
//-----------------------------------------------------
// construction
//-----------------------------------------------------
nsRootAccessible::nsRootAccessible(nsIWeakReference* aShell, nsIFrame* aFrame):nsAccessible(nsnull,nsnull,aShell)
{
// mFrame = aFrame;
mListener = nsnull;
}
//-----------------------------------------------------
// destruction
//-----------------------------------------------------
nsRootAccessible::~nsRootAccessible()
{
RemoveAccessibleEventListener(mListener);
}
/* attribute wstring accName; */
NS_IMETHODIMP nsRootAccessible::GetAccName(PRUnichar * *aAccName)
{
*aAccName = ToNewUnicode(NS_LITERAL_STRING("Mozilla Document"));
return NS_OK;
}
// helpers
nsIFrame* nsRootAccessible::GetFrame()
{
//if (!mFrame) {
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* root = nsnull;
if (shell)
shell->GetRootFrame(&root);
return root;
//}
// return mFrame;
}
nsIAccessible* nsRootAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return new nsHTMLBlockAccessible(aAccessible, aContent, aShell);
}
/* readonly attribute nsIAccessible accParent; */
NS_IMETHODIMP nsRootAccessible::GetAccParent(nsIAccessible * *aAccParent)
{
*aAccParent = nsnull;
return NS_OK;
}
/* readonly attribute wstring accRole; */
NS_IMETHODIMP nsRootAccessible::GetAccRole(PRUnichar * *aAccRole)
{
*aAccRole = ToNewUnicode(NS_LITERAL_STRING("client"));
return NS_OK;
}
/* void addAccessibleEventListener (in nsIAccessibleEventListener aListener); */
NS_IMETHODIMP nsRootAccessible::AddAccessibleEventListener(nsIAccessibleEventListener *aListener)
{
if (!mListener)
{
// add an event listener to the document
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsCOMPtr<nsIDocument> document;
shell->GetDocument(getter_AddRefs(document));
nsCOMPtr<nsIDOMEventReceiver> receiver;
if (NS_SUCCEEDED(document->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(receiver))) && receiver)
{
nsresult rv = receiver->AddEventListenerByIID(NS_STATIC_CAST(nsIDOMFocusListener *, this), NS_GET_IID(nsIDOMFocusListener));
NS_ASSERTION(NS_SUCCEEDED(rv), "failed to register listener");
}
}
// create a weak reference to the listener
mListener = aListener;
return NS_OK;
}
/* void removeAccessibleEventListener (in nsIAccessibleEventListener aListener); */
NS_IMETHODIMP nsRootAccessible::RemoveAccessibleEventListener(nsIAccessibleEventListener *aListener)
{
if (mListener)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsCOMPtr<nsIDocument> document;
if (!shell)
return NS_OK;
shell->GetDocument(getter_AddRefs(document));
nsCOMPtr<nsIDOMEventReceiver> erP;
if (NS_SUCCEEDED(document->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(erP))) && erP)
{
nsresult rv = erP->RemoveEventListenerByIID(NS_STATIC_CAST(nsIDOMFocusListener *, this), NS_GET_IID(nsIDOMFocusListener));
NS_ASSERTION(NS_SUCCEEDED(rv), "failed to register listener");
}
}
mListener = nsnull;
return NS_OK;
}
nsresult nsRootAccessible::HandleEvent(nsIDOMEvent* aEvent)
{
if (mListener) {
nsCOMPtr<nsIDOMEventTarget> t;
aEvent->GetOriginalTarget(getter_AddRefs(t));
// create and accessible for the target
nsCOMPtr<nsIContent> content = do_QueryInterface(t);
if (!content)
return NS_OK;
if (mCurrentFocus == content)
return NS_OK;
mCurrentFocus = content;
nsIFrame* frame = nsnull;
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
shell->GetPrimaryFrameFor(content, &frame);
if (!frame)
return NS_OK;
nsCOMPtr<nsIAccessible> a = do_QueryInterface(frame);
if (!a)
a = do_QueryInterface(content);
nsCOMPtr<nsIAccessible> na = CreateNewAccessible(a, content, mPresShell);
mListener->HandleEvent(nsIAccessibleEventListener::EVENT_FOCUS, na);
}
return NS_OK;
}
nsresult nsRootAccessible::Focus(nsIDOMEvent* aEvent)
{
return NS_OK;
}
nsresult nsRootAccessible::Blur(nsIDOMEvent* aEvent)
{
return NS_OK;
}

View File

@@ -0,0 +1,70 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#ifndef _nsRootAccessible_H_
#define _nsRootAccessible_H_
#include "nsAccessible.h"
#include "nsIAccessibleEventReceiver.h"
#include "nsIAccessibleEventListener.h"
#include "nsIDOMFocusListener.h"
class nsRootAccessible : public nsAccessible,
public nsIAccessibleEventReceiver,
public nsIDOMFocusListener
{
NS_DECL_ISUPPORTS_INHERITED
public:
nsRootAccessible(nsIWeakReference* aShell, nsIFrame* aFrame = nsnull);
virtual ~nsRootAccessible();
/* attribute wstring accName; */
NS_IMETHOD GetAccName(PRUnichar * *aAccName);
NS_IMETHOD GetAccParent(nsIAccessible * *aAccParent);
NS_IMETHOD GetAccRole(PRUnichar * *aAccRole);
// ----- nsIAccessibleEventReceiver ------
NS_IMETHOD AddAccessibleEventListener(nsIAccessibleEventListener *aListener);
NS_IMETHOD RemoveAccessibleEventListener(nsIAccessibleEventListener *aListener);
// ----- nsIDOMEventListener --------
virtual nsresult HandleEvent(nsIDOMEvent* anEvent);
virtual nsresult Focus(nsIDOMEvent* aEvent);
virtual nsresult Blur(nsIDOMEvent* aEvent);
protected:
virtual nsIFrame* GetFrame();
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
// not a com pointer. We don't own the listener
// it is the callers responsibility to remove the listener
// otherwise we will get into circular referencing problems
nsIAccessibleEventListener* mListener;
nsCOMPtr<nsIContent> mCurrentFocus;
};
#endif

View File

@@ -0,0 +1,717 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#include "nsSelectAccessible.h"
#include "nsCOMPtr.h"
#include "nsIDocument.h"
#include "nsIPresShell.h"
#include "nsIPresContext.h"
#include "nsIContent.h"
#include "nsIFrame.h"
#include "nsRootAccessible.h"
#include "nsINameSpaceManager.h"
#include "nsMutableAccessible.h"
#include "nsLayoutAtoms.h"
#include "nsIDOMMenuListener.h"
#include "nsIDOMEventReceiver.h"
#include "nsReadableUtils.h"
class nsSelectChildAccessible : public nsAccessible,
public nsIDOMMenuListener
{
public:
NS_DECL_ISUPPORTS_INHERITED
nsSelectChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsSelectChildAccessible();
NS_IMETHOD GetAccNextSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccValue(PRUnichar **_retval);
virtual nsIAccessible* CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
// popup listener
NS_IMETHOD Create(nsIDOMEvent* aEvent);
NS_IMETHOD Close(nsIDOMEvent* aEvent);
NS_IMETHOD Destroy(nsIDOMEvent* aEvent);
NS_IMETHOD Action(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD Broadcast(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD CommandUpdate(nsIDOMEvent* aEvent) { return NS_OK; }
nsresult HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
nsCOMPtr<nsIAtom> mPopupAtom;
nsCOMPtr<nsIContent> mSelectContent;
PRBool mRegistered;
PRBool mOpen;
};
NS_IMPL_ISUPPORTS_INHERITED(nsSelectChildAccessible, nsAccessible, nsIDOMMenuListener)
class nsSelectWindowAccessible : public nsAccessible,
public nsIDOMMenuListener
{
public:
NS_DECL_ISUPPORTS_INHERITED
nsSelectWindowAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aPrev, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsSelectWindowAccessible();
NS_IMETHOD GetAccParent(nsIAccessible **_retval);
NS_IMETHOD GetAccNextSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccPreviousSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccLastChild(nsIAccessible **_retval);
NS_IMETHOD GetAccFirstChild(nsIAccessible **_retval);
NS_IMETHOD GetAccChildCount(PRInt32 *_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccState(PRUint32 *_retval);
NS_IMETHOD GetAccExtState(PRUint32 *_retval);
// popup listener
NS_IMETHOD Create(nsIDOMEvent* aEvent);
NS_IMETHOD Close(nsIDOMEvent* aEvent);
NS_IMETHOD Destroy(nsIDOMEvent* aEvent);
NS_IMETHOD Action(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD Broadcast(nsIDOMEvent* aEvent) { return NS_OK; }
NS_IMETHOD CommandUpdate(nsIDOMEvent* aEvent) { return NS_OK; }
nsresult HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
// helpers
virtual nsIFrame* GetBoundsFrame();
nsCOMPtr<nsIAccessible> mParent;
nsCOMPtr<nsIAccessible> mPrev;
nsCOMPtr<nsIAtom> mPopupAtom;
PRBool mRegistered;
PRBool mOpen;
};
NS_IMPL_ISUPPORTS_INHERITED(nsSelectWindowAccessible, nsAccessible, nsIDOMMenuListener)
class nsSelectListAccessible : public nsAccessible
{
public:
nsSelectListAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsSelectListAccessible() {}
NS_IMETHOD GetAccParent(nsIAccessible **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccNextSibling(nsIAccessible **_retval);
NS_IMETHOD GetAccPreviousSibling(nsIAccessible **_retval);
NS_IMETHOD AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height);
virtual void GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList);
virtual nsIAccessible* CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIAtom> mPopupAtom;
nsCOMPtr<nsIAccessible> mParent;
};
class nsListChildAccessible : public nsAccessible
{
public:
nsListChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual ~nsListChildAccessible() {}
NS_IMETHOD GetAccParent(nsIAccessible **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
virtual void GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList);
virtual nsIAccessible* CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIAccessible> mParent;
nsCOMPtr<nsIAtom> mPopupAtom;
nsCOMPtr<nsIContent> mSelectContent;
};
//---------
nsSelectAccessible::nsSelectAccessible(nsIAtom* aPopupAtom,
nsIAccessible* aAccessible,
nsIContent* aContent,
nsIWeakReference* aShell)
:nsAccessible(aAccessible, aContent, aShell)
{
mPopupAtom = aPopupAtom;
}
NS_IMETHODIMP nsSelectAccessible::GetAccValue(PRUnichar **_retval)
{
// our value is our first child's value. Which is the combo boxes text.
nsCOMPtr<nsIAccessible> text;
nsresult rv = GetAccFirstChild(getter_AddRefs(text));
if (NS_FAILED(rv)) {
*_retval = nsnull;
return rv;
}
if (!text) {
*_retval = nsnull;
return NS_ERROR_FAILURE;
}
// look at our role
return text->GetAccValue(_retval);
}
NS_IMETHODIMP nsSelectAccessible::GetAccName(PRUnichar **_retval)
{
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("combo box"));
return NS_OK;
}
NS_IMETHODIMP nsSelectAccessible::GetAccLastChild(nsIAccessible **_retval)
{
// get the last child. Wrap it with a connector that connects it to the window accessible
nsCOMPtr<nsIAccessible> last;
nsresult rv = nsAccessible::GetAccLastChild(getter_AddRefs(last));
if (NS_FAILED(rv))
return rv;
if (!last) {
// we have a parent but not previous
*_retval = new nsSelectWindowAccessible(mPopupAtom, this, nsnull, nsnull, mContent, mPresShell);
} else {
*_retval = last;
}
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
// get the last child. Wrap it with a connector that connects it to the window accessible
nsCOMPtr<nsIAccessible> first;
nsresult rv = nsAccessible::GetAccFirstChild(getter_AddRefs(first));
if (NS_FAILED(rv))
return rv;
if (!first) {
*_retval = new nsSelectWindowAccessible(mPopupAtom, this, nsnull, nsnull, mContent, mPresShell);
} else {
*_retval = first;
}
NS_ADDREF(*_retval);
return NS_OK;
}
nsIAccessible* nsSelectAccessible::CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewLastAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsSelectAccessible::CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsSelectChildAccessible(mPopupAtom, mContent, aAccessible, aContent, aShell);
}
NS_IMETHODIMP nsSelectAccessible::GetAccChildCount(PRInt32 *_retval)
{
nsresult rv = nsAccessible::GetAccChildCount(_retval);
if (NS_FAILED(rv))
return rv;
// always have one more that is our window child
(*_retval)++;
return NS_OK;
}
//--------------------
nsSelectChildAccessible::nsSelectChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell):
nsAccessible(aAccessible, aContent, aShell)
{
mPopupAtom = aPopupAtom;
mSelectContent = aSelectContent;
mRegistered = PR_FALSE;
mOpen = PR_FALSE;
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccValue(PRUnichar **_retval)
{
nsresult rv = NS_OK;
PRUnichar* string = nsnull;
// look at our role
rv = nsAccessible::GetAccRole(&string);
if (NS_FAILED(rv)) {
*_retval = nsnull;
return rv;
}
nsAutoString role(string);
// if its the text in the combo box then
// its value should be its name.
if (role.EqualsIgnoreCase("text")) {
rv = nsAccessible::GetAccName(_retval);
} else {
rv = nsAccessible::GetAccValue(_retval);
}
delete string;
return rv;
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccRole(PRUnichar **_retval)
{
nsresult rv = NS_OK;
PRUnichar* string = nsnull;
// look at our role
rv = nsAccessible::GetAccRole(&string);
if (NS_FAILED(rv)) {
*_retval = nsnull;
return rv;
}
nsAutoString role(string);
// any text in the combo box is static
if (role.EqualsIgnoreCase("text")) {
// if it the comboboxes text. Make it static
*_retval = ToNewUnicode(NS_LITERAL_STRING("static text"));
} else {
rv = nsAccessible::GetAccRole(_retval);
}
delete string;
return rv;
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccName(PRUnichar **_retval)
{
nsresult rv = NS_OK;
PRUnichar* string = nsnull;
// look at our role
nsAccessible::GetAccRole(&string);
nsAutoString role(string);
// if button then we need to make the name be open or close
if (role.EqualsIgnoreCase("push button"))
{
// if its a button and not already registered,
// register ourselves as a popup listener
if (!mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mSelectContent);
if (!eventReceiver) {
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
eventReceiver->AddEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
mRegistered = PR_TRUE;
}
// get the current state open or closed
// set _retval to it.
// notice its supposed to be reversed. Close if opened
// and Open if closed.
if (mOpen)
*_retval = ToNewUnicode(NS_LITERAL_STRING("Close"));
else
*_retval = ToNewUnicode(NS_LITERAL_STRING("Open"));
} else {
/*rv = nsAccessible::GetAccName(_retval);*/
rv = NS_ERROR_NOT_IMPLEMENTED;
*_retval = nsnull;
}
delete string;
return rv;
}
nsSelectChildAccessible::~nsSelectChildAccessible()
{
if (mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mSelectContent);
if (eventReceiver)
eventReceiver->RemoveEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
}
}
NS_IMETHODIMP nsSelectChildAccessible::Create(nsIDOMEvent* aEvent)
{
mOpen = PR_TRUE;
printf("Open\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectChildAccessible::Destroy(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectChildAccessible::Close(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
nsIAccessible* nsSelectChildAccessible::CreateNewNextAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
return CreateNewPreviousAccessible(aAccessible, aContent, aShell);
}
nsIAccessible* nsSelectChildAccessible::CreateNewPreviousAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsSelectChildAccessible(mPopupAtom, mSelectContent, aAccessible, aContent, aShell);
}
NS_IMETHODIMP nsSelectChildAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
nsCOMPtr<nsIAccessible> next;
nsresult rv = nsAccessible::GetAccNextSibling(getter_AddRefs(next));
if (NS_FAILED(rv))
return rv;
if (!next) {
// ok no more siblings. Lets create our window
nsCOMPtr<nsIAccessible> parent;
GetAccParent(getter_AddRefs(parent));
*_retval = new nsSelectWindowAccessible(mPopupAtom, parent, nsnull, nsnull, mSelectContent, mPresShell);
} else {
*_retval = next;
}
NS_ADDREF(*_retval);
return NS_OK;
}
//---------------------
nsSelectWindowAccessible::nsSelectWindowAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aPrev, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
:nsAccessible(aAccessible, aContent, aShell)
{
mParent = aParent;
mPrev = aPrev;
mPopupAtom = aPopupAtom;
mRegistered = PR_FALSE;
mOpen = PR_FALSE;
}
nsSelectWindowAccessible::~nsSelectWindowAccessible()
{
if (mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mContent);
if (eventReceiver)
eventReceiver->RemoveEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
}
}
NS_IMETHODIMP nsSelectWindowAccessible::Create(nsIDOMEvent* aEvent)
{
mOpen = PR_TRUE;
printf("Open\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::Destroy(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::Close(nsIDOMEvent* aEvent)
{
mOpen = PR_FALSE;
printf("Close\n");
/* TBD send state change event */
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccState(PRUint32 *_retval)
{
// not not already one register ourselves as a popup listener
if (!mRegistered) {
nsCOMPtr<nsIDOMEventReceiver> eventReceiver = do_QueryInterface(mContent);
if (!eventReceiver) {
*_retval = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
nsresult rv = eventReceiver->AddEventListener(NS_LITERAL_STRING("create"), this, PR_TRUE);
if (NS_FAILED(rv)) {
*_retval = 0;
return rv;
}
mRegistered = PR_TRUE;
}
// if open we are visible if closed we are invisible
// set _retval to it.
if (mOpen)
*_retval |= STATE_DEFAULT;
else
*_retval |= STATE_INVISIBLE;
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccExtState(PRUint32 *_retval)
{
*_retval=0;
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccName(PRUnichar **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("window"));
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccParent(nsIAccessible **_retval)
{
*_retval = mParent;
NS_IF_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
*_retval = mPrev;
NS_IF_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccLastChild(nsIAccessible **_retval)
{
*_retval = new nsSelectListAccessible(mPopupAtom, this, nsnull, mContent, mPresShell);
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccFirstChild(nsIAccessible **_retval)
{
*_retval = new nsSelectListAccessible(mPopupAtom, this, nsnull, mContent, mPresShell);
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectWindowAccessible::GetAccChildCount(PRInt32 *_retval)
{
*_retval = 1;
return NS_OK;
}
/*
NS_IMETHODIMP nsSelectWindowAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
*x = *y = *width = *height = 0;
return NS_OK;
}
*/
nsIFrame* nsSelectWindowAccessible::GetBoundsFrame()
{
// get our frame
nsIFrame* frame = GetFrame();
nsCOMPtr<nsIPresContext> context;
GetPresContext(context);
// get its first popup child that should be the window
frame->FirstChild(context, mPopupAtom, &frame);
return frame;
}
//----------
nsSelectListAccessible::nsSelectListAccessible(nsIAtom* aPopupAtom, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
:nsAccessible(aAccessible, aContent, aShell)
{
mPopupAtom = aPopupAtom;
mParent = aParent;
}
void nsSelectListAccessible::GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(mContent, &frame);
if (aFrame == frame)
aList = mPopupAtom;
else
aList = nsnull;
}
NS_IMETHODIMP nsSelectListAccessible::AccGetBounds(PRInt32 *x, PRInt32 *y, PRInt32 *width, PRInt32 *height)
{
return mParent->AccGetBounds(x,y,width,height);
}
NS_IMETHODIMP nsSelectListAccessible::GetAccParent(nsIAccessible **_retval)
{
*_retval = mParent;
NS_ADDREF(*_retval);
return NS_OK;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccName(PRUnichar **_retval)
{
*_retval = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("list"));
return NS_OK;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccPreviousSibling(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
NS_IMETHODIMP nsSelectListAccessible::GetAccNextSibling(nsIAccessible **_retval)
{
*_retval = nsnull;
return NS_OK;
}
nsIAccessible* nsSelectListAccessible::CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsListChildAccessible(mPopupAtom, mContent, this, aAccessible, aContent, aShell);
}
nsIAccessible* nsSelectListAccessible::CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsListChildAccessible(mPopupAtom, mContent, this, aAccessible, aContent, aShell);
}
//--------
nsListChildAccessible::nsListChildAccessible(nsIAtom* aPopupAtom, nsIContent* aSelectContent, nsIAccessible* aParent, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell):
nsAccessible(aAccessible, aContent, aShell)
{
mParent = aParent;
mPopupAtom = aPopupAtom;
mSelectContent = aSelectContent;
}
nsIAccessible* nsListChildAccessible::CreateNewAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell)
{
NS_ASSERTION(aAccessible && aContent,"Error not accessible or content");
return new nsListChildAccessible(mPopupAtom, mSelectContent, mParent, aAccessible, aContent, aShell);
}
void nsListChildAccessible::GetListAtomForFrame(nsIFrame* aFrame, nsIAtom*& aList)
{
nsCOMPtr<nsIPresShell> shell = do_QueryReferent(mPresShell);
nsIFrame* frame = nsnull;
shell->GetPrimaryFrameFor(mSelectContent, &frame);
if (aFrame == frame)
aList = mPopupAtom;
else
aList = nsnull;
}
NS_IMETHODIMP nsListChildAccessible::GetAccRole(PRUnichar **_retval)
{
*_retval = ToNewUnicode(NS_LITERAL_STRING("list item"));
return NS_OK;
}
NS_IMETHODIMP nsListChildAccessible::GetAccParent(nsIAccessible **_retval)
{
*_retval = mParent;
NS_IF_ADDREF(*_retval);
return NS_OK;
}

View File

@@ -0,0 +1,51 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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.
*
* Original Author: David W. Hyatt (hyatt@netscape.com)
*
* Contributor(s):
*/
#ifndef __nsSelectAccessible_h__
#define __nsSelectAccessible_h__
#include "nsAccessible.h"
#include "nsCOMPtr.h"
#include "nsIAtom.h"
class nsSelectAccessible : public nsAccessible
{
public:
nsSelectAccessible(nsIAtom* aPopupAtom, nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
NS_IMETHOD GetAccLastChild(nsIAccessible **_retval);
NS_IMETHOD GetAccFirstChild(nsIAccessible **_retval);
NS_IMETHOD GetAccName(PRUnichar **_retval);
NS_IMETHOD GetAccValue(PRUnichar **_retval);
NS_IMETHOD GetAccRole(PRUnichar **_retval);
NS_IMETHOD GetAccChildCount(PRInt32 *_retval);
virtual ~nsSelectAccessible() {}
virtual nsIAccessible* CreateNewFirstAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
virtual nsIAccessible* CreateNewLastAccessible(nsIAccessible* aAccessible, nsIContent* aContent, nsIWeakReference* aShell);
nsCOMPtr<nsIAtom> mPopupAtom;
};
#endif

14
mozilla/aclocal.m4 vendored Normal file
View File

@@ -0,0 +1,14 @@
dnl
dnl Local autoconf macros used with mozilla
dnl The contents of this file are under the Public Domain.
dnl
builtin(include, build/autoconf/glib.m4)dnl
builtin(include, build/autoconf/gtk.m4)dnl
builtin(include, build/autoconf/gdk-pixbuf.m4)dnl
builtin(include, build/autoconf/libIDL.m4)dnl
builtin(include, build/autoconf/nspr.m4)dnl
dnl
define(MOZ_TOPSRCDIR,.)dnl MOZ_TOPSRCDIR is used in altoptions.m4
builtin(include, build/autoconf/altoptions.m4)dnl

1174
mozilla/allmakefiles.sh Executable file

File diff suppressed because it is too large Load Diff

40
mozilla/build/Makefile.in Normal file
View File

@@ -0,0 +1,40 @@
#
# 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 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
DEPTH = ..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = unix
include $(topsrcdir)/config/rules.mk
# Install bloaturls.txt file for tinderbox Bloaty test.
install:: $(srcdir)/bloaturls.txt
$(INSTALL) $< $(DIST)/bin
# Install startup.html, startup test page.
install:: $(srcdir)/startup-test.html
$(INSTALL) $< $(DIST)/bin

View File

@@ -0,0 +1,179 @@
#! /usr/bin/env 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# acoutput-fast.pl - Quickly create makefiles that are in a common format.
#
# Most of the makefiles in mozilla only refer to two configure variables:
# @srcdir@
# @top_srcdir@
# However, configure does not know any better and it runs sed on each file
# with over 150 replacement rules (slow as molasses).
#
# This script takes a list of makefiles as input. For example,
#
# echo $MAKEFILES | acoutput-fast.pl
#
# The script creates each Makefile that only references @srcdir@ and
# @top_srcdir@. For other files, it lists them in a shell command that is
# printed to stdout:
#
# CONFIG_FILES="unhandled_files..."; export CONFIG_FILES
#
# This command can be used to have config.status create the unhandled
# files. For example,
#
# eval "echo $MAKEFILES | acoutput-fast.pl"
# AC_OUTPUT($MAKEFILES)
#
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
#use File::Basename;
sub dirname {
my $dir = $_[0];
return '.' if not $dir =~ m%/%;
$dir =~ s%/[^/][^/]*$%%;
return $dir;
}
# Create one directory. Assumes it doesn't already exist.
# Will create parent(s) if needed.
sub create_directory {
my $dir = $_[0];
my $parent = dirname($dir);
create_directory($parent) if not -d $parent;
mkdir "$dir",0777;
}
# Create all the directories at once.
# This can be much faster than calling mkdir() for each one.
sub create_directories {
my @makefiles = @_;
my @dirs = ();
my $ac_file;
foreach $ac_file (@makefiles) {
push @dirs, dirname($ac_file);
}
# Call mkdir with the directories sorted by subdir count (how many /'s)
if (@dirs) {
my $mkdir_command = "mkdir -p ". join(' ', @dirs);
if (system($mkdir_command) != 0) {
print STDERR "Creating dirs all at once failed; trying one at atime\n";
foreach $dir (@dirs) {
if (not -d $dir) {
print STDERR "Creating directory $dir\n";
create_directory($dir);
}
}
}
}
}
if ($ARGV[0] =~ /^--srcdir=/) {
$ac_given_srcdir = (split /=/, shift @ARGV)[1];
} else {
$ac_given_srcdir = $0;
$ac_given_srcdir =~ s|/?build/autoconf/.*$||;
$ac_given_srcdir = '.' if $ac_given_srcdir eq '';
}
# Read list of makefiles from the stdin or,
# from files listed on the command-line.
#
@makefiles=();
push @makefiles, split while (<>);
# Create all the directories at once.
# This can be much faster than calling mkdir() for each one.
create_directories(@makefiles);
# Output the makefiles.
#
@unhandled=();
foreach $ac_file (@makefiles) {
if (not $ac_file =~ /Makefile$/ or $ac_file =~ /:/) {
push @unhandled, $ac_file;
next;
}
$ac_file_in = "$ac_given_srcdir/$ac_file.in";
$ac_dir = dirname($ac_file);
if ($ac_dir eq '.') {
$ac_dir_suffix = '';
$ac_dots = '';
} else {
$ac_dir_suffix = "/$ac_dir";
$ac_dir_suffix =~ s%^/\./%/%;
$ac_dots = $ac_dir_suffix;
$ac_dots =~ s%/[^/]*%../%g;
}
if ($ac_given_srcdir eq '.') {
$srcdir = '.';
if ($ac_dots eq '') {
$top_srcdir = '.'
} else {
$top_srcdir = $ac_dots;
$top_srcdir =~ s%/$%%;
}
} elsif ($ac_given_srcdir =~ m%^/% or $ac_given_srcdir =~ m%^.:/%) {
$srcdir = "$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_given_srcdir";
} else {
$srcdir = "$ac_dots$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_dots$ac_given_srcdir";
}
if (-e $ac_file) {
next if -M _ < -M $ac_file_in;
print STDERR "updating $ac_file\n";
} else {
print STDERR "creating $ac_file\n";
}
open (INFILE, "<$ac_file_in")
or ( warn "can't read $ac_file_in: No such file or directory\n" and next);
open (OUTFILE, ">$ac_file")
or ( warn "Unable to create $ac_file\n" and next);
while (<INFILE>) {
#if (/\@[_a-zA-Z]*\@.*\@[_a-zA-Z]*\@/) {
# warn "Two defines on a line:$ac_file:$.:$_";
# push @unhandled, $ac_file;
# last;
#}
s/\@srcdir\@/$srcdir/g;
s/\@top_srcdir\@/$top_srcdir/g;
if (/\@[_a-zA-Z]*\@/) {
warn "Unknown variable:$ac_file:$.:$_";
push @unhandled, $ac_file;
last;
}
print OUTFILE;
}
close INFILE;
close OUTFILE;
}
# Print the shell command to be evaluated by configure.
#
print "CONFIG_FILES=\"".join(' ', @unhandled)."\"; export CONFIG_FILES\n";

View File

@@ -0,0 +1,140 @@
dnl The contents of this file are subject to the Netscape Public
dnl License Version 1.1 (the "License"); you may not use this file
dnl except in compliance with the License. You may obtain a copy of
dnl the License at http://www.mozilla.org/NPL/
dnl
dnl Software distributed under the License is distributed on an "AS
dnl IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
dnl implied. See the License for the specific language governing
dnl rights and limitations under the License.
dnl
dnl The Original Code is mozilla.org code.
dnl
dnl The Initial Developer of the Original Code is Netscape
dnl Communications Corporation. Portions created by Netscape are
dnl Copyright (C) 1999 Netscape Communications Corporation. All
dnl Rights Reserved.
dnl
dnl Contributor(s):
dnl
dnl altoptions.m4 - An alternative way of specifying command-line options.
dnl These macros are needed to support a menu-based configurator.
dnl This file also includes the macro, AM_READ_MYCONFIG, for reading
dnl the 'myconfig.m4' file.
dnl Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
dnl MOZ_ARG_ENABLE_BOOL( NAME, HELP, IF-YES [, IF-NO [, ELSE]])
dnl MOZ_ARG_DISABLE_BOOL( NAME, HELP, IF-NO [, IF-YES [, ELSE]])
dnl MOZ_ARG_ENABLE_STRING( NAME, HELP, IF-SET [, ELSE])
dnl MOZ_ARG_ENABLE_BOOL_OR_STRING( NAME, HELP, IF-YES, IF-NO, IF-SET[, ELSE]]])
dnl MOZ_ARG_WITH_BOOL( NAME, HELP, IF-YES [, IF-NO [, ELSE])
dnl MOZ_ARG_WITHOUT_BOOL( NAME, HELP, IF-NO [, IF-YES [, ELSE])
dnl MOZ_ARG_WITH_STRING( NAME, HELP, IF-SET [, ELSE])
dnl MOZ_ARG_HEADER(Comment)
dnl MOZ_CHECK_PTHREADS( NAME, IF-YES [, ELSE ])
dnl MOZ_READ_MYCONFIG() - Read in 'myconfig.sh' file
dnl MOZ_TWO_STRING_TEST(NAME, STR1, IF-STR1, STR2, IF-STR2 [, ELSE])
AC_DEFUN(MOZ_TWO_STRING_TEST,
[if test "$enableval" = "[$2]"; then
ifelse([$3], , :, [$3])
elif test "$enableval" = "[$4]"; then
ifelse([$5], , :, [$5])
else
ifelse([$6], ,
[AC_MSG_ERROR([Option, [$1], does not take an argument ($enableval).])],
[$6])
fi])
dnl MOZ_ARG_ENABLE_BOOL(NAME, HELP, IF-YES [, IF-NO [, ELSE]])
AC_DEFUN(MOZ_ARG_ENABLE_BOOL,
[AC_ARG_ENABLE([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], yes, [$3], no, [$4])],
[$5])])
dnl MOZ_ARG_DISABLE_BOOL(NAME, HELP, IF-NO [, IF-YES [, ELSE]])
AC_DEFUN(MOZ_ARG_DISABLE_BOOL,
[AC_ARG_ENABLE([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], no, [$3], yes, [$4])],
[$5])])
dnl MOZ_ARG_ENABLE_STRING(NAME, HELP, IF-SET [, ELSE])
AC_DEFUN(MOZ_ARG_ENABLE_STRING,
[AC_ARG_ENABLE([$1], [$2], [$3], [$4])])
dnl MOZ_ARG_ENABLE_BOOL_OR_STRING(NAME, HELP, IF-YES, IF-NO, IF-SET[, ELSE]]])
AC_DEFUN(MOZ_ARG_ENABLE_BOOL_OR_STRING,
[ifelse([$5], ,
[errprint([Option, $1, needs an "IF-SET" argument.
])
m4exit(1)],
[AC_ARG_ENABLE([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], yes, [$3], no, [$4], [$5])],
[$6])])])
dnl MOZ_ARG_WITH_BOOL(NAME, HELP, IF-YES [, IF-NO [, ELSE])
AC_DEFUN(MOZ_ARG_WITH_BOOL,
[AC_ARG_WITH([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], yes, [$3], no, [$4])],
[$5])])
dnl MOZ_ARG_WITHOUT_BOOL(NAME, HELP, IF-NO [, IF-YES [, ELSE])
AC_DEFUN(MOZ_ARG_WITHOUT_BOOL,
[AC_ARG_WITH([$1], [$2],
[MOZ_TWO_STRING_TEST([$1], no, [$3], yes, [$4])],
[$5])])
dnl MOZ_ARG_WITH_STRING(NAME, HELP, IF-SET [, ELSE])
AC_DEFUN(MOZ_ARG_WITH_STRING,
[AC_ARG_WITH([$1], [$2], [$3], [$4])])
dnl MOZ_ARG_HEADER(Comment)
dnl This is used by webconfig to group options
define(MOZ_ARG_HEADER, [# $1])
dnl
dnl Apparently, some systems cannot properly check for the pthread
dnl library unless <pthread.h> is included so we need to test
dnl using it
dnl
dnl MOZ_CHECK_PTHREADS(lib, success, failure)
AC_DEFUN(MOZ_CHECK_PTHREADS,
[
AC_MSG_CHECKING([for pthread_create in -l$1])
echo "
#include <pthread.h>
void *foo(void *v) { int a = 1; }
int main() {
pthread_t t;
if (!pthread_create(&t, 0, &foo, 0)) {
pthread_join(t, 0);
}
exit(0);
}" > dummy.c ;
echo "${CC-cc} -o dummy${ac_exeext} dummy.c $CFLAGS $CPPFLAGS -l[$1] $LDFLAGS $LIBS" 1>&5;
${CC-cc} -o dummy${ac_exeext} dummy.c $CFLAGS $CPPFLAGS -l[$1] $LDFLAGS $LIBS 2>&5;
_res=$? ;
rm -f dummy.c dummy${ac_exeext} ;
if test "$_res" = "0"; then
AC_MSG_RESULT([yes])
[$2]
else
AC_MSG_RESULT([no])
[$3]
fi
])
dnl MOZ_READ_MYCONFIG() - Read in 'myconfig.sh' file
AC_DEFUN(MOZ_READ_MOZCONFIG,
[AC_REQUIRE([AC_INIT_BINSH])dnl
# Read in '.mozconfig' script to set the initial options.
# See the mozconfig2configure script for more details.
_AUTOCONF_TOOLS_DIR=`dirname [$]0`/[$1]/build/autoconf
. $_AUTOCONF_TOOLS_DIR/mozconfig2configure])
dnl This gets inserted at the top of the configure script
MOZ_READ_MOZCONFIG(MOZ_TOPSRCDIR)

View File

@@ -0,0 +1,54 @@
#!/bin/sh
#
# 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):
#
# clean-config.sh - Removes all files generated by mozilla configure.
# Only removes files from the topsrcdir. To clean up an objdir,
# simply remove the directory and start over.
#
# Usage:
# 1. cd <topsrcdir>
# 2. build/autoconf/clean-config.sh
#
# Send comments, improvements, bugs to slamm@netscape.com
topsrcdir=`cd \`dirname $0\`/../..; pwd`
if [ ! -f configure.in ]; then
echo "clean-config.sh only cleans the source tree. To run," 2>&1
echo " cd $topsrcdir; build/autoconf/clean-config.sh" 2>&1
echo " (To clean a separate objdir, simple remove the directory.)" 2>&1
exit 1
fi
if [ -f mailnews/makefiles ]; then
MOZ_MAIL_NEWS=1
export MOZ_MAIL_NEWS
fi
. allmakefiles.sh
rm -fr $MAKEFILES \
config-defs.h \
config.cache \
config.log \
config.status \
$NULL

1391
mozilla/build/autoconf/config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

1373
mozilla/build/autoconf/config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,166 @@
# Configure paths for gdk-pixbuf
# Elliot Lee 2000-01-10
# stolen from Raph Levien 98-11-18
# stolen from Manish Singh 98-9-30
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
dnl AM_PATH_GDK_PIXBUF([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GDK_PIXBUF, and define GDK_PIXBUF_CFLAGS and GDK_PIXBUF_LIBS
dnl
AC_DEFUN(AM_PATH_GDK_PIXBUF,
[dnl
dnl Get the cflags and libraries from the gdk-pixbuf-config script
dnl
AC_ARG_WITH(gdk-pixbuf-prefix,[ --with-gdk-pixbuf-prefix=PFX Prefix where GDK_PIXBUF is installed (optional)],
gdk_pixbuf_prefix="$withval", gdk_pixbuf_prefix="")
AC_ARG_WITH(gdk-pixbuf-exec-prefix,[ --with-gdk-pixbuf-exec-prefix=PFX Exec prefix where GDK_PIXBUF is installed (optional)],
gdk_pixbuf_exec_prefix="$withval", gdk_pixbuf_exec_prefix="")
AC_ARG_ENABLE(gdk_pixbuftest, [ --disable-gdk_pixbuftest Do not try to compile and run a test GDK_PIXBUF program],
, enable_gdk_pixbuftest=yes)
if test x$gdk_pixbuf_exec_prefix != x ; then
gdk_pixbuf_args="$gdk_pixbuf_args --exec-prefix=$gdk_pixbuf_exec_prefix"
if test x${GDK_PIXBUF_CONFIG+set} = xset ; then
GDK_PIXBUF_CONFIG=$gdk_pixbuf_exec_prefix/gdk-pixbuf-config
fi
fi
if test x$gdk_pixbuf_prefix != x ; then
gdk_pixbuf_args="$gdk_pixbuf_args --prefix=$gdk_pixbuf_prefix"
if test x${GDK_PIXBUF_CONFIG+set} = xset ; then
GDK_PIXBUF_CONFIG=$gdk_pixbuf_prefix/bin/gdk-pixbuf-config
fi
fi
AC_PATH_PROG(GDK_PIXBUF_CONFIG, gdk-pixbuf-config, no)
min_gdk_pixbuf_version=ifelse([$1], ,0.2.5,$1)
AC_MSG_CHECKING(for GDK_PIXBUF - version >= $min_gdk_pixbuf_version)
no_gdk_pixbuf=""
if test "$GDK_PIXBUF_CONFIG" = "no" ; then
no_gdk_pixbuf=yes
else
GDK_PIXBUF_CFLAGS=`$GDK_PIXBUF_CONFIG $gdk_pixbufconf_args --cflags`
GDK_PIXBUF_LIBS=`$GDK_PIXBUF_CONFIG $gdk_pixbufconf_args --libs`
gdk_pixbuf_major_version=`$GDK_PIXBUF_CONFIG $gdk_pixbuf_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
gdk_pixbuf_minor_version=`$GDK_PIXBUF_CONFIG $gdk_pixbuf_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
gdk_pixbuf_micro_version=`$GDK_PIXBUF_CONFIG $gdk_pixbuf_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_gdk_pixbuftest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GDK_PIXBUF_CFLAGS"
LIBS="$LIBS $GDK_PIXBUF_LIBS"
dnl
dnl Now check if the installed GDK_PIXBUF is sufficiently new. (Also sanity
dnl checks the results of gdk-pixbuf-config to some extent
dnl
rm -f conf.gdk_pixbuftest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
char*
my_strdup (char *str)
{
char *new_str;
if (str)
{
new_str = malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
return new_str;
}
int main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gdk_pixbuftest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_gdk_pixbuf_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gdk_pixbuf_version");
exit(1);
}
if (($gdk_pixbuf_major_version > major) ||
(($gdk_pixbuf_major_version == major) && ($gdk_pixbuf_minor_version > minor)) ||
(($gdk_pixbuf_major_version == major) && ($gdk_pixbuf_minor_version == minor) && ($gdk_pixbuf_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** 'gdk-pixbuf-config --version' returned %d.%d.%d, but the minimum version\n", $gdk_pixbuf_major_version, $gdk_pixbuf_minor_version, $gdk_pixbuf_micro_version);
printf("*** of GDK_PIXBUF required is %d.%d.%d. If gdk-pixbuf-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If gdk-pixbuf-config was wrong, set the environment variable GDK_PIXBUF_CONFIG\n");
printf("*** to point to the correct copy of gdk-pixbuf-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}
],, no_gdk_pixbuf=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gdk_pixbuf" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GDK_PIXBUF_CONFIG" = "no" ; then
echo "*** The gdk-pixbuf-config script installed by GDK_PIXBUF could not be found"
echo "*** If GDK_PIXBUF was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GDK_PIXBUF_CONFIG environment variable to the"
echo "*** full path to gdk-pixbuf-config."
else
if test -f conf.gdk_pixbuftest ; then
:
else
echo "*** Could not run GDK_PIXBUF test program, checking why..."
CFLAGS="$CFLAGS $GDK_PIXBUF_CFLAGS"
LIBS="$LIBS $GDK_PIXBUF_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
], [ return 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GDK_PIXBUF or finding the wrong"
echo "*** version of GDK_PIXBUF. If it is not finding GDK_PIXBUF, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GDK_PIXBUF was incorrectly installed"
echo "*** or that you have moved GDK_PIXBUF since it was installed. In the latter case, you"
echo "*** may want to edit the gdk-pixbuf-config script: $GDK_PIXBUF_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GDK_PIXBUF_CFLAGS=""
GDK_PIXBUF_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GDK_PIXBUF_CFLAGS)
AC_SUBST(GDK_PIXBUF_LIBS)
rm -f conf.gdk_pixbuftest
])

View File

@@ -0,0 +1,200 @@
# Configure paths for GLIB
# Owen Taylor 97-11-3
dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
dnl gthread is specified in MODULES, pass to glib-config
dnl
AC_DEFUN(AM_PATH_GLIB,
[dnl
dnl Get the cflags and libraries from the glib-config script
dnl
AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
glib_config_prefix="$withval", glib_config_prefix="")
AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX
Exec prefix where GLIB is installed (optional)],
glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
, enable_glibtest=yes)
if test x$glib_config_exec_prefix != x ; then
glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
if test x${GLIB_CONFIG+set} != xset ; then
GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
fi
fi
if test x$glib_config_prefix != x ; then
glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
if test x${GLIB_CONFIG+set} != xset ; then
GLIB_CONFIG=$glib_config_prefix/bin/glib-config
fi
fi
for module in . $4
do
case "$module" in
gmodule)
glib_config_args="$glib_config_args gmodule"
;;
gthread)
glib_config_args="$glib_config_args gthread"
;;
esac
done
dnl Force a version check to keep upgraded versions from being overridden by the cached value.
unset ac_cv_path_GLIB_CONFIG
AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
min_glib_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
no_glib=""
if test "$GLIB_CONFIG" = "no" ; then
no_glib=yes
else
GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_glibtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$GLIB_LIBS $LIBS"
dnl
dnl Now check if the installed GLIB is sufficiently new. (Also sanity
dnl checks the results of glib-config to some extent
dnl
rm -f conf.glibtest
AC_TRY_RUN([
#include <glib.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.glibtest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup("$min_glib_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_glib_version");
exit(1);
}
if ((glib_major_version != $glib_config_major_version) ||
(glib_minor_version != $glib_config_minor_version) ||
(glib_micro_version != $glib_config_micro_version))
{
printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
$glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
glib_major_version, glib_minor_version, glib_micro_version);
printf ("*** was found! If glib-config was correct, then it is best\n");
printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
(glib_minor_version != GLIB_MINOR_VERSION) ||
(glib_micro_version != GLIB_MICRO_VERSION))
{
printf("*** GLIB header files (version %d.%d.%d) do not match\n",
GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
glib_major_version, glib_minor_version, glib_micro_version);
}
else
{
if ((glib_major_version > major) ||
((glib_major_version == major) && (glib_minor_version > minor)) ||
((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
glib_major_version, glib_minor_version, glib_micro_version);
printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the glib-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
printf("*** correct copy of glib-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_glib" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GLIB_CONFIG" = "no" ; then
echo "*** The glib-config script installed by GLIB could not be found"
echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GLIB_CONFIG environment variable to the"
echo "*** full path to glib-config."
else
if test -f conf.glibtest ; then
:
else
echo "*** Could not run GLIB test program, checking why..."
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$LIBS $GLIB_LIBS"
AC_TRY_LINK([
#include <glib.h>
#include <stdio.h>
], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GLIB or finding the wrong"
echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
echo "*** came with the system with the command"
echo "***"
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GLIB_CFLAGS=""
GLIB_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
rm -f conf.glibtest
])

View File

@@ -0,0 +1,191 @@
# Configure paths for GTK+
# Owen Taylor 97-11-3
# (copy of gtk.m4 (public domain))
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK,
[dnl
dnl Get the cflags and libraries from the gtk-config script
dnl
AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
gtk_config_prefix="$withval", gtk_config_prefix="")
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX
Exec prefix where GTK is installed (optional)],
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
, enable_gtktest=yes)
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
fi
fi
dnl Force a version check to keep upgraded versions from being overridden by the cached value.
unset ac_cv_path_GTK_CONFIG
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" = "no" ; then
no_gtk=yes
else
GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_gtktest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent
dnl
rm -f conf.gtktest
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gtktest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup("$min_gtk_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if ((gtk_major_version != $gtk_config_major_version) ||
(gtk_minor_version != $gtk_config_minor_version) ||
(gtk_micro_version != $gtk_config_micro_version))
{
printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf ("*** was found! If gtk-config was correct, then it is best\n");
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
(gtk_minor_version != GTK_MINOR_VERSION) ||
(gtk_micro_version != GTK_MICRO_VERSION))
{
printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
}
#endif /* defined (GTK_MAJOR_VERSION) ... */
else
{
if ((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
printf("*** correct copy of gtk-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GTK_CONFIG" = "no" ; then
echo "*** The gtk-config script installed by GTK could not be found."
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GTK_CONFIG environment variable to the"
echo "*** full path to gtk-config."
echo "*** GTK+ is available from ftp://ftp.gtk.org/pub/gtk"
else
if test -f conf.gtktest ; then
:
else
echo "*** Could not run GTK test program, checking why..."
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
AC_TRY_LINK([
#include <gtk/gtk.h>
#include <stdio.h>
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GTK or finding the wrong"
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
echo "*** came with the system with the command"
echo "***"
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
rm -f conf.gtktest
])

119
mozilla/build/autoconf/install-sh Executable file
View File

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

View File

@@ -0,0 +1,198 @@
# Configure paths for LIBIDL
dnl AM_PATH_LIBIDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for LIBIDL, and define LIBIDL_CFLAGS and LIBIDL_LIBS
dnl
AC_DEFUN(AM_PATH_LIBIDL,
[dnl
dnl Get the cflags and libraries from the libIDL-config script
dnl
AC_ARG_WITH(libIDL-prefix,[ --with-libIDL-prefix=PFX
Prefix where libIDL is installed (optional)],
libIDL_config_prefix="$withval", libIDL_config_prefix="")
AC_ARG_WITH(libIDL-exec-prefix,[ --with-libIDL-exec-prefix=PFX
Exec prefix where libIDL is installed (optional)],
libIDL_config_exec_prefix="$withval", libIDL_config_exec_prefix="")
AC_ARG_ENABLE(libIDLtest, [ --disable-libIDLtest Do not try to compile and run a test libIDL program],
, enable_libIDLtest=yes)
if test x$libIDL_config_exec_prefix != x ; then
libIDL_config_args="$libIDL_config_args --exec-prefix=$libIDL_config_exec_prefix"
if test x${LIBIDL_CONFIG+set} != xset ; then
LIBIDL_CONFIG=$libIDL_config_exec_prefix/bin/libIDL-config
fi
fi
if test x$libIDL_config_prefix != x ; then
libIDL_config_args="$libIDL_config_args --prefix=$libIDL_config_prefix"
if test x${LIBIDL_CONFIG+set} != xset ; then
LIBIDL_CONFIG=$libIDL_config_prefix/bin/libIDL-config
fi
fi
AM_PATH_GLIB(1.2.0)
dnl Force a version check to keep upgraded versions from being overridden by the cached value.
unset ac_cv_path_LIBIDL_CONFIG
AC_PATH_PROG(LIBIDL_CONFIG, libIDL-config, no)
min_libIDL_version=ifelse([$1], ,0.6.0,$1)
AC_MSG_CHECKING(for libIDL - version >= $min_libIDL_version)
no_libIDL=""
if test "$LIBIDL_CONFIG" = "no" ; then
no_libIDL=yes
else
LIBIDL_CFLAGS=`$LIBIDL_CONFIG $libIDL_config_args --cflags`
LIBIDL_LIBS=`$LIBIDL_CONFIG $libIDL_config_args --libs`
# hack to allow us to keep using libIDL 0.6.3-0.6.7. Anyone may remove
# this after we start requiring libIDL 0.6.8 or anything higher
LIBIDL_CFLAGS="$GLIB_CFLAGS $LIBIDL_CFLAGS"
LIBIDL_LIBS="$GLIB_LIBS $LIBIDL_LIBS"
libIDL_config_major_version=`$LIBIDL_CONFIG $libIDL_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
libIDL_config_minor_version=`$LIBIDL_CONFIG $libIDL_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
libIDL_config_micro_version=`$LIBIDL_CONFIG $libIDL_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_libIDLtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $LIBIDL_CFLAGS"
LIBS="$LIBIDL_LIBS $LIBS"
dnl
dnl Now check if the installed LIBIDL is sufficiently new.
dnl
rm -f conf.libIDLtest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <libIDL/IDL.h>
int
main ()
{
int major, minor, micro;
int libIDL_major_version;
int libIDL_minor_version;
int libIDL_micro_version;
char *tmp_version;
system ("touch conf.libIDLtest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup ("$min_libIDL_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_libIDL_version");
exit(1);
}
tmp_version = g_strdup (IDL_get_libver_string ());
if (sscanf(tmp_version, "%d.%d.%d",
&libIDL_major_version,
&libIDL_minor_version,
&libIDL_micro_version) != 3) {
printf("%s, bad version string\n", tmp_version);
exit(1);
}
if ((libIDL_major_version != $libIDL_config_major_version) ||
(libIDL_minor_version != $libIDL_config_minor_version) ||
(libIDL_micro_version != $libIDL_config_micro_version))
{
printf("\n*** 'libIDL-config --version' returned %d.%d.%d, but libIDL (%d.%d.%d)\n",
$libIDL_config_major_version, $libIDL_config_minor_version, $libIDL_config_micro_version,
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
printf ("*** was found! If libIDL-config was correct, then it is best\n");
printf ("*** to remove the old version of LIBIDL. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If libIDL-config was wrong, set the environment variable LIBIDL_CONFIG\n");
printf("*** to point to the correct copy of libIDL-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
else if ((libIDL_major_version != LIBIDL_MAJOR_VERSION) ||
(libIDL_minor_version != LIBIDL_MINOR_VERSION) ||
(libIDL_micro_version != LIBIDL_MICRO_VERSION))
{
printf("\n*** libIDL header files (version %d.%d.%d) do not match\n",
LIBIDL_MAJOR_VERSION, LIBIDL_MINOR_VERSION, LIBIDL_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
}
else
{
if ((libIDL_major_version > major) ||
((libIDL_major_version == major) && (libIDL_minor_version > minor)) ||
((libIDL_major_version == major) && (libIDL_minor_version == minor) && (libIDL_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of libIDL (%d.%d.%d) was found.\n",
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
printf("*** You need at least libIDL version %d.%d.%d.\n",
major, minor, micro);
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the libIDL-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of libIDL, but you can also set the LIBIDL_CONFIG environment to point to the\n");
printf("*** correct copy of libIDL-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_libIDL=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_libIDL" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$LIBIDL_CONFIG" = "no" ; then
echo "*** The libIDL-config script installed by libIDL could not be found"
echo "*** If libIDL was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the LIBIDL_CONFIG environment variable to the"
echo "*** full path to libIDL-config."
else
if test -f conf.libIDLtest ; then
:
else
echo "*** Could not run libIDL test program, checking why..."
CFLAGS="$CFLAGS $LIBIDL_CFLAGS"
LIBS="$LIBS $LIBIDL_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include <stdlib.h>
#include <libIDL/IDL.h>
], [ return IDL_get_libver_string ? 1 : 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding libIDL or finding the wrong"
echo "*** version of LIBIDL. If it is not finding libIDL, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means libIDL was incorrectly installed"
echo "*** or that you have moved libIDL since it was installed. In the latter case, you"
echo "*** may want to edit the libIDL-config script: $LIBIDL_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
LIBIDL_CFLAGS=""
LIBIDL_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(LIBIDL_CFLAGS)
AC_SUBST(LIBIDL_LIBS)
rm -f conf.libIDLtest
])

View File

@@ -0,0 +1,280 @@
#! /usr/bin/env 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# make-makefiles - Quickly create Makefiles for subdirectories.
# Also, creates any needed subdirectories.
#
# usage: make-makefiles [ -t <topsrcdir> -d <depth> ] [ <subdir> | <subdir>/Makefile ] ...
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
#$debug = 1;
# Determine various tree path variables
#
($topsrcdir, $depth, @makefiles) = parse_arguments(@ARGV);
$object_fullpath = `pwd`;
chdir $depth;
$object_root = `pwd`;
chomp $object_fullpath;
chomp $object_root;
# $source_subdir is the path from the object root to where
# 'make-makefile' was called. For example, if make-makefile was
# called from "mozilla/gfx/src", then $source_subdir would be
# "gfx/src/".
$source_subdir = "$object_fullpath/";
my $quoted_object_root = quotemeta($object_root);
$source_subdir =~ s|^$quoted_object_root/||;
# Prefix makefiles with $source_subdir so that paths
# will be relative to the top of the object tree.
#
for $makefile (@makefiles) {
$makefile = "$source_subdir$makefile";
}
create_directories(@makefiles);
# Find the path to the source directory based on how 'make-makefile'
# was invoked. The path is either relative to the object directory
# or an absolute path.
$given_srcdir = find_srcdir($topsrcdir, $depth);
if ($debug) {
warn "object_fullpath = $object_fullpath\n";
warn "object_root = $object_root\n";
warn "source_subdir = $source_subdir\n";
warn "makefiles = @makefiles\n";
warn "given_srcdir = $given_srcdir\n";
}
@unhandled = update_makefiles($given_srcdir, @makefiles);
run_config_status(@unhandled);
# end of Main
############################################################
sub dirname {
return $_[0] =~ /(.*)\/.*/ ? "$1" : '.';
}
# find_depth: Pull the value of DEPTH out of a Makefile (or Makefile.in)
sub find_depth {
my $depth = '';
open(MAKEFILE, "<$_[0]") || die "Unable to open $_[0]: $!\n";
while (<MAKEFILE>) {
next unless /^DEPTH\s*=\s*(\..*)/;
$depth = $1;
last;
}
close MAKEFILE;
return $depth;
}
sub parse_arguments {
my @args = @_;
my $depth = '';
my $topsrcdir = '';
my @makefiles = ();
while (1) {
if ($args[0] eq '-d') {
$depth = $args[1];
shift @args;
shift @args;
} elsif ($args[0] eq '-t') {
$topsrcdir = $args[1];
shift @args;
shift @args;
} else {
last;
}
}
if ($topsrcdir eq '') {
$topsrcdir = $0; # Figure out topsrcdir based on program name.
$topsrcdir =~ s|/?build/autoconf/.*$||;
}
if ($depth eq '') {
# Use $(DEPTH) in the Makefile or Makefile.in to determine the depth
if (-e "Makefile.in") {
$depth = find_depth("Makefile.in");
} elsif (-e "Makefile") {
$depth = find_depth("Makefile");
} elsif (-e "../Makefile") {
$depth = "../".find_depth("../Makefile");
$depth =~ s/\/\.$//;
} else {
warn "Unable to determine depth (e.g. ../..) to root of objdir tree.\n";
die "No Makefile(.in) present. Try running with '-d <depth>'\n";
}
}
# Build the list of makefiles to generate
#
@makefiles = ();
my $makefile;
foreach $makefile (@args) {
$makefile =~ s/\.in$//;
$makefile =~ s/\/$//;
$makefile =~ /Makefile$/ or $makefile .= "/Makefile";
push @makefiles, "$makefile";
}
@makefiles = "Makefile" unless @args;
return ($topsrcdir, $depth, @makefiles);
}
# Create all the directories at once.
# This can be much faster than calling mkdir() for each one.
sub create_directories {
my @makefiles = @_;
my @dirs = ();
my $ac_file;
foreach $ac_file (@makefiles) {
push @dirs, dirname($ac_file);
}
# Call mkdir with the directories sorted by subdir count (how many /'s)
system "mkdir -p ". join(' ', @dirs) if @dirs;
}
# Find the top of the source directory
# (Assuming that the executable is in $top_srcdir/build/autoconf)
sub find_srcdir {
my ($ac_given_srcdir, $depth) = @_;
if ($debug) {
print "ac_given_srcdir = $ac_given_srcdir\n";
print "depth = $depth\n";
}
if ($ac_given_srcdir =~ /^\./ and $depth ne '.') {
my $quoted_depth = quotemeta($depth);
$ac_given_srcdir =~ s|^$quoted_depth/?||;
}
if ($debug) {
print "ac_given_srcdir = $ac_given_srcdir\n";
}
$ac_given_srcdir = '.' if $ac_given_srcdir eq '';
return $ac_given_srcdir;
}
# Output the makefiles.
#
sub update_makefiles {
my ($ac_given_srcdir, @makefiles) = @_;
my @unhandled=();
my $ac_file;
foreach $ac_file (@makefiles) {
my $ac_file_in = "$ac_given_srcdir/${ac_file}.in";
my $ac_dir = dirname($ac_file);
my $ac_dots = '';
my $ac_dir_suffix = '';
my $srcdir = '.';
my $top_srcdir = '.';
# Determine $srcdir and $top_srcdir
#
if ($ac_dir ne '.') {
$ac_dir_suffix = "/$ac_dir";
$ac_dir_suffix =~ s%^/\./%/%;
$ac_dots = $ac_dir_suffix;
$ac_dots =~ s%/[^/]*%../%g;
}
if ($ac_given_srcdir eq '.') {
if ($ac_dots ne '') {
$top_srcdir = $ac_dots;
$top_srcdir =~ s%/$%%;
}
} elsif ($ac_given_srcdir =~ m%^/% or $ac_given_srcdir =~ m%^.:/%) {
$srcdir = "$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_given_srcdir";
} else {
$srcdir = "$ac_dots$ac_given_srcdir$ac_dir_suffix";
$top_srcdir = "$ac_dots$ac_given_srcdir";
}
if ($debug) {
print "ac_dir = $ac_dir\n";
print "ac_file = $ac_file\n";
print "ac_file_in = $ac_file_in\n";
print "srcdir = $srcdir\n";
print "top_srcdir = $top_srcdir\n";
print "cwd = " . `pwd` . "\n";
}
# Copy the file and make substitutions.
# @srcdir@ -> value of $srcdir
# @top_srcdir@ -> value of $top_srcdir
#
if (-e $ac_file) {
next if -M _ < -M $ac_file_in; # Next if Makefile is up-to-date.
warn "updating $ac_file\n";
} else {
warn "creating $ac_file\n";
}
open INFILE, "<$ac_file_in" or do {
warn "$0: Cannot read $ac_file_in: No such file or directory\n";
next;
};
open OUTFILE, ">$ac_file" or do {
warn "$0: Unable to create $ac_file\n";
next;
};
while (<INFILE>) {
#if (/\@[_a-zA-Z]*\@.*\@[_a-zA-Z]*\@/) {
# #warn "Two defines on a line:$ac_file:$.:$_";
# push @unhandled, $ac_file;
# last;
#}
s/\@srcdir\@/$srcdir/g;
s/\@top_srcdir\@/$top_srcdir/g;
if (/\@[_a-zA-Z]*\@/) {
#warn "Unknown variable:$ac_file:$.:$_";
push @unhandled, $ac_file;
last;
}
print OUTFILE;
}
close INFILE;
close OUTFILE;
}
return @unhandled;
}
sub run_config_status {
my @unhandled = @_;
# Run config.status with any unhandled files.
#
if (@unhandled) {
$ENV{CONFIG_FILES}= join ' ', @unhandled;
system "./config.status";
}
}

View File

@@ -0,0 +1,85 @@
#!/bin/sh
#
# 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):
#
#
# This script will match a dir with a set of dirs.
#
# Usage: match-dir.sh match [dir1 dir2 ... dirn]
#
# Send comments, improvements, bugs to ramiro@netscape.com
#
if [ -f Makefile ]; then
MAKEFILE="Makefile"
else
if [ -f Makefile.in ]; then
MAKEFILE="Makefile.in"
else
echo
echo "There ain't no 'Makefile' or 'Makefile.in' over here: $pwd, dude."
echo
exit 1
fi
fi
# Use DEPTH in the Makefile.in to determine the depth
depth=`grep -w DEPTH ${MAKEFILE} | grep "\.\." | awk -F"=" '{ print $2; }'`
cwd=`pwd`
# Determine the depth count
n=`echo $depth | tr '/' ' ' | wc -w`
cd $depth
objdir=`pwd`
path=`echo $cwd | sed "s|^${objdir}/||"`
match=$path
for i in $*
do
# echo "Looking for $match in $i"
echo $i | grep -q -x $match
if [ $? -eq 0 ]
then
echo "1"
exit 0
fi
# echo "Looking for $i in $match"
echo $match | grep -q $i
if [ $? -eq 0 ]
then
echo "1"
exit 0
fi
done
echo "0"
exit 0

View File

@@ -0,0 +1,46 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Stephen Lamm <slamm@netscape.com>
#
# mozconfigfind - Loads options from .mozconfig onto configure's
# command-line. The .mozconfig file is searched for in the
# order:
# if $MOZCONFIG is set, use that.
# Otherwise, use $TOPSRCDIR/.mozconfig
# Otherwise, use $HOME/.mozconfig
#
topsrcdir=$1
for _config in $MOZCONFIG \
$MOZ_MYCONFIG \
$topsrcdir/.mozconfig \
$topsrcdir/mozconfig \
$topsrcdir/mozconfig.sh \
$topsrcdir/myconfig.sh \
$HOME/.mozconfig \
$HOME/.mozconfig.sh \
$HOME/.mozmyconfig.sh
do
if test -f $_config; then
echo $_config;
exit 0
fi
done

View File

@@ -0,0 +1,94 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Stephen Lamm <slamm@netscape.com>
#
# mozconfig2client-mk - Translates .mozconfig into options for client.mk.
# Prints defines to stdout.
#
# See mozconfig2configure for more details
print_header() {
_mozconfig=${MOZCONFIG:-$HOME/.mozconfig}
cat >> $tmp_file <<EOF
# gmake
# This file is automatically generated for client.mk.
# Do not edit. Edit $_mozconfig instead.
# To create a new .mozconfig file, you can visit,
# http://webtools.mozilla.org/build/config.cgi
EOF
}
ac_add_options() {
echo "# $* is used by configure (not client.mk)" >> $tmp_file
}
mk_add_options() {
for _opt
do
# Escape shell characters, space, tab, dollar, quote, backslash,
# and substitute '@<word>@' with '$(<word>)'.
_opt=`echo "$_opt" | sed -e 's/\([\"\\]\)/\\\1/g; s/@\([^@]*\)@/\$(\1)/g;'`
echo $_opt;
opts="${opts:+$opts^}$_opt";
done >> $tmp_file
}
mk_echo_options() {
echo "Adding client.mk options from $MOZCONFIG:"
IFS=^
for _opt in $opts; do
echo " $_opt"
done
}
# Main
#--------------------------------------------------
scriptdir=`dirname $0`
topsrcdir=$1
out_file=$2
tmp_file="$out_file-tmp$$"
opts=""
trap "rm -f $tmp_file; exit 1" 1 2 15
MOZCONFIG=`$scriptdir/mozconfig-find $topsrcdir`
print_header > $tmp_file
# If the path changes, configure should be rerun
echo "# PATH=$PATH" >> $tmp_file
if [ "$MOZCONFIG" ]
then
. $MOZCONFIG
fi
if [ "$opts" ]; then
mk_echo_options
fi
if test -f $out_file && cmp -s $tmp_file $out_file; then
rm $tmp_file
else
mv -f $tmp_file $out_file
fi

View File

@@ -0,0 +1,70 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Stephen Lamm (slamm@netscape.com)
#
# mozconfig2configurator - Translates .mozconfig into options for
# the online configurator,
#
# http://webtools.mozilla.org/build/config.cgi
#
# This is called by the 'webconfig' target of mozilla/client.mk
#
ac_add_options() {
for _opt
do
# Escape special url characters
_opt=`echo $_opt | sed -e 's/%/%25/g;s/ /%20/g;s/&/%26/g;'`
case "$_opt" in
--*-*= ) url="$url$_opt&" ;;
--*-* ) url="$url$_opt=yes&" ;;
esac
done
}
mk_add_options() {
for _opt
do
# Escape special url characters
# Escape special url characters
_opt=`echo $_opt | sed -e 's/%/%25/g;s/ /%20/g;s/&/%26/g;'`
url="$url$_opt&"
done
}
#
# main
#
# find-mozconfig.sh
# In params: $MOZCONFIG $HOME ($MOZ_MYCONFIG)
scriptdir=`dirname $0`
MOZCONFIG=`$scriptdir/mozconfig-find $topsrcdir`
if [ "$MOZCONFIG" ]
then
url="http://webtools.mozilla.org/build/config.cgi?"
. $MOZCONFIG
# Drop the last character of $url
echo `expr "$url" : "\(.*\)."`
fi

View File

@@ -0,0 +1,99 @@
#! /bin/sh
#
# 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) 1999 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Stephen Lamm <slamm@netscape.com>
#
# mozconfig2configure - Loads options from .mozconfig onto configure's
# command-line. See find-mozconfig.sh for how the config file is
# found
#
# The options from .mozconfig are inserted into the command-line
# before the real command-line options. This way the real options
# will override any .mozconfig options.
#
# .mozconfig is a shell script. To add an option to configure's
# command-line use the pre-defined function, ac_add_options,
#
# ac_add_options <configure-option> [<configure-option> ... ]
#
# For example,
#
# ac_add_options --with-pthreads --enable-debug
#
# ac_add_options can be called multiple times in .mozconfig.
# Each call adds more options to configure's command-line.
# Note: $_AUTOCONF_TOOLS_DIR must be defined in the script that includes this.
ac_add_options() {
for _opt
do
# Escape shell characters, space, tab, dollar, quote, backslash.
_opt=`echo $_opt | sed -e 's/\([\ \ \$\"\\]\)/\\\\\1/g;s/@\([^@]*\)@/\$\1/g;'`
_opt=`echo $_opt | sed -e 's/@\([^@]*\)@/\$(\1)/g'`
# Avoid adding duplicates
case "$ac_options" in
*"$_opt"* ) ;;
* ) mozconfig_ac_options="$mozconfig_ac_options $_opt" ;;
esac
done
}
mk_add_options() {
# These options are for client.mk
# configure can safely ignore them.
:
}
ac_echo_options() {
echo "Adding configure options from $MOZCONFIG:"
eval "set -- $mozconfig_ac_options"
for _opt
do
echo " $_opt"
done
}
# Main
#--------------------------------------------------
_topsrcdir=`dirname $0`
ac_options=
mozconfig_ac_options=
# Save the real command-line options
for _opt
do
# Escape shell characters, space, tab, dollar, quote, backslash.
_opt=`echo $_opt | sed -e 's/\([\ \ \$\"\\]\)/\\\\\1/g;'`
ac_options="$ac_options \"$_opt\""
done
MOZCONFIG=`$_AUTOCONF_TOOLS_DIR/mozconfig-find $_topsrcdir`
if [ "$MOZCONFIG" ]; then
. $MOZCONFIG
fi
if [ "$mozconfig_ac_options" ]; then
ac_echo_options 1>&2
fi
eval "set -- $mozconfig_ac_options $ac_options"

View File

@@ -0,0 +1,67 @@
# -*- tab-width: 4; -*-
# Configure paths for NSPR
# Public domain - Chris Seawood <cls@seawood.org> 2001-04-05
# Based upon gtk.m4 (also PD) by Owen Taylor
dnl AM_PATH_NSPR([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for NSPR, and define NSPR_CFLAGS and NSPR_LIBS
AC_DEFUN(AM_PATH_NSPR,
[dnl
AC_ARG_WITH(nspr-prefix,
[ --with-nspr-prefix=PFX Prefix where NSPR is installed],
nspr_config_prefix="$withval",
nspr_config_prefix="")
AC_ARG_WITH(nspr-exec-prefix,
[ --with-nspr-exec-prefix=PFX
Exec prefix where NSPR is installed],
nspr_config_exec_prefix="$withval",
nspr_config_exec_prefix="")
if test -n "$nspr_config_exec_prefix"; then
nspr_config_args="$nspr_config_args --exec-prefix=$nspr_config_exec_prefix"
if test -z "$NSPR_CONFIG"; then
NSPR_CONFIG=$nspr_config_exec_prefix/bin/nspr-config
fi
fi
if test -n "$nspr_config_prefix"; then
nspr_config_args="$nspr_config_args --prefix=$nspr_config_prefix"
if test -z "$NSPR_CONFIG"; then
NSPR_CONFIG=$nspr_config_prefix/bin/nspr-config
fi
fi
unset ac_cv_path_NSPR_CONFIG
AC_PATH_PROG(NSPR_CONFIG, nspr-config, no)
min_nspr_version=ifelse([$1], ,4.0.0,$1)
AC_MSG_CHECKING(for NSPR - version >= $min_nspr_version (skipping))
no_nspr=""
if test "$NSPR_CONFIG" = "no"; then
no_nspr="yes"
else
NSPR_CFLAGS=`$NSPR_CONFIG $nspr_config_args --cflags`
NSPR_LIBS=`$NSPR_CONFIG $nspr_config_args --libs`
dnl Skip version check for now
nspr_config_major_version=`$NSPR_CONFIG $nspr_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
nspr_config_minor_version=`$NSPR_CONFIG $nspr_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
nspr_config_micro_version=`$NSPR_CONFIG $nspr_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
fi
if test -z "$no_nspr"; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
fi
AC_SUBST(NSPR_CFLAGS)
AC_SUBST(NSPR_LIBS)
])

View File

@@ -0,0 +1,102 @@
#!/bin/sh
#
# 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):
#
#
# This script will generate a single Makefile from a Makefile.in using
# the config.status script.
#
# The config.status script is generated the first time you run
# ./configure.
#
#
# Usage: update-makefile.sh
#
# Send comments, improvements, bugs to ramiro@netscape.com
#
update_makefile_usage() {
_progname=`expr //$0 : '.*/\(.*\)'`
cat <<END_USAGE 2>&1
Usage: $_progname [-h -u] [<keyword>]
-d <dir> Subdir to update
-h Print usage
END_USAGE
}
# Parse the command-line options
#
subdir=
while getopts d:h OPT; do
case $OPT in
d) # Make sure "subdir" has exactly one ending slash
subdir=`echo $OPTARG | sed 's/\/$//;'`"/" ;;
\?|h) update_makefile_usage
exit 1
;;
esac
done
# find_depth: Pull the value of DEPTH out of Makefile (or Makefile.in)
find_depth() {
egrep '^DEPTH[ ]*=[ ]*\.' $1 | awk -F= '{ print $2; }'
}
# The Makefile to create
target_makefile=`pwd`"/${subdir}Makefile"
# Use $(DEPTH) in the Makefile or Makefile.in to determine the depth
if [ -f Makefile.in ]
then
depth=`find_depth Makefile.in`
elif [ -f Makefile ]
then
depth=`find_depth Makefile`
elif [ -f ../Makefile ]
then
depth="../"`find_depth Makefile`
else
echo
echo "There ain't no 'Makefile' or 'Makefile.in' over here: $pwd"
echo
exit
fi
# 'cd' to the root of the tree to run "config.status" there
cd $depth
# Strip the tree root off the Makefile's path
#
root_path=`pwd`
target_makefile=`expr $target_makefile : $root_path'/\(.*\)'`
# Make sure config.status exists
#
if [ -f config.status ]
then
CONFIG_FILES=$target_makefile ./config.status
else
echo
echo "There ain't no 'config.status' over here: $pwd"
echo
fi

View File

@@ -0,0 +1,7 @@
http://www.mozilla.org
ftp://ftp.netscape.com/Welcome
http://www.mozilla.org
resource:///res/samples/test2.html
resource:///res/samples/test8.html
resource:///res/samples/test6.html
resource:///res/samples/test8.html

View File

@@ -0,0 +1,292 @@
#!perl -w
# This script copies modified files from a source CVS tree to a destination
# tree. Modified files are detected by comparing their modification dates
# with the CVS Entries file.
#
# Modified files are copied in their entirety to the destination tree
# (no diffing is done). Files are only copied of the CVS version of the
# file is the same in both trees. If the destination file is modified
# already, it is backed up and replaced.
#
# To use this on your tree/platform, do the following:
#
# 1. Fix the !perl line, if necessary.
# 2. Fix $dirsep to be the directory separator on your platform.
# 3. Uncomment the appropriate $dst_linebreaks file specify what linebreaks
# you want for the copied files. This variable defines the *destination* linebreaks
# that you want your changes to be converted to.
# For example, if you have a linux volume
# mounted (via SAMBA perhaps) to your windows box where you've made changes to
# source files, you'd want $dst_linebreaks to be set for unix. This ensures that
# linebreaks are converted to the appropriate OS linebreak scheme for your *target* tree.
# 4. Set $src_tree and $dest_tree to point to the directories you want
# to sync up. These don't have to point to the root of the tree,
# but should be equivalent directories in the two trees.
#
# First version:
# Simon Fraser <sfraser@netscape.com>
use File::stat;
use Time::Local;
# change for your platform ('\' == windows, ':' == mac, '/' == unix)
$dirsep = "\\";
# Set this to the native OS of the *destination* tree
# $dst_linebreaks = pack("cc", 13); # Mac
#$dst_linebreaks = pack("cc", 13, 10); # DOS
$dst_linebreaks = pack("cc", 10); # UNIX
#change for your src and dest trees
$src_tree = "x:\\mozilla\\xpfe\\components";
$dest_tree = "h:\\builds\\mozilla\\xpfe\\components";
#//--------------------------------------------------------------------------------------------------
#// _copyFile. Copy file from src to dest, converting linebreaks if necessary
#//--------------------------------------------------------------------------------------------------
sub _copyFile($;$;$;$)
{
my($srcdir, $destdir, $file, $backup) = @_;
my($srcfile) = $srcdir.$dirsep.$file;
my($dstfile) = $destdir.$dirsep.$file;
if ($backup)
{
my($counter) = 0;
while (-f $dstfile."-".$counter)
{
$counter ++;
}
rename($dstfile, $dstfile."-".$counter) or die "Failed to rename file\n";
}
print "Copying $file over to dest\n";
my($newdest) = $dstfile."_temp";
open(SRCFILE, "< $srcfile") or die "Can't open source file $srcfile\n";
open(NEWDEST, "> $newdest") or die "Can't open dest file $newdest\n";
while (<SRCFILE>)
{
chomp($_);
print NEWDEST $_.$dst_linebreaks;
}
close(SRCFILE);
close(NEWDEST);
if (!$backup) {
unlink($dstfile) or die "Failed to remove $dstfile\n";
}
rename($newdest, $dstfile) or die "Failed to rename $newdest\n";
}
#//--------------------------------------------------------------------------------------------------
#// _readCVSInfo. Suck in the CVS info from the Entries file
#//--------------------------------------------------------------------------------------------------
sub _readCVSInfo($)
{
my($cvsDir) = @_;
my($entries_file_name) = $cvsDir.$dirsep."CVS".$dirsep."Entries";
# print "Reading $entries_file_name\n";
open(ENTRIES, $entries_file_name) || die "Could not open file $entries_file_name";
my(%cvs_entries);
# Read in the path if available
while (defined ($line = <ENTRIES>))
{
chomp($line);
#parse out the line. Format is:
# files: /filename/version/date/options/tag
# dirs: D/dirname////
# dir? D
# because we might be reading an entries file from another platform, with
# different linebreaks, be anal about cleaning up $line.
if ($line =~ /^?\/(.+)\/(.+)\/(.+)\/(.*)\/(.*)?$/)
{
my($filename) = $1;
my($version) = $2;
my($date) = $3;
my($options) = $4;
my($tag) = $5;
my(%cvs_file) = (
"version" => $version,
"date" => $date,
"options" => $options,
"tag" => $tag
);
# print $filename." ".$version." ".$date." ".$options." ".$tag."\n";
$cvs_entries{$filename} = \%cvs_file;
}
}
close ENTRIES;
return %cvs_entries;
}
#//--------------------------------------------------------------------------------------------------
#// _fileIsModified. compare mod date with CVS entries to see if a file is modified
#//--------------------------------------------------------------------------------------------------
sub _fileIsModified($;$;$)
{
my($entries, $dir, $file) = @_;
my($abs_file) = $dir.$dirsep.$file;
if (exists($entries->{$file}))
{
my($date) = $entries->{$file}->{"date"};
# stat the file to get its date
my($file_data) = stat($abs_file) || die "Could not stat $file\n";
my($mod_string) = scalar(gmtime($file_data->mtime));
return ($mod_string ne $date);
}
else
{
return 0;
}
}
#//--------------------------------------------------------------------------------------------------
#// _processFile. args: entries hash, dir, filename
#//--------------------------------------------------------------------------------------------------
sub _processFile($;$;$;$;$)
{
my($src_entries, $dest_entries, $srcdir, $destdir, $file) = @_;
my($abs_file) = $srcdir.$dirsep.$file;
if (exists($src_entries->{$file}))
{
my($file_entry) = $src_entries->{$file};
my($version) = $file_entry->{"version"};
if (_fileIsModified($src_entries, $srcdir, $file))
{
my($rel_file) = $abs_file;
$rel_file =~ s/^$src_tree//;
# print "¥ÊFile $rel_file is modified\n";
# check CVS version in dest
my($dest_entry) = $dest_entries->{$file};
if ($dest_entry)
{
my($dest_version) = $dest_entry->{"version"};
my($versions_match) = ($version == $dest_version);
my($dest_modified) = _fileIsModified($dest_entries, $destdir, $file);
if ($versions_match)
{
# ok, we can copy the file over now, backing up dest if it is modified
_copyFile($srcdir, $destdir, $file, $dest_modified);
}
else
{
print "File $rel_file is version $version in the src tree, but $dest_version in dest. This file will not be copied.\n";
}
}
else
{
print "No CVS entry found in destination tree for $rel_file\n";
}
}
}
else
{
print "No entry for file $file\n";
}
}
#//--------------------------------------------------------------------------------------------------
#// _traverseDir. Traverse one dir, recurse for each found dir.
#//--------------------------------------------------------------------------------------------------
sub _traverseDir($;$)
{
my($srcdir, $destdir) = @_;
opendir(DIR, $srcdir) or die "Cannot open dir $srcdir\n";
my @files = readdir(DIR);
closedir DIR;
# suck in the CVS info for this dir, if there is a CVS dir
unless (-e $srcdir.$dirsep."CVS".$dirsep."Entries" && -e $destdir.$dirsep."CVS".$dirsep."Entries") {
print "$srcdir is not a CVS directory in both source and dest\n";
return;
}
print " Doing $srcdir\n";
my(%src_entries) = _readCVSInfo($srcdir);
my(%dest_entries) = _readCVSInfo($destdir);
my $file;
foreach $file (@files)
{
my $filepath = $srcdir.$dirsep.$file;
if (-d $filepath)
{
if ($file ne "CVS") # ignore 'CVS' dirs
{
# print "Going into $filepath\n";
_traverseDir($filepath, $destdir.$dirsep.$file);
}
}
else
{
# process this file
_processFile(\%src_entries, \%dest_entries, $srcdir, $destdir, $file);
}
}
}
#//--------------------------------------------------------------------------------------------------
#// MigrateChanges
#//--------------------------------------------------------------------------------------------------
sub MigrateChanges($;$)
{
my($srcdir, $destdir) = @_;
# Check that src and dest exist
if (! -d $srcdir) {
die "Source directory $srcdir does not exist\n";
}
if (! -d $destdir) {
die "Dest directory $destdir does not exist\n";
}
print "---------------------------------------------------------\n";
print "Migrating changes from\n $srcdir\nto\n $destdir\n";
print "---------------------------------------------------------\n";
_traverseDir($srcdir, $destdir);
print "---------------------------------------------------------\n";
}
MigrateChanges($src_tree, $dest_tree);

29
mozilla/build/genrc.sh Executable file
View File

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

95
mozilla/build/hcc Executable file
View File

@@ -0,0 +1,95 @@
#!/bin/sh
#
# 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):
#
#
# Fix brain-damaged compilers that don't understand -o and -c together
#
CC=`echo $1 | sed -e "s|'||g" -e 's|"||g'`
shift
DASH_C=0
DASH_O=0
DUMMY="XxxXxxX"
GET_OBJECT=0
OBJ="${DUMMY}"
OBJECT="${DUMMY}"
for i in $*
do
[ "${CHECK_O}" = yes ] && {
case $i in
./*/*.o) OBJECT="$i"
OPTS="${OPTS} -o"
DASH_O=1
;;
./*.o) OBJECT="`basename $i`"
i=""
DASH_O=1
;;
*.o) if [ $i = `basename $i` ]
then
OBJECT="$i"
i=""
else
OPTS="${OPTS} -o"
fi
DASH_O=1
;;
*) OPTS="${OPTS} -o $i"
DASH_O=1
i=""
;;
esac
CHECK_O=no
}
case $i in
-c) DASH_C=1
OPTS="${OPTS} -c"
;;
-o) CHECK_O=yes
;;
*.c) C_SRC=$i
OPTS="${OPTS} $i"
# cc always creates the .o from the .c name
OBJ=`basename $C_SRC .c`.o
;;
*.s) S_SRC=$i
OPTS="${OPTS} $i"
# or the .o from the .s name
OBJ=`basename $S_SRC .s`.o
;;
*.o) OBJECT=$i
OPTS="${OPTS} $i"
;;
*) OPTS="${OPTS} $i"
;;
esac
done
${CC} ${OPTS} || exit $?
# if there was no -c and -o we're done
[ $DASH_C = 1 -a $DASH_O = 1 ] || exit 0
# if $OBJ and $OBJECT are the same we're done
[ $OBJ = $OBJECT ] && exit 0
[ -f $OBJ ] && mv -f $OBJ $OBJECT

139
mozilla/build/hcpp Executable file
View File

@@ -0,0 +1,139 @@
#!/bin/sh
#
# 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):
#
#
# Wrapper for brain-damaged compilers that don't understand -o and -c together.
#
CXX=`echo $1 | sed -e "s|'||g" -e 's|"||g'`
shift
DUMMY="XxxXxxX"
DASH_C=0
DASH_O=0
GET_OBJECT=0
C_SRC="${DUMMY}"
CC_SRC="${DUMMY}"
CPP_SRC="${DUMMY}"
S_SRC="${DUMMY}"
OBJECT="${DUMMY}"
NEW_i="${DUMMY}"
PLATFORM=`uname -s`
for i in $*
do
[ ${GET_OBJECT} -eq 1 ] && {
case $i in
./*/*.o) OBJECT="$i"
OPTS="${OPTS} -o"
DASH_O=1
;;
./*.o) OBJECT="`basename $i`"
i=""
DASH_O=1
;;
*.o) if [ $i = `basename $i` ]
then
i=""
else
OPTS="${OPTS} -o"
DASH_O=1
fi
;;
*) OPTS="${OPTS} -o $i"
DASH_O=1
i=""
;;
esac
GET_OBJECT=0
}
case $i in
-c)
DASH_C=1
OPTS="${OPTS} -c"
;;
-o)
GET_OBJECT=1
;;
*.c)
C_SRC="$i"
OPTS="${OPTS} $i"
# cc always creates the .o from the .c name
OBJ=`basename ${C_SRC} .c`.o
;;
+.*)
OPTS="${OPTS} $i"
;;
*.cpp)
CPP_SRC="$i"
if [ "${PLATFORM}" = "SCO_SV" ]; then
OPTS="${OPTS} +.cpp $i"
elif [ "${PLATFORM}" = "IRIX" ]; then
NEW_i=`basename ${CPP_SRC} .cpp`.C
rm -f ${NEW_i}
cp $i ${NEW_i}
OPTS="${OPTS} ${NEW_i}"
else
OPTS="${OPTS} $i"
fi
# cc always creates the .o from the .cpp name
OBJ=`basename ${CPP_SRC} .cpp`.o
;;
*.cc)
CC_SRC="$i"
OPTS="${OPTS} $i"
# cc always creates the .o from the .cc name
OBJ=`basename ${CC_SRC} .cc`.o
;;
*.s)
S_SRC="$i"
OPTS="${OPTS} $i"
# cc always creates the .o from the .s name
OBJ=`basename ${S_SRC} .s`.o
;;
*.o) OBJECT=$i
OPTS="${OPTS} $i"
;;
*) OPTS="${OPTS} $i"
;;
esac
done
${CXX} ${OPTS} || exit $?
rm -f ${NEW_i}
# Really only needed for NSPR now.
if [ "${PLATFORM}" = "IRIX" -a "$OBJ" != "$OBJECT" ]; then
OBJ=$OBJECT
fi
# LAME!!!
if [ -f -O ]; then
mv -f -- -O ${OBJECT}
fi
# if there was no -c and -o we're done
[ ${DASH_C} -eq 1 -a ${DASH_O} -eq 1 ] || exit 0
# if $OBJ and $OBJECT are the same we're done
[ $OBJ = $OBJECT ] && exit 0
[ -f $OBJ ] && mv -f $OBJ $OBJECT

View File

@@ -0,0 +1,110 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
/*
This file overrides all option settings in the IDE. It is an attempt to allow all builds
to have the same options.
Note: We can't use ConditionalMacros.h in this file because it will conflict with
the PowerPlant precompiled headers.
*/
/* warning pragmas */
#pragma warn_hidevirtual on
#pragma warn_emptydecl on
#pragma warn_unusedvar on
#pragma warn_extracomma on
#pragma warn_illpragma on
#pragma warn_possunwant on
#pragma warn_unusedarg off /* turned off to reduce warnings */
#pragma check_header_flags on
/* Language features that must be the same across libraries... */
#pragma enumsalwaysint on
#pragma unsigned_char off
#pragma exceptions on
#pragma bool on
#pragma wchar_type on
#pragma RTTI on
/* Save as much space as possible with strings... */
#pragma pool_strings on
#pragma dont_reuse_strings off
#pragma options align=native
#pragma sym on /* Takes no memory. OK in non-debug. */
#ifdef powerc /* ...generating PowerPC */
#pragma toc_data on
#pragma fp_contract on
#pragma readonly_strings on
#ifdef DEBUG
#pragma profile off /* Turn this on to profile the application. */
/* Look for more details about profiling in nsMacMessagePump.cpp. */
#pragma traceback on
#pragma global_optimizer off
#pragma scheduling off
#pragma peephole off
#pragma optimize_for_size off
#else
#pragma traceback on /* leave on until the final release, so MacsBug logs are interpretable */
#pragma global_optimizer on
#pragma optimization_level 4
#pragma scheduling 603
#pragma peephole on
#pragma optimize_for_size on
#pragma opt_strength_reduction on
#pragma opt_propagation on
#pragma opt_loop_invariants on
#pragma opt_lifetimes on
#pragma opt_dead_code on
#pragma opt_dead_assignments on
#pragma opt_common_subs on
#endif
#else /* ...generating 68k */
#pragma code68020 on
#pragma code68881 off
/* Far everything... */
#pragma far_code
#pragma far_data on
#pragma far_strings on
#pragma far_vtables on
#pragma fourbyteints on /* 4-byte ints */
#pragma IEEEdoubles on /* 8-byte doubles (as required by Java and NSPR) */
#ifdef DEBUG
#pragma macsbug on
#pragma oldstyle_symbols off
#else
#pragma macsbug off
#endif
#endif

View File

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

View File

@@ -0,0 +1,43 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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):
*/
#error "DonÕt use me!"
#define OLDROUTINELOCATIONS 0
#define XP_MAC 1
#define NSPR20 1
#define _NO_FAST_STRING_INLINES_ 1
#define HAVE_BOOLEAN 1
#define NETSCAPE 1
#define OTUNIXERRORS 1 /* We want OpenTransport error codes */
#define OJI 1
/*
This compiles in heap dumping utilities and other good stuff
for developers -- maybe we only want it in for a special SDK
nspr/java runtime(?):
*/
#define DEVELOPER_DEBUG 1
#define MAX(_a,_b) ((_a) < (_b) ? (_b) : (_a))
#define MIN(_a,_b) ((_a) < (_b) ? (_a) : (_b))

Binary file not shown.

View File

@@ -0,0 +1,78 @@
#!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";
#-------------------------------------------------------------
# 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"
);
#-------------------------------------------------------------
# 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) = 0;
my($do_build) = 1;
RunBuild($do_checkout, $do_build, \%inputfiles, $prefs_file_name);

View File

@@ -0,0 +1,78 @@
#!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";
#-------------------------------------------------------------
# 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"
);
#-------------------------------------------------------------
# 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:");
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,485 @@
#!perl -w
package Moz::BuildCore;
require 5.004;
require Exporter;
use strict;
use vars qw( @ISA @EXPORT );
# perl includes
use Cwd;
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()
{
SanityCheckJarOptions();
# 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);
}
#//--------------------------------------------------------------------------------------------------
#// Configure Build System
#//--------------------------------------------------------------------------------------------------
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:");
}
}
#//--------------------------------------------------------------------------------------------------
#// Regenerate DefinesOptions.h 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>)
{
$oldconfig .= $line;
if ($line =~ m/#define (.*) (.*)\n/)
{
$define = $1;
$definevalue = $2;
if (exists ($my::defines{$define}) and ($my::defines{$define} == $definevalue))
{
delete $my::defines{$define};
$config .= $line;
}
}
}
close(CONFIG_HEADER);
}
if (%my::defines)
{
foreach $k (keys(%my::defines))
{
$config .= "#define " . $k . " " . $my::defines{$k} . "\n";
}
}
if (($config ne $oldconfig) || (!-e $config_headerfile))
{
printf("Writing new DefinesOptions.h\n");
open(CONFIG_HEADER, "> $config_headerfile") || die "$config_headerfile: $!\n";
MacPerl::SetFileInfo("CWIE", "TEXT", $config_headerfile);
print CONFIG_HEADER ($config);
close(CONFIG_HEADER);
}
}
#//--------------------------------------------------------------------------------------------------
#// 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 descnet 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);
UpdateConfigHeader(":mozilla:config:mac:DefinesOptions.h");
# 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));
}
#//--------------------------------------------------------------------------------------------------
#// FastUpdate
#//
#// Use Bonsai url data to update only those dirs which have new files
#//
#//--------------------------------------------------------------------------------------------------
sub FastUpdate($)
{
my($num_hours) = @_;
my($the_module) = "SeaMonkeyAll";
my($the_branch) = "HEAD";
my($search_type) = "hours";
my($min_date) = "";
my($max_date) = "";
my($url) = "http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=${the_module}&branch=${the_branch}&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";
my(@files) = &get_files_from_content(&get_url_contents($url));
my(@cvs_co_list);
my($co_file);
foreach $co_file (@files)
{
my(@cvs_co) = ["", "", ""];
@cvs_co[0] = $co_file;
push(@cvs_co_list, \@cvs_co);
}
CheckoutModules(\@cvs_co_list);
}
#//--------------------------------------------------------------------------------------------------
#// Checkout
#//--------------------------------------------------------------------------------------------------
sub CheckoutModules($)
{
my($modules) = @_; # 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" }
# activate MacCVS
ActivateApplication('Mcvs');
my($this_co);
foreach $this_co (@$modules)
{
my($module, $revision, $date) = ($this_co->[0], $this_co->[1], $this_co->[2]);
CheckOutModule($session, $module, $revision, $date);
# print "Checking out $module with ref $revision, date $date\n";
}
TimeEnd($start_time, "Checkout");
}
#//--------------------------------------------------------------------------------------------------
#// Checkout
#//--------------------------------------------------------------------------------------------------
sub Checkout($)
{
my($checkout_list) = @_;
unless ( $main::build{pull} ) { return; }
StartBuildModule("pull");
my(@cvs_co_list);
my($checkout_file) = getScriptFolder().":".$checkout_list;
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 $checkout_list\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(@cvs_co_list, \@cvs_co);
}
close(CHECKOUT_FILE);
CheckoutModules(\@cvs_co_list);
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();
if ($main::FAST_UPDATE)
{
my($hours) = 8; # update files checked in during last 8 hours
FastUpdate($hours);
} else {
Checkout($input_files->{"checkoutdata"});
}
unless ($do_build) { return; }
my($build_start) = TimeStart();
# create generated headers
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,423 @@
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, $setting, $value) = @_;
my(@this_flag) = [$setting, $value];
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+#.+)?$/) # two-word line, possible comment
{
my($flag) = $1;
my($setting) = $2;
appendArrayFlag($cur_array, $flag, $setting);
}
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) = @_;
# These should remain unchanged
$optiondefines->{"mathml"}{"MOZ_MATHML"} = 1;
$optiondefines->{"svg"}{"MOZ_SVG"} = 1;
$optiondefines->{"carbon"}{"TARGET_CARBON"} = 1;
$optiondefines->{"cache"}{"MOZ_NEW_CACHE"} = 1;
$optiondefines->{"soap"}{"MOZ_SOAP"} = 1;
$optiondefines->{"lowmem"}{"MOZ_MAC_LOWMEM"} = 1;
$optiondefines->{"ldap_experimental"}{"MOZ_LDAP_XPCOM_EXPERIMENTAL"} = 1;
$optiondefines->{"useimg2"}{"USE_IMG2"} = 1;
$optiondefines->{"bidi"}{"IBMBIDI"} = 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,518 @@
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 vars qw(@ISA @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(
SetupDefaultBuildOptions
SetupBuildRootDir
StartBuildModule
EndBuildModule
GetBinDirectory
BuildOneProjectWithOutput
BuildOneProject
BuildIDLProject
BuildFolderResourceAliases
AskAndPersistFile
DelayFor
TimeStart
TimeEnd
EmptyTree
SetupBuildLog
SetBuildNumber
SetTimeBomb
);
#//--------------------------------------------------------------------------------------------------
#// SetupDefaultBuildOptions
#//--------------------------------------------------------------------------------------------------
sub SetupDefaultBuildOptions($$)
{
my($debug, $bin_dir) = @_;
# 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::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;
}
#//--------------------------------------------------------------------------------------------------
#// 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($datafolder_path) = $project_path;
$datafolder_path =~ s/\.mcp$/ Data:/; # generate name of the project's data folder.
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);
}
#//--------------------------------------------------------------------------------------------------
#// 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_shlb, $alias_xSYM, $component) = @_;
unless ($project_path =~ m/^$main::BUILD_ROOT.+/) { return; }
# $D becomes a suffix to target names for selecting either the debug or non-debug target of a project
my($D) = $main::DEBUG ? "Debug" : "";
my($dist_dir) = GetBinDirectory();
# Put libraries in "Essential Files" folder, Components in "Components" folder
my($component_dir) = $component ? "Components:" : "Essential Files:";
my($project_dir) = $project_path;
$project_dir =~ s/:[^:]+$/:/; # chop off leaf name
if ($main::CLOBBER_LIBS)
{
unlink "$project_dir$output_name"; # it's OK if these fail
unlink "$project_dir$output_name.xSYM";
}
BuildProject($project_path, $target_name);
$alias_shlb ? MakeAlias("$project_dir$output_name", "$dist_dir$component_dir") : 0;
$alias_xSYM ? MakeAlias("$project_dir$output_name.xSYM", "$dist_dir$component_dir") : 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_shlb, $alias_xSYM, $component) = @_;
BuildOneProjectWithOutput($project_path, $target_name, $target_name,
$alias_shlb, $alias_xSYM, $component);
}
#//--------------------------------------------------------------------------------------------------
#// 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");
}
}
#-----------------------------------------------
# SetBuildNumber
#-----------------------------------------------
sub SetTimeBomb($$)
{
my ($warn_days, $bomb_days) = @_;
system("perl :mozilla:config:mac-set-timebomb.pl $warn_days $bomb_days");
}
1;

View File

@@ -0,0 +1,592 @@
#!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 Mac::Types;
use Mac::Events;
use Mac::AppleEvents;
use Mac::AppleEvents::Simple;
use Mac::Processes;
use Mac::MoreFiles;
use Mac::StandardFile;
use File::Basename;
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:');
=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);
return $evt->{ERROR};
}
sub _doc_named ($) {
my($prm) =
q"'----':obj {form:test, want:type(docu), from:'null'(), " .
q"seld:cmpd{relo:'= ', 'obj1':obj {form:prop, want:type" .
q"(prop), seld:type(pnam), from:'exmn'()}, 'obj2':TEXT(@)}}";
my($evt) = do_event(qw/core getd/, $app, $prm, $_[0]);
return($evt->{REPLY} eq 'aevt\ansr{}' ? undef : $evt);
}
sub _full_path ($) {
my($obj) = $_[0];
my($prm) =
q"'----':obj {form:prop, want:type(prop), seld:type(FILE), " .
q"from:" . AEPrint($_[0]) . q"}, rtyp:type(TEXT)";
my($evt) = do_event(qw/core getd/, $app, $prm);
return MacPerl::MakePath(
MacUnpack('fss ', (
AEGetParamDesc($evt->{REP}, keyDirectObject()))->data()->get()
)
);
}
sub _save_errors_window ($) {
my($prm) =
q"'----':obj {form:name, want:type(alis), seld:TEXT(@), from:'null'()}";
do_event(qw/MMPR SvMs/, $app, $prm, $_[0]);
}
sub _close_errors_window () {
my($prm) =
q"'----':obj {form:name, want:type(cwin), " .
q"seld:TEXT(@), from:'null'()}";
my($evt) = do_event(qw/core clos/, $app, $prm, 'Errors & Warnings');
return($evt->{REPLY} eq 'aevt\ansr{}' ? 1 : 0);
}
sub _close () {
my($prm) = q"'----':" . AEPrint($_[0]);
do_event(qw/core clos/, $app, $prm);
}
sub _get_dobj ($) {
return(AEGetParamDesc($_[0]->{REP}, keyDirectObject()));
}
sub _get_folder ($$) {
require 'GUSI.ph';
my($prompt, $default) = @_;
MacPerl::Choose(
GUSI::AF_FILE(), 0, $prompt, '',
GUSI::CHOOSE_DIR() + ($default ? &GUSI::CHOOSE_DEFAULT : 0),
$default
);
}
sub _save_appath ($$) {
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,599 @@
#!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);
}
#-------------------------------------------------------------------------------
# SanityCheckJarOptions
#
#-------------------------------------------------------------------------------
sub SanityCheckJarOptions()
{
if (!$main::options{chrome_jars} && !$main::options{chrome_files})
{
print "Both \$options{chrome_jars} and \$options{chrome_files} are off. You won't get any chrome.\n";
return;
}
if (!$main::options{chrome_jars} && $main::options{use_jars})
{
print "\$options{chrome_jars} is off but \$options{use_jars} is on. Your build won't run (expects jars, got files).\n";
return;
}
if (!$main::options{chrome_files} && !$main::options{use_jars})
{
print "\$options{chrome_jars} is off but \$options{chrome_files} is on. Your build won't run (expects files, got jars).\n";
return;
}
}
#-------------------------------------------------------------------------------
# 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,254 @@
#!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 $MacCVSLib);
use Cwd;
use Mac::StandardFile;
use File::Basename;
@ISA = qw(Exporter);
@EXPORT = qw( new print checkout);
$VERSION = "1.00";
my($last_error) = 0;
# Architecture:
# cvs session object:
# name - session name
# session_file - session file
#
# globals
# $MacCVSLib - location of MacCVS applescript library
#
#
#
# utility routines
#
# just like Mac::DoAppleScript, 1 is success, 0 is failure
sub _myDoAppleScript($)
{
my($script) = @_;
my $asresult = MacPerl::DoAppleScript($script);
if ($asresult eq "0")
{
return 1;
}
else
{
my($error_string) = "Unknown error";
my($error_code) = 0;
if ($asresult =~ /^\"(.*)\.([0-9]+)\"$/)
{
$error_string = $1;
$error_code = $2;
}
print STDERR "Error. Script returned '$error_string (error $error_code)\n";
# print STDERR "AppleScript was: \n $script \n";
$last_error = $error_code;
return 0;
}
}
# get the full path to this module
sub _getPathToMe()
{
# this can be a relative or absolute path. If relative, is relative
# to the running script ($0)
my($my_path) = $INC{"Moz/MacCVS.pm"};
if (substr($my_path, 0, 1) eq ":") # relative path
{
$my_path = dirname($0).$my_path;
}
return $my_path;
}
# _useMacCVSLib
# returns 1 on success
# Search the include path for the file called MacCVSLib
sub _useMacCVSLib()
{
unless (defined($MacCVSLib) && ($MacCVSLib ne ""))
{
my($libname) = "MacCVSLib";
my($my_path) = _getPathToMe();
# try in the same directory as this module
my($c) = dirname($my_path).":".$libname;
if ( -e $c)
{
$MacCVSLib = $c;
return 1;
}
# try the directory we were run from
$c = dirname($0) . ":" . $libname;
if ( -e $c)
{
$MacCVSLib = $c;
return 1;
}
# now search the include directories
foreach (@INC)
{
unless ( m/^Dev:Pseudo/ ) # This is some bizarre MacPerl special-case directory
{
$c = $_ . $libname;
if (-e $c)
{
$MacCVSLib = $c;
return 1;
}
}
}
die "Error: MacCVSLib could not be found!";
}
return 1;
}
#
# Session object methods
#
sub new
{
my ( $proto, $session_file) = @_;
my $class = ref($proto) || $proto;
my $self = {};
if ( defined($session_file) && ( -e $session_file) )
{
$self->{"name"} = basename( $session_file );
$self->{"session_file"} = $session_file;
bless $self, $class;
return $self;
}
else
{
print STDERR "MacCVS->new cvs file < $session_file > does not exist\n";
return;
}
}
# makes sure that the session is open
# assertSessionOpen()
# returns 1 on success
sub assertSessionOpen()
{
my ($self) = shift;
_useMacCVSLib() || die "Error: Could not load MacCVSLib\n";
$last_error = 0;
my $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MacCVSLib") to OpenSession("$self->{session_file}")
END_OF_APPLESCRIPT
return _myDoAppleScript($script);
}
# prints the cvs object, used mostly for debugging
sub print
{
my($self) = shift;
$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 $script = <<END_OF_APPLESCRIPT;
tell (load script file "$MacCVSLib") to Checkout given sessionName:"$self->{name}", module:"$module", revision:"$revision", date:"$date"
END_OF_APPLESCRIPT
return _myDoAppleScript($script);
}
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
=cut
__END__

Binary file not shown.

View File

@@ -0,0 +1,597 @@
=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 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
BuildProject
BuildProjectClean
ImportXMLProject
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 build_project($$$)
{
my ($project_path, $target_name, $clean_build) = @_;
$project_path = full_path_to($project_path);
# $project_path =~ m/.+:(.+)/;
# my $project_name = $1;
log_message_with_time("### Building \"$project_path\"");
# Check that the given project exists
if (! -e $project_path)
{
print ERROR_LOG "### Build failed.\n";
die "### Can't find project file \"$project_path\".\n";
}
print "Building \"$project_path\[$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);
}
}
=head2 Getting CodeWarrior to build projects - C<BuildProject($project, $opt_target)>, C<BuildProjectClean($project, $opt_target)>
C<BuildProject()> and C<BuildProjectClean()> are identical, except that the latter first removes object code.
In both, CodeWarrior opens the project if it wasn't already open; builds the given (or else current) target; and finally closes
the project, if it wasn't already open.
=cut
sub BuildProject($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, 0);
}
sub BuildProjectClean($;$)
{
my ($project_path, $target_name) = @_;
build_project($project_path, $target_name, 1);
}
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";
}
}
=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,273 @@
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:
%
% CARBON 1
% 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,67 @@
#-------------------------------------------------------------------------------
# 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
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
chrome_jars 1
chrome_files 0
use_jars 1
transformiix 0
mathml 0
svg 0
mng 1
ldap 1
ldap_experimental 0
xmlextras 1
soap 0
vixen 0
inspector 0
mailextras 1
xptlink 0
psm 0
psm2 0
embedding_test 1
carbon 0
cache 1
useimg2 1
lowmem 0
accessible 1
bidi 0
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,19 @@
# 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_BRANCH
# mozilla/gc, , 10/25/2000 12:00:00
#
mozilla/nsprpub, NSPRPUB_CLIENT_BRANCH
mozilla/security/nss, NSS_CLIENT_TAG
mozilla/security/psm,
mozilla/security/manager,
mozilla/accessible,
DirectorySDKSourceC, LDAPCSDK_40_BRANCH
mozilla/lib/mac/Instrumentation
mozilla/gfx2
mozilla/modules/libpr0n
SeaMonkeyAll

View File

@@ -0,0 +1,78 @@
#!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"
);
#-------------------------------------------------------------
# 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);

View File

@@ -0,0 +1,4 @@
This directory is merely here to test the project editor server. It will go away after
it is validated. For more information, see http://camelot.
Testing watchers.

Binary file not shown.

Binary file not shown.

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