Compare commits

..

1652 Commits

Author SHA1 Message Date
(no author)
85a3f59a72 This commit was manufactured by cvs2svn to create branch 'SSU_PERSONAL_M13'.
git-svn-id: svn://10.0.0.236/branches/SSU_PERSONAL_M13@54297 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 20:00:21 +00:00
ssu%netscape.com
2bb9a33f4d initial checkin of a smartupdate trial trigger page. not part of tinderbox. a=leaf not part of build either.
git-svn-id: svn://10.0.0.236/trunk@54295 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 20:00:19 +00:00
larryh%netscape.com
7e10edeacf BugZilla: 19448. Back out disable call to _PR_MD_GetRandomNoise()
git-svn-id: svn://10.0.0.236/trunk@54294 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 19:15:32 +00:00
briano%netscape.com
8a9274e9d6 Automated update
git-svn-id: svn://10.0.0.236/trunk@54293 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 19:01:02 +00:00
cls%seawood.org
59159e9dfe Oops, we're using USE_PTHREADS instead of _HAVE_PTHREADS.
git-svn-id: svn://10.0.0.236/trunk@54292 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 18:55:01 +00:00
slamm%netscape.com
1f35e0a04c Add 'mozilla/' to blame links.
git-svn-id: svn://10.0.0.236/trunk@54291 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 17:42:19 +00:00
norris%netscape.com
b275a73219 delete of non-reference just evaluates to true.
git-svn-id: svn://10.0.0.236/trunk@54290 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 17:36:17 +00:00
larryh%netscape.com
98b909eb6b BugZilla 19448. Temporary circumvention
git-svn-id: svn://10.0.0.236/trunk@54289 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 17:33:20 +00:00
norris%netscape.com
34673b8f9e Add ConversionError and make it work for undefined.foo.
git-svn-id: svn://10.0.0.236/trunk@54288 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 17:30:31 +00:00
norris%netscape.com
13ceb50706 Remove commented-out code.
git-svn-id: svn://10.0.0.236/trunk@54287 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 17:29:53 +00:00
norris%netscape.com
412d0add5a Fix formatting.
git-svn-id: svn://10.0.0.236/trunk@54286 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 17:29:34 +00:00
briano%netscape.com
4b40e12399 Automated update
git-svn-id: svn://10.0.0.236/trunk@54285 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 15:45:26 +00:00
cls%seawood.org
04aeafd41a Added check for pthread symbols in libc.
git-svn-id: svn://10.0.0.236/trunk@54284 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 15:31:56 +00:00
valeski%netscape.com
a4eb901f54 18435, r=warren. the FTP directory listing stream converter now supports synchronous usage. This allows directory listing streams to be converted when OpenInputStream is called.
git-svn-id: svn://10.0.0.236/trunk@54283 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 15:13:29 +00:00
rods%netscape.com
a6d7ccf209 removed return variable that wasn't used and its warning r=self
git-svn-id: svn://10.0.0.236/trunk@54282 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 14:21:03 +00:00
rods%netscape.com
d5f402d8c6 removed extra variable declaration and the warning
git-svn-id: svn://10.0.0.236/trunk@54281 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 14:20:17 +00:00
rods%netscape.com
94accb2fc7 fixed two warning r=me
git-svn-id: svn://10.0.0.236/trunk@54280 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 14:16:59 +00:00
andreas.otte%primus-online.de
b4d1d896af Added code to remove trailing spaces in URLs. (Fixes bug 15451)
Some code to add a trailing / in SetDirectory if it is missing. There is no special bug behind this, just a fix for a potential bug.

And a oneliner in ParsePath to deal with params, querys and refs in the right place. Between setting brk and getting to the code that deals with this stuff, there is a ReplaceMess call which can change the position of querys and co. This change avoids that problem.

r=valeski


git-svn-id: svn://10.0.0.236/trunk@54279 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 14:06:17 +00:00
Jerry.Kirk%Nexwarecorp.com
9f15cbd1bd nsAppShell: Added some NS_WARNING calls.
nsWidget: Aded support for numeris keys on the numeric keypad.


git-svn-id: svn://10.0.0.236/trunk@54278 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 13:10:03 +00:00
Jerry.Kirk%Nexwarecorp.com
5cd0db7fc2 Overloaded more methods in the ChildWindow for destruction.
Added GetFrameSize method to the Window.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@54277 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 13:08:46 +00:00
Jerry.Kirk%Nexwarecorp.com
2f8fb284e0 Changed some logging to be more helpful in tracking down graphic rips.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@54276 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 13:06:27 +00:00
Jerry.Kirk%Nexwarecorp.com
7a24d2b40b Increased size of static Font List buffer to support new fonts
being released.  This should really be dynamic.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@54275 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 13:02:21 +00:00
warren%netscape.com
639dba992f Test case for the res: protocol.
git-svn-id: svn://10.0.0.236/trunk@54274 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 12:14:58 +00:00
warren%netscape.com
8149fa4c9b Initial checkin of the res: protocol -- replacement for resource: that does symbolic roots, and searching.
git-svn-id: svn://10.0.0.236/trunk@54273 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 12:13:33 +00:00
tbogard%aol.net
f7854c4d17 Changes to get this compiling again.
git-svn-id: svn://10.0.0.236/trunk@54272 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 10:15:10 +00:00
tbogard%aol.net
57191011f6 Changed the old QI map to use the new NS_INTERFACE_MAP_BEGIN, NS_INTERFACE_ENTRY, NS_INTERFACE_MAP_END type map.
git-svn-id: svn://10.0.0.236/trunk@54271 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 10:08:32 +00:00
tbogard%aol.net
80ea367e86 Changed the concept of the webshell holding an mChromeElement object to it holding a nsIChromeEventHandler interface. This is more generic and allows other apps to plugin nicer into the API.r=hyatt
git-svn-id: svn://10.0.0.236/trunk@54270 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 09:57:47 +00:00
tbogard%aol.net
5a58d9854e Enabled nsHTMLFrameElement and nsHTMLIFrameElement to implement the nsIChromeEventHandler interface. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@54269 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 09:42:49 +00:00
tbogard%aol.net
1911c4e4d3 Enabled nsXULElement to implement the nsIChromeEventHandler interface. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@54268 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 09:36:39 +00:00
dougt%netscape.com
587185d7ca 1) #ifdefing out dll entry points from nsProxyObjectManager which should not
be used

2) Fix crashing bug in nsProxiedService when a CI fails.  Converted this to
use nsCOMPtrs

3) Fixing bug 18109.  This involved changing what information about hash values
we use.

Tested FTP dir and file, and IMAP.


git-svn-id: svn://10.0.0.236/trunk@54267 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 08:53:44 +00:00
dp%netscape.com
2589a07d5b Beautify...
git-svn-id: svn://10.0.0.236/trunk@54266 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 07:54:25 +00:00
mscott%netscape.com
96db249ec3 force uri dispatching to always be on if the url we are trying to load
is a mailto url. why? because it works so well for mailto =). No sense
in only allowing people turning uri dispatching on to get the benefits.
r=travis.


git-svn-id: svn://10.0.0.236/trunk@54265 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 07:14:45 +00:00
warren%netscape.com
7cc3cd1861 Minor cleanup.
git-svn-id: svn://10.0.0.236/trunk@54264 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 07:05:53 +00:00
warren%netscape.com
f966e3dacd Pedantic change to macro.
git-svn-id: svn://10.0.0.236/trunk@54263 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 07:03:04 +00:00
warren%netscape.com
0257ba25ee Added code to aggressively clean up file transport on failure.
git-svn-id: svn://10.0.0.236/trunk@54262 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 07:01:56 +00:00
briano%netscape.com
d6e9e1b9ad Automated update
git-svn-id: svn://10.0.0.236/trunk@54261 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 06:45:09 +00:00
cls%seawood.org
8c143b9f1d Forgot the "test" keyword on the final elif. Bug #19626
git-svn-id: svn://10.0.0.236/trunk@54260 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 06:35:43 +00:00
cls%seawood.org
580f31aa92 Added support for neutrino target to configure.in. Patch submitted by Jerry L. Kirk <Jerry.Kirk@Nexwarecorp.com>.
Split AR_FLAGS from AR for platforms that don't use the common syntax.


git-svn-id: svn://10.0.0.236/trunk@54259 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 06:23:52 +00:00
rbs%maths.uq.edu.au
198220fee0 Consolidation of the code and efficient trimming of msqrt by delagating a big chunk of the reflow operation to the base class.
git-svn-id: svn://10.0.0.236/trunk@54258 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 06:04:02 +00:00
scc%netscape.com
b27b4320eb Added |do_GetService| of a specific service manager as opposed to the global one. Fixed the appropriate macro accordingly. Please note: travis will be supporting this change until I'm back online in Michigan. r=dp.
git-svn-id: svn://10.0.0.236/trunk@54257 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 05:55:33 +00:00
scc%netscape.com
50681e94de added macros preparing us to move to table-driven QI. Please note: travis will be supporting any problems with this checkin till I'm back online in Michigan. r=tbogard
git-svn-id: svn://10.0.0.236/trunk@54256 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 05:55:31 +00:00
rjc%netscape.com
8d33404471 One less loop (figured out what was preventing this).
git-svn-id: svn://10.0.0.236/trunk@54255 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 05:37:33 +00:00
rjc%netscape.com
555f303d71 Get rid of a warning.
git-svn-id: svn://10.0.0.236/trunk@54254 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 04:47:38 +00:00
rjc%netscape.com
c10829cb59 Get rid of another signed/unsigned warning.
git-svn-id: svn://10.0.0.236/trunk@54253 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 04:44:52 +00:00
rjc%netscape.com
75ef977af7 Get rid of a signed/unsigned warning.
git-svn-id: svn://10.0.0.236/trunk@54252 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 04:43:01 +00:00
rjc%netscape.com
632f1cacc1 Speed up sorting by reducing the # of times we loop over the list of nodes. Now, we loop over once to build up a flat array of nodes [qsort needs a flat array] and remove them from the content model, then we sort, then we loop again to re-add the now-sorted nodes, and finally we loop to check if any of the nodes is a container with children such that we need to recursively sort on it. [Note: I tried to combine the final two loops but the tree widget didn't like that. Oh well... its still a lot better than before.]
git-svn-id: svn://10.0.0.236/trunk@54251 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 04:39:29 +00:00
scc%netscape.com
3ed13a724b fixed up to match recent changes made to weak references. r=tbogard
git-svn-id: svn://10.0.0.236/trunk@54250 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:30:06 +00:00
sfraser%netscape.com
d121ce38a0 #ifdef out all the stupid printfs. r=pinkerton, no bug.
git-svn-id: svn://10.0.0.236/trunk@54249 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:26:56 +00:00
ssu%netscape.com
6aca798337 fixing bug #19597. Fixed the warning of insufficient disk space error message to show the correct disk space required/available. r=dveditz
git-svn-id: svn://10.0.0.236/trunk@54248 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:21:43 +00:00
scc%netscape.com
7ca94fb86d Added the file "nsIInterfaceRequestor.cpp" to the project. Contents currently |#if|d out. Travis will add this file to the other builds, and then enable. This adds |do_GetInterface| functionality. r=tbogard.
git-svn-id: svn://10.0.0.236/trunk@54247 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:14:42 +00:00
scc%netscape.com
7d6855108a commented out, so it could be added to the project. Travis will uncomment it when he adds it to the windows and unix builds. r=tbogard
git-svn-id: svn://10.0.0.236/trunk@54246 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:13:05 +00:00
scc%netscape.com
43dcf964eb don't ASSERT that it doesn't support weak references for NULL. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@54245 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:10:02 +00:00
rickg%netscape.com
ac4f0092a0 fixed bug18312; this isn't PDT+, but is something that Phil has been *really* anxious to have fixed. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@54244 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:09:12 +00:00
rickg%netscape.com
7301979853 fixed bug 18312; it's not PDT+, but it's something Phil has been *really* anxious to fix. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@54243 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:07:09 +00:00
saari%netscape.com
e7d7a8170e Popup menu positioning code. R: Hyatt
git-svn-id: svn://10.0.0.236/trunk@54242 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 03:02:01 +00:00
scc%netscape.com
876498d1eb First Checked In.
git-svn-id: svn://10.0.0.236/trunk@54241 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 02:50:17 +00:00
rjc%netscape.com
3be3d684c2 When sorting, only set found="true" attribute if not a natural order sort.
git-svn-id: svn://10.0.0.236/trunk@54240 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 02:27:03 +00:00
nisheeth%netscape.com
4d096639bc r=karnaze. Fix for bug 18367. We set the primary frame for table rows to be the row frame for all cases now. Earlier, the anonymous table row group frame was getting set as the primary frame of rows inserted from script.
git-svn-id: svn://10.0.0.236/trunk@54239 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 02:06:39 +00:00
dougt%netscape.com
4003fcee5e removing protocol icon stuff.
git-svn-id: svn://10.0.0.236/trunk@54238 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:55:59 +00:00
matt%netscape.com
24976b0b18 14846 r-self
git-svn-id: svn://10.0.0.236/trunk@54237 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:55:13 +00:00
dougt%netscape.com
23b89f19c9 Removing protocol icon.
git-svn-id: svn://10.0.0.236/trunk@54236 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:52:36 +00:00
rjc%netscape.com
e1871db87e Set some sorting hints on the root of the tree (allows for faster insertion sort, due to not having to look around for treecol tags; also makes it pretty easy for drag&drop code to determine if a sort is currently being imposed.)
git-svn-id: svn://10.0.0.236/trunk@54235 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:51:46 +00:00
waterson%netscape.com
8085996e7f Bug 19421. Brendan's fixes for brutal sharing of script, plus a 'placeholder channel' that ensures we don't fire the EndDocumentLoad() before the prototype walk completes. r=brendan
git-svn-id: svn://10.0.0.236/trunk@54234 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:44:51 +00:00
nhotta%netscape.com
c0d856f5bb Added error checking (result code and null pointer), bug 19469, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@54233 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:21:32 +00:00
pierre%netscape.com
cb816ff88c 8862 "listStyleImage not directly updated". Changing the className causes recreation of frames for the element. Suggested although not formally reviewed by vidur.
git-svn-id: svn://10.0.0.236/trunk@54232 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:08:44 +00:00
pierre%netscape.com
5814ba61a0 18285: crash on infoworld. When we append a change to the ChangeList, make sure we return its hint, especially if it's a HINT_REFLOW because the reflow may delete some frames that are referred to elsewhere in the ChangeList. r=troy.
git-svn-id: svn://10.0.0.236/trunk@54231 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:08:20 +00:00
pierre%netscape.com
47b0c08a9f 12520 "GFX select elements need to be able to turn off text". Changed nsFrame::DisplaySelection to use the parent's mUserSelect similarly to what we do with mCursor in nsFrame::GetCursor. r=mjudge.
git-svn-id: svn://10.0.0.236/trunk@54230 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:07:56 +00:00
mcafee%netscape.com
988eaa952c These files got checked in with win32 EOL characters, re-checking these in. r=radha,akkana
git-svn-id: svn://10.0.0.236/trunk@54229 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:07:29 +00:00
pierre%netscape.com
4a74358841 12737: removed the 'moz-fixed' NavQuirk
git-svn-id: svn://10.0.0.236/trunk@54228 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:07:26 +00:00
pierre%netscape.com
35f41f6a1d 12520/12521 "GFX select elements need to be able to turn off text" turn off user selection inside the drop-down list. r=mjudge.
git-svn-id: svn://10.0.0.236/trunk@54227 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:05:45 +00:00
rjc%netscape.com
d0aa909e23 Add support for sorting in-between separators. Restoring all bookmark columns (per marketing).
git-svn-id: svn://10.0.0.236/trunk@54226 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:03:30 +00:00
rjc%netscape.com
ecb5a962fe Better handling of natural order calculation on RDF sequences; add support for sorting in-between separators.
git-svn-id: svn://10.0.0.236/trunk@54225 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:02:55 +00:00
jband%netscape.com
170ebb1f69 fixup the exported api declarations to use JS_PUBLIC_API in a consistent fashion r=mccabe
git-svn-id: svn://10.0.0.236/trunk@54224 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 01:02:28 +00:00
rpotts%netscape.com
818496052b Added a missing Release to prevent leaking a SupportsArrayEnumerator...
git-svn-id: svn://10.0.0.236/trunk@54223 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 00:59:41 +00:00
erik%netscape.com
593974c3ba bug 8801; new font enumerator for GTK for font prefs UI; r=ftang
git-svn-id: svn://10.0.0.236/trunk@54222 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 00:43:41 +00:00
jj%netscape.com
bc14f0eb17 #19568: fixed app name (was missing from distribution)
git-svn-id: svn://10.0.0.236/trunk@54221 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 00:30:12 +00:00
erik%netscape.com
8fee3c22cb bug 8801; better error handling for new font enumerator; r=ftang
git-svn-id: svn://10.0.0.236/trunk@54220 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 00:12:36 +00:00
larryh%netscape.com
f040981a26 BugZilla: 19247. Add support for FreeBSD
git-svn-id: svn://10.0.0.236/trunk@54219 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 00:04:15 +00:00
matt%netscape.com
894f79e85e fix for bug 683 typo
git-svn-id: svn://10.0.0.236/trunk@54218 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:58:05 +00:00
matt%netscape.com
f96381c532 adding ' for bug 6830..typo
git-svn-id: svn://10.0.0.236/trunk@54217 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:56:22 +00:00
ducarroz%netscape.com
b60563f9ec Fix for bug 19404. We need to return an error code when the SMTP server name is missing. R=mscott
git-svn-id: svn://10.0.0.236/trunk@54216 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:48:42 +00:00
norris%netscape.com
4e4fe42d78 Fix test failures:
ecma_2/Exceptions/expression-020.js
js1_4/Regress/date-001-n.js
js1_4/Regress/toString-001-n.js


git-svn-id: svn://10.0.0.236/trunk@54214 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:48:06 +00:00
sfraser%netscape.com
1d2a704d20 Include stdio.h using system paths, not user paths. r=syd,akk, shaver. no bug (so bite me)
git-svn-id: svn://10.0.0.236/trunk@54213 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:46:30 +00:00
matt%netscape.com
2e0d493a20 adding offline prefs default for the prefs -r dp
git-svn-id: svn://10.0.0.236/trunk@54212 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:44:54 +00:00
mscott%netscape.com
37207fe11e Bug #1966 --> properly ref count the url listeners for send and post
this means never calling delete directly on the objects like
we were before. A nsCAutoString tweak...
r=rhp


git-svn-id: svn://10.0.0.236/trunk@54211 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:33:24 +00:00
mscott%netscape.com
5846246979 Bug #1966 --> be safe...when you get an OnStopRunningUrl,
remove yourself as a url listener because you don't care anymore.
r=rhp


git-svn-id: svn://10.0.0.236/trunk@54210 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:32:48 +00:00
mscott%netscape.com
917a5230d6 Bug #19166 --> pull a 180 and reverse the ref counting
model for url listeners. The manager now uses an
nsIsupportsArray to keep references to all of the url listeners.
However, in order to prevent circular references (which is
why I was using a nsVoidArray before), when we issue the on stop
call to a url listener, we automatically release our ref
to that object.
r=rhp


git-svn-id: svn://10.0.0.236/trunk@54209 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:32:13 +00:00
rginda%netscape.com
61f33305f8 Return exitcode 3 on runtime errors, and 4 on 'file not found's; added to js and xpc shell,
r=jband


git-svn-id: svn://10.0.0.236/trunk@54208 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:28:58 +00:00
law%netscape.com
cfd4928f35 Fix for 14634; use fileSpec.nativePath rather than raw file: URL; r=matt@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54207 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:15:02 +00:00
varada%netscape.com
89731ecc00 third party components fix for bug#7173
git-svn-id: svn://10.0.0.236/trunk@54206 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:11:38 +00:00
scc%netscape.com
4d5f66b2ed needs |NS_EXPORT| ... still not turned on
git-svn-id: svn://10.0.0.236/trunk@54205 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:11:15 +00:00
scc%netscape.com
9815e50527 Added |do_GetInterface| (not turned on yet). This will be turned on when we add a file for the implementation. r=tbogard
git-svn-id: svn://10.0.0.236/trunk@54204 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:09:05 +00:00
law%netscape.com
2422c0617b Fix for 18763; submitted by Steve Morrison (smorrison@gte.com); r=law@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54203 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:04:34 +00:00
scc%netscape.com
7011fe7fc1 clear out the result in |do_CreateInstance| on error. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@54202 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:01:35 +00:00
ssu%netscape.com
cbc140cc8e fixed the title bar of the Progress dialog during installation of files to
show which component it's currently processing.

also added a new key to parse in the config.ini to help fix bug #19391.

All these changes only affect windows platorms

r=dbragg


git-svn-id: svn://10.0.0.236/trunk@54199 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:00:21 +00:00
davidm%netscape.com
744ee56b12 Added
nsISHEntry.idl 
nsISHContainer.idl 
nsISHTransaction.idl 
 and
nsSHEntry.cpp 
nsSHTransaction.cpp 
for radha@netscape.com


git-svn-id: svn://10.0.0.236/trunk@54198 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:59:34 +00:00
scc%netscape.com
ba8f7bc4e6 clear out result in |do_QueryReferent| on error; assert in |NS_GetWeakReference| if the source object doesn't support weak references; also return NS_ERROR_NO_INTERFACE in release builds. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@54197 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:59:21 +00:00
ssu%netscape.com
499fce381e added new error ID and exposed it to the Install object in javascript. This is part of fixing bug #18704. r=dbragg
git-svn-id: svn://10.0.0.236/trunk@54196 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:57:13 +00:00
kmcclusk%netscape.com
eac0eb7881 Applied patch for improving event dispatching on WIN32. bug=17881. r=rods@netscape.com,michael.lowe@bigfoot.com
git-svn-id: svn://10.0.0.236/trunk@54195 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:51:39 +00:00
ssu%netscape.com
24b5372b33 fixing bugs #19391 and #18704. The .xpi files now check for errors and
disk space availability before installation begins.

It also copies npjava*.dll from wherever JRE is to its Plugins folder.

Affects only Windows platforms, but not part of tinderbox.
r=dbragg


git-svn-id: svn://10.0.0.236/trunk@54193 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:50:30 +00:00
radha%netscape.com
5c61905f0e Initial checkin for new SessionHistory component
git-svn-id: svn://10.0.0.236/trunk@54192 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:49:01 +00:00
radha%netscape.com
32e419cc84 IDL files for new SessionHistory component.Initial checkin
git-svn-id: svn://10.0.0.236/trunk@54191 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:47:09 +00:00
ssu%netscape.com
89257ed01f initial checkin. not part of tinderbox. r=dbragg
git-svn-id: svn://10.0.0.236/trunk@54190 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:45:50 +00:00
waterson%netscape.com
a51e13d781 Add nsIRDFDelegateFactory.idl to Mac build.
git-svn-id: svn://10.0.0.236/trunk@54189 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:35:58 +00:00
dp%netscape.com
963f1afd0a Adding support for MOZ_CVS_FLAGS (useful for specifying -z3) r=leaf
git-svn-id: svn://10.0.0.236/trunk@54188 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:33:40 +00:00
pinkerton%netscape.com
94e760238a add new layout idl stuff for travis.
git-svn-id: svn://10.0.0.236/trunk@54187 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:33:17 +00:00
waterson%netscape.com
e0baec67b1 Add nsIRDFDelegateFactory to Win32 and Unix builds.
git-svn-id: svn://10.0.0.236/trunk@54186 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:33:11 +00:00
dveditz%netscape.com
ad383a25e0 Bug 19566 preventing PSM install. r=ssu
git-svn-id: svn://10.0.0.236/trunk@54185 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:32:40 +00:00
waterson%netscape.com
0b0b1920dc Initial revision. Not yet in the build.
git-svn-id: svn://10.0.0.236/trunk@54184 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:32:27 +00:00
pinkerton%netscape.com
b7ff04918d First Checked In.
git-svn-id: svn://10.0.0.236/trunk@54183 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:30:12 +00:00
pinkerton%netscape.com
ab7e02511c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@54182 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:23:08 +00:00
alecf%netscape.com
b74f2a54b5 update xterm-titler to only show the relative directory
r=leaf


git-svn-id: svn://10.0.0.236/trunk@54181 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:21:07 +00:00
akhil.arora%sun.com
ddcef18796 r=akhil.arora@sun.com fix=Denis Sharypov <sdv@sparc.spb.su>
Added some new tests.


git-svn-id: svn://10.0.0.236/trunk@54180 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:10:44 +00:00
putterman%netscape.com
962c93df68 Work on making folder pane look like spec. Fixes 17841. Reviewed by alecf.
git-svn-id: svn://10.0.0.236/trunk@54179 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:08:23 +00:00
akhil.arora%sun.com
4de6bf5f15 19304 r=akhil.arora@sun.com fix=Denis Sharypov <sdv@sparc.spb.su>
Forgot to commit these two files that are part of the conversion to an
  xpcom module.


git-svn-id: svn://10.0.0.236/trunk@54178 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:06:46 +00:00
akhil.arora%sun.com
7b0173cd92 19305 r=akhil.arora fix=Denis Sharypov <sdv@sparc.spb.su>
Use QI to check for nsIWebShell before casting. Safer.


git-svn-id: svn://10.0.0.236/trunk@54177 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:05:31 +00:00
rods%netscape.com
14ecc50063 Added NavQuirks sizing for input button
git-svn-id: svn://10.0.0.236/trunk@54176 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:04:53 +00:00
rods%netscape.com
3593d7e84c Added NavQuirks sizing for buttons and hidden
git-svn-id: svn://10.0.0.236/trunk@54175 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:03:35 +00:00
rods%netscape.com
9a199b5e98 Added the correct fonts for submit,reset, input button.
set box-sizing for HTML 4 buttons
Set font in psuedo element for the input text
r=kmcclusk bug b=11285


git-svn-id: svn://10.0.0.236/trunk@54174 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:02:19 +00:00
akhil.arora%sun.com
b2ac9c284d 19578 r=akhil.arora@sun.com fix=Denis Sharypov <sdv@sparc.spb.su>
Defer deleting the current element until the next iteration so that we can
  dereference the element first to get to the next element.


git-svn-id: svn://10.0.0.236/trunk@54173 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 22:01:23 +00:00
cls%seawood.org
2606d77b9d Check for pthread symbols in libc if the checks in libpthread & libc_r fail.
Fix typo in MOZ_OPTIMIZE check.


git-svn-id: svn://10.0.0.236/trunk@54172 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:59:08 +00:00
rhp%netscape.com
a280eab275 Fixing include problem..but this is NOT PART OF THE BUILD. - r: rhp
git-svn-id: svn://10.0.0.236/trunk@54171 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:47:24 +00:00
radha%netscape.com
515178a55d Fix for regressed bug #, 15441. Back/Forward to anchors erratic. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@54170 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:42:00 +00:00
jdunn%netscape.com
c2d530c6a9 Link against superwin even if monolithic
r=pepper@netscape.com


git-svn-id: svn://10.0.0.236/trunk@54169 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:35:33 +00:00
kmcclusk%netscape.com
5461495672 Changed misspelled vertial-align to vertical-align for input[type=image]. bug=16370. r=rods@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54168 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:32:22 +00:00
nhotta%netscape.com
76bc7542e3 Change to charset name to case sensitive corresponding the nsCharsetManagerService change, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@54167 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:22:58 +00:00
kmcclusk%netscape.com
b383e76259 Removed build warning in nsCornerView::Paint on Linux by overriding both overloaded Paints. r=buster@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54166 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:11:46 +00:00
dp%netscape.com
d60d874245 - Converting to nsGenericModule
- Removed exported NS_New*()
- Using NS_IMPL_ISUPPORTS[0-9]
r=akkanna@netscape.com


git-svn-id: svn://10.0.0.236/trunk@54165 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 21:03:04 +00:00
waterson%netscape.com
07a5141e0d Tweak for chrome registry: don't hard-fail if stream cannot be opened. Allows creation of new RDF/XML datasources. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@54164 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 20:53:09 +00:00
rickg%netscape.com
3be554e7b5 fixed PDT+ bug 3118; r=dcone
git-svn-id: svn://10.0.0.236/trunk@54163 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 20:12:21 +00:00
matt%netscape.com
4bf1438d37 Fix for save as bug 15805
git-svn-id: svn://10.0.0.236/trunk@54162 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:55:47 +00:00
joki%netscape.com
1c8e0c82bf Fix for 17683, add key events for alt+numpad character generation. r:vidur
git-svn-id: svn://10.0.0.236/trunk@54161 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:45:13 +00:00
erik%netscape.com
194286b793 bug 8801; register new font enumerator for font prefs UI; r=ftang
git-svn-id: svn://10.0.0.236/trunk@54160 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:40:00 +00:00
joki%netscape.com
ee323bff2a Add initialization of named Event class to script. part of fix for 9544. r:vidur
git-svn-id: svn://10.0.0.236/trunk@54159 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:39:55 +00:00
erik%netscape.com
f23933cd51 bug 8801; new font enumerator for font prefs UI; r=ftang
git-svn-id: svn://10.0.0.236/trunk@54158 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:39:13 +00:00
norris%netscape.com
f6b5e55922 Fix
Testcase ecma_2/Exceptions/expression-020.js failed
Failure messages were:
result = this.eval("NaN") (threw No exception thrown) = NaN FAILED! expected: Passed


git-svn-id: svn://10.0.0.236/trunk@54157 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:35:59 +00:00
norris%netscape.com
c792dc00f2 'thisArg' could be null, so use 'fun' for scope.
git-svn-id: svn://10.0.0.236/trunk@54156 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:35:20 +00:00
erik%netscape.com
71f8c3d7c7 bug 8801; CID for new font enumerator for font prefs UI; r=ftang
git-svn-id: svn://10.0.0.236/trunk@54155 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:34:31 +00:00
jdunn%netscape.com
a81f697336 Adding newline which is required by HPUX
git-svn-id: svn://10.0.0.236/trunk@54154 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:34:18 +00:00
erik%netscape.com
52d4e80c00 bug 8801; new font enumeration API for font prefs UI; r=ftang
git-svn-id: svn://10.0.0.236/trunk@54153 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:33:25 +00:00
cls%seawood.org
d8260be26b Do immediate evaluations instead of the default deferred. (And also cause coffee to rebuild in that directory.)
git-svn-id: svn://10.0.0.236/trunk@54152 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 19:28:30 +00:00
cls%seawood.org
0d66b135a6 Previous checkin was incomplete.
Changed the debug/optimize setup to mimic the Mozilla setup.
Updated the irix target_os section to use the same logic as IRIX.mk in order to fix bug #18966.
Fixed call of whoami inside configure.
Added mode & license headers.
Added the following options:
    --enable-optimize
    --enable-n32 (IRIX only)
    --enable-64bit
    --enable-mdupdate


git-svn-id: svn://10.0.0.236/trunk@54151 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 15:40:10 +00:00
briano%netscape.com
1342afdcf1 Automated update
git-svn-id: svn://10.0.0.236/trunk@54150 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 15:30:40 +00:00
cls%seawood.org
241f3941de Made the handling of the debug/optimize flags to match the Mozilla configure.in setup.
Updated the irix target section to contain the exact logic contained in IRIX.mk in an effort to fix bug 18966.
Added the following options:
   --enable-optimize
   --enable-mdupdate
   --enable-n32 (IRIX only)
   --enable-64bit


git-svn-id: svn://10.0.0.236/trunk@54149 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 15:24:12 +00:00
cls%seawood.org
5d17ecc875 FreeBSD should not use monolithic toolkit by default. Patch submitted by Pascal Hofstee <daeron@shadowmere.student.utwente.nl>.
git-svn-id: svn://10.0.0.236/trunk@54148 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 15:16:34 +00:00
cmanske%netscape.com
282c805eb7 Fixed bug 19000: Assertion editing remote file. Fixed warning. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@54147 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 14:52:21 +00:00
jefft%netscape.com
3f987fbd74 fixed Mac compilation warnings; rv=binenvenu; remove obsoleted private method, AddSubfolder
git-svn-id: svn://10.0.0.236/trunk@54146 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 14:43:19 +00:00
jefft%netscape.com
1d825e8ba7 fixed bug 8889 - cannot post messages with attachments to the news server; rv=mscott; Added base PostMessage() method to remove duplicate code in smtp and nntp protocol
git-svn-id: svn://10.0.0.236/trunk@54145 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 14:41:20 +00:00
neeti%netscape.com
7391eeab16 bug 15821. r=sfraser. Fixed memory leaks in ImageRequestImpl.
git-svn-id: svn://10.0.0.236/trunk@54144 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 14:27:04 +00:00
rbs%maths.uq.edu.au
153548e1c9 Code to render the mroot tag.
git-svn-id: svn://10.0.0.236/trunk@54143 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 12:35:36 +00:00
dveditz%netscape.com
e6ffa26b48 first hack to get relative URLS working in triggers
git-svn-id: svn://10.0.0.236/trunk@54142 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 12:01:19 +00:00
tbogard%aol.net
30f925a33d A couple of comment tweaks.
git-svn-id: svn://10.0.0.236/trunk@54141 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 10:07:10 +00:00
rjc%netscape.com
8fd2d84fa4 Fix bug # 19306. Update Google dataset. Review=me
git-svn-id: svn://10.0.0.236/trunk@54140 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 09:01:59 +00:00
rbs%maths.uq.edu.au
df494570af Added a control statement to avoid doing work that will lead nowhere.
git-svn-id: svn://10.0.0.236/trunk@54139 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:42:20 +00:00
dveditz%netscape.com
f46e700a28 x86 win should join unix and alpha win part of DBG_LOG macro
git-svn-id: svn://10.0.0.236/trunk@54138 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:41:04 +00:00
briano%netscape.com
28a8c8cb2e Automated update
git-svn-id: svn://10.0.0.236/trunk@54137 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:30:19 +00:00
rbs%maths.uq.edu.au
4d4133db17 Added a control statement to avoid doing work that will lead nowhere.
git-svn-id: svn://10.0.0.236/trunk@54136 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:20:50 +00:00
cls%seawood.org
120e5dab7b We don't need to recalculate the OS_* variables each time make is invoked so move them into configure.in so that they are set only once.
git-svn-id: svn://10.0.0.236/trunk@54135 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:15:46 +00:00
tbogard%aol.net
4a5e0b9a0e Adding nsIChromeEventHandler.idl to the build. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@54134 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:03:54 +00:00
tbogard%aol.net
147f733168 First check-in.... Defining nsIChromeEventHandler interface for use to make the mChromeElement event firing generic. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@54133 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 08:02:28 +00:00
rpotts%netscape.com
8842c9b930 fix build bustage - unix compilers are dumb as bricks!
git-svn-id: svn://10.0.0.236/trunk@54132 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 07:09:59 +00:00
rpotts%netscape.com
6a7984adfe bug #19303. HTTPHeader entries were leaking... I checked in a modified version of beards patch.
git-svn-id: svn://10.0.0.236/trunk@54131 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 07:02:44 +00:00
rpotts%netscape.com
601e0eba5e fix build bustage - NS_NewLoadGroup(...) no longer takes a parent load group as an argument...
git-svn-id: svn://10.0.0.236/trunk@54130 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 06:20:51 +00:00
rickg%netscape.com
4cacfb312f landing updates for harish, and residual style WIP; r=rickg
git-svn-id: svn://10.0.0.236/trunk@54129 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 06:18:24 +00:00
rickg%netscape.com
d5114737fd landing update for harishd r=rickg
git-svn-id: svn://10.0.0.236/trunk@54128 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 06:16:25 +00:00
rpotts%netscape.com
0ba3dca017 fixes to make the web crawler work when sites which have meta-refresh tags are encountered...
git-svn-id: svn://10.0.0.236/trunk@54127 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 05:47:26 +00:00
jband%netscape.com
57e7c4d781 removing the .cvsignore file in an abandoned directory so that using -P with cvs will trim the thing out of a tree
git-svn-id: svn://10.0.0.236/trunk@54126 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 05:46:56 +00:00
rpotts%netscape.com
bf7832c37a bug #15342 and #15560. Refactored the LoadGroup and DocumentLoader...
git-svn-id: svn://10.0.0.236/trunk@54125 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 05:46:03 +00:00
ramiro%fateware.com
2ab3181220 Take myself out of the debug code, since it has broken since I last looked
at it.


git-svn-id: svn://10.0.0.236/trunk@54124 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 05:03:48 +00:00
rbs%maths.uq.edu.au
96fead56f4 Catch up with recent changes in layout.
git-svn-id: svn://10.0.0.236/trunk@54123 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 03:29:14 +00:00
leaf%mozilla.org
d12a03afb2 checkin to fix build bustage.
git-svn-id: svn://10.0.0.236/trunk@54122 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 01:08:36 +00:00
nisheeth%netscape.com
f03cdb6370 Fix for bug 17937. nsHTMLEditor::DeleteSelectionAndCreateNode() wasn't addref'ing an out parameter. r=sfraser.
git-svn-id: svn://10.0.0.236/trunk@54121 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 00:01:18 +00:00
rbs%maths.uq.edu.au
895e006577 Now make mroot part of the mathml build.
git-svn-id: svn://10.0.0.236/trunk@54120 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 22:27:21 +00:00
rbs%maths.uq.edu.au
595ba7a05b Code to support the mfenced tag.
git-svn-id: svn://10.0.0.236/trunk@54119 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 22:16:47 +00:00
rbs%maths.uq.edu.au
c2064b42a2 Minor cleanup and Fixed a regression introduced by the consolidation of the code in nsMathMLChar.
git-svn-id: svn://10.0.0.236/trunk@54118 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 22:15:17 +00:00
rbs%maths.uq.edu.au
f4bb014558 Consolidation of the code. Stretchy painting in horizontal direction and vertical direction and now treated with separate functions, yielding to improved readability.
git-svn-id: svn://10.0.0.236/trunk@54117 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 22:10:45 +00:00
rbs%maths.uq.edu.au
2d835e7e47 Added factory function for the mroot tag and did a minor clean up
git-svn-id: svn://10.0.0.236/trunk@54116 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 22:05:15 +00:00
rbs%maths.uq.edu.au
5753b4d3a0 Add hook for the mroot tag in the confined MathML world
git-svn-id: svn://10.0.0.236/trunk@54115 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 22:01:56 +00:00
rbs%maths.uq.edu.au
87f68d993c Added three atoms: open, close, separators. These are the attributes of mfenced
git-svn-id: svn://10.0.0.236/trunk@54114 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 21:37:25 +00:00
cls%seawood.org
3826889094 When cross-compiling, we want to use the header generated from NSPR defines.
git-svn-id: svn://10.0.0.236/trunk@54113 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 16:06:53 +00:00
fur%netscape.com
897d69d466 In support of bug #8305 (Implement cache)
Replaced WriteStringZ()/ReadStringZ() stubs with trivial implementations.
Simplified existing code. r: none


git-svn-id: svn://10.0.0.236/trunk@54112 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 08:01:08 +00:00
fur%netscape.com
82f02c752b Fixed indentation
git-svn-id: svn://10.0.0.236/trunk@54111 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 07:58:53 +00:00
dveditz%netscape.com
23f42fcb05 mac build bustage
git-svn-id: svn://10.0.0.236/trunk@54110 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 07:55:18 +00:00
dp%netscape.com
f5450155e1 Removing unused factory implementations
git-svn-id: svn://10.0.0.236/trunk@54106 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 06:44:34 +00:00
dveditz%netscape.com
fca312892f added files: mozilla/xpinstall/src/nsJSFileSpecObj.cpp
git-svn-id: svn://10.0.0.236/trunk@54105 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 06:06:37 +00:00
dveditz%netscape.com
f9d42c747f comment fix
git-svn-id: svn://10.0.0.236/trunk@54104 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 06:05:22 +00:00
dveditz%netscape.com
70cb614dd9 Checkin for dbragg, Bug 16214 make "folder" params objects rather than path strings, r=dveditz.
Bug 17509 add BLOATY instrumentation to XPInstall. A couple of minor leak fixes


git-svn-id: svn://10.0.0.236/trunk@54103 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 06:03:23 +00:00
dp%netscape.com
44d8849387 - Converting to nsGenericModule and nsGenericFactory
- Using NS_IMPL_ISUPPORTS[0-9]
- Removing exported NS_New*() functions
- Moving the implementation definitions to their headers
r=morse@Netscape.com


git-svn-id: svn://10.0.0.236/trunk@54102 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 05:29:16 +00:00
dp%netscape.com
06c62c95a3 First version. Implementation header of Wallet Viewer.
git-svn-id: svn://10.0.0.236/trunk@54101 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 05:17:41 +00:00
dp%netscape.com
5399e1ccb7 First version. Implementation header of single signon viewer.
git-svn-id: svn://10.0.0.236/trunk@54100 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 05:17:16 +00:00
dp%netscape.com
4914f9d8e4 First version. Implementation header of wallet editor.
git-svn-id: svn://10.0.0.236/trunk@54099 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 05:16:45 +00:00
dp%netscape.com
1f624e8f04 First version. Header of Cookie Viewer implementation.
git-svn-id: svn://10.0.0.236/trunk@54098 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 05:15:46 +00:00
troy%netscape.com
44bfa2d248 b=19280. Changed DeletingFrameSubtree() so it's order N instead of
N^2/2 in the worst case. This speeds things way up. Note that the real
problem here is that WipeContainingBlock() is repeatedly throwing away
and recreating the BODY element's frame and all its child frames


git-svn-id: svn://10.0.0.236/trunk@54092 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 04:06:44 +00:00
dp%netscape.com
01cb613ac1 - Converting to GenericModule
- Using NS_IMPL_ISUPPORTS[0-9]
- Removing unused NS_DEFINE_CID/IID
- Removing NS_New exports
r=morse@Netscape.com


git-svn-id: svn://10.0.0.236/trunk@54091 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 03:43:55 +00:00
bryner%uiuc.edu
5e76628a60 These changes will enable scrolling with the mouse wheel (currently only
for unix).  r=saari.


git-svn-id: svn://10.0.0.236/trunk@54090 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 01:46:41 +00:00
dveditz%netscape.com
4d3ad643b8 adding new files from dbragg, r=dveditz, not yet part of build
git-svn-id: svn://10.0.0.236/trunk@54089 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 01:24:18 +00:00
beard%netscape.com
36de2be344 [MLK] aCurrentStyle can be the only owning reference. r=scc, bug=15906
git-svn-id: svn://10.0.0.236/trunk@54088 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 01:14:33 +00:00
beard%netscape.com
7d57dfba18 bug 15906, to make blame happy, fixed case of "GIF.CPP" to "gif.cpp". r=saari.
git-svn-id: svn://10.0.0.236/trunk@54087 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 01:10:30 +00:00
bryner%uiuc.edu
70728b9425 Tree changes to support mousewheel scrolling, and some other tree
changes (scrolling changes and some nsString -> nsAutoString
conversions) from alecf.  r=alecf.


git-svn-id: svn://10.0.0.236/trunk@54086 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-21 00:51:31 +00:00
cls%seawood.org
e39ea41859 Removed listing of win32 Makefile I accidentally checked in.
git-svn-id: svn://10.0.0.236/trunk@54085 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 23:48:14 +00:00
valeski%netscape.com
a9e59ceb15 fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@54084 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 23:23:59 +00:00
idk%eng.sun.com
440dcafbf3 19465
Port pluglets to linux and Solaris
(This is not part of the build)
Oups. I fogot to add this file


git-svn-id: svn://10.0.0.236/trunk@54083 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 23:20:27 +00:00
idk%eng.sun.com
c76f9909a2 19465
Port pluglets to linux and Solaris
(This is not part of the build)


git-svn-id: svn://10.0.0.236/trunk@54082 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 23:19:40 +00:00
jj%netscape.com
fc62ea3678 #13663: output names now have a capital M: "Mozilla" and "MozillaDebug"
git-svn-id: svn://10.0.0.236/trunk@54081 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 22:50:21 +00:00
beard%netscape.com
6c9ae2df08 implements InvalidateRegion(). r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@54080 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 22:33:42 +00:00
valeski%netscape.com
763bf1361e 6144, I'm checking in gagan's code for him as he's gone. r=valeski, r=gagan :). This checkin drops in HTTP authentication caching so you don't get hit w/ multiple auth dialogs when accessing auth requiring sites that have images in their html
git-svn-id: svn://10.0.0.236/trunk@54079 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 22:11:15 +00:00
sfraser%netscape.com
b31731e4ce Added nsAuthEngine.cpp for valeski
git-svn-id: svn://10.0.0.236/trunk@54078 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 22:09:56 +00:00
rhp%netscape.com
25c5428af8 Curing bitrot...THIS IS NOT PART OF THE BUILD.
git-svn-id: svn://10.0.0.236/trunk@54077 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 22:03:19 +00:00
valeski%netscape.com
5edf678070 not in build. updated auth engine
git-svn-id: svn://10.0.0.236/trunk@54076 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 21:46:23 +00:00
wtc%netscape.com
2031562612 Added new file brng.c. (Contributed by Matthew Zahorik and Duncan Wilcox.)
git-svn-id: svn://10.0.0.236/trunk@54075 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 20:38:05 +00:00
dp%netscape.com
22c153fe7b - Convering to GenericModule.
- Removing NS_DEFINE_IID
- Using NS_ISUPPORTS_IMPL1


git-svn-id: svn://10.0.0.236/trunk@54074 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 20:19:01 +00:00
wtc%netscape.com
b52967df83 Ported script to Windows 95.
git-svn-id: svn://10.0.0.236/trunk@54073 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 20:01:24 +00:00
wtc%netscape.com
119fe2bfe8 Changed tab to spaces.
git-svn-id: svn://10.0.0.236/trunk@54072 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 20:00:02 +00:00
wtc%netscape.com
d1e5d22bb2 Removed extra blank line.
git-svn-id: svn://10.0.0.236/trunk@54071 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 19:59:31 +00:00
duncan%be.com
ea96df6f46 Clone nsFileSpec::Truncate from nsFileSpecUnix.cpp, r=shaver.
git-svn-id: svn://10.0.0.236/trunk@54070 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 17:57:42 +00:00
briano%netscape.com
561be072fd Automated update
git-svn-id: svn://10.0.0.236/trunk@54069 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 16:30:21 +00:00
duncan%be.com
a940edf149 Try again with fix for BeOS build. This is not the same fix that broke
the Solaris build yestarday, but I'm looking at tinderbox anyway, ready
to back this out if there are build problems.
r=mcafee, r=shaver


git-svn-id: svn://10.0.0.236/trunk@54068 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 16:15:44 +00:00
cls%seawood.org
e1d17a6621 Applied fix to mork for BeOS. Patch submitted by Duncan Wilcox <duncan@be.com>.
git-svn-id: svn://10.0.0.236/trunk@54067 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 11:03:43 +00:00
duncan%be.com
3346a5d069 Make locale work under BeOS (added XP_BEOS next to XP_UNIX). r=nhotta
Make JS timing work under BeOS (added XP_BEOS next to XP_UNIX). r=mcafee
Make nsSigHandlers.cpp build under BeOS (strsignal returns const char *). r=mcafee


git-svn-id: svn://10.0.0.236/trunk@54066 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 10:53:34 +00:00
cls%seawood.org
034597aebe Missing include was causing strncpy to be undefined and we should be using PL_strncpy anyways. Added newline at end of file to get rid of a warning.
git-svn-id: svn://10.0.0.236/trunk@54065 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 10:05:44 +00:00
rjc%netscape.com
c9c6db0307 Better handling of natural order calculate on RDF sequences. Makes drag&drop work fairly well in natural order.
git-svn-id: svn://10.0.0.236/trunk@54064 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:46:22 +00:00
rjc%netscape.com
df7ad44038 Check in some preliminary bookmarks drag&drop support.
git-svn-id: svn://10.0.0.236/trunk@54063 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:35:39 +00:00
rjc%netscape.com
9779740f37 nsBookmarksService must accept RDF nextVal assertions, otherwise the RDF container utilities can't successfully add/remove items from RDF sequences.
git-svn-id: svn://10.0.0.236/trunk@54062 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:34:41 +00:00
scc%netscape.com
de82a95c8c fixed an annoying, but rare, bug where an |nsCOMPtr| in an ownership ring could |Release()| twice. See the comment in the code for details. r=waterson
git-svn-id: svn://10.0.0.236/trunk@54061 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:19:24 +00:00
bryner%uiuc.edu
0aaaa64320 Oops, fixing a typo. Sorry about that.
git-svn-id: svn://10.0.0.236/trunk@54060 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:12:56 +00:00
dp%netscape.com
405cdd23c8 Removing extra semi-colon
git-svn-id: svn://10.0.0.236/trunk@54059 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 08:04:59 +00:00
rginda%netscape.com
22c7977472 tweaked html output, added test duration time.
git-svn-id: svn://10.0.0.236/trunk@54058 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:50:43 +00:00
dp%netscape.com
f1015223ed Using nsAllocator to match changed Registry allocation. r=shaver
git-svn-id: svn://10.0.0.236/trunk@54057 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:37:32 +00:00
dp%netscape.com
fbd0e803f5 - Converting to GenericModule
- Using NS_IMPL_ISUPPORTS1
- Removing a bunch of NS_DEFINE_IID


git-svn-id: svn://10.0.0.236/trunk@54056 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:34:03 +00:00
dp%netscape.com
5aaa3eaf10 Adding pref classname
git-svn-id: svn://10.0.0.236/trunk@54055 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:33:09 +00:00
norris%netscape.com
47aa81f887 Remove unused file and change makefile to reflect change.
r=mstoltz


git-svn-id: svn://10.0.0.236/trunk@54054 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:30:57 +00:00
warren%netscape.com
7a58577c40 Fixed indentation.
git-svn-id: svn://10.0.0.236/trunk@54053 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:30:26 +00:00
warren%netscape.com
aeadc2d08d Changed ifdefs to this stuff is off for debug builds too.
git-svn-id: svn://10.0.0.236/trunk@54052 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:28:45 +00:00
norris%netscape.com
f77a65d9d4 Modify generated dom code to use a enum rather than a string for codesize
and efficiency.
Tighten checks on document properties and node properties. Should resolve
several bugs:
18965 document.firstChild vulnerability
19043 document.childNodes vulnerability
19044 document.lastChild vulnerability
r=mstoltz


git-svn-id: svn://10.0.0.236/trunk@54051 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:28:34 +00:00
dp%netscape.com
dfd39434e3 Convering to GenericModule.
git-svn-id: svn://10.0.0.236/trunk@54050 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:28:11 +00:00
dp%netscape.com
7790c1ad9c Eliminating leak of factory when getting it from hashtable.
Using NS_IMPL_ISUPPORTS1
Removing NS_DEFINE_IID
r=warren@netscape.com


git-svn-id: svn://10.0.0.236/trunk@54049 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:21:53 +00:00
bryner%uiuc.edu
36947c99bc Adding a new interface that will be used for scrolling tree frames with
the mouse wheel.


git-svn-id: svn://10.0.0.236/trunk@54048 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:16:52 +00:00
dp%netscape.com
540481040b Using COMPtr
git-svn-id: svn://10.0.0.236/trunk@54047 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:16:42 +00:00
waterson%netscape.com
719918611c Bug 16797. Allow files to be 'zero' length. r=warren
git-svn-id: svn://10.0.0.236/trunk@54046 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:15:28 +00:00
dp%netscape.com
aa94e40f1a Using NS_REINTERPERT_CAST instead of NS_STATIC_CAST r=scc@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54045 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:15:23 +00:00
waterson%netscape.com
8b7f58ab3c Bug 12734. Make check for duplicate insertions debug-only. Thanks to zee@northrock.bm
git-svn-id: svn://10.0.0.236/trunk@54044 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:13:25 +00:00
nisheeth%netscape.com
7bb8856626 Don't make the label of a pref an anchor. r=none.
git-svn-id: svn://10.0.0.236/trunk@54043 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:11:11 +00:00
sfraser%netscape.com
612e5331ad Workaround for bug 19421 -- no menus on mac. This is a problem with brutal sharing of overlays that waterson needs to fix. For now, turn off brutal sharing of scripts. r=brendan, saari.
git-svn-id: svn://10.0.0.236/trunk@54042 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 06:42:24 +00:00
troy%netscape.com
01e5cb02a3 b=19416. Workaround for problem of combo box drop-down being displayed in
the wrong place sometimes


git-svn-id: svn://10.0.0.236/trunk@54041 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 06:03:16 +00:00
warren%netscape.com
cde014ca66 Added isascii for mac
git-svn-id: svn://10.0.0.236/trunk@54040 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 05:46:04 +00:00
warren%netscape.com
460bc80b0e Fixed include for non-debug builds.
git-svn-id: svn://10.0.0.236/trunk@54039 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 05:27:35 +00:00
rginda%netscape.com
e5529bf0b8 Added javapath, and confail options. Made some trace output come out by default so it isn't so eerily quiet in quiet mode.
git-svn-id: svn://10.0.0.236/trunk@54038 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 05:22:20 +00:00
waldemar%netscape.com
9edbe5b45d Fixed MCL incompatibility
git-svn-id: svn://10.0.0.236/trunk@54037 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 04:34:42 +00:00
warren%netscape.com
eff6e0fd5e Added nsStr (nsString, nsString2) code for counting strings that have been seen. r=rickg
git-svn-id: svn://10.0.0.236/trunk@54036 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 04:22:26 +00:00
jband%netscape.com
f9c524f923 r=fur Conform to the recently changed semantics of nsHashtableEnumerator::IsDone to fix the infinite loop that started happening in the Components.[interfaces,classes,classesByID] enumerators
git-svn-id: svn://10.0.0.236/trunk@54035 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 04:21:58 +00:00
warren%netscape.com
7a8a688789 Fix for bug that triggers assertion in END_READ state of file transport.
git-svn-id: svn://10.0.0.236/trunk@54034 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 04:19:20 +00:00
morse%netscape.com
891ac58db7 Partial fix for bug 18668, unable to login to aka, r=valeski
git-svn-id: svn://10.0.0.236/trunk@54033 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 04:13:21 +00:00
dougt%netscape.com
8c8ca254b1 removing unneeded file.
fixing build bustage.
making simon happy.


git-svn-id: svn://10.0.0.236/trunk@54032 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 04:07:25 +00:00
tbogard%aol.net
915ece3cba Spelling fix for bug #16386.
git-svn-id: svn://10.0.0.236/trunk@54031 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 03:57:34 +00:00
rhp%netscape.com
a92eaad364 Changes for using nsSpecialSystemDirectory directory - Bug #18021 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@54030 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 03:14:13 +00:00
dougt%netscape.com
502cd1efc7 removing task extensions. now using dynamic overlays. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@54029 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 03:13:39 +00:00
brendan%mozilla.org
3b43f14bd3 Followup to my last checkin: get list-unlink vs. ResumeWalk order right (r=waterson@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@54028 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 03:10:42 +00:00
waldemar%netscape.com
aefedb080a Added Allegro reference
git-svn-id: svn://10.0.0.236/trunk@54027 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 02:18:26 +00:00
waldemar%netscape.com
0685de255a Updated to work under Allegro Common Lisp
git-svn-id: svn://10.0.0.236/trunk@54026 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 02:16:56 +00:00
rginda%netscape.com
9dda965075 s/FAILED!/{return a failure}/ in testcase description to keep from fooling the test driver.
git-svn-id: svn://10.0.0.236/trunk@54025 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 01:43:44 +00:00
gagan%netscape.com
2cf255f928 New files first checkin.
git-svn-id: svn://10.0.0.236/trunk@54024 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 01:34:19 +00:00
rginda%netscape.com
ea6fe4f1f9 Correct exit codes on win32, echo output file regardles of -t
git-svn-id: svn://10.0.0.236/trunk@54023 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 00:28:06 +00:00
norris%netscape.com
e3823e3854 Fix ecma_2/Expressions/instanceof-003-n.js
ScriptRuntime::instanceOf now needs a scope parameter that it can use to construct an exception object


git-svn-id: svn://10.0.0.236/trunk@54022 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 00:19:00 +00:00
norris%netscape.com
ba5ee4bd59 argument.caller shouldn't be defined in the default version
git-svn-id: svn://10.0.0.236/trunk@54021 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 23:02:52 +00:00
troy%netscape.com
07f4c06751 b=19374. Restored some code I unintentionaly removed in previous checkin.
Now after Reflow() of child frame "kidRect.width" and "kidRect.height" are
updated


git-svn-id: svn://10.0.0.236/trunk@54020 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 22:04:01 +00:00
duncan%be.com
6e35da0794 Fix to behave correctly under BeOS.
r=warren


git-svn-id: svn://10.0.0.236/trunk@54019 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 21:58:39 +00:00
rginda%netscape.com
46250d0a36 Add bugnumber to reports, bugzilla url option, and expect exit code 3 for negative tests.
git-svn-id: svn://10.0.0.236/trunk@54018 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 21:54:46 +00:00
kin%netscape.com
7e6fe21ee8 Fix for bug #19371: [DOGFOOD][REGRESSION] entering text and hitting
return in new message crashes app
Modified nsMsgCompose::ConvertAndLoadComposeWindow() to make sure
aBuf was valid before using it with an editor method.
a=sfraser@netscape.com a=leaf@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@54017 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 21:39:23 +00:00
buster%netscape.com
ad1f779a36 fixed bug 19381. previously, I had added 2 interfaces onto this class, but I
forgot to add those classes in the QueryInterface method.  god, i wish we
had a macro for that!
r=kmcclusk.  thanks, kevin


git-svn-id: svn://10.0.0.236/trunk@54016 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 21:33:21 +00:00
terry%mozilla.org
77eb37e301 Vastly speed up searches if a directory name is specified.
git-svn-id: svn://10.0.0.236/trunk@54015 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 17:22:47 +00:00
cls%seawood.org
49c320b36f Adding rng to the autoconf Makefiles. Patch submitted by Mike Shaver <shaver@mozilla.org> a=granrose
git-svn-id: svn://10.0.0.236/trunk@54014 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 16:43:00 +00:00
rods%netscape.com
73b63eb2a5 added boolean in DoneAddingContent method
git-svn-id: svn://10.0.0.236/trunk@54013 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 16:09:32 +00:00
rods%netscape.com
28621261c8 added bool parm to is DoneAddinContent r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@54012 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 16:05:16 +00:00
terry%mozilla.org
ac9efccb00 Updated version string to 2.9 (development)
git-svn-id: svn://10.0.0.236/trunk@54011 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:57:00 +00:00
terry%mozilla.org
124bc20fe4 Updated version string to 2.8 (shipping)
git-svn-id: svn://10.0.0.236/trunk@54009 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:56:28 +00:00
fur%netscape.com
9e09ebcd19 Add support for offset argument to FileTransport's OpenOutputChannel() method.
r: fur, yixiong.zou@intel.com


git-svn-id: svn://10.0.0.236/trunk@54008 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:56:24 +00:00
terry%mozilla.org
8957836cb5 Was crashing if not using milestones.
git-svn-id: svn://10.0.0.236/trunk@54007 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:51:48 +00:00
rods%netscape.com
19bedc8578 added bool parm to is DoneAddinContent r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@54006 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:46:20 +00:00
rods%netscape.com
adb9c767ca remove SetMainChild
git-svn-id: svn://10.0.0.236/trunk@54005 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:45:55 +00:00
rods%netscape.com
57c1298fdf added bool parm to is DoneAddingContent r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@54004 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:45:47 +00:00
rods%netscape.com
5e7ca2acf8 added nsGfxListControlFrame.cpp commented out bug 18895
git-svn-id: svn://10.0.0.236/trunk@54003 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:45:07 +00:00
rods%netscape.com
dabfe59776 added bool parm to DoneAddingContent r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@54002 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:43:06 +00:00
rods%netscape.com
f5defbd9b7 removed select initialization code r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@54001 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:42:06 +00:00
rods%netscape.com
9454f93684 added bool parm to DoneAddingContent content sink sets it to false r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@54000 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:41:30 +00:00
rods%netscape.com
025b1100d2 added nsGfxListControlFrame code ifdef'd out r=dcone bug 18241
git-svn-id: svn://10.0.0.236/trunk@53999 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:41:19 +00:00
troy%netscape.com
3f61543a91 WillReflow/DidReflow changes and changes to the way view positioning
and sizing works


git-svn-id: svn://10.0.0.236/trunk@53998 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:33:29 +00:00
rhp%netscape.com
853149f4fe Fix for separators after body text - Bug #: 18972 r: jefft
git-svn-id: svn://10.0.0.236/trunk@53997 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:19:53 +00:00
fur%netscape.com
ba3c92d1c5 Change IDL to generate identical C++ headers, but with improved scriptability.
r: rpotts


git-svn-id: svn://10.0.0.236/trunk@53996 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:13:00 +00:00
dcone%netscape.com
a2aa9d8bb8 Reworked the flashing for porkjockey's. r=rods
git-svn-id: svn://10.0.0.236/trunk@53995 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 14:56:24 +00:00
terry%mozilla.org
c75e5b7c82 Fixed bug 4889 -- don't allow new bugs to be submitted with a blank summary.
git-svn-id: svn://10.0.0.236/trunk@53994 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 14:50:57 +00:00
jefft%netscape.com
c3252e964e fixed bug 17765 - Rename not implemented for Pop3, bug 19097 -- copying messages cause corrupted messages if the message size is greater than 4 k; r=putterman; make sure all children node were deleted when rename a folder, also rename the directory if it has subfolders; added m_leftOver to keep tracking partial completed line
git-svn-id: svn://10.0.0.236/trunk@53993 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 14:39:05 +00:00
jefft%netscape.com
d54f209fd6 fixed bug 17765 - Rename not implemented for Pop3, bug 19097 -- copying messages cause corrupted messages if the message size is greater than 4 k; r=putterman; added new method AddSubfolder()
git-svn-id: svn://10.0.0.236/trunk@53992 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 14:35:31 +00:00
jefft%netscape.com
d9cc300f3b fixed bug 17765 - Rename not implemented for Pop3, bug 19097 -- copying messages cause corrupted messages if the message size is greater than 4 k; r=putterman; clear tree selection item when rename
git-svn-id: svn://10.0.0.236/trunk@53991 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 14:34:55 +00:00
morse%netscape.com
764e441b81 fix bug 15111, mac not reading cookies file, r=rjc
git-svn-id: svn://10.0.0.236/trunk@53990 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 10:13:44 +00:00
buster%netscape.com
08cb20b3f9 don't know how this got through, I must not have saved the file from my IDE?
git-svn-id: svn://10.0.0.236/trunk@53989 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 08:43:27 +00:00
buster%netscape.com
046103d30b fixed a typo that compiles on win32 but not on linux
git-svn-id: svn://10.0.0.236/trunk@53988 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 08:30:02 +00:00
buster%netscape.com
292497ba01 bug 12022, r=rickg
git-svn-id: svn://10.0.0.236/trunk@53987 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 08:26:56 +00:00
rickg%netscape.com
3cd1a47af6 corrected type mismatch in memory error status of nsStrings; r=none
git-svn-id: svn://10.0.0.236/trunk@53986 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 08:10:40 +00:00
rickg%netscape.com
1eaa6d5152 added DebugDump() to nsString classes for terminal output. Also slightly improved documentation. r=buster
git-svn-id: svn://10.0.0.236/trunk@53985 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 08:05:30 +00:00
briano%netscape.com
bfced5ecee Automated update
git-svn-id: svn://10.0.0.236/trunk@53984 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 08:00:23 +00:00
danm%netscape.com
51faaf23bd older and wiser, making previous attempt to return correct clientrect actually work. r:saari@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53983 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:56:12 +00:00
nisheeth%netscape.com
349cc4710f Backing out mcafee's change to configure.in to fix SunOS bustage.
git-svn-id: svn://10.0.0.236/trunk@53982 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:50:38 +00:00
buster%netscape.com
bbde48daa1 first version of interface for content-specific manipulations
git-svn-id: svn://10.0.0.236/trunk@53981 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:44:27 +00:00
nisheeth%netscape.com
7ee23780a4 Attempt to fix mac build bustage.
git-svn-id: svn://10.0.0.236/trunk@53980 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:37:04 +00:00
buster%netscape.com
1e648d27d6 moved content-specific data and methods from nsIWebShell to appropriate content viewer interface
no bug number, this is for webshell redesign work
r=rickg, travis


git-svn-id: svn://10.0.0.236/trunk@53979 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:35:27 +00:00
buster%netscape.com
d9fe797e65 just a comment for future webshell work
git-svn-id: svn://10.0.0.236/trunk@53978 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:32:20 +00:00
buster%netscape.com
43763bae6a found a tiny bug, possible uninitialized variable. fixed it along with work for:
moved content-specific data and methods from nsIWebShell to appropriate content viewer interface
no bug number, this is for webshell redesign work
r=rickg, travis


git-svn-id: svn://10.0.0.236/trunk@53977 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:29:13 +00:00
buster%netscape.com
322aab6269 DOM extension for exposing text areas to XUL
bug 12022, r=rickg, vidur
also made some improvements for future docshell work
r=rickg, travis


git-svn-id: svn://10.0.0.236/trunk@53976 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:25:11 +00:00
buster%netscape.com
9bc057e191 DOM extension for exposing text areas to XUL
bug 12022, r=rickg, vidur


git-svn-id: svn://10.0.0.236/trunk@53975 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:24:15 +00:00
buster%netscape.com
b84e9eae1a added nsIGfxTextControlFrame.h
git-svn-id: svn://10.0.0.236/trunk@53974 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:23:47 +00:00
buster%netscape.com
125f9f6a8a added files: mozilla/layout/html/content/src/nsEditorController.cpp
git-svn-id: svn://10.0.0.236/trunk@53973 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:22:40 +00:00
buster%netscape.com
ef56beeb67 DOM extension for exposing text areas to XUL
bug 12022, r=rickg and vidur


git-svn-id: svn://10.0.0.236/trunk@53972 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:19:10 +00:00
buster%netscape.com
0914a1cddd DOM extension for exposing text areas to XUL
bug 12022, r=rickg


git-svn-id: svn://10.0.0.236/trunk@53971 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 07:18:25 +00:00
mcafee%netscape.com
a7cc2d6484 I forgot more stuff for prefs, fixing bustage per my last checkin here.
git-svn-id: svn://10.0.0.236/trunk@53970 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 05:54:58 +00:00
briano%netscape.com
1049e53f4c Automated update
git-svn-id: svn://10.0.0.236/trunk@53969 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 05:30:20 +00:00
mcafee%netscape.com
0eab1dd930 Fix from Duncan Wilcox, makefiles have dependency on MOZ_TIMER_LIBS and cannot use -ltimer_beos. r=mcafee (me)
git-svn-id: svn://10.0.0.236/trunk@53968 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 05:24:47 +00:00
mcafee%netscape.com
3ddaab1812 includes were incorrectly wrapped in the NS_BUILD_REFCNT_LOGGING define, fixing mac/win32 bustage.
git-svn-id: svn://10.0.0.236/trunk@53967 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 05:08:58 +00:00
dougt%netscape.com
8487fade66 Fixes: 19167,16801,17282,17682,17690,18616 Yes, this one line fix closes
all of these bugs and has taken 40 some hours to find.  Good night.


git-svn-id: svn://10.0.0.236/trunk@53966 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 04:11:16 +00:00
harishd%netscape.com
9262567bff Fix for bug 18328
r=vidur


git-svn-id: svn://10.0.0.236/trunk@53965 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 04:02:23 +00:00
nisheeth%netscape.com
00dd235681 r=harishd. Tell the refcounting code that the pref service is instantiated.
git-svn-id: svn://10.0.0.236/trunk@53964 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:57:30 +00:00
nisheeth%netscape.com
51e89c24b2 r=harishd.
- The stack walking code now works on windows.  We were initializing the symbol handler on each DLL load which was resetting its symbol tables.  Now, we don't re-init the symbol handler repeatedly.

- Added support for an environment variable, XPCOM_REFCNT_LOG_ENABLE_VIA_PREF.  When this is set to 1, refcount logging is done based on whether the "Enable XPCOM refcount log" pref in the Debug pane is set.  If this is not set, refcount logging is not affected by the pref.


git-svn-id: svn://10.0.0.236/trunk@53963 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:50:28 +00:00
rhp%netscape.com
80c1f0da8e Checking in some debug only code - r: rhp
git-svn-id: svn://10.0.0.236/trunk@53962 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:49:18 +00:00
alecf%netscape.com
100d711362 fix regression #19239
form widget "types" changed to be leading-letter capitalized, which busted the heck out of everything.
couldn't find a reviewer, but this has to be fixed for tomorrow
r=me


git-svn-id: svn://10.0.0.236/trunk@53961 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:37:10 +00:00
rhp%netscape.com
5ac7366170 Change for I18N quoting bugs - Bug #: 19164 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@53960 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:27:03 +00:00
mscott%netscape.com
ae45afeab4 remove two compile warnings to get me off the warnings list...
git-svn-id: svn://10.0.0.236/trunk@53959 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:04:25 +00:00
dougt%netscape.com
f5f94a1ba7 making sure that we do not empty our segmented buffer if we did not create it
bug fix 19290.  submitted by bienvenu, r=dougt.


git-svn-id: svn://10.0.0.236/trunk@53958 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 03:01:33 +00:00
jj%netscape.com
4e8d388799 updated version number to M12.
git-svn-id: svn://10.0.0.236/trunk@53957 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:56:00 +00:00
jj%netscape.com
a2f8d160d5 renamed output binary from 'apprunner'/'apprunnerDebug' to 'mozilla' and 'mozillaDebug'.
git-svn-id: svn://10.0.0.236/trunk@53956 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:55:46 +00:00
warren%netscape.com
4306e0bc94 Fixed generic module factory lookup to look in cache.
git-svn-id: svn://10.0.0.236/trunk@53955 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:46:50 +00:00
fur%netscape.com
92928f5ea4 Fix build bustage, maybe. Get rid of unnecessary const
git-svn-id: svn://10.0.0.236/trunk@53954 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:35:02 +00:00
fur%netscape.com
4c203ed17c Took out unnecessary const, which will hopefully unbusticate unix build
git-svn-id: svn://10.0.0.236/trunk@53953 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:25:04 +00:00
akhil.arora%sun.com
d592b29ae7 fix=Denis Sharypov <sdv@sparc.spb.su> r=akhil.arora@sun.com
19304 convert java dom api to an xpcom module
19305 synchronize with interface changes in nsIDocumentLoaderObserver


git-svn-id: svn://10.0.0.236/trunk@53952 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:17:28 +00:00
beard%netscape.com
fed38c19f8 fix C string leak, bug=18699, r=shaver
git-svn-id: svn://10.0.0.236/trunk@53951 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:14:23 +00:00
Jerry.Kirk%Nexwarecorp.com
03e774325c Adding nsSigHandlers file to pull out unix signal handlers into a
seperate file.
r=Ramiro


git-svn-id: svn://10.0.0.236/trunk@53950 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:55:19 +00:00
fur%netscape.com
78cb9bc6ed In support of #8305 (implement cache).
Add Truncate() method to nsIFileSpec and implement in nsFileSpecImpl


git-svn-id: svn://10.0.0.236/trunk@53949 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:44:54 +00:00
fur%netscape.com
e3d83679ec In support of #8305 (implement cache).
Add Truncate() method to nsIFileSpec and implement in nsFileSpecImpl

[Mac Implementation: sdagley, r: sfraser]
[Win implementation: fur, r:rogerl]
[Unix implementation: yixiong.zue@intel.com, r: fur]


git-svn-id: svn://10.0.0.236/trunk@53948 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:42:46 +00:00
bienvenu%netscape.com
c9cba49af2 small performance tweak for null id xul elements r=waterson
git-svn-id: svn://10.0.0.236/trunk@53947 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:31:36 +00:00
tonyr%fbdesigns.com
ca8584134a Changes to support importing Eudora mail/settings on Mac.
git-svn-id: svn://10.0.0.236/trunk@53946 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:25:50 +00:00
fur%netscape.com
42df532834 Quash warning
git-svn-id: svn://10.0.0.236/trunk@53945 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:22:30 +00:00
rginda%netscape.com
4cacaf8f66 s/perl5/perl/
git-svn-id: svn://10.0.0.236/trunk@53944 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:18:33 +00:00
ftang%netscape.com
bc83f2f618 change the charset name to correct case for ISO-8859-x
git-svn-id: svn://10.0.0.236/trunk@53943 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:18:32 +00:00
ftang%netscape.com
39a7ea650f check in backout code after nhotta fix other problem. fix bug 14914
git-svn-id: svn://10.0.0.236/trunk@53942 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:16:53 +00:00
ftang%netscape.com
29c06c6d6a fix charset name from BIG5 to Big5
git-svn-id: svn://10.0.0.236/trunk@53941 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:16:07 +00:00
danm%netscape.com
4e42d460b0 windows device context now reports ClientRect in twips, like everyone else. fixes bug 13392. r:saari@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53940 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:15:46 +00:00
ftang%netscape.com
361e24e1e7 change charset name for Big5 from BIG5
git-svn-id: svn://10.0.0.236/trunk@53939 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:15:10 +00:00
ftang%netscape.com
c32a6e4c6f fix 19132 19135 ane partial fix 12090. implement nsIKBStateContorl for gtk. call ResetInputState from mouse button press. force ime to commit in ResetInputState and send the uncommitted text by using composition start/end and text event. move unicode conversion for IME into nsGtkIMEHelper class. r=erik
git-svn-id: svn://10.0.0.236/trunk@53938 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:14:23 +00:00
dp%netscape.com
56f3b0c295 Fixes compilation error with sun workshop. Removed bogus case to
PRBool. r=akhil.arora@sun.com


git-svn-id: svn://10.0.0.236/trunk@53937 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:14:07 +00:00
wtc%netscape.com
5a3213de7c Allow specification of timeout for test programs.
git-svn-id: svn://10.0.0.236/trunk@53936 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 01:01:19 +00:00
wtc%netscape.com
a1926fa40c Added test case for PR_Available on pipes.
git-svn-id: svn://10.0.0.236/trunk@53935 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:59:57 +00:00
wtc%netscape.com
e8346601d8 Use #elif instead of #else + #if.
git-svn-id: svn://10.0.0.236/trunk@53934 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:59:17 +00:00
tonyr%fbdesigns.com
816b8237e2 Added a couple of Morefiles routines to the export list. FSpGetFileSize and FSpResolveFileIDRef. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@53933 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:58:42 +00:00
wtc%netscape.com
f6d1c72f04 This header file should not define HAVE_UINT. There should be a better
solution solution for the problem this solved.


git-svn-id: svn://10.0.0.236/trunk@53932 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:58:21 +00:00
rginda%netscape.com
09b51fab5d Added most.tests, most of the tests, minus liveconnect and some date/array tests that take a long time.
git-svn-id: svn://10.0.0.236/trunk@53931 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:57:18 +00:00
wtc%netscape.com
3fb7dc1743 _macos.h: define _MD_MINIMUM_STACK_SIZE to be 58K.
pruthr.c: removed unnecessary XP_MAC code since _MD_MINIMUM_STACK_SIZE is
checked by _PR_ADJUST_STACKSIZE.


git-svn-id: svn://10.0.0.236/trunk@53930 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:56:45 +00:00
rginda%netscape.com
f4b791db8c HTML output is in, script generally useful. Not tested on win32 or mac yet.
git-svn-id: svn://10.0.0.236/trunk@53929 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:56:17 +00:00
wtc%netscape.com
9cb44715ee Removed unnecessary _MD_MINIMUM_STACK_SIZE macro definition. Define this
macro only if the platform has a minimum stack size requirement.


git-svn-id: svn://10.0.0.236/trunk@53928 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:52:58 +00:00
wtc%netscape.com
34658f5bf6 Added newline at end of file.
git-svn-id: svn://10.0.0.236/trunk@53927 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:51:58 +00:00
wtc%netscape.com
1771f85608 Removed the depend:clean hack.
git-svn-id: svn://10.0.0.236/trunk@53926 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:51:25 +00:00
ducarroz%netscape.com
0a9a9efcf3 Fix bug 9713. comment out some sensitive code until I rewrite it. This code isn't needed yet. r=mscott
git-svn-id: svn://10.0.0.236/trunk@53925 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:47:40 +00:00
valeski%netscape.com
b27c18fb1e changed the on header notification to actually request the observers of the correct notification. OnHeaders indicates a response has come back, thus those registered for the RESPONSE should get notified, not those registered for the REQUEST
git-svn-id: svn://10.0.0.236/trunk@53924 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 00:15:42 +00:00
tonyr%fbdesigns.com
4051528619 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53923 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 23:14:05 +00:00
tonyr%fbdesigns.com
966f57e21c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53922 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 23:03:36 +00:00
colin%theblakes.com
26547830fb Don't define EXTRA_DSO_LDOPTS to EXTRA_LIBS and more. r=shaver
git-svn-id: svn://10.0.0.236/trunk@53921 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:54:09 +00:00
colin%theblakes.com
b82556ae25 Add MOZ_TIMER_LIBS to the link. r=shaver
git-svn-id: svn://10.0.0.236/trunk@53920 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:49:59 +00:00
tonyr%fbdesigns.com
4c4d5c60ef First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53919 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:48:04 +00:00
briano%netscape.com
0fca89625e Automated update
git-svn-id: svn://10.0.0.236/trunk@53918 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:45:23 +00:00
colin%theblakes.com
47b10a7742 Do not define MOZ_MONOLITHIC_TOOLKIT for OpenVMS
git-svn-id: svn://10.0.0.236/trunk@53917 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:38:51 +00:00
larryh%netscape.com
bd7fed59fd BugZilla: 19247
git-svn-id: svn://10.0.0.236/trunk@53916 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:23:00 +00:00
rods%netscape.com
ac17cc58d4 initial check in, not in the build
git-svn-id: svn://10.0.0.236/trunk@53915 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:14:26 +00:00
leaf%mozilla.org
f3af975808 added mozilla/js/.cvsignore to JSClient --leaf
git-svn-id: svn://10.0.0.236/trunk@53914 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 22:05:22 +00:00
ducarroz%netscape.com
08022abc2d Fix for bug 18974 & bug 15238. We need to use the default identity when no identity is specified. r=alecf
git-svn-id: svn://10.0.0.236/trunk@53913 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:57:06 +00:00
erik%netscape.com
cbd4c73f17 Updating local .cvsignore file. Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@53912 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:49:12 +00:00
larryh%netscape.com
9ef040228f BugZilla: 19247, fix declaration of _PR_MD_GetRandomNoise()
git-svn-id: svn://10.0.0.236/trunk@53911 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:38:39 +00:00
leaf%mozilla.org
446af992dc adding mozilla/dbm/.cvsignore to SeaMonkeyCore. --leaf
git-svn-id: svn://10.0.0.236/trunk@53910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:34:01 +00:00
sdagley%netscape.com
372a9629c1 Fix Mac bustage. Make PR_GetRandomNoise() compile. Don't know about working yet.
git-svn-id: svn://10.0.0.236/trunk@53909 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:16:51 +00:00
rhp%netscape.com
1e59708d57 Cleanup of free calls - No bug - r: bienvenu
git-svn-id: svn://10.0.0.236/trunk@53908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:12:49 +00:00
evaughan%netscape.com
d5e1a5239e 1) Changed box to use a linked list instead of a fixed array. -r Hyatt
2) Cleaned up some of the preference panels. -r Matt


git-svn-id: svn://10.0.0.236/trunk@53907 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 21:05:43 +00:00
brade%netscape.com
341249e471 fix original size/custom size toggling/setting. bug #14750 (r=kin@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@53906 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:53:48 +00:00
valeski%netscape.com
69182ebaed fixing crasher introduced when new Setter*() were dropped in last night. we now set the channel's url member *before* calling the set routines.
git-svn-id: svn://10.0.0.236/trunk@53905 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:51:05 +00:00
mcafee%netscape.com
e6803347f5 Removing const to match IDL spec, fixes Solaris/CC. r=mscott
git-svn-id: svn://10.0.0.236/trunk@53904 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:47:57 +00:00
waterson%netscape.com
0dbad7d852 Fix event listener leak in idlc-generated code. r=joki
git-svn-id: svn://10.0.0.236/trunk@53903 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:39:58 +00:00
waterson%netscape.com
8f787ac240 Fix event listener leak in code that is generated to take functions. Fix to generate new NPL 1.1 license. r=joki
git-svn-id: svn://10.0.0.236/trunk@53902 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:38:43 +00:00
brade%netscape.com
dd7e2539fd during CloneAttributes, delete all the nodes attached (not half of them); discovered when fixing bug #14750; r=kin@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53901 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:34:15 +00:00
larryh%netscape.com
079ba173e7 BugZilla: 19247. PR_GetRandomNoise()
git-svn-id: svn://10.0.0.236/trunk@53900 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:29:17 +00:00
colin%theblakes.com
720180b9d4 Add MOZ_COMPONENT_LIBS. r=jdunn
git-svn-id: svn://10.0.0.236/trunk@53899 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:23:31 +00:00
brendan%mozilla.org
1c2d96a428 - Add JS_HAS_FUN_EXPR_STMT jsconfig.h macro and use it to ifdef a special case explicitly specified by ECMA ed. 3 to be an error: a function expression that's a statement (not at top-level). This allows one to wrap functions in if and else statements and conditionally define them.
(More work is needed to conform to ECMA ed. 3 by removing Closure objects; also we want more efficient closure calling, soon.)

- Move mislocated call to js_FoldConstants from jsemit.c's js_EmitTree, the TOK_FUNCTION case, back to jsparse.c.  This avoids redundant fold-walks over non-top-level functions.  Folding should be done at tree-gen time, not at code-gen time.

- Eliminate dead code in if-else and ?: when folding constants.

- Release tempPool arena space before early return on error in js_FoldConstants, just to be nice (all arena space gets released eventually, when the compiler finishes).


git-svn-id: svn://10.0.0.236/trunk@53898 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:19:56 +00:00
valeski%netscape.com
7fcea33960 adding new param to newChannelCall to reflect the new api
git-svn-id: svn://10.0.0.236/trunk@53897 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:09:54 +00:00
valeski%netscape.com
62802829e3 typo. we need to be allocating the size of the struct, not the pointer to the struct.
git-svn-id: svn://10.0.0.236/trunk@53896 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 20:05:15 +00:00
colin%theblakes.com
cce10d19b3 build gtksuperwin if MOZ_ENABLE_GTK and MOZ_MONOLITHIC_TOOLKIT are both set. r=jdunn
git-svn-id: svn://10.0.0.236/trunk@53895 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:50:45 +00:00
akkana%netscape.com
f524df3661 Improve the problem of excessive whitespace around <pre> quotes in
plaintext mail (r=mcafee).
Also, 19237: an initial fix for html quoting (html source being
inserted outside the blockquote).


git-svn-id: svn://10.0.0.236/trunk@53894 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:43:14 +00:00
kin%netscape.com
53798ca2b2 Fix for bug #17989: Selection AutoScrolling broken when using GFX Scrollbars
layout/base/src/nsRangeList.cpp
        - Added ConstrainFrameAndPointToAnchorSubtree() and various utility
          methods.
        - Modified HandleDrag() to call ConstrainFrameAndPointToAnchorSubtree().

    layout/html/base/src/nsFrame.cpp
        - Modified GetContentAndOffsetFromPoint() to skip over generated
          and anonymous content frames.

    layout/html/base/src/nsGfxScrollFrame.cpp
    layout/html/base/src/nsGfxScrollFrame.h
        - Override the default nsFrame::GetContentAndOffsetsFromPoint()
          implementation with a version that calls
          mInner->GetContentAndOffsetsFromPoint(). This prevents the
          scrollbar frames from being included in the search.

    view/src/nsScrollPortView.cpp
        - Fixed bug where GetContainerSize() was returning the size of the
          ScrollPortView instead of the ScrolledView.

r=evaughan@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53893 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:40:52 +00:00
akkana%netscape.com
5207ade415 Use Recycle to free nsStrings; and fix a warning
git-svn-id: svn://10.0.0.236/trunk@53892 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:40:30 +00:00
akkana%netscape.com
0a7d0ef76e Contribution from mozilla@bucksch.org to improve anchor and img tags
in formatted mode (r=akkana).
Also some minor improvements to handling of blank lines in pre tags,
to get rid of extra blank lines in plaintext mail (r=mcafee).


git-svn-id: svn://10.0.0.236/trunk@53891 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:39:47 +00:00
blizzard%redhat.com
42d0b173ba we don't need to listen to events on the top level window
git-svn-id: svn://10.0.0.236/trunk@53890 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:36:28 +00:00
rhp%netscape.com
dda3d32d70 Small fix for a useful test program - NOT PART OF THE BUILD
git-svn-id: svn://10.0.0.236/trunk@53889 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 19:29:11 +00:00
varada%netscape.com
1281db945a fix for bug #18332 and other clean ups
git-svn-id: svn://10.0.0.236/trunk@53888 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 17:34:18 +00:00
terry%mozilla.org
e5db30cabf Patch by Tom Schutter <tom@platte.com>: Added some more doc, fixed product description.
git-svn-id: svn://10.0.0.236/trunk@53887 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 17:29:58 +00:00
erik%netscape.com
c7ac536631 Grabbing the next available ID. Does not affect build.
git-svn-id: svn://10.0.0.236/trunk@53886 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 16:45:59 +00:00
dcone%netscape.com
8246fb0177 Thickness of side is now checked. Fixed bug 14944. r=rods
git-svn-id: svn://10.0.0.236/trunk@53885 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 16:03:45 +00:00
shaver%netscape.com
1ec9b3aa0d Fix some MLK and FMR badness.
Use nsCOMPtr to manage services (thank you dp, thank you).
Only push context on stack when actually executing JS via JSAPI.
Use nsXPIDLCString to simplify memory management (thank you waterson,
thank you).
Use generic module stuff.
r=fur,jband


git-svn-id: svn://10.0.0.236/trunk@53884 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 15:39:28 +00:00
rods%netscape.com
affaaecfb9 removing extra box sizing code that is not needed.
computed border and padding is always added for Standard and only for explicit w/h for NavQuirks.
r=dcone bug=18448


git-svn-id: svn://10.0.0.236/trunk@53883 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 15:15:07 +00:00
dcone%netscape.com
cc7ba3518e Move the dotted and dashed rouned corner code to fall into solid until it is supported by code
r=rods.  Bug fixed 13944


git-svn-id: svn://10.0.0.236/trunk@53882 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 15:09:02 +00:00
ducarroz%netscape.com
d942732a0a Fix for bug 16413. Use parser call RemoveDuplicateAddresses when building recipients list. R=mscott
git-svn-id: svn://10.0.0.236/trunk@53881 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 15:06:56 +00:00
Jerry.Kirk%Nexwarecorp.com
bc032919d8 Added a few comments to remind me whats going on.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53880 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 13:03:16 +00:00
Jerry.Kirk%Nexwarecorp.com
96675c27b8 turning off automatic generation of BMP files for each image drawn.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53879 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 13:02:21 +00:00
Jerry.Kirk%Nexwarecorp.com
c249dfa1b7 Added some debug info to UpdateWidgeDamage , still tryin to track down
the reason for the extra draws I see under Photon.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53878 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 12:49:43 +00:00
Jerry.Kirk%Nexwarecorp.com
633876903d Check for mContext != NULL in RawDraw.. This fixes a crash that occurs
because we try to do a draw of a window after it is destroyed. Not sure
why this is happening, I think its Photon that wants the draw.

Also took out mFrame changes to size of the dialog in GetClientBounds. This
was causing several dialog to be clipped.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53877 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 12:48:43 +00:00
Jerry.Kirk%Nexwarecorp.com
2dd5f95279 Added new static memer mModalCount to be used when a modal dialog
is created. Now calling PtModalStart/End, this fixed the problem with
widgets not highlighting properly when the mouse moved over them on a
modal dialog.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53876 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 12:43:43 +00:00
mscott%netscape.com
8a6fcaa4c8 minor tweak to properly remove everything after (and including) the ? from a mailto url when extracting
the to part.


git-svn-id: svn://10.0.0.236/trunk@53875 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 10:16:26 +00:00
mscott%netscape.com
c64b1cd2fe remove these obsolete files.
git-svn-id: svn://10.0.0.236/trunk@53874 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 09:56:39 +00:00
mscott%netscape.com
b817656159 Fix clobber unix build. don't build uri dispatcher anymore.
git-svn-id: svn://10.0.0.236/trunk@53873 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 09:55:44 +00:00
waterson%netscape.com
5bccad4e4b Back off on nsCOMPtr use for mInner because of funky release
sequence. Fixes crash on shutdown.


git-svn-id: svn://10.0.0.236/trunk@53872 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 09:44:29 +00:00
tbogard%aol.net
67f780367f Renamed nsIWebBrowserApp with nsIWebBrowserChrome. Added some additional methods and more fully specified the ones that were there. Changed the interfaces to forward declare referenced interfaces rather than including them all. Added topLevelWindow to nsIWebBrowser. Provided implementation for these changes.
git-svn-id: svn://10.0.0.236/trunk@53871 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 09:17:07 +00:00
mscott%netscape.com
e90e4590f2 Fix solaris breakage.
git-svn-id: svn://10.0.0.236/trunk@53870 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 09:15:20 +00:00
waterson%netscape.com
3ecbe6226f Finish #ifdef-ing MOZ_THREADSAFE_RDF. Appears an unused PRLock will
assert when being destroyed?!?


git-svn-id: svn://10.0.0.236/trunk@53869 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 09:06:50 +00:00
mscott%netscape.com
a71f08582e uri dispatching tweak...doContent shouldn't explictly check for message/rfc822
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53868 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:59:53 +00:00
mscott%netscape.com
f719e4da75 Bug #14928 register our x-application-mailto content handler
register mailto url protocol
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53867 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:39:40 +00:00
mscott%netscape.com
bfd710100c add mailto url cid and progid
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53866 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:39:17 +00:00
mscott%netscape.com
8fe7da0cfd Bug #14928 --> for url dispatching of mailto urls:
add NewChannel, NewURI support for mailto urls.
added nsMailtoChannel which is a light weight channel
implementation for mailto urls
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53865 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:38:50 +00:00
mscott%netscape.com
eeb0411736 add nsMailtoUrl implementation which is different from
a smtp url. Simplified logic for smtp url.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53864 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:38:12 +00:00
mscott%netscape.com
f5fe45832f Bug #14928 --> implement open compose window for a uri
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53863 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:37:34 +00:00
mscott%netscape.com
48fa4a66e0 Bug #14928 --> added nsIMailtoUrl interface and reduced the functionality
of nsISmtpUrl which was acting as both mailto and smtp
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53862 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:37:06 +00:00
mscott%netscape.com
38736ca7bd Bug #14928 --> add method for opening a compose window given a mailto url.
this is needed for url dispatching.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53861 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:36:39 +00:00
mscott%netscape.com
95b7561599 remove some obsolete files
git-svn-id: svn://10.0.0.236/trunk@53860 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:15:39 +00:00
mscott%netscape.com
d546b36c84 Remove some obsolete idl files from the unix build.
git-svn-id: svn://10.0.0.236/trunk@53859 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 08:13:15 +00:00
mscott%netscape.com
ec2d81223e Bug #14928 --> uri dispatching intial landing. when a mail window comes up, we need to register ourselves
with the uri loader.

The mail window is also a nsIURIContentListener. Implement this interface such that doContent requests
are forwarded to the webshell for our message.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@53858 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:47:52 +00:00
warren%netscape.com
97fe1591d9 Removed nsICapabilities in favor of nsIInterfaceRequestor.
git-svn-id: svn://10.0.0.236/trunk@53857 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:44:14 +00:00
warren%netscape.com
cbcd671c5d Removed the nsICapabilities interface in favor of nsIInterfaceRequestor.
git-svn-id: svn://10.0.0.236/trunk@53856 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:36:41 +00:00
mscott%netscape.com
4eb376a28d Bug #14928 --> inital uri dispatching landing. the app instance is a uri content listener. implement
that interface. Register the content listener with the uri loader when we are created and again when
we go away. Forward doContent calls on nsIURIContentListener to the webshell where we want content displayed.
r=travis


git-svn-id: svn://10.0.0.236/trunk@53855 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:19:39 +00:00
mscott%netscape.com
04664370c7 add uriloader to the packages file for the mac
git-svn-id: svn://10.0.0.236/trunk@53854 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:13:10 +00:00
mscott%netscape.com
ca68a03062 Bug #14928 --> phase one of uri dispatching landing. IF uri dispatching is turned on,
invoke the uri loader instead of opening the document ourselves.

Various changes for uri dispatching....

r=travis


git-svn-id: svn://10.0.0.236/trunk@53853 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:07:33 +00:00
mscott%netscape.com
249eb0a085 Bug #14928 --> phase one of uri dispatching landing. webshell is a nsIURIContentListener.
r=travis.


git-svn-id: svn://10.0.0.236/trunk@53852 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:06:39 +00:00
mscott%netscape.com
00c26ba6bf Bug #14928 --> phase one of uri dispatching landing. add ability to get/set content listener parent on the webshell
r=travis


git-svn-id: svn://10.0.0.236/trunk@53851 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:06:07 +00:00
mscott%netscape.com
0ed2e8850a Bug #14928 --> phase one of uri dispatching landing. add ability for doc loader to load
an opened channel
r=travis


git-svn-id: svn://10.0.0.236/trunk@53850 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 07:05:47 +00:00
fur%netscape.com
5a97fd4572 Quell warning
git-svn-id: svn://10.0.0.236/trunk@53849 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:59:28 +00:00
mscott%netscape.com
446a6ec0c7 Add a debug menu item for turning on / turning off url dispatching
r=travis


git-svn-id: svn://10.0.0.236/trunk@53848 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:58:22 +00:00
mscott%netscape.com
16d83b9a69 add labels for uri dispatching menu item which is in the debug window
r=travis


git-svn-id: svn://10.0.0.236/trunk@53847 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:57:36 +00:00
mscott%netscape.com
7bc4ae6da8 Make the uri loader a component.
git-svn-id: svn://10.0.0.236/trunk@53846 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:39:37 +00:00
mscott%netscape.com
7e2aa68ab6 add uriloader to the unix installer
git-svn-id: svn://10.0.0.236/trunk@53845 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:22:52 +00:00
waterson%netscape.com
789312e427 Bug 9246. Give bookmark URLs the tough love they need. Fix changing a bookmark's URL, fix setting a bookmark's URL when one wasn't set before. Prohibit removal of a bookmark's URL. r=rjc.
git-svn-id: svn://10.0.0.236/trunk@53844 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:21:09 +00:00
mscott%netscape.com
ddfa8bd6a4 add uriloader to the windows install package.
git-svn-id: svn://10.0.0.236/trunk@53843 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:19:52 +00:00
fur%netscape.com
d81b34c48f Quash warnings
git-svn-id: svn://10.0.0.236/trunk@53842 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:19:51 +00:00
valeski%netscape.com
00e07f6d85 updated urltest.cpp to use the new Resolve code
git-svn-id: svn://10.0.0.236/trunk@53841 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:19:01 +00:00
mscott%netscape.com
82de57b51b Add uriloader directory to the mac build.
git-svn-id: svn://10.0.0.236/trunk@53840 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:07:52 +00:00
waterson%netscape.com
8eb3297670 Be sure to waitpid() after killing the process so as not to leave zombies around.
git-svn-id: svn://10.0.0.236/trunk@53837 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:06:28 +00:00
mscott%netscape.com
3436e5ab25 add uriloader directory
git-svn-id: svn://10.0.0.236/trunk@53836 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:05:16 +00:00
mscott%netscape.com
ad327ebf31 Make uriloader part of the build on Unix!!
*yeah*


git-svn-id: svn://10.0.0.236/trunk@53835 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:03:27 +00:00
mscott%netscape.com
0d4f454ad5 Make uriloader part of the build on windows!!
*yeah*


git-svn-id: svn://10.0.0.236/trunk@53834 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:02:51 +00:00
mscott%netscape.com
c1237abda6 make this library 8.3 on windows.
(renamed to urildr)


git-svn-id: svn://10.0.0.236/trunk@53833 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 06:02:00 +00:00
waterson%netscape.com
a66438f908 Clean up some timing printfs.
git-svn-id: svn://10.0.0.236/trunk@53832 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 05:47:51 +00:00
sfraser%netscape.com
8136303d07 Fix for 19170 -- yield to NSPR threads in our main event loop, to service the necko thread more promptly. r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53830 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 05:26:59 +00:00
wtc%netscape.com
76b46ea633 Minor improvements. In objs.mk fixed the problem that pthreads_user.c
is added to CSRCS twice if USE_AUTOCONF is not defined.
Modified files: pr/src/md/unix/Makefile,Makefile.in,objs.mk


git-svn-id: svn://10.0.0.236/trunk@53829 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 05:26:06 +00:00
dougt%netscape.com
5156796d61 fix for 18949. make seek do a flush to avoid corruption.
git-svn-id: svn://10.0.0.236/trunk@53828 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 05:16:42 +00:00
ssu%netscape.com
c192307dcf overloaded the abortInstall() function for the Install object to take a
numerical parameter.  It now allows the script writer to specify
an abort value, instead of the default one.

r=sgehani


git-svn-id: svn://10.0.0.236/trunk@53827 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 05:08:11 +00:00
rbs%maths.uq.edu.au
5bf3169323 Fine-tuning of the placement of the sqrt symbol and Patch of Mike Shaver to make the code compile on Linux
git-svn-id: svn://10.0.0.236/trunk@53826 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 04:51:56 +00:00
kvisco%ziplink.net
c0fcd98ef9 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@53825 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 04:40:02 +00:00
putterman%netscape.com
4b4bbf050c Fixes various message count updating bugs. reviewed by bienvenu.
git-svn-id: svn://10.0.0.236/trunk@53824 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 04:31:01 +00:00
jband%netscape.com
704976db95 remove invalid assertion
git-svn-id: svn://10.0.0.236/trunk@53823 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 04:30:54 +00:00
rginda%netscape.com
8bd4b3f833 Added ^c handler, beginnings of html output.
git-svn-id: svn://10.0.0.236/trunk@53822 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 04:14:00 +00:00
rbs%maths.uq.edu.au
5993ff13a3 Ensure all the control paths return value
git-svn-id: svn://10.0.0.236/trunk@53821 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:56:38 +00:00
fur%netscape.com
e76b531c35 Quell warnings
git-svn-id: svn://10.0.0.236/trunk@53820 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:38:32 +00:00
waterson%netscape.com
af2b1bd863 Be sure to close the file before moving it.
git-svn-id: svn://10.0.0.236/trunk@53819 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:38:24 +00:00
waterson%netscape.com
5d934cf0b4 Add chdir() so that it can be called from an alias.
git-svn-id: svn://10.0.0.236/trunk@53818 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:29:11 +00:00
nhotta%netscape.com
63ad96223a Change to pass an empty string to setlocale instead of NULL (which is illegal in Unix unlike windows). Bug
18338, r=tao.


git-svn-id: svn://10.0.0.236/trunk@53817 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:28:35 +00:00
nhotta%netscape.com
4aadb70b4d In MIME encoder, put a check at the end of the loop if the source points to a null character then bump the
pointer. This fixes a problem when a separator is at the end of a header string. Bug 9762, r=cata.


git-svn-id: svn://10.0.0.236/trunk@53816 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:24:56 +00:00
mcafee%netscape.com
9fed8c5977 Switching to PRBool, un-break Solaris WS build. r=slamm
git-svn-id: svn://10.0.0.236/trunk@53815 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:22:47 +00:00
blizzard%redhat.com
b0b5056241 fix for modal dialogs. fixes bug #16310. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53814 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:19:43 +00:00
jdunn%netscape.com
ab3b3b9c03 Only include SUPER_WIN includes if it is on. HPUX and AIX compilers fail
if they can't find the include file


git-svn-id: svn://10.0.0.236/trunk@53813 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:08:19 +00:00
briano%netscape.com
66aeaeb6f5 Automated update
git-svn-id: svn://10.0.0.236/trunk@53812 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 03:00:19 +00:00
warren%netscape.com
861f45621b Added nsIJARProtocolHandler.idl
git-svn-id: svn://10.0.0.236/trunk@53811 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:54:05 +00:00
jdunn%netscape.com
c2943700d3 Change the linking option of -Bsymbolic to only happen on Components
(i.e the i18n code and NOT on anything that links in gtk

r=pepper@netscape.com
# 18129


git-svn-id: svn://10.0.0.236/trunk@53810 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:49:30 +00:00
wtc%netscape.com
4214c05a0a Bugzilla bug #5358: fixed build problem on Solaris/x86 under gcc by
removing the #ifdef stuff from os_SunOS_x86.s.
Modified files: pr/src/md/unix/Makefile,Makefile.in,objs.mk,os_SunOS_x86.s


git-svn-id: svn://10.0.0.236/trunk@53809 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:48:18 +00:00
rhp%netscape.com
5e2156e1ac Fix for memory allocation off by 1 error. No bug. r: rhp (submitted by Ben Bucksch <mozilla-news@bucksch.org>
git-svn-id: svn://10.0.0.236/trunk@53808 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:46:52 +00:00
hangas%netscape.com
4bc17baa5a Fixes for selection bug 19011 and sidebar resize bug 18742. r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@53807 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:45:38 +00:00
pinkerton%netscape.com
12204f19bc Fix for bug #18998. strip nulls off the end of unicode text strings. (r=danm).
git-svn-id: svn://10.0.0.236/trunk@53806 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:40:49 +00:00
bienvenu%netscape.com
6f45f8a08a only send change notification for pending filtered messages if the count changed - performance tweak
git-svn-id: svn://10.0.0.236/trunk@53805 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:36:22 +00:00
brendan%mozilla.org
ec11858386 Brutal JS script sharing (15146, r=waterson@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@53804 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:25:33 +00:00
valeski%netscape.com
0f008d3a79 r=rhp. nsDocumentBindInfo was returning NO_INTERFACE when asked for nsISupports. I can't believe we made it this far w/ that object not able to support nsISupports :/
git-svn-id: svn://10.0.0.236/trunk@53803 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:19:13 +00:00
wtc%netscape.com
d90cc02dc7 Bugzilla bug #17896: added new macro _PR_IS_GCABLE_THREAD.
r=srinivas@netscape.com
Modified files: primpl.h, macthr.c, irix.c, pthreads_user.c, solaris.c,
unixware.c, pruthr.c


git-svn-id: svn://10.0.0.236/trunk@53802 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:14:38 +00:00
wtc%netscape.com
67284c22a6 Added a new test sendzlf.c, which sends a zero-length file with PR_SendFile
and PR_TransmitFile.
Modified files: pr/tests/Makefile,Makefile.in,runtests.ksh
Added file: sendzlf.c


git-svn-id: svn://10.0.0.236/trunk@53801 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 02:11:38 +00:00
sspitzer%netscape.com
64020d1638 ok, really fixed this time. forgot the "== 0" in the macro. dummy.
git-svn-id: svn://10.0.0.236/trunk@53800 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 01:14:05 +00:00
mscott%netscape.com
a3f0be31f8 (not part of the build)
api tweak to nsIURIContentListener::CanHandleContent


git-svn-id: svn://10.0.0.236/trunk@53799 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 01:09:56 +00:00
mscott%netscape.com
67e5e83714 (not part of the seamonkey build)
CanHandleContent now has an out parameter for desired content type.
Minor re-write of uri loder logic to incorporate stream conversion. If the content listener passes back
a desired content type that is different from the content type that we asked it to handle, we'll
automatically invoke a stream converter. This allows a doc shell which wants to handle say message/rfc822
to request that content be in the form of text/xul (i.e. if it was presenting the content).


git-svn-id: svn://10.0.0.236/trunk@53798 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 01:02:31 +00:00
mscott%netscape.com
4faf756f66 (not part of the seamonkey build)
CanHandleContent now has an out parameter for desired content type.


git-svn-id: svn://10.0.0.236/trunk@53797 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 01:00:56 +00:00
sspitzer%netscape.com
bffbbd96e1 fix for #19068, prefs not loading values, or saving changes.
the problem was the pref window architecture walks the dom looking for input widgets
of type "radio" or "text" and not "RADIO", "Radio", etc or "TEXT", "Text", etc.  (the widget type changed recently from lowercase to uppercase.

now we do a case insensitive string compare and it all works fine.
a=leaf
r=mscott


git-svn-id: svn://10.0.0.236/trunk@53796 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 00:59:21 +00:00
tbogard%aol.net
34cb340e23 Fixed some calls on GetTopLevelWindow() and the assumptions made on the return value with the returned pointer. Added some pseudo code that is commented out for prompter stuff. r=seth (This is a cleanup of the checkin made in an effort to get the tree open.)
git-svn-id: svn://10.0.0.236/trunk@53795 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 00:33:54 +00:00
idk%eng.sun.com
e2e8a47460 no bug id
fixed typo OJI_DISABLED->OJI_DISABLE


git-svn-id: svn://10.0.0.236/trunk@53794 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 00:32:33 +00:00
erik%netscape.com
0b192df612 Grabbing the next available IID. Does not affect the build.
git-svn-id: svn://10.0.0.236/trunk@53793 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-18 00:09:46 +00:00
sspitzer%netscape.com
4780a4d9a1 fix for #19117, crash. add check before dereferencing null.
git-svn-id: svn://10.0.0.236/trunk@53792 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 23:05:29 +00:00
waterson%netscape.com
5612a50ae2 Add some commentary and a '--timeout' option.
git-svn-id: svn://10.0.0.236/trunk@53791 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 23:02:53 +00:00
mscott%netscape.com
31b10b655b First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53790 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:48:42 +00:00
sspitzer%netscape.com
7fe343ca94 fix for blocker bug #19083, compose html message causes a crash.
r=sfraser.


git-svn-id: svn://10.0.0.236/trunk@53789 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:34:41 +00:00
rginda%netscape.com
4c59ec23d1 * menuhead.html
make all targets "other_window" to reduce number of open windows.
* mklistpage.pl
  make all targets "other_window" to reduce number of open windows.
* runtests2.pl
  more hacking, still not done.


git-svn-id: svn://10.0.0.236/trunk@53788 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:33:05 +00:00
rginda%netscape.com
ee50e06936 Initial checkin of "import test list" dialog.
git-svn-id: svn://10.0.0.236/trunk@53787 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:31:07 +00:00
waterson%netscape.com
48b8a18ada Add usage notes.
git-svn-id: svn://10.0.0.236/trunk@53786 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:30:35 +00:00
waterson%netscape.com
68ed9f664b Increase timeout to 10min., and don't over-eagerly assume the app crashed. Add code to send email.
git-svn-id: svn://10.0.0.236/trunk@53785 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:26:50 +00:00
leaf%mozilla.org
ebc5a3a800 removing useless line
git-svn-id: svn://10.0.0.236/trunk@53784 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:19:07 +00:00
leaf%mozilla.org
6633399c6c really fixing ls calls.
git-svn-id: svn://10.0.0.236/trunk@53783 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:14:21 +00:00
blizzard%redhat.com
74a76eef9b fix bug #19075 and #19080. make sure to handle the 2 + 3 button press events in nsWidget::HandleEvent().
git-svn-id: svn://10.0.0.236/trunk@53782 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 22:04:03 +00:00
waterson%netscape.com
23981df7df Initial revision.
git-svn-id: svn://10.0.0.236/trunk@53781 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 20:52:45 +00:00
varada%netscape.com
816a23bea8 fix for bug #19078 -obtaining value for window title bar text
git-svn-id: svn://10.0.0.236/trunk@53780 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 20:47:08 +00:00
waterson%netscape.com
2bed62ce5c Fix license to use MPL.
git-svn-id: svn://10.0.0.236/trunk@53779 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 20:42:57 +00:00
rginda%netscape.com
521eb32640 * Global.java
Cleared global.exitCode in quit() just to be safe.
* Main.java
  Adjusted exit code constants to match the js and xpcshells.


git-svn-id: svn://10.0.0.236/trunk@53778 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 20:26:17 +00:00
pavlov%netscape.com
0eb755927a fix for blizzard's editor making a mistake typing what he typed and not what he thought r=blizzard
git-svn-id: svn://10.0.0.236/trunk@53777 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 20:18:07 +00:00
despotdaemon%netscape.com
1ac394a5c2 Pseudo-automatic update of changes made by endico@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53776 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 19:28:18 +00:00
waterson%netscape.com
b7feff7c3e Fix license to use MPL.
git-svn-id: svn://10.0.0.236/trunk@53775 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 19:15:05 +00:00
rogerl%netscape.com
fd8c6885d9 Changes for JS1.5 build under AIX4.3.
(Not a part of SeaMonkey builds)


git-svn-id: svn://10.0.0.236/trunk@53773 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 18:34:04 +00:00
duncan%be.com
8e3d684f96 BeOS only fixes to keep Mozilla building on BeOS. Still doesn't really run.
git-svn-id: svn://10.0.0.236/trunk@53772 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 15:18:02 +00:00
jfrancis%netscape.com
1b34dda41b some fixes for deletion and also selection movement, contributed by Steve Clark. fixes bug 18537 (backspace can delete entire line); r = buster
git-svn-id: svn://10.0.0.236/trunk@53771 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 11:30:39 +00:00
jfrancis%netscape.com
a7b072071c improved fix for bug 15696 (leaking an atom). r=floppy moose
git-svn-id: svn://10.0.0.236/trunk@53770 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 11:26:41 +00:00
jfrancis%netscape.com
07d4e1f07d rewrote GetFirstEditableNode() / GetLastEditableNode(). This fixes bugs: 18922, 18938, 18723; r=floppy moose
git-svn-id: svn://10.0.0.236/trunk@53769 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 11:03:25 +00:00
warren%netscape.com
9632e323b9 Fix for bustage due to channel retargeting changes.
git-svn-id: svn://10.0.0.236/trunk@53768 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 09:33:13 +00:00
warren%netscape.com
f77ab5063e Fix for bustage due to channel retargeting changes.
git-svn-id: svn://10.0.0.236/trunk@53767 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 09:22:47 +00:00
warren%netscape.com
7a9dd28d13 Fix for bustage due to channel retargeting changes.
git-svn-id: svn://10.0.0.236/trunk@53766 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 09:17:04 +00:00
warren%netscape.com
c47a7a261b Fix for linux bustage due to channel retargeting changes.
git-svn-id: svn://10.0.0.236/trunk@53765 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 09:11:03 +00:00
tbogard%aol.net
b5b6d5c1a7 Replaced references to nsIGenericWindow to use nsIBaseWindow. Removed the NS_IMPL_ISUPPORTSX in favor of the map approach.
git-svn-id: svn://10.0.0.236/trunk@53764 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 09:00:05 +00:00
tbogard%aol.net
3374645a8a Got the code compiling again.
git-svn-id: svn://10.0.0.236/trunk@53763 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 08:57:00 +00:00
tbogard%aol.net
da2b769d83 Replaced nsIGenericWindow with nsIBaseWindow.
git-svn-id: svn://10.0.0.236/trunk@53762 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 08:45:28 +00:00
warren%netscape.com
d8627fe912 Necko API and implementation changes for retargeting. Needed for URL dispatching. r=mscott
git-svn-id: svn://10.0.0.236/trunk@53761 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 08:14:52 +00:00
brendan%mozilla.org
693b8201bd Unregress top-level lambda expressions not in with statements to avoid full closure overhead.
git-svn-id: svn://10.0.0.236/trunk@53760 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 07:41:12 +00:00
warren%netscape.com
990558f3e9 Added nsICapabilities. Abstracted out from nsIContentViewerContainer for use in necko.
git-svn-id: svn://10.0.0.236/trunk@53759 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 07:36:40 +00:00
tbogard%aol.net
eed562f89a Removed nsIGenericWindow.idl as is is now implemented by widget/public/nsIBaseWindow.idl.
git-svn-id: svn://10.0.0.236/trunk@53758 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 07:25:22 +00:00
bryner%uiuc.edu
997ba5b632 Checking in some widget changes to support scrolling with the mouse
wheel.  Layout changes (to make it actually work) will follow soon,
and also a Windows implementation.  r=blizzard.


git-svn-id: svn://10.0.0.236/trunk@53757 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 06:54:02 +00:00
sdagley%netscape.com
de8d2d027f Fix build bustage by removing header files that were improperly added to project. NOTE - do NOT add .h files to a project, the project tracks them by parsing the source .c/.cp files
git-svn-id: svn://10.0.0.236/trunk@53756 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 06:10:07 +00:00
pavlov%netscape.com
b070a9eadf fix for bug 17936 making windows smaller after they have become visible r=waterson
git-svn-id: svn://10.0.0.236/trunk@53755 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 05:47:45 +00:00
sgehani%netscape.com
d63405a43c Fixes bug 18887. Although the bug doesn't mention it this really is:
CRC-32 checking is now fixed in libjar. [r=dveditz]


git-svn-id: svn://10.0.0.236/trunk@53754 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 05:40:00 +00:00
wtc%netscape.com
6104a72f93 Bugsplat bug #367096: need to set md.thr_bound_cpu to NULL when we
resume a falsely timed-out or abort a really timed-out AcceptEx call.
Also we must add a thread to its current CPU if md.thr_bound_cpu is
not NULL.
Modified files: ntio.c, ntthread.c, and pruthr.c


git-svn-id: svn://10.0.0.236/trunk@53753 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 05:25:27 +00:00
despotdaemon%netscape.com
8f321bdf52 Pseudo-automatic update of changes made by jar@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53752 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 05:21:25 +00:00
pavlov%netscape.com
3025de75af added files: mozilla/widget/public/nsIBaseWindow.idl
git-svn-id: svn://10.0.0.236/trunk@53751 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 05:10:11 +00:00
pavlov%netscape.com
5c59e16c9d add nsIBaseWindow.idl to the build
git-svn-id: svn://10.0.0.236/trunk@53750 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 05:08:56 +00:00
brendan%mozilla.org
66fd5fc23b Whitespace, comment, and bracing diffs.
git-svn-id: svn://10.0.0.236/trunk@53749 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:32:37 +00:00
despotdaemon%netscape.com
ec6dd06039 Pseudo-automatic update of changes made by dmose@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53748 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:27:03 +00:00
tbogard%aol.net
0dfaa7fc02 Fixed a warning.
git-svn-id: svn://10.0.0.236/trunk@53747 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:19:39 +00:00
brendan%mozilla.org
1f55285563 Brutal sharing followup (15146, r=shaver@mozilla.org)
- jsinterp.c changes: 
__- JSOP_CLOSURE comment fixes.
____(NB: ECMA ed 3 seems to require that we abolish the Closure object altogether, replacing it with a new Function object where we used to make a new closure.  That says we should use JS_CloneFunctionObject or an internal form (js_).) 
__- Use obj rather than the same-valued fp->scopeChain as fourth argument to js_ConstructObject. 
__- JSOP_DEFFUN change to auto-clone when running a script in a different scope from the one the compiler used for static function scope linkage. 
__- Remove bogus assertion from JSOP_DEFVAR/CONST: case.

- jsparse.c/.h changes:
__- Restored outerFun test to FunctionDef in jsparse.c, so that we make a closure if (outerFun || lambda || !funAtom) -- i.e., if we're compiling
____- A function statement within an active function via eval;
____- We're compiling a function expression statement (not at apparent-to-compiler top-level; part of some kind of compound statement, e.g. if or with);
____- Or the function, even at top statement level and not in another function, has no name. 
__- Don't predefine local variables at compile time if they're in with statement
__- Enforce const at compile time for local consts

- Minor jsemit.[ch] cleanup.


git-svn-id: svn://10.0.0.236/trunk@53746 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:13:05 +00:00
slamm%netscape.com
f961c5ff69 Now adjust the ignored warnings with the changes.
git-svn-id: svn://10.0.0.236/trunk@53745 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:12:00 +00:00
slamm%netscape.com
4c55bbe84e Remember to add source_root when searching for file in repository.
git-svn-id: svn://10.0.0.236/trunk@53744 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:09:19 +00:00
blizzard%redhat.com
ffeade219f land SUPERWIN
git-svn-id: svn://10.0.0.236/trunk@53743 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:06:21 +00:00
blizzard%redhat.com
94ea44f86c add gtksuperwin to the link line for viewer
git-svn-id: svn://10.0.0.236/trunk@53742 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:05:41 +00:00
blizzard%redhat.com
1859c289d3 add gtksuperwin directory to the build
git-svn-id: svn://10.0.0.236/trunk@53741 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 04:00:00 +00:00
tbogard%aol.net
24449c4ccb Seems Solaris' compiler is on the bus... Doesn't understand what nsISupports to grab or something. Anway adding the .get() fixes it.
git-svn-id: svn://10.0.0.236/trunk@53739 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 03:55:35 +00:00
slamm%netscape.com
54587cf6ec Fix filename lookups. Needed to remove source root for path.
git-svn-id: svn://10.0.0.236/trunk@53738 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 03:52:53 +00:00
waterson%netscape.com
011da6cb8c Fix build bustage: disambiguate nsXULDocument::State from nsForwardReference::State by renaming to nsForwardReference::Phase.
git-svn-id: svn://10.0.0.236/trunk@53736 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 03:20:03 +00:00
pavlov%netscape.com
47411053af add nsIBaseWindow (not built) r=travis
git-svn-id: svn://10.0.0.236/trunk@53735 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 03:19:56 +00:00
danm%netscape.com
6a35760f1f add additional release of parent reference to twitchy destruction code. fixes bug 16310. r:pavlov@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53734 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 03:15:31 +00:00
waterson%netscape.com
304a4f2540 Bug 13378. Make sure that we hook up any broadcasters that arrive in overlay subtrees. r=hyatt
git-svn-id: svn://10.0.0.236/trunk@53732 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 02:45:46 +00:00
rginda%netscape.com
c907eeaead Initial add of new (universal) perl test driver, and test case selection tool.
git-svn-id: svn://10.0.0.236/trunk@53731 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 02:05:29 +00:00
rjc%netscape.com
7635ec807d Trim out some crufty/old unused code, and speed up sorting a bit by reducing the number of string copies. Review: me
git-svn-id: svn://10.0.0.236/trunk@53730 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 02:03:46 +00:00
wtc%netscape.com
976dc82e55 Bugzilla bug #17728: pt_writev_cont, pt_write_cont, pt_send_cont, and
pt_sendto_cont need to deal with the possibility of a zero-length buffer.
r=srinivas@netscape.com.  Added a test zerolen.c for this bug.
Modified files: ptio.c, pr/tests/Makefile, pr/tests/Makefile.in,
pr/tests/runtests.ksh.
Added file: pr/tests/zerolen.c


git-svn-id: svn://10.0.0.236/trunk@53729 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:59:23 +00:00
tbogard%aol.net
2ab3492319 errr, Unix compilers don't understand the right value nsCOMPtr thing... Fixed.
git-svn-id: svn://10.0.0.236/trunk@53728 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:54:04 +00:00
mscott%netscape.com
28fcdb480a (not part of the build)
remove obsolete file


git-svn-id: svn://10.0.0.236/trunk@53727 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:46:08 +00:00
mscott%netscape.com
59166f5149 (not part of the build)
exorcise nsURILoaderCIDs.h


git-svn-id: svn://10.0.0.236/trunk@53726 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:45:25 +00:00
mscott%netscape.com
f4038863e2 (Not part of the seamonkey build yet)
add manifest idl file for uriloader


git-svn-id: svn://10.0.0.236/trunk@53725 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:43:38 +00:00
rbs%maths.uq.edu.au
ed99068e15 Removed a left-over getchar() that was there for debugging purposes
git-svn-id: svn://10.0.0.236/trunk@53724 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:43:30 +00:00
rbs%maths.uq.edu.au
823c317c0c Code for the msqrt MathML tag
git-svn-id: svn://10.0.0.236/trunk@53723 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:40:04 +00:00
sdagley%netscape.com
4a221cb89e File Removed.
git-svn-id: svn://10.0.0.236/trunk@53722 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:33:19 +00:00
sdagley%netscape.com
80a6ae1e66 Mac specific changes. Updating to current version of MoreFiles library (1.4.9) which is required for #17949 - nsIFile impl for Mac. r=sheriff
git-svn-id: svn://10.0.0.236/trunk@53721 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:32:53 +00:00
sdagley%netscape.com
e3933da174 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53720 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:13:03 +00:00
jdunn%netscape.com
6af106def0 fixing HPUX 10.20's which was having problem with this definition since
it was creating an unresolved symbol "static_iid"

r= dougt@netscape.com
# 19021


git-svn-id: svn://10.0.0.236/trunk@53719 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:01:22 +00:00
vidur%netscape.com
ecb6eb504e fix for bug 18693. Event handler default actions shouldn't be done in the capture phase. R=joki.
git-svn-id: svn://10.0.0.236/trunk@53718 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 01:01:12 +00:00
rbs%maths.uq.edu.au
a5239931ae Examples to illustrate the newly added support of stretchy MathML symbols
git-svn-id: svn://10.0.0.236/trunk@53717 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:55:32 +00:00
putterman%netscape.com
86b2124a20 Fixes leak. reviewed by bienvenu.
git-svn-id: svn://10.0.0.236/trunk@53716 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:52:16 +00:00
rbs%maths.uq.edu.au
4f4d69e894 Code to support stretchy MathML symbols!
git-svn-id: svn://10.0.0.236/trunk@53715 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:49:37 +00:00
erik%netscape.com
c402c54b8b commenting out a change that caused a regression in paste-as-quote
r=akkana


git-svn-id: svn://10.0.0.236/trunk@53714 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:44:29 +00:00
tbogard%aol.net
505b219276 Changed nsPIDOMWindow::GetPrivateParent() to be implemented using it's own mChromeElement so it doesn't have to rely on the nsIWebShell::GetParentEvenIfChrome(). r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@53713 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:43:19 +00:00
rbs%maths.uq.edu.au
69f12a0069 Add hook for the msqrt tag in the confined MathML world
git-svn-id: svn://10.0.0.236/trunk@53712 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:41:48 +00:00
harishd%netscape.com
1f8ab9e606 Unblocking bug 18679.
[ scanner got into an infinte loop ]


git-svn-id: svn://10.0.0.236/trunk@53711 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:25:33 +00:00
rogerl%netscape.com
20bec5b4fd Added changes at Jane's request.
(Not a prt of SeaMonkey build)


git-svn-id: svn://10.0.0.236/trunk@53710 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:05:45 +00:00
rogerl%netscape.com
5ca7bc097e Added new defs at Jane's request.
(Not a prt of SeaMonkey build)


git-svn-id: svn://10.0.0.236/trunk@53709 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:04:49 +00:00
norris%netscape.com
a1350a3bf7 Make -f semantics match those of the C engine.
git-svn-id: svn://10.0.0.236/trunk@53708 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-17 00:04:17 +00:00
norris%netscape.com
1013c44229 Add contributor.
git-svn-id: svn://10.0.0.236/trunk@53707 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:58:11 +00:00
norris%netscape.com
b893fe749d rginda's changes for having quit() take an exit code.
git-svn-id: svn://10.0.0.236/trunk@53706 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:57:23 +00:00
rogerl%netscape.com
bd24478a5d r=norris.
Fix overrun by back-reference digit sequence parsing.


git-svn-id: svn://10.0.0.236/trunk@53705 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:54:18 +00:00
rogerl%netscape.com
45e1ab641f r=norris
Fix for toString under 1.2 - calls toSource which provides extra '{}' that
doesn't match previous behaviour.


git-svn-id: svn://10.0.0.236/trunk@53704 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:53:33 +00:00
putterman%netscape.com
22559aaeb3 Fixed icons in folder pane.
git-svn-id: svn://10.0.0.236/trunk@53703 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:52:20 +00:00
rogerl%netscape.com
6760f395ea r=norris
Fixed handling of weird indices (NaN etc) for charCode and charCodeAt.
Bug #16984


git-svn-id: svn://10.0.0.236/trunk@53702 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:52:08 +00:00
rogerl%netscape.com
8bff78dad7 r=norris.
Changes for ECMA compatible function.apply handling of missing or null args
Bug #16984


git-svn-id: svn://10.0.0.236/trunk@53701 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:51:02 +00:00
ftang%netscape.com
0b3f92395d clean up nsWindow IME code to use nsCString and nsString to do buffer management. r=cata
git-svn-id: svn://10.0.0.236/trunk@53700 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:45:44 +00:00
wtc%netscape.com
04a7a748cc Bugzilla bug #17601: fixed memory leak and some other problems in our
thread-private data code.
Modified files: primpl.h, ptthread.c, prcthr.c, prtpd.c, pruthr.c.


git-svn-id: svn://10.0.0.236/trunk@53699 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:44:41 +00:00
putterman%netscape.com
4f873f1237 Partial fix for 18742. You can now move the sidebar splitter, Thanks to slamm for the fix.
Also some other skin changes to fix some icons and don't make news show up in copy and move menu.


git-svn-id: svn://10.0.0.236/trunk@53698 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:33:35 +00:00
jdunn%netscape.com
218f4125de finish unresolved symbols checkin
r dp@netscape.com
# 18896


git-svn-id: svn://10.0.0.236/trunk@53697 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:24:44 +00:00
jdunn%netscape.com
0a107d6b92 finish unresolved symbol checkins.
r dp@netscape.com
# 18896


git-svn-id: svn://10.0.0.236/trunk@53696 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:23:55 +00:00
vidur%netscape.com
8f564b57fe Fix for bug 18301. window.closed returns true for all windows that have been closed. R=troy. Fix for typo from earlier checkin from Travis that caused window.open to fail. R=travis
git-svn-id: svn://10.0.0.236/trunk@53695 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:11:50 +00:00
vidur%netscape.com
34d1147eb0 Fix for bug 10173. Attributes that are enumerated values are returned with the first letter upper-cased. R=troy
git-svn-id: svn://10.0.0.236/trunk@53694 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:09:31 +00:00
morse%netscape.com
4a0b42fe1e undoing last check-in now that bug 18479 has really been fixed
git-svn-id: svn://10.0.0.236/trunk@53693 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 23:05:49 +00:00
sspitzer%netscape.com
ef04a7c923 fix for #18999, r=putterman
gracefully handle migration if the user used movemail (unix only) in 4.x
wrap all the movemail code with #defines, it is not needed on non-unix
platforms.  movemail is still not supported, but at least now migration
(of bookmarks and cookies) doesn't fail, and you can see your old mail
in 5.0.


git-svn-id: svn://10.0.0.236/trunk@53692 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:54:58 +00:00
hangas%netscape.com
7ac7081499 New Skin work. New images for twisties. Added white border around navigator window. r=german
git-svn-id: svn://10.0.0.236/trunk@53691 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:54:38 +00:00
rods%netscape.com
39c4cb7c9e Added MakeSureSomethingIsSelected to the combobox so the ListBox can
call it after it is initialized.


git-svn-id: svn://10.0.0.236/trunk@53690 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:47:23 +00:00
rods%netscape.com
7d32b5b957 Added MakeSureSomethingIsSelected so the ListBox can call it after it is initialized.
git-svn-id: svn://10.0.0.236/trunk@53689 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:47:15 +00:00
ftang%netscape.com
7dbb611a31 fix bug 12090. Implement nsIKBStateControl for nsMacWindow . Call ResetInputState when mouse down in GoAway or Content.
git-svn-id: svn://10.0.0.236/trunk@53688 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:35:02 +00:00
waterson%netscape.com
0a1ccf23c8 Fix default 'logdir' param.
git-svn-id: svn://10.0.0.236/trunk@53687 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:19:23 +00:00
waterson%netscape.com
58a5834839 Pretty up the main table.
git-svn-id: svn://10.0.0.236/trunk@53686 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:15:26 +00:00
waterson%netscape.com
af93a2c7cc Add top-level 'logs.cgi' to show all the logs; deal with stuff being in a 'data' subdirectory.
git-svn-id: svn://10.0.0.236/trunk@53685 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 22:10:11 +00:00
mscott%netscape.com
7acdb1ca78 I need to add this bogus file to uriloader\macbuild so my mac will pull the directory...
turns out it won't pull empty directories....


git-svn-id: svn://10.0.0.236/trunk@53684 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 21:16:13 +00:00
fur%netscape.com
14e4fb4755 #8305 (Cache implementation)
Added dependencies to pick up nsStorageStream.cpp and nsBinaryStream.cpp


git-svn-id: svn://10.0.0.236/trunk@53683 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 21:14:52 +00:00
wtc%netscape.com
6b0d991d1d Bugzilla bug #18968: check for the case where RTLD_GLOBAL is not defined.
git-svn-id: svn://10.0.0.236/trunk@53682 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 21:05:41 +00:00
leaf%mozilla.org
7a81dae844 checking in xterm update fix from Pierre Phaneuf <pp@ludusdesign.com>,
r=leaf@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@53681 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:58:24 +00:00
morse%netscape.com
137d445d78 work-around for bug 18479, safe form-fill comes up blank, r=rods
git-svn-id: svn://10.0.0.236/trunk@53680 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:50:40 +00:00
rgoodger%ihug.co.nz
8216c17939 Cosmetic update to finddialog.xul and dtd. r=syd
git-svn-id: svn://10.0.0.236/trunk@53679 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:16:02 +00:00
rgoodger%ihug.co.nz
7e17ae6023 Cosmetic changes to finddialog.xul & dtd. r=syd
git-svn-id: svn://10.0.0.236/trunk@53678 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:15:20 +00:00
tbogard%aol.net
e2ce7a824b Removed nsIWebShell::GetRootWebShellEvenIfChrome(). Added nsIWebShell::GetTopLevelWindow(). Made GetRootWebShellEvenIfChrome implementation a protected member function.
git-svn-id: svn://10.0.0.236/trunk@53677 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:06:12 +00:00
tbogard%aol.net
a9a3650565 Changed calls to nsIWebShell::GetRootWebShellEvenIfChrome() and further QI's to use the new nsIWebShell::GetTopLevelWindow().
git-svn-id: svn://10.0.0.236/trunk@53676 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:05:21 +00:00
tbogard%aol.net
2a61872f8a Commented out references to nsIWebShell::GetRootWebShellEvenIfChrome().
git-svn-id: svn://10.0.0.236/trunk@53675 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 20:04:40 +00:00
fur%netscape.com
0a75ddd78f added files: mozilla/xpcom/io/nsStorageStream.cpp, mozilla/xpcom/io/nsBinaryStream.cpp
git-svn-id: svn://10.0.0.236/trunk@53673 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:45:25 +00:00
fur%netscape.com
3bddcd9e3d added files: mozilla/xpcom/io/nsIBinaryInputStream.idl, mozilla/xpcom/io/nsIBinaryOutputStream.idl, mozilla/xpcom/io/nsIStorageStream.idl
git-svn-id: svn://10.0.0.236/trunk@53672 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:42:38 +00:00
sspitzer%netscape.com
23e6b96c43 go back to using window.content.home()
no need to duplicating code.


git-svn-id: svn://10.0.0.236/trunk@53671 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:29:29 +00:00
sspitzer%netscape.com
a22048c5dc fix warning.
git-svn-id: svn://10.0.0.236/trunk@53670 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:24:35 +00:00
fur%netscape.com
0cf9e74cb2 Add storage stream and binary stream files. r: none
git-svn-id: svn://10.0.0.236/trunk@53669 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:14:51 +00:00
fur%netscape.com
497837bc4d Bug #8305, r: valeski, rickg
The storage stream provides an internal buffer that
can be filled by a client using a single output
stream.  One or more independent input streams can
be created to read the data out non-destructively.
The implementation uses a segmented buffer
internally to avoid realloc'ing of large buffers.


git-svn-id: svn://10.0.0.236/trunk@53668 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:14:08 +00:00
fur%netscape.com
2db47f04c9 Bug #8305 (Implement cache), r: valeski, rickg
The storage stream provides an internal buffer that
can be filled by a client using a single output
stream.  One or more independent input streams can
be created to read the data out non-destructively.
The implementation uses a segmented buffer
internally to avoid realloc'ing of large buffers.


git-svn-id: svn://10.0.0.236/trunk@53667 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:12:41 +00:00
alecf%netscape.com
7404fb931a fix for #18196 - fix off-by-one errors with trees that have headers - EnsureRowIsVisible and IsValidRow expect zero-based rows, not row-index based rows
r=hyatt


git-svn-id: svn://10.0.0.236/trunk@53666 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:07:34 +00:00
Jerry.Kirk%Nexwarecorp.com
70eeead4ae Fix SetTitle method for Photon Windows
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53665 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 19:06:45 +00:00
alecf%netscape.com
2e8eac3e44 fix off-by-one error when calculating row indicies for trees with headers/footers - use IsRowGroup(), which takes headers/footers into account
r=hyatt
no bug, but this fixes some wierd scrolling behavior


git-svn-id: svn://10.0.0.236/trunk@53664 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 18:57:49 +00:00
sspitzer%netscape.com
d650d0570b fix windows build bustage.
git-svn-id: svn://10.0.0.236/trunk@53662 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 17:44:37 +00:00
cls%seawood.org
c120c60094 Oops, added dbm in the wrong order.
git-svn-id: svn://10.0.0.236/trunk@53661 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 17:33:41 +00:00
sgehani%netscape.com
f5e4399856 Conforming to use API names starting lowercase. Added alias creation, plugins dir creation. Fixes bug 18339. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53659 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 16:14:07 +00:00
sgehani%netscape.com
b2d471038a Fix for bug 18874: buttons should appear depressed when invoked by keyboard. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53658 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 16:11:24 +00:00
sgehani%netscape.com
bbeb961bd5 Change "extracting" string. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53657 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 16:10:26 +00:00
dougt%netscape.com
b023f23e6c fix for bug 18114. Adding simple accessor to PL_WaitForEvent.
git-svn-id: svn://10.0.0.236/trunk@53655 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 16:04:14 +00:00
cls%seawood.org
f47ecdb4ad Back by popular demand...(ok, it was just fur ;P)..dbm has returned.
git-svn-id: svn://10.0.0.236/trunk@53654 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 15:56:31 +00:00
brade%netscape.com
2529ac0ca6 fix bug 14624 (don't handle tab key twice). r=kin@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53652 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 14:41:03 +00:00
brade%netscape.com
44627def1e fix bug 18892 (r=kin@netscape.com); change constant to PRUnichar
git-svn-id: svn://10.0.0.236/trunk@53651 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 14:40:11 +00:00
briano%netscape.com
f578e0af93 Automated update
git-svn-id: svn://10.0.0.236/trunk@53650 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 12:30:18 +00:00
briano%netscape.com
bd208c9f1d Automated update
git-svn-id: svn://10.0.0.236/trunk@53649 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 12:15:24 +00:00
idk%eng.sun.com
56c7b4556f no bug id
converted pluglet runner to XPCOM module
(see bug 15217)
(not a part of regular build)


git-svn-id: svn://10.0.0.236/trunk@53648 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 10:44:25 +00:00
scc%netscape.com
4bd89164cd fixing build bustage. Further discussion is needed
git-svn-id: svn://10.0.0.236/trunk@53646 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 08:50:25 +00:00
rjc%netscape.com
2c0284aae5 Missed a "rdf:ftp" removal.
git-svn-id: svn://10.0.0.236/trunk@53645 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 08:08:22 +00:00
rjc%netscape.com
542178bb95 Obsolete the "rdf:ftp" datasource.
git-svn-id: svn://10.0.0.236/trunk@53644 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 08:00:19 +00:00
dougt%netscape.com
ff6b97fb15 checking back in changes which were backed out. Added workaround to bug
which scc pointed out.


git-svn-id: svn://10.0.0.236/trunk@53643 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 07:44:18 +00:00
dp%netscape.com
9fb2047017 Changing comments for readability.
git-svn-id: svn://10.0.0.236/trunk@53642 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 07:14:49 +00:00
briano%netscape.com
ddad430b16 Automated update
git-svn-id: svn://10.0.0.236/trunk@53641 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 07:00:24 +00:00
jdunn%netscape.com
30b5b1f168 Fixing all unresolved symbols on unix. The bug has the diff's
r dp@netscape.com (ramiro helped me with it)
# 18688


git-svn-id: svn://10.0.0.236/trunk@53640 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 06:47:54 +00:00
ssu%netscape.com
f19bcaf4f2 moving nsinstall into the MOZ_MFC define. This way people who do not have MFC, do not build this module by default.
git-svn-id: svn://10.0.0.236/trunk@53639 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 06:47:19 +00:00
ssu%netscape.com
d5361306f3 undoing commenting the RESFILE line. Commenting this line out was not the correct fix.
git-svn-id: svn://10.0.0.236/trunk@53638 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 06:46:17 +00:00
jdunn%netscape.com
f0c83b3d5a Fixing all unresolved symbols on unix. The bug has the diff's
r dp@netscape.com (ramiro helped me with it)
# 18688


git-svn-id: svn://10.0.0.236/trunk@53637 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 06:02:31 +00:00
ssu%netscape.com
397e00067a fixing bug #17109. It now takes into account the size of the .xpi file to be downloaded as part of the amount of disk space required. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@53636 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:59:35 +00:00
ssu%netscape.com
2047a1c1f5 fixing bug #18683. fixing how libjar does crc checks. It didn't work for all cases, until now. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@53635 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:43:44 +00:00
rjc%netscape.com
fa176863e4 Bye bye "rdf:ftp"
git-svn-id: svn://10.0.0.236/trunk@53634 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:40:17 +00:00
rjc%netscape.com
9df9583dae Fix bug # 6637: removing old, crufty FTP datasource from build. Just removing file(s) and CIDs. Review: me
git-svn-id: svn://10.0.0.236/trunk@53633 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:37:30 +00:00
waterson%netscape.com
9e9294757a Bug 10469. Remove 'natural order position' stuff. Make sure that nsXULSortService::InsertContainerNode() does the right thing when presented with an unsorted tree. r=rjc
git-svn-id: svn://10.0.0.236/trunk@53632 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:34:13 +00:00
norris%netscape.com
331cf153db * Fix 12124 [DOGFOOD] Reading user's preferences
* Implement site-specific security policies (bug 858)
r=mstoltz
* Use Recycle rather than delete[] to clean up Purify logs
r=law


git-svn-id: svn://10.0.0.236/trunk@53631 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:07:31 +00:00
jdunn%netscape.com
4c9d876f3f Fixing all unresolved symbols on unix. The bug has the diff's
r dp@netscape.com (ramiro helped me with it)
# 18688


git-svn-id: svn://10.0.0.236/trunk@53630 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:03:45 +00:00
pavlov%netscape.com
ca8ce3c748 More work on making widget idlified. merged from branch. (not built) r=travis
git-svn-id: svn://10.0.0.236/trunk@53629 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 05:03:09 +00:00
bienvenu%netscape.com
c6bc213629 fix build warning
git-svn-id: svn://10.0.0.236/trunk@53627 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:55:37 +00:00
sspitzer%netscape.com
47e22673f7 fix for #18940. don't define the default home page in the dtd. this is already
set in all.js.

the bug was caused by code in navigator.js that got this attribute from the
home button, and tried to set the pref!

r=mozilla@bucksch.org (benb)


git-svn-id: svn://10.0.0.236/trunk@53624 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:50:32 +00:00
pavlov%netscape.com
6276c71d9a you are going to a branch, not HEAD
git-svn-id: svn://10.0.0.236/trunk@53623 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:49:59 +00:00
bienvenu%netscape.com
ad86958d59 fix build warning
git-svn-id: svn://10.0.0.236/trunk@53622 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:48:51 +00:00
pavlov%netscape.com
3787e743f7 merge from head
git-svn-id: svn://10.0.0.236/trunk@53620 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:47:02 +00:00
bienvenu%netscape.com
1cf6ec2327 fix 18925,r=sspitzer, mozilla status flags broken
git-svn-id: svn://10.0.0.236/trunk@53619 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:35:29 +00:00
cls%seawood.org
f733c6b52e Set appropriate debug flags.
git-svn-id: svn://10.0.0.236/trunk@53618 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:21:08 +00:00
idk%eng.sun.com
81c9c905de Fix for bug 15217
r = akhil.arora@eng.sun.com, netscape.public.mozilla.java, netscape.public.mozilla.plugins
Added hook for pluglet-engine.
In case there are no handlers for some MIME type this hook would be using.
This fix does not create any dependencies on java-plugin module.


git-svn-id: svn://10.0.0.236/trunk@53617 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 04:18:59 +00:00
fur%netscape.com
604b5b8c26 Fix build bustage
git-svn-id: svn://10.0.0.236/trunk@53616 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:50:56 +00:00
fur%netscape.com
f12430fa5d I screwed up the checkin message log, here's the real changes in revision
3.5 of this file.  These changes are in support of bug #8305 (Cache implementation):
r: dougt

+ Fixed off-by-one value in enumerating either forwards or backwards, such
  that the last element is never enumerated.

+ Fixed return values of IsDone() to conform to unusual nsIEnumerator definition

+ Fixed declarations so public methods can be called outside DLL


git-svn-id: svn://10.0.0.236/trunk@53614 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:23:10 +00:00
varada%netscape.com
06ba9debd2 copying customCD shell contents onto the config CD directory
git-svn-id: svn://10.0.0.236/trunk@53613 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:14:56 +00:00
varada%netscape.com
19715623b3 removing CreateRshell from wizardmachine.cpp
git-svn-id: svn://10.0.0.236/trunk@53612 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:14:13 +00:00
fur%netscape.com
d885ca903c In support of #8305 (Implementing cache), allow storing of NUL characters
in string streams. r: dougt


git-svn-id: svn://10.0.0.236/trunk@53611 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:13:49 +00:00
varada%netscape.com
5cafdc1ce6 adding part1.ini and part2.ini to ccktools directory
git-svn-id: svn://10.0.0.236/trunk@53610 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:13:37 +00:00
fur%netscape.com
eee2215bda In support of bug #8305 (Cache implementation), added new type of hash-table
key, an array of opaque data, not owned by the key. r: dougt


git-svn-id: svn://10.0.0.236/trunk@53609 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:10:54 +00:00
fur%netscape.com
2b188ce191 Fixed a problem with the NS_GENERIC_FACTORY_CONSTRUCTOR_INIT() macro.
If the Init() routine happens to perform a balanced AddRef/Release,
the instance will be prematurely destroyed when Release() is called.
The change is to do the AddRef() before calling the initialization
routine to stabilize the instance's ref-count.

r: dp, putterman


git-svn-id: svn://10.0.0.236/trunk@53608 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:05:36 +00:00
bienvenu%netscape.com
474d46c354 fix double headers on local filter moves, r=jefft 18733
git-svn-id: svn://10.0.0.236/trunk@53607 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:51:56 +00:00
rchen%netscape.com
0c9c9d03e4 Add L10N notes
git-svn-id: svn://10.0.0.236/trunk@53606 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:48:47 +00:00
bienvenu%netscape.com
57de49ed0a fix memory leak in canonical folder path, r=jefft
git-svn-id: svn://10.0.0.236/trunk@53605 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:43:50 +00:00
bienvenu%netscape.com
7f55d09e97 fix problem with not reporting server error messages, r=jefft 11970
git-svn-id: svn://10.0.0.236/trunk@53604 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:43:17 +00:00
brendan%mozilla.org
f02610dd2c Fix exception bytecodes to use script->main (18926, r=jband@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@53602 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:15:22 +00:00
varada%netscape.com
d7afcd0c19 adding rshell creation feature
git-svn-id: svn://10.0.0.236/trunk@53601 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:09:40 +00:00
varada%netscape.com
7ee17cd116 adding two parts of the rshell.ini
git-svn-id: svn://10.0.0.236/trunk@53600 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:08:47 +00:00
rchen%netscape.com
dbb2d8683f Add L10N Notes
git-svn-id: svn://10.0.0.236/trunk@53599 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:03:08 +00:00
slamm%netscape.com
c239249d8e Simple warning fix. Change loop index to unsigned (It starts at zero and is always incremented.)
git-svn-id: svn://10.0.0.236/trunk@53598 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 02:02:59 +00:00
waterson%netscape.com
fff58fb461 Fix exec() and kill() stuff.
git-svn-id: svn://10.0.0.236/trunk@53597 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:54:12 +00:00
despotdaemon%netscape.com
60be64bf5a Pseudo-automatic update of changes made by waqar@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53596 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:53:02 +00:00
dveditz%netscape.com
7fd4abbfe1 added Bloaty instrumentation
git-svn-id: svn://10.0.0.236/trunk@53595 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:52:29 +00:00
pavlov%netscape.com
5fdb81885f make nsFilePicker inherit from nsBaseFilePicker and add it to the build r=smfr
git-svn-id: svn://10.0.0.236/trunk@53592 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:52:19 +00:00
pavlov%netscape.com
bd4795dba7 add nsBaseFilePicker and have it built on unix r=smfr
git-svn-id: svn://10.0.0.236/trunk@53590 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:51:39 +00:00
despotdaemon%netscape.com
8f3477b6ce Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53589 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:29:08 +00:00
warren%netscape.com
2976a83b9f Fix socket transport deadlock (affecting imap thread). Bug #18201 and regression bug 14612. r=rpotts
git-svn-id: svn://10.0.0.236/trunk@53588 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:25:46 +00:00
hangas%netscape.com
073f65577b Added some user-focus styles following saari's focus checkins, r=saari. Fixed 17947, 17780, 16483, 16601 which were related to focus issues. Some New Skin adjustments (menu color and 15219), r=german
git-svn-id: svn://10.0.0.236/trunk@53587 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:21:22 +00:00
pollmann%netscape.com
381644c5ab Fix typo during typo during previous checkin.
git-svn-id: svn://10.0.0.236/trunk@53586 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:20:04 +00:00
tonyr%fbdesigns.com
b1af1bd21f Added Eudora mail import module
git-svn-id: svn://10.0.0.236/trunk@53585 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:17:56 +00:00
pollmann%netscape.com
70a5cd9f40 Bug 15204: Allow getting text value in uninitialized textarea - GetText works with text inputs AND textareas. r=harishd
git-svn-id: svn://10.0.0.236/trunk@53584 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:17:54 +00:00
brendan%mozilla.org
dc881ea1fe Fix stupid logic bug (13163, r=sfraser@netscape.com).
git-svn-id: svn://10.0.0.236/trunk@53583 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:15:05 +00:00
nhotta%netscape.com
3b57d51d53 Putting a debug printf so the tester can see the real locale used for the sorting, bug 18338, r=tao.
git-svn-id: svn://10.0.0.236/trunk@53582 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:12:47 +00:00
danm%netscape.com
371307ad92 update rev 1.166 to handle stacks of modal dialogs. r:pavlov@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53581 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:10:46 +00:00
varada%netscape.com
5c9a062ecc fix for bug#18911
git-svn-id: svn://10.0.0.236/trunk@53580 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:04:03 +00:00
tbogard%aol.net
de1f9925a5 Changed nsDocLoader to get Container by asking nsIWebShell rather than nsIContentViewerContainer.
git-svn-id: svn://10.0.0.236/trunk@53579 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:03:57 +00:00
tbogard%aol.net
b3fbe630a0 Moved GetContainer() from nsIContentViewerContainer to nsIWebShell. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53578 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 01:02:17 +00:00
sspitzer%netscape.com
5bede10c9f ignore the created executables
git-svn-id: svn://10.0.0.236/trunk@53577 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 00:42:06 +00:00
sspitzer%netscape.com
86fcef5db0 ignore generated Makefile
git-svn-id: svn://10.0.0.236/trunk@53576 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 00:41:01 +00:00
sspitzer%netscape.com
238f78aa94 changes from german@netscape.com to make the profile xul look better and look
more like the rest of the chrome.  r=sspitzer@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53575 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 00:38:16 +00:00
saari%netscape.com
11b77c2fd6 Bring back, bring back, bring back the caret to me, to me...
The return of the text caret. Simple change, start dispatching content
focus events to the window (what I checked in) *and* the document (the
way it worked before, what editor relied upon). Discussed with joki, but not
technically reviewed.


git-svn-id: svn://10.0.0.236/trunk@53571 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 00:04:55 +00:00
waterson%netscape.com
76b80dff7f Initial revision.
git-svn-id: svn://10.0.0.236/trunk@53569 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 23:56:58 +00:00
tbogard%aol.net
dfca085423 Changed GetContainer to be performed off the nsIDocShell parent rather than try to QI to nsIContentViewerContainer.
git-svn-id: svn://10.0.0.236/trunk@53568 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 23:48:27 +00:00
tbogard%aol.net
cf24576e46 Fixed ambigous cast.
git-svn-id: svn://10.0.0.236/trunk@53566 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 23:26:50 +00:00
waterson%netscape.com
62f1dbf3e2 Add MPL.
git-svn-id: svn://10.0.0.236/trunk@53565 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 23:15:49 +00:00
slamm%netscape.com
6aaedc5fa5 Add the MPL.
git-svn-id: svn://10.0.0.236/trunk@53564 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 23:09:58 +00:00
tbogard%aol.net
bda092db4e nsIDocShell now has a readonly attribute for the currently loaded content viewer.
git-svn-id: svn://10.0.0.236/trunk@53563 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:54:47 +00:00
rogerl%netscape.com
50e9fca03a Backing out changes to script.exec scope access. r=norris
git-svn-id: svn://10.0.0.236/trunk@53562 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:54:06 +00:00
sfraser%netscape.com
43a68dc75d Build the static lib targets of the JPEG project. r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53561 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:44:45 +00:00
sfraser%netscape.com
3d8298ab28 Remove JPEG.shlb, which is now linked in with the jpgdecoder shared lib. r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53560 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:43:37 +00:00
sfraser%netscape.com
4d4687361a Fix for 18903 -- remove an unecessary JPEG shared lib. Link JPEG.o with the decoder, and remove the JPEG shared lib from the imglib project. r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53559 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:43:10 +00:00
sfraser%netscape.com
de9cffd28a Part of fix for 18903 -- remove uneeded DLLs from the project. r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53558 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:42:27 +00:00
sfraser%netscape.com
3903b93b15 Fix for 18903 -- remove an unecessary JPEG shared lib. Make two new static lib targets. r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53557 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:41:54 +00:00
tbogard%aol.net
41d58a79d2 Changed places where container were set to use nsISupports instead of nsIContentViewerContainer. r=dp
git-svn-id: svn://10.0.0.236/trunk@53556 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:36:41 +00:00
ssu%netscape.com
3425b762fe moving setup and setuprsc to be built on if MOZ_MFC is set. This will allow people w/o MFC to build. People w/MFC should still build fine. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@53555 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:35:07 +00:00
waterson%netscape.com
fa26384174 Initial revision.
git-svn-id: svn://10.0.0.236/trunk@53554 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:31:34 +00:00
tbogard%aol.net
67a365111c Changed places where containers were set to use nsISupports instead of nsIContentViewerContainer. r=dp
git-svn-id: svn://10.0.0.236/trunk@53553 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:17:54 +00:00
jband%netscape.com
ee57201b52 r=waterson. add explicit lock and unlock to nsAutoLock. This allows us to use the autolock to cover a scope and to also explicitly bracket a call out to some other function with an unlock and relock
git-svn-id: svn://10.0.0.236/trunk@53551 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:15:27 +00:00
tbogard%aol.net
9e4e911de1 Changed interfaces to take nsISupports for the container instead of nsIContentViewerContainer. nsXULDocument was for some reason holding on to this interface (as a weak reference) but was never using it. I have therefore gotten rid of this member variable. r=dp
git-svn-id: svn://10.0.0.236/trunk@53550 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:14:37 +00:00
Jerry.Kirk%Nexwarecorp.com
241cf26867 Fixes for pulldown windows and on screen image drawing.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53549 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:11:48 +00:00
jband%netscape.com
0468fe6fcd r=norris. Fix for bug 18702. Adds code to track whether caller to xpconnect is native or JS. This allows xpconnect to decide to not call security manager to filter calls originating from native code
git-svn-id: svn://10.0.0.236/trunk@53548 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:11:21 +00:00
Jerry.Kirk%Nexwarecorp.com
078ded00e5 Fixes for on screen drawing in viewer.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53547 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 22:05:16 +00:00
wtc%netscape.com
d6c5f3cedd Bugzilla bug #16566: PR_Assert should be defined only if DEBUG is defined.
git-svn-id: svn://10.0.0.236/trunk@53546 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:59:52 +00:00
tbogard%aol.net
a0c1d51635 Simply added the TestXPEventLoop test to the makefile.
git-svn-id: svn://10.0.0.236/trunk@53545 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:52:35 +00:00
mscott%netscape.com
87ce7ec67c (not part of the seamonkey build)
Revamp the uri loader to excusively use AsyncRead instead of AsyncOpen and AsyncRead. With these changes,
we now only need to add the ability to retarget to our protocol channels instead of requiring both
retargeting and AsyncOpen support.

In order to do this, the DocumentOpenInfo object needed to become a nsIStreamListener instead of just
a stream observer.


git-svn-id: svn://10.0.0.236/trunk@53544 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:35:40 +00:00
wtc%netscape.com
7f586bd2bb Temporary depend:clean hack.
git-svn-id: svn://10.0.0.236/trunk@53543 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:32:32 +00:00
wtc%netscape.com
251e30e5b4 Bugzilla bug #17699: removed obsolete functions PR_SetThreadExit and
PR_GetThreadExit.
Modified files: pprthred.h, primpl.h, prcthr.c, prtpd.c, and pruthr.c.


git-svn-id: svn://10.0.0.236/trunk@53542 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:29:29 +00:00
varada%netscape.com
07f823f19e copying customcd to workspace autorun
git-svn-id: svn://10.0.0.236/trunk@53541 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:22:58 +00:00
erik%netscape.com
78e08763c9 bug 15627; got rid of compiler warning; r=none
git-svn-id: svn://10.0.0.236/trunk@53540 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:18:24 +00:00
valeski%netscape.com
463edf202d r=mcafee. component name change reflection. now we can traverse dir trees
git-svn-id: svn://10.0.0.236/trunk@53539 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:16:10 +00:00
erik%netscape.com
df64dd2187 bugs 15496 and 15520; put the input method window at the right location
when the user focusses a window and when the user types into the window;
coded by tajima@eng.sun.com; r=erik


git-svn-id: svn://10.0.0.236/trunk@53538 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:14:05 +00:00
akhil.arora%sun.com
d15d40f8d9 17549 r=akhil.arora@sun.com fix=Igor Nekrestyanov <nis@sparc.spb.su>
Maintain association of java dom listeners with native dom nodes


git-svn-id: svn://10.0.0.236/trunk@53535 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:12:49 +00:00
brendan%mozilla.org
52c12d5bf6 Disassembler uses ToSource, not ToString, where appropriate (DEBUG only change).
git-svn-id: svn://10.0.0.236/trunk@53532 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 21:11:59 +00:00
putterman%netscape.com
e2cbb7c81b Partial fix for 10208. When adding items to a container, update the empty attribute. reviewed by
waterson.


git-svn-id: svn://10.0.0.236/trunk@53530 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:58:39 +00:00
ftang%netscape.com
20e2b36756 add nsIKBStateControl for IME force commit and password field disable. Change window implementation to implement nsIKBStateControl in nsWindow. Fix 12250 by filtering out the composition window flag in OnIMESetContext. r=erik
git-svn-id: svn://10.0.0.236/trunk@53529 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:57:41 +00:00
putterman%netscape.com
29e05f2b3f Fixes leak. Reviewed by law.
git-svn-id: svn://10.0.0.236/trunk@53528 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:57:24 +00:00
morse%netscape.com
fa3ee309b4 fix bug 17945, string concatenation in localizable strings, r=erik
git-svn-id: svn://10.0.0.236/trunk@53527 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:53:16 +00:00
brade%netscape.com
037a9af08e File Removed.
git-svn-id: svn://10.0.0.236/trunk@53526 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:46:30 +00:00
ssu%netscape.com
0d37abe86b added myself as the module owner in this makefile
git-svn-id: svn://10.0.0.236/trunk@53525 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:24:25 +00:00
ssu%netscape.com
d9286fe159 fixing bug #18867. This now builds the resource file required to run setup.exe. This does not require MFC. It only affects windows platforms.
git-svn-id: svn://10.0.0.236/trunk@53524 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:13:53 +00:00
don%netscape.com
9e22967825 Checked in saari fix for bug #18876 to help re-open tree. r:saari
git-svn-id: svn://10.0.0.236/trunk@53523 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 20:09:37 +00:00
despotdaemon%netscape.com
fe968a4460 Pseudo-automatic update of changes made by rhess@engr.sgi.com.
git-svn-id: svn://10.0.0.236/trunk@53518 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 17:27:37 +00:00
rickg%netscape.com
a321381b94 reenabled safer version of assertion
git-svn-id: svn://10.0.0.236/trunk@53516 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 17:10:06 +00:00
rickg%netscape.com
a22352015d disable overambitious assert for now; r=rods; a=leaf
git-svn-id: svn://10.0.0.236/trunk@53515 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 16:38:29 +00:00
Jerry.Kirk%Nexwarecorp.com
91dceda3d5 Re-adding taskbar-tab-hover.gif which was accidentally taken out in
patch 1.21  This puts the Makefile.in MANIFEST and makefile.win back
sync.
r=brade


git-svn-id: svn://10.0.0.236/trunk@53514 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:50:50 +00:00
karnaze%netscape.com
6c106ec216 removed allocation warning messages
git-svn-id: svn://10.0.0.236/trunk@53513 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:42:20 +00:00
dcone%netscape.com
d93bf4b996 DrawDashedSides now used the correct height and width for the right and bottom
git-svn-id: svn://10.0.0.236/trunk@53512 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:33:25 +00:00
rods%netscape.com
86e9616018 Fixing focus & blur event dispatch (mostly having to do with native windows in embedded webshells)
Fixing the sizing issues related to box-sizing for CSS.
r=buster, bug 17196,18448


git-svn-id: svn://10.0.0.236/trunk@53511 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:20:03 +00:00
rods%netscape.com
281122754e temporarily adding box sizing utility methods to help forms calculate their size
appropriately for box sizing.
r=kmcllsuk, bug 18448


git-svn-id: svn://10.0.0.236/trunk@53510 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:16:28 +00:00
rods%netscape.com
30e99e419b It will now mask out any focus events that may be generated because of native windows
r=buster, bug 17196


git-svn-id: svn://10.0.0.236/trunk@53509 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:13:12 +00:00
rods%netscape.com
0fd71cf8f9 added the call DoneAddingContent for the select after it has been created.
r=dcone,bug 18784,16821


git-svn-id: svn://10.0.0.236/trunk@53508 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 15:11:33 +00:00
pavlov%netscape.com
eb7f112fcb I suck.
git-svn-id: svn://10.0.0.236/trunk@53507 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 11:40:00 +00:00
pavlov%netscape.com
a0bb112ebc add GetDefaultString() r=mozbot
git-svn-id: svn://10.0.0.236/trunk@53506 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 11:16:06 +00:00
tbogard%aol.net
5e7ea957d8 Changes to reflect changes in nsIContentViewerContainer usage.
git-svn-id: svn://10.0.0.236/trunk@53505 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 10:51:57 +00:00
pavlov%netscape.com
036378e00c unix nsIFilePicker implimentation r=travis
git-svn-id: svn://10.0.0.236/trunk@53504 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 10:36:10 +00:00
pavlov%netscape.com
1de4cf33b3 show returns a short instead of a boolean r=travis
git-svn-id: svn://10.0.0.236/trunk@53503 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 10:19:00 +00:00
pavlov%netscape.com
8b92970433 added files: mozilla/widget/public/nsIFilePicker.idl
git-svn-id: svn://10.0.0.236/trunk@53502 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 09:34:26 +00:00
pavlov%netscape.com
c7ec051caa add nsIFilePicker.idl to the manifest
git-svn-id: svn://10.0.0.236/trunk@53501 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 09:33:34 +00:00
pavlov%netscape.com
9697bc32c8 leave nsIFileWidget, add nsIFilePicker as the one true file picker. add this to the build. r=travis
git-svn-id: svn://10.0.0.236/trunk@53500 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 09:32:51 +00:00
pavlov%netscape.com
6870fd7681 create one true scriptable file picker interface r=travis
git-svn-id: svn://10.0.0.236/trunk@53497 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 08:13:40 +00:00
nisheeth%netscape.com
5338fcdee4 Checkin won't affect build. Re-applying mozilla specific defines that weren't included in the source drop from Keith.
git-svn-id: svn://10.0.0.236/trunk@53495 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:48:36 +00:00
tbogard%aol.net
702a9de01d Removed temporary QI to nsIContentViewerContainer as nsISupports is what is needed on the parameter anyway. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53494 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:47:01 +00:00
nisheeth%netscape.com
381e5465e7 Checking not part of build. Removing files that had gotten checked in with upper case filenames.
git-svn-id: svn://10.0.0.236/trunk@53493 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:30:52 +00:00
tbogard%aol.net
3332c74e48 Changed references to nsIContentViewerContainer to nsISupports in the march to get rid of nsIContentViewerContainer. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53492 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:29:23 +00:00
tbogard%aol.net
a5283d2178 Changed references to nsIContentViewerContainer to nsISupports in the march to get rid of nsIContentViewerContainer. Fixed some refcounting (or lack there of). This module NEEDS SERIOUS XPCOM work and review. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53491 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:28:44 +00:00
nisheeth%netscape.com
a2bc9a1e09 Checkin not part of build Checking in new files for Transformiix from Keith Visco (keith@ziplink.net)
git-svn-id: svn://10.0.0.236/trunk@53490 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:28:04 +00:00
nisheeth%netscape.com
f553d5a1c9 Checkin not part of build. New version of Transformiix from Keith Visco (kvisco@ziplink.net)
git-svn-id: svn://10.0.0.236/trunk@53489 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 07:13:17 +00:00
sfraser%netscape.com
820a1d39c8 Removed nsKeyBindMgr.cpp from teh project.
git-svn-id: svn://10.0.0.236/trunk@53488 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 06:44:04 +00:00
tbogard%aol.net
9394028bd9 Removed these two files which are no longer used. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@53483 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 05:09:39 +00:00
beard%netscape.com
01a5d5daf9 bug #15906, moved stubs from NSStartup.c to nsGCStubs.c.
git-svn-id: svn://10.0.0.236/trunk@53482 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 03:44:13 +00:00
beard%netscape.com
c691aa7131 bug #15906: added symbol_name parameter to GC_address_to_source, instead of relying on traceback table.
git-svn-id: svn://10.0.0.236/trunk@53481 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 03:26:03 +00:00
wtc%netscape.com
b3a7327bd2 Bugzilla bug #18826: some systems don't have RTLD_LOCAL defined. Thanks
to dejong@cs.umn.edu for the bug report and suggested fix.


git-svn-id: svn://10.0.0.236/trunk@53480 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-15 00:07:00 +00:00
rickg%netscape.com
698b534caa trivial removal of warnings; r=none
git-svn-id: svn://10.0.0.236/trunk@53479 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 23:15:35 +00:00
rbs%maths.uq.edu.au
29f1545c98 Catching up with recent changes in layout. Update to auto-install the mathml.dtd in bin/dtd/
git-svn-id: svn://10.0.0.236/trunk@53478 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 23:10:56 +00:00
rbs%maths.uq.edu.au
38111aec46 Catching up with recent changes in layout
git-svn-id: svn://10.0.0.236/trunk@53477 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 22:15:05 +00:00
putterman%netscape.com
e945cca3a4 Fix potential crash from last checkins that might occur when shutting down without
having run mailnews.


git-svn-id: svn://10.0.0.236/trunk@53476 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 22:03:24 +00:00
putterman%netscape.com
3ce86bbc71 Fix for 17712. Reviewed by bienvenu and alecf. Mailnews shuts down accounts, biff,
and folders properly as an xpcom shutdown observer.


git-svn-id: svn://10.0.0.236/trunk@53475 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 20:36:22 +00:00
jdunn%netscape.com
70bee2b278 adding newline at end of file... required by HP
git-svn-id: svn://10.0.0.236/trunk@53473 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 20:26:08 +00:00
morse%netscape.com
9374c29050 fix bug 17957, confirmation when changing password, r=dp
git-svn-id: svn://10.0.0.236/trunk@53469 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 16:17:01 +00:00
fur%netscape.com
85eff30f18 Fixed copy/paste error in comment
git-svn-id: svn://10.0.0.236/trunk@53468 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 15:59:17 +00:00
fur%netscape.com
07cec86849 Return NS_ERROR_FACTORY_NOT_REGISTERED, not NS_ERROR_FAILURE, if a non-existent ProgID is used to instantiate a component. Also, don't ignore CLSID parse errors. R: dp
git-svn-id: svn://10.0.0.236/trunk@53467 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 15:41:40 +00:00
rjc%netscape.com
52ab5d0a4d XUL templates can now be specified via attribute instead of a child node of the root. Also, sorting info can now be specified on the root node, so now any RDF-generated content can be sorted (not just trees). Review: me
git-svn-id: svn://10.0.0.236/trunk@53466 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 11:10:34 +00:00
tbogard%aol.net
13b7290eca Removed QueryCapability to reflect removal in the nsIContentViewerContainer API. Changed call the nsIContentViewer::SetContainer() to cast to the right nsISupports.
git-svn-id: svn://10.0.0.236/trunk@53465 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:24:37 +00:00
tbogard%aol.net
3d105e77c7 Changed QueryCapability to use the new interface requestor. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53464 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:22:00 +00:00
tbogard%aol.net
88e87f8850 Reflect changes to nsIContentViewer::SetContainer and GetContainer API. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53463 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:12:21 +00:00
tbogard%aol.net
80cb90d4a4 Removed QueryCapability to reflect changes in nsIContentViewerContainer API. Casting change when calling nsIContentViewer::SetContainer. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53462 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:11:26 +00:00
tbogard%aol.net
9336c33e4f Changed Set and GetContainer to deal with nsISupports instead of nsIContentViewerContainer. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53461 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:10:32 +00:00
tbogard%aol.net
f33c6ad621 Removed QueryCapability as it is no longer used. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53460 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:10:05 +00:00
rickg%netscape.com
00192bb235 change NS_ASSERTION to NS_WARN_IF_FALSE; r=none
git-svn-id: svn://10.0.0.236/trunk@53459 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 10:05:40 +00:00
rickg%netscape.com
bcf8227c2a force rebuild of this file
git-svn-id: svn://10.0.0.236/trunk@53458 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 08:41:36 +00:00
rickg%netscape.com
ddde4bb78a finally: a fix for archaic compilers
git-svn-id: svn://10.0.0.236/trunk@53457 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 07:58:05 +00:00
rickg%netscape.com
aaa3aafc43 trying to get around string problem
git-svn-id: svn://10.0.0.236/trunk@53456 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 07:50:15 +00:00
rickg%netscape.com
0c7236fc65 try to get around string problem
git-svn-id: svn://10.0.0.236/trunk@53455 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 07:46:23 +00:00
rickg%netscape.com
27037be4db try again to get around unix problem
git-svn-id: svn://10.0.0.236/trunk@53454 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 07:20:02 +00:00
rickg%netscape.com
3a276447b6 touch file to force recompile
git-svn-id: svn://10.0.0.236/trunk@53453 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 07:07:47 +00:00
rickg%netscape.com
538fc8b875 try to get around linux compiler grief
git-svn-id: svn://10.0.0.236/trunk@53452 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 06:49:43 +00:00
rickg%netscape.com
a01e50e17f 2nd half of parser wip; lots of bugs; r=harishd
git-svn-id: svn://10.0.0.236/trunk@53451 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 06:23:11 +00:00
rickg%netscape.com
6e4e20009b bug18337 and fixes for embedded nulls; r=harishd
git-svn-id: svn://10.0.0.236/trunk@53450 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 06:22:52 +00:00
rickg%netscape.com
3256544542 update to sync with string API change
git-svn-id: svn://10.0.0.236/trunk@53449 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 06:22:48 +00:00
beard%netscape.com
c9334b0fcd partial reversion of view manager, to fix XP menu breakage on windows.
git-svn-id: svn://10.0.0.236/trunk@53448 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 05:47:00 +00:00
beard%netscape.com
fb2ed0031b fix VC5 bustage, needed to add const qualifiers to GetWidgetView, ViewToWidget.
git-svn-id: svn://10.0.0.236/trunk@53446 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 03:53:51 +00:00
cls%seawood.org
36a6a1da9c Removing dbm & modules/security/freenav from DIRS
git-svn-id: svn://10.0.0.236/trunk@53445 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 02:52:19 +00:00
beard%netscape.com
9a5f66247d pork jockey paint fixes. bug=18140, r=kmcclusk,pavlov
git-svn-id: svn://10.0.0.236/trunk@53444 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 02:51:25 +00:00
briano%netscape.com
e915c380e1 Automated update
git-svn-id: svn://10.0.0.236/trunk@53443 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 01:30:14 +00:00
cls%seawood.org
00733493f8 Remove substitution of unused variables
git-svn-id: svn://10.0.0.236/trunk@53442 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 01:26:33 +00:00
cls%seawood.org
ff8505d463 Removing use of unneeded dbm module from win32 build
git-svn-id: svn://10.0.0.236/trunk@53441 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 00:52:48 +00:00
rods%netscape.com
aff2ad4caa Should always return true, the caching of the "true" value is most important. Failing on getting the
preshell or frames should not be passed back.
r=self, bug 18784


git-svn-id: svn://10.0.0.236/trunk@53440 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 00:35:35 +00:00
rods%netscape.com
8de7b8fef1 Added notification to the select in CreateElemenet to tell it it is complete.
r=vidur(sort iof, we talked about this change on friday) bug 18784


git-svn-id: svn://10.0.0.236/trunk@53439 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 00:34:15 +00:00
cls%seawood.org
3eb07b84ae Removing dependency upon security/freenav module. r=alecf
git-svn-id: svn://10.0.0.236/trunk@53438 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 23:51:49 +00:00
pinkerton%netscape.com
1ae8aef62a add ability to drag the urlbar proxy icon as a demo of d&d. r=scc.
git-svn-id: svn://10.0.0.236/trunk@53437 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 23:28:51 +00:00
cls%seawood.org
0c8429dbc0 Replace uint* (which are not defined on all systems) with the appropriate PRUint* types. Submitted by Jerry L. Kirk <Jerry.Kirk@Nexwarecorp.com>
git-svn-id: svn://10.0.0.236/trunk@53436 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 22:37:44 +00:00
cls%seawood.org
a2b4334717 Removing the need for MFC from the build. The .rc files require afxres.h to build but do not appear to be neccessary themselves.
git-svn-id: svn://10.0.0.236/trunk@53435 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 22:33:41 +00:00
cmanske%netscape.com
1bed6fcc4e A better fix for Mac build bustage
git-svn-id: svn://10.0.0.236/trunk@53433 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 19:27:59 +00:00
cmanske%netscape.com
949d747bf6 Fixing Mac build bustage
git-svn-id: svn://10.0.0.236/trunk@53432 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 19:18:37 +00:00
cmanske%netscape.com
fc50750177 Partial fix for 14344(Page Properties) and 18774(Increase/Decrease Font Size). Fixed 18234 (move Advanced Edit button), 18485 (don't prompt for title with Save As), 16714 (undefined value for para. property combobox) and 18494 (add filename to window caption). Improved Image Properties dialog and CSS style for toolbars. Added new Composer icons. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@53428 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 16:37:58 +00:00
cmanske%netscape.com
c88c677147 Changed Mail Composer XUL to use Increase/Decrease font size instead of combobox (part of fix for 18774) r=sfraser
git-svn-id: svn://10.0.0.236/trunk@53427 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 16:37:16 +00:00
ducarroz%netscape.com
996c3bcb67 Fix for bug 18605. We need to listen on nsMsgCompose and not anymore on nsIEditorShell in order to synch. the Front End with the Back End. R=rhp
git-svn-id: svn://10.0.0.236/trunk@53426 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 16:04:41 +00:00
blizzard%redhat.com
287d557df6 return GDK_FILTER_REMOVE for ConfigureNotify events on the bin_window. this will prevent ConfigureNotify event compression from occuring with older versions of gtk.
git-svn-id: svn://10.0.0.236/trunk@53424 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 15:05:40 +00:00
law%netscape.com
6929a449e0 Fix bustage by backing out some CallQueryInterface calls (for Travis); r=travis@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53423 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 08:20:53 +00:00
saari%netscape.com
9e56ded383 Adding user-focus: normal CSS rule to make message compose subject and to: field fuction properly. R: billions and billions of monkeys
git-svn-id: svn://10.0.0.236/trunk@53422 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 08:17:17 +00:00
tbogard%aol.net
80bdf7abcd Implemented a number of the Positioning / Sizing routines.
git-svn-id: svn://10.0.0.236/trunk@53421 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 08:09:16 +00:00
law%netscape.com
f9dc85d792 Yet another fix to try to become non nsCOMPtr-challenged
git-svn-id: svn://10.0.0.236/trunk@53420 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 07:40:30 +00:00
tbogard%aol.net
52c3ea73a7 Changed storage of of the container to hold simply nsISupports as the mContainer instead of nsIContentViewerContainer. Changed calls to QueryCapability to use the nsIInterfaceRequestor::GetInterface(). r=scc
git-svn-id: svn://10.0.0.236/trunk@53419 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 07:36:28 +00:00
tbogard%aol.net
a79ed82edc Changed an NS_ASSERTION to be an NS_WARN_IF_FALSE. r=scc
git-svn-id: svn://10.0.0.236/trunk@53418 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 07:34:29 +00:00
law%netscape.com
ea15cf034d Better fix for VC++5 and Solaris bustage
git-svn-id: svn://10.0.0.236/trunk@53417 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 07:04:36 +00:00
law%netscape.com
c60f524dfb Fix for VC++5 and Solaris bustage
git-svn-id: svn://10.0.0.236/trunk@53416 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 06:32:55 +00:00
law%netscape.com
44b3d23c6d Fixing non-debug build bustage
git-svn-id: svn://10.0.0.236/trunk@53415 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 06:27:22 +00:00
warren%netscape.com
0dddae74b6 Fixed QI problem now that comptrs check.
git-svn-id: svn://10.0.0.236/trunk@53414 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 06:18:34 +00:00
warren%netscape.com
50fd544966 Fix for case where we're trying to Write to a blocking stream, and we're out of buffer space. This should block. r=rpotts
git-svn-id: svn://10.0.0.236/trunk@53413 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 06:16:52 +00:00
law%netscape.com
c4a2b4eb53 Fixes for #10737 (ftp download), overhauled to work better with Necko; r=valeski
git-svn-id: svn://10.0.0.236/trunk@53412 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 05:37:00 +00:00
tbogard%aol.net
6aeba41e73 Changed the QueryInterface to be a QUERY using the macros. r=scc
git-svn-id: svn://10.0.0.236/trunk@53411 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 05:31:36 +00:00
saari%netscape.com
48d75f5289 Landing focus changes. R: joki
git-svn-id: svn://10.0.0.236/trunk@53410 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 05:16:33 +00:00
harishd%netscape.com
8f5bb2e4a0 Another attempt to fix the bustage!!!
git-svn-id: svn://10.0.0.236/trunk@53409 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 04:56:56 +00:00
saari%netscape.com
1b5c5e872b gtk widget changes to facilitate new focus work. R: pavlov
git-svn-id: svn://10.0.0.236/trunk@53407 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 04:53:18 +00:00
harishd%netscape.com
3590e2325e Fix for the bustage.
git-svn-id: svn://10.0.0.236/trunk@53406 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 04:37:54 +00:00
sgehani%netscape.com
fe40f4a5a5 *** NOT PART OF BUILD ***
* Bug fix 18703: call AbortInstall() if errors encountered during installation.   

  * Bug fix 15954: delete Component Registry after XPInstall engien is done with it.


git-svn-id: svn://10.0.0.236/trunk@53405 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 04:08:50 +00:00
tbogard%aol.net
fc9e43113e Made webshell implement nsIInterfaceRequestor. This paves the way for me to start changing people to not use nsIContentViewerContainer::QueryCapability(). r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53404 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 04:06:23 +00:00
sgehani%netscape.com
9e3940cd0d Fix bug 18670: handle enter key in addition to return key for default buttons on the Mac Install Wizard UI. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53403 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 04:06:05 +00:00
harishd%netscape.com
1e6fe5a7f5 This checkin contains combined work of rickg and harishd
Harishd's Changes:
 Fix for bugs
 2749    - Tweaked strict comment handling, i.e., <!------> is now treated as an illegal comment in strict mode
16934   - Rectifed reporting of JS line error when a newline is found within a tag.
15204   - Made TEXTAREA content to reflect the source document.
11979, 16826  - Stoping the parser properly on receiving the stop-error message.
17594   - Added code to parse <!DOCTYPE> content correctly.
17496   - Building up the stack for orphaned OPTIONs

r=rickg

Rickg's Changes:
  rickg will be posting comments on his changes by 11/12/99.

r=harishd


git-svn-id: svn://10.0.0.236/trunk@53402 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 03:53:11 +00:00
sspitzer%netscape.com
ff9a5de363 really fix the warning this time.
git-svn-id: svn://10.0.0.236/trunk@53401 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 03:49:30 +00:00
valeski%netscape.com
af81ab813d another shot at vc5 bustage
git-svn-id: svn://10.0.0.236/trunk@53400 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 03:17:54 +00:00
valeski%netscape.com
9386a6d995 another shot at 5.0 bustage
git-svn-id: svn://10.0.0.236/trunk@53399 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 03:07:01 +00:00
sgehani%netscape.com
a62f6077ea MIWCommon + Netscape || MIWCommon + Mozilla subsumes MacInstallWizard (now obsolete).
git-svn-id: svn://10.0.0.236/trunk@53398 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 02:49:30 +00:00
mcafee%netscape.com
d0c7a84da9 Removing multiple FE support, we were not using it. Fixing mozilla-bin hash table problem, binary was not getting deleted. Other minor cleanup. r=slamm
git-svn-id: svn://10.0.0.236/trunk@53397 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 02:43:55 +00:00
sspitzer%netscape.com
457995c98d fix for #17954
before, if "mail.directory" was set, we'd assume the mail wasn't in the standard
default place, so we'd migrate Mail -> Mail5
now, we check if "mail.directory" == the default place.  if so, we migrate
it like we would if it wasn't set.
Mail -> Users50/<profile>/Mail

to help do this, I added Equals() to the nsIFileSpec interface, to compare
two nsIFileSpec's, it does this by comparing the nsFileSpecs.


git-svn-id: svn://10.0.0.236/trunk@53396 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 02:02:22 +00:00
sspitzer%netscape.com
f8f296d9bd fix warning by casting. r=slamm
git-svn-id: svn://10.0.0.236/trunk@53395 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 01:59:19 +00:00
valeski%netscape.com
c7d300d956 fixing bustage for win32 vc5
git-svn-id: svn://10.0.0.236/trunk@53394 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 01:56:02 +00:00
dveditz%netscape.com
f4e3a02775 variable name change to silence build warning
git-svn-id: svn://10.0.0.236/trunk@53393 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 01:54:12 +00:00
valeski%netscape.com
4ca7261c2d fixing win32 vc5 bustage
git-svn-id: svn://10.0.0.236/trunk@53392 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 01:48:17 +00:00
slamm%netscape.com
65de125a35 Fix build warnings. r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@53391 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 01:36:34 +00:00
wtc%netscape.com
ffa3d44778 Bugzilla bug #16845: added new function PR_LoadLibraryWithFlags.
Also, use RTLD_LAZY on Linux (was using RTLD_NOW).
Modified files: prlink.h, prlink.c.


git-svn-id: svn://10.0.0.236/trunk@53390 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 01:27:06 +00:00
rchen%netscape.com
ad4953c21f Modify L10N note
git-svn-id: svn://10.0.0.236/trunk@53389 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:48:23 +00:00
sgehani%netscape.com
fd7cff88d9 Fixes for bug 18683. Libjar interfaces changed but the implementation didn't so XPInstall was horked. This fixes the runtime XP horkage. [r=dveditz]
Also, added deletion of extracted files if the CRC-32 doesn't match. Mapped 'PR_Delete' to 'remove' for STANDALONE. [r=mstoltz]


git-svn-id: svn://10.0.0.236/trunk@53388 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:44:56 +00:00
sgehani%netscape.com
28bd8c8413 Mac profiler code crept in. Removed this ifdef'd cruft.
git-svn-id: svn://10.0.0.236/trunk@53387 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:43:12 +00:00
sgehani%netscape.com
134c4195ec Fixes for bug 18683. Libjar interfaces changed but the implementation didn't. This fixes the runtime XP horkage. [r=dveditz]
git-svn-id: svn://10.0.0.236/trunk@53386 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:39:03 +00:00
mark.lin%eng.sun.com
dc17bcb8fb Added support for Proxies in the MRJ Plugin via getProxyForURL. Reviewed
by ed.burns@eng.sun.com and approved by drapeau@eng.sun.com. Fixes bug
#18691. I can be contacted at mark.lin@eng.sun.com or
phone: (408) 517-5365, (650) 627-8409.


git-svn-id: svn://10.0.0.236/trunk@53385 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:37:48 +00:00
rchen%netscape.com
489056f14a Modify L10N notes
git-svn-id: svn://10.0.0.236/trunk@53384 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:37:34 +00:00
valeski%netscape.com
d8847a0d1c 18725, r=sdagley. FTP is now cancellable.
* added new state to FTP. data channel reading state.

* the FTP channel's SetConnectionQueue now handles a null arg and resets it's eventq if null is passed in.


git-svn-id: svn://10.0.0.236/trunk@53383 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:31:36 +00:00
fergus%netscape.com
c2400d6df6 Added/updated Localization Notes.
r: rchen@netscape.com & chjung@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53382 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:31:35 +00:00
akkana%netscape.com
9d3b32781e 18576: Enclose plaintext replies in a <pre> so they don't get wrapped,
and add appropriate edit rules to split pre tags when editing plaintext.
r=sfraser


git-svn-id: svn://10.0.0.236/trunk@53381 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:26:45 +00:00
rchen%netscape.com
f17b519acb Modify Localization notes
git-svn-id: svn://10.0.0.236/trunk@53380 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:22:31 +00:00
ducarroz%netscape.com
87c867fae9 File Removed.
git-svn-id: svn://10.0.0.236/trunk@53379 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-13 00:00:29 +00:00
akhil.arora%sun.com
acf8eb3875 17809 r=av the sun c++ 5.0 compiler's version of strchr returns const char*
This fix is needed in order to be able to build with this compiler


git-svn-id: svn://10.0.0.236/trunk@53378 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:55:01 +00:00
akhil.arora%sun.com
9d927bb510 18639 r=dp need to cast away the const returned by the sun C++ 5.0 compiler
git-svn-id: svn://10.0.0.236/trunk@53377 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:52:17 +00:00
danm%netscape.com
b74ba16a95 Use new modal event filtering method on nsIWidget. Reset modal window flag when modal window is closed. part of fix for bug 14131. r:rods@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53376 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:46:39 +00:00
danm%netscape.com
589934792f Gut modal event filtering (relying instead on glib modal window flag). part of fix for bug 14131. r:rods@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53375 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:46:36 +00:00
danm%netscape.com
3f552485cf Add ModalEventFilter (originally nsAppShell::EventIsForModalWindow) and add parameter to SetModal. part of fix for bug 14131. r:rods@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53374 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:46:30 +00:00
danm%netscape.com
69f9b6a11c add (unimplemented) parameter to SetModal. part of fix for bug 14131. r:rods@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53373 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:46:23 +00:00
danm%netscape.com
393dab04e5 moved nsAppShell::EventIsForModalWindow to nsWidget::ModalEventFilter, teach latter to accept events for modal window and any active rollup widget window. part of fix for bug 14131. r:rods@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53372 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:46:11 +00:00
danm%netscape.com
5dc1a4f316 moved nsAppShell::EventIsForModalWindow to nsWidget::ModalEventFilter. part of fix for bug 14131. r:rods@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53371 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:45:59 +00:00
ducarroz%netscape.com
846f71ee05 Fix for bug 12080, 16730: I cannot modify the window from a JS listenner function, therefore I use a timer function to do the job. Also, I've implemented support for pref "mailnews.reply_on_top". And add a space to the standard signature separator, now it's "-- ". R=jefft
git-svn-id: svn://10.0.0.236/trunk@53370 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:44:28 +00:00
ducarroz%netscape.com
eecd5ec27f Add a dark gray line under the addressing toolbar to separate it from either the body or the HTML format toolbar. R=german
git-svn-id: svn://10.0.0.236/trunk@53369 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:44:26 +00:00
ducarroz%netscape.com
8f09c74c51 Remove unused files. R=jefft
git-svn-id: svn://10.0.0.236/trunk@53368 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:44:24 +00:00
ducarroz%netscape.com
bcf693c827 Fix build warning. R=mscott
git-svn-id: svn://10.0.0.236/trunk@53367 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:44:17 +00:00
petitta%netscape.com
ae59418657 Added more mkdir's to create cd layout
git-svn-id: svn://10.0.0.236/trunk@53366 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 23:38:25 +00:00
terry%mozilla.org
33db2438de Added missing get_line.pl.
git-svn-id: svn://10.0.0.236/trunk@53364 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 21:14:29 +00:00
brendan%mozilla.org
2d612a6ea6 Fix 18684, bad combo of old-latent and new bugs (r=shaver@mozilla.org).
git-svn-id: svn://10.0.0.236/trunk@53363 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 20:41:04 +00:00
blizzard%redhat.com
7a3b237f3f add widget/src/gtksuperwin/Makefile
git-svn-id: svn://10.0.0.236/trunk@53358 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 20:12:28 +00:00
blizzard%redhat.com
a2f71091f4 add the gtksuperwin library. this is not part of the build. a=granrose
git-svn-id: svn://10.0.0.236/trunk@53357 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 20:12:02 +00:00
norris%netscape.com
db83163c81 Fix 18634 [CRASH] mozilla -installer crashes
r=sspitzer@netscape.com, a=sspitzer@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53356 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 18:59:03 +00:00
dcone%netscape.com
f6f13004dc Fixed the MoveTo to move to the x and y instead of the y and y. R=rods
git-svn-id: svn://10.0.0.236/trunk@53352 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 15:10:40 +00:00
rods%netscape.com
a5ce70aa7d Disabled key events when it is disabled
r=dcone,b=14771


git-svn-id: svn://10.0.0.236/trunk@53351 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 15:08:28 +00:00
rods%netscape.com
bcc1dd2443 Removed the mDisplay data member it was the same as mHasAllFrames, this was preventing
the options from having there selected state displayed initially
Also, changed it so when in drop down mode and nothing is selected it always scrolls
to 0,0
b=14771,13771 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@53350 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 15:00:30 +00:00
srinivas%netscape.com
c380166172 Added a new test case for PR_SendFile. Bugzilla #17486.
git-svn-id: svn://10.0.0.236/trunk@53349 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 13:40:17 +00:00
srinivas%netscape.com
9381966367 Include string.h for string functions. Bugzilla 17940.
git-svn-id: svn://10.0.0.236/trunk@53348 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 13:08:43 +00:00
warren%netscape.com
353db4a569 Fixed breakage due to new generic module stuff.
git-svn-id: svn://10.0.0.236/trunk@53347 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:40:30 +00:00
dp%netscape.com
6d145b7f92 Fixing spelling mistake.
git-svn-id: svn://10.0.0.236/trunk@53346 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:38:26 +00:00
tbogard%aol.net
0aa1b10d0c Changed a temp XPCOM manual ref pointer to an nsCOMPtr.
git-svn-id: svn://10.0.0.236/trunk@53345 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:13:52 +00:00
warren%netscape.com
6be51335c6 Minor fix.
git-svn-id: svn://10.0.0.236/trunk@53344 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:10:40 +00:00
tbogard%aol.net
9d54835d01 Got more implementation for the DoContent methods. It now calls the new nsDocShell::CreateContentViewer method to kick off the content viewer creation and pairing to the stream.
git-svn-id: svn://10.0.0.236/trunk@53343 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:09:27 +00:00
tbogard%aol.net
9504c337e6 Added CreateContentViewer and NewContentViewerObj methods for docShell.
git-svn-id: svn://10.0.0.236/trunk@53342 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:07:28 +00:00
warren%netscape.com
f4eb982ac0 Added NS_NewGenericModule. Made NS_IMPL_NSGETFACTORY use it to save space. r=dp,alecf
git-svn-id: svn://10.0.0.236/trunk@53341 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:07:26 +00:00
warren%netscape.com
d374c3916f Added neckoutil_s.lib
git-svn-id: svn://10.0.0.236/trunk@53340 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 08:58:32 +00:00
warren%netscape.com
bafdd8e2c0 Added idl files
git-svn-id: svn://10.0.0.236/trunk@53339 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 08:57:52 +00:00
tbogard%aol.net
78db3add9d Removed the call to CanHandleContentType as this need to be re-worked now that there is only going to be one DocShell for all content types.
git-svn-id: svn://10.0.0.236/trunk@53338 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 07:29:45 +00:00
tbogard%aol.net
59bdeee953 Now that we have decided that there is only one docshell for all content types, we needed to get rid of the base class/ content type implementation. This checkin takes and moves the nsDocShellBase to be nsDocShell. It now holds the nsIHTMLDocShell stuff. This will be going away. nsCDocShell was created to replace the previous nsCHTMLDocShell.
git-svn-id: svn://10.0.0.236/trunk@53337 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 07:28:25 +00:00
waldemar%netscape.com
45fc90e1a6 Changed external-link-base
git-svn-id: svn://10.0.0.236/trunk@53336 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 07:24:40 +00:00
waldemar%netscape.com
511d60eba6 Added language declarations, ?id syntax, ^^, ^^=, units. Updated list of future reserved words. Allowed definitions in compount statements.
git-svn-id: svn://10.0.0.236/trunk@53335 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 07:24:19 +00:00
waldemar%netscape.com
51f81a61e3 Updated list of keywords
git-svn-id: svn://10.0.0.236/trunk@53334 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 07:22:27 +00:00
warren%netscape.com
fe2c05f6bf Fixed linux compiler bustage (again).
git-svn-id: svn://10.0.0.236/trunk@53333 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 07:17:50 +00:00
warren%netscape.com
7ffefe09f1 Fixed linux breakage with nsFileSpec constructor.
git-svn-id: svn://10.0.0.236/trunk@53332 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:54:49 +00:00
miodrag%netscape.com
41849c2cc4 Updated ldapjdk 4.05
git-svn-id: svn://10.0.0.236/trunk@53331 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:34:14 +00:00
warren%netscape.com
4695e1619c Libjar cleanup. Added Close method. Bug#18273. r=mstoltz,gayatrib,dveditz
git-svn-id: svn://10.0.0.236/trunk@53330 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:13:13 +00:00
warren%netscape.com
8dbfe8f78c Switched to new nsIZipReader interface for Mac.
git-svn-id: svn://10.0.0.236/trunk@53329 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:12:14 +00:00
brendan%mozilla.org
abfb05cbb4 XULDOMJS_19991106_BRANCH landing (15146, r=vidur@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@53328 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:08:14 +00:00
brendan%mozilla.org
5d2eac8479 XULDOMJS_19991106_BRANCH landing (15146, 18025, r=shaver@mozilla.org)
git-svn-id: svn://10.0.0.236/trunk@53326 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 06:03:40 +00:00
warren%netscape.com
f7a4841081 Added
git-svn-id: svn://10.0.0.236/trunk@53325 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 05:58:46 +00:00
alecf%netscape.com
7f77950d2c fix for #17146, #13483, possibly #15479
don't be stupid about finding the insertion point onto the tree for new rows. use GetInsertionPoint to walk the frames to determine the appropriate row index for new content that doesn't already have frames, so that the rows in the cellmap get the right index.
r=hyatt, bryner@uiuc.edu, alecf (some code dictated by hyatt)


git-svn-id: svn://10.0.0.236/trunk@53324 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 05:51:26 +00:00
rhp%netscape.com
7f41209288 Fixing my build warnings - No Bug - r: jefft
git-svn-id: svn://10.0.0.236/trunk@53323 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:58:33 +00:00
despotdaemon%netscape.com
59453b1004 Pseudo-automatic update of changes made by kvisco@ziplink.net.
git-svn-id: svn://10.0.0.236/trunk@53321 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:48:16 +00:00
karnaze%netscape.com
c82a2a497c disabled delayed handling of reflow commands (pre rev 3.208). r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@53320 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:41:34 +00:00
norris%netscape.com
a7392aecd3 Fix bug 18640.
r=akhil.arora@sun.com


git-svn-id: svn://10.0.0.236/trunk@53319 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:33:17 +00:00
sdagley%netscape.com
2bc4a9c6c1 Fix for #17694 - nsFileSpecWithUIImpl.cpp::ChooseOutputFile should preset the directory if one has been specified as a starting point. Code from vxir@concentric.net, r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53318 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:27:57 +00:00
sdagley%netscape.com
094b680736 Fix for #17666 - nsFileSpecWithUIImpl.cpp::ChooseOutputFile was returning NS_OK when user actually canceled the file selection. Code from vxir@concentric.net, r=sdagley
git-svn-id: svn://10.0.0.236/trunk@53317 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:09:40 +00:00
briano%netscape.com
e2d12eea92 Automated update
git-svn-id: svn://10.0.0.236/trunk@53316 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 04:00:22 +00:00
jdunn%netscape.com
20bee13047 AIX requires a 'const' in order to handle the assignment of 2 nsStrings
(see wallet.cpp line 3093).

rickg approved


git-svn-id: svn://10.0.0.236/trunk@53315 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 03:58:15 +00:00
jdunn%netscape.com
b1b38d3c68 turn on NSCAP_DISABLE_DEBUG_PTR_TYPES for AIX
git-svn-id: svn://10.0.0.236/trunk@53314 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 03:55:34 +00:00
jdunn%netscape.com
2318eebe99 Fix for AIX build bustage. Unfortunately the compiler requires that if
a class includes other classes, then the other classes must be defined
by the time the enclosing class is.  In this case nsDST includes
NodeArena, LeafNode & TwoNode and so therefore those classes must be
defined in nsDST.h.

r troy: Note, Troy didn't APPROVE of the fix (since it isn't pretty) but
        he has graciously allowed it in order to help AIX development.
        He did believe that it wouldn't hurt to put the change in.


git-svn-id: svn://10.0.0.236/trunk@53313 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 03:52:50 +00:00
pinkerton%netscape.com
9234b31058 added JS and handlers to enable dropping URLs onto the content area and having them load (r=sdagley).
git-svn-id: svn://10.0.0.236/trunk@53312 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 03:41:27 +00:00
norris%netscape.com
af6af01717 Restore original changes with bustage fixes.
git-svn-id: svn://10.0.0.236/trunk@53310 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 03:07:37 +00:00
rhp%netscape.com
fcb79a75fb Changes for multipart alternative UI - Bug #: 17770 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@53309 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:58:22 +00:00
norris%netscape.com
01fb538344 * Modify nsIPref to support security policy work.
r=neeti@netscape.com
* Close security holes by tightening prefs.
r=mstoltz@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53308 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:50:18 +00:00
syd%netscape.com
807da9b463 Don't flash window if paint message is ignored. r=kmcclusk@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53307 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:49:48 +00:00
hangas%netscape.com
5fb74436a0 New Skin update (changed mail and AB windows to have visible representation of focus on trees). Fixed bug 16459 (clear card view pane on change of selection in AB). r=scottip
git-svn-id: svn://10.0.0.236/trunk@53306 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:41:50 +00:00
rchen%netscape.com
d38cbcce10 modify Localization notes
git-svn-id: svn://10.0.0.236/trunk@53305 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:35:35 +00:00
Jerry.Kirk%Nexwarecorp.com
0f253287ec This fixes some clipping and sizing problems. Also converts the
drop down menus from containers to windows.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53304 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:20:07 +00:00
Jerry.Kirk%Nexwarecorp.com
4123508bb2 A re-write of Rendering and Drawing Surface to fix a lot of
inherent bugs that became apparent when the new Chrome was applied.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53303 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:18:36 +00:00
vidur%netscape.com
bd073773d8 Fix for bug 13144. Check that private of JSObject is an nsISupports before trying to convert. R=pollmann.
git-svn-id: svn://10.0.0.236/trunk@53302 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:17:12 +00:00
vidur%netscape.com
81fbbedb2f Added error string for NS_ERROR_DOM_RETVAL_UNDEFINED since Nisheeth forgot to do it. R=pollmann.
git-svn-id: svn://10.0.0.236/trunk@53301 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:09:32 +00:00
vidur%netscape.com
1cf6a4cc7c Added comment to remind people modifying nsDOMError.h to also add an error string.
git-svn-id: svn://10.0.0.236/trunk@53300 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:08:45 +00:00
vidur%netscape.com
8244e5ee1a Fix for bug 18040. Removed spurious UMR. Added macro for turning off incremental notification. R=buster, pollmann.
git-svn-id: svn://10.0.0.236/trunk@53299 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:07:54 +00:00
vidur%netscape.com
b4112523b1 Fix for bug 18186. document.lastModified now returns the correct value for FileChannels as well. R=pollmann.
git-svn-id: svn://10.0.0.236/trunk@53298 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:06:54 +00:00
kmcclusk%netscape.com
baa1b7bb9b (Paint flashing debug option)Don't flash window if the paint is ignored. bug 16435; r=buster@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53297 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:06:52 +00:00
vidur%netscape.com
19c16e67fa Fix for bug 13948. We now correctly store and retrieve an OL element with type=1. R=pollmann.
git-svn-id: svn://10.0.0.236/trunk@53296 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 02:06:09 +00:00
fergus%netscape.com
d56458321f Updated/added Localization Notes.
r: chjung & rchen


git-svn-id: svn://10.0.0.236/trunk@53295 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:53:54 +00:00
kmcclusk%netscape.com
4672b267d3 Fixed problem where buttons where causing reflows when entering and exiting.
Removed outline border style and fixed style context parentage of buttons.
bug 17892; r=buster@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53294 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:45:53 +00:00
bienvenu%netscape.com
c43f45b36a fix filters firing on read message, r=mscott, 17838
git-svn-id: svn://10.0.0.236/trunk@53293 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:29:26 +00:00
dp%netscape.com
93f188b106 Converted using nsIShutdownListener to xpcom shutdown observer. r=putterman
git-svn-id: svn://10.0.0.236/trunk@53292 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:28:58 +00:00
valeski%netscape.com
76ab6dcf18 FTP no longer sets the port on a URI. If no port is set on a URI, FTP will use the default (21) at connection time.
git-svn-id: svn://10.0.0.236/trunk@53291 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:26:20 +00:00
nhotta%netscape.com
dce1458a65 For unicode conversion, I had to convert a part of the string not the entire string, otherwise MIME encoder aborts, bug 18105/18595, r=cata.
git-svn-id: svn://10.0.0.236/trunk@53290 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:22:09 +00:00
morse%netscape.com
bcef2c11d7 fix bug 18603, grammar error in dialog, r=cpratt
git-svn-id: svn://10.0.0.236/trunk@53289 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:11:21 +00:00
pinkerton%netscape.com
3f1097cdba preliminary js for handling drops on the tree (r=saari).
git-svn-id: svn://10.0.0.236/trunk@53288 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:02:55 +00:00
pinkerton%netscape.com
f1b54be399 don't generate drag exit events until _after_ drop event has been processed. move from PreHandleEvent to PostHandleEvent. r=saari.
git-svn-id: svn://10.0.0.236/trunk@53287 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:02:14 +00:00
rchen%netscape.com
fab5246d20 modify Localization notes
git-svn-id: svn://10.0.0.236/trunk@53286 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 01:00:30 +00:00
akkana%netscape.com
bada3e794d Oops, citer classes weren't initializing refcount, causing an assert on Windows. One-line change, r=rhp
git-svn-id: svn://10.0.0.236/trunk@53285 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 00:57:55 +00:00
dveditz%netscape.com
8fba50ecbf new versions of the build tools
git-svn-id: svn://10.0.0.236/trunk@53284 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 00:45:13 +00:00
mcafee%netscape.com
6a4cc980af Print out what we're deleting, debugging orange status.
git-svn-id: svn://10.0.0.236/trunk@53283 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 00:28:56 +00:00
sspitzer%netscape.com
150c408da8 fix build bustage.
#include "nsIDOMDocument.h"
not
#include "nsIDOMDOcument.h"


git-svn-id: svn://10.0.0.236/trunk@53282 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 00:19:00 +00:00
despotdaemon%netscape.com
5827d109f3 Pseudo-automatic update of changes made by fergus@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@53280 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 23:42:51 +00:00
buster%netscape.com
b5058db9ab added hooking up document tree in FireEndDocumentLoad.
git-svn-id: svn://10.0.0.236/trunk@53279 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 23:30:41 +00:00
norris%netscape.com
dca5057dcd Remove call that the compilers can't figure out.
Appears that perhaps the IDL compiler isn't getting called on nsIPref.idl in time.


git-svn-id: svn://10.0.0.236/trunk@53278 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 23:25:59 +00:00
Jerry.Kirk%Nexwarecorp.com
5e0ee866f6 I left some junk in this file on the last check-in. This only effects
Photon.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53275 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 23:14:35 +00:00
norris%netscape.com
8add0018e4 Fix build bustage.
My build on Linux worked; don't understand why the Tinderbox build is different.


git-svn-id: svn://10.0.0.236/trunk@53274 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 23:07:14 +00:00
akkana%netscape.com
5ede0750c6 Backing out previous change -- it didn't do as much as I'd hoped
git-svn-id: svn://10.0.0.236/trunk@53273 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:45:32 +00:00
waterson%netscape.com
bd944d09e0 Bug 18544. Make sure to destroy mDisplayFrame before re-creating. r=buster
git-svn-id: svn://10.0.0.236/trunk@53272 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:40:25 +00:00
valeski%netscape.com
b9fbf7f89f fixes bugzilla problem. added improved LF CRLF LFLF handling.
git-svn-id: svn://10.0.0.236/trunk@53271 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:40:08 +00:00
akhil.arora%sun.com
96f506169a 17873 r=akhil.arora@sun.com fix=Denis Sharypov <sdv@sparc.spb.su>
Remove duplicate declaration of cvalue


git-svn-id: svn://10.0.0.236/trunk@53270 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:35:14 +00:00
buster%netscape.com
09ff79c694 added nsIWebShell::SetDocument, a new interface for loading a pre-fabricated content model
into a webshell synchronously.
This has NOT yet been reviewed, and is not yet used anywhere in the system.
I *will* get a formal code review before enabling it's use.  However, I want to get the code into
the tree because keeping my tree in synch is becoming a burden.


git-svn-id: svn://10.0.0.236/trunk@53269 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:32:13 +00:00
akhil.arora%sun.com
c3c5415b15 18076 r=Igor Nekrestyanov <nis@sparc.spb.su> fix=akhil.arora@sun.com
Handle Unicode string correctly in javaDOMEventsGlobals.cpp
18072 r=akhil.arora@sun.com fix=Igor Nekrestyanov <nis@sparc.spb.su>
Sync with changes in Mozilla's DOM Event interfaces


git-svn-id: svn://10.0.0.236/trunk@53267 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:28:56 +00:00
ftang%netscape.com
fb91b3114a add OnIMExx handler. Move IME code from case: block into OnIMExx handler. Change the IME ofset from 35 to 0 since nsCaret now return the bottom of the cursor instead of the top. r=cata
git-svn-id: svn://10.0.0.236/trunk@53266 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:28:52 +00:00
kmcclusk%netscape.com
2892308a61 Added three checkbox style rules so the border does not change between hover, focus,
and disabled states. Changing the border causing reflows. bug 16461; r=hyatt@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53265 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:27:11 +00:00
rods%netscape.com
d1e0d6a911 added empty impl of DoneAddingContent
b 17695, r=self


git-svn-id: svn://10.0.0.236/trunk@53264 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:25:23 +00:00
akkana%netscape.com
f5c24f5975 18576: improve wrapping of plaintext replies
git-svn-id: svn://10.0.0.236/trunk@53263 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:24:34 +00:00
buster%netscape.com
90b9a98a5d removed a bogus assert.
git-svn-id: svn://10.0.0.236/trunk@53262 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:24:19 +00:00
buster%netscape.com
79d00d2acc partial fix for bug 11537, r=kmcclusk (sucker!)
also checked in some webshell redesign work, but that is #ifdef'd out (also reviewed by kevin, double-sucker!)


git-svn-id: svn://10.0.0.236/trunk@53261 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:23:32 +00:00
mcafee%netscape.com
ef0546a4d0 Nuking this file. ar=slamm,waterson
git-svn-id: svn://10.0.0.236/trunk@53260 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:16:51 +00:00
rods%netscape.com
f999911691 notifies the select content when all the children content is there
r=vidur, bug 17965


git-svn-id: svn://10.0.0.236/trunk@53259 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:15:02 +00:00
rods%netscape.com
d018396336 Added new method "DoneAddingContent" so the select frame can be told that all the content has been added
Reworked the select code to keep the state as to whether all the content and/or all the frames
have been created and then whether it is initialized
r=self&kmcclusk, bug 17965


git-svn-id: svn://10.0.0.236/trunk@53258 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:13:33 +00:00
rods%netscape.com
77cd5a0de0 Added method "DoneAddingContent" to notify the select that all the chiild are there
it also caches this state so it can be asked whether they have been added
Added method: IsDoneAddingContent(PRBool * aIsDone)
r=vidur, bug 17965


git-svn-id: svn://10.0.0.236/trunk@53257 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:13:20 +00:00
rods%netscape.com
df310de8ee Added method "DoneAddingContent" to notify the select that all the chiild are there
r=vidur, bug 17965


git-svn-id: svn://10.0.0.236/trunk@53256 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:13:17 +00:00
norris%netscape.com
783c2dc693 added files: mozilla/caps/src/nsBasePrincipal.cpp
git-svn-id: svn://10.0.0.236/trunk@53255 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:11:03 +00:00
norris%netscape.com
d83622d4ac * Fix the following bugs by tightening the default security policy.
17977 [DOGFOOD] Reading documents using document.body
17538 document.lastModified is exposed
17537 document.images vulnerabilities
16036 [DOGFOOD] document.Element exposes the DOM of documents from
15757 [DOGFOOD] Injecting JS code using setAttribute and getElemen
15550 Injecting text in documents from any domain using createText
15067 [DOGFOOD] getElementsByTagName() allows reading of arbitrary
* Create an array of dom property policy types and initialize it when the script security manager is created.
* Move some implementation code to a new shared implementation base class.
* Implement privilege enabling, disabling and reverting
* Implement stack walking for checking privileges.
r=mstoltz@netscape.com

* Modify nsIPref to support security policy work.
r=neeti@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53254 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:10:36 +00:00
sgehani%netscape.com
ccf824f925 Added CRC checking for every item we extract. Fixes bug 17511. [r=mstoltz]
git-svn-id: svn://10.0.0.236/trunk@53253 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:08:08 +00:00
nhotta%netscape.com
2e44257660 Changed to resolve charset alias before unicode conversion, made charset name to case sensitive, consolidated conversion wrapper functions, bug 18264,
r=ftang.


git-svn-id: svn://10.0.0.236/trunk@53252 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:05:10 +00:00
pinkerton%netscape.com
12e2deefa8 better stab at native system colors, provided by mpt26@student.canterbury.ac.nz. bug #1004, r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53250 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:01:43 +00:00
briano%netscape.com
320c6e0037 Automated update
git-svn-id: svn://10.0.0.236/trunk@53249 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 22:00:30 +00:00
sspitzer%netscape.com
03a8d14c26 fix for #16341
from putterman, who gave me the fix:

"Whenever you add something to RDF through an observer notification, RDF
verifies that you really have it by calling HasAssertion.  Our implementation of HasAssertion for adding a folder to a folder consists of seeing if the the
child folder's parent is equal to the parent passed in.  Because we weren't setting the parent, the child's parent was null which wasn't equal to the parent
passed in and the whole operation failed.  This prevents that from happening."


git-svn-id: svn://10.0.0.236/trunk@53248 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:55:39 +00:00
jdunn%netscape.com
c4e3217b72 Add a configure.in flag to allow components (IS_COMPONENTS) to link
against NSPR and xpcom.  I did this for AIX and added the step for
OpenVMS per Colin Blake's note.


git-svn-id: svn://10.0.0.236/trunk@53247 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:55:11 +00:00
mccabe%netscape.com
b31e8409ff Fix most remaining warnings in js/src. Patch courtesy slamm.
r=mccabe.


git-svn-id: svn://10.0.0.236/trunk@53245 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:52:35 +00:00
waterson%netscape.com
9d218e2b5b Bug 18542. Make sure that we don't over-write aContentStyle arg when GFX scrollbars are turned on. r=evaughan
git-svn-id: svn://10.0.0.236/trunk@53244 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:48:17 +00:00
briano%netscape.com
95b77ece6f Automated update
git-svn-id: svn://10.0.0.236/trunk@53243 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:45:23 +00:00
troy%netscape.com
f5fbb8684f Re-order things so we set the content object's document pointer after
initializing it. This eliminates some useless "content changed" notifications


git-svn-id: svn://10.0.0.236/trunk@53242 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:43:15 +00:00
mcafee%netscape.com
a79c1a411f Adding comment about cookie and wallet dependency, r=morse,shaver
git-svn-id: svn://10.0.0.236/trunk@53240 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:36:22 +00:00
jdunn%netscape.com
68a5a4a034 removing ';' from the end of the macros, since the macro in nsTimer.h
already handles the trailing ';'.
NOTE: trying to compile a ';' fails on AIX


git-svn-id: svn://10.0.0.236/trunk@53239 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:35:34 +00:00
despotdaemon%netscape.com
0a65915b40 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53237 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:11:05 +00:00
troy%netscape.com
12896a5964 b=17798. Changed WipeContainingBlock() to remove the frames it is deleting from
the content to frame map and undisplayed content map


git-svn-id: svn://10.0.0.236/trunk@53236 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 21:08:32 +00:00
akkana%netscape.com
4c84cb5563 17983: Use editor's InsertAsQuotation even for plaintext. r=rhp
git-svn-id: svn://10.0.0.236/trunk@53235 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:56:03 +00:00
despotdaemon%netscape.com
03e9524b7e Pseudo-automatic update of changes made by bryner@uiuc.edu.
git-svn-id: svn://10.0.0.236/trunk@53234 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:50:24 +00:00
pavlov%netscape.com
4e275828c5 remove ifdef gtk_fixed test stuff r=dmose
git-svn-id: svn://10.0.0.236/trunk@53233 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:47:10 +00:00
sfraser%netscape.com
165bb9b371 Oh, silly me. Warren's last change was on a branch. Putting nsNeckoUtil.h back.
git-svn-id: svn://10.0.0.236/trunk@53232 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:47:01 +00:00
sfraser%netscape.com
7a8b46a42e Somehow I managed to stomp on warren's last change (renaming of nsNeckoUtil.h to nsNetUtil.h). Putting that back.
git-svn-id: svn://10.0.0.236/trunk@53231 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:46:03 +00:00
sfraser%netscape.com
841c7049ce Fix for 18315 -- remember which rdf files you've tried, and failed, to open, to avoid trying over and over and over again. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@53230 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:42:31 +00:00
sfraser%netscape.com
211c4f5a58 Part of fix for 18315 -- allow nsSupportsHashTable to contain null entries, which meant changing NS_{ADDREF,RELEASE} to NS_IF_{ADDREF,RELEASE} in a bunch of places. r=pavlov.
git-svn-id: svn://10.0.0.236/trunk@53229 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:41:54 +00:00
Jerry.Kirk%Nexwarecorp.com
e87a4df2d5 Making a few changes to allow this to be built under Neutrino.
r=Warren


git-svn-id: svn://10.0.0.236/trunk@53228 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:40:44 +00:00
despotdaemon%netscape.com
ffe45c60a3 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53227 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:37:09 +00:00
pinkerton%netscape.com
6455da26bd correctly send dragExit events when the mouse leaves the window (bug# 18356) r=saari.
git-svn-id: svn://10.0.0.236/trunk@53226 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:28:23 +00:00
putterman%netscape.com
b6084ce6f1 some speed improvments. reviewed by hangas.
git-svn-id: svn://10.0.0.236/trunk@53225 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:27:52 +00:00
putterman%netscape.com
91d7958a74 Fix for 18244. Don't load messages if splitter between thread and message pane is collapsed.
reviewed by hangas.


git-svn-id: svn://10.0.0.236/trunk@53224 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 20:24:46 +00:00
dp%netscape.com
f388eedbe1 Enabling componentmanager shutdown() before a release to clear out
references to the component manager.


git-svn-id: svn://10.0.0.236/trunk@53221 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 19:38:13 +00:00
kin%netscape.com
e17664b119 TransactionManager fix for bug #11590: eliminate NS_COMFALSE
Modified all nsITransactionListener::Will* methods and implementations
to use an aInterrupt argument.

    mozilla/editor/base/nsEditorTxnLog.cpp
    mozilla/editor/base/nsEditorTxnLog.h
    mozilla/editor/txmgr/public/nsITransactionListener.h
    mozilla/editor/txmgr/src/nsTransactionItem.cpp
    mozilla/editor/txmgr/src/nsTransactionManager.cpp
    mozilla/editor/txmgr/src/nsTransactionManager.h

r=brade@netscape.com


git-svn-id: svn://10.0.0.236/trunk@53220 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 19:35:40 +00:00
buster%netscape.com
5765c7e4da partial fix for bug 14599. We no longer crash. The frameset loads in the editor window,
but no editor is actually attached, so no editing is possible.  Next step is
to detect the error case and stop the document load altogether.


git-svn-id: svn://10.0.0.236/trunk@53219 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 19:22:30 +00:00
rhp%netscape.com
13ffd6201b Changes to fix message display problems and others - Bug #: 13402 17770 17772 17899 - r: bienvenu
git-svn-id: svn://10.0.0.236/trunk@53218 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 19:21:11 +00:00
rhp%netscape.com
27b2501e65 Changes for multipart alternative - Bug #: 17770 - r: jefft
git-svn-id: svn://10.0.0.236/trunk@53217 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 19:19:02 +00:00
karnaze%netscape.com
3edd689e09 put back to rev 3.340 due to mail/news regressions.
git-svn-id: svn://10.0.0.236/trunk@53215 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 18:22:57 +00:00
erik%netscape.com
4de25d8087 This is just a local .cvsignore file. Doesn't affect build.
git-svn-id: svn://10.0.0.236/trunk@53213 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 18:15:49 +00:00
jefft%netscape.com
bd2f2e88cc fixed bug 6904 -- Close() to implicit expunge deleted messages when in delete is move to the trash mode; this only happened when we shutdown the app; r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@53211 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 15:46:22 +00:00
Jerry.Kirk%Nexwarecorp.com
5ee5312f98 Removed code that kept us from creating timers with a delay of
more than 10 seconds.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53210 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 15:23:09 +00:00
Jerry.Kirk%Nexwarecorp.com
dc612cf329 Added debug code to track my clipping. I am about to re-arrange some guts
so I wanted a fail-safe backup working version to be checked in.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53209 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 15:21:51 +00:00
Jerry.Kirk%Nexwarecorp.com
5014b501c3 Adding static data member and accessor that keeps track of what the
PhDrawContext_t for Photon was when the program is first started.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53208 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 15:19:25 +00:00
Jerry.Kirk%Nexwarecorp.com
8c4c66b2c3 Added signal handler to call the Photon function what cleans up any
allocated shared memory in the event we crash or are closed abnormally
with a CTRL-C command.
r=kedl


git-svn-id: svn://10.0.0.236/trunk@53207 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 14:42:03 +00:00
syd%netscape.com
4c64ccdafa Wire up margin settings from dialog. r=dcone
git-svn-id: svn://10.0.0.236/trunk@53206 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 14:20:19 +00:00
terry%mozilla.org
11a5136ce0 Back out that completely bizarre and weird checkin that warren did.
git-svn-id: svn://10.0.0.236/trunk@53205 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 13:58:45 +00:00
warren%netscape.com
f6a76baaff Removing neckoutil_s.lib from tree. Moving/renaming nsNeckoUtil.h to nsNetUtil.h. Bug#11159. r=colin@theblakes.com,kipp,waterson,valeski,pierre,nisheeth
git-svn-id: svn://10.0.0.236/trunk@53202 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 08:51:50 +00:00
saari%netscape.com
3637aa5041 Fixing keybinding. Was using an nsDOMUIEvent interface when I should have been using nsDOMKeyEvent. Something chaged recently that exposed this bug. Also inserted a few nsCOMPtrs to fix leaks. R: waterson, mostly
git-svn-id: svn://10.0.0.236/trunk@53200 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 08:48:25 +00:00
troy%netscape.com
29fc759acb b=17546. Changed block frame code to save/restore space manager when create
a space manager, and changes button code to use the NS_BLOCK_SPACE_MGR flag
when creating the area frame


git-svn-id: svn://10.0.0.236/trunk@53199 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 06:00:41 +00:00
waterson%netscape.com
7b9aae2779 Bug 17839. Add timer_s.lib to the libraries link deps.
git-svn-id: svn://10.0.0.236/trunk@53198 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:51:53 +00:00
waterson%netscape.com
43745f1dd5 Bug 17839. Call mAppShell->Exit() on a timer callback to allow Quit() to cleanly exit the app on platforms where the event queue gets yanked. a=warren
git-svn-id: svn://10.0.0.236/trunk@53197 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:51:22 +00:00
karnaze%netscape.com
003aeba6b5 fixed crash (cnn and other sites with javascript) in nsCellMap due to it not being invalidated.
git-svn-id: svn://10.0.0.236/trunk@53196 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:43:35 +00:00
ssu%netscape.com
6dd010f54a part of fixing bug #18107. This checkin fixes problem with passing in the correct length of the string value to set in the windows registry. This fix affects only the windows platform. r=sgehani
git-svn-id: svn://10.0.0.236/trunk@53195 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:33:38 +00:00
mcafee%netscape.com
edb7d70019 Missing type field for check_doc_requency pref (17903) r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@53194 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:27:29 +00:00
warren%netscape.com
d167d070a0 Added
git-svn-id: svn://10.0.0.236/trunk@53191 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:21:38 +00:00
pinkerton%netscape.com
f56fb5a896 toolbar/tree d&d code reworking (r=hyatt).
git-svn-id: svn://10.0.0.236/trunk@53190 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:11:10 +00:00
pinkerton%netscape.com
31e06f152f readding the tree item drag capturer (r=hyatt)
git-svn-id: svn://10.0.0.236/trunk@53189 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:10:47 +00:00
pinkerton%netscape.com
22fff674e8 reworking of toolbar d&d impl and tree d&d impl (r=hyatt).
git-svn-id: svn://10.0.0.236/trunk@53188 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:10:38 +00:00
pinkerton%netscape.com
80fa125d68 readding the tree item drag capturer
git-svn-id: svn://10.0.0.236/trunk@53187 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:10:28 +00:00
waterson%netscape.com
d133d7f701 Oops. Make sure XPCOM_MEM_LOG_CLASSES works without XPCOM_MEM_REFCNT_LOG being set. a=warren
git-svn-id: svn://10.0.0.236/trunk@53186 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 05:02:03 +00:00
rbs%maths.uq.edu.au
db7000695f [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for public: API of the GetBoundingMetrics() method for accurate measurements of a string in order to allow precise positionning when processing MathML. review: Erik, Shyjan.
git-svn-id: svn://10.0.0.236/trunk@53185 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:24:51 +00:00
rbs%maths.uq.edu.au
0c0970ccab [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for windows: Erik van der Poel erik@netscape.com's code for the support of the Symbol font. review: Shyjan, rbs. My changes to DrawString to use the baseline as the reference point and changes aimed at computing the bounding metrics. review: Erik, Shyjan.
git-svn-id: svn://10.0.0.236/trunk@53184 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:19:25 +00:00
rbs%maths.uq.edu.au
2f912ca46b [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for gtk: Shyjan Mahamud mahamud@cs.cmu.edu's changes to enable the symbol font on Linux, as well as the fix for the CSS font-family bug, and the computation of the bounding metrics. review: Erik, rbs.
git-svn-id: svn://10.0.0.236/trunk@53183 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:16:54 +00:00
rbs%maths.uq.edu.au
ad61b6a672 [GFX] GetBoundingMetrics() added in nsIRenderingContext and associated changes elsewhere (patform-specific) to support its implementation. Fixes for existing bugs discovered while doing the implementation. Details for ps: Empty hooks to make the code compile while awaiting implementation.
git-svn-id: svn://10.0.0.236/trunk@53182 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:12:33 +00:00
waterson%netscape.com
8b75e6af56 Add docs for XPCOM_MEM_LOG_OBJECTS.
git-svn-id: svn://10.0.0.236/trunk@53181 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 04:08:28 +00:00
valeski%netscape.com
0af0d697db 11869, r=brendan (for everything but the case where we check for keyword url load failure). Hooking up keywords to webshell. we now kick non-qualified hosts to the keyword server (if keywords are enabled (they're defaulted to off), on windows. and if a non-qualifed host lookup fails we kick that to the keyword server (on all platforms, if keywords are enabled). If keywords are disabled (default case) we do the www.*.com trick ourselves in the client.
git-svn-id: svn://10.0.0.236/trunk@53180 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:26:18 +00:00
waterson%netscape.com
74dce44ae9 Bug 18069. Support XPCOM_MEM_TRACE_OBJECTS, per-object reference count tracing. r=warren
git-svn-id: svn://10.0.0.236/trunk@53179 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:23:24 +00:00
jdunn%netscape.com
db2a5c813e Add newline at end of file... HP requires it!
git-svn-id: svn://10.0.0.236/trunk@53178 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:14:37 +00:00
saari%netscape.com
aec790d0e6 part of previous checkin
git-svn-id: svn://10.0.0.236/trunk@53177 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:09:16 +00:00
saari%netscape.com
5432ae5d44 Turning gFocusHandler into gEventDispatchHandler, a Mac event dispatch change. Should be fine without the rest of the focus changes, commiting to facilitate pink's need to change this file. R: pink
git-svn-id: svn://10.0.0.236/trunk@53176 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 03:08:31 +00:00
jdunn%netscape.com
dcd9ca22e2 Fix additional bugs with stubs. This still doesn't work 100% but getting there
(basically pulled in the mac ppc CPP file for aix stubs file)


git-svn-id: svn://10.0.0.236/trunk@53175 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:20:22 +00:00
valeski%netscape.com
5514f3c5ea hooking up keyword prefs so we check for them
git-svn-id: svn://10.0.0.236/trunk@53174 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:18:02 +00:00
briano%netscape.com
c4458f4151 Automated update
git-svn-id: svn://10.0.0.236/trunk@53173 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:15:16 +00:00
valeski%netscape.com
8630e33bf6 18419. *removed nsIFTPContext and associated impl of it. we no longer pass this context between the FTP thread and the channel thread, we use nsISupports proxies to move back and forth.*added SetcontentLength() method to nsIFTPChannel so we can move the content length from the FTP thread to the channel thread. nsFTPChannel impls this meth now.*made a couple FTP channel logging changes for better description*nsCOMPtrized a bit*added nsFTPChannel to load group when avail (this starts/stops the throbber for url bar loaded ftp urls.*the FTP protocl handler (a service) is now an observer of XPCOM shutdown. this allows the handler to join w/ all the threads it has created (that are still running) if we try and shutdown the main thread whill ftp is still running.
git-svn-id: svn://10.0.0.236/trunk@53172 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:14:23 +00:00
valeski%netscape.com
f6bc0b70d1 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@53171 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:13:44 +00:00
valeski%netscape.com
56450ba26e removed files: mozilla/netwerk/protocol/ftp/public/nsIFTPContext.idl
git-svn-id: svn://10.0.0.236/trunk@53170 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:11:50 +00:00
valeski%netscape.com
f168e2ebc5 18419.
git-svn-id: svn://10.0.0.236/trunk@53169 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:09:07 +00:00
jdunn%netscape.com
e923683866 HP specific Fix for #16506.
git-svn-id: svn://10.0.0.236/trunk@53168 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 02:08:10 +00:00
ssu%netscape.com
91333ec8d3 these files are part of bug #17109. It's to help with calculating
the correct disk space required during installation.  It doesn't fix this
bug, but it's part of getting it done.

All these files are not part of tinderbox build.  They are only Windows
platform too.

r=sgehani


git-svn-id: svn://10.0.0.236/trunk@53167 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:54:58 +00:00
slamm%netscape.com
65a646ea08 Script to generate panels' rdf and dtd files.
git-svn-id: svn://10.0.0.236/trunk@53166 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:54:01 +00:00
waqar%netscape.com
8e98416f47 # 16610
r vidur
d Javascript should throw an execption on index size error. DOM now throws
an execption for size error.


git-svn-id: svn://10.0.0.236/trunk@53165 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:48:25 +00:00
pinkerton%netscape.com
e4e6e5b049 remove the tree item drag capturer. i was premature.
git-svn-id: svn://10.0.0.236/trunk@53164 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:46:12 +00:00
pinkerton%netscape.com
173dc604a4 backing out my last added file.
git-svn-id: svn://10.0.0.236/trunk@53163 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:42:12 +00:00
saari%netscape.com
a8c0e40278 Just checking in nsGUIEvent.h changes to start the focus landing... can't finish it without more reviews, but this change is reviewed and harmless. r: joki
git-svn-id: svn://10.0.0.236/trunk@53162 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:33:48 +00:00
waqar%netscape.com
90fdd6824c # 6071, 15904
r vidur
d Fixes the problem with comment delimiters.


git-svn-id: svn://10.0.0.236/trunk@53161 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:28:32 +00:00
buster%netscape.com
7955df305a tiny fix to SetDocument based on small change to semantics of underlying objects, back-ported from webshell
git-svn-id: svn://10.0.0.236/trunk@53160 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:27:27 +00:00
putterman%netscape.com
783df58a3b Use get() instead of ==
git-svn-id: svn://10.0.0.236/trunk@53159 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:22:59 +00:00
mccabe%netscape.com
f7d8c1e1aa Warning fix for uninitialized structure members. r=fur,slamm.
git-svn-id: svn://10.0.0.236/trunk@53158 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:15:43 +00:00
valeski%netscape.com
a67d97f104 default for keywords enabled field is false
git-svn-id: svn://10.0.0.236/trunk@53157 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:13:51 +00:00
pinkerton%netscape.com
4e18984c5e add nsTreeItemDragCapturer to the build
git-svn-id: svn://10.0.0.236/trunk@53156 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:04:36 +00:00
pinkerton%netscape.com
d1e40118fa adding nsTreeItemDragCapturer to the build and moving XUL frames into the right group.
git-svn-id: svn://10.0.0.236/trunk@53155 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:04:15 +00:00
pinkerton%netscape.com
61cde1ceb0 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@53154 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 01:03:41 +00:00
hangas%netscape.com
2039a6d814 New disabled arrow for menus. Problem reported by Crysgem@crosswinds.net and icon submitted by michael.lowe@bigfoot.com.
git-svn-id: svn://10.0.0.236/trunk@53153 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:59:07 +00:00
pinkerton%netscape.com
e994710532 set the default image size to be small in order to avoid obvious reflows when button code would assume 30x30 before it loaded the image (r=evaughan).
git-svn-id: svn://10.0.0.236/trunk@53152 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:58:42 +00:00
sfraser%netscape.com
cdc1e8d7c9 Fix for 18525 -- non-scriptable accessor to get at the editor from the editor shell. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@53151 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:58:40 +00:00
ftang%netscape.com
c359f1ed02 adjust XIM spot location code scince we change the nsCaret to return the bottom of the cursor intead of the top of the cursor ow. It look a little bit weired since the GFX didn't alight Japanese text base line right. r=erik
git-svn-id: svn://10.0.0.236/trunk@53150 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:58:14 +00:00
karnaze%netscape.com
b5aebd8ca2 new regression test not affecting build.
git-svn-id: svn://10.0.0.236/trunk@53149 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:56:50 +00:00
terry%mozilla.org
24b7b0cacd freshmeat seems to have changed the location of their RDF page.
git-svn-id: svn://10.0.0.236/trunk@53148 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:55:49 +00:00
sgehani%netscape.com
0f83368472 Restoring file dates when decoding was off by 12 hours. This is now fixed. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53147 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:52:04 +00:00
nhotta%netscape.com
5b454a2e97 Added msgbaseutil to a project file so unicode conversion utils to be accessable, part of bug fix #18264, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@53146 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:48:55 +00:00
buster%netscape.com
081fe363eb added SetDocument implementation
added Get/SetDocLoaderObserver
added base implementation for nsIDocShellContainer methods
started filling in GetVisibility
started nsIContentViewerContainer methods, very rough
added FireStartDocumentLoad, FireEndDocumentLoad
added DestroyChildren


git-svn-id: svn://10.0.0.236/trunk@53145 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:42:48 +00:00
pepper%netscape.com
b604bfeeca Changed friend declaration to make HP Compilers Happy.
r=mgleeson


git-svn-id: svn://10.0.0.236/trunk@53144 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:59 +00:00
buster%netscape.com
358fa5f31d added charset attributes
git-svn-id: svn://10.0.0.236/trunk@53143 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:50 +00:00
valeski%netscape.com
cf6a7895bf 16256, nscomprtizing
git-svn-id: svn://10.0.0.236/trunk@53142 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:21 +00:00
buster%netscape.com
04b0f51565 added charset member data
git-svn-id: svn://10.0.0.236/trunk@53141 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:39:16 +00:00
buster%netscape.com
79679411ae filled in charset methods
select all
some of sizeToContent
AddChild override, to handle charset stuff


git-svn-id: svn://10.0.0.236/trunk@53140 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:38:55 +00:00
valeski%netscape.com
1ed04f3a7d 16256. nsCOMptrizing
git-svn-id: svn://10.0.0.236/trunk@53139 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:38:16 +00:00
valeski%netscape.com
9903ce8559 16256, r=gagan. the nsinputstreamchannel was lowercasing the entire contenttype. we don't want to lower case the contenttype attribs
git-svn-id: svn://10.0.0.236/trunk@53138 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:37:18 +00:00
buster%netscape.com
67d716f4fe added libs:
>  $(DIST)\lib\neckoutil_s.lib	       \
>  $(DIST)\lib\gkgfxwin.lib	           \


git-svn-id: svn://10.0.0.236/trunk@53137 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:36:48 +00:00
buster%netscape.com
b5d9e6f2e9 made childCount readonly
git-svn-id: svn://10.0.0.236/trunk@53136 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:36:09 +00:00
buster%netscape.com
e1a9b1cf06 changed args to SetDocument
added attribute nsIDocumentLoaderObserver docLoaderObserver;


git-svn-id: svn://10.0.0.236/trunk@53135 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:35:36 +00:00
buster%netscape.com
f9748dc756 nsDocShellBase implements nsIDocShellContainer
added some member data


git-svn-id: svn://10.0.0.236/trunk@53134 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:34:41 +00:00
valeski%netscape.com
cf9447c758 16256, r=morse. Large bugzilla queries were bleeding http headers into the html displayed.
git-svn-id: svn://10.0.0.236/trunk@53133 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:34:01 +00:00
sgehani%netscape.com
4c6642169a *** NOT PART OF BUILD ***
Fixed warnings and added C callback prototypes.


git-svn-id: svn://10.0.0.236/trunk@53132 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:33:39 +00:00
dp%netscape.com
bf00e32685 Services used with COMPtrs. NS_WITH_SERVICE definition uses COMPtrs. r=scc
git-svn-id: svn://10.0.0.236/trunk@53131 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:31:45 +00:00
sgehani%netscape.com
a8792931ec Added progress bar and message for overall status of components being installed. Also, we now display the icon for the folder or volume selected to install, including custom folder and disk icons. Added Quit menu and cmd+Quit keyboard handling. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@53130 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:29:38 +00:00
valeski%netscape.com
be2a330da5 16485, y2k DOS FTP server date parsing problem (we're now compensating for lacking two digit dos date years
git-svn-id: svn://10.0.0.236/trunk@53129 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:28:30 +00:00
putterman%netscape.com
af2026ecdf added nsIIncomingServerListener.idl
git-svn-id: svn://10.0.0.236/trunk@53128 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:27:10 +00:00
valeski%netscape.com
3014976cd0 11869, r=dagley. added keyword related prefs (1 for enable/disable, and 1 for keyword URL).
git-svn-id: svn://10.0.0.236/trunk@53127 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:26:05 +00:00
putterman%netscape.com
6d6e668a41 Work on 17712 to add incoming server listeners and hook biff up to them. Reviewed by alecf and bienvenu.
git-svn-id: svn://10.0.0.236/trunk@53126 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:26:02 +00:00
putterman%netscape.com
b45fc5c931 Work on 17712 to add incoming server listeners and hook biff up to them. Reviewed by alecf.
git-svn-id: svn://10.0.0.236/trunk@53125 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:25:19 +00:00
sgehani%netscape.com
2707a601bc Fix build warnings by moving a static struct from a .h to its .cpp.
Fixes bug 15898. [r=ssu]


git-svn-id: svn://10.0.0.236/trunk@53124 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:24:24 +00:00
sfraser%netscape.com
19850957f7 Fix warnings, bug 15588. r=ducarroz
git-svn-id: svn://10.0.0.236/trunk@53123 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:24:18 +00:00
putterman%netscape.com
3eee221ecf Work on 12846 for making message threads work. Reviewed by bienvenu.
git-svn-id: svn://10.0.0.236/trunk@53122 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:23:29 +00:00
sfraser%netscape.com
cbb5dd663c Fix 16653 and 18496 -- assert on non-local Edit Page, and avoid opening a second composer window for a file that is already open. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@53121 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:12:23 +00:00
sfraser%netscape.com
109ce230c7 Add windowtype attribtue on window for bug 18496. r=cmanske
git-svn-id: svn://10.0.0.236/trunk@53120 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:10:05 +00:00
sfraser%netscape.com
79de159da2 Use OS call to get caret blink time on Windows, bug 15422. r=kin
git-svn-id: svn://10.0.0.236/trunk@53119 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:08:49 +00:00
sspitzer%netscape.com
72a0898873 ignore generated Makefiles
git-svn-id: svn://10.0.0.236/trunk@53118 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:08:20 +00:00
bienvenu%netscape.com
c66aeb5988 hook up pseudo interruption, r=jefft 15012
git-svn-id: svn://10.0.0.236/trunk@53117 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:04:45 +00:00
av%netscape.com
e2a5ab7e02 Fix for bug 16302. Added counting margins when calculating the object size, r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@53116 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:00:07 +00:00
bienvenu%netscape.com
0e2fbc7315 fix trivial build warnings, unused variables
git-svn-id: svn://10.0.0.236/trunk@53115 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:58:39 +00:00
rjc%netscape.com
577cd4ac84 Check in real fix. Review: me
git-svn-id: svn://10.0.0.236/trunk@53114 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:56:29 +00:00
sspitzer%netscape.com
a2031e92b9 fix #18383, r=alecf.
check if the folder really exists by checking if it has a server.
if not, return an error.
this makes the right error message pop up.


git-svn-id: svn://10.0.0.236/trunk@53113 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:54:25 +00:00
rjc%netscape.com
c1eba56c75 Comment out problem.
git-svn-id: svn://10.0.0.236/trunk@53112 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:54:24 +00:00
ducarroz%netscape.com
85c58b7866 Forget to checking version that check return of ConvertFromUnicode & ConvertToUnicode. R=jefft
git-svn-id: svn://10.0.0.236/trunk@53111 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:54:05 +00:00
sspitzer%netscape.com
a0d9a56a3c check in patch from cls@seawood.org
add comment.


git-svn-id: svn://10.0.0.236/trunk@53110 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:53:40 +00:00
sspitzer%netscape.com
7eb395e300 fix #18510. package up "Mozilla Select Profile"
and the "Mozilla NSPR Log" files.


git-svn-id: svn://10.0.0.236/trunk@53109 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:53:12 +00:00
nhotta%netscape.com
f4b0f0a51a Added msgbaseutil to makefiles so unicode conversion utils to be accessable, part of bug fix #18264, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@53108 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:46 +00:00
sspitzer%netscape.com
ddd9e310c2 fix warning.
git-svn-id: svn://10.0.0.236/trunk@53107 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:45 +00:00
evaughan%netscape.com
009c882c36 Fixed gfxscrollbar bugs #16460 and #15722
git-svn-id: svn://10.0.0.236/trunk@53106 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:44 +00:00
rjc%netscape.com
1c6454fbce Small improvements to HTTP-INDEX datasource. Review: me
git-svn-id: svn://10.0.0.236/trunk@53105 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:51:10 +00:00
akkana%netscape.com
6f4b49e030 17564, 17871, 17883, 18249, 13753,
18012, 16800, maybe 17565 and 13278:
Integrate contributions from Ben Bucksch (mozilla@bucksch.org)
and Daniel Brattell (bratell@lysator.liu.se) to improve formatted
plaintext output, including adding text style indicators, improving
table output and wrapping, and fixing several wrapping/whitespace bugs.
Also update the auto tests to reflect some of the bugs recently fixed.
  r=myself,mozilla@bucksch.org,bratell@lysator.liu.se


git-svn-id: svn://10.0.0.236/trunk@53104 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:45 +00:00
pollmann%netscape.com
5d1e46267a Bug 17656: Checking in jst@citec.fi fix to make Framesets resize correctly. A: chofmann R: pollmann
git-svn-id: svn://10.0.0.236/trunk@53103 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:38 +00:00
rjc%netscape.com
2466de998d Add support for secondary key sort. Convert over to using nsCOMPtrs. Review: me
git-svn-id: svn://10.0.0.236/trunk@53102 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:34 +00:00
leaf%mozilla.org
35f00f3824 s/apprunner/mozilla-bin/ to comply with new binary name. r=alecf
git-svn-id: svn://10.0.0.236/trunk@53101 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:50:01 +00:00
ducarroz%netscape.com
0cdb370274 Fix for bug 18402, don't use AutoCString when need to deal with a UTF8 string (nsMsgCompose.cpp only).
Fix for bug 13261, use constants instead of numerical.
Cleanup Forward code, eliminate duplicate or dead code (in prep. for bug 15682)


git-svn-id: svn://10.0.0.236/trunk@53100 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:47:59 +00:00
ftang%netscape.com
acade41cee Change the GetRelativedWindowCoordinate to return the botton of the cursor, instead of the top of the cursor. We need this to make Mac IME candidcate window popup in a more reasonable place. author=sfraser. r=ftang
git-svn-id: svn://10.0.0.236/trunk@53099 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:47:56 +00:00
slamm%netscape.com
82330ef504 Fix warnings for partially bracketed initializers. r=rickg a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53098 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:47:37 +00:00
ftang%netscape.com
f4cad5fb6e fix bug 17710, 12253, 18286. r=erik. hide the mIMEIsComposition into HandlStart/EndComposition method. +1 for size checking. remove startCompostion after we receive result. Add StartComposition if we have not start composition
git-svn-id: svn://10.0.0.236/trunk@53096 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:43:46 +00:00
akkana%netscape.com
d7c2ad3748 16803, 17341: Enable unicode paste. Code from nhotta, r=me. Also re-enable plaintext paste
git-svn-id: svn://10.0.0.236/trunk@53095 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:42:11 +00:00
ftang%netscape.com
32f598b99e 1. fix 7571. review by ftang/pierre/saari
2. rewrite Mac IME code r=brade


git-svn-id: svn://10.0.0.236/trunk@53094 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:41:21 +00:00
akkana%netscape.com
eafe3578c4 Fix mEditorType, which wasn't being set before. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@53093 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 23:40:38 +00:00
waterson%netscape.com
2a0808b97f Bug 18408. Use 'ObjectAt()' rather than 'Peek()', which looks at the
front of the queue. r=jband


git-svn-id: svn://10.0.0.236/trunk@53091 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 21:59:05 +00:00
tbogard%aol.net
12f6152a5f Added mLoadCookie that is used in the new URI Loader calls.
git-svn-id: svn://10.0.0.236/trunk@53090 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 21:43:58 +00:00
leaf%mozilla.org
d4db03b390 clobber builds should be making realclean
git-svn-id: svn://10.0.0.236/trunk@53087 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 20:15:32 +00:00
brade%netscape.com
9591e1ed1e remove empty_doc.html (bug #15442) r:Jerry.Kirk@Nexwarecorp.com
git-svn-id: svn://10.0.0.236/trunk@53084 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 14:48:36 +00:00
gagan%netscape.com
3ab2c7be1a Fix for 7533. The mechanism of specifying charset in content-type of a post data was breaking a lot of websites. I have changed the default to not send charset. If this has to be changed again this should go thru a pref (See bug 18431)
git-svn-id: svn://10.0.0.236/trunk@53083 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 08:58:20 +00:00
mcafee%netscape.com
b7898d0469 Ignore new name of binary. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@53082 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 08:03:06 +00:00
pavlov%netscape.com
b92f4aa57b remove #ifdef DEBUG_pavlov #define NOISY FONTS blah blah r=paulmac,mcafee
git-svn-id: svn://10.0.0.236/trunk@53081 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:31:01 +00:00
tbogard%aol.net
8cecdb58e5 Changes to call OpenURI with new parameter set.
git-svn-id: svn://10.0.0.236/trunk@53080 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:27:25 +00:00
pavlov%netscape.com
daa074a108 fixes for pasting unicode text for bug 18276 r=akkana
git-svn-id: svn://10.0.0.236/trunk@53079 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:26:06 +00:00
pavlov%netscape.com
8e735f811d fix for bug 1004 (native system colors) r=blizzard,smfr
git-svn-id: svn://10.0.0.236/trunk@53078 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:20:33 +00:00
rjc%netscape.com
00e0da2712 Fix bug # 12114 [an internal timer no longer refcnt's the nsBookmarksService, preventing a leak; instead, we cancel the timer in the DTOR] and bug # 18250 [speed up loading of bookmarks on startup by deferring loading of IE favorites.html (on Mac) until needed, and try to read in the entire file in one read request if memory is available, otherwise fall back to parsing line by line]. Review: waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@53077 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:05:16 +00:00
tbogard%aol.net
b66961452f Changed nsComponentManager::CreateInstance to use new nsCOMPtr do_CreateInstance.
git-svn-id: svn://10.0.0.236/trunk@53076 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 07:03:50 +00:00
tbogard%aol.net
40bcf7296c Changed nsComponentManager::CreateInstance calls to use the new nsCOMPtr do_CreateInstance().
git-svn-id: svn://10.0.0.236/trunk@53075 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 06:54:39 +00:00
mscott%netscape.com
80bf48903f (not part of the seamonkey build...yet!)
Clean up OpenURI api. get rid of the verb, the channel context and the loadgroup as required arguments
to OpenURI.

Add nsUriLoaderEventSinkGetter class. Many method signatures
changed to match the changes to nsIURILoader::OpenURI.


git-svn-id: svn://10.0.0.236/trunk@53074 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 06:24:40 +00:00
mscott%netscape.com
f0c23a8611 (not part of the build yet!)
Clean up OpenURI api. get rid of the verb, the channel context and the loadgroup as required arguments
to OpenURI.

Add the notion of a open uri context as an in and an out parameter. The open uri context is a cookie which
the caller can later give back to the uri loader when running another url in the same context. It's an ISupports
right now and the type should be opaque to the caller.

Don't require the caller to pass in an event sink getter. We can generate this for them. Do give them the ability
to pass in a nsIProgressEventSink. Note: this parameter is actually going to get changed into a nsIProgressListener
real soon as well. So don't get to used to it.


git-svn-id: svn://10.0.0.236/trunk@53073 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 06:22:29 +00:00
ftang%netscape.com
1b0abe5c51 fix 17409. rewrite the Notify method to take care random order of HTTP-EQUIV or CONTENT. performance enhance the code. keep the old code in the #else of #if 1 statement for now. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@53071 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 05:55:58 +00:00
ftang%netscape.com
f274743ebb fix 16808. change hard coded utf-8'to UTF-8', get charset hint from webshell. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@53070 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 05:50:10 +00:00
tbogard%aol.net
50c4711b2e NS_WARN_IF_FALSE now by default puts the windows messagebox up on a tripped warning condition. Before it relied on the developer having an environment variable set. r=pink a=sdagley
git-svn-id: svn://10.0.0.236/trunk@53069 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:32:33 +00:00
shaver%netscape.com
d225f7052a revert case change, because I no longer have the accompanying JS changes -- don't ask
git-svn-id: svn://10.0.0.236/trunk@53068 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:18:07 +00:00
bienvenu%netscape.com
272d724890 fix crash with bookmark to local folder, r=alecf
git-svn-id: svn://10.0.0.236/trunk@53067 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:12:26 +00:00
bienvenu%netscape.com
945350d58c fix build warnings
git-svn-id: svn://10.0.0.236/trunk@53066 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 04:05:16 +00:00
bienvenu%netscape.com
1abcf5624a fix build warnings about unused variables
git-svn-id: svn://10.0.0.236/trunk@53065 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:59:45 +00:00
nisheeth%netscape.com
2bfa653735 a=sdagley. Move over to new timing macros...
git-svn-id: svn://10.0.0.236/trunk@53064 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:41:09 +00:00
morse%netscape.com
4cad860e7c fix bug 65552, integrating ftp authentication with single signon, r=valeski
git-svn-id: svn://10.0.0.236/trunk@53063 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:39:33 +00:00
morse%netscape.com
09fe028d90 fix bug 65552, integrating ftp authentication with single signon, r=neeti
git-svn-id: svn://10.0.0.236/trunk@53062 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 03:37:35 +00:00
cls%seawood.org
e6a3cfb8fe I'm in complete awe as to how the unix tinderboxen haven't broken because of this....when I did a clobber build, nsCookie.cpp & mailnews/* started complaining about a missing rosetta.h.
git-svn-id: svn://10.0.0.236/trunk@53061 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:30:47 +00:00
shaver%netscape.com
742d5f1204 missed a #include
git-svn-id: svn://10.0.0.236/trunk@53060 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:11:08 +00:00
shaver%netscape.com
e03c3f1706 maybe fix build bustage
git-svn-id: svn://10.0.0.236/trunk@53059 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:10:39 +00:00
shaver%netscape.com
e67b7a69e7 fix build bustage from big dumb shaver
git-svn-id: svn://10.0.0.236/trunk@53058 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 02:04:58 +00:00
shaver%netscape.com
c6b0353b9c export nsSupportsArray so the Mac and VC can see it
git-svn-id: svn://10.0.0.236/trunk@53057 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 01:49:30 +00:00
bienvenu%netscape.com
08cbb3eb94 fix build bustage, use PR_MAX instead of MAX
git-svn-id: svn://10.0.0.236/trunk@53056 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 01:02:30 +00:00
cls%seawood.org
1759db8032 Oops. Wrapping that in a ifdef until a proper fix is determined
git-svn-id: svn://10.0.0.236/trunk@53055 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:59:30 +00:00
rhp%netscape.com
237439b927 Fixing evaluation of nsresult - Bug #:18157 r: jefft
git-svn-id: svn://10.0.0.236/trunk@53054 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:56:36 +00:00
bienvenu%netscape.com
6a23d1fc5a fixes for msg threading, r=scottip
git-svn-id: svn://10.0.0.236/trunk@53053 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:44:45 +00:00
bienvenu%netscape.com
c3d2033a3a more work on imap pending counts,r=jefft
git-svn-id: svn://10.0.0.236/trunk@53052 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:42:55 +00:00
bienvenu%netscape.com
fcfedf2d17 move folder cache to account mgr, per alecf, fix pending counts r=jefft
git-svn-id: svn://10.0.0.236/trunk@53051 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:41:52 +00:00
jj%netscape.com
bf63cc710d fixed a misplaced '-' . a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53050 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:34:48 +00:00
shaver%netscape.com
d9c238eacf - use JSThreadContextStack and JSRuntimeService (more) correctly in loader
- teach loader about unloading and deferring components
- turn off some DEBUG_shaver noise
- better error reporting
- use nsXPIDLCString
- use nsCOMPtr
- add missing cxstack->Pop() in the xpcshell
- Components.results.NS_ERROR_FACTORY_REGISTER_AGAIN (want better text for
  error message)
- handle thrown-nsresult correctly where C++ calls JS without an active JS
  stack
- remove missing cxstack->Pop() from TestXPC
r=jband,brendan


git-svn-id: svn://10.0.0.236/trunk@53049 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:34:26 +00:00
waterson%netscape.com
ad1c6cded6 Bug 18257. Fix leak of nsIDocument in form submission. r=karnaze, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53048 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:30:09 +00:00
shaver%netscape.com
6896473ece - NS_ERROR_FACTORY_REGISTER_AGAIN for deferring registration of a module until
later in the autoreg cycle.
- teach native component loader about deferred components
- add nsIComponentLoader::registerDeferredComponents
- teach component manager about deferred components
- made nsID::Parse take a |const char *| instead of a simple |char *|.
- move release of XPTI singletons until _after_ shutting down the component
  manager to prevent re-initialization during JS component shutdown.
- category manager work: really delete from reg, start on enumeration
- use nsXPIDLCString instead of autoStringFree.
- fix nsRegistry to use allocator properly.
- cleaner memory management in nsFactoryEntry.
- capitalization fixed in nsIComponentLoader.idl
- clean up loader creation logic
- remove/disable lots of DEBUG_shaver noise
- added (disabled) warning about NSGetFactory usage
- move .so and .shlb higher up in the ValidDllExtensions list to marginally
  speed up registration.
- added nsDll::GetRegistryLocation API
- properly export nsSupportsArray.h
- capitalization fixes in nsIEnumerator.idl
- added deferral to nsSample.js


git-svn-id: svn://10.0.0.236/trunk@53047 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:28:34 +00:00
idk%eng.sun.com
51054c8b7a 17316
Class names updated (see 18180)

a=laa@sparc.spb.su
r=idk@eng.sun.com


git-svn-id: svn://10.0.0.236/trunk@53046 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:27:00 +00:00
scc%netscape.com
9fec22a94d Added |do_CreateInstance()|, |do_GetService()| both by CID and ProgID. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53045 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:54 +00:00
sspitzer%netscape.com
34b13b24f7 add bulletproofing for bug #15093. bug still exists, but this code and assertion is needed.
git-svn-id: svn://10.0.0.236/trunk@53044 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:29 +00:00
scc%netscape.com
79bbb292a0 Moved |do_CreateInstance()| from here to nsComponentManagerUtils.h. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53043 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:10 +00:00
sspitzer%netscape.com
e766d064ca fix comment.
git-svn-id: svn://10.0.0.236/trunk@53042 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:12:37 +00:00
sspitzer%netscape.com
f172a4e37a fix warnings.
git-svn-id: svn://10.0.0.236/trunk@53041 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:12:22 +00:00
sspitzer%netscape.com
ae26eeb260 fix for #18260, r=mscott. if we had a pop server in 4.x, upon migration, set
the send later uri pref to the "Unsent Messages" folder under that pop account.


git-svn-id: svn://10.0.0.236/trunk@53040 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:12:08 +00:00
sspitzer%netscape.com
837d127dc1 fix warnings. r=valeski.
git-svn-id: svn://10.0.0.236/trunk@53039 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:10:59 +00:00
sspitzer%netscape.com
3a02b027dc don't build smtpTest anymore, it's obsolete. r=mscott
git-svn-id: svn://10.0.0.236/trunk@53038 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:10:40 +00:00
sspitzer%netscape.com
c148e9dbd8 fix warning.
git-svn-id: svn://10.0.0.236/trunk@53037 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:09:32 +00:00
cls%seawood.org
5f4e4068eb Commented out ExtCacheDBInfo struct & uses of it in net.h as it's not used since Necko landed. r=warren
Removed dbm from allmakefiles.sh & mozilla/Makefile.in.


git-svn-id: svn://10.0.0.236/trunk@53036 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:52:25 +00:00
rods%netscape.com
bd3e148ac8 I checked in a bad fix. This is correct. I have had Chris K. check it over.
Migrains will do that to you. for bug 18039


git-svn-id: svn://10.0.0.236/trunk@53035 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:49:37 +00:00
dp%netscape.com
9c89d26c52 Enabling observing of XPCOM Shutdown r=jband r=putterman
git-svn-id: svn://10.0.0.236/trunk@53034 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:41:24 +00:00
waterson%netscape.com
2f900ccff2 Bug 18256. Fix nsIDocument leak in WLLT_OnSubmit. r=morse, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53033 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:39:36 +00:00
waterson%netscape.com
81352c0b3e Bug 18067. Event listeners are refcounted; do not try to manually 'delete'. r=hyatt, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@53032 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:37:57 +00:00
waterson%netscape.com
254ba7fef5 Bug 18066. Only addref the listener if it isn't already in our set of listeners. r=joki, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@53031 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:37:08 +00:00
briano%netscape.com
0e7fba508d Automated update
git-svn-id: svn://10.0.0.236/trunk@53030 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:31:43 +00:00
dp%netscape.com
ccb285cb8c Removing NS_COMFALSE usage.
git-svn-id: svn://10.0.0.236/trunk@53029 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:30:44 +00:00
briano%netscape.com
8fd91df808 Automated update
git-svn-id: svn://10.0.0.236/trunk@53028 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:30:43 +00:00
cls%seawood.org
5652546c52 Moved the handling of extensions into configure.in.
Changed allmakefiles.sh to only generate Makefiles for extensions directories that are specified.
Added support for --with-extensions=none & --without-extensions
The following options have been superceded by --with-extensions:
   --disable-cookie-management
   --disable-client-wallet
   --disable-single-signon


git-svn-id: svn://10.0.0.236/trunk@53027 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:30:32 +00:00
dp%netscape.com
459c2a4c80 Modifying sample to use NS_MODULE macros. r=alecf
git-svn-id: svn://10.0.0.236/trunk@53026 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:28:10 +00:00
cls%seawood.org
41bcfc5972 Removed modules/security/freenav from DIRS
git-svn-id: svn://10.0.0.236/trunk@53025 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:25:12 +00:00
cls%seawood.org
f1c7032b4b Removed NECKO define.
Added '-W -Wno-unused' to _WARNINGS_CFLAGS for gcc.
Marked --enable-mathml as broken.


git-svn-id: svn://10.0.0.236/trunk@53024 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:22:15 +00:00
cls%seawood.org
bd038eb739 Commented out unused Makefiles
git-svn-id: svn://10.0.0.236/trunk@53023 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:18:28 +00:00
cls%seawood.org
08b4a73117 Copied check for MOZ_SECURITY to DEBUG_AUTOCONF_XCOMPILE ifdef
git-svn-id: svn://10.0.0.236/trunk@53022 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:16:22 +00:00
cls%seawood.org
99804f7160 Replaced NO_SECURITY ifdef with MOZ_SECURITY one. This causes pref_VerifyLockFile to always return PR_TRUE rather than linking against the dummy secfree library. This replacement also removed the last dependency upon that dummy library so it will no longer be built (next patch).
git-svn-id: svn://10.0.0.236/trunk@53021 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:13:53 +00:00
cls%seawood.org
2f8c89d340 gcc 2.95+ fixes
git-svn-id: svn://10.0.0.236/trunk@53019 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:04:16 +00:00
despotdaemon%netscape.com
90ac873269 Pseudo-automatic update of changes made by leaf@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@53018 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:03:12 +00:00
matt%netscape.com
2dfb0ef7b9 fixing for bug 16221
changing port from string to int


git-svn-id: svn://10.0.0.236/trunk@53017 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:02:51 +00:00
rods%netscape.com
c8a56bd594 Fixes bug 18039, it doesn't call WipeContainingBlock for select frames
This needs a better fix, filed bug 18366
r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@53015 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 22:36:05 +00:00
valeski%netscape.com
b8aec44d1a 18134, a=chofmann,r=andreas. Resolve() was not handling ../../ cases in relative URI specs. Now it is. We call ReplaceDotMess() on the path portion _only_.
git-svn-id: svn://10.0.0.236/trunk@53011 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 21:31:43 +00:00
pinkerton%netscape.com
830bbaa157 remove the tooltip over mozilla button because we don't yet have a good fix for bug 15946. this is a workaround. (r=sdagley).
git-svn-id: svn://10.0.0.236/trunk@53010 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 21:29:06 +00:00
karnaze%netscape.com
e5e7dad23d new regression test not affecting build.
git-svn-id: svn://10.0.0.236/trunk@53009 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 21:06:13 +00:00
sspitzer%netscape.com
6342265a22 fix for the regression I introduced. when we send the 'MAIL FROM:' command to the SMTP server, we want to send it 'MAIL FROM: <sender>', not 'MAIL FROM: <Foo Bar <fbar@xyz.com>>'. my SMTP server allowed 'MAIL FROM: <Seth Spitzer <sspitzer@netscape.com>>' which is why I didn't catch this.
git-svn-id: svn://10.0.0.236/trunk@53007 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 19:25:39 +00:00
blizzard%redhat.com
6ab2c4bae1 include ctype.h so isprint() is defined. a=choffman
git-svn-id: svn://10.0.0.236/trunk@53006 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 19:20:24 +00:00
karnaze%netscape.com
64b63632a7 new regression test, not affecting build.
git-svn-id: svn://10.0.0.236/trunk@53005 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:45:09 +00:00
rogerl%netscape.com
c11cf8f069 Removed NativeClosure
git-svn-id: svn://10.0.0.236/trunk@53004 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:24:40 +00:00
leaf%mozilla.org
1e4724cd9d fixing packaging target to depend on mozilla-bin rather than apprunner
git-svn-id: svn://10.0.0.236/trunk@53003 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:21:18 +00:00
terry%mozilla.org
1d8dc5ef4f Turns out string fields should all be declared as "binary" if we want
them to be case-insensitive.


git-svn-id: svn://10.0.0.236/trunk@53002 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:12:43 +00:00
slamm%netscape.com
09261a2465 Now really get it right.
git-svn-id: svn://10.0.0.236/trunk@53001 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:05:12 +00:00
slamm%netscape.com
0b298978a3 Get directory right for mailnews aggregate warnings.
git-svn-id: svn://10.0.0.236/trunk@53000 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 18:01:26 +00:00
slamm%netscape.com
a65d46563a Add warning filtering by directory. Fix some perl warnings.
git-svn-id: svn://10.0.0.236/trunk@52999 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 17:58:56 +00:00
rods%netscape.com
b616783180 Fixes MLK 18207 - missing addref, r=beard
Fixes Crasher 17852 by temporarily commenting out the offending line, waiting on bug 18183
r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@52994 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 13:41:27 +00:00
idk%eng.sun.com
f49b0b03e5 bug 17859
Added null checking


git-svn-id: svn://10.0.0.236/trunk@52993 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 10:42:36 +00:00
idk%eng.sun.com
51254cf0e7 bug 18180
Names changed
Pluglet->PlugletFactory, *PlugletInstance*->*Pluglet*


git-svn-id: svn://10.0.0.236/trunk@52992 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 10:28:46 +00:00
pinkerton%netscape.com
2d80fbfdef fix for #17664 (crash in drag code when css destroys the frame when clicking on link). small fix for when target is null on mouseMove events (say when mouse is in menu bar on MacOS). (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52991 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 07:10:46 +00:00
leaf%mozilla.org
453fa7fe38 removing NECKO #define, adding irc to windows build, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52990 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 04:36:08 +00:00
nisheeth%netscape.com
7ad60e4687 r=vidur. a=chofmann. Post a reflow event instead of doing reflow command processing synchronously. Currently this only happens on content appended and content inserted notificaitions in the pres shell.
git-svn-id: svn://10.0.0.236/trunk@52989 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:23:26 +00:00
bienvenu%netscape.com
a76ce97e81 write out folder cache on messenger bootstrap shutdown a=chofmann,r=rhp 18306
git-svn-id: svn://10.0.0.236/trunk@52988 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:19:01 +00:00
rhp%netscape.com
0ec3cd2edd Fix for format=flowed plain text - Part of 17983 fix - r: rhp
git-svn-id: svn://10.0.0.236/trunk@52987 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:09:28 +00:00
rhp%netscape.com
abcd90e75e Fix for quoting problem - Bug #17983 - r: alecf
git-svn-id: svn://10.0.0.236/trunk@52986 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 03:05:10 +00:00
sspitzer%netscape.com
0e99032636 fix for #18128, r=alecf, a=chofmann
fix the broken icon.


git-svn-id: svn://10.0.0.236/trunk@52985 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:54:00 +00:00
slamm%netscape.com
58a222a49a Add styles, dialog and push, to titledbuttons. Fix for 18299. r=hyatt a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52984 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:33:18 +00:00
sspitzer%netscape.com
23b419547b fix for #17956, a=chofmann. fix by ducarroz, r=sspitzer
git-svn-id: svn://10.0.0.236/trunk@52983 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:07:58 +00:00
hangas%netscape.com
9d1753e49a Hacked Undo/Redo menus to always appear enabled. This is a work-around for the issue where menus steal focus and therefore break command updating. r=sspitzer a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52982 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:07:40 +00:00
leaf%mozilla.org
b312375e6a making apprunner -> mozilla-bin switch
git-svn-id: svn://10.0.0.236/trunk@52981 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:05:20 +00:00
sspitzer%netscape.com
5839aa32bc fix for #17956 and #18084.
#17956 is reply fails if message in local mail folder

fix (by ducarroz) is to remove the temporary code.

#18084 is sending email fails in certain cases

the problem is we were sending the wrong info to the SMTP server.
when we sent "MAIL FROM: <address>" to the SMTP server we sent
the smtp username and not the full name built from the identity.
most of the changes are to support passing the identity around.
I also added code so that the smtp username is used on the mailto url spec.
we'll need that later, when we support multiple smtp servers and ESMTP.

r=alecf

a=chofmann


git-svn-id: svn://10.0.0.236/trunk@52980 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:04:06 +00:00
leaf%mozilla.org
bf26e79236 changing binary name to mozilla-bin, runscript to mozilla, modifying
mozilla-apprunner.sh to invoke new binary name. Updating packages file.
bug 17219, a=chofmann r=alecf


git-svn-id: svn://10.0.0.236/trunk@52979 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 02:03:38 +00:00
endico%mozilla.org
0122906378 Oops, now the text inside the form's text box is also centered. Re-fix this by adding </P> after the blurb at the top
git-svn-id: svn://10.0.0.236/trunk@52978 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 01:38:00 +00:00
endico%mozilla.org
c168f50f60 add a <P> before the <HR> so this looks better with mozilla. apparently in html 4.0, <HR> doesn't cause a </PR> so the entire rest of the page was getting centered after the <PR ALIGN=CENTER>
git-svn-id: svn://10.0.0.236/trunk@52977 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:38:35 +00:00
sdagley%netscape.com
f4d74e2669 Removed yet another file warren obsoleted from yet another MANIFEST file (didn't he come up with the idea for MANIFEST files in the first place?)
git-svn-id: svn://10.0.0.236/trunk@52976 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:31:52 +00:00
scc%netscape.com
731d3896e8 backing it out until doug and I can resolve the types issues
git-svn-id: svn://10.0.0.236/trunk@52975 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:27:05 +00:00
sdagley%netscape.com
02c56cabf3 Yet Another Tree Bistage Fix - looks like warren was having a bad CVS day as he put a typo in the first line
git-svn-id: svn://10.0.0.236/trunk@52974 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:27:00 +00:00
sdagley%netscape.com
fa64dc6443 Another shot at fixing Mac build bustage - also remove the obsoleted nsIBuffer.h
git-svn-id: svn://10.0.0.236/trunk@52973 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 00:08:23 +00:00
scc%netscape.com
e8d7bbbd9e dougt's changes from earlier in the week. He was unable to leave them
in at that time because he didn't have my |nsCOMPtr| fixes.  Those went
in last night.  So, on brendans suggestion, I'm reinstating dougt's
previous checkin.


git-svn-id: svn://10.0.0.236/trunk@52972 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:58:14 +00:00
warren%netscape.com
4f78ccf8ff Removed nsIPageManager.h
git-svn-id: svn://10.0.0.236/trunk@52969 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:40:52 +00:00
warren%netscape.com
56ec26df14 Removed obsolete files from tree.
git-svn-id: svn://10.0.0.236/trunk@52958 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:06:07 +00:00
warren%netscape.com
37ce7ee77c Removed obsolete nsPageMgr.cpp
git-svn-id: svn://10.0.0.236/trunk@52957 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 22:05:23 +00:00
varada%netscape.com
3a7a13822a adding wizard directory to cck
git-svn-id: svn://10.0.0.236/trunk@52956 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:55:03 +00:00
varada%netscape.com
31fab24987 adding another global variable in globals.h and .cpp
git-svn-id: svn://10.0.0.236/trunk@52955 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:54:31 +00:00
varada%netscape.com
6a65198e56 changing ini files to use wizard.dll instead of functions in interpret.cpp
git-svn-id: svn://10.0.0.236/trunk@52954 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:53:23 +00:00
varada%netscape.com
1b5b260da4 adding new function SelectItem to make the selected item as the first in a combo box
git-svn-id: svn://10.0.0.236/trunk@52952 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:50:55 +00:00
varada%netscape.com
2261f0f56c Adding new directory Wizard to form wizard.dll with cck specific functions and resources.
git-svn-id: svn://10.0.0.236/trunk@52951 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:49:18 +00:00
joki%netscape.com
0a957febc3 Fix for bug 17618, null out current event target frame after processing event. a:chofmann, r:vidur
git-svn-id: svn://10.0.0.236/trunk@52949 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 21:30:22 +00:00
waterson%netscape.com
4f269a8b55 Bug 18102. Consolidate element map, command dispatcher, and broadcaster hookup into AddSubtreeToDocument(). Fixes over-eager hookup of broadcast listeners into unresolved overlay elements, which left a dangling pointer. r=saari, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52948 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 19:07:13 +00:00
kin%netscape.com
e404d42c5d Fix for bug #18230: [DOGFOOD] Assertion thrown when clicking in the editor.
Fixed nsRangeListIterator AddRef/QueryInterface problems.
r=buster@netscape.com, a=chofmann@netscape.com


git-svn-id: svn://10.0.0.236/trunk@52947 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 18:49:36 +00:00
norris%netscape.com
545b7b24e3 Fix 18229: Bogus class file names being generated on Windows
git-svn-id: svn://10.0.0.236/trunk@52945 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 17:24:10 +00:00
scc%netscape.com
1efff4fab2 missed two T-->nsISupports instances, which primary platforms didn't catch, since they weren't instantiated
git-svn-id: svn://10.0.0.236/trunk@52943 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 12:25:11 +00:00
scc%netscape.com
95b2d5acdc Specialize |nsCOMPtr| for |nsISupports| (i.e., |nsCOMPtr<nsISupports>|). The specialization _does_not_ have the invariant that |nsCOMPtr<T>| has of always pointing to the COM-correct interface. An |nsCOMPtr<nsISupports>| essentially means "a pointer to _any_ [XP]COM interface". This change allows dougt to fix his M11 bug. a=chofmann, r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52942 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:11 +00:00
scc%netscape.com
8d635674d9 Was using a private name from "nsCOMPtr.h" that happened to go away with this checkin. Should have been using |dont_QueryInterface()|, and now it does. r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52941 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:10 +00:00
scc%netscape.com
544ad333b3 was using private |#defines| (in spite of the warning) from "nsCOMPtr.h" that happened to go away with this checkin. Should have been using |NS_STATIC_CAST| from "nscore.h". r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52940 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:09 +00:00
scc%netscape.com
75bcd345da Since there are two |CurrentItem()| functions, had to add an |NS_STATIC_CAST| to disambiguate the deciding parameter, caused by the change to |nsCOMPtr|s. r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52939 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:08 +00:00
scc%netscape.com
9f6cc405c4 Test the new facilities added to |nsCOMPtr| in this checkin. r={danm, hyatt}
git-svn-id: svn://10.0.0.236/trunk@52938 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 11:43:07 +00:00
karnaze%netscape.com
3760a92c43 new regression tests not affecting the build.
git-svn-id: svn://10.0.0.236/trunk@52937 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 05:25:31 +00:00
karnaze%netscape.com
948d77fe2c bug 18204 - null pointer check fixes crash. permission from chofmann.
git-svn-id: svn://10.0.0.236/trunk@52936 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 05:24:27 +00:00
beard%netscape.com
57aa5577da update just a touch more when resizing views. bug=17574, r=pavlov, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52935 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 04:06:59 +00:00
beard%netscape.com
2464adcbbd implementing InvalidateRegion. r=sfraser, a=chofmann, bug=porkjockey painting
git-svn-id: svn://10.0.0.236/trunk@52934 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-08 04:05:26 +00:00
warren%netscape.com
b0a33033b6 Got Gayatri's JAR protocol working. (not in build yet)
git-svn-id: svn://10.0.0.236/trunk@52933 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 21:55:12 +00:00
karnaze%netscape.com
efa7f84fde new regression tests - does not affect build.
git-svn-id: svn://10.0.0.236/trunk@52931 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 20:02:08 +00:00
tbogard%aol.net
b96fcdaf82 Implemented new interface method GetCurrentURI.
git-svn-id: svn://10.0.0.236/trunk@52929 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:06:38 +00:00
tbogard%aol.net
0f553e90ae Added a readonly attribute to get the currently loaded URI.
git-svn-id: svn://10.0.0.236/trunk@52928 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:05:48 +00:00
tbogard%aol.net
7cf62492a5 Removed NewURI as it is no longer needed. Added new methods that are found in the interface for getting the currently loaded URI. Also made the changes to LoadURI* to match changes in the interface. Took advantage of the change to nsDSURIContentListener to set the presContext for the load. Made nsDSURIContentListener a friend class to avoid having to make some non-interface member functions public.
git-svn-id: svn://10.0.0.236/trunk@52927 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:03:51 +00:00
tbogard%aol.net
a3c35caefc Added methods to set and get the presContext for the content listener. Made nsDocShellBase a friend class so we could move the constructor and all the non-interface methods into protected area.
git-svn-id: svn://10.0.0.236/trunk@52926 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 10:00:53 +00:00
tbogard%aol.net
5ccaaeea48 Changed loadURI to take an nsIURI instead of a wstring. Added a read-only attribute to get the currently loaded URI.
git-svn-id: svn://10.0.0.236/trunk@52925 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-07 09:57:56 +00:00
tbogard%aol.net
813d03c1d2 Changed the C++ includes to the equivalent of nsIURI and nsIStreamListener IDL versions. I couldn't find them earlier. Thanks to andreas.otte@primus-online.de for pointing the availability of them out to me.
git-svn-id: svn://10.0.0.236/trunk@52921 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 19:11:09 +00:00
tbogard%aol.net
977c28a6da Changed the nsIDocShell parent attribute to not create a cycle. Added notes about this. Framed out start of usage for the uriloader. Added code for the new nsDSURIContentListener object to be the callback object for nsIURIContentListener passed to uriloader.
git-svn-id: svn://10.0.0.236/trunk@52920 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 04:51:05 +00:00
tbogard%aol.net
7be6ee6c2f Added parentURIContentListener. Also added comments on the nsIDocShell parent attribute to discuss the cycle situation that could occur. Added notifications about the rules that must be used when using/ implementing this member.
git-svn-id: svn://10.0.0.236/trunk@52919 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 04:48:21 +00:00
tbogard%aol.net
790003c9ea Changed the some of the forward declared interfaces to be includes of the idl files. This makes the usages of these interfaces easier. Also put in the C++ includes for the nasty dumb interfaces nsIURI and nsIStreamListener which haven't found their homes in IDL yet.
git-svn-id: svn://10.0.0.236/trunk@52918 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:58:15 +00:00
endico%mozilla.org
bc53c85ca0 re-enabling bonsai after dmose's monster landing. also, stop maling sar and donm when modules file is updated
git-svn-id: svn://10.0.0.236/trunk@52917 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:46:25 +00:00
dmose%mozilla.org
0efb7c174c updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:43:54 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
beard%netscape.com
b3b0de73e9 added -assign flag, to assign blame to stack crawls.
git-svn-id: svn://10.0.0.236/trunk@52907 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:24:08 +00:00
beard%netscape.com
87caded68d added ASSIGN_BLAME to control whether blameInfo is retrieved (which is quite slow)
git-svn-id: svn://10.0.0.236/trunk@52906 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:23:49 +00:00
beard%netscape.com
5f0aaf354d added tag quoting, to avoid messing up the leak reports.
git-svn-id: svn://10.0.0.236/trunk@52905 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:22:46 +00:00
despotdaemon%netscape.com
ee4fb8f0ff Pseudo-automatic update of changes made by dmose@mozilla.org.
git-svn-id: svn://10.0.0.236/trunk@52904 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:15:28 +00:00
dmose%mozilla.org
4df7c35211 updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52903 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:59:15 +00:00
dmose%mozilla.org
0f496fe790 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52902 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:52:41 +00:00
dmose%mozilla.org
ce50f7d151 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52900 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:47:15 +00:00
dmose%mozilla.org
fe6a96903d updated license boilerplated to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52899 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:24:22 +00:00
endico%mozilla.org
33c31375b8 temporarily disabled this while dmose lands mpl licence change
git-svn-id: svn://10.0.0.236/trunk@52898 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:21:15 +00:00
dmose%mozilla.org
4136bb9b85 updated license boilerplated to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52897 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:11:51 +00:00
taek%netscape.com
502dbdb8c2 updated to use /share/builds/components
git-svn-id: svn://10.0.0.236/trunk@52895 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:11:18 +00:00
dmose%mozilla.org
fa6f75bbee updated license boilerplated to xPL 1.1, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52894 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:06:26 +00:00
endico%mozilla.org
1f4659c914 temporarily turn off bonsai while dmose lands the mpl 1.1 licence
git-svn-id: svn://10.0.0.236/trunk@52893 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 02:03:13 +00:00
rpotts%netscape.com
6d25185793 bug #7428. Added support for connection timeout. Now if a connection cannot be made within 35 seconds, the transport times out.
git-svn-id: svn://10.0.0.236/trunk@52892 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 01:32:34 +00:00
sspitzer%netscape.com
cffac19a5f fix for #18064, r=alecf, a=choffman.
only create the local mail account if the user migrates from imap, or if the
user creates an imap server and they don't have a local mail account.


git-svn-id: svn://10.0.0.236/trunk@52891 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 01:22:28 +00:00
pollmann%netscape.com
63b5916e8b Bug 17995: Don't reset selection when adding an option to a combobox, as it caused reframing and a crash. r=harishd a=choffman
git-svn-id: svn://10.0.0.236/trunk@52890 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 00:54:54 +00:00
drapeau%eng.sun.com
c38feba394 r=fur@netscape.com, approval=chofmann@netscape.com. Fix for bug 5369
("[PP]Crash on startup because of Java Plug-in 1.3 for Netscape
Navigator.")  Make the code more bulletproof by checking for NULL
arguments to several methods.  If JVM isn't running, jEnv arg should
be NULL.

This doesn't entirely fix the problem of a JVM gone awry in all cases;
in the case of this particular bug, the Sun JDK 1.3 Beta HotSpot VM
caused an error, and there's no way for Mozilla code to detect this
failure mode.  The fix for that half of the problem is to use the new
JDK 1.3 Early Access VM, which does not exhibit the problem.


git-svn-id: svn://10.0.0.236/trunk@52888 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 00:24:42 +00:00
selmer%netscape.com
aa6d4da1fe Only put selected components in config's build
git-svn-id: svn://10.0.0.236/trunk@52887 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 00:04:08 +00:00
joki%netscape.com
acb57210c3 Fix for bug 17835. Free JS event listeners when the JS object they're registered on goes away. a:chofmann r:vidur
git-svn-id: svn://10.0.0.236/trunk@52886 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 23:37:40 +00:00
mscott%netscape.com
334b29cffa (not part of the build)
GetProtcocolHandler needs to pass in the uri we are trying to open so the
listener can pick an appropriate p.h. based on the protocol of the uri. (if
they so choose).


git-svn-id: svn://10.0.0.236/trunk@52885 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 23:26:16 +00:00
mscott%netscape.com
fb3eea6b4a (not part of the build)
1) add OpenURIVia support.
2) reimplent DispatchContent so we ask the listener if it can handle the content. Then when (if) we find
a content listener that can handle it, call DoContent.
3) if we can't find a content listener, go to the registry and try to find a registered content handler.
This part isn't finished as eventually i need to be going to the category manager instead of forming
the progid for the content handler myself.


git-svn-id: svn://10.0.0.236/trunk@52884 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 23:06:16 +00:00
mscott%netscape.com
4eb1a093e9 Add OpenURIVia which takes a static IP address.
(not part of the build)


git-svn-id: svn://10.0.0.236/trunk@52883 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 23:03:58 +00:00
mscott%netscape.com
cc6179325b (not part of build)
Add notion of CanHandleContent. This is supposed to be a light weight method for the implementor
such that the uri loader can ask right off the top if the listener can handle a particular content
type. If it can, then later on, the uir loader may call DoContent to actually handle it.


git-svn-id: svn://10.0.0.236/trunk@52882 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:54:53 +00:00
mscott%netscape.com
ab2f6ea0db add a new line at the end of the file
(not part of the seamonkey build)


git-svn-id: svn://10.0.0.236/trunk@52881 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:53:21 +00:00
mscott%netscape.com
53828293ef (not part of the seamonkey build!)
remove CanHandleConent. I don't think we need this. Also remove notion of getting a parent
content handler. This doesn't make sense anymore for how I'm defining a content handler.
Added progid prefix for content handler.


git-svn-id: svn://10.0.0.236/trunk@52880 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:52:35 +00:00
karnaze%netscape.com
49e55fa057 bugs 17138, 17168 and others - col allocation involving colspans honors constraints; pct colspans were allocating incorrectly if pct cols existed.
git-svn-id: svn://10.0.0.236/trunk@52879 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:36:59 +00:00
karnaze%netscape.com
c5c9738319 crash on abc - calls EnsureColumns upon entering reflow if appropriate
git-svn-id: svn://10.0.0.236/trunk@52878 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:33:04 +00:00
putterman%netscape.com
4ee15a0425 Workaround for 18088. make delete toolbar button work for thread pane. reviewed by
hangas approved by chofmann.


git-svn-id: svn://10.0.0.236/trunk@52877 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:21:41 +00:00
norris%netscape.com
1996d97ba3 Unify evaluation code to improve consistency and improve code size.
git-svn-id: svn://10.0.0.236/trunk@52875 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:18:24 +00:00
slamm%netscape.com
e5f4e7c849 Fix for bug 18017, "No sidebar panels in messenger." r=hangas a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52871 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:10:29 +00:00
mjudge%netscape.com
b476111e67 fix review by sfrasier, approved choffman. simple fix to get first letter style frames/paragraphs to show their selection. simply notifies children that the selection bit should be "on"
git-svn-id: svn://10.0.0.236/trunk@52870 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 22:09:16 +00:00
fur%netscape.com
c8cc3fe9b2 Checkpoint
git-svn-id: svn://10.0.0.236/trunk@52867 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 21:58:37 +00:00
alecf%netscape.com
be87817fb0 fix for #17763 - initialize cellFrame so that if it's not found, the null check succeeds
r=hyatt
a=chofmann


git-svn-id: svn://10.0.0.236/trunk@52866 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 21:51:42 +00:00
norris%netscape.com
bef3328b2f Remove JSuncaughtExceptionLine, use an error reporter to report line number info instead.
git-svn-id: svn://10.0.0.236/trunk@52865 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 21:48:05 +00:00
norris%netscape.com
aebde57816 Improve performance of the non-error call code.
git-svn-id: svn://10.0.0.236/trunk@52862 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 21:23:10 +00:00
rpotts%netscape.com
fba1c662d5 bug #17500 (r=warren). Added code to fire an OnStopNotification to the parent load group if an active group is canceled.
git-svn-id: svn://10.0.0.236/trunk@52861 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 20:51:11 +00:00
selmer%netscape.com
a4236232dc Fixups
git-svn-id: svn://10.0.0.236/trunk@52858 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 19:18:33 +00:00
kin%netscape.com
81ed65e99b Temporary Fix for dogfood blocker bugs #18002 and #18006. With kipp's
permission, I backed out his fix for bug #1413 from
layout/html/base/src/nsContainerFrame.cpp revision 1.68.
Will re-check in kipp's fix after M11 is branched.
r=buster@netscape.com  a=chofmann


git-svn-id: svn://10.0.0.236/trunk@52857 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 17:42:21 +00:00
rjc%netscape.com
b4795254b6 Fix bug # 17675. Review: waterson. Approval: chofmann.
git-svn-id: svn://10.0.0.236/trunk@52852 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 09:28:42 +00:00
tbogard%aol.net
5fe04f058d Implemented so pretty straight forward pass through methods.
git-svn-id: svn://10.0.0.236/trunk@52851 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 09:07:57 +00:00
mscott%netscape.com
b5afeda640 (not part of the seamonkey build)
define and implement nsDocumentOpenInfo. Implement uri loader::OpenURI. This is the first pass at
my implementation it isn't complete and it doesn't use the registry for getting
 protocol handlers and content handlers yet...but it's a start


git-svn-id: svn://10.0.0.236/trunk@52849 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 06:01:40 +00:00
mscott%netscape.com
cddea4bf18 (not part of the seamonkey build)
include nsISupportsUtils.h


git-svn-id: svn://10.0.0.236/trunk@52848 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 06:01:05 +00:00
mscott%netscape.com
e1c9ba38b3 (not part of the seamonkey build!)
expanded OpenURI interface to take all the required arguments we need in order to really open the uri.
This includes adding the command, window target, event sink getter, load group and channel context.
Added dispatchContent method which is used by the doc open info's to talk back to the uri loader.
DispatchContent takes an opened channel and the uri content listener.


git-svn-id: svn://10.0.0.236/trunk@52847 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 06:00:36 +00:00
mscott%netscape.com
586a405369 (not part of the seamonkey build!)
doContent now returns a boolean called abortProcess. if the listener wants to handle the content without
 returning a stream listener, i.e. it wants the uri loader to stop doing anything else with this content,
then it returns true for abort process.


git-svn-id: svn://10.0.0.236/trunk@52846 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 05:59:42 +00:00
waterson%netscape.com
3aed471de6 Bug 18058. Remove 'commandDispatcher' from interface; obsolete, and leaky. r=hyatt, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52844 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 05:31:15 +00:00
waterson%netscape.com
ca247c028b Bug 18058. Remove 'commandDispatcher' from interface; obsolete. r=hyatt, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52843 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 05:30:56 +00:00
jefft%netscape.com
2b02c816a3 fixed bug 17928 - undo is not working for thread pane; this is the backend fix of the problem; creating TransactionManager in nsMsgWindow instead of in nsMessenger; r=bienvenu,a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52842 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 05:23:15 +00:00
brendan%mozilla.org
77646a1480 Remove nsIFrameReflow.h deadwood (r=waterson).
git-svn-id: svn://10.0.0.236/trunk@52841 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 05:00:39 +00:00
dougt%netscape.com
1cf333f618 Backing out changes due to nsCOMPtr build problems.
git-svn-id: svn://10.0.0.236/trunk@52840 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 03:32:33 +00:00
dougt%netscape.com
fced92a57e backing out changes. looks like this stuff is untested in a full build.
git-svn-id: svn://10.0.0.236/trunk@52839 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 03:31:04 +00:00
cls%seawood.org
dc0901d830 Fix for the template variable change from <T> to <nsISupports>. r=dougt
git-svn-id: svn://10.0.0.236/trunk@52838 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 03:11:03 +00:00
hangas%netscape.com
b0cc23dd32 Command updating and dispatching changes for menu items. Fixes 17848. r=hyatt, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52837 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 02:21:47 +00:00
dougt%netscape.com
8d74ce705f Changed ownership module inside xpcom/proxy to remove cached objects passed their owner's lifespan.
Removed out of band callback in xpcom/proxy
Fixed webshell leak due to xpcom/proxy. (17009)
Just about everything is now a comptr, god save us. :-)

r=jband, a=brendan.


git-svn-id: svn://10.0.0.236/trunk@52836 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 02:21:46 +00:00
dougt%netscape.com
d73bc37e66 Fix for 17842. Make nsCOMPtr<nsISupports> should not be weak typed. scc's
this change to me and since he is on vacation until monday and I need this
for an M11 bug, I am checking it in.   I am hoping it is the right
thing to do.

a=brendan.


git-svn-id: svn://10.0.0.236/trunk@52835 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 02:18:46 +00:00
alecf%netscape.com
a92195a3a9 implement EnsureRowIsVisible for bug #17763
r=scottip


git-svn-id: svn://10.0.0.236/trunk@52834 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 02:02:09 +00:00
sspitzer%netscape.com
0fdb0ed03c fix warning and fix bug #18036, r=bienvenu, a=chofmann.
prevent the infinite loop when applying filters to mail if a filter
rule uses an arbitrary header.


git-svn-id: svn://10.0.0.236/trunk@52833 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 01:58:03 +00:00
mcafee%netscape.com
5478f9dda3 Switching to use NS_WITH_SERVICE macro as specified in (5403); removing spurious clipboard service instance in nsEditorEventListeners.cpp. r=akkana, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52832 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 01:29:49 +00:00
sdagley%netscape.com
e6b6878f91 Fix to larryh's earlier checkin to implement bug #17558. Previous fix from bad diff would always result in an error trying to create a file that already existed (should only be an error in certain cases). r=sfraser
git-svn-id: svn://10.0.0.236/trunk@52831 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 01:18:07 +00:00
waterson%netscape.com
808d64da48 Fix leak with nsCOMPtr. r=brendan, a=brendan
git-svn-id: svn://10.0.0.236/trunk@52830 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:52:23 +00:00
selmer%netscape.com
45c7e5cf11 Tweak prior checkin a little
git-svn-id: svn://10.0.0.236/trunk@52829 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:49:23 +00:00
jfrancis%netscape.com
6d48eccaa5 bug 17744; a=choffman; r=floppy moose
git-svn-id: svn://10.0.0.236/trunk@52828 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:46:06 +00:00
waterson%netscape.com
7335ede542 Fix leak with nsCOMPtr. r=brendan, a=brendan
git-svn-id: svn://10.0.0.236/trunk@52827 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:44:10 +00:00
selmer%netscape.com
c9b01acbd6 Fixups to generatelist & related handling of listbox type widgets
git-svn-id: svn://10.0.0.236/trunk@52826 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:36:17 +00:00
matt%netscape.com
34a8cb4799 fix for bug 18042 by adding close window tag r=mcafee
git-svn-id: svn://10.0.0.236/trunk@52825 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:34:48 +00:00
larryh%netscape.com
1f62cd6fa3 BugZilla 17558. PR_Open() gets PR_EXCL flag
git-svn-id: svn://10.0.0.236/trunk@52824 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:21:39 +00:00
despotdaemon%netscape.com
3189ded990 Pseudo-automatic update of changes made by vishy@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@52823 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-05 00:09:17 +00:00
pollmann%netscape.com
b98eecf039 Bug 17431: Clean house in form and form control destructors to allow reframing r=harishd a=choffman
git-svn-id: svn://10.0.0.236/trunk@52822 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 23:16:47 +00:00
sfraser%netscape.com
d76ff386a5 Fixes for 16723 -- fix error returns from imglib. Remove and re-add files to project to fix the case of the filenames. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52820 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 23:11:48 +00:00
sfraser%netscape.com
c0ec1f713e Fixes for 16723 -- fix error returns from imglib. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52819 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 23:11:11 +00:00
sfraser%netscape.com
1fcc54491d Fixes for 16723 -- fix error handling so that errors from image allocation are propogated back to imglib.. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52818 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:47:24 +00:00
rods%netscape.com
e34b01ce89 Commented out the reset of the list when an option gets added
Fixes crashers 17836, 17852, 17965 r=kmcclusk


git-svn-id: svn://10.0.0.236/trunk@52817 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:45:10 +00:00
mcafee%netscape.com
451b1f9771 Fixing JS error when loading prefs; skipping assertion in nsPrefWindow::ChangePanel() that is not needed for prefs to function, left a comment there so we can fix that later. (14663) a=matt, r=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52816 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:39:21 +00:00
sfraser%netscape.com
b5daf46f31 Fixes for 18029 and 16723 -- fix image drawing on Mac to use GWorlds, and put in api to lock and unlock pixels. Pass a real nsDrawingSurface to the image, instead oif a cast GrafPtr. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52815 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:36:21 +00:00
sfraser%netscape.com
db24ddd87b Fixes for 18029 and 16723 -- fix image drawing on Mac to use GWorlds, and put in api to lock and unlock pixels. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52814 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:32:22 +00:00
sfraser%netscape.com
28261a4ca0 Fixes for 18029 and 16723 -- fix image drawing on Mac to use GWorlds, and put in api to lock and unlock pixels. Leave more free space in the heap for image (GWorld) pixels. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52813 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:29:02 +00:00
sfraser%netscape.com
2d10f84704 Fixes for 18029 and 16723 -- fix image drawing on Mac to use GWorlds, and put in api to lock and unlock pixels. Adding new error module for libimg. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52812 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:27:36 +00:00
sfraser%netscape.com
1cf929984f Fixes for 18029 and 16723 -- fix image drawing on Mac to use GWorlds, and put in api to lock and unlock pixels. r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52811 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:26:57 +00:00
nisheeth%netscape.com
59271d7e21 r=norris,warren,radha. a=chofmann. Fix for bug 1646. Javascript: URLS were not getting loaded properly because the webshell was changing its notion of the current document (by setting mURL and mReferrer) too eagerly. Now, it does so only after the nsDocLoader::LoadDocument() in DoLoadURL() returns successfully.
git-svn-id: svn://10.0.0.236/trunk@52809 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:09:46 +00:00
pinkerton%netscape.com
7f537da550 add "status" area to the bottom so that bottom scroll arrow on MacOS is visible (r=slamm, bug# 8266).
git-svn-id: svn://10.0.0.236/trunk@52808 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:04:17 +00:00
nisheeth%netscape.com
45eec85b6b r=norris,warren,radha. a=chofmann. Fix for 1646. Javascript: urls return NS_ERROR_DOM_RETVAL_UNDEFINED when the javascript: url evaluates into an undefined value. This error is propagated back up to nsWebShell::DoLoadURL().
git-svn-id: svn://10.0.0.236/trunk@52807 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 22:02:19 +00:00
varada%netscape.com
027697488c updating accountsetup.ini to deal with workspace
git-svn-id: svn://10.0.0.236/trunk@52805 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 21:48:32 +00:00
varada%netscape.com
fee0b89b42 updating makefile to create the WSTemplate
git-svn-id: svn://10.0.0.236/trunk@52804 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 21:47:27 +00:00
sfraser%netscape.com
df972eb658 Did a 'Remove object code and compact' on this project, and tidied up some access paths to try to eliminate the CodeWarrior hangs. a=leaf
git-svn-id: svn://10.0.0.236/trunk@52802 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 21:16:02 +00:00
valeski%netscape.com
8cf0748300 10736, r=andreas.otte@primus-online.de. Actually I'm more like the reviewer here. Andreas submitted this optimization to MakeAbsolute (it uses minimal memory routines and minimal parsing. this means performance increase by a factor of 10 for this method). I'm checking it in for him.
git-svn-id: svn://10.0.0.236/trunk@52800 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 20:31:36 +00:00
neeti%netscape.com
1fe4d7149a fix for MLK bug 15818, every ImageURLImpl leaks.r=pnunn, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52799 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 20:24:25 +00:00
selmer%netscape.com
81e77a0f71 Dynamic component checkbox initialization
git-svn-id: svn://10.0.0.236/trunk@52798 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 20:19:27 +00:00
sspitzer%netscape.com
aa210a0654 better fix for #17597, r=mscott, a=chofmann.
instead of setting the action for the url, check if we have a channel listener.
this is a cleaner fix, and now the quoting back end doesn't need to know about
the nntp url.


git-svn-id: svn://10.0.0.236/trunk@52796 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 20:02:31 +00:00
jefft%netscape.com
f295b6af47 fixed bug 15069 && 12345 -- passing in file:/// instead of file:// as the file url spec; r=bienvenu, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52795 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 19:47:21 +00:00
waterson%netscape.com
487d4b32af Bug 17953, 17959. Fix nsXULElement leaks by using nsCOMPtrs. r=warren, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52794 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 19:44:38 +00:00
waterson%netscape.com
9530e8d060 Bug 17955. Don't unnecessarily add script event listeners to temporary nodes used for overlay hookup. r=hyatt, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52793 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 19:43:43 +00:00
putterman%netscape.com
8b6bdd6f64 Fix for 17987. Approved by chofmann and reviewed by hangas.
git-svn-id: svn://10.0.0.236/trunk@52792 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 19:38:11 +00:00
kipp%netscape.com
b20b0d0a0e r=vidur; bug=17372; found a case where a trailing shy character on a line would trigger an infinite loop iff the shy character was the only piece of text after a text frame had been continued
git-svn-id: svn://10.0.0.236/trunk@52791 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 19:34:36 +00:00
waterson%netscape.com
143a89ffc8 Bug 17847. Fix 'commandupdater' hookup for master document. r=hyatt, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52790 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 18:37:58 +00:00
jefft%netscape.com
d7f7734495 fixed bug 17925 -- pop3 get all message again; restore old behavior; always set leave message on server; r=rhp, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52786 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 15:27:29 +00:00
rhp%netscape.com
2bd2bc6f06 Changes for String Bundle problem in forwarding - Bug #: 12345 - r: jefft - approved: chofmann
git-svn-id: svn://10.0.0.236/trunk@52785 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 13:59:26 +00:00
waterson%netscape.com
8c5481dd42 Bug 11501. Tree has regressed s.t. it is necessary to have a <treecol>; add it here. r=hyatt, a=jack
git-svn-id: svn://10.0.0.236/trunk@52784 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 08:57:52 +00:00
waterson%netscape.com
9f071c70b6 Bug 17946. Trees must be contained within a fixed div. r=hyatt, a=jack
git-svn-id: svn://10.0.0.236/trunk@52783 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 08:33:08 +00:00
sgehani%netscape.com
9c16ff2bfc No longer delete core file if it existed before running the installer: now only deleted if downloaded. Also, cleaned up the terminal window UI.
Only affects the standalone Install Wizard app, not the browser or mail.

[r=ssu, a=chofmann]


git-svn-id: svn://10.0.0.236/trunk@52782 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 08:23:55 +00:00
jefft%netscape.com
7ff57f52b5 partial fix for bug 12345 - unable to forward message; check for valid url before calling msg_pick_real_name() to prevent crashing; r=rhp, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52781 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 06:25:36 +00:00
beard%netscape.com
7670b1d344 moved System.exit() to end of main.
git-svn-id: svn://10.0.0.236/trunk@52780 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 06:15:55 +00:00
beard%netscape.com
a669c996d6 moved System.exit() to end of main
git-svn-id: svn://10.0.0.236/trunk@52779 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 06:07:35 +00:00
beard%netscape.com
a297c877e2 JShell properties files.
git-svn-id: svn://10.0.0.236/trunk@52778 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 06:06:40 +00:00
beard%netscape.com
09e0a51db2 factored out common code to locate a source file on lxr or bonsai
git-svn-id: svn://10.0.0.236/trunk@52777 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 06:06:13 +00:00
beard%netscape.com
881e796d98 communicates with cvsblame.cgi to assign blame to lines of a source file.
git-svn-id: svn://10.0.0.236/trunk@52776 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 06:05:52 +00:00
troy%netscape.com
66ca226b8a b=#17315. Changed DeletingFrameSubtree() to also look at the continuing
frames.


git-svn-id: svn://10.0.0.236/trunk@52775 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 05:23:11 +00:00
ducarroz%netscape.com
d3ee736373 Fix for bug 17902. Fix various FCC problems as well error display. R=alecf, A=chofmann
git-svn-id: svn://10.0.0.236/trunk@52774 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 04:58:06 +00:00
sspitzer%netscape.com
baf56f68cb fix for #17597. reply to a news article doesn't quote the body.
the problem was when we ran the nntp url to get the message we weren't
calling OnDataAvailabe() on the channel listener.  the reason is the channel
listener only got poked when ActionDisplayArticle was set as the action on
the nntp url.  but this wouldn't be the case when we got run from the Quoting backend.  I added a new action, and made sure to set it when running the url from the quoting back end, and then made sure the nntp backend did the right thing.

r=alecf, a=chofmann


git-svn-id: svn://10.0.0.236/trunk@52773 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 04:31:09 +00:00
jj%netscape.com
f66e87957c set installer target directory to "Mozilla Folder" and changed "bin" to "viewer" to reflect the Mac tree structure.
git-svn-id: svn://10.0.0.236/trunk@52771 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 03:01:29 +00:00
jj%netscape.com
2efb8c65ad . moved 'Component Registry' from [browser] to [install]
. removed 'default_prefs.js' and 'chrome:registry.rdf'
. added 'viewer:' in front of _each_ line (parser root change)


git-svn-id: svn://10.0.0.236/trunk@52770 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 03:01:25 +00:00
jj%netscape.com
498764afb0 fixed components lists for [Easy install] and variable names for module sizes.
git-svn-id: svn://10.0.0.236/trunk@52769 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 03:01:24 +00:00
beard%netscape.com
48f9184ff1 bug #17847, fix clobbering of mSlots->mAttributes in GetAttributes(). r=waterson, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52768 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 02:56:54 +00:00
slamm%netscape.com
a8fb89cee4 Do run-length encoding for the raw data option. End revision records with a period. Buffer the raw data output.
git-svn-id: svn://10.0.0.236/trunk@52767 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 02:14:56 +00:00
hyatt%netscape.com
4353fd2505 Partial fix for 17848. Part 1 of 2. 2nd part will be checked in by hangas. r=hangas, a=brendan
git-svn-id: svn://10.0.0.236/trunk@52766 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 01:59:04 +00:00
waterson%netscape.com
9d4795faed Bug 17024. Fix mClassList leak; add bloaty stats for nsClassList. r=hyatt a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52765 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 01:50:47 +00:00
waterson%netscape.com
a65db3660c Bug 15146. Don't eagerly create a <xul:menu>'s contents. r=hyatt a=brendan
git-svn-id: svn://10.0.0.236/trunk@52764 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 01:49:34 +00:00
waterson%netscape.com
744719ecdb Bug 15146. Fix charset overlay template; don't force menus to be open; r=hyatt a=brendan
git-svn-id: svn://10.0.0.236/trunk@52763 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 01:48:46 +00:00
mccabe%netscape.com
46ecd1ff3b Link fixes. Not part of the Mozilla build.
git-svn-id: svn://10.0.0.236/trunk@52762 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 00:35:31 +00:00
beard%netscape.com
396d175b3c can handle multiple inputs, now using common FileLocator class to generate blame/lxr URLs.
git-svn-id: svn://10.0.0.236/trunk@52761 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 00:24:26 +00:00
beard%netscape.com
9cc1992ed4 Uses CVS/Entries to determine the revision of a checked out file.
git-svn-id: svn://10.0.0.236/trunk@52760 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 00:10:12 +00:00
pinkerton%netscape.com
b2e6d58834 Fix bug 15276 by flushing the data to the clipboard right before app shuts down. (r=davidm).
git-svn-id: svn://10.0.0.236/trunk@52759 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 00:08:59 +00:00
rogerl%netscape.com
388bc22458 Removed - not an ECMA thing and supplanted by a different mechanism.
git-svn-id: svn://10.0.0.236/trunk@52758 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 00:01:00 +00:00
rogerl%netscape.com
859165ee97 Fix back-reference parsing from going too far in source string
git-svn-id: svn://10.0.0.236/trunk@52757 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-04 00:00:14 +00:00
rogerl%netscape.com
ec90446de8 Replaced Closure object with FunctionObject clone
git-svn-id: svn://10.0.0.236/trunk@52756 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:59:35 +00:00
rogerl%netscape.com
74b9419214 Removed NativeClosure
git-svn-id: svn://10.0.0.236/trunk@52755 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:58:51 +00:00
rogerl%netscape.com
830d037821 Fix nested finally endless loop.
Replaced Closure object with FunctionObject clone.


git-svn-id: svn://10.0.0.236/trunk@52754 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:57:56 +00:00
rogerl%netscape.com
ee745b4cbf Add closure support
git-svn-id: svn://10.0.0.236/trunk@52753 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:56:28 +00:00
rogerl%netscape.com
02ca74c760 Removing NativeClosure
git-svn-id: svn://10.0.0.236/trunk@52752 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:55:59 +00:00
mcafee%netscape.com
555440d16c ftp & http proxy settings got reversed in the UI (15165). r=slamm, a=chofmann.
git-svn-id: svn://10.0.0.236/trunk@52751 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:53:15 +00:00
nisheeth%netscape.com
e3cf2c3428 r=harishd, a=chofmann. Fix for bugs 11992, 10563. New lines get reported in the XML document prolog. Now, JS errors in XML report correct line numbers.
git-svn-id: svn://10.0.0.236/trunk@52750 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:50:16 +00:00
slamm%netscape.com
13a4379130 Add feature for beard and his leak soup tool. Return raw data if 'data=1' is added as a parameter. Cleaned up some code too.
git-svn-id: svn://10.0.0.236/trunk@52749 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:37:44 +00:00
mcafee%netscape.com
adc6cb1f75 We were using the wrong pref to enable JS (14660). r=slamm, a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52748 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:10:47 +00:00
hangas%netscape.com
99a452e913 Fix for bug 16189, which allows undo/redo to be used in the thread pane of mail/news. r-jefft a=chofmann
git-svn-id: svn://10.0.0.236/trunk@52746 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 23:03:12 +00:00
rogerl%netscape.com
aa1271a477 Not a part of SeaMonkey Build
- new LiveConnect AIX4.3 makefile for server builds


git-svn-id: svn://10.0.0.236/trunk@52745 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:55:03 +00:00
varada%netscape.com
5c09a71e2a getting rid of root variable in che file
git-svn-id: svn://10.0.0.236/trunk@52744 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:44:24 +00:00
rhp%netscape.com
8276a693be Fix for null pointer access - Bug #17597 - r: jefft - approved: chofmann
git-svn-id: svn://10.0.0.236/trunk@52743 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:35:04 +00:00
rhp%netscape.com
3f83ba7a62 Fix for null pointer access - Bug #17597 - r: jefft approved: chofmann
git-svn-id: svn://10.0.0.236/trunk@52742 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:34:30 +00:00
radha%netscape.com
8f70df6307 Fix for bug # 17893. Pass the url to nsISessionHistory::Add().Don't set
nsWebShell::mURL too early in the loading process.
r=law,nisheeth


git-svn-id: svn://10.0.0.236/trunk@52741 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:30:44 +00:00
varada%netscape.com
5908cc6076 getting rid of spaces in cck.ini
git-svn-id: svn://10.0.0.236/trunk@52740 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:27:29 +00:00
varada%netscape.com
777e334a14 getting rid of spaces in the inifiles and changing titles
git-svn-id: svn://10.0.0.236/trunk@52739 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:27:06 +00:00
varada%netscape.com
193096cba0 installing wizardmachine.ini inthe dist directory
git-svn-id: svn://10.0.0.236/trunk@52738 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:24:09 +00:00
varada%netscape.com
6663eb3602 This file will contain the nameof the application
git-svn-id: svn://10.0.0.236/trunk@52737 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:23:48 +00:00
varada%netscape.com
9d146034cd message box in interpret
git-svn-id: svn://10.0.0.236/trunk@52736 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:22:54 +00:00
varada%netscape.com
c2f62d838f getting rid of root variable from the che files
git-svn-id: svn://10.0.0.236/trunk@52735 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:22:31 +00:00
rods%netscape.com
c7fa28614d added two more tests
git-svn-id: svn://10.0.0.236/trunk@52734 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:14:42 +00:00
rods%netscape.com
17f32ce4ba Initial checkin of test
git-svn-id: svn://10.0.0.236/trunk@52733 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:14:25 +00:00
kipp%netscape.com
8fae81516b r=joki; fixed the ancient and venerable bug 1413 by noting that the code was using an optimization that wasn't always valid and that one that optimization wasn't valid, the slower path must be used...I commented the fix fairly solidly
git-svn-id: svn://10.0.0.236/trunk@52732 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:09:00 +00:00
akkana%netscape.com
7e907a0c91 Fix key event bustage: treat DOM_VK_RETURN and DOM_VK_ENTER equivalently. r=ftang,joki a=chofmann,leaf
git-svn-id: svn://10.0.0.236/trunk@52731 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 22:05:45 +00:00
kipp%netscape.com
44a7143485 updated document regardling block and line-layout operation; this is html documents that are not part of the build nor part of any install process, etc.
git-svn-id: svn://10.0.0.236/trunk@52730 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 21:11:37 +00:00
joki%netscape.com
68b221d555 Fixing dom event key set errors. bug 17887, a:chofmann
git-svn-id: svn://10.0.0.236/trunk@52729 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 20:53:13 +00:00
joki%netscape.com
e151377558 Reverting key set to previous version. Fixes 17887. a:chofmann r:brade.
git-svn-id: svn://10.0.0.236/trunk@52728 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 20:40:35 +00:00
endico%mozilla.org
0ee8ded981 fixed a bunch of typos. Also, handleCheckinMail.tc was replaced by handleCheckinMail.pl
git-svn-id: svn://10.0.0.236/trunk@52727 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 20:33:57 +00:00
blizzard%redhat.com
e72f94df90 patch to fix backspacing from quy@igelaus.com.au. a=choffman
git-svn-id: svn://10.0.0.236/trunk@52726 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 20:25:19 +00:00
alecf%netscape.com
b5de07e079 fix for blocker #17882
a=leaf


git-svn-id: svn://10.0.0.236/trunk@52723 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 19:47:17 +00:00
rogerl%netscape.com
9f777f2bad Added defn of AIX4_3 to help fix dup typedef int8,int16 etc
git-svn-id: svn://10.0.0.236/trunk@52720 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 18:56:17 +00:00
slamm%netscape.com
8fc0df1c8f Ignore a few more warnings caused by lame unix header files.
git-svn-id: svn://10.0.0.236/trunk@52719 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 18:52:13 +00:00
gagan%netscape.com
34d286f60f Last of the leftover files... that didn't include the API change.
git-svn-id: svn://10.0.0.236/trunk@52716 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 09:33:03 +00:00
gagan%netscape.com
8dc7bd557e Modified the call to match the new signature of CreateTransport. a=mcafee.
git-svn-id: svn://10.0.0.236/trunk@52715 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:52:04 +00:00
gagan%netscape.com
4ef759b3d4 Removed an extra free that cvs merge put in!
git-svn-id: svn://10.0.0.236/trunk@52714 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:21:37 +00:00
gagan%netscape.com
cb1a2aee98 Argh... speed kills. Removed this conflict that I accidently checked in.
git-svn-id: svn://10.0.0.236/trunk@52713 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:19:54 +00:00
gagan%netscape.com
8f3ae7048a Fixes 11708,15477 and partial 14610. r=warren. We now pass a print host for displaying in status messages that is different than the hostname connecting to. Also added Keep-Alive support (turned on by user_pref("network.http.keep-alive",1))We also honor the "network.proxy.type" preference to turn the proxy use on and off.
git-svn-id: svn://10.0.0.236/trunk@52712 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:17:59 +00:00
gagan%netscape.com
4ac72526b1 Fixes 11708,15477 and partial 14610. r=warren. We now pass a print host for displaying in status messages that is different than the hostname connecting to. Also added Keep-Alive support (turned on by user_pref("network.http.keep-alive",1))
git-svn-id: svn://10.0.0.236/trunk@52711 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:14:38 +00:00
gagan%netscape.com
e67319abec *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@52710 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:12:18 +00:00
gagan%netscape.com
6bf9a22c91 Added printHost parameter for use in status messages in cases where printHost is different than the connecting host (as in the case of proxies) Fixes bug 11708. r=warren.
git-svn-id: svn://10.0.0.236/trunk@52709 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:11:39 +00:00
sgehani%netscape.com
60ed9bf4bb Removing obsolete prefix files. (Replaced by nsInstallerPrefix* and mozInstallerPrefix*.)
git-svn-id: svn://10.0.0.236/trunk@52708 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:06:59 +00:00
pavlov%netscape.com
0f628926da work on nsIWidget r=alecf
git-svn-id: svn://10.0.0.236/trunk@52707 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 08:04:59 +00:00
sgehani%netscape.com
ee85b8ad76 Chnage MIW target name to Mozilla Installer [r=sfraser].
git-svn-id: svn://10.0.0.236/trunk@52706 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:54:28 +00:00
sgehani%netscape.com
9d8269b689 1> Extraction of all files rather than regexp core_*/* search.
2> Prepare installer to work off of local archives for CD scenario and Mozilla (no sdinst.dll).                                    
3> Fix build warnings.                                                    
4> Separated out Netscape and Mozilla specific targets.    
5> Separated out Netscape and Mozilla specfic resources.
                                                                                      
[r=sfraser]


git-svn-id: svn://10.0.0.236/trunk@52705 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:53:59 +00:00
mscott%netscape.com
6ade5969e3 work around for Bug 17065
for bienvenu
r=mscott


git-svn-id: svn://10.0.0.236/trunk@52704 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:53:44 +00:00
mscott%netscape.com
7b3899b763 Some work arounds to HIDE Bug #17065 which causes us to hang when parsing large imap folders on linux.
WE still have the problme where the ui thread is stealing events from the imap thread and processing them
on the ui thread.

We're just working around it so folks can use linux imap mail. This code was jointly written with bienvenu.

r=bienvenu/mscott


git-svn-id: svn://10.0.0.236/trunk@52703 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:52:45 +00:00
sgehani%netscape.com
dd18053d33 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52702 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:50:01 +00:00
dveditz%netscape.com
3f4468adf1 fixes 8271,6410,12694 and similar startup/registry problems
git-svn-id: svn://10.0.0.236/trunk@52701 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:46:38 +00:00
dveditz%netscape.com
3330477d88 shutting up copious warnings using /W4 on MSVC
git-svn-id: svn://10.0.0.236/trunk@52700 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:39:19 +00:00
dveditz%netscape.com
acf32d6fc2 Changing registry keys to a mozilla-centric name rather than netscape.
git-svn-id: svn://10.0.0.236/trunk@52699 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:36:03 +00:00
pavlov%netscape.com
c5f9102c78 work on scrolling, CSS2 native system colors, etc. r=mcafee
git-svn-id: svn://10.0.0.236/trunk@52697 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:34:50 +00:00
alecf%netscape.com
cb89931340 add open="true" to all the account
r=scottip
no bug, it's cosmetic/usability thing


git-svn-id: svn://10.0.0.236/trunk@52696 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:33:08 +00:00
mccabe%netscape.com
793e09ae44 Fix many nsInterfaceInfo leaks, thanks in part to patches provided by Patrick Beard. Fixes 15855. Some remain.
Clear up build warnings, and quiet nsInterfaceInfomanager debug output unless DEBUG_iim.  Makes startup a li'l less noisy.  Fixes 15628.

r=jband


git-svn-id: svn://10.0.0.236/trunk@52695 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:23:37 +00:00
alecf%netscape.com
e92bd577aa fix for #17214 - consolidate all username and hostname handling so that escaping/unescaping happens logically
git-svn-id: svn://10.0.0.236/trunk@52694 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:16:59 +00:00
joki%netscape.com
c6ca4a722e added files: mozilla/dom/src/events/nsJSKeyEvent.cpp
git-svn-id: svn://10.0.0.236/trunk@52693 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:12:13 +00:00
joki%netscape.com
c79e9c67d2 Changes to DOM events to accomodate the new breakdown of events into mouse and key events. This fixes a couple of bug, though the main one is 13406. Involves changes to multiple DOM generated file as well as fixing up usage of DOM event api usage in editor, rdf, and xul. r:vidur
git-svn-id: svn://10.0.0.236/trunk@52691 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:11:45 +00:00
putterman%netscape.com
ff8a8db130 return rv instead of NS_OK so that we only return null targets with NS_RDF_NO_VALUE.
This stops a bunch of assertions.  reviewed by alecf.


git-svn-id: svn://10.0.0.236/trunk@52690 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 07:09:56 +00:00
waterson%netscape.com
f4ec813667 Bug 13252. Build content for current template before recursing to build content for children. r=alecf.
git-svn-id: svn://10.0.0.236/trunk@52689 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 06:59:49 +00:00
buster%netscape.com
1115c0f4da fixed bug 17792 (text set via DOM displays in HTL password control)
r=myself, I'll take the heat if this goes bad.  It's a very simple change.
The text control optimization was turned on for single line text controls,
and turned off for text areas.  With this change, the optimization is also
turned off for password fields.  This shouldn't effect performance in any
noticable way, because there are very rarely more than one or two password
controls on a single page.  The optimization in the case of password fields
isn't worth the extra code and complexity for dealing with replacing
characters with '*'


git-svn-id: svn://10.0.0.236/trunk@52688 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 06:53:07 +00:00
sgehani%netscape.com
40645c00d1 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52687 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 06:12:10 +00:00
davidm%netscape.com
eb18a1b917 3110
r= morse
modification to get single sign on back


git-svn-id: svn://10.0.0.236/trunk@52686 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 06:07:53 +00:00
ftang%netscape.com
74098be2bc back out 1.32 to fix 17811. This will break 14914
git-svn-id: svn://10.0.0.236/trunk@52685 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:47:25 +00:00
dcone%netscape.com
6d4e070e6b Fixed a divide by zero crasher, and cleaned up borders. r=buster
git-svn-id: svn://10.0.0.236/trunk@52684 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:46:01 +00:00
dp%netscape.com
86bb1af06f Eliminating use of nsService class in preparation for making services
usable with COMPtrs.


git-svn-id: svn://10.0.0.236/trunk@52683 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:41:43 +00:00
dp%netscape.com
df73ba585b Deny GetService() requests which cause Creation of new objects on
shutdown. r=jband, r=ScottPutterman


git-svn-id: svn://10.0.0.236/trunk@52682 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:38:45 +00:00
dp%netscape.com
e537410a85 Removing nsIShutdown listener usage for ServiceManager.
git-svn-id: svn://10.0.0.236/trunk@52681 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:36:30 +00:00
danm%netscape.com
7de071230b instead of using the thread hashtable's enumerator while processing events (a Mac-specific habit), build and use a parallel linked list structure. hashtable and list want unification someday. fixes bug 16551. r:brendan@netscape.com
git-svn-id: svn://10.0.0.236/trunk@52680 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:30:49 +00:00
davidm%netscape.com
7a25b6fe62 8673 ShutDown() should try to close all open windows.
r=sfraser
set tryToClose function and proprogate out if the close was sucessfull


git-svn-id: svn://10.0.0.236/trunk@52679 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:28:02 +00:00
davidm%netscape.com
ad7f1ff33f 8673 ShutDown() should try to close all open windows.
r= hangas


git-svn-id: svn://10.0.0.236/trunk@52678 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:26:31 +00:00
davidm%netscape.com
16e407c7ff 12539 Crash when quitting browser while bookmark properties dialog
r = saari
 nsINetPrompt implementation
r morse


git-svn-id: svn://10.0.0.236/trunk@52677 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:25:21 +00:00
davidm%netscape.com
218749a885 6552 Browser-generated forms not triggering single-signon
switch to use nsINetPrompt so that single sign lives again
r morse


git-svn-id: svn://10.0.0.236/trunk@52676 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:24:01 +00:00
davidm%netscape.com
793f6ff27d 6552 Browser-generated forms not triggering single-signon
add nsINetPrompt for single sign on
r morse


git-svn-id: svn://10.0.0.236/trunk@52675 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:21:49 +00:00
davidm%netscape.com
77cd59699a First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52674 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:19:39 +00:00
warren%netscape.com
fa66ea22fe Structural changes for MakeAbsolute performance. bug#10736 r=valeski
git-svn-id: svn://10.0.0.236/trunk@52673 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:13:44 +00:00
warren%netscape.com
c34a2941df Made nsIInputStreamChannel scriptable and constructable from component manager. bug#15294
git-svn-id: svn://10.0.0.236/trunk@52672 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:09:20 +00:00
warren%netscape.com
335afbc323 Fixed more bustage from gordon's checking -- missing vtable symbols for nsDNSRequest's (unused) nsIRequest interface.
git-svn-id: svn://10.0.0.236/trunk@52671 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 04:57:34 +00:00
sgehani%netscape.com
8b93319dca Fix build bustage for cathleen.
git-svn-id: svn://10.0.0.236/trunk@52670 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 04:30:14 +00:00
beard%netscape.com
afdb749e2c First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52669 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 04:26:41 +00:00
waldemar%netscape.com
50364b8107 Removed distribution restrictions because this is part of the language spec
git-svn-id: svn://10.0.0.236/trunk@52668 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:59:31 +00:00
waldemar%netscape.com
9c4cb1eacb Updated to Mozilla 1.1 license
git-svn-id: svn://10.0.0.236/trunk@52667 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:58:07 +00:00
mscott%netscape.com
9dc7572e8b (not part of the seamonkey build!!)
no longer need nsURILoaderCIDs.h


git-svn-id: svn://10.0.0.236/trunk@52666 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:55:39 +00:00
mscott%netscape.com
e59a60cd4c (not part of the seamonkey build!!!!)
name change of nsURIDispatcher to nsIURILoader


git-svn-id: svn://10.0.0.236/trunk@52665 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:53:33 +00:00
mscott%netscape.com
6ef6f80a98 one more tweak for Bug #17825
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@52664 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:51:12 +00:00
gagan%netscape.com
c1350f1279 Added file. Not in the build. Some utility code for color console messages on Unix. Using this is simple- Declare PRINTF_FOO in the scope of your printf statements where FOO is one of the colors in (YELLOW, RED, CYAN, BLUE, MAGENTA, GREEN) and any printfs in that scope will print in color. You may also start and stop colors by using STARTF00 and ENDCOLOR. So you can try something like printf(STARTRED "Red " STARTBLUE "Blue" ENDCOLOR);
git-svn-id: svn://10.0.0.236/trunk@52663 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:43:13 +00:00
pierre%netscape.com
cff215812e Fix from py8ieh=bugzilla@bath.ac.uk for bugs 12765 and 12766. Updated link/visited/out-of-date declarations for hover/focus/active. r=me
git-svn-id: svn://10.0.0.236/trunk@52662 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:19:04 +00:00
jj%netscape.com
0e29d47284 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52661 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:17:47 +00:00
bienvenu%netscape.com
5ca1658c79 add cancel method to nntp protocol r=mscott
git-svn-id: svn://10.0.0.236/trunk@52660 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:17:36 +00:00
bienvenu%netscape.com
cea102d05c add cancel method to mailbox and pop protocol r=mscott
git-svn-id: svn://10.0.0.236/trunk@52659 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:17:15 +00:00
bienvenu%netscape.com
5b5b7371ea fix build warnings, r=putterman, add cancel method to protocol r=mscott
git-svn-id: svn://10.0.0.236/trunk@52658 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:16:26 +00:00
mscott%netscape.com
a3d9d45365 Bug #17825 --> pass nsIMsgWindow into SetWindow instead of a msgStatus feedback object in order
to fix save attachements.
r=sspitzer


git-svn-id: svn://10.0.0.236/trunk@52657 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:12:58 +00:00
akkana%netscape.com
9ee5feb4b3 Part of bratell@lysator.liu.se's fix to the nsHTMLToTXTSinkStream. r=akkana
git-svn-id: svn://10.0.0.236/trunk@52656 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 03:08:04 +00:00
akkana%netscape.com
8e7977a75f Contribution by Daniel Bratell <bratell@lysator.liu.se> to implement
format=flowed for mail plaintext output. r=akkana and (I think) rhp.


git-svn-id: svn://10.0.0.236/trunk@52655 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:46:16 +00:00
jj%netscape.com
f64d069264 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52654 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:44:58 +00:00
akkana%netscape.com
ec594ff4cd Contribution by Daniel Bratell <bratell@lysator.liu.se> to implement
format=flowed for mail plaintext output.  Restructures the plaintext
output wrapping code, wholly or partially fixes numerous bugs in plaintext
output (13278, 13442, 17823, 17824, 13753, 12551), makes the automated
tests work on Windows and adds some new automated tests. r=akkana.


git-svn-id: svn://10.0.0.236/trunk@52653 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:44:44 +00:00
jj%netscape.com
16fbda6ce8 File Removed.
git-svn-id: svn://10.0.0.236/trunk@52652 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:44:27 +00:00
gordon%netscape.com
1c497557b9 Fix more of my bustage: pass clientContext parameter back on callbacks from nsDNSService::Lookup(). r=warren.
git-svn-id: svn://10.0.0.236/trunk@52651 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:42:52 +00:00
danm%netscape.com
0aac10ff9d oops! Observe() was checked in flawed in 1.90. gtk may one day have noticed. r:noman@odyssey.org
git-svn-id: svn://10.0.0.236/trunk@52650 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:29:59 +00:00
varada%netscape.com
d313f9eb9b checking in right cck.che
git-svn-id: svn://10.0.0.236/trunk@52649 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:21:02 +00:00
cmanske%netscape.com
77285a1fb7 Changed Mail Compose XUL to use new comboboxes on toolbar (bug 17098).
git-svn-id: svn://10.0.0.236/trunk@52648 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:18:01 +00:00
warren%netscape.com
dc473b8de3 Fixed Gordon's wackage.
git-svn-id: svn://10.0.0.236/trunk@52647 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:18:00 +00:00
selmer%netscape.com
114c2d4d83 Stupid, remove jar_s/zlib_s since not using it!
git-svn-id: svn://10.0.0.236/trunk@52646 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:10:04 +00:00
selmer%netscape.com
662527d103 Stupid, remove ifuncns.obj since not using it!
git-svn-id: svn://10.0.0.236/trunk@52645 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:08:55 +00:00
cathleen%netscape.com
7c3533ab68 fixed bug #17774. prevent crash when UI name is passed as null.
also moved mPatchList to allocate hashtable to nsIntall::Patch().  r=dougt


git-svn-id: svn://10.0.0.236/trunk@52644 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 02:01:02 +00:00
varada%netscape.com
2c76c5f5ed changing the template name from ws_template to wstemplate
git-svn-id: svn://10.0.0.236/trunk@52643 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:58:43 +00:00
varada%netscape.com
0ccce7f199 fixing bug #6558 adding new show config info button in checklist.ini and changing text of show sum button on build page to reflect the same
git-svn-id: svn://10.0.0.236/trunk@52642 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:57:07 +00:00
selmer%netscape.com
00b336668e Big honking checkin for Install Builder
git-svn-id: svn://10.0.0.236/trunk@52641 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:51:54 +00:00
nisheeth%netscape.com
424a4cc34c r=vidur. Fix for bug 9075. Return NS_OK instead of NS_ERROR_NOT_IMPLEMENTED from nsXMLDocument::GetDocType(). This allows script parsing to continue after a document.doctype JS statement is encountered.
git-svn-id: svn://10.0.0.236/trunk@52640 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:48:54 +00:00
alecf%netscape.com
1bb6cf2186 fix message datasource so it doesn't return an error back to RDF
partial fix for #17811
r=putterman


git-svn-id: svn://10.0.0.236/trunk@52639 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:38:54 +00:00
wtc%netscape.com
fb1a3c22e8 Bugzilla bug #15906: add support for the GC leak detector. Contributed
by Patrick Beard <beard@netscape.com>.


git-svn-id: svn://10.0.0.236/trunk@52638 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:37:19 +00:00
kmcclusk%netscape.com
fe5984a76a nsIScriptableRegion instances can now be created on WIN32.
nsbug=12465; r=beard@netscape.com


git-svn-id: svn://10.0.0.236/trunk@52637 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:37:12 +00:00
wtc%netscape.com
64b8be9959 Bugzilla bug #15906: use the GC leak detector. Contributed by
Patrick Beard <beard@netscape.com>.


git-svn-id: svn://10.0.0.236/trunk@52636 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:33:03 +00:00
jj%netscape.com
ad629fba04 Added 'Component Registry' + removed 14 xpi engine files from [core] + renamed modules [xpiengine]->[install] and [core]->[browser]
git-svn-id: svn://10.0.0.236/trunk@52635 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:31:35 +00:00
gordon%netscape.com
49947504d3 Basic Mac implementation of async DNS. r=warren, patrick; part of bug:10731.
git-svn-id: svn://10.0.0.236/trunk@52634 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:24:51 +00:00
gordon%netscape.com
66130367d8 Mac specific interrupt<->thread synchronization mechanism, required for async Mac dns.
r=warren, patrick, wtc, srinivas, larryh; part of bug:10731.


git-svn-id: svn://10.0.0.236/trunk@52633 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:22:58 +00:00
rods%netscape.com
9b02da0b6f put quotes around all button i.e. type="button"
rearranged all focus,hover & active rules and put them in that order.
r=kmcclusk, part of 14951


git-svn-id: svn://10.0.0.236/trunk@52632 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 01:01:55 +00:00
cmanske%netscape.com
cabfc8b277 Fixed bugs 17098, 17808, and a lot of UI cleanup. Rewrote Image Properties dialog so More/Fewer works and layout is better. Moved image URLs from DTD to CSS files. r=brade
git-svn-id: svn://10.0.0.236/trunk@52631 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:48:26 +00:00
terry%mozilla.org
435176df52 Whoops! Was reporting ASSIGNED bugs as being closed. Also, changed
it to report the resolution of the bug instead of the word "closed".
Many thanks to dbaron@fas.harvard.edu for suggesting this change, and
reporting the bug.


git-svn-id: svn://10.0.0.236/trunk@52630 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:44:29 +00:00
kipp%netscape.com
eed8ac6824 r=troy; remove another 4 bytes from each block frame for a total of 10% today :-)
git-svn-id: svn://10.0.0.236/trunk@52629 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:42:12 +00:00
kipp%netscape.com
fbfbed8f89 r=troy; Removed old garbage code that referred to an unused symbol from nsHTMLParts.h
git-svn-id: svn://10.0.0.236/trunk@52628 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:41:42 +00:00
mstoltz%netscape.com
2656423bf8 Fixed windows breakage in standalone by adding a typedef
git-svn-id: svn://10.0.0.236/trunk@52627 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:41:20 +00:00
rogerl%netscape.com
6701db0533 Not a part of SeaMonkey Build
- added lnker option for server folks


git-svn-id: svn://10.0.0.236/trunk@52626 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:28:51 +00:00
mjudge%netscape.com
9252d81168 small fix from pierre on use of the style system. pierre reviewed.
git-svn-id: svn://10.0.0.236/trunk@52625 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:11:49 +00:00
kmcclusk%netscape.com
a30e4bc896 Removed call to mWebShell->Repaint in nsHTMLFrameInnerFrame::Reflow. This eliminates
multiple repaints of the content area in Mozilla when the content area is resized.
The mWebShell->SetBounds is sufficient since it invalidates the webshell window.
bug 16270; r= rods@netscape.com


git-svn-id: svn://10.0.0.236/trunk@52624 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:11:40 +00:00
jfrancis%netscape.com
3d0b1d674f fix for 17673;r=sfraser
git-svn-id: svn://10.0.0.236/trunk@52623 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:07:37 +00:00
rods%netscape.com
13ee3e3b3d Add CountAllChild to count all the option and optgroup elements so lists
get sized correctly when no rows are specified
r=kmcclusk, bug=4050


git-svn-id: svn://10.0.0.236/trunk@52622 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:07:01 +00:00
rods%netscape.com
50248ce5b0 Added code to size the button appropriately when style sets the size and
make it clip for drawing.
NOTE: This is a temporary fix for bug #17474


git-svn-id: svn://10.0.0.236/trunk@52621 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:05:30 +00:00
rods%netscape.com
89ba99747a Combos now size correctly when the size is specified via style
r=kmcclusk, b=16317


git-svn-id: svn://10.0.0.236/trunk@52620 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:03:32 +00:00
kmcclusk%netscape.com
a09d34ccd1 Fixed places where SetProperty and Reset were missing the nsIPresContext argument.
This fixed 6 warnings and cases where reset and set property where not working properly for
all form elements. r = rods@netscape.com.


git-svn-id: svn://10.0.0.236/trunk@52619 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 00:01:13 +00:00
rods%netscape.com
913fe3b85c removed a line that wasn't needed and caused a warning r=kmcclusk
git-svn-id: svn://10.0.0.236/trunk@52618 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:54:40 +00:00
bienvenu%netscape.com
381c484f1a turn meteors back off, per mscott's request and review
git-svn-id: svn://10.0.0.236/trunk@52617 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:46:54 +00:00
mstoltz%netscape.com
fc96225344 Created helper class nsZipRead to hold read state information. That way
one nsJAR can support multiple input streams. r=norris


git-svn-id: svn://10.0.0.236/trunk@52616 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:46:09 +00:00
norris%netscape.com
2323d5792a Fix
10194 Possible security vulnerability in "chrome:" protocol - acce
14979 "chrome" protocol allows accessing arbitrary files on the lo
r=vidur


git-svn-id: svn://10.0.0.236/trunk@52615 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:44:27 +00:00
kipp%netscape.com
29b0107f3f Fixed up comments in test file list
git-svn-id: svn://10.0.0.236/trunk@52614 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:43:25 +00:00
kipp%netscape.com
e4bab0a0e6 r=troy; Shrink block frames by 4 bytes per instance by making the overflow-lines instance variable a frame property
git-svn-id: svn://10.0.0.236/trunk@52613 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:42:52 +00:00
robinf%netscape.com
f5e6d0785f fixing M11 bug 15335
git-svn-id: svn://10.0.0.236/trunk@52612 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:42:48 +00:00
pinkerton%netscape.com
72f9201ec6 rewrote item detection code to handle the case where the toolbar isn't in a frame that is at 0,0 (like windows with the menu bar above the personal toolbar). (r=saari, bug #17800).
git-svn-id: svn://10.0.0.236/trunk@52611 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:42:16 +00:00
kipp%netscape.com
f734a9cc39 r=troy; Added a new frame property atom
git-svn-id: svn://10.0.0.236/trunk@52610 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:42:13 +00:00
pollmann%netscape.com
78899987be Bug 7554: HTML Labels now pass JS events to form element the label is for
r=harishd


git-svn-id: svn://10.0.0.236/trunk@52609 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:38:17 +00:00
jband%netscape.com
f26efbdd12 r=mccabe use NS_NewTimer stuff only on Win32 in this test code. This avoids Unix build order problems that were keeping the xpconnect test components from working at all.
git-svn-id: svn://10.0.0.236/trunk@52608 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:35:54 +00:00
cls%seawood.org
3e1a9ca95a Removed unused NECKO ifdefs.
a=leaf


git-svn-id: svn://10.0.0.236/trunk@52607 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:34:03 +00:00
jband%netscape.com
e1ba1048c5 r=mccabe make output from xpcshell's new 'dump' method go to the same place as output of 'print': stdout rather than stderr
git-svn-id: svn://10.0.0.236/trunk@52606 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:31:09 +00:00
alecf%netscape.com
79451301a6 fix for #12703 - don't hold onto XULElements after they have been removed from the tree - don't bother checking mDocument because it will be null when the content has been removed from the document
r=hyatt


git-svn-id: svn://10.0.0.236/trunk@52605 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:30:33 +00:00
ducarroz%netscape.com
ab0bddd10c Fix for bug 17768. Set ProgID to soemething else than an empty string. R=rhp
git-svn-id: svn://10.0.0.236/trunk@52604 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:29:51 +00:00
nisheeth%netscape.com
2d91e8e29f Fix bug 15304. Added a flag to bscmake.exe. Only executed when the browse_info target is used.
git-svn-id: svn://10.0.0.236/trunk@52603 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:29:48 +00:00
sspitzer%netscape.com
baa984b1b1 fix #16457, r=mscott. if an error occurs in the SMTP protocol state machine, we may need to pop up the alert right then, and not when we get back to the url listener, because we'd loose the error text from the SMTP server. these changes
pop up the alert and set the error code so that the url listener doesn't try to
pop up another alert.  define a bunch of new error codes, and remove nsMsgTransition.h, which was defining all the MK_ error codes that were in there.
are no longer needed.


git-svn-id: svn://10.0.0.236/trunk@52602 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:27:46 +00:00
cls%seawood.org
a95990ff7f No need to generate obsolete network Makefiles
git-svn-id: svn://10.0.0.236/trunk@52601 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:27:45 +00:00
selmer%netscape.com
c4d5dc11d9 New Makefile system for builds
git-svn-id: svn://10.0.0.236/trunk@52600 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:25:41 +00:00
nhotta%netscape.com
fac05a4ebc Added a call to encoder finish, this allows encoder to write out remaining data such as escape sequences of ISO-2022-JP, bug 17805, r=ftang.
git-svn-id: svn://10.0.0.236/trunk@52599 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:24:10 +00:00
valeski%netscape.com
f63ddf59d3 r=cyeh, forcing PR_LOGGING for ftp in release builds
git-svn-id: svn://10.0.0.236/trunk@52598 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:24:06 +00:00
bienvenu%netscape.com
c5b3a013a5 remove the imap channel from the load group when finished running r=mscott
git-svn-id: svn://10.0.0.236/trunk@52597 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:22:29 +00:00
akhil.arora%sun.com
38a11db343 17802 r=drapeau@eng.sun.com Workshop C++ 5.0 needs a cast
git-svn-id: svn://10.0.0.236/trunk@52596 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:57:58 +00:00
rogerl%netscape.com
9871278292 Added Kurt Westerfeld's fix for 'undefined is not a function' message.
git-svn-id: svn://10.0.0.236/trunk@52595 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:52:10 +00:00
dmose%mozilla.org
83e38c06cc updated license boilerplate to xPL v1.1
git-svn-id: svn://10.0.0.236/trunk@52594 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:43:10 +00:00
cls%seawood.org
7190f1f2a8 Use #elif not #elseif
git-svn-id: svn://10.0.0.236/trunk@52593 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:36:59 +00:00
dmose%mozilla.org
20069a7cf6 updated license boilerplate to xPL v1.1
git-svn-id: svn://10.0.0.236/trunk@52592 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:23:59 +00:00
petitta%netscape.com
5a257f75ca initailizes the dist directory
git-svn-id: svn://10.0.0.236/trunk@52590 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:21:05 +00:00
petitta%netscape.com
29a164a7ec add include file InitDist.win
git-svn-id: svn://10.0.0.236/trunk@52589 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:15:36 +00:00
terry%mozilla.org
927e36576b Due to popular request, "bug changed" mail will only report changes in
state on dependent bugs if they move from an 'open' to a 'closed'
state, or visa-versa.  Also, if there are more than 5 bugs on the
list, then we won't even try to generate the details (doing so only
generates lots of extra mail that is too hard to parse anyway.)


git-svn-id: svn://10.0.0.236/trunk@52588 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 22:14:11 +00:00
pavlov%netscape.com
a90526ccd9 add scriptable region to unix factory fixes bug 12465 r=slamm
git-svn-id: svn://10.0.0.236/trunk@52587 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:57:14 +00:00
ssu%netscape.com
857b4649d5 fixing redness on mac tinderbox. #else if doesn't work. Changed it to #elseif
git-svn-id: svn://10.0.0.236/trunk@52586 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:50:07 +00:00
pinkerton%netscape.com
21dea39deb turn off very verbose debug output. r=saari
git-svn-id: svn://10.0.0.236/trunk@52585 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:39:47 +00:00
bienvenu%netscape.com
3b1ca7dd5b more work to hook up stop button, r=mscott 17743
git-svn-id: svn://10.0.0.236/trunk@52584 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:36:59 +00:00
jfrancis%netscape.com
e109f40aa7 changed bogus node type to br to get rid of annoying space in empty editors; r=kin
git-svn-id: svn://10.0.0.236/trunk@52583 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:35:21 +00:00
rhp%netscape.com
51c892b441 Changes to remove ToCString() calls - Bug #'s: 17580 17581 - r: nhotta
git-svn-id: svn://10.0.0.236/trunk@52582 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:31:32 +00:00
pinkerton%netscape.com
3490d404ad add text/plain flavor acceptance to dragOver on personal toolbar and set canDrop on drag session so win32 uses the correct cursor feedback. (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52581 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:28:14 +00:00
cata%netscape.com
f404d8e1ea Fixing typo in dtd file. Checkin for momoi, r=cata, bug=17018.
git-svn-id: svn://10.0.0.236/trunk@52580 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:27:02 +00:00
jefft%netscape.com
2c52d1343a fixed bug 16540 - 4.x Pop3 prefs not being heeded; ported over as server specific prefs, also added logging facility, less query interface, more cached capability on server; r=bienvenu
git-svn-id: svn://10.0.0.236/trunk@52579 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:20:47 +00:00
waldemar%netscape.com
3d577f8188 Added more no-line-break constraints, simplified visibility treatment, and added named function arguments
git-svn-id: svn://10.0.0.236/trunk@52578 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:12:04 +00:00
nhotta%netscape.com
5612e1f8a8 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@52577 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:09:05 +00:00
nhotta%netscape.com
5b9bc9b77b Removing a file (not part of the build), this project file was checked in as a text instead of binary.
git-svn-id: svn://10.0.0.236/trunk@52576 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:08:38 +00:00
pinkerton%netscape.com
00599502a2 set event struct type for drag events. previously uninitialized and caused random things to occur during drags (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52575 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:04:40 +00:00
waterson%netscape.com
2fa1de35a2 Don't enable drag & drop on scrollbars. r=pink,hyatt
git-svn-id: svn://10.0.0.236/trunk@52574 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:03:46 +00:00
msw%gimp.org
ceb7def2a5 applied patch in 14263 to build xpconnect as a component on
Linux/alpha.  Should also fix 13601, 11847.
r=jband@netscape.com


git-svn-id: svn://10.0.0.236/trunk@52573 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 21:03:13 +00:00
ftang%netscape.com
f80890ee10 fix one typo. add new locale name for Chinese. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@52572 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:58:47 +00:00
tonyr%fbdesigns.com
25d9029cf4 Fixed discovery of mail folders to import when multiple MAPI message stores are in use
git-svn-id: svn://10.0.0.236/trunk@52571 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:58:37 +00:00
harishd%netscape.com
0bce4f45ab No bug number.
Improvement to table performance by reducing
the number of context switch calls.

r=vidur


git-svn-id: svn://10.0.0.236/trunk@52570 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:58:12 +00:00
matt%netscape.com
86cd62a5d8 fix for bug 14634 r-hangas
git-svn-id: svn://10.0.0.236/trunk@52569 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:57:22 +00:00
tonyr%fbdesigns.com
873914c889 Fix to escape From lines in Outlook Express 5.0 message bodies
git-svn-id: svn://10.0.0.236/trunk@52568 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:57:21 +00:00
morse%netscape.com
9410e061b6 fix bug 17645, high-order bit on cookie character getting garbled, r=dp
git-svn-id: svn://10.0.0.236/trunk@52567 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:56:13 +00:00
waldemar%netscape.com
5123dfaa8d Fixed constraint positioning bug
git-svn-id: svn://10.0.0.236/trunk@52566 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:54:44 +00:00
matt%netscape.com
d1c10fc10e fix for bug 14634 r-bill
git-svn-id: svn://10.0.0.236/trunk@52565 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:51:29 +00:00
matt%netscape.com
c018d1acdc fix for bug 6830 and 14634 r-bill
git-svn-id: svn://10.0.0.236/trunk@52564 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:49:49 +00:00
sgehani%netscape.com
119d8e6f37 Fixed bugs 10540, 9148. Libjar now reads teh central directory headers as opposed to the local file headers. This enables us to glean permissions informationand restore file mode upon extraction. A side-effect is the bug 10540 fix where the Install.Execute() API now works on Linux since we restore the execute bits in temporarily extracted files. [r=ssu]
git-svn-id: svn://10.0.0.236/trunk@52563 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:37:28 +00:00
slamm%netscape.com
19101eea26 Bloat: Change coloring algorithm. Set the baseline every time there is a jump up or down.
git-svn-id: svn://10.0.0.236/trunk@52562 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:09:20 +00:00
rogerl%netscape.com
3ee7564f6a More RegExp back reference specification mucking about.
git-svn-id: svn://10.0.0.236/trunk@52561 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:04:57 +00:00
rogerl%netscape.com
bbab2a24a8 Fixed up for Java vs. ECMA definitions in edge cases
git-svn-id: svn://10.0.0.236/trunk@52560 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 20:04:16 +00:00
tbogard%aol.net
14fc302c46 Changed URIDispatcher to URILoader throughout.
git-svn-id: svn://10.0.0.236/trunk@52559 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 19:36:43 +00:00
mscott%netscape.com
24c042e752 Add cvsignore file for uriloader\build
git-svn-id: svn://10.0.0.236/trunk@52558 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 19:21:49 +00:00
mscott%netscape.com
3088a6720d (not part of the build!)
add .cvsignore file


git-svn-id: svn://10.0.0.236/trunk@52557 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 19:21:01 +00:00
mscott%netscape.com
ce5a53f536 this directory is not part of the build!!!
add .cvsignore file


git-svn-id: svn://10.0.0.236/trunk@52556 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 19:18:04 +00:00
mscott%netscape.com
84368cfe83 this directory isn't part of the build!!!!
add a Makefile for uriloader\build


git-svn-id: svn://10.0.0.236/trunk@52555 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 19:09:50 +00:00
mscott%netscape.com
a31f301140 (This directory isn't part of the build!!)
Add a Makefile for the uriloader base directory.


git-svn-id: svn://10.0.0.236/trunk@52554 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 19:09:15 +00:00
akhil.arora%sun.com
1c67d02237 17610 r=akhil.arora@sun.com, fix=Denis Sharypov <sdv@sparc.spb.su>
Cosmetic changes to remove warnings generated by Visual C++ compiler
Do not link with unneccessary library raptorgfx in makefile.win
Use JAVAHOME to point to JDK instead of hardcoding the path


git-svn-id: svn://10.0.0.236/trunk@52553 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 18:52:14 +00:00
akhil.arora%sun.com
5b541fa64b 17610 r=Denis Sharypov <sdv@sparc.spb.su>
Make code const correct to remove warnings from workshop 5.0 compiler


git-svn-id: svn://10.0.0.236/trunk@52552 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 18:42:53 +00:00
kipp%netscape.com
37b2efc82c r=ftang; Fixed regression in linux font rendering caused by case sensitivity being required for the character set lookups
git-svn-id: svn://10.0.0.236/trunk@52551 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 18:20:05 +00:00
kipp%netscape.com
b3604151b4 Fixed bug 17698 - prepended srcdir to each of the resources being installed
git-svn-id: svn://10.0.0.236/trunk@52550 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:53:17 +00:00
kipp%netscape.com
63a86eb8cd fixed bug 15316 by tweaking the html style sheet as the author of the bug suggested
git-svn-id: svn://10.0.0.236/trunk@52549 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:49:50 +00:00
kipp%netscape.com
941b74b495 r=troy; fixed bugs 2636 and 17636 - line layout issues for some more edge cases (nobr's with floaters in them) and handling of nbsp
git-svn-id: svn://10.0.0.236/trunk@52548 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:44:57 +00:00
karnaze%netscape.com
bf8bc966c9 ComputeDesiredHeight - removed potential error if first child is not a row group.
git-svn-id: svn://10.0.0.236/trunk@52547 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:41:38 +00:00
buster%netscape.com
2bbfb06080 bug 17727 ([dogfood] Password not showing stars for default values unless we click inside the field.)
r=brade

change is in nsGfxTextControl.cpp.  I used to just blindly set the text of the underlying text frame.
Now I check if it's a password field, and replace the display text with '*' if it is.


git-svn-id: svn://10.0.0.236/trunk@52546 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 15:12:47 +00:00
rods%netscape.com
be66a15de9 updated the tests
git-svn-id: svn://10.0.0.236/trunk@52545 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 14:51:20 +00:00
rods%netscape.com
f75283d60b initial
git-svn-id: svn://10.0.0.236/trunk@52544 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 14:44:55 +00:00
syd%netscape.com
0887d1ab7b The code doesn't check to see if commandNode is non-NULL. It actually does,
but too late.

Before:
< 	var value = commandNode.getAttribute(valueAttribute);
< 	if ( commandNode && value )
< 		commandNode.setAttribute('value', value);
It looks to see if commandNode is non-NULL *after* it uses it to get "value".
After:
> 	if ( commandNode ) {
> 		var value = commandNode.getAttribute(valueAttribute);
> 		if ( value )
> 			commandNode.setAttribute('value', value);
> 	}

r=BenB


git-svn-id: svn://10.0.0.236/trunk@52543 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 12:29:57 +00:00
ftang%netscape.com
5a4cba5ec3 fix bug 14914. r=cata (several weeks ago). change the GetEncoder/GetDecoder from a loop which create/destroy/IsEqual of nsString to use PROGID directly
git-svn-id: svn://10.0.0.236/trunk@52542 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 08:49:20 +00:00
idk%eng.sun.com
4a0f268246 17747
Added "ifdef OJI_DISABLE"
in case OJI_DISABLE we will have binaries working without oji
Apdated README


git-svn-id: svn://10.0.0.236/trunk@52541 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 08:07:09 +00:00
rpotts%netscape.com
05c908d920 bug #3469 (r=warren). Fixing nsLoadGroup::Cancel() to call cancel on all active transports and subgroups...
git-svn-id: svn://10.0.0.236/trunk@52540 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 08:00:07 +00:00
warren%netscape.com
857d05a688 Made nsHTTPEncodeStream seekable (for reposting form data). Bug #17685. r=waterson
git-svn-id: svn://10.0.0.236/trunk@52539 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 07:43:37 +00:00
mccabe%netscape.com
b3f3e6c4bc Reverting lib fix to fix impending bustage.
git-svn-id: svn://10.0.0.236/trunk@52538 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 07:39:51 +00:00
shaver%netscape.com
dd157213ab updated nsSample.js, long overdue (r=brendan)
git-svn-id: svn://10.0.0.236/trunk@52537 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 07:36:25 +00:00
valeski%netscape.com
f9329cacef adding some keyword support back in
git-svn-id: svn://10.0.0.236/trunk@52536 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 07:18:44 +00:00
dmose%mozilla.org
68d3ee8a2a updating license to xPL 1.1
git-svn-id: svn://10.0.0.236/trunk@52535 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 07:16:31 +00:00
ftang%netscape.com
202313d853 check in the patch submit by Jonas Utterstrom <jonas.utterstrom@vittran.norrnod.se in message news://news.mozilla.org/381B3757.FEC144BC%40vittran.norrnod.se fix bug 17706. r=ftang
git-svn-id: svn://10.0.0.236/trunk@52534 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 07:01:44 +00:00
dmose%mozilla.org
8135a379f0 updating license to xPL 1.1
git-svn-id: svn://10.0.0.236/trunk@52533 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:56:28 +00:00
ftang%netscape.com
b93e1edb98 add debuggin message for bug 7571. r=nhotta
git-svn-id: svn://10.0.0.236/trunk@52532 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:54:37 +00:00
mccabe%netscape.com
b13865d0da Another stab at linking with the timer static library - this time using EXTRA_DSO_LDOPTS.
r=jband


git-svn-id: svn://10.0.0.236/trunk@52531 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:53:58 +00:00
dmose%mozilla.org
c6627a15ce removing stubfe files from the trunk; these are only relevant in the MozillaClassic branch
git-svn-id: svn://10.0.0.236/trunk@52530 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:51:30 +00:00
warren%netscape.com
1d1448afe5 Made nsIUnicharStreamLoader be scriptable and deal with an xpcom observer instead of a proc pointer and void*. Part of bug#11159. r=nisheeth,kipp,pierre
git-svn-id: svn://10.0.0.236/trunk@52529 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:49:44 +00:00
valeski%netscape.com
ea48e3cc05 putting www.*.com trick back in
git-svn-id: svn://10.0.0.236/trunk@52528 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:43:19 +00:00
waterson%netscape.com
e8d88c499c Fix two more leaks that I forgot to check in.
git-svn-id: svn://10.0.0.236/trunk@52527 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:40:38 +00:00
dmose%mozilla.org
2ccab49e6d updating license boilerplate to xPL v1.1
git-svn-id: svn://10.0.0.236/trunk@52526 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:38:29 +00:00
dmose%mozilla.org
377be09812 updating license boilerplate to xPL v1.1
git-svn-id: svn://10.0.0.236/trunk@52525 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:27:30 +00:00
waterson%netscape.com
c33933dfdc remove CTOR and DTOR counters, because the descendant classes will all
account for this space. r=warren


git-svn-id: svn://10.0.0.236/trunk@52524 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:21:07 +00:00
dmose%mozilla.org
9fc7780ead updating license boilerplate to xPL v1.1
git-svn-id: svn://10.0.0.236/trunk@52523 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:20:05 +00:00
valeski%netscape.com
55265a0fbb pulling non-qualified host-to-keyword server logic
git-svn-id: svn://10.0.0.236/trunk@52522 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:18:01 +00:00
dmose%mozilla.org
630d8b77f1 updating license boilerplate
git-svn-id: svn://10.0.0.236/trunk@52521 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:13:48 +00:00
troy%netscape.com
1ab461f4c6 r=pierre@netscape.com
Fix compiler warning


git-svn-id: svn://10.0.0.236/trunk@52520 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:07:12 +00:00
troy%netscape.com
0481fd6a2b Real fix for my build bustage. Kipp had commened the offending code out to
keep the build going


git-svn-id: svn://10.0.0.236/trunk@52519 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 06:06:46 +00:00
jband%netscape.com
5cd00daf35 - Add test code for calling back via a timer on potentially other JSConetxt
to the xpconnect echo interface. This will help fix bug 17736. This includes
using nsITimer which is a pretty messed up xpcom interface w/o a factory.

- Added dump() to xpcshell to make it compatible with browsers debug
output method.

- reformat beard's leak fix to follow 80 column rule.

- Add a missing dont_AddRef to avoid a leak in some debug code.

r=mccabe


git-svn-id: svn://10.0.0.236/trunk@52518 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:55:29 +00:00
nisheeth%netscape.com
3810554e35 r=nisheeth. Fix for bug 12323. Thanks to Ian Hickson (py8ieh=bugzilla@bath.ac.uk) for the patch. Only lowercase chars are accepted in the stylesheet PI.
git-svn-id: svn://10.0.0.236/trunk@52517 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:49:57 +00:00
troy%netscape.com
8c862baf0d Changed QueryInterface() to check for nsIFrameDebug
git-svn-id: svn://10.0.0.236/trunk@52516 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:49:11 +00:00
dmose%mozilla.org
ab8bcb5065 updating license boilerplate
git-svn-id: svn://10.0.0.236/trunk@52515 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:38:33 +00:00
warren%netscape.com
54581e51ee Added some sanity assertions. r=gagan
git-svn-id: svn://10.0.0.236/trunk@52514 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:38:22 +00:00
warren%netscape.com
afd6573875 Fix for bad refcount tracing. r=buster,nisheeth
git-svn-id: svn://10.0.0.236/trunk@52513 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:37:04 +00:00
waterson%netscape.com
b2a8f1f15e Fix two leaks courtesy evaughan.
git-svn-id: svn://10.0.0.236/trunk@52512 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:36:08 +00:00
warren%netscape.com
ddf6490f7b Removed dependence on neckoutil functions. Part of bug#11159. Not in the build yet.
git-svn-id: svn://10.0.0.236/trunk@52511 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:31:56 +00:00
buster%netscape.com
b599517d9a fixed bug 17689 r=jfrancis
git-svn-id: svn://10.0.0.236/trunk@52510 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:16:41 +00:00
tbogard%aol.net
aa0f04f201 Changed NS_ASSERTION to NS_WARN_IF_FALSE to avoid crashing people when condition is met. r=hyatt.
git-svn-id: svn://10.0.0.236/trunk@52509 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:14:27 +00:00
tbogard%aol.net
62ce3cdd71 Changed NS_NOTREACHED to be NS_WARN_IF_FALSE() so as to not crash everyone. r=sfraser.
git-svn-id: svn://10.0.0.236/trunk@52508 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:12:05 +00:00
valeski%netscape.com
8cf9738323 11869, r=warren. passing the http spec all the way into http rather than passing a simple uri into the service newChannel().
git-svn-id: svn://10.0.0.236/trunk@52507 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:05:44 +00:00
morse%netscape.com
cf72289b9d fix ui regressons in cookie viewer, code=rgoodger, r=morse
git-svn-id: svn://10.0.0.236/trunk@52506 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:04:57 +00:00
morse%netscape.com
c465ca23ff fix ui regressons in signon viewer, code=rgoodger, r=morse
git-svn-id: svn://10.0.0.236/trunk@52505 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 05:04:19 +00:00
valeski%netscape.com
52d16678ac missed a case
git-svn-id: svn://10.0.0.236/trunk@52504 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 04:22:12 +00:00
valeski%netscape.com
ff5c4380e5 16910, r=mcafee. FTP now uses thread pools. it also provides some status to the webshell. and it no longer uses the server's defualt path.
git-svn-id: svn://10.0.0.236/trunk@52503 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 04:04:23 +00:00
valeski%netscape.com
af0f3e7b0b 11869, r=mcafee. adding keyword protocol handler to the build. mac still needs to be hooked up.
git-svn-id: svn://10.0.0.236/trunk@52502 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 04:01:35 +00:00
valeski%netscape.com
43382f61e2 11869, r = travis. we no longer to the www.*.com trick as it is handled by the keyword protocol handler. we now kick qualifying requests to the keyword protocol handler.
git-svn-id: svn://10.0.0.236/trunk@52501 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 04:00:07 +00:00
hangas%netscape.com
ab9a0355a1 Progress on Command Updating and Dispatching (15127). r=scottip
git-svn-id: svn://10.0.0.236/trunk@52500 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:55:59 +00:00
pinkerton%netscape.com
35ff47ccc3 making the drop feedback be 2 pixels wide, not one (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52499 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:55:44 +00:00
pinkerton%netscape.com
e182909557 fix for #16463 (crash when frames involved in a drag went away) and nsCOMPtrizing a lot of things (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52498 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:55:14 +00:00
pinkerton%netscape.com
871ab8e113 add ability to have a sub-frame (such as an inner box) be the area which is where the draggable content resides.
git-svn-id: svn://10.0.0.236/trunk@52497 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:54:24 +00:00
pinkerton%netscape.com
e5be208b97 add new drop area attribute for identifying subframes of a toolbar where the real content is.
git-svn-id: svn://10.0.0.236/trunk@52496 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:53:58 +00:00
pinkerton%netscape.com
d9fc856c54 turn d&d on personal toolbar back on and clean it up after new xul file rewrite.
git-svn-id: svn://10.0.0.236/trunk@52495 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:53:30 +00:00
slamm%netscape.com
19446f1058 Partial fix for bug 17722, "No [Sidebar] Panels for mac". We should probably copy the entire directory, but adding a MANIFEST file to profile/defaults would mess up Linux and Windows. May need to add Makefiles for them too. r=pinkerton.
git-svn-id: svn://10.0.0.236/trunk@52494 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:49:14 +00:00
pollmann%netscape.com
b1d9af131b Removing null code. No bug number. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@52493 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:48:04 +00:00
pavlov%netscape.com
21d2358524 add unix makefiles for docshell r=mcafee,paulmac. also changed IDL to C++ in the two .cpp files' emacs comments and added a newline at the end of them (files not built by default)
git-svn-id: svn://10.0.0.236/trunk@52492 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:43:10 +00:00
pavlov%netscape.com
0ab35801a3 clamp down sizes < 2^15 r=dbaron@fas.harvard.edu r=paulmac ;) fixes bug 2564
git-svn-id: svn://10.0.0.236/trunk@52491 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:38:23 +00:00
bienvenu%netscape.com
e1b2ce4a78 add code for hooking up stop button,r=putterman 12016
git-svn-id: svn://10.0.0.236/trunk@52490 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 03:34:45 +00:00
slamm%netscape.com
bd6f30c5cb File dependency not needed anymore. Fix build bustage. r=mcafee.
git-svn-id: svn://10.0.0.236/trunk@52489 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 02:57:23 +00:00
mcafee%netscape.com
5a6348e661 Adding pavlov to modeless pref dialog patch, improved some assertion comments. r=pavlov
git-svn-id: svn://10.0.0.236/trunk@52488 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 02:43:04 +00:00
brendan%mozilla.org
bed10de2c0 Fixed getter/setters, pave way for brutal sharing (15146, r=shaver@mozilla.org,rogerl@netscape.com)
git-svn-id: svn://10.0.0.236/trunk@52487 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 02:23:50 +00:00
cathleen%netscape.com
93f291a8ea adding in missing chrome and res files for mac packager
git-svn-id: svn://10.0.0.236/trunk@52486 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 02:22:50 +00:00
waterson%netscape.com
df32caa941 Fix manky nsCOMPtr asserts.
git-svn-id: svn://10.0.0.236/trunk@52485 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 02:02:27 +00:00
varada%netscape.com
9d03b5a02f fixing bug #6666 marking the readme and license checkboxes as default
git-svn-id: svn://10.0.0.236/trunk@52484 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:58:11 +00:00
rogerl%netscape.com
15318a9b2b Changed -n to regular since the error is getting detected in the code now.
git-svn-id: svn://10.0.0.236/trunk@52483 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:55:59 +00:00
mcafee%netscape.com
e555659f6b NECKO=1 is on by default now. this was removed from the Makefile name-space this past weekend and needs to be removed here. Adding necko directories by default, removing netwerk/makefiles. Adding netwerk/protocols/keyword/Makefiles for valeski. r=slamm.
git-svn-id: svn://10.0.0.236/trunk@52482 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:54:54 +00:00
alecf%netscape.com
d3116d95c6 fix bustage, forgot this file in my last checkin
git-svn-id: svn://10.0.0.236/trunk@52481 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:53:28 +00:00
dmose%mozilla.org
361fd99522 updated license boilerplate
git-svn-id: svn://10.0.0.236/trunk@52480 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:51:54 +00:00
pollmann%netscape.com
4b235a7aef Removing null code. No bug number. r=nisheeth
git-svn-id: svn://10.0.0.236/trunk@52479 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:50:15 +00:00
beard%netscape.com
9c32d2f87e need to be able to Quit viewer via AppleEvent. r=sfraser
git-svn-id: svn://10.0.0.236/trunk@52478 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:49:52 +00:00
dmose%mozilla.org
9dba8ec0b3 updating license boilerplate
git-svn-id: svn://10.0.0.236/trunk@52476 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:46:24 +00:00
waldemar%netscape.com
3cc6fe040f Added basic no-line-break constraints matching JavaScript 1.x
git-svn-id: svn://10.0.0.236/trunk@52475 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:46:05 +00:00
waldemar%netscape.com
f48012bb56 Added no-line-break constraints
git-svn-id: svn://10.0.0.236/trunk@52474 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:45:31 +00:00
waldemar%netscape.com
b6e92d2926 Fixed comment
git-svn-id: svn://10.0.0.236/trunk@52473 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:45:14 +00:00
waldemar%netscape.com
d8924f3115 Added :no-line-break
git-svn-id: svn://10.0.0.236/trunk@52472 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:44:24 +00:00
varada%netscape.com
854153ad1b fixing bug #6664 making CDlayout as the default marked checkbox in the info page
git-svn-id: svn://10.0.0.236/trunk@52471 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:44:06 +00:00
waldemar%netscape.com
82cd9877d0 Fixed annoying use of *error-output* that would always bring the listener window to the front while compiling a grammar
git-svn-id: svn://10.0.0.236/trunk@52470 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:43:52 +00:00
dp%netscape.com
1b8c8d2216 Changing use of NS_WITH_SERVICE() as GetService() to GetService(). r=warren
git-svn-id: svn://10.0.0.236/trunk@52469 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:40:46 +00:00
dp%netscape.com
3e684b542b Changing misuse of NS_WITH_SERVICE() to GetService(). r=warren
git-svn-id: svn://10.0.0.236/trunk@52468 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:40:14 +00:00
ssu%netscape.com
26a5cb95b3 Fixes bug #17562. r=sgehani. This checkin does not affect tinderbox.
The other checkin to fix this bug only affects the windows platforms.


git-svn-id: svn://10.0.0.236/trunk@52467 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:38:10 +00:00
pinkerton%netscape.com
6671a998a4 allow mouse event coordinates to be accessed with d&d events in addition to mouse events, since d&d events have the same structure as mouse events. (r=joki).
git-svn-id: svn://10.0.0.236/trunk@52466 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:38:01 +00:00
ssu%netscape.com
7c2c8f0ecb fixing bug #17562. r=sgehani
Fixes problem with not detecting xpinstall reboot return error.


git-svn-id: svn://10.0.0.236/trunk@52465 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:36:41 +00:00
pinkerton%netscape.com
64f2e921ee add rule for drop feedback on personal toolbar (r=hyatt).
git-svn-id: svn://10.0.0.236/trunk@52464 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:35:42 +00:00
pinkerton%netscape.com
7262c47353 fix for bug 17381 where leaving the frame before a drag gesture was began caused the event target to be set incorrectly. (r=saari).
git-svn-id: svn://10.0.0.236/trunk@52463 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:34:16 +00:00
rogerl%netscape.com
9259c87a92 That's much cooler - i'm putting the 0 case back then.
git-svn-id: svn://10.0.0.236/trunk@52462 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:31:45 +00:00
66 changed files with 98 additions and 19303 deletions

View File

@@ -1,197 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is 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
PROGRAM = viewer
CPPSRCS = \
$(TOOLKIT_CPPSRCS) \
nsBaseDialog.cpp \
nsFindDialog.cpp \
nsXPBaseWindow.cpp \
nsTableInspectorDialog.cpp \
nsImageInspectorDialog.cpp \
nsPrintSetupDialog.cpp \
nsBrowserWindow.cpp \
nsEditorMode.cpp \
nsSetupRegistry.cpp \
nsThrobber.cpp \
nsViewerApp.cpp \
nsWebCrawler.cpp \
$(NULL)
EXPORT_RESOURCE_SAMPLES := \
$(wildcard $(srcdir)/samples/test*.html) \
$(wildcard $(srcdir)/samples/toolbarTest*.xul) \
$(wildcard $(srcdir)/samples/treeTest*.xul) \
$(wildcard $(srcdir)/samples/treeTest*.css) \
$(wildcard $(srcdir)/samples/slider*.xul) \
$(wildcard $(srcdir)/samples/scrollbar*.xul) \
$(srcdir)/resources/find.html \
$(srcdir)/resources/printsetup.html \
$(srcdir)/resources/image_props.html \
$(srcdir)/samples/aform.css \
$(srcdir)/samples/bform.css \
$(srcdir)/samples/cform.css \
$(srcdir)/samples/demoform.css \
$(srcdir)/samples/mozform.css \
$(srcdir)/samples/xulTest.css \
$(srcdir)/samples/Anieyes.gif \
$(srcdir)/samples/gear1.gif \
$(srcdir)/samples/rock_gra.gif \
$(srcdir)/samples/beeptest.html \
$(srcdir)/samples/soundtest.html \
$(srcdir)/samples/bg.jpg \
$(srcdir)/samples/raptor.jpg \
$(srcdir)/samples/test.wav \
$(srcdir)/samples/checkboxTest.xul \
$(NULL)
EXPORT_RESOURCE_THROBBER := $(wildcard $(srcdir)/throbber/anim*.gif)
ifeq (,$(filter beos os2 rhapsody photon,$(MOZ_WIDGET_TOOLKIT)))
DIRS += unix
UNIX_VIEWER_TK_LIBS = $(DIST)/lib/libviewer_$(MOZ_WIDGET_TOOLKIT)_s.a
else
ifeq ($(MOZ_WIDGET_TOOLKIT),beos)
BEOS_PROGRAM_RESOURCE = $(srcdir)/viewer-beos.rsrc
TOOLKIT_CPPSRCS = nsBeOSMain.cpp
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),photon)
TOOLKIT_CPPSRCS = nsPhMain.cpp nsPhMenu.cpp
endif
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk)
GTK_GLUE = -lgtksuperwin
endif
ifdef MOZ_OJI
JSJ_LIB = -ljsj
endif
XP_DIST_LIBS = \
-lraptorgfx \
-lmozjs \
-lxpcom \
$(JSJ_LIB) \
$(NULL)
XP_NS_UNDERBAR_CRAP = \
$(MOZ_NECKO_UTIL_LIBS) \
$(MOZ_TIMER_LIBS) \
$(MOZ_WIDGET_SUPPORT_LIBS) \
$(NULL)
XP_LIBS = \
$(XP_NS_UNDERBAR_CRAP) \
$(XP_DIST_LIBS) \
$(NSPR_LIBS) \
$(NULL)
ifdef MOZ_FULLCIRCLE
XP_LIBS += $(FULLCIRCLE_LIBS)
endif
LIBS = \
$(UNIX_VIEWER_TK_LIBS) \
$(GTK_GLUE) \
$(XP_LIBS) \
$(TK_LIBS) \
$(NULL)
MOTIF_LIBS = -lviewer_motif_s $(XP_LIBS) $(MOZ_MOTIF_LDFLAGS)
QT_LIBS = -lviewer_qt_s $(XP_LIBS) $(MOZ_QT_LDFLAGS)
XLIB_LIBS = -lviewer_xlib_s $(XP_LIBS) $(MOZ_XLIB_LDFLAGS)
GTK_LIBS = -lviewer_gtk_s -lgtksuperwin $(XP_LIBS) $(MOZ_GTK_LDFLAGS)
EXTRA_DEPS = \
$(addprefix $(DIST)/,$(patsubst -l%,bin/lib%.$(DLL_SUFFIX),$(XP_DIST_LIBS:-l%_s=lib/lib%_s.a))) \
$(UNIX_VIEWER_TK_LIBS) \
$(XP_NS_UNDERBAR_CRAP) \
$(NULL)
include $(topsrcdir)/config/rules.mk
CXXFLAGS += $(MOZ_TOOLKIT_REGISTRY_CFLAGS)
install:: $(PROGRAM) $(srcdir)/mozilla-viewer.sh
$(INSTALL) $(EXPORT_RESOURCE_SAMPLES) $(DIST)/bin/res/samples
$(INSTALL) $(EXPORT_RESOURCE_THROBBER) $(DIST)/bin/res/throbber
$(INSTALL) $(srcdir)/resources/viewer.properties $(DIST)/bin/res
$(INSTALL) $(srcdir)/mozilla-viewer.sh $(DIST)/bin
$(PROGRAM)_gtk: $(PROGOBJS) $(EXTRA_DEPS) Makefile Makefile.in $(DIST)/lib/libviewer_gtk_s.a
$(CCC) -o $@ $(PROGOBJS) $(LDFLAGS) $(LIBS_DIR) $(GTK_LIBS) $(OS_LIBS)
$(MOZ_POST_PROGRAM_COMMAND) $@
$(PROGRAM)_motif: $(PROGOBJS) $(EXTRA_DEPS) Makefile Makefile.in $(DIST)/lib/libviewer_motif_s.a
$(CCC) -o $@ $(PROGOBJS) $(LDFLAGS) $(LIBS_DIR) $(MOTIF_LIBS) $(OS_LIBS)
$(MOZ_POST_PROGRAM_COMMAND) $@
$(PROGRAM)_qt: $(PROGOBJS) $(EXTRA_DEPS) Makefile Makefile.in $(DIST)/lib/libviewer_qt_s.a
$(CCC) -o $@ $(PROGOBJS) $(LDFLAGS) $(LIBS_DIR) $(QT_LIBS) $(OS_LIBS)
$(MOZ_POST_PROGRAM_COMMAND) $@
$(PROGRAM)_xlib: $(PROGOBJS) $(EXTRA_DEPS) Makefile Makefile.in $(DIST)/lib/libviewer_xlib_s.a
$(CCC) -o $@ $(PROGOBJS) $(LDFLAGS) $(LIBS_DIR) $(XLIB_LIBS) $(OS_LIBS)
$(MOZ_POST_PROGRAM_COMMAND) $@
ifdef MOZ_ENABLE_GTK
install:: $(PROGRAM)_gtk
$(INSTALL) -m 555 $< $(DIST)/bin
clobber::
rm -f $(PROGRAM)_gtk
endif
ifdef MOZ_ENABLE_MOTIF
install:: $(PROGRAM)_motif
$(INSTALL) -m 555 $< $(DIST)/bin
clobber::
rm -f $(PROGRAM)_motif
endif
ifdef MOZ_ENABLE_QT
install:: $(PROGRAM)_qt
$(INSTALL) -m 555 $< $(DIST)/bin
clobber::
rm -f $(PROGRAM)_qt
endif
ifdef MOZ_ENABLE_XLIB
install:: $(PROGRAM)_xlib
$(INSTALL) -m 555 $< $(DIST)/bin
clobber::
rm -f $(PROGRAM)_xlib
endif

View File

@@ -1,179 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "gdksuperwin.h"
#include "gtkmozbox.h"
#include "nsBrowserWindow.h"
#include "resources.h"
#include "nscore.h"
#include "stdio.h"
typedef GtkItemFactoryCallback GIFC;
void gtk_ifactory_cb (nsBrowserWindow *nbw,
guint callback_action,
GtkWidget *widget)
{
nbw->DispatchMenuItem(callback_action);
}
GtkItemFactoryEntry menu_items[] =
{
{ "/_File", nsnull, nsnull, 0, "<Branch>" },
{ "/File/_New Window", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_WINDOW_OPEN, nsnull },
{ "/File/_Open...", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_FILE_OPEN, nsnull },
{ "/File/_View Source", nsnull, (GIFC)gtk_ifactory_cb, VIEW_SOURCE, nsnull },
{ "/File/_Samples", nsnull, nsnull, 0, "<Branch>" },
{ "/File/Samples/demo #0", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO0, nsnull },
{ "/File/Samples/demo #1", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO1, nsnull },
{ "/File/Samples/demo #2", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO2, nsnull },
{ "/File/Samples/demo #3", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO3, nsnull },
{ "/File/Samples/demo #4", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO4, nsnull },
{ "/File/Samples/demo #5", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO5, nsnull },
{ "/File/Samples/demo #6", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO6, nsnull },
{ "/File/Samples/demo #7", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO7, nsnull },
{ "/File/Samples/demo #8", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO8, nsnull },
{ "/File/Samples/demo #9", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO9, nsnull },
{ "/File/Samples/demo #10", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO10, nsnull },
{ "/File/Samples/demo #11", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO11, nsnull },
{ "/File/Samples/demo #12", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO12, nsnull },
{ "/File/Samples/demo #13", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO13, nsnull },
{ "/File/Samples/demo #14", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO14, nsnull },
{ "/File/Samples/demo #15", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO15, nsnull },
{ "/File/Samples/demo #16", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO16, nsnull },
{ "/File/Samples/demo #17", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEMO17, nsnull },
{ "/File/_Test Sites", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOP100, nsnull },
{ "/File/XPToolkit Tests", nsnull, nsnull, 0, "<Branch>" },
{ "/File/XPToolkit Tests/Toolbar Test 1", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_XPTOOLKITTOOLBAR1, nsnull },
{ "/File/XPToolkit Tests/Tree Test 1", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_XPTOOLKITTREE1, nsnull },
{ "/File/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/File/Print Preview", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_ONE_COLUMN, nsnull },
{ "/File/Print", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_PRINT, nsnull },
{ "/File/Print Setup", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_PRINT_SETUP, nsnull },
{ "/File/sep2", nsnull, nsnull, 0, "<Separator>" },
{ "/File/_Exit", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_EXIT, nsnull },
{ "/_Edit", nsnull, nsnull, 0, "<Branch>" },
{ "/Edit/Cu_t", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_EDIT_CUT, nsnull },
{ "/Edit/_Copy", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_EDIT_COPY, nsnull },
{ "/Edit/_Paste", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_EDIT_PASTE, nsnull },
{ "/Edit/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Edit/Select All", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_EDIT_SELECTALL, nsnull },
{ "/Edit/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Edit/Find in Page", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_EDIT_FINDINPAGE, nsnull },
//#ifdef DEBUG // turning off for now
{ "/_Debug", nsnull, nsnull, 0, "<Branch>" },
{ "/Debug/_Visual Debugging", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_VISUAL_DEBUGGING,nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Event Debugging/Toggle Paint Flashing", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_PAINT_FLASHING,nsnull },
{ "/Debug/Event Debugging/Toggle Paint Dumping", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_PAINT_DUMPING,nsnull },
{ "/Debug/Event Debugging/Toggle Invalidate Dumping", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_INVALIDATE_DUMPING,nsnull },
{ "/Debug/Event Debugging/Toggle Event Dumping", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_EVENT_DUMPING,nsnull },
{ "/Debug/Event Debugging/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Event Debugging/Toggle Motion Event Dumping", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_MOTION_EVENT_DUMPING,nsnull },
{ "/Debug/Event Debugging/Toggle Crossing Event Dumping", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_CROSSING_EVENT_DUMPING,nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/_Reflow Test", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_REFLOW_TEST, nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Dump _Content", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DUMP_CONTENT, nsnull },
{ "/Debug/Dump _Frames", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DUMP_FRAMES, nsnull },
{ "/Debug/Dump _Views", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DUMP_VIEWS, nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Dump _Style Sheets", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DUMP_STYLE_SHEETS, nsnull },
{ "/Debug/Dump _Style Contexts", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DUMP_STYLE_CONTEXTS, nsnull},
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Show Content Size", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SHOW_CONTENT_SIZE,nsnull },
{ "/Debug/Show Frame Size", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SHOW_FRAME_SIZE, nsnull },
{ "/Debug/Show Style Size", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SHOW_STYLE_SIZE, nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Debug Save", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEBUGSAVE, nsnull },
{ "/Debug/Debug Output Text", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DISPLAYTEXT, nsnull },
{ "/Debug/Debug Output HTML", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DISPLAYHTML, nsnull },
{ "/Debug/Debug Toggle Selection", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_TOGGLE_SELECTION,nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Debug Robot", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_DEBUGROBOT, nsnull },
{ "/Debug/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Debug/Show Content Quality", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SHOW_CONTENT_QUALITY, nsnull },
{ "/_Style", nsnull, nsnull, 0, "<Branch>" },
{ "/Style/Select _Style Sheet", nsnull, nsnull, 0, "<Branch>" },
{ "/Style/Select Style Sheet/List Available Sheets", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SELECT_STYLE_LIST, nsnull },
{ "/Style/Select Style Sheet/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Style/Select Style Sheet/Select Default", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SELECT_STYLE_DEFAULT, nsnull },
{ "/Style/Select Style Sheet/sep1", nsnull, nsnull, 0, "<Separator>" },
{ "/Style/Select Style Sheet/Select Alternative 1", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SELECT_STYLE_ONE, nsnull },
{ "/Style/Select Style Sheet/Select Alternative 2", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SELECT_STYLE_TWO, nsnull },
{ "/Style/Select Style Sheet/Select Alternative 3", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SELECT_STYLE_THREE, nsnull },
{ "/Style/Select Style Sheet/Select Alternative 4", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_SELECT_STYLE_FOUR, nsnull },
{ "/Style/_Compatibility Mode", nsnull, nsnull, 0, "<Branch>" },
{ "/Style/Compatibility Mode/Nav Quirks", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_NAV_QUIRKS_MODE, nsnull },
{ "/Style/Compatibility Mode/Standard", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_STANDARD_MODE, nsnull },
{ "/Style/_Widget Render Mode", nsnull, nsnull, 0, "<Branch>" },
{ "/Style/Widget Render Mode/Native", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_NATIVE_WIDGET_MODE, nsnull },
{ "/Style/Widget Render Mode/Gfx", nsnull, (GIFC)gtk_ifactory_cb, VIEWER_GFX_WIDGET_MODE, nsnull },
//#endif
{ "/_Tools", nsnull, nsnull, 0, "<Branch>" },
{ "/Tools/_JavaScript Console", nsnull, (GIFC)gtk_ifactory_cb, JS_CONSOLE, nsnull },
{ "/Tools/_Editor Mode", nsnull, (GIFC)gtk_ifactory_cb, EDITOR_MODE, nsnull }
};
void CreateViewerMenus(nsIWidget * aParent,
gpointer data,
GtkWidget ** aMenuBarOut)
{
NS_ASSERTION(nsnull != aParent,"null parent.");
NS_ASSERTION(nsnull != aMenuBarOut,"null out param.");
GtkItemFactory *item_factory;
GtkWidget *menubar;
GdkSuperWin *gdkSuperWin;
GtkWidget *mozBox;
gdkSuperWin = (GdkSuperWin*)aParent->GetNativeData(NS_NATIVE_WIDGET);
int nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]);
item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>", nsnull);
gtk_item_factory_create_items (item_factory, nmenu_items, menu_items, data);
menubar = gtk_item_factory_get_widget (item_factory, "<main>");
gtk_menu_bar_set_shadow_type (GTK_MENU_BAR(menubar), GTK_SHADOW_NONE);
NS_ASSERTION(GDK_IS_SUPERWIN(gdkSuperWin), "code assumes a gdksuperwin.");
mozBox = gtk_mozbox_new(gdkSuperWin->bin_window);
NS_ASSERTION((mozBox != NULL), "failed to create mozBox.");
gtk_container_add(GTK_CONTAINER(mozBox), menubar);
gtk_mozbox_set_position(GTK_MOZBOX(mozBox), 0, 0 );
gtk_widget_show(mozBox);
gtk_widget_show(menubar);
*aMenuBarOut = menubar;
}

View File

@@ -1,67 +0,0 @@
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is 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 = xpwidgets support
#
# Dont build the DSO under the 'build' directory as windows does.
#
# The DSOs get built in the toolkit dir itself. Do this so that
# multiple implementations of widget can be built on the same
# source tree.
#
ifndef MOZ_MONOLITHIC_TOOLKIT
ifdef MOZ_ENABLE_GTK
DIRS += gtksuperwin
DIRS += gtk
endif
ifdef MOZ_ENABLE_MOTIF
DIRS += motif
endif
ifdef MOZ_ENABLE_XLIB
DIRS += xlib
endif
ifdef MOZ_ENABLE_QT
DIRS += qt
endif
else
DIRS += $(MOZ_WIDGET_TOOLKIT)
endif
# unix_services are only useful in unix, duh...
ifeq (,$(filter beos os2 rhapsody photon,$(MOZ_WIDGET_TOOLKIT)))
DIRS += unix_services
endif
include $(topsrcdir)/config/rules.mk

View File

@@ -1,100 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = widget_gtk
REQUIRES = util img xpcom raptor netlib
CPPSRCS = \
nsAppShell.cpp \
nsButton.cpp \
nsCheckButton.cpp \
nsClipboard.cpp \
nsComboBox.cpp \
nsContextMenu.cpp \
nsDragService.cpp \
nsFilePicker.cpp \
nsFileWidget.cpp \
nsFontRetrieverService.cpp \
nsFontSizeIterator.cpp \
nsGtkEventHandler.cpp \
nsGtkUtils.cpp \
nsLabel.cpp \
nsListBox.cpp \
nsLookAndFeel.cpp \
nsMenu.cpp \
nsMenuBar.cpp \
nsMenuItem.cpp \
nsPopUpMenu.cpp \
nsRadioButton.cpp \
nsScrollbar.cpp \
nsSound.cpp \
nsTextAreaWidget.cpp \
nsTextHelper.cpp \
nsTextWidget.cpp \
nsToolkit.cpp \
nsWidget.cpp \
nsWidgetFactory.cpp \
nsWindow.cpp \
$(NULL)
SHARED_LIBRARY_LIBS = $(DIST)/lib/libraptorbasewidget_s.a
EXTRA_DSO_LDOPTS = \
$(MKSHLIB_FORCE_ALL) \
$(SHARED_LIBRARY_LIBS) \
$(MKSHLIB_UNFORCE_ALL) \
$(MOZ_COMPONENT_LIBS) \
-lraptorgfx \
$(NULL)
ifndef MOZ_MONOLITHIC_TOOLKIT
EXTRA_DSO_LDOPTS += -L$(DIST)/lib -lgtksuperwin $(MOZ_GTK_LDFLAGS)
else
EXTRA_DSO_LDOPTS += $(TK_LIBS)
endif
include $(topsrcdir)/config/rules.mk
ifndef MOZ_MONOLITHIC_TOOLKIT
CXXFLAGS += $(MOZ_GTK_CFLAGS)
CFLAGS += $(MOZ_GTK_CFLAGS)
else
CXXFLAGS += $(TK_CFLAGS)
CFLAGS += $(TK_CFLAGS)
endif
DEFINES += -D_IMPL_NS_WIDGET -DUSE_XIM
ifeq ($(OS_ARCH), Linux)
DEFINES += -D_BSD_SOURCE
endif
INCLUDES += \
-I$(srcdir)/../xpwidgets \
-I$(srcdir) \
$(NULL)
$(LIBRARY) $(SHARED_LIBRARY): $(SHARED_LIBRARY_LIBS) Makefile

View File

@@ -1,292 +0,0 @@
/* XPM */
static char * mozilla_icon_xpm[] = {
"32 32 257 2",
" c None",
". c #AA7303",
"+ c #A67003",
"@ c #B77C03",
"# c #8D6003",
"$ c #8D6004",
"% c #6C4A04",
"& c #3A2804",
"* c #6B4802",
"= c #9B6903",
"- c #5A2C04",
"; c #411B04",
"> c #9D6A03",
", c #7A5203",
"' c #510D04",
") c #6B1104",
"! c #7D5503",
"~ c #674604",
"{ c #C21E04",
"] c #C21D04",
"^ c #523804",
"/ c #513702",
"( c #552904",
"_ c #DD2204",
": c #DF2204",
"< c #582904",
"[ c #5F3F02",
"} c #6B2504",
"| c #FE2604",
"1 c #AB7303",
"2 c #9B6904",
"3 c #C31F04",
"4 c #FE2704",
"5 c #A81904",
"6 c #926304",
"7 c #4D3302",
"8 c #483104",
"9 c #C61E04",
"0 c #B11B04",
"a c #891604",
"b c #761204",
"c c #614304",
"d c #775102",
"e c #795102",
"f c #785102",
"g c #C58603",
"h c #642404",
"i c #B21A04",
"j c #1F0604",
"k c #550E04",
"l c #631004",
"m c #402404",
"n c #AF7703",
"o c #3D2902",
"p c #7F5602",
"q c #805604",
"r c #0C0904",
"s c #080604",
"t c #080706",
"u c #090604",
"v c #060404",
"w c #620F04",
"x c #7A1304",
"y c #030204",
"z c #570E04",
"A c #721204",
"B c #270704",
"C c #080504",
"D c #0A0604",
"E c #533804",
"F c #A56F02",
"G c #B87C03",
"H c #3B2804",
"I c #A51904",
"J c #FC2704",
"K c #D62004",
"L c #691004",
"M c #C01E04",
"N c #6D1004",
"O c #9C1804",
"P c #B31C04",
"Q c #150404",
"R c #801404",
"S c #DD2304",
"T c #120404",
"U c #130404",
"V c #500C04",
"W c #CC1E04",
"X c #AA1A04",
"Y c #100904",
"Z c #B47A03",
"` c #A77103",
" . c #513704",
".. c #891704",
"+. c #F62604",
"@. c #BA1D04",
"#. c #3C0A04",
"$. c #EB2304",
"%. c #DE2304",
"&. c #560E04",
"*. c #E82304",
"=. c #FE2804",
"-. c #BE1D04",
";. c #F12404",
">. c #661004",
",. c #020204",
"'. c #5E0F04",
"). c #A61A04",
"!. c #4A3204",
"~. c #BC7E03",
"{. c #8E6002",
"]. c #684604",
"^. c #390D04",
"/. c #EE2404",
"(. c #FE2904",
"_. c #7D1304",
":. c #8C1504",
"<. c #200604",
"[. c #A81A04",
"}. c #E72204",
"|. c #DA2004",
"1. c #070204",
"2. c #280704",
"3. c #543904",
"4. c #9F6C02",
"5. c #674602",
"6. c #B47B04",
"7. c #311004",
"8. c #B11C04",
"9. c #AA1B04",
"0. c #6A1104",
"a. c #801504",
"b. c #2B0704",
"c. c #09090A",
"d. c #450B04",
"e. c #360904",
"f. c #DC2204",
"g. c #EE2504",
"h. c #C11D04",
"i. c #6F1104",
"j. c #704B04",
"k. c #9C6902",
"l. c #A56F03",
"m. c #5F4004",
"n. c #8D1604",
"o. c #440A04",
"p. c #1A0504",
"q. c #931604",
"r. c #621004",
"s. c #7F1404",
"t. c #921704",
"u. c #F82504",
"v. c #F52504",
"w. c #981804",
"x. c #241804",
"y. c #5B3E04",
"z. c #D82204",
"A. c #D02004",
"B. c #DA2104",
"C. c #D52104",
"D. c #2A1A04",
"E. c #AC7403",
"F. c #2B1C04",
"G. c #D04004",
"H. c #FC3C04",
"I. c #F94E04",
"J. c #881504",
"K. c #FC2604",
"L. c #792804",
"M. c #AC7503",
"N. c #9A6803",
"O. c #782804",
"P. c #F66504",
"Q. c #F94B04",
"R. c #F46804",
"S. c #F46604",
"T. c #F76504",
"U. c #FB4204",
"V. c #C13D04",
"W. c #5D0E04",
"X. c #DA2204",
"Y. c #741604",
"Z. c #8C5E03",
"`. c #885B03",
" + c #8B1904",
".+ c #DE2204",
"++ c #D22D04",
"@+ c #C42D04",
"#+ c #580E04",
"$+ c #9F1804",
"%+ c #895D04",
"&+ c #D62204",
"*+ c #371904",
"=+ c #2C1A04",
"-+ c #4A0C04",
";+ c #140404",
">+ c #AB1A04",
",+ c #DA2304",
"'+ c #6A4702",
")+ c #754F02",
"!+ c #821404",
"~+ c #462B04",
"{+ c #B37A03",
"]+ c #B17803",
"^+ c #714C04",
"/+ c #580F04",
"(+ c #E32204",
"_+ c #DD2104",
":+ c #611D04",
"<+ c #BA7F03",
"[+ c #B27803",
"}+ c #6F1D04",
"|+ c #FD2704",
"1+ c #F22504",
"2+ c #634304",
"3+ c #875B03",
"4+ c #734F02",
"5+ c #805704",
"6+ c #1D0504",
"7+ c #DB2204",
"8+ c #EA2404",
"9+ c #2E0804",
"0+ c #815803",
"a+ c #941704",
"b+ c #C11E04",
"c+ c #391B04",
"d+ c #A77104",
"e+ c #B67C04",
"f+ c #371D04",
"g+ c #360A04",
"h+ c #573A04",
"i+ c #372604",
"j+ c #3E2104",
"k+ c #B57A03",
"l+ c #B57B03",
"m+ c #603F04",
"n+ c #430A04",
"o+ c #351904",
"p+ c #A36E03",
"q+ c #BE8103",
"r+ c #1D1404",
"s+ c #483004",
"t+ c #A26E03",
"u+ c #6D4B02",
"v+ c #825804",
"w+ c #0B0804",
"x+ c #976603",
"y+ c #815703",
"z+ c #926404",
"A+ c #895D03",
"B+ c #614202",
"C+ c #9A6804",
"D+ c #C88704",
"E+ c #C18303",
"F+ c #654302",
"G+ c #744F02",
"H+ c #704B02",
" ",
" . ",
" + @ ",
" # $ ",
" % & * ",
" = - ; > ",
" , ' ) ! ",
" ~ { ] ^ ",
" / ( _ : < [ ",
" . } | | } 1 ",
" 2 3 | 4 5 6 ",
" 7 8 9 0 a b c ",
" d e f f f d d d d d d g h i j k l m n d d d d d d d d d d d o ",
" p q r s s s s t s s u v w x y z A B C D D D D D s s s s E F ",
" G H I J 4 | 4 | K L L M N O P Q R | S T U V W X Y Z ",
" ` ...+.| 4 @.#.$.4 | %.&.*.4 =.-.;.>.,.'.).!.~. ",
" {.].^./.(.X _.;.| :.T <.[.| }.z | |.1.2.3.4. ",
" 5.6.7.8.9.0.a.b.c.d.e.f.g.h.&.| i.u j.k. ",
" l.m.n.o.p.q._.r.a.s.t.u.v.w.x.Z ",
" {.y.P z.R A.v.x j B.| C.D.E. ",
" F.G.H.I.4 | 4 t.J.f.K.L.M. ",
" N.O.P.Q.R.S.T.U.V.W.X.4 Y.Z. ",
" `. +4 =.| | .+++@+#+$+| K %+ ",
" %+&+| | | I *+=+-+;+>+,+&+x.'+ ",
" )+=+X.=.| !+~+{+]+^+,./+(+_+:+<+ ",
" [+}+|+1+) 2+3+ 4+5+6+7+8+9+0+ ",
" $ a+b+c+d+ e+f+0.g+h+ ",
" i+A j+k+ l+m+n+o+p+ ",
" q+r+s+t+ u+v+w+x+ ",
" y+z+A+ B+C+2 ",
" D+ E+F+ ",
" G+ H+ "};

View File

@@ -1,63 +0,0 @@
/* XPM */
static char * mozicon50_xpm[] = {
"50 51 9 1",
" c None",
". c #000000",
"+ c #FF0000",
"@ c #808000",
"# c #800000",
"$ c #FF6633",
"% c #990066",
"& c #FF00FF",
"* c #222222",
" ",
" @ ",
" $@ ",
" @@ ",
" @@$ ",
" $@*@ ",
" @@.@ ",
" @..@ ",
" $@..@@ ",
" $@##*@ ",
" @*#+.@ ",
" @.++.@$ ",
" $@.++.@$ ",
" @*#++#*@ ",
" @.++++.@ ",
" $@.++++.@$ ",
" @*#++++**@ ",
" @.#++++#.@ ",
" $@.++####.@ ",
" @@*+#*##*.@@ ",
"*@@@@@@@@@@@@@@@@@@@.#+..*##*#@@@@@@@@@@@@@@@@@@@*",
" *@@*................+#..*###.................@@* ",
" %@@@.#++++++++++++#**#*#++.###++*...#+++#.*@@* ",
" *@@.#+++++++++#.##++#+#+*.#+++#..##++#.@@@% ",
" $@..+++++++.#++++++##++++#++#...++*.@@$ ",
" @@*.#+++++.#+++++*.#++++##++#.*...@@ ",
" $@@.#+++#*++++#....#+++*#+++...*@$ ",
" *@@..++#*++#**.*.*+++#.#++*..@@$ ",
" $@*.++******#+++++#+#+++..@@ ",
" $@@.##..*$#**#+#*#++++..@@ ",
" $@@.#+#***##...#++++.*@@ ",
" %@@*++++++++#.#++++.@@ ",
" @.#+++++++++.##+++.@$ ",
" @.+$$$$$+$$$#*#+++*@@ ",
" $@*+$$$$$$$+$#.#+++#.@ ",
" @*#+++++++++++.#++++.@ ",
" @.#+++++++#*++.##+++.@$ ",
" $@.+++++++....#..+#++*@@ ",
" @@*+++++#.*@@@...*+++#.@ ",
" @.#++++#.@@@ @@..#++++.@ ",
" @.++++*.@@$ %@@..+++#.@@ ",
" $@.+++..@@* $@*.#+#**@ ",
" @@#+#.*@$% $@@.##..@ ",
" @.##.@@ @@..#.@$ ",
" $@.*.@@$ @@**.@$ ",
" $@.*@@ %$@@.*@ ",
" @.@@$ *@@.@ ",
" @@@$ %@@@$ ",
" $@@% %@@@ ",
" @@ $@ ",
" $ * "};

View File

@@ -1,459 +0,0 @@
/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
/*
* 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 "prmon.h"
#include "nsCOMPtr.h"
#include "nsAppShell.h"
#include "nsIAppShell.h"
#include "nsIServiceManager.h"
#include "nsIEventQueueService.h"
#include "nsICmdLineService.h"
#include "nsGtkEventHandler.h"
#include <stdlib.h>
#ifdef MOZ_GLE
#include <gle/gle.h>
#endif
#include "nsIWidget.h"
#include "nsIPref.h"
#include "glib.h"
struct OurGdkIOClosure {
GdkInputFunction function;
gpointer data;
};
static gboolean
our_gdk_io_invoke(GIOChannel* source, GIOCondition condition, gpointer data)
{
OurGdkIOClosure* ioc = (OurGdkIOClosure*) data;
if (ioc) {
(*ioc->function)(ioc->data, g_io_channel_unix_get_fd(source),
GDK_INPUT_READ);
}
return TRUE;
}
static void
our_gdk_io_destroy(gpointer data)
{
OurGdkIOClosure* ioc = (OurGdkIOClosure*) data;
if (ioc) {
g_free(ioc);
}
}
static gint
our_gdk_input_add (gint source,
GdkInputFunction function,
gpointer data,
gint priority)
{
guint result;
OurGdkIOClosure *closure = g_new (OurGdkIOClosure, 1);
GIOChannel *channel;
closure->function = function;
closure->data = data;
channel = g_io_channel_unix_new (source);
result = g_io_add_watch_full (channel, priority, G_IO_IN,
our_gdk_io_invoke,
closure, our_gdk_io_destroy);
g_io_channel_unref (channel);
return result;
}
//-------------------------------------------------------------------------
//
// XPCOM CIDs
//
//-------------------------------------------------------------------------
static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID);
static NS_DEFINE_CID(kCmdLineServiceCID, NS_COMMANDLINE_SERVICE_CID);
static NS_DEFINE_CID(kPrefServiceCID, NS_PREF_CID);
// a linked, ordered list of event queues and their tokens
class EventQueueToken {
public:
EventQueueToken(nsIEventQueue *aQueue, const gint aToken);
virtual ~EventQueueToken();
nsIEventQueue *mQueue;
gint mToken;
EventQueueToken *mNext;
};
EventQueueToken::EventQueueToken(nsIEventQueue *aQueue, const gint aToken) {
mQueue = aQueue;
NS_IF_ADDREF(mQueue);
mToken = aToken;
mNext = 0;
}
EventQueueToken::~EventQueueToken(){
NS_IF_RELEASE(mQueue);
}
class EventQueueTokenQueue {
public:
EventQueueTokenQueue();
virtual ~EventQueueTokenQueue();
nsresult PushToken(nsIEventQueue *aQueue, gint aToken);
PRBool PopToken(nsIEventQueue *aQueue, gint *aToken);
private:
EventQueueToken *mHead;
};
EventQueueTokenQueue::EventQueueTokenQueue() {
mHead = 0;
}
EventQueueTokenQueue::~EventQueueTokenQueue() {
// if we reach this point with an empty token queue, well, fab. however,
// we expect the first event queue to still be active. so we take
// special care to unhook that queue (not that failing to do so seems
// to hurt anything). more queues than that would be an error.
//NS_ASSERTION(!mHead || !mHead->mNext, "event queue token list deleted when not empty");
// (and skip the assertion for now. we're leaking event queues because they
// are referenced by things that leak, so this assertion goes off a lot.)
if (mHead) {
gdk_input_remove(mHead->mToken);
delete mHead;
// and leak the rest. it's an error, anyway
}
}
nsresult EventQueueTokenQueue::PushToken(nsIEventQueue *aQueue, gint aToken) {
EventQueueToken *newToken = new EventQueueToken(aQueue, aToken);
NS_ASSERTION(newToken, "couldn't allocate token queue element");
if (!newToken)
return NS_ERROR_OUT_OF_MEMORY;
newToken->mNext = mHead;
mHead = newToken;
return NS_OK;
}
PRBool EventQueueTokenQueue::PopToken(nsIEventQueue *aQueue, gint *aToken) {
EventQueueToken *token, *lastToken;
PRBool found = PR_FALSE;
NS_ASSERTION(mHead, "attempt to retrieve event queue token from empty queue");
if (mHead)
NS_ASSERTION(mHead->mQueue == aQueue, "retrieving event queue from past head of queue queue");
token = mHead;
lastToken = 0;
while (token && token->mQueue != aQueue) {
lastToken = token;
token = token->mNext;
}
if (token) {
if (lastToken)
lastToken->mNext = token->mNext;
else
mHead = token->mNext;
found = PR_TRUE;
*aToken = token->mToken;
delete token;
}
return found;
}
//-------------------------------------------------------------------------
//
// nsAppShell constructor
//
//-------------------------------------------------------------------------
nsAppShell::nsAppShell()
{
NS_INIT_REFCNT();
mDispatchListener = 0;
mEventQueueTokens = new EventQueueTokenQueue();
// throw on error would really be civilized here
NS_ASSERTION(mEventQueueTokens, "couldn't allocate event queue token queue");
}
//-------------------------------------------------------------------------
//
// nsAppShell destructor
//
//-------------------------------------------------------------------------
nsAppShell::~nsAppShell()
{
delete mEventQueueTokens;
}
//-------------------------------------------------------------------------
//
// nsISupports implementation macro
//
//-------------------------------------------------------------------------
NS_IMPL_ISUPPORTS1(nsAppShell, nsIAppShell)
//-------------------------------------------------------------------------
NS_IMETHODIMP nsAppShell::SetDispatchListener(nsDispatchListener* aDispatchListener)
{
mDispatchListener = aDispatchListener;
return NS_OK;
}
static void event_processor_callback(gpointer data,
gint source,
GdkInputCondition condition)
{
nsIEventQueue *eventQueue = (nsIEventQueue*)data;
if (eventQueue)
eventQueue->ProcessPendingEvents();
}
#define PREF_NCOLS "browser.ncols"
#define PREF_INSTALLCMAP "browser.installcmap"
static void
HandleColormapPrefs( void )
{
PRInt32 ivalue = 0;
PRBool bvalue;
nsresult rv;
/* The default is to do nothing. INSTALLCMAP has precedence over
NCOLS. Ignore the fact we can't do this if it fails, as it is
not critical */
NS_WITH_SERVICE(nsIPref, prefs, kPrefServiceCID, &rv);
if (NS_FAILED(rv) || (!prefs))
return;
/* first check ncols */
rv = prefs->GetIntPref(PREF_NCOLS, &ivalue);
if (NS_SUCCEEDED(rv) && ivalue >= 0 && ivalue <= 255 ) {
gdk_rgb_set_min_colors( ivalue );
return;
}
/* next check installcmap */
rv = prefs->GetBoolPref(PREF_INSTALLCMAP, &bvalue);
if (NS_SUCCEEDED(rv)) {
if ( PR_TRUE == bvalue )
gdk_rgb_set_min_colors( 255 ); // force it
else
gdk_rgb_set_min_colors( 0 );
}
}
//-------------------------------------------------------------------------
//
// Create the application shell
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsAppShell::Create(int *bac, char **bav)
{
gchar *home=nsnull;
gchar *path=nsnull;
int argc = bac ? *bac : 0;
char **argv = bav;
#if 1
nsresult rv;
NS_WITH_SERVICE(nsICmdLineService, cmdLineArgs, kCmdLineServiceCID, &rv);
if (NS_SUCCEEDED(rv))
{
rv = cmdLineArgs->GetArgc(&argc);
if(NS_FAILED(rv))
argc = bac ? *bac : 0;
rv = cmdLineArgs->GetArgv(&argv);
if(NS_FAILED(rv))
argv = bav;
}
#endif
gtk_set_locale ();
gtk_init (&argc, &argv);
// It is most convenient for us to intercept our events after
// they have been converted to GDK, but before GTK+ gets them
gdk_event_handler_set (handle_gdk_event, NULL, NULL);
#ifdef MOZ_GLE
gle_init (&argc, &argv);
#endif
// delete the cmdLineArgs thing?
HandleColormapPrefs();
gdk_rgb_init();
home = g_get_home_dir();
if ((char*)nsnull != home) {
path = g_strdup_printf("%s%c%s", home, G_DIR_SEPARATOR, ".gtkrc");
if ((char *)nsnull != path) {
gtk_rc_parse(path);
g_free(path);
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Spinup - do any preparation necessary for running a message loop
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsAppShell::Spinup()
{
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Spindown - do any cleanup necessary for finishing a message loop
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsAppShell::Spindown()
{
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Run
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsAppShell::Run()
{
NS_ADDREF_THIS();
nsresult rv = NS_OK;
nsIEventQueue * EQueue = nsnull;
// Get the event queue service
NS_WITH_SERVICE(nsIEventQueueService, eventQService, kEventQueueServiceCID, &rv);
if (NS_FAILED(rv)) {
NS_ASSERTION("Could not obtain event queue service", PR_FALSE);
return rv;
}
#ifdef DEBUG
printf("Got the event queue from the service\n");
#endif /* DEBUG */
//Get the event queue for the thread.
rv = eventQService->GetThreadEventQueue(PR_GetCurrentThread(), &EQueue);
// If a queue already present use it.
if (EQueue)
goto done;
// Create the event queue for the thread
rv = eventQService->CreateThreadEventQueue();
if (NS_OK != rv) {
NS_ASSERTION("Could not create the thread event queue", PR_FALSE);
return rv;
}
//Get the event queue for the thread
rv = eventQService->GetThreadEventQueue(PR_GetCurrentThread(), &EQueue);
if (NS_OK != rv) {
NS_ASSERTION("Could not obtain the thread event queue", PR_FALSE);
return rv;
}
done:
#ifdef DEBUG
printf("Calling gdk_input_add with event queue\n");
#endif /* DEBUG */
// (has to be called explicitly for this, the primordial appshell, because
// of startup ordering problems.)
ListenToEventQueue(EQueue, PR_TRUE);
gtk_main();
NS_IF_RELEASE(EQueue);
Release();
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Exit a message handler loop
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsAppShell::Exit()
{
gtk_main_quit ();
return NS_OK;
}
// does nothing. used by xp code with non-gtk expectations.
// this method will be removed once xp eventloops are working.
NS_IMETHODIMP nsAppShell::GetNativeEvent(PRBool &aRealEvent, void *& aEvent)
{
aRealEvent = PR_FALSE;
aEvent = 0;
return NS_OK;
}
// simply executes one iteration of the event loop. used by xp code with
// non-gtk expectations.
// this method will be removed once xp eventloops are working.
NS_IMETHODIMP nsAppShell::DispatchNativeEvent(PRBool aRealEvent, void *aEvent)
{
g_main_iteration(PR_TRUE);
return NS_OK;
}
NS_IMETHODIMP nsAppShell::ListenToEventQueue(nsIEventQueue *aQueue,
PRBool aListen)
{
// tell gdk to listen to the event queue or not
gint queueToken;
if (aListen) {
queueToken = our_gdk_input_add(aQueue->GetEventQueueSelectFD(),
event_processor_callback,
aQueue, G_PRIORITY_DEFAULT_IDLE);
mEventQueueTokens->PushToken(aQueue, queueToken);
} else {
if (mEventQueueTokens->PopToken(aQueue, &queueToken))
gdk_input_remove(queueToken);
}
return NS_OK;
}

View File

@@ -1,50 +0,0 @@
/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
/*
* 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 nsAppShell_h__
#define nsAppShell_h__
#include "nsIAppShell.h"
#include <gtk/gtk.h>
/**
* Native GTK+ Application shell wrapper
*/
class EventQueueTokenQueue;
class nsAppShell : public nsIAppShell
{
public:
nsAppShell();
virtual ~nsAppShell();
NS_DECL_ISUPPORTS
NS_DECL_NSIAPPSHELL
private:
nsDispatchListener *mDispatchListener;
EventQueueTokenQueue *mEventQueueTokens;
};
#endif // nsAppShell_h__

View File

@@ -1,156 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsGtkEventHandler.h"
#include "nsButton.h"
#include "nsString.h"
NS_IMPL_ADDREF_INHERITED(nsButton, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsButton, nsWidget)
NS_IMPL_QUERY_INTERFACE2(nsButton, nsIButton, nsIWidget)
//-------------------------------------------------------------------------
//
// nsButton constructor
//
//-------------------------------------------------------------------------
nsButton::nsButton() : nsWidget() , nsIButton()
{
}
//-------------------------------------------------------------------------
//
// Create the native Button widget
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsButton::CreateNative(GtkObject *parentWindow)
{
#ifdef USE_SUPERWIN
if (!GDK_IS_SUPERWIN(parentWindow)) {
g_print("Damn, brother. That's not a superwin.\n");
return NS_ERROR_FAILURE;
}
GdkSuperWin *superwin = GDK_SUPERWIN(parentWindow);
mMozBox = gtk_mozbox_new(superwin->bin_window);
#endif
mWidget = gtk_button_new_with_label("");
gtk_widget_set_name(mWidget, "nsButton");
#ifdef USE_SUPERWIN
// make sure that we put the scrollbar into the mozbox
gtk_container_add(GTK_CONTAINER(mMozBox), mWidget);
#endif /* USE_SUPERWIN */
return NS_OK;
}
//-------------------------------------------------------------------------
//
// nsButton destructor
//
//-------------------------------------------------------------------------
nsButton::~nsButton()
{
}
void nsButton::InitCallbacks(char * aName)
{
InstallButtonPressSignal(mWidget);
InstallButtonReleaseSignal(mWidget);
InstallEnterNotifySignal(mWidget);
InstallLeaveNotifySignal(mWidget);
// These are needed so that the events will go to us and not our parent.
AddToEventMask(mWidget,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK |
GDK_EXPOSURE_MASK |
GDK_FOCUS_CHANGE_MASK |
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
}
//-------------------------------------------------------------------------
//
// Set this button label
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsButton::SetLabel(const nsString& aText)
{
NS_ALLOC_STR_BUF(label, aText, 256);
gtk_label_set(GTK_LABEL(GTK_BIN (mWidget)->child), label);
NS_FREE_STR_BUF(label);
return (NS_OK);
}
//-------------------------------------------------------------------------
//
// Get this button label
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsButton::GetLabel(nsString& aBuffer)
{
char * text;
gtk_label_get(GTK_LABEL(GTK_BIN (mWidget)->child), &text);
aBuffer.SetLength(0);
aBuffer.Append(text);
return (NS_OK);
}
//-------------------------------------------------------------------------
//
// set font for button
//
//-------------------------------------------------------------------------
/* virtual */
void nsButton::SetFontNative(GdkFont *aFont)
{
GtkStyle *style = gtk_style_copy(GTK_BIN (mWidget)->child->style);
// gtk_style_copy ups the ref count of the font
gdk_font_unref (style->font);
style->font = aFont;
gdk_font_ref(style->font);
gtk_widget_set_style(GTK_BIN (mWidget)->child, style);
gtk_style_unref(style);
}

View File

@@ -1,53 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsButton_h__
#define nsButton_h__
#include "nsWidget.h"
#include "nsIButton.h"
/**
* Native GTK+ button wrapper
*/
class nsButton : public nsWidget,
public nsIButton
{
public:
nsButton();
virtual ~nsButton();
NS_DECL_ISUPPORTS_INHERITED
// nsIButton part
NS_IMETHOD SetLabel(const nsString& aText);
NS_IMETHOD GetLabel(nsString& aBuffer);
virtual void SetFontNative(GdkFont *aFont);
protected:
NS_METHOD CreateNative(GtkObject *parentWindow);
virtual void InitCallbacks(char * aName = nsnull);
};
#endif // nsButton_h__

View File

@@ -1,250 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsCheckButton.h"
#include "nsString.h"
NS_IMPL_ADDREF_INHERITED(nsCheckButton, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsCheckButton, nsWidget)
NS_IMPL_QUERY_INTERFACE2(nsCheckButton, nsICheckButton, nsIWidget)
//-------------------------------------------------------------------------
//
// nsCheckButton constructor
//
//-------------------------------------------------------------------------
nsCheckButton::nsCheckButton() : nsWidget() , nsICheckButton()
{
NS_INIT_REFCNT();
mLabel = nsnull;
mCheckButton = nsnull;
mState = PR_FALSE;
}
//-------------------------------------------------------------------------
//
// nsCheckButton destructor
//
//-------------------------------------------------------------------------
nsCheckButton::~nsCheckButton()
{
}
void
nsCheckButton::OnDestroySignal(GtkWidget* aGtkWidget)
{
if (aGtkWidget == mCheckButton) {
mCheckButton = nsnull;
}
else if (aGtkWidget == mLabel) {
mLabel = nsnull;
}
else {
nsWidget::OnDestroySignal(aGtkWidget);
}
}
//-------------------------------------------------------------------------
//
// Create the native CheckButton widget
//
//-------------------------------------------------------------------------
NS_METHOD nsCheckButton::CreateNative(GtkObject *parentWindow)
{
mWidget = gtk_event_box_new();
mCheckButton = gtk_check_button_new();
gtk_container_add(GTK_CONTAINER(mWidget), mCheckButton);
gtk_widget_show(mCheckButton);
gtk_widget_set_name(mWidget, "nsCheckButton");
return NS_OK;
}
void nsCheckButton::InitCallbacks(char * aName)
{
InstallButtonPressSignal(mCheckButton);
InstallButtonReleaseSignal(mCheckButton);
InstallEnterNotifySignal(mWidget);
InstallLeaveNotifySignal(mWidget);
// These are needed so that the events will go to us and not our parent.
AddToEventMask(mWidget,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK |
GDK_EXPOSURE_MASK |
GDK_FOCUS_CHANGE_MASK |
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
// Add in destroy callback
gtk_signal_connect(GTK_OBJECT(mCheckButton),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
InstallSignal((GtkWidget *)mCheckButton,
(gchar *)"toggled",
GTK_SIGNAL_FUNC(nsCheckButton::ToggledSignal));
}
//-------------------------------------------------------------------------
//
// Set this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsCheckButton::SetState(const PRBool aState)
{
mState = aState;
if (mWidget && mCheckButton)
{
GtkToggleButton * item = GTK_TOGGLE_BUTTON(mCheckButton);
item->active = (gboolean) mState;
gtk_widget_queue_draw(GTK_WIDGET(item));
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsCheckButton::GetState(PRBool& aState)
{
aState = mState;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set this Checkbox label
//
//-------------------------------------------------------------------------
NS_METHOD nsCheckButton::SetLabel(const nsString& aText)
{
if (mWidget) {
NS_ALLOC_STR_BUF(label, aText, 256);
if (mLabel) {
gtk_label_set(GTK_LABEL(mLabel), label);
} else {
mLabel = gtk_label_new(label);
gtk_misc_set_alignment (GTK_MISC (mLabel), 0.0, 0.5);
gtk_container_add(GTK_CONTAINER(mCheckButton), mLabel);
gtk_widget_show(mLabel);
gtk_signal_connect(GTK_OBJECT(mLabel),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
}
NS_FREE_STR_BUF(label);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsCheckButton::GetLabel(nsString& aBuffer)
{
aBuffer.SetLength(0);
if (mWidget) {
char * text;
if (mLabel) {
gtk_label_get(GTK_LABEL(mLabel), &text);
aBuffer.Append(text);
}
}
return NS_OK;
}
/* virtual */ void
nsCheckButton::OnToggledSignal(const gboolean aState)
{
// Untoggle the sonofabitch
if (mWidget && mCheckButton)
{
GtkToggleButton * item = GTK_TOGGLE_BUTTON(mCheckButton);
item->active = !item->active;
gtk_widget_queue_draw(GTK_WIDGET(item));
}
}
//////////////////////////////////////////////////////////////////////
/* static */ gint
nsCheckButton::ToggledSignal(GtkWidget * aWidget,
gpointer aData)
{
NS_ASSERTION( nsnull != aWidget, "widget is null");
nsCheckButton * button = (nsCheckButton *) aData;
NS_ASSERTION( nsnull != button, "instance pointer is null");
button->OnToggledSignal(GTK_TOGGLE_BUTTON(aWidget)->active);
return PR_TRUE;
}
//////////////////////////////////////////////////////////////////////
// SetBackgroundColor for CheckButton
/*virtual*/
void nsCheckButton::SetBackgroundColorNative(GdkColor *aColorNor,
GdkColor *aColorBri,
GdkColor *aColorDark)
{
// use same style copy as SetFont
GtkStyle *style = gtk_style_copy(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0))->style);
style->bg[GTK_STATE_NORMAL]=*aColorNor;
// Mouse over button
style->bg[GTK_STATE_PRELIGHT]=*aColorBri;
// Button is down
style->bg[GTK_STATE_ACTIVE]=*aColorDark;
// other states too? (GTK_STATE_ACTIVE, GTK_STATE_PRELIGHT,
// GTK_STATE_SELECTED, GTK_STATE_INSENSITIVE)
gtk_widget_set_style(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0)), style);
// set style for eventbox too
gtk_widget_set_style(mWidget, style);
gtk_style_unref(style);
}

View File

@@ -1,75 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsCheckButton_h__
#define nsCheckButton_h__
#include "nsWidget.h"
#include "nsICheckButton.h"
/**
* Native GTK+ Checkbox wrapper
*/
class nsCheckButton : public nsWidget,
public nsICheckButton
{
public:
nsCheckButton();
virtual ~nsCheckButton();
NS_DECL_ISUPPORTS_INHERITED
// nsICheckButton part
NS_IMETHOD SetLabel(const nsString &aText);
NS_IMETHOD GetLabel(nsString &aBuffer);
NS_IMETHOD SetState(const PRBool aState);
NS_IMETHOD GetState(PRBool& aState);
virtual void OnToggledSignal(const gboolean aState);
protected:
NS_IMETHOD CreateNative(GtkObject *parentWindow);
virtual void InitCallbacks(char * aName = nsnull);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
// Sets background for checkbutton
virtual void SetBackgroundColorNative(GdkColor *aColorNor,
GdkColor *aColorBri,
GdkColor *aColorDark);
GtkWidget *mLabel;
GtkWidget *mCheckButton;
// We need to maintain our own state to be in sync with the
// gecko check controlling frame.
PRBool mState;
private:
static gint ToggledSignal(GtkWidget * aWidget,
gpointer aData);
};
#endif // nsCheckButton_h__

View File

@@ -1,872 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsClipboard.h"
#include "nsCOMPtr.h"
#include "nsISupportsArray.h"
#include "nsIClipboardOwner.h"
#include "nsITransferable.h" // kTextMime
#include "nsISupportsPrimitives.h"
#include "nsIWidget.h"
#include "nsIComponentManager.h"
#include "nsIServiceManager.h"
#include "nsWidgetsCID.h"
#include "nsXPIDLString.h"
#include "nsPrimitiveHelpers.h"
#include "nsVoidArray.h"
// The class statics:
GtkWidget* nsClipboard::sWidget = 0;
#if defined(DEBUG_mcafee) || defined(DEBUG_pavlov)
#define DEBUG_CLIPBOARD
#endif
enum {
TARGET_NONE,
TARGET_TEXT_PLAIN,
TARGET_TEXT_XIF,
TARGET_TEXT_UNICODE,
TARGET_TEXT_HTML,
TARGET_AOLMAIL,
TARGET_IMAGE_PNG,
TARGET_IMAGE_JPEG,
TARGET_IMAGE_GIF,
// compatibility types
TARGET_UTF8,
TARGET_UNKNOWN,
TARGET_LAST
};
static GdkAtom sSelTypes[TARGET_LAST];
//-------------------------------------------------------------------------
//
// nsClipboard constructor
//
//-------------------------------------------------------------------------
nsClipboard::nsClipboard() : nsBaseClipboard()
{
#ifdef DEBUG_CLIPBOARD
g_print("nsClipboard::nsClipboard()\n");
#endif /* DEBUG_CLIPBOARD */
//NS_INIT_REFCNT();
mIgnoreEmptyNotification = PR_FALSE;
mClipboardOwner = nsnull;
mTransferable = nsnull;
mSelectionData.data = nsnull;
mSelectionData.length = 0;
// initialize the widget, etc we're binding to
Init();
}
// XXX if GTK's internal code changes this isn't going to work
// copied from gtk code because it is a static function we can't get to it.
// need to bug owen taylor about getting this code public.
typedef struct _GtkSelectionTargetList GtkSelectionTargetList;
struct _GtkSelectionTargetList {
GdkAtom selection;
GtkTargetList *list;
};
static const char *gtk_selection_handler_key = "gtk-selection-handlers";
void __gtk_selection_target_list_remove (GtkWidget *widget)
{
GtkSelectionTargetList *sellist;
GList *tmp_list;
GList *lists;
lists = (GList*)gtk_object_get_data (GTK_OBJECT (widget), gtk_selection_handler_key);
tmp_list = lists;
while (tmp_list)
{
sellist = (GtkSelectionTargetList*)tmp_list->data;
gtk_target_list_unref (sellist->list);
g_free (sellist);
tmp_list = tmp_list->next;
}
g_list_free (lists);
gtk_object_set_data (GTK_OBJECT (widget), gtk_selection_handler_key, NULL);
}
//-------------------------------------------------------------------------
//
// nsClipboard destructor
//
//-------------------------------------------------------------------------
nsClipboard::~nsClipboard()
{
#ifdef DEBUG_CLIPBOARD
printf("nsClipboard::~nsClipboard()\n");
#endif /* DEBUG_CLIPBOARD */
// Remove all our event handlers:
if (sWidget &&
(gdk_selection_owner_get(GDK_SELECTION_PRIMARY) == sWidget->window))
gtk_selection_remove_all(sWidget);
// free the selection data, if any
if (mSelectionData.data != nsnull)
g_free(mSelectionData.data);
nsClipboard *cb = (nsClipboard*)gtk_object_get_data(GTK_OBJECT(sWidget), "cb");
if (cb != nsnull)
{
NS_RELEASE(cb);
gtk_object_remove_data(GTK_OBJECT(sWidget), "cb");
}
if (sWidget)
{
gtk_widget_destroy(sWidget);
sWidget = nsnull;
}
}
//
// GTK Weirdness!
// This is here in the hope of being able to call
// gtk_selection_add_targets(w, GDK_SELECTION_PRIMARY,
// targets,
// 1);
// instead of
// gtk_selection_add_target(sWidget,
// GDK_SELECTION_PRIMARY,
// GDK_SELECTION_TYPE_STRING,
// GDK_SELECTION_TYPE_STRING);
// but it turns out that this changes the whole gtk selection model;
// when calling add_targets copy uses selection_clear_event and the
// data structure needs to be filled in in a way that we haven't
// figured out; when using add_target copy uses selection_get and
// the data structure is already filled in as much as it needs to be.
// Some gtk internals wizard will need to solve this mystery before
// we can use add_targets().
//static GtkTargetEntry targets[] = {
// { "strings n stuff", GDK_SELECTION_TYPE_STRING, GDK_SELECTION_TYPE_STRING }
//};
//
//-------------------------------------------------------------------------
void nsClipboard::Init(void)
{
#ifdef DEBUG_CLIPBOARD
g_print("nsClipboard::Init\n");
#endif
sSelTypes[TARGET_NONE] = GDK_NONE;
sSelTypes[TARGET_TEXT_PLAIN] = gdk_atom_intern(kTextMime, FALSE);
sSelTypes[TARGET_TEXT_XIF] = gdk_atom_intern(kXIFMime, FALSE);
sSelTypes[TARGET_TEXT_UNICODE] = gdk_atom_intern(kUnicodeMime, FALSE);
sSelTypes[TARGET_UTF8] = gdk_atom_intern("UTF8", FALSE);
sSelTypes[TARGET_TEXT_HTML] = gdk_atom_intern(kHTMLMime, FALSE);
sSelTypes[TARGET_AOLMAIL] = gdk_atom_intern(kAOLMailMime, FALSE);
sSelTypes[TARGET_IMAGE_PNG] = gdk_atom_intern(kPNGImageMime, FALSE);
sSelTypes[TARGET_IMAGE_JPEG] = gdk_atom_intern(kJPEGImageMime, FALSE);
sSelTypes[TARGET_IMAGE_GIF] = gdk_atom_intern(kGIFImageMime, FALSE);
// compatibility with other apps
// create invisible widget to use for the clipboard
sWidget = gtk_invisible_new();
// add the clipboard pointer to the widget so we can get it.
gtk_object_set_data(GTK_OBJECT(sWidget), "cb", this);
NS_ADDREF_THIS();
// Handle selection requests if we called gtk_selection_add_target:
gtk_signal_connect(GTK_OBJECT(sWidget), "selection_get",
GTK_SIGNAL_FUNC(nsClipboard::SelectionGetCB),
nsnull);
// When someone else takes the selection away:
gtk_signal_connect(GTK_OBJECT(sWidget), "selection_clear_event",
GTK_SIGNAL_FUNC(nsClipboard::SelectionClearCB),
nsnull);
// Set up the paste handler:
gtk_signal_connect(GTK_OBJECT(sWidget), "selection_received",
GTK_SIGNAL_FUNC(nsClipboard::SelectionReceivedCB),
nsnull);
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsClipboard::SetNativeClipboardData()
{
mIgnoreEmptyNotification = PR_TRUE;
#ifdef DEBUG_CLIPBOARD
printf(" nsClipboard::SetNativeClipboardData()\n");
#endif /* DEBUG_CLIPBOARD */
// make sure we have a good transferable
if (nsnull == mTransferable) {
printf("nsClipboard::SetNativeClipboardData(): no transferable!\n");
return NS_ERROR_FAILURE;
}
// are we already the owner?
if (gdk_selection_owner_get(GDK_SELECTION_PRIMARY) == sWidget->window)
{
// if so, clear all the targets
__gtk_selection_target_list_remove(sWidget);
// gtk_selection_remove_all(sWidget);
}
// we arn't already the owner, so we will become it
gint have_selection = gtk_selection_owner_set(sWidget,
GDK_SELECTION_PRIMARY,
GDK_CURRENT_TIME);
if (have_selection == 0)
return NS_ERROR_FAILURE;
// get flavor list that includes all flavors that can be written (including ones
// obtained through conversion)
nsCOMPtr<nsISupportsArray> flavorList;
nsresult errCode = mTransferable->FlavorsTransferableCanExport ( getter_AddRefs(flavorList) );
if ( NS_FAILED(errCode) )
return NS_ERROR_FAILURE;
PRUint32 cnt;
flavorList->Count(&cnt);
for ( PRUint32 i=0; i<cnt; ++i )
{
nsCOMPtr<nsISupports> genericFlavor;
flavorList->GetElementAt ( i, getter_AddRefs(genericFlavor) );
nsCOMPtr<nsISupportsString> currentFlavor ( do_QueryInterface(genericFlavor) );
if ( currentFlavor ) {
nsXPIDLCString flavorStr;
currentFlavor->ToString(getter_Copies(flavorStr));
gint format = GetFormat(flavorStr);
// add these types as selection targets
RegisterFormat(format);
}
}
mIgnoreEmptyNotification = PR_FALSE;
return NS_OK;
}
void nsClipboard::AddTarget(GdkAtom aAtom)
{
gtk_selection_add_target(sWidget,
GDK_SELECTION_PRIMARY,
aAtom, aAtom);
}
gint nsClipboard::GetFormat(const char* aMimeStr)
{
gint type = TARGET_NONE;
nsCAutoString mimeStr ( CBufDescriptor(NS_CONST_CAST(char*,aMimeStr), PR_TRUE, PL_strlen(aMimeStr)+1) );
#ifdef DEBUG_CLIPBOARD
g_print(" nsClipboard::GetFormat(%s)\n", aMimeStr);
#endif
if (mimeStr.Equals(kTextMime)) {
type = TARGET_TEXT_PLAIN;
} else if (mimeStr.Equals("STRING")) {
type = TARGET_TEXT_PLAIN;
} else if (mimeStr.Equals(kXIFMime)) {
type = TARGET_TEXT_XIF;
} else if (mimeStr.Equals(kUnicodeMime)) {
type = TARGET_TEXT_UNICODE;
} else if (mimeStr.Equals(kHTMLMime)) {
type = TARGET_TEXT_HTML;
} else if (mimeStr.Equals(kAOLMailMime)) {
type = TARGET_AOLMAIL;
} else if (mimeStr.Equals(kPNGImageMime)) {
type = TARGET_IMAGE_PNG;
} else if (mimeStr.Equals(kJPEGImageMime)) {
type = TARGET_IMAGE_JPEG;
} else if (mimeStr.Equals(kGIFImageMime)) {
type = TARGET_IMAGE_GIF;
}
#ifdef WE_DO_DND
else if (mimeStr.Equals(kDropFilesMime)) {
format = CF_HDROP;
} else {
format = ::RegisterClipboardFormat(aMimeStr);
}
#endif
return type;
}
void nsClipboard::RegisterFormat(gint format)
{
#ifdef DEBUG_CLIPBOARD
g_print(" nsClipboard::RegisterFormat(%s)\n", gdk_atom_name(sSelTypes[format]));
#endif
/* when doing the selection_add_target, each case should have the same last parameter
which matches the case match */
switch(format)
{
case TARGET_TEXT_PLAIN:
// text/plain (default)
AddTarget(sSelTypes[format]);
// STRING (what X uses)
AddTarget(GDK_SELECTION_TYPE_STRING);
break;
case TARGET_TEXT_XIF:
// text/xif (default)
AddTarget(sSelTypes[format]);
break;
case TARGET_TEXT_UNICODE:
// text/unicode (default)
AddTarget(sSelTypes[format]);
// UTF8 (what X uses)
AddTarget(sSelTypes[TARGET_UTF8]);
break;
case TARGET_TEXT_HTML:
// text/html (default)
AddTarget(sSelTypes[format]);
break;
case TARGET_AOLMAIL:
// text/aolmail (default)
AddTarget(sSelTypes[format]);
break;
case TARGET_IMAGE_PNG:
// image/png (default)
AddTarget(sSelTypes[format]);
break;
case TARGET_IMAGE_JPEG:
// image/jpeg (default)
AddTarget(sSelTypes[format]);
break;
case TARGET_IMAGE_GIF:
// image/gif (default)
AddTarget(sSelTypes[format]);
break;
default:
// if we don't match something above, then just add it like its something we know about...
AddTarget(sSelTypes[format]);
}
}
PRBool nsClipboard::DoRealConvert(GdkAtom type)
{
#ifdef DEBUG_CLIPBOARD
g_print(" nsClipboard::DoRealConvert(%li)\n {\n", type);
#endif
int e = 0;
// Set a flag saying that we're blocking waiting for the callback:
mBlocking = PR_TRUE;
//
// ask X what kind of data we can get
//
#ifdef DEBUG_CLIPBOARD
g_print(" Doing real conversion of atom type '%s'\n", gdk_atom_name(type));
#endif
gtk_selection_convert(sWidget,
GDK_SELECTION_PRIMARY,
type,
GDK_CURRENT_TIME);
// Now we need to wait until the callback comes in ...
// i is in case we get a runaway (yuck).
#ifdef DEBUG_CLIPBOARD
printf(" Waiting for the callback... mBlocking = %d\n", mBlocking);
#endif /* DEBUG_CLIPBOARD */
for (e=0; mBlocking == PR_TRUE && e < 1000; ++e)
{
gtk_main_iteration_do(PR_TRUE);
}
#ifdef DEBUG_CLIPBOARD
g_print(" }\n");
#endif
if (mSelectionData.length > 0)
return PR_TRUE;
return PR_FALSE;
}
/* return PR_TRUE if we have converted or PR_FALSE if we havn't and need to keep being called */
PRBool nsClipboard::DoConvert(gint format)
{
#ifdef DEBUG_CLIPBOARD
g_print(" nsClipboard::DoConvert(%s)\n", gdk_atom_name(sSelTypes[format]));
#endif
/* when doing the selection_add_target, each case should have the same last parameter
which matches the case match */
PRBool r = PR_FALSE;
switch(format)
{
case TARGET_TEXT_PLAIN:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
r = DoRealConvert(GDK_SELECTION_TYPE_STRING);
if (r) return r;
break;
case TARGET_TEXT_XIF:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
break;
case TARGET_TEXT_UNICODE:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
r = DoRealConvert(sSelTypes[TARGET_UTF8]);
if (r) return r;
break;
case TARGET_TEXT_HTML:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
break;
case TARGET_AOLMAIL:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
break;
case TARGET_IMAGE_PNG:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
break;
case TARGET_IMAGE_JPEG:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
break;
case TARGET_IMAGE_GIF:
r = DoRealConvert(sSelTypes[format]);
if (r) return r;
break;
default:
g_print("DoConvert called with bogus format\n");
}
return r;
}
//-------------------------------------------------------------------------
//
// The blocking Paste routine
//
//-------------------------------------------------------------------------
NS_IMETHODIMP
nsClipboard::GetNativeClipboardData(nsITransferable * aTransferable)
{
#ifdef DEBUG_CLIPBOARD
printf("nsClipboard::GetNativeClipboardData()\n");
#endif /* DEBUG_CLIPBOARD */
// make sure we have a good transferable
if (nsnull == aTransferable) {
printf(" GetNativeClipboardData: Transferable is null!\n");
return NS_ERROR_FAILURE;
}
// get flavor list that includes all acceptable flavors (including ones obtained through
// conversion)
nsCOMPtr<nsISupportsArray> flavorList;
nsresult errCode = aTransferable->FlavorsTransferableCanImport ( getter_AddRefs(flavorList) );
if ( NS_FAILED(errCode) )
return NS_ERROR_FAILURE;
// Walk through flavors and see which flavor matches the one being pasted:
PRUint32 cnt;
flavorList->Count(&cnt);
nsCAutoString foundFlavor;
for ( PRUint32 i = 0; i < cnt; ++i ) {
nsCOMPtr<nsISupports> genericFlavor;
flavorList->GetElementAt ( i, getter_AddRefs(genericFlavor) );
nsCOMPtr<nsISupportsString> currentFlavor ( do_QueryInterface(genericFlavor) );
if ( currentFlavor ) {
nsXPIDLCString flavorStr;
currentFlavor->ToString ( getter_Copies(flavorStr) );
gint format = GetFormat(flavorStr);
if (DoConvert(format)) {
foundFlavor = flavorStr;
break;
}
}
}
#ifdef DEBUG_CLIPBOARD
printf(" Got the callback: '%s', %d\n",
mSelectionData.data, mSelectionData.length);
#endif /* DEBUG_CLIPBOARD */
// We're back from the callback, no longer blocking:
mBlocking = PR_FALSE;
//
// Now we have data in mSelectionData.data.
// We just have to copy it to the transferable.
//
#if 0
// pinkerton - we have the flavor already from above, so we don't need
// to re-derrive it.
nsString *name = new nsString((const char*)gdk_atom_name(mSelectionData.type));
int format = GetFormat(*name);
df->SetString((const char*)gdk_atom_name(sSelTypes[format]));
#endif
nsCOMPtr<nsISupports> genericDataWrapper;
nsPrimitiveHelpers::CreatePrimitiveForData ( foundFlavor, mSelectionData.data, mSelectionData.length, getter_AddRefs(genericDataWrapper) );
aTransferable->SetTransferData(foundFlavor,
genericDataWrapper,
mSelectionData.length);
//delete name;
// transferable is now copying the data, so we can free it.
// g_free(mSelectionData.data);
mSelectionData.data = nsnull;
mSelectionData.length = 0;
return NS_OK;
}
/**
* Called when the data from a paste comes in (recieved from gdk_selection_convert)
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
* @param aTime time the selection was requested
*/
void
nsClipboard::SelectionReceivedCB (GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
guint aTime)
{
#ifdef DEBUG_CLIPBOARD
printf(" nsClipboard::SelectionReceivedCB\n {\n");
#endif /* DEBUG_CLIPBOARD */
nsClipboard *cb =(nsClipboard *)gtk_object_get_data(GTK_OBJECT(aWidget),
"cb");
if (!cb)
{
g_print("no clipboard found.. this is bad.\n");
return;
}
cb->SelectionReceiver(aWidget, aSelectionData);
#ifdef DEBUG_CLIPBOARD
g_print(" }\n");
#endif
}
/**
* local method (called from nsClipboard::SelectionReceivedCB)
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
*/
void
nsClipboard::SelectionReceiver (GtkWidget *aWidget,
GtkSelectionData *aSD)
{
gint type;
mBlocking = PR_FALSE;
if (aSD->length < 0)
{
printf(" Error retrieving selection: length was %d\n",
aSD->length);
return;
}
type = TARGET_NONE;
for (int i=0; i < TARGET_LAST; i++)
{
if (sSelTypes[i] == aSD->type)
{
type = i;
break;
}
}
switch (type)
{
case GDK_TARGET_STRING:
case TARGET_UTF8:
case TARGET_TEXT_PLAIN:
case TARGET_TEXT_XIF:
case TARGET_TEXT_UNICODE:
case TARGET_TEXT_HTML:
#ifdef DEBUG_CLIPBOARD
g_print(" Copying mSelectionData pointer -- ");
#endif
mSelectionData = *aSD;
mSelectionData.data = g_new(guchar, aSD->length + 1);
#ifdef DEBUG_CLIPBOARD
g_print(" Data = %s\n Length = %i\n", aSD->data, aSD->length);
#endif
memcpy(mSelectionData.data,
aSD->data,
aSD->length);
// Null terminate in case anyone cares,
// and so we can print the string for debugging:
mSelectionData.data[aSD->length] = '\0';
mSelectionData.length = aSD->length;
return;
default:
mSelectionData = *aSD;
mSelectionData.data = g_new(guchar, aSD->length + 1);
memcpy(mSelectionData.data,
aSD->data,
aSD->length);
mSelectionData.length = aSD->length;
return;
}
}
/**
* Some platforms support deferred notification for putting data on the clipboard
* This method forces the data onto the clipboard in its various formats
* This may be used if the application going away.
*
* @result NS_OK if successful.
*/
NS_IMETHODIMP nsClipboard::ForceDataToClipboard()
{
#ifdef DEBUG_CLIPBOARD
printf(" nsClipboard::ForceDataToClipboard()\n");
#endif /* DEBUG_CLIPBOARD */
// make sure we have a good transferable
if (nsnull == mTransferable) {
return NS_ERROR_FAILURE;
}
return NS_OK;
}
NS_IMETHODIMP
nsClipboard::HasDataMatchingFlavors(nsISupportsArray* aFlavorList, PRBool * outResult)
{
*outResult = PR_TRUE; // say we always do.
return NS_OK;
}
/**
* This is the callback which is called when another app
* requests the selection.
*
* @param widget The widget
* @param aSelectionData Selection data
* @param info Value passed in from the callback init
* @param time Time when the selection request came in
*/
void nsClipboard::SelectionGetCB(GtkWidget *widget,
GtkSelectionData *aSelectionData,
guint aInfo,
guint aTime)
{
#ifdef DEBUG_CLIPBOARD
printf("nsClipboard::SelectionGetCB\n");
#endif /* DEBUG_CLIPBOARD */
nsClipboard *cb = (nsClipboard *)gtk_object_get_data(GTK_OBJECT(widget),
"cb");
void *clipboardData;
PRUint32 dataLength;
nsresult rv;
// Make sure we have a transferable:
if (!cb->mTransferable) {
printf("Clipboard has no transferable!\n");
return;
}
#ifdef DEBUG_CLIPBOARD
g_print(" aInfo == %d -", aInfo);
#endif
char* dataFlavor = nsnull;
// switch aInfo (atom) to our enum
int type = (int)aInfo;
for (int i=0; i < TARGET_LAST; i++)
{
if (sSelTypes[i] == aInfo)
{
type = i;
break;
}
}
switch(type)
{
case GDK_TARGET_STRING:
case TARGET_TEXT_PLAIN:
dataFlavor = kTextMime;
break;
case TARGET_TEXT_XIF:
dataFlavor = kXIFMime;
break;
case TARGET_TEXT_UNICODE:
case TARGET_UTF8:
dataFlavor = kUnicodeMime;
break;
case TARGET_TEXT_HTML:
dataFlavor = kHTMLMime;
break;
case TARGET_AOLMAIL:
dataFlavor = kAOLMailMime;
break;
case TARGET_IMAGE_PNG:
dataFlavor = kPNGImageMime;
break;
case TARGET_IMAGE_JPEG:
dataFlavor = kJPEGImageMime;
break;
case TARGET_IMAGE_GIF:
dataFlavor = kGIFImageMime;
break;
default:
{
/* handle outside things */
}
}
#ifdef DEBUG_CLIPBOARD
g_print("- aInfo is for %s\n", gdk_atom_name(aInfo));
#endif
// Get data out of transferable.
nsCOMPtr<nsISupports> genericDataWrapper;
rv = cb->mTransferable->GetTransferData(dataFlavor,
getter_AddRefs(genericDataWrapper),
&dataLength);
nsPrimitiveHelpers::CreateDataFromPrimitive ( dataFlavor, genericDataWrapper, &clipboardData, dataLength );
if (NS_SUCCEEDED(rv) && clipboardData && dataLength > 0) {
size_t size = 1;
// find the number of bytes in the data for the below thing
// size_t size = sizeof((void*)((unsigned char)clipboardData[0]));
// g_print("************ ***************** ******************* %i\n", size);
gtk_selection_data_set(aSelectionData,
aInfo, size*8,
(unsigned char *)clipboardData,
dataLength);
nsCRT::free ( NS_REINTERPRET_CAST(char*, clipboardData) );
}
else
printf("Transferable didn't support the data flavor\n");
}
/**
* Called when another app requests selection ownership
*
* @param aWidget the widget
* @param aEvent the GdkEvent for the selection
* @param aData value passed in from the callback init
*/
void nsClipboard::SelectionClearCB(GtkWidget *aWidget,
GdkEventSelection *aEvent,
gpointer aData)
{
#ifdef DEBUG_CLIPBOARD
printf(" nsClipboard::SelectionClearCB\n");
#endif /* DEBUG_CLIPBOARD */
nsClipboard *cb = (nsClipboard *)gtk_object_get_data(GTK_OBJECT(aWidget),
"cb");
cb->EmptyClipboard();
}
/**
* The routine called when another app asks for the content of the selection
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
* @param aData value passed in from the callback init
*/
void
nsClipboard::SelectionRequestCB (GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
gpointer aData)
{
#ifdef DEBUG_CLIPBOARD
printf(" nsClipboard::SelectionRequestCB\n");
#endif /* DEBUG_CLIPBOARD */
}
/**
* ...
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
* @param aData value passed in from the callback init
*/
void
nsClipboard::SelectionNotifyCB (GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
gpointer aData)
{
#ifdef DEBUG_CLIPBOARD
printf(" nsClipboard::SelectionNotifyCB\n");
#endif /* DEBUG_CLIPBOARD */
}

View File

@@ -1,132 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsClipboard_h__
#define nsClipboard_h__
#include "nsBaseClipboard.h"
#include <gtk/gtk.h>
#include <gtk/gtkinvisible.h>
class nsITransferable;
class nsIClipboardOwner;
class nsIWidget;
/**
* Native Gtk Clipboard wrapper
*/
class nsClipboard : public nsBaseClipboard
{
public:
nsClipboard();
virtual ~nsClipboard();
// nsIClipboard
NS_IMETHOD ForceDataToClipboard();
NS_IMETHOD HasDataMatchingFlavors(nsISupportsArray* aFlavorList, PRBool * outResult);
// invisible widget. also used by dragndrop
static GtkWidget *sWidget;
protected:
NS_IMETHOD SetNativeClipboardData();
NS_IMETHOD GetNativeClipboardData(nsITransferable * aTransferable);
PRBool mIgnoreEmptyNotification;
void AddTarget(GdkAtom aAtom);
gint GetFormat(const char* aMimeStr);
void RegisterFormat(gint format);
PRBool DoRealConvert(GdkAtom type);
PRBool DoConvert(gint format);
void Init(void);
// Used for communicating pasted data
// from the asynchronous X routines back to a blocking paste:
GtkSelectionData mSelectionData;
PRBool mBlocking;
void SelectionReceiver(GtkWidget *aWidget,
GtkSelectionData *aSD);
/**
* This is the callback which is called when another app
* requests the selection.
*
* @param widget The widget
* @param aSelectionData Selection data
* @param info Value passed in from the callback init
* @param time Time when the selection request came in
*/
static void SelectionGetCB(GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
guint /*info*/,
guint /*time*/);
/**
* Called when another app requests selection ownership
*
* @param aWidget the widget
* @param aEvent the GdkEvent for the selection
* @param aData value passed in from the callback init
*/
static void SelectionClearCB(GtkWidget *aWidget,
GdkEventSelection *aEvent,
gpointer aData);
/**
* The routine called when another app asks for the content of the selection
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
* @param aData value passed in from the callback init
*/
static void SelectionRequestCB(GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
gpointer data);
/**
* Called when the data from a paste comes in
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
* @param aTime time the selection was requested
*/
static void SelectionReceivedCB(GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
guint aTime);
static void SelectionNotifyCB(GtkWidget *aWidget,
GtkSelectionData *aSelectionData,
gpointer aData);
};
#endif // nsClipboard_h__

View File

@@ -1,357 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsComboBox.h"
#include "nsGUIEvent.h"
#include "nsString.h"
#define DBG 0
#define INITIAL_MAX_ITEMS 128
#define ITEMS_GROWSIZE 128
NS_IMPL_ADDREF_INHERITED(nsComboBox, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsComboBox, nsWidget)
NS_IMPL_QUERY_INTERFACE3(nsComboBox, nsIComboBox, nsIListWidget, nsIWidget)
//-------------------------------------------------------------------------
//
// nsComboBox constructor
//
//-------------------------------------------------------------------------
nsComboBox::nsComboBox() : nsWidget(), nsIListWidget(), nsIComboBox()
{
NS_INIT_REFCNT();
mMultiSelect = PR_FALSE;
mItems = nsnull;
mNumItems = 0;
}
//-------------------------------------------------------------------------
//
// nsComboBox:: destructor
//
//-------------------------------------------------------------------------
nsComboBox::~nsComboBox()
{
if (mItems) {
for (GList *items = mItems; items; items = (GList*) g_list_next(items)){
g_free(items->data);
}
g_list_free(mItems);
}
gtk_widget_destroy(mCombo);
}
void nsComboBox::InitCallbacks(char * aName)
{
InstallButtonPressSignal(mWidget);
InstallButtonReleaseSignal(mWidget);
InstallEnterNotifySignal(mWidget);
InstallLeaveNotifySignal(mWidget);
// These are needed so that the events will go to us and not our parent.
AddToEventMask(mWidget,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK |
GDK_EXPOSURE_MASK |
GDK_FOCUS_CHANGE_MASK |
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
}
//-------------------------------------------------------------------------
//
// initializer
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::SetMultipleSelection(PRBool aMultipleSelections)
{
mMultiSelect = aMultipleSelections;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// AddItemAt
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::AddItemAt(nsString &aItem, PRInt32 aPosition)
{
NS_ALLOC_STR_BUF(val, aItem, 256);
mItems = g_list_insert( mItems, g_strdup(val), aPosition );
mNumItems++;
if (mCombo) {
gtk_combo_set_popdown_strings( GTK_COMBO( mCombo ), mItems );
}
NS_FREE_STR_BUF(val);
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Finds an item at a postion
//
//-------------------------------------------------------------------------
PRInt32 nsComboBox::FindItem(nsString &aItem, PRInt32 aStartPos)
{
NS_ALLOC_STR_BUF(val, aItem, 256);
int i;
PRInt32 inx = -1;
GList *items = g_list_nth(mItems, aStartPos);
for(i=0; items != NULL; items = (GList *) g_list_next(items), i++ )
{
if(!strcmp(val, (gchar *) items->data))
{
inx = i;
break;
}
}
NS_FREE_STR_BUF(val);
return inx;
}
//-------------------------------------------------------------------------
//
// CountItems - Get Item Count
//
//-------------------------------------------------------------------------
PRInt32 nsComboBox::GetItemCount()
{
return (PRInt32)mNumItems;
}
//-------------------------------------------------------------------------
//
// Removes an Item at a specified location
//
//-------------------------------------------------------------------------
PRBool nsComboBox::RemoveItemAt(PRInt32 aPosition)
{
if (aPosition >= 0 && aPosition < mNumItems) {
g_free(g_list_nth(mItems, aPosition)->data);
mItems = g_list_remove_link(mItems, g_list_nth(mItems, aPosition));
mNumItems--;
if (mCombo) {
gtk_combo_set_popdown_strings(GTK_COMBO( mCombo ), mItems);
}
return PR_TRUE;
}
else
return PR_FALSE;
}
//-------------------------------------------------------------------------
//
// Removes an Item at a specified location
//
//-------------------------------------------------------------------------
PRBool nsComboBox::GetItemAt(nsString& anItem, PRInt32 aPosition)
{
if (aPosition >= 0 && aPosition < mNumItems) {
anItem = (gchar *) g_list_nth(mItems, aPosition)->data;
return PR_TRUE;
}
return PR_FALSE;
}
//-------------------------------------------------------------------------
//
// Gets the selected of selected item
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::GetSelectedItem(nsString& aItem)
{
aItem.Truncate();
if (mCombo) {
aItem = gtk_entry_get_text (GTK_ENTRY (GTK_COMBO(mCombo)->entry));
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Gets the list of selected otems
//
//-------------------------------------------------------------------------
PRInt32 nsComboBox::GetSelectedIndex()
{
nsString nsstring;
GetSelectedItem(nsstring);
return FindItem(nsstring, 0);
}
//-------------------------------------------------------------------------
//
// SelectItem
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::SelectItem(PRInt32 aPosition)
{
GList *pos;
if (!mItems)
return NS_ERROR_FAILURE;
pos = g_list_nth(mItems, aPosition);
if (!pos)
return NS_ERROR_FAILURE;
if (mCombo) {
gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(mCombo)->entry),
(gchar *) pos->data);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// GetSelectedCount
//
//-------------------------------------------------------------------------
PRInt32 nsComboBox::GetSelectedCount()
{
if (!mMultiSelect) {
PRInt32 inx = GetSelectedIndex();
return (inx == -1? 0 : 1);
} else {
return 0;
}
}
//-------------------------------------------------------------------------
//
// GetSelectedIndices
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::GetSelectedIndices(PRInt32 aIndices[], PRInt32 aSize)
{
// this is an error
return NS_ERROR_FAILURE;
}
//-------------------------------------------------------------------------
//
// Deselect
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::Deselect()
{
if (mMultiSelect) {
return NS_ERROR_FAILURE;
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Create the native GtkCombo widget
//
//-------------------------------------------------------------------------
NS_METHOD nsComboBox::CreateNative(GtkObject *parentWindow)
{
mWidget = ::gtk_event_box_new();
::gtk_widget_set_name(mWidget, "nsComboBox");
mCombo = ::gtk_combo_new();
gtk_widget_show(mCombo);
/* make the stuff uneditable */
gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(mCombo)->entry), PR_FALSE);
gtk_signal_connect(GTK_OBJECT(mCombo),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
gtk_signal_connect(GTK_OBJECT(GTK_COMBO(mCombo)->popwin),
"unmap",
GTK_SIGNAL_FUNC(UnmapSignal),
this);
gtk_container_add(GTK_CONTAINER(mWidget), mCombo);
return NS_OK;
}
void
nsComboBox::OnDestroySignal(GtkWidget* aGtkWidget)
{
if (aGtkWidget == mCombo) {
mCombo = nsnull;
}
else {
nsWidget::OnDestroySignal(aGtkWidget);
}
}
gint
nsComboBox::UnmapSignal(GtkWidget* aGtkWidget, nsComboBox* aCombo)
{
if (!aCombo) return PR_FALSE;
aCombo->OnUnmapSignal(aGtkWidget);
return PR_TRUE;
}
void
nsComboBox::OnUnmapSignal(GtkWidget * aWidget)
{
if (!aWidget) return;
// Generate a NS_CONTROL_CHANGE event and send it to the frame
nsGUIEvent event;
event.eventStructType = NS_GUI_EVENT;
nsPoint point(0,0);
InitEvent(event, NS_CONTROL_CHANGE, &point);
DispatchWindowEvent(&event);
}
//-------------------------------------------------------------------------
//
// Get handle for style
//
//-------------------------------------------------------------------------
/*virtual*/
void nsComboBox::SetFontNative(GdkFont *aFont)
{
GtkStyle *style = gtk_style_copy(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0))->style);
// gtk_style_copy ups the ref count of the font
gdk_font_unref (style->font);
style->font = aFont;
gdk_font_ref(style->font);
gtk_widget_set_style(GTK_BIN (mWidget)->child, style);
gtk_style_unref(style);
}

View File

@@ -1,75 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsComboBox_h__
#define nsComboBox_h__
#include "nsWidget.h"
#include "nsIComboBox.h"
/**
* Native GTK+ Listbox wrapper
*/
class nsComboBox : public nsWidget,
public nsIListWidget,
public nsIComboBox
{
public:
nsComboBox();
virtual ~nsComboBox();
NS_DECL_ISUPPORTS_INHERITED
// nsIComboBox interface
NS_IMETHOD AddItemAt(nsString &aItem, PRInt32 aPosition);
virtual PRInt32 FindItem(nsString &aItem, PRInt32 aStartPos);
virtual PRInt32 GetItemCount();
virtual PRBool RemoveItemAt(PRInt32 aPosition);
virtual PRBool GetItemAt(nsString& anItem, PRInt32 aPosition);
NS_IMETHOD GetSelectedItem(nsString& aItem);
virtual PRInt32 GetSelectedIndex();
NS_IMETHOD SelectItem(PRInt32 aPosition);
NS_IMETHOD Deselect() ;
// nsIComboBox interface
NS_IMETHOD SetMultipleSelection(PRBool aMultipleSelections);
PRInt32 GetSelectedCount();
NS_IMETHOD GetSelectedIndices(PRInt32 aIndices[], PRInt32 aSize);
virtual void SetFontNative(GdkFont *aFont);
protected:
NS_IMETHOD CreateNative(GtkObject *parentWindow);
virtual void InitCallbacks(char * aName = nsnull);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
virtual void OnUnmapSignal(GtkWidget* aWidget);
static gint UnmapSignal(GtkWidget* aGtkWidget, nsComboBox* aCombo);
GtkWidget *mCombo; /* workaround for gtkcombo bug */
GList *mItems;
PRBool mMultiSelect;
int mNumItems;
};
#endif // nsComboBox_h__

View File

@@ -1,744 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsContextMenu.h"
#include "nsIComponentManager.h"
#include "nsIDOMElement.h"
#include "nsIDOMNode.h"
#include "nsIMenuBar.h"
#include "nsIMenuItem.h"
#include "nsIMenuListener.h"
#include "nsString.h"
#include "nsGtkEventHandler.h"
#include "nsCOMPtr.h"
#include "nsWidgetsCID.h"
static NS_DEFINE_CID(kMenuCID, NS_MENU_CID);
static NS_DEFINE_CID(kMenuItemCID, NS_MENUITEM_CID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
//-------------------------------------------------------------------------
nsresult nsContextMenu::QueryInterface(REFNSIID aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
*aInstancePtr = NULL;
if (aIID.Equals(nsIMenu::GetIID())) {
*aInstancePtr = (void*)(nsIMenu*) this;
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*)(nsISupports*)(nsIMenu*)this;
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(nsIMenuListener::GetIID())) {
*aInstancePtr = (void*)(nsIMenuListener*)this;
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
//-------------------------------------------------------------------------
NS_IMPL_ADDREF(nsContextMenu)
NS_IMPL_RELEASE(nsContextMenu)
//-------------------------------------------------------------------------
//
// nsContextMenu constructor
//
//-------------------------------------------------------------------------
nsContextMenu::nsContextMenu()
{
NS_INIT_REFCNT();
mNumMenuItems = 0;
mMenu = nsnull;
mParent = nsnull;
mListener = nsnull;
mConstructCalled = PR_FALSE;
mDOMNode = nsnull;
mWebShell = nsnull;
mDOMElement = nsnull;
mAlignment = "topleft";
mAnchorAlignment = "none";
}
//-------------------------------------------------------------------------
//
// nsContextMenu destructor
//
//-------------------------------------------------------------------------
nsContextMenu::~nsContextMenu()
{
}
//-------------------------------------------------------------------------
//
// Create the proper widget
//
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::Create(nsISupports *aParent,
const nsString& anAlignment,
const nsString& anAnchorAlignment)
{
if(aParent)
{
nsIWidget *parent = nsnull;
aParent->QueryInterface(nsIWidget::GetIID(), (void**) &parent);
if(parent)
{
mParent = parent;
NS_RELEASE(parent);
}
}
mAlignment = anAlignment;
mAnchorAlignment = anAnchorAlignment;
mMenu = gtk_menu_new();
gtk_signal_connect (GTK_OBJECT (mMenu), "map",
GTK_SIGNAL_FUNC(menu_map_handler),
this);
gtk_signal_connect (GTK_OBJECT (mMenu), "unmap",
GTK_SIGNAL_FUNC(menu_unmap_handler),
this);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::GetParent(nsISupports*& aParent)
{
aParent = nsnull;
if (nsnull != mParent) {
return mParent->QueryInterface(kISupportsIID,
(void**)&aParent);
}
return NS_ERROR_FAILURE;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::AddItem(nsISupports * aItem)
{
if(aItem)
{
nsIMenuItem * menuitem = nsnull;
aItem->QueryInterface(nsIMenuItem::GetIID(),
(void**)&menuitem);
if(menuitem)
{
AddMenuItem(menuitem); // nsMenu now owns this
NS_RELEASE(menuitem);
}
else
{
nsIMenu * menu = nsnull;
aItem->QueryInterface(nsIMenu::GetIID(),
(void**)&menu);
if(menu)
{
AddMenu(menu); // nsMenu now owns this
NS_RELEASE(menu);
}
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::AddMenuItem(nsIMenuItem * aMenuItem)
{
GtkWidget *widget;
void *voidData;
aMenuItem->GetNativeData(voidData);
widget = GTK_WIDGET(voidData);
gtk_menu_shell_append (GTK_MENU_SHELL (mMenu), widget);
// XXX add aMenuItem to internal data structor list
// Need to be adding an nsISupports *, not nsIMenuItem *
nsISupports * supports = nsnull;
aMenuItem->QueryInterface(kISupportsIID,
(void**)&supports);
{
mMenuItemVoidArray.AppendElement(supports);
mNumMenuItems++;
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::AddMenu(nsIMenu * aMenu)
{
nsString Label;
GtkWidget *newmenu=nsnull;
char *labelStr;
void *voidData=NULL;
aMenu->GetLabel(Label);
labelStr = Label.ToNewCString();
// Create nsMenuItem
nsIMenuItem * pnsMenuItem = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuItemCID,
nsnull,
nsIMenuItem::GetIID(),
(void**)&pnsMenuItem);
if (NS_OK == rv) {
nsISupports * supports = nsnull;
QueryInterface(kISupportsIID, (void**) &supports);
pnsMenuItem->Create(supports, labelStr, PR_FALSE); //PR_TRUE);
NS_RELEASE(supports);
pnsMenuItem->QueryInterface(kISupportsIID, (void**) &supports);
AddItem(supports); // Parent should now own menu item
NS_RELEASE(supports);
void * menuitem = nsnull;
pnsMenuItem->GetNativeData(menuitem);
voidData = NULL;
aMenu->GetNativeData(&voidData);
newmenu = GTK_WIDGET(voidData);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), newmenu);
NS_RELEASE(pnsMenuItem);
}
nsCRT::free(labelStr);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::AddSeparator()
{
// Create nsMenuItem
nsIMenuItem * pnsMenuItem = nsnull;
nsresult rv = nsComponentManager::CreateInstance(
kMenuItemCID, nsnull, nsIMenuItem::GetIID(), (void**)&pnsMenuItem);
if (NS_OK == rv) {
nsString tmp = "separator";
nsISupports * supports = nsnull;
QueryInterface(kISupportsIID, (void**) &supports);
pnsMenuItem->Create(supports, tmp, PR_TRUE);
NS_RELEASE(supports);
pnsMenuItem->QueryInterface(kISupportsIID, (void**) &supports);
AddItem(supports); // Parent should now own menu item
NS_RELEASE(supports);
NS_RELEASE(pnsMenuItem);
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::GetItemCount(PRUint32 &aCount)
{
// this should be right.. does it need to be +1 ?
aCount = g_list_length(GTK_MENU_SHELL(mMenu)->children);
//g_print("nsMenu::GetItemCount = %i\n", aCount);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::GetItemAt(const PRUint32 aCount, nsISupports *& aMenuItem)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::InsertItemAt(const PRUint32 aCount, nsISupports * aMenuItem)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::InsertSeparator(const PRUint32 aCount)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::RemoveItem(const PRUint32 aCount)
{
#if 0
// this may work here better than Removeall(), but i'm not sure how to test this one
nsISupports *item = mMenuItemVoidArray[aPos];
delete item;
mMenuItemVoidArray.RemoveElementAt(aPos);
#endif
/*
gtk_menu_shell_remove (GTK_MENU_SHELL (mMenu), item);
nsCRT::free(labelStr);
voidData = NULL;
aMenu->GetNativeData(&voidData);
newmenu = GTK_WIDGET(voidData);
gtk_menu_item_remove_submenu (GTK_MENU_ITEM (item));
*/
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::RemoveAll()
{
//g_print("nsMenu::RemoveAll()\n");
#undef DEBUG_pavlov
#ifdef DEBUG_pavlov
// this doesn't work quite right, but this is about all that should really be needed
int i=0;
nsIMenu *menu = nsnull;
nsIMenuItem *menuitem = nsnull;
nsISupports *item = nsnull;
for (i=mMenuItemVoidArray.Count(); i>0; i--)
{
item = (nsISupports*)mMenuItemVoidArray[i-1];
if(nsnull != item)
{
if (NS_OK == item->QueryInterface(nsIMenuItem::GetIID(), (void**)&menuitem))
{
// we do this twice because we have to do it once for QueryInterface,
// then we want to get rid of it.
// g_print("remove nsMenuItem\n");
NS_RELEASE(menuitem);
NS_RELEASE(item);
menuitem = nsnull;
} else if (NS_OK == item->QueryInterface(nsIMenu::GetIID(), (void**)&menu)) {
#ifdef NOISY_MENUS
g_print("remove nsMenu\n");
#endif
NS_RELEASE(menu);
NS_RELEASE(item);
menu = nsnull;
}
// mMenuItemVoidArray.RemoveElementAt(i-1);
}
}
mMenuItemVoidArray.Clear();
return NS_OK;
#else
for (int i = mMenuItemVoidArray.Count(); i > 0; i--) {
if(nsnull != mMenuItemVoidArray[i-1]) {
nsIMenuItem * menuitem = nsnull;
((nsISupports*)mMenuItemVoidArray[i-1])->QueryInterface(nsIMenuItem::GetIID(),
(void**)&menuitem);
if(menuitem) {
void *gtkmenuitem = nsnull;
menuitem->GetNativeData(gtkmenuitem);
if (gtkmenuitem) {
gtk_widget_ref(GTK_WIDGET(gtkmenuitem));
//gtk_widget_destroy(GTK_WIDGET(gtkmenuitem));
g_print("%p, %p\n",
GTK_WIDGET(GTK_CONTAINER(GTK_MENU_SHELL(GTK_MENU(mMenu)))),
GTK_WIDGET(GTK_WIDGET(gtkmenuitem)->parent));
gtk_container_remove(GTK_CONTAINER(GTK_MENU_SHELL(GTK_MENU(mMenu))),
GTK_WIDGET(gtkmenuitem));
}
} else {
nsIMenu * menu= nsnull;
((nsISupports*)mMenuItemVoidArray[i-1])->QueryInterface(nsIMenu::GetIID(),
(void**)&menu);
if(menu)
{
void * gtkmenu = nsnull;
menu->GetNativeData(&gtkmenu);
if(gtkmenu){
g_print("nsMenu::RemoveAll() trying to remove nsMenu");
//gtk_menu_item_remove_submenu (GTK_MENU_ITEM (item));
}
}
}
}
}
//g_print("end RemoveAll\n");
return NS_OK;
#endif
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::GetNativeData(void ** aData)
{
*aData = (void *)mMenu;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::AddMenuListener(nsIMenuListener * aMenuListener)
{
mListener = aMenuListener;
NS_ADDREF(mListener);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::RemoveMenuListener(nsIMenuListener * aMenuListener)
{
if (aMenuListener == mListener) {
NS_IF_RELEASE(mListener);
}
return NS_OK;
}
//-------------------------------------------------------------------------
// nsIMenuListener interface
//-------------------------------------------------------------------------
nsEventStatus nsContextMenu::MenuItemSelected(const nsMenuEvent & aMenuEvent)
{
if (nsnull != mListener) {
mListener->MenuSelected(aMenuEvent);
}
return nsEventStatus_eIgnore;
}
void menu_popup_position(GtkMenu *menu,
gint *x,
gint *y,
gpointer data)
{
nsContextMenu *cm = (nsContextMenu*)data;
*x = cm->GetX();
*y = cm->GetY();
}
nsEventStatus nsContextMenu::MenuSelected(const nsMenuEvent & aMenuEvent)
{
MenuConstruct(aMenuEvent,
mParent,
mDOMNode,
mWebShell);
//GtkWidget *parent = GTK_WIDGET(mParent->GetNativeData(NS_NATIVE_WIDGET));
gtk_menu_popup (GTK_MENU(mMenu),
(GtkWidget*)nsnull, (GtkWidget*)nsnull,
menu_popup_position,
this, 1, GDK_CURRENT_TIME);
/*
if (nsnull != mListener) {
mListener->MenuSelected(aMenuEvent);
}
*/
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsIMenuItem * nsContextMenu::FindMenuItem(nsIContextMenu * aMenu, PRUint32 aId)
{
return nsnull;
}
//-------------------------------------------------------------------------
nsEventStatus nsContextMenu::MenuDeselected(const nsMenuEvent & aMenuEvent)
{
if (nsnull != mListener) {
mListener->MenuDeselected(aMenuEvent);
}
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsContextMenu::MenuConstruct(const nsMenuEvent &aMenuEvent,
nsIWidget *aParentWindow,
void *menuNode,
void *aWebShell)
{
//g_print("nsMenu::MenuConstruct called \n");
if(menuNode){
SetDOMNode((nsIDOMNode*)menuNode);
}
if(!aWebShell){
aWebShell = mWebShell;
}
// First open the menu.
nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mDOMNode);
if (domElement)
domElement->SetAttribute("open", "true");
// Begin menuitem inner loop
nsCOMPtr<nsIDOMNode> menuitemNode;
((nsIDOMNode*)mDOMNode)->GetFirstChild(getter_AddRefs(menuitemNode));
unsigned short menuIndex = 0;
while (menuitemNode) {
nsCOMPtr<nsIDOMElement> menuitemElement(do_QueryInterface(menuitemNode));
if (menuitemElement) {
nsString menuitemNodeType;
nsString menuitemName;
menuitemElement->GetNodeName(menuitemNodeType);
if (menuitemNodeType.Equals("menuitem")) {
// LoadMenuItem
LoadMenuItem(this,
menuitemElement,
menuitemNode,
menuIndex,
(nsIWebShell*)aWebShell);
} else if (menuitemNodeType.Equals("separator")) {
AddSeparator();
} else if (menuitemNodeType.Equals("menu")) {
// Load a submenu
LoadSubMenu(this, menuitemElement, menuitemNode);
}
}
++menuIndex;
nsCOMPtr<nsIDOMNode> oldmenuitemNode(menuitemNode);
oldmenuitemNode->GetNextSibling(getter_AddRefs(menuitemNode));
} // end menu item innner loop
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsContextMenu::MenuDestruct(const nsMenuEvent & aMenuEvent)
{
// Close the node.
nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mDOMNode);
if (domElement)
domElement->RemoveAttribute("open");
//g_print("nsMenu::MenuDestruct called \n");
mConstructCalled = PR_FALSE;
RemoveAll();
return nsEventStatus_eIgnore;
}
//----------------------------------------
void nsContextMenu::LoadMenuItem(nsIMenu *pParentMenu,
nsIDOMElement *menuitemElement,
nsIDOMNode *menuitemNode,
unsigned short menuitemIndex,
nsIWebShell *aWebShell)
{
static const char* NS_STRING_TRUE = "true";
nsString disabled;
nsString menuitemName;
nsString menuitemCmd;
menuitemElement->GetAttribute(nsAutoString("disabled"), disabled);
menuitemElement->GetAttribute(nsAutoString("name"), menuitemName);
menuitemElement->GetAttribute(nsAutoString("cmd"), menuitemCmd);
// Create nsMenuItem
nsIMenuItem * pnsMenuItem = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuItemCID,
nsnull,
nsIMenuItem::GetIID(),
(void**)&pnsMenuItem);
if (NS_OK == rv) {
pnsMenuItem->Create(pParentMenu, menuitemName, PR_FALSE);
nsISupports * supports = nsnull;
pnsMenuItem->QueryInterface(kISupportsIID, (void**) &supports);
pParentMenu->AddItem(supports); // Parent should now own menu item
NS_RELEASE(supports);
if(disabled == NS_STRING_TRUE) {
pnsMenuItem->SetEnabled(PR_FALSE);
}
// Create MenuDelegate - this is the intermediator inbetween
// the DOM node and the nsIMenuItem
// The nsWebShellWindow wacthes for Document changes and then notifies the
// the appropriate nsMenuDelegate object
nsCOMPtr<nsIDOMElement> domElement(do_QueryInterface(menuitemNode));
if (!domElement) {
//return NS_ERROR_FAILURE;
return;
}
nsAutoString cmdAtom("onclick");
nsString cmdName;
domElement->GetAttribute(cmdAtom, cmdName);
pnsMenuItem->SetCommand(cmdName);
// DO NOT use passed in webshell because of messed up windows dynamic loading
// code.
pnsMenuItem->SetWebShell(mWebShell);
pnsMenuItem->SetDOMElement(domElement);
NS_RELEASE(pnsMenuItem);
}
return;
}
//----------------------------------------
void nsContextMenu::LoadSubMenu(nsIMenu *pParentMenu,
nsIDOMElement *menuElement,
nsIDOMNode *menuNode)
{
nsString menuName;
menuElement->GetAttribute(nsAutoString("name"), menuName);
//printf("Creating Menu [%s] \n", menuName.ToNewCString()); // this leaks
// Create nsMenu
nsIMenu * pnsMenu = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuCID,
nsnull,
nsIMenu::GetIID(),
(void**)&pnsMenu);
if (NS_OK == rv) {
// Call Create
nsISupports * supports = nsnull;
pParentMenu->QueryInterface(kISupportsIID, (void**) &supports);
pnsMenu->Create(supports, menuName);
NS_RELEASE(supports); // Balance QI
// Set nsMenu Name
pnsMenu->SetLabel(menuName);
supports = nsnull;
pnsMenu->QueryInterface(kISupportsIID, (void**) &supports);
pParentMenu->AddItem(supports); // parent takes ownership
NS_RELEASE(supports);
pnsMenu->SetWebShell(mWebShell);
pnsMenu->SetDOMNode(menuNode);
/*
// Begin menuitem inner loop
unsigned short menuIndex = 0;
nsCOMPtr<nsIDOMNode> menuitemNode;
menuNode->GetFirstChild(getter_AddRefs(menuitemNode));
while (menuitemNode) {
nsCOMPtr<nsIDOMElement> menuitemElement(do_QueryInterface(menuitemNode));
if (menuitemElement) {
nsString menuitemNodeType;
menuitemElement->GetNodeName(menuitemNodeType);
#ifdef DEBUG_saari
printf("Type [%s] %d\n", menuitemNodeType.ToNewCString(), menuitemNodeType.Equals("separator"));
#endif
if (menuitemNodeType.Equals("menuitem")) {
// Load a menuitem
LoadMenuItem(pnsMenu, menuitemElement, menuitemNode, menuIndex, mWebShell);
} else if (menuitemNodeType.Equals("separator")) {
pnsMenu->AddSeparator();
} else if (menuitemNodeType.Equals("menu")) {
// Add a submenu
LoadSubMenu(pnsMenu, menuitemElement, menuitemNode);
}
}
++menuIndex;
nsCOMPtr<nsIDOMNode> oldmenuitemNode(menuitemNode);
oldmenuitemNode->GetNextSibling(getter_AddRefs(menuitemNode));
} // end menu item innner loop
*/
}
}
//----------------------------------------
void nsContextMenu::LoadMenuItem(nsIContextMenu *pParentMenu,
nsIDOMElement *menuitemElement,
nsIDOMNode *menuitemNode,
unsigned short menuitemIndex,
nsIWebShell *aWebShell)
{
}
//----------------------------------------
void nsContextMenu::LoadSubMenu(nsIContextMenu *pParentMenu,
nsIDOMElement *menuElement,
nsIDOMNode *menuNode)
{
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::SetLocation(PRInt32 aX, PRInt32 aY)
{
mX = aX;
mY = aY;
return NS_OK;
}
// local methods
gint nsContextMenu::GetX(void)
{
return mX;
}
gint nsContextMenu::GetY(void)
{
return mY;
}
// end silly local methods
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::SetDOMNode(nsIDOMNode *aMenuNode)
{
mDOMNode = aMenuNode;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::SetDOMElement(nsIDOMElement *aMenuElement)
{
mDOMElement = aMenuElement;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsContextMenu::SetWebShell(nsIWebShell *aWebShell)
{
mWebShell = aWebShell;
return NS_OK;
}

View File

@@ -1,139 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsContextMenu_h__
#define nsContextMenu_h__
#include "nsIContextMenu.h"
#include "nsISupportsArray.h"
#include "nsVoidArray.h"
#include "nsIDOMElement.h"
#include "nsIWebShell.h"
class nsIMenuListener;
/**
* Native Win32 button wrapper
*/
class nsContextMenu : public nsIContextMenu, public nsIMenuListener
{
public:
nsContextMenu();
virtual ~nsContextMenu();
NS_DECL_ISUPPORTS
//nsIMenuListener interface
nsEventStatus MenuItemSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent,
nsIWidget * aParentWindow,
void * menubarNode,
void * aWebShell);
nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent);
// nsIMenu Methods
NS_IMETHOD Create(nsISupports * aParent,
const nsString& anAlignment,
const nsString& aAnchorAlign);
NS_IMETHOD GetParent(nsISupports *&aParent);
NS_IMETHOD AddItem(nsISupports * aItem);
NS_IMETHOD AddSeparator();
NS_IMETHOD GetItemCount(PRUint32 &aCount);
NS_IMETHOD GetItemAt(const PRUint32 aPos, nsISupports *& aMenuItem);
NS_IMETHOD InsertItemAt(const PRUint32 aPos, nsISupports * aMenuItem);
NS_IMETHOD RemoveItem(const PRUint32 aPos);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void** aData);
NS_IMETHOD AddMenuListener(nsIMenuListener * aMenuListener);
NS_IMETHOD RemoveMenuListener(nsIMenuListener * aMenuListener);
//
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem);
NS_IMETHOD AddMenu(nsIMenu * aMenu);
NS_IMETHOD InsertSeparator(const PRUint32 aCount);
NS_IMETHOD SetDOMNode(nsIDOMNode * menuNode);
NS_IMETHOD SetDOMElement(nsIDOMElement * menuElement);
NS_IMETHOD SetWebShell(nsIWebShell * aWebShell);
NS_IMETHOD SetLocation(PRInt32 aX, PRInt32 aY);
gint GetX(void);
gint GetY(void);
protected:
nsIMenuBar * GetMenuBar(nsIMenu * aMenu);
nsIWidget * GetParentWidget();
char* GetACPString(nsString& aStr);
void LoadMenuItem(nsIMenu * pParentMenu,
nsIDOMElement * menuitemElement,
nsIDOMNode * menuitemNode,
unsigned short menuitemIndex,
nsIWebShell * aWebShell);
void LoadSubMenu(nsIMenu * pParentMenu,
nsIDOMElement * menuElement,
nsIDOMNode * menuNode);
void LoadMenuItem(nsIContextMenu * pParentMenu,
nsIDOMElement * menuitemElement,
nsIDOMNode * menuitemNode,
unsigned short menuitemIndex,
nsIWebShell * aWebShell);
void LoadSubMenu(nsIContextMenu * pParentMenu,
nsIDOMElement * menuElement,
nsIDOMNode * menuNode);
nsIMenuItem * FindMenuItem(nsIContextMenu * aMenu, PRUint32 aId);
nsString mLabel;
PRUint32 mNumMenuItems;
GtkWidget *mMenu;
nsVoidArray mMenuItemVoidArray;
nsIWidget *mParent;
nsIMenuListener * mListener;
PRBool mConstructCalled;
nsIDOMNode * mDOMNode;
nsIWebShell * mWebShell;
nsIDOMElement * mDOMElement;
nsString mAlignment;
nsString mAnchorAlignment;
PRInt32 mX;
PRInt32 mY;
};
#endif // nsContextMenu_h__

View File

@@ -1,592 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsDragService.h"
#include "nsITransferable.h"
#include "nsString.h"
#include "nsClipboard.h"
#include "nsIRegion.h"
#include "nsVoidArray.h"
#include "nsISupportsPrimitives.h"
#include "nsPrimitiveHelpers.h"
#include "nsCOMPtr.h"
#include "nsXPIDLString.h"
#include "nsWidgetsCID.h"
NS_IMPL_ADDREF_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_RELEASE_INHERITED(nsDragService, nsBaseDragService)
NS_IMPL_QUERY_INTERFACE2(nsDragService, nsIDragService, nsIDragSession)
#define DEBUG_DRAG 1
//-------------------------------------------------------------------------
//
// DragService constructor
//
//-------------------------------------------------------------------------
nsDragService::nsDragService()
{
NS_INIT_REFCNT();
mWidget = nsnull;
mNumFlavors = 0;
}
//-------------------------------------------------------------------------
//
// DragService destructor
//
//-------------------------------------------------------------------------
nsDragService::~nsDragService()
{
}
enum {
TARGET_STRING,
TARGET_ROOTWIN
};
static GtkTargetEntry target_table[] = {
{ "STRING", 0, TARGET_STRING },
{ "text/plain", 0, TARGET_STRING },
{ "application/x-rootwin-drop", 0, TARGET_ROOTWIN }
};
static guint n_targets = sizeof(target_table) / sizeof(target_table[0]);
NS_IMETHODIMP nsDragService::StartDragSession()
{
printf("nsDragService::StartDragSession()\n");
nsBaseDragService::StartDragSession();
/*
gtk_drag_source_set(mWidget,
GDK_MODIFIER_MASK,
targetlist,
mNumFlavors,
action);
*/
gtk_drag_source_set(mWidget,
GDK_MODIFIER_MASK,
target_table,
n_targets,
mActionType);
return NS_OK;
}
NS_IMETHODIMP nsDragService::EndDragSession()
{
printf("nsDragService::EndDragSession()\n");
nsBaseDragService::EndDragSession();
gtk_drag_source_unset(mWidget);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsDragService::InvokeDragSession (nsISupportsArray *aTransferableArray,
nsIScriptableRegion *aRegion,
PRUint32 aActionType)
{
mWidget = gtk_get_event_widget(gtk_get_current_event());
// add the flavors from the transferables. Cache this array for the send data proc
GtkTargetList *targetlist = RegisterDragItemsAndFlavors(aTransferableArray);
switch (aActionType)
{
case DRAGDROP_ACTION_NONE:
mActionType = GDK_ACTION_DEFAULT;
break;
case DRAGDROP_ACTION_COPY:
mActionType = GDK_ACTION_COPY;
break;
case DRAGDROP_ACTION_MOVE:
mActionType = GDK_ACTION_MOVE;
break;
case DRAGDROP_ACTION_LINK:
mActionType = GDK_ACTION_LINK;
break;
}
StartDragSession();
// XXX 3rd param ??? & last param should be a real event...
gtk_drag_begin(mWidget, targetlist, mActionType, 1, gtk_get_current_event());
#if 0
// we have to synthesize the native event because we may be called from JavaScript
// through XPConnect. In that case, we only have a DOM event and no way to
// get to the native event. As a consequence, we just always fake it.
Point globalMouseLoc;
::GetMouse(&globalMouseLoc);
::LocalToGlobal(&globalMouseLoc);
WindowPtr theWindow = nsnull;
if ( ::FindWindow(globalMouseLoc, &theWindow) != inContent ) {
// debugging sanity check
#ifdef NS_DEBUG
DebugStr("\pAbout to start drag, but FindWindow() != inContent; g");
#endif
}
EventRecord theEvent;
theEvent.what = mouseDown;
theEvent.message = reinterpret_cast<UInt32>(theWindow);
theEvent.when = 0;
theEvent.where = globalMouseLoc;
theEvent.modifiers = 0;
RgnHandle theDragRgn = ::NewRgn();
BuildDragRegion ( aDragRgn, globalMouseLoc, theDragRgn );
// register drag send proc which will call us back when asked for the actual
// flavor data (instead of placing it all into the drag manager)
::SetDragSendProc ( theDragRef, sDragSendDataUPP, this );
// start the drag. Be careful, mDragRef will be invalid AFTER this call (it is
// reset by the dragTrackingHandler).
::TrackDrag ( theDragRef, &theEvent, theDragRgn );
// clean up after ourselves
::DisposeRgn ( theDragRgn );
result = ::DisposeDrag ( theDragRef );
NS_ASSERTION ( result == noErr, "Error disposing drag" );
mDragRef = 0L;
mDataItems = nsnull;
return NS_OK;
#endif
return NS_OK;
}
GtkTargetList *
nsDragService::RegisterDragItemsAndFlavors(nsISupportsArray *inArray)
{
unsigned int numDragItems = 0;
inArray->Count(&numDragItems);
GtkTargetList *targetlist;
targetlist = gtk_target_list_new(nsnull, numDragItems);
for (unsigned int i = 0; i < numDragItems; ++i)
{
nsCOMPtr<nsISupports> genericItem;
inArray->GetElementAt (i, getter_AddRefs(genericItem));
nsCOMPtr<nsITransferable> currItem (do_QueryInterface(genericItem));
if (currItem)
{
nsCOMPtr<nsISupportsArray> flavorList;
if (NS_SUCCEEDED(currItem->FlavorsTransferableCanExport(getter_AddRefs(flavorList))))
{
flavorList->Count (&mNumFlavors);
for (PRUint32 flavorIndex = 0; flavorIndex < mNumFlavors; ++flavorIndex)
{
nsCOMPtr<nsISupports> genericWrapper;
flavorList->GetElementAt ( flavorIndex, getter_AddRefs(genericWrapper) );
nsCOMPtr<nsISupportsString> currentFlavor ( do_QueryInterface(genericWrapper) );
if ( currentFlavor )
{
nsXPIDLCString flavorStr;
currentFlavor->ToString ( getter_Copies(flavorStr) );
// register native flavors
GdkAtom atom = gdk_atom_intern(flavorStr, PR_TRUE);
gtk_target_list_add(targetlist, atom, 1, atom);
}
} // foreach flavor in item
} // if valid flavor list
} // if item is a transferable
} // foreach drag item
return targetlist;
}
/* return PR_TRUE if we have converted or PR_FALSE if we havn't and need to keep being called */
PRBool nsDragService::DoConvert(GdkAtom type)
{
#ifdef DEBUG_DRAG
g_print(" nsDragService::DoRealConvert(%li)\n {\n", type);
#endif
int e = 0;
// Set a flag saying that we're blocking waiting for the callback:
mBlocking = PR_TRUE;
//
// ask X what kind of data we can get
//
#ifdef DEBUG_DRAG
g_print(" Doing real conversion of atom type '%s'\n", gdk_atom_name(type));
#endif
gtk_selection_convert(mWidget,
GDK_SELECTION_PRIMARY,
type,
GDK_CURRENT_TIME);
// Now we need to wait until the callback comes in ...
// i is in case we get a runaway (yuck).
#ifdef DEBUG_DRAG
printf(" Waiting for the callback... mBlocking = %d\n", mBlocking);
#endif /* DEBUG_CLIPBOARD */
for (e=0; mBlocking == PR_TRUE && e < 1000; ++e)
{
gtk_main_iteration_do(PR_TRUE);
}
#ifdef DEBUG_DRAG
g_print(" }\n");
#endif
if (mSelectionData.length > 0)
return PR_TRUE;
return PR_FALSE;
}
#if 0
/**
* Called when the data from a drag comes in (recieved from gdk_selection_convert)
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
* @param aTime time the selection was requested
*/
void
nsDragService::SelectionReceivedCB (GtkWidget *aWidget,
GdkDragContext *aContext,
gint aX,
gint aY,
GtkSelectionData *aSelectionData,
guint aInfo,
guint aTime)
{
#ifdef DEBUG_DRAG
printf(" nsDragService::SelectionReceivedCB\n {\n");
#endif
nsDragService *ds =(nsDragSession *)gtk_object_get_data(GTK_OBJECT(aWidget),
"ds");
if (!cb)
{
g_print("no dragservice found.. this is bad.\n");
return;
}
ds->SelectionReceiver(aWidget, aSelectionData);
#ifdef DEBUG_DRAG
g_print(" }\n");
#endif
}
/**
* local method (called from nsClipboard::SelectionReceivedCB)
*
* @param aWidget the widget
* @param aSelectionData gtk selection stuff
*/
void
nsDragService::SelectionReceiver (GtkWidget *aWidget,
GtkSelectionData *aSD)
{
gint type;
mBlocking = PR_FALSE;
if (aSD->length < 0)
{
printf(" Error retrieving selection: length was %d\n",
aSD->length);
return;
}
switch (type)
{
case GDK_TARGET_STRING:
case TARGET_COMPOUND_TEXT:
case TARGET_TEXT_PLAIN:
case TARGET_TEXT_XIF:
case TARGET_TEXT_UNICODE:
case TARGET_TEXT_HTML:
#ifdef DEBUG_CLIPBOARD
g_print(" Copying mSelectionData pointer -- ");
#endif
mSelectionData = *aSD;
mSelectionData.data = g_new(guchar, aSD->length + 1);
#ifdef DEBUG_CLIPBOARD
g_print(" Data = %s\n Length = %i\n", aSD->data, aSD->length);
#endif
memcpy(mSelectionData.data,
aSD->data,
aSD->length);
// Null terminate in case anyone cares,
// and so we can print the string for debugging:
mSelectionData.data[aSD->length] = '\0';
mSelectionData.length = aSD->length;
return;
default:
mSelectionData = *aSD;
mSelectionData.data = g_new(guchar, aSD->length + 1);
memcpy(mSelectionData.data,
aSD->data,
aSD->length);
mSelectionData.length = aSD->length;
return;
}
}
#endif
//-------------------------------------------------------------------------
NS_IMETHODIMP nsDragService::GetNumDropItems (PRUint32 * aNumItems)
{
*aNumItems = 0;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsDragService::GetData (nsITransferable * aTransferable, PRUint32 anItem)
{
#ifdef DEBUG_DRAG
printf("nsClipboard::GetNativeClipboardData()\n");
#endif /* DEBUG_CLIPBOARD */
// make sure we have a good transferable
if (!aTransferable) {
printf(" GetData: Transferable is null!\n");
return NS_ERROR_FAILURE;
}
// get flavor list that includes all acceptable flavors (including ones obtained through
// conversion)
nsCOMPtr<nsISupportsArray> flavorList;
nsresult errCode = aTransferable->FlavorsTransferableCanImport ( getter_AddRefs(flavorList) );
if ( NS_FAILED(errCode) )
return NS_ERROR_FAILURE;
// Walk through flavors and see which flavor matches the one being pasted:
PRUint32 cnt;
flavorList->Count(&cnt);
nsCAutoString foundFlavor;
for ( PRUint32 i = 0; i < cnt; ++i ) {
nsCOMPtr<nsISupports> genericFlavor;
flavorList->GetElementAt ( i, getter_AddRefs(genericFlavor) );
nsCOMPtr<nsISupportsString> currentFlavor (do_QueryInterface(genericFlavor));
if ( currentFlavor ) {
nsXPIDLCString flavorStr;
currentFlavor->ToString(getter_Copies(flavorStr));
if (DoConvert(gdk_atom_intern(flavorStr, 1))) {
foundFlavor = flavorStr;
break;
}
}
}
#ifdef DEBUG_CLIPBOARD
printf(" Got the callback: '%s', %d\n",
mSelectionData.data, mSelectionData.length);
#endif /* DEBUG_CLIPBOARD */
// We're back from the callback, no longer blocking:
mBlocking = PR_FALSE;
//
// Now we have data in mSelectionData.data.
// We just have to copy it to the transferable.
//
#if 0
// pinkerton - we have the flavor already from above, so we don't need
// to re-derrive it.
nsString *name = new nsString((const char*)gdk_atom_name(mSelectionData.type));
int format = GetFormat(*name);
df->SetString((const char*)gdk_atom_name(sSelTypes[format]));
#endif
nsCOMPtr<nsISupports> genericDataWrapper;
nsPrimitiveHelpers::CreatePrimitiveForData ( foundFlavor, mSelectionData.data, mSelectionData.length, getter_AddRefs(genericDataWrapper) );
aTransferable->SetTransferData(foundFlavor,
genericDataWrapper,
mSelectionData.length);
//delete name;
// transferable is now copying the data, so we can free it.
// g_free(mSelectionData.data);
mSelectionData.data = nsnull;
mSelectionData.length = 0;
gtk_drag_source_unset(mWidget);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsDragService::IsDataFlavorSupported(const char *aDataFlavor, PRBool *_retval)
{
return NS_ERROR_FAILURE;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsDragService::GetCurrentSession (nsIDragSession **aSession)
{
return NS_ERROR_FAILURE;
}
//-------------------------------------------------------------------------
void
nsDragService::DragLeave (GtkWidget *widget,
GdkDragContext *context,
guint time)
{
g_print("leave\n");
//gHaveDrag = PR_FALSE;
}
//-------------------------------------------------------------------------
PRBool
nsDragService::DragMotion(GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time)
{
g_print("drag motion\n");
GtkWidget *source_widget;
#if 0
if (!gHaveDrag) {
gHaveDrag = PR_TRUE;
}
#endif
source_widget = gtk_drag_get_source_widget (context);
g_print("motion, source %s\n", source_widget ?
gtk_type_name (GTK_OBJECT (source_widget)->klass->type) :
"unknown");
gdk_drag_status (context, context->suggested_action, time);
return PR_TRUE;
}
//-------------------------------------------------------------------------
PRBool
nsDragService::DragDrop(GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time)
{
g_print("drop\n");
//gHaveDrag = PR_FALSE;
if (context->targets){
gtk_drag_get_data (widget, context,
GPOINTER_TO_INT (context->targets->data),
time);
return PR_TRUE;
}
return PR_FALSE;
}
//-------------------------------------------------------------------------
void
nsDragService::DragDataReceived (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time)
{
if ((data->length >= 0) && (data->format == 8)) {
g_print ("Received \"%s\"\n", (gchar *)data->data);
gtk_drag_finish (context, PR_TRUE, PR_FALSE, time);
return;
}
gtk_drag_finish (context, PR_FALSE, PR_FALSE, time);
}
//-------------------------------------------------------------------------
void
nsDragService::DragDataGet(GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
guint info,
guint time,
gpointer data)
{
gtk_selection_data_set (selection_data,
selection_data->target,
8, (guchar *)"I'm Data!", 9);
}
//-------------------------------------------------------------------------
void
nsDragService::DragDataDelete(GtkWidget *widget,
GdkDragContext *context,
gpointer data)
{
g_print ("Delete the data!\n");
}

View File

@@ -1,109 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsDragService_h__
#define nsDragService_h__
#include "nsBaseDragService.h"
#include <gtk/gtk.h>
/**
* Native GTK DragService wrapper
*/
class nsDragService : public nsBaseDragService
{
public:
nsDragService();
virtual ~nsDragService();
NS_DECL_ISUPPORTS_INHERITED
// nsIDragService
NS_IMETHOD InvokeDragSession (nsISupportsArray * anArrayTransferables,
nsIScriptableRegion * aRegion, PRUint32 aActionType);
NS_IMETHOD GetCurrentSession (nsIDragSession ** aSession);
// nsIDragSession
NS_IMETHOD GetData (nsITransferable * aTransferable, PRUint32 anItem);
NS_IMETHOD GetNumDropItems (PRUint32 * aNumItems);
NS_IMETHOD IsDataFlavorSupported(const char *aDataFlavor, PRBool *_retval);
NS_IMETHOD StartDragSession();
NS_IMETHOD EndDragSession();
GtkTargetList *RegisterDragItemsAndFlavors(nsISupportsArray *inArray);
protected:
PRBool DoConvert(GdkAtom type);
static PRBool gHaveDrag;
static void DragLeave(GtkWidget *widget,
GdkDragContext *context,
guint time);
static PRBool DragMotion(GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time);
static PRBool DragDrop(GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
guint time);
static void DragDataReceived(GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time);
static void DragDataGet(GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
guint info,
guint time,
gpointer data);
static void DragDataDelete(GtkWidget *widget,
GdkDragContext *context,
gpointer data);
private:
GdkDragAction mActionType;
PRUint32 mNumFlavors;
GtkWidget *mWidget;
GdkDragContext *mDragContext;
GtkSelectionData mSelectionData;
PRBool mBlocking;
};
#endif // nsDragService_h__

View File

@@ -1,304 +0,0 @@
/* -*- 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.
*
* Contributor(s):
* Stuart Parmenter <pavlov@netscape.com>
*/
#include "nsCOMPtr.h"
#include "nsIComponentManager.h"
#include "nsFilePicker.h"
NS_IMPL_ISUPPORTS1(nsFilePicker, nsIFilePicker)
//-------------------------------------------------------------------------
//
// nsFilePicker constructor
//
//-------------------------------------------------------------------------
nsFilePicker::nsFilePicker()
{
NS_INIT_REFCNT();
mWidget = nsnull;
mDisplayDirectory = nsnull;
mFilterMenu = nsnull;
mOptionMenu = nsnull;
mNumberOfFilters = 0;
}
//-------------------------------------------------------------------------
//
// nsFilePicker destructor
//
//-------------------------------------------------------------------------
nsFilePicker::~nsFilePicker()
{
if (mFilterMenu)
{
GtkWidget *menu_item;
GList *list = g_list_first(GTK_MENU_SHELL(mFilterMenu)->children);
for (;list; list = list->next)
{
menu_item = GTK_WIDGET(list->data);
gchar *data = (gchar*)gtk_object_get_data(GTK_OBJECT(menu_item), "filters");
if (data)
nsCRT::free(data);
}
}
gtk_widget_destroy(mWidget);
}
static void file_ok_clicked(GtkWidget *w, PRBool *ret)
{
g_print("user hit ok\n");
*ret = PR_TRUE;
gtk_main_quit();
}
static void file_cancel_clicked(GtkWidget *w, PRBool *ret)
{
g_print("user hit cancel\n");
*ret = PR_FALSE;
gtk_main_quit();
}
static void filter_item_activated(GtkWidget *w, gpointer data)
{
// nsFilePicker *f = (nsFilePicker*)data;
gchar *foo = (gchar*)gtk_object_get_data(GTK_OBJECT(w), "filters");
g_print("filter_item_activated(): %s\n", foo);
}
//-------------------------------------------------------------------------
//
// Show - Display the file dialog
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::Show(PRInt16 *retval)
{
NS_ENSURE_ARG_POINTER(retval);
PRBool ret;
if (mWidget) {
// make things shorter
GtkFileSelection *fs = GTK_FILE_SELECTION(mWidget);
if (mNumberOfFilters != 0)
{
gtk_option_menu_set_menu(GTK_OPTION_MENU(mOptionMenu), mFilterMenu);
}
else
gtk_widget_hide(mOptionMenu);
#if 0
if (mDisplayDirectory)
gtk_file_selection_complete(fs, "/");
#endif
// gtk_window_set_modal(GTK_WINDOW(mWidget), PR_TRUE);
gtk_widget_show(mWidget);
// handle close, destroy, etc on the dialog
gtk_signal_connect(GTK_OBJECT(fs->ok_button), "clicked",
GTK_SIGNAL_FUNC(file_ok_clicked),
&ret);
gtk_signal_connect(GTK_OBJECT(fs->cancel_button), "clicked",
GTK_SIGNAL_FUNC(file_cancel_clicked),
&ret);
// start new loop. ret is set in the above callbacks.
gtk_main();
}
else {
ret = PR_FALSE;
}
if (ret)
*retval = returnOK;
else
*retval = returnCancel;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set the list of filters
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::SetFilterList(PRInt32 aNumberOfFilters,
const PRUnichar **aTitles,
const PRUnichar **filters)
{
#if 0
GtkWidget *menu_item;
mNumberOfFilters = aNumberOfFilters;
mTitles = aTitles;
mFilters = aFilters;
mFilterMenu = gtk_menu_new();
for(unsigned int i=0; i < aNumberOfFilters; i++)
{
// we need *.{htm, html, xul, etc}
char *foo = aTitles[i].ToNewCString();
char *filters = aFilters[i].ToNewCString();
printf("%20s %s\n", foo, filters);
menu_item = gtk_menu_item_new_with_label(nsAutoCString(aTitles[i]));
gtk_object_set_data(GTK_OBJECT(menu_item), "filters", filters);
gtk_signal_connect(GTK_OBJECT(menu_item),
"activate",
GTK_SIGNAL_FUNC(filter_item_activated),
this);
gtk_menu_append(GTK_MENU(mFilterMenu), menu_item);
gtk_widget_show(menu_item);
nsCRT::free(foo);
}
#endif
return NS_OK;
}
NS_IMETHODIMP nsFilePicker::GetFile(nsIFileSpec **aFile)
{
NS_ENSURE_ARG_POINTER(*aFile);
if (mWidget) {
gchar *fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION(mWidget));
nsCOMPtr<nsIFileSpec> fileSpec(do_CreateInstance("component://netscape/filespec"));
NS_ENSURE_TRUE(fileSpec, NS_ERROR_FAILURE);
fileSpec->SetNativePath(fn);
*aFile = fileSpec;
NS_ADDREF(*aFile);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::GetSelectedFilter(PRInt32 *aType)
{
NS_ENSURE_ARG_POINTER(aType);
*aType = mSelectedType;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the file + path
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::SetDefaultString(const PRUnichar *aString)
{
if (mWidget) {
gtk_file_selection_set_filename(GTK_FILE_SELECTION(mWidget),
(const gchar*)nsAutoCString(aString));
}
return NS_OK;
}
NS_IMETHODIMP nsFilePicker::GetDefaultString(PRUnichar **aString)
{
return NS_ERROR_FAILURE;
}
//-------------------------------------------------------------------------
//
// Set the display directory
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::SetDisplayDirectory(nsIFileSpec *aDirectory)
{
mDisplayDirectory = aDirectory;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the display directory
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::GetDisplayDirectory(nsIFileSpec **aDirectory)
{
*aDirectory = mDisplayDirectory;
NS_IF_ADDREF(*aDirectory);
return NS_OK;
}
NS_IMETHODIMP nsFilePicker::Create(nsIDOMWindow *aParent,
const PRUnichar *aTitle,
PRInt16 aMode)
{
return nsBaseFilePicker::Create(aParent, aTitle, aMode);
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFilePicker::CreateNative(nsIWidget *aParent,
const PRUnichar *aTitle,
PRInt16 aMode)
{
mWidget = gtk_file_selection_new((const gchar *)nsAutoCString(aTitle));
gtk_signal_connect(GTK_OBJECT(mWidget),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
gtk_button_box_set_layout(GTK_BUTTON_BOX(GTK_FILE_SELECTION(mWidget)->button_area), GTK_BUTTONBOX_SPREAD);
mOptionMenu = gtk_option_menu_new();
gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(mWidget)->main_vbox), mOptionMenu, PR_FALSE, PR_FALSE, 0);
gtk_widget_show(mOptionMenu);
// Hide the file column for the folder case.
if (aMode == nsIFilePicker::modeGetFolder) {
gtk_widget_hide((GTK_FILE_SELECTION(mWidget)->file_list)->parent);
}
return NS_OK;
}
gint
nsFilePicker::DestroySignal(GtkWidget * aGtkWidget,
nsFilePicker* aWidget)
{
aWidget->OnDestroySignal(aGtkWidget);
return TRUE;
}
void
nsFilePicker::OnDestroySignal(GtkWidget* aGtkWidget)
{
if (aGtkWidget == mWidget) {
mWidget = nsnull;
}
}

View File

@@ -1,68 +0,0 @@
/* -*- 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.
*
* Contributor(s):
* Stuart Parmenter <pavlov@netscape.com>
*/
#ifndef nsFilePicker_h__
#define nsFilePicker_h__
#include "nsBaseFilePicker.h"
#include <gtk/gtk.h>
/**
* Native GTK FileSelector wrapper
*/
class nsFilePicker : public nsBaseFilePicker
{
public:
nsFilePicker();
virtual ~nsFilePicker();
NS_DECL_ISUPPORTS
NS_DECL_NSIFILEPICKER
protected:
/* method from nsBaseFilePicker */
NS_IMETHOD CreateNative(nsIWidget *aParent,
const PRUnichar *aTitle,
PRInt16 aMode);
static gint DestroySignal(GtkWidget * aGtkWidget,
nsFilePicker* aWidget);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
GtkWidget *mWidget;
GtkWidget *mOptionMenu;
GtkWidget *mFilterMenu;
PRUint32 mNumberOfFilters;
const nsString* mTitles;
const nsString* mFilters;
nsString mDefault;
nsIFileSpec *mDisplayDirectory;
PRInt16 mSelectedType;
};
#endif // nsFilePicker_h__

View File

@@ -1,322 +0,0 @@
/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
/*
* 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 "nsFileWidget.h"
#include "nsIToolkit.h"
NS_IMPL_ISUPPORTS1(nsFileWidget, nsIFileWidget)
//-------------------------------------------------------------------------
//
// nsFileWidget constructor
//
//-------------------------------------------------------------------------
nsFileWidget::nsFileWidget() : nsIFileWidget()
{
NS_INIT_REFCNT();
mWidget = nsnull;
mDisplayDirectory = nsnull;
mFilterMenu = nsnull;
mOptionMenu = nsnull;
mNumberOfFilters = 0;
}
//-------------------------------------------------------------------------
//
// nsFileWidget destructor
//
//-------------------------------------------------------------------------
nsFileWidget::~nsFileWidget()
{
if (mFilterMenu)
{
GtkWidget *menu_item;
GList *list = g_list_first(GTK_MENU_SHELL(mFilterMenu)->children);
for (;list; list = list->next)
{
menu_item = GTK_WIDGET(list->data);
gchar *data = (gchar*)gtk_object_get_data(GTK_OBJECT(menu_item), "filters");
if (data)
nsCRT::free(data);
}
}
gtk_widget_destroy(mWidget);
}
static void file_ok_clicked(GtkWidget *w, PRBool *ret)
{
g_print("user hit ok\n");
*ret = PR_TRUE;
gtk_main_quit();
}
static void file_cancel_clicked(GtkWidget *w, PRBool *ret)
{
g_print("user hit cancel\n");
*ret = PR_FALSE;
gtk_main_quit();
}
static void filter_item_activated(GtkWidget *w, gpointer data)
{
// nsFileWidget *f = (nsFileWidget*)data;
gchar *foo = (gchar*)gtk_object_get_data(GTK_OBJECT(w), "filters");
g_print("filter_item_activated(): %s\n", foo);
}
//-------------------------------------------------------------------------
//
// Show - Display the file dialog
//
//-------------------------------------------------------------------------
PRBool nsFileWidget::Show()
{
PRBool ret;
if (mWidget) {
// make things shorter
GtkFileSelection *fs = GTK_FILE_SELECTION(mWidget);
if (mNumberOfFilters != 0)
{
gtk_option_menu_set_menu(GTK_OPTION_MENU(mOptionMenu), mFilterMenu);
}
else
gtk_widget_hide(mOptionMenu);
#if 0
if (mDisplayDirectory)
gtk_file_selection_complete(fs, "/");
#endif
// gtk_window_set_modal(GTK_WINDOW(mWidget), PR_TRUE);
gtk_widget_show(mWidget);
// handle close, destroy, etc on the dialog
gtk_signal_connect(GTK_OBJECT(fs->ok_button), "clicked",
GTK_SIGNAL_FUNC(file_ok_clicked),
&ret);
gtk_signal_connect(GTK_OBJECT(fs->cancel_button), "clicked",
GTK_SIGNAL_FUNC(file_cancel_clicked),
&ret);
// start new loop. ret is set in the above callbacks.
gtk_main();
}
else {
ret = PR_FALSE;
}
return ret;
}
//-------------------------------------------------------------------------
//
// Set the list of filters
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::SetFilterList(PRUint32 aNumberOfFilters,
const nsString aTitles[],
const nsString aFilters[])
{
GtkWidget *menu_item;
mNumberOfFilters = aNumberOfFilters;
mTitles = aTitles;
mFilters = aFilters;
mFilterMenu = gtk_menu_new();
for(unsigned int i=0; i < aNumberOfFilters; i++)
{
// we need *.{htm, html, xul, etc}
char *foo = aTitles[i].ToNewCString();
char *filters = aFilters[i].ToNewCString();
printf("%20s %s\n", foo, filters);
menu_item = gtk_menu_item_new_with_label(nsAutoCString(aTitles[i]));
gtk_object_set_data(GTK_OBJECT(menu_item), "filters", filters);
gtk_signal_connect(GTK_OBJECT(menu_item),
"activate",
GTK_SIGNAL_FUNC(filter_item_activated),
this);
gtk_menu_append(GTK_MENU(mFilterMenu), menu_item);
gtk_widget_show(menu_item);
nsCRT::free(foo);
}
return NS_OK;
}
NS_IMETHODIMP nsFileWidget::GetFile(nsFileSpec& aFile)
{
if (mWidget) {
gchar *fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION(mWidget));
aFile = fn; // Put the filename into the nsFileSpec instance.
}
return NS_OK;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::GetSelectedType(PRInt16& theType)
{
theType = mSelectedType;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the file + path
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::SetDefaultString(const nsString& aString)
{
if (mWidget) {
gtk_file_selection_set_filename(GTK_FILE_SELECTION(mWidget),
(const gchar*)nsAutoCString(aString));
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set the display directory
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::SetDisplayDirectory(const nsFileSpec& aDirectory)
{
mDisplayDirectory = aDirectory;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the display directory
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::GetDisplayDirectory(nsFileSpec& aDirectory)
{
aDirectory = mDisplayDirectory;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsFileWidget::Create(nsIWidget *aParent,
const nsString& aTitle,
nsFileDlgMode aMode,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
void *aInitData)
{
mMode = aMode;
mTitle.SetLength(0);
mTitle.Append(aTitle);
mWidget = gtk_file_selection_new((const gchar *)nsAutoCString(aTitle));
gtk_signal_connect(GTK_OBJECT(mWidget),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
gtk_button_box_set_layout(GTK_BUTTON_BOX(GTK_FILE_SELECTION(mWidget)->button_area), GTK_BUTTONBOX_SPREAD);
mOptionMenu = gtk_option_menu_new();
gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(mWidget)->main_vbox), mOptionMenu, PR_FALSE, PR_FALSE, 0);
gtk_widget_show(mOptionMenu);
// Hide the file column for the folder case.
if (aMode == eMode_getfolder) {
gtk_widget_hide((GTK_FILE_SELECTION(mWidget)->file_list)->parent);
}
return NS_OK;
}
gint
nsFileWidget::DestroySignal(GtkWidget * aGtkWidget,
nsFileWidget* aWidget)
{
aWidget->OnDestroySignal(aGtkWidget);
return TRUE;
}
void
nsFileWidget::OnDestroySignal(GtkWidget* aGtkWidget)
{
if (aGtkWidget == mWidget) {
mWidget = nsnull;
}
}
nsFileDlgResults nsFileWidget::GetFile(nsIWidget *aParent,
const nsString &promptString,
nsFileSpec &theFileSpec)
{
Create(aParent, promptString, eMode_load, nsnull, nsnull);
if (Show() == PR_TRUE)
{
GetFile(theFileSpec);
return nsFileDlgResults_OK;
}
return nsFileDlgResults_Cancel;
}
nsFileDlgResults nsFileWidget::GetFolder(nsIWidget *aParent,
const nsString &promptString,
nsFileSpec &theFileSpec)
{
Create(aParent, promptString, eMode_getfolder, nsnull, nsnull);
if (Show() == PR_TRUE)
{
GetFile(theFileSpec);
return nsFileDlgResults_OK;
}
return nsFileDlgResults_Cancel;
}
nsFileDlgResults nsFileWidget::PutFile(nsIWidget *aParent,
const nsString &promptString,
nsFileSpec &theFileSpec)
{
Create(aParent, promptString, eMode_save, nsnull, nsnull);
if (Show() == PR_TRUE)
{
GetFile(theFileSpec);
return nsFileDlgResults_OK;
}
return nsFileDlgResults_Cancel;
}

View File

@@ -1,102 +0,0 @@
/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
/*
* 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 nsFileWidget_h__
#define nsFileWidget_h__
#include "nsIWidget.h"
#include "nsIFileWidget.h"
#include <gtk/gtk.h>
class nsIToolkit;
/**
* Native GTK FileSelector wrapper
*/
class nsFileWidget : public nsIFileWidget
{
public:
nsFileWidget();
virtual ~nsFileWidget();
NS_DECL_ISUPPORTS
// nsIWidget interface
NS_IMETHOD Create(nsIWidget *aParent,
const nsString& aTitle,
nsFileDlgMode aMode,
nsIDeviceContext *aContext = nsnull,
nsIAppShell *aAppShell = nsnull,
nsIToolkit *aToolkit = nsnull,
void *aInitData = nsnull);
// nsIFileWidget part
virtual PRBool Show();
NS_IMETHOD GetFile(nsFileSpec& aFile);
NS_IMETHOD SetDefaultString(const nsString& aFile);
NS_IMETHOD SetFilterList(PRUint32 aNumberOfFilters,
const nsString aTitles[],
const nsString aFilters[]);
NS_IMETHOD GetDisplayDirectory(nsFileSpec& aDirectory);
NS_IMETHOD SetDisplayDirectory(const nsFileSpec& aDirectory);
virtual nsFileDlgResults GetFile(nsIWidget *aParent,
const nsString &promptString,
nsFileSpec &theFileSpec);
virtual nsFileDlgResults GetFolder(nsIWidget *aParent,
const nsString &promptString,
nsFileSpec &theFileSpec);
virtual nsFileDlgResults PutFile(nsIWidget *aParent,
const nsString &promptString,
nsFileSpec &theFileSpec);
NS_IMETHOD GetSelectedType(PRInt16& theType);
protected:
static gint DestroySignal(GtkWidget * aGtkWidget,
nsFileWidget* aWidget);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
GtkWidget *mWidget;
nsString mTitle;
GtkWidget *mOptionMenu;
GtkWidget *mFilterMenu;
nsFileDlgMode mMode;
PRUint32 mNumberOfFilters;
const nsString* mTitles;
const nsString* mFilters;
nsString mDefault;
nsFileSpec mDisplayDirectory;
PRInt16 mSelectedType;
};
#endif // nsFileWidget_h__

View File

@@ -1,395 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsFontRetrieverService.h"
#include "nsIWidget.h"
#include <ctype.h>
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
#include "X11/Xlib.h"
#include "X11/Xutil.h"
#include "nsFont.h"
#include "nsVoidArray.h"
#include "nsFontSizeIterator.h"
NS_IMPL_ISUPPORTS2(nsFontRetrieverService, nsIFontRetrieverService, nsIFontNameIterator)
//----------------------------------------------------------
nsFontRetrieverService::nsFontRetrieverService()
{
NS_INIT_REFCNT();
mFontList = nsnull;
mSizeIter = nsnull;
mNameIterInx = 0;
}
//----------------------------------------------------------
nsFontRetrieverService::~nsFontRetrieverService()
{
if (nsnull != mFontList) {
for (PRInt32 i=0;i<mFontList->Count();i++) {
FontInfo * font = (FontInfo *)mFontList->ElementAt(i);
if (font->mSizes) {
delete font->mSizes;
}
delete font;
}
delete mFontList;
}
NS_IF_RELEASE(mSizeIter);
}
//----------------------------------------------------------
//-- nsIFontRetrieverService
//----------------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::CreateFontNameIterator( nsIFontNameIterator** aIterator )
{
if (nsnull == aIterator) {
return NS_ERROR_FAILURE;
}
if (nsnull == mFontList) {
LoadFontList();
}
*aIterator = this;
NS_ADDREF_THIS();
return NS_OK;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::CreateFontSizeIterator( const nsString & aFontName,
nsIFontSizeIterator** aIterator )
{
// save value in case someone externally is using it
PRInt32 saveIterInx = mNameIterInx;
PRBool found = PR_FALSE;
Reset();
do {
nsAutoString name;
Get(&name);
if (name.Equals(aFontName)) {
found = PR_TRUE;
break;
}
} while (Advance() == NS_OK);
if (found) {
if (nsnull == mSizeIter) {
mSizeIter = new nsFontSizeIterator();
}
NS_ASSERTION( nsnull != mSizeIter, "nsFontSizeIterator instance pointer is null");
*aIterator = (nsIFontSizeIterator *)mSizeIter;
NS_ADDREF(mSizeIter);
FontInfo * fontInfo = (FontInfo *)mFontList->ElementAt(mNameIterInx);
mSizeIter->SetFontInfo(fontInfo);
mNameIterInx = saveIterInx;
return NS_OK;
}
mNameIterInx = saveIterInx;
return NS_ERROR_FAILURE;
}
//----------------------------------------------------------
//-- nsIFontNameIterator
//----------------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::Reset()
{
mNameIterInx = 0;
return NS_OK;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::Get( nsString* aFontName )
{
if (mNameIterInx < mFontList->Count()) {
FontInfo * fontInfo = (FontInfo *)mFontList->ElementAt(mNameIterInx);
*aFontName = fontInfo->mName;
return NS_OK;
}
return NS_ERROR_FAILURE;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::Advance()
{
if (mNameIterInx < mFontList->Count()-1) {
mNameIterInx++;
return NS_OK;
}
return NS_ERROR_FAILURE;
}
//------------------------------
static FontInfo * GetFontInfo(nsVoidArray * aFontList, char * aName)
{
nsAutoString name(aName);
PRInt32 i;
PRInt32 cnt = aFontList->Count();
for (i=0;i<cnt;i++) {
FontInfo * fontInfo = (FontInfo *)aFontList->ElementAt(i);
if (fontInfo->mName.Equals(name)) {
return fontInfo;
}
}
FontInfo * fontInfo = new FontInfo();
fontInfo->mName = aName;
//printf("Adding [%s]\n", aName);fflush(stdout);
fontInfo->mIsScalable = PR_FALSE; // X fonts aren't scalable right??
fontInfo->mSizes = nsnull;
aFontList->AppendElement(fontInfo);
return fontInfo;
}
//------------------------------
static void AddSizeToFontInfo(FontInfo * aFontInfo, PRInt32 aSize)
{
nsVoidArray * sizes;
if (nsnull == aFontInfo->mSizes) {
sizes = new nsVoidArray();
aFontInfo->mSizes = sizes;
} else {
sizes = aFontInfo->mSizes;
}
PRInt32 i;
PRInt32 cnt = sizes->Count();
for (i=0;i<cnt;i++) {
PRInt32 size = (int)sizes->ElementAt(i);
if (size == aSize) {
return;
}
}
sizes->AppendElement((void *)aSize);
}
//---------------------------------------------------
// XXX - Hack - Parts of this will need to be reworked
//
// This method does brute force parcing for 4 different formats:
//
// 1) The format -*-*-*-*-*-* etc.
// -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8
//
// 2) Name-size format
// lucidasans-10
//
// 3) Name-style-size
// lucidasans-bold-10
//
// 4) Name only (implicit size)
// 6x13
//
//--------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::LoadFontList()
{
char * pattern = "*";
int nnames = 1024;
int available = nnames+1;
int i;
char **fonts;
XFontStruct *info;
if (nsnull == mFontList) {
mFontList = new nsVoidArray();
if (nsnull == mFontList) {
return NS_ERROR_FAILURE;
}
}
/* Get list of fonts matching pattern */
for (;;) {
// the following line is VERY slow to return
fonts = XListFontsWithInfo(GDK_DISPLAY(), pattern, nnames,
&available, &info);
if (fonts == NULL || available < nnames)
break;
XFreeFontInfo(fonts, info, available);
nnames = available * 2;
}
if (fonts == NULL) {
fprintf(stderr, "pattern \"%s\" unmatched\n", pattern);
return NS_ERROR_FAILURE;
}
#if 0 // debug
// print out all the retrieved fonts
printf("-----------------------------\n");
for (i=0; i<available; i++) {
printf("[%s]i\n", fonts[i]);
}
printf("-----------------------------\n");
#endif
// this code assumes all like fonts are grouped together
// currentName is the current name of the font we are gathering
// sizes for, when the name changes we create a new FontInfo object
// but it also takes into account fonts of similar names when it
// goes to add then and disregards duplicates
char buffer[1024];
char currentName[1024];
FontInfo * font = nsnull;
currentName[0] = 0;
for (i=0; i<available; i++) {
// This is kind of lame, but it will have to do for now
strcpy(buffer, fonts[i]);
// Start by checking to see if the name begins with a dash
char * ptr = buffer;
if (buffer[0] == '-') { //Format #1
PRInt32 cnt = 0;
// skip first two '-'
do {
if (*ptr == '-') cnt++;
ptr++;
} while (cnt < 2);
// find the dash at the end of the name
char * end = strchr(ptr, '-');
if (end) {
*end = 0;
// Check to see if we need to create a new FontInfo obj
// and set the currentName var to this guys font name
if (strcmp(currentName, ptr) || NULL == font) {
font = GetFontInfo(mFontList, ptr);
strcpy(currentName, ptr);
}
if (nsnull == font->mSizes) {
font->mSizes = new nsVoidArray();
}
ptr = end+1; // skip past the dash that was set to zero
cnt = 0;
// now skip ahead 4 dashes
do {
if (*ptr == '-') cnt++;
ptr++;
} while (cnt < 4);
// find the dash after the size
end = strchr(ptr, '-');
if (end) {
*end = 0;
PRInt32 size;
sscanf(ptr, "%d", &size);
AddSizeToFontInfo(font, size);
}
}
} else { // formats 2,3,4
// no leading dash means the start of the
// buffer is the start of the name
// this checks for a dash at the end of the font name
// which means there is a size at the end
char * end = strchr(buffer, '-');
if (end) { // Format 2,3
*end = 0;
// Check to see if we need to create a new FontInfo obj
// and set the currentName var to this guys font name
if (strcmp(currentName, buffer) || NULL == font) {
font = GetFontInfo(mFontList, buffer);
strcpy(currentName, buffer);
}
end++; // advance past the dash
// check to see if we have a number
ptr = end;
if (isalpha(*ptr)) { // Format 3
// skip until next dash
end = strchr(ptr, '-');
if (end) {
*end = 0;
ptr = end+1;
}
}
PRInt32 size;
// yes, it has a dash at the end so it must have the size
// check to see if the size is terminated by a dash
// it shouldn't be
char * end2 = strchr(ptr, '-');
if (end2) *end2 = 0; // put terminator at the dash
sscanf(end, "%d", &size);
AddSizeToFontInfo(font, size);
} else { // Format #4
// The font has an implicit size,
// so there is nothing to parse for size
// so we can't really do much here
// Check to see if we need to create a new FontInfo obj
// and set the currentName var to this guys font name
if (strcmp(currentName, buffer) || NULL == font) {
font = GetFontInfo(mFontList, buffer);
strcpy(currentName, buffer);
}
}
}
}
XFreeFontInfo(fonts, info, available);
return NS_OK;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontRetrieverService::IsFontScalable(const nsString & aFontName,
PRBool* aResult )
{
// save value in case someone externally is using it
PRInt32 saveIterInx = mNameIterInx;
PRBool found = PR_FALSE;
Reset();
do {
nsAutoString name;
Get(&name);
if (name.Equals(aFontName)) {
found = PR_TRUE;
break;
}
} while (Advance() == NS_OK);
if (found) {
FontInfo * fontInfo = (FontInfo *)mFontList->ElementAt(mNameIterInx);
*aResult = fontInfo->mIsScalable;
mNameIterInx = saveIterInx;
return NS_OK;
}
mNameIterInx = saveIterInx;
return NS_ERROR_FAILURE;
}

View File

@@ -1,65 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 __nsFontRetrieverService
#define __nsFontRetrieverService
#include "nsIFontRetrieverService.h"
#include "nsIFontNameIterator.h"
class nsVoidArray;
class nsFontSizeIterator;
class nsFontRetrieverService: public nsIFontRetrieverService,
public nsIFontNameIterator
{
public:
nsFontRetrieverService();
virtual ~nsFontRetrieverService();
NS_DECL_ISUPPORTS
// nsIFontRetrieverService
NS_IMETHOD CreateFontNameIterator( nsIFontNameIterator** aIterator );
NS_IMETHOD CreateFontSizeIterator( const nsString & aFontName, nsIFontSizeIterator** aIterator );
NS_IMETHOD IsFontScalable( const nsString & aFontName, PRBool* aResult );
// nsIFontNameIterator
NS_IMETHOD Reset();
NS_IMETHOD Get( nsString* aFontName );
NS_IMETHOD Advance();
protected:
NS_IMETHOD LoadFontList();
nsVoidArray * mFontList;
PRInt32 mNameIterInx;
nsFontSizeIterator * mSizeIter;
};
#endif

View File

@@ -1,88 +0,0 @@
/* -*- 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 "nsFontSizeIterator.h"
#include "nsFont.h"
#include "nsVoidArray.h"
NS_IMPL_ADDREF(nsFontSizeIterator)
NS_IMPL_RELEASE(nsFontSizeIterator)
NS_IMPL_QUERY_INTERFACE(nsFontSizeIterator, nsIFontSizeIterator::GetIID())
//----------------------------------------------------------
nsFontSizeIterator::nsFontSizeIterator()
{
NS_INIT_REFCNT();
mFontInfo = nsnull;
mSizeIterInx = 0;
}
//----------------------------------------------------------
nsFontSizeIterator::~nsFontSizeIterator()
{
}
///----------------------------------------------------------
//-- nsIFontNameIterator
//----------------------------------------------------------
NS_IMETHODIMP nsFontSizeIterator::Reset()
{
mSizeIterInx = 0;
return NS_OK;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontSizeIterator::Get( double* aFontSize )
{
if (nsnull != mFontInfo->mSizes &&
mFontInfo->mSizes->Count() > 0 &&
mSizeIterInx < mFontInfo->mSizes->Count()) {
PRUint32 size = (PRUint32)mFontInfo->mSizes->ElementAt(mSizeIterInx);
*aFontSize = (double)size;
return NS_OK;
}
return NS_ERROR_FAILURE;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontSizeIterator::Advance()
{
if (nsnull != mFontInfo->mSizes &&
mFontInfo->mSizes->Count() > 0 &&
mSizeIterInx < mFontInfo->mSizes->Count()-2) {
mSizeIterInx++;
return NS_OK;
}
return NS_ERROR_FAILURE;
}
//----------------------------------------------------------
NS_IMETHODIMP nsFontSizeIterator::SetFontInfo( FontInfo * aFontInfo )
{
mFontInfo = aFontInfo;
return NS_OK;
}

View File

@@ -1,59 +0,0 @@
/* -*- 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):
*/
#ifndef __nsFontSizeIterator
#define __nsFontSizeIterator
#include "nsIFontSizeIterator.h"
#include "nsString.h"
class nsVoidArray;
typedef struct {
nsString mName;
PRBool mIsScalable;
nsVoidArray * mSizes;
} FontInfo;
class nsFontSizeIterator: public nsIFontSizeIterator {
public:
nsFontSizeIterator();
virtual ~nsFontSizeIterator();
NS_DECL_ISUPPORTS
// nsIFontSizeIterator
NS_IMETHOD Reset();
NS_IMETHOD Get( double* aFontSize );
NS_IMETHOD Advance();
// Native impl
NS_IMETHOD SetFontInfo( FontInfo * aFontInfo );
protected:
FontInfo * mFontInfo;
PRInt32 mSizeIterInx; // current index of iter
};
#endif

View File

@@ -1,967 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsWidget.h"
#include "nsWindow.h"
#include "nsScrollbar.h"
#include "nsIFileWidget.h"
#include "nsGUIEvent.h"
#include "nsIMenu.h"
#include "nsIMenuItem.h"
#include "nsIMenuListener.h"
#include "nsTextWidget.h"
#include "nsICharsetConverterManager.h"
#include "nsIPlatformCharset.h"
#include "nsIServiceManager.h"
static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
#include "stdio.h"
#include "ctype.h"
#include "gtk/gtk.h"
#include "nsGtkEventHandler.h"
#include <gdk/gdkkeysyms.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#ifdef DEBUG_pavlov
//#define DEBUG_EVENTS 1
#endif
struct EventInfo {
nsWidget *widget; // the widget
nsRect *rect; // the rect
};
//==============================================================
void InitAllocationEvent(GtkAllocation *aAlloc,
gpointer p,
nsSizeEvent &anEvent,
PRUint32 aEventType)
{
anEvent.message = aEventType;
anEvent.widget = (nsWidget *) p;
anEvent.eventStructType = NS_SIZE_EVENT;
if (aAlloc != nsnull) {
// HACK
// nsRect *foo = new nsRect(aAlloc->x, aAlloc->y, aAlloc->width, aAlloc->height);
nsRect *foo = new nsRect(0, 0, aAlloc->width, aAlloc->height);
anEvent.windowSize = foo;
// anEvent.point.x = aAlloc->x;
// anEvent.point.y = aAlloc->y;
// HACK
anEvent.point.x = 0;
anEvent.point.y = 0;
anEvent.mWinWidth = aAlloc->width;
anEvent.mWinHeight = aAlloc->height;
}
anEvent.time = PR_IntervalNow();
}
//==============================================================
void InitConfigureEvent(GdkEventConfigure *aConf,
gpointer p,
nsSizeEvent &anEvent,
PRUint32 aEventType)
{
anEvent.message = aEventType;
anEvent.widget = (nsWidget *) p;
anEvent.eventStructType = NS_SIZE_EVENT;
if (aConf != nsnull) {
/* do we accually need to alloc a new rect, or can we just set the
current one */
nsRect *foo = new nsRect(aConf->x, aConf->y, aConf->width, aConf->height);
anEvent.windowSize = foo;
anEvent.point.x = aConf->x;
anEvent.point.y = aConf->y;
anEvent.mWinWidth = aConf->width;
anEvent.mWinHeight = aConf->height;
}
// this usually returns 0
anEvent.time = 0;
}
//==============================================================
void InitExposeEvent(GdkEventExpose *aGEE,
gpointer p,
nsPaintEvent &anEvent,
PRUint32 aEventType)
{
anEvent.message = aEventType;
anEvent.widget = (nsWidget *) p;
anEvent.eventStructType = NS_PAINT_EVENT;
if (aGEE != nsnull)
{
#ifdef DEBUG_EVENTS
g_print("expose event: x = %i , y = %i , w = %i , h = %i\n",
aGEE->area.x, aGEE->area.y,
aGEE->area.width, aGEE->area.height);
#endif
anEvent.point.x = aGEE->area.x;
anEvent.point.y = aGEE->area.y;
nsRect *rect = new nsRect(aGEE->area.x, aGEE->area.y,
aGEE->area.width, aGEE->area.height);
anEvent.rect = rect;
anEvent.time = gdk_event_get_time((GdkEvent*)aGEE);
}
}
//=============================================================
void UninitExposeEvent(GdkEventExpose *aGEE,
gpointer p,
nsPaintEvent &anEvent,
PRUint32 aEventType)
{
if (aGEE != nsnull) {
delete anEvent.rect;
}
}
struct nsKeyConverter {
int vkCode; // Platform independent key code
int keysym; // GDK keysym key code
};
//
// Netscape keycodes are defined in widget/public/nsGUIEvent.h
// GTK keycodes are defined in <gdk/gdkkeysyms.h>
//
struct nsKeyConverter nsKeycodes[] = {
{ NS_VK_CANCEL, GDK_Cancel },
{ NS_VK_BACK, GDK_BackSpace },
{ NS_VK_TAB, GDK_Tab },
{ NS_VK_TAB, GDK_ISO_Left_Tab },
{ NS_VK_CLEAR, GDK_Clear },
{ NS_VK_RETURN, GDK_Return },
{ NS_VK_SHIFT, GDK_Shift_L },
{ NS_VK_SHIFT, GDK_Shift_R },
{ NS_VK_CONTROL, GDK_Control_L },
{ NS_VK_CONTROL, GDK_Control_R },
{ NS_VK_ALT, GDK_Alt_L },
{ NS_VK_ALT, GDK_Alt_R },
{ NS_VK_PAUSE, GDK_Pause },
{ NS_VK_CAPS_LOCK, GDK_Caps_Lock },
{ NS_VK_ESCAPE, GDK_Escape },
{ NS_VK_SPACE, GDK_space },
{ NS_VK_PAGE_UP, GDK_Page_Up },
{ NS_VK_PAGE_DOWN, GDK_Page_Down },
{ NS_VK_END, GDK_End },
{ NS_VK_HOME, GDK_Home },
{ NS_VK_LEFT, GDK_Left },
{ NS_VK_UP, GDK_Up },
{ NS_VK_RIGHT, GDK_Right },
{ NS_VK_DOWN, GDK_Down },
{ NS_VK_PRINTSCREEN, GDK_Print },
{ NS_VK_INSERT, GDK_Insert },
{ NS_VK_DELETE, GDK_Delete },
{ NS_VK_MULTIPLY, GDK_KP_Multiply },
{ NS_VK_ADD, GDK_KP_Add },
{ NS_VK_SEPARATOR, GDK_KP_Separator },
{ NS_VK_SUBTRACT, GDK_KP_Subtract },
{ NS_VK_DECIMAL, GDK_KP_Decimal },
{ NS_VK_DIVIDE, GDK_KP_Divide },
{ NS_VK_RETURN, GDK_KP_Enter },
// NS doesn't have dash or equals distinct from the numeric keypad ones,
// so we'll use those for now. See bug 17008:
{ NS_VK_SUBTRACT, GDK_minus },
{ NS_VK_EQUALS, GDK_equal },
// and we don't have a single-quote symbol either:
{ NS_VK_QUOTE, GDK_apostrophe },
{ NS_VK_COMMA, GDK_comma },
{ NS_VK_PERIOD, GDK_period },
{ NS_VK_SLASH, GDK_slash },
{ NS_VK_BACK_SLASH, GDK_backslash },
{ NS_VK_BACK_QUOTE, GDK_grave },
{ NS_VK_OPEN_BRACKET, GDK_bracketleft },
{ NS_VK_CLOSE_BRACKET, GDK_bracketright },
{ NS_VK_QUOTE, GDK_quotedbl },
// Some shifted keys, see bug 15463.
// These should be subject to different keyboard mappings;
// how do we do that in gtk?
{ NS_VK_SEMICOLON, GDK_colon },
{ NS_VK_BACK_QUOTE, GDK_asciitilde },
{ NS_VK_COMMA, GDK_less },
{ NS_VK_PERIOD, GDK_greater },
{ NS_VK_SLASH, GDK_question },
{ NS_VK_1, GDK_exclam },
{ NS_VK_2, GDK_at },
{ NS_VK_3, GDK_numbersign },
{ NS_VK_4, GDK_dollar },
{ NS_VK_5, GDK_percent },
{ NS_VK_6, GDK_asciicircum },
{ NS_VK_7, GDK_ampersand },
{ NS_VK_8, GDK_asterisk },
{ NS_VK_9, GDK_parenleft },
{ NS_VK_0, GDK_parenright },
{ NS_VK_SUBTRACT, GDK_underscore },
{ NS_VK_EQUALS, GDK_plus }
};
void nsGtkWidget_InitNSKeyEvent(int aEventType, nsKeyEvent& aKeyEvent,
GtkWidget *w, gpointer p, GdkEventKey * event);
//==============================================================
// Input keysym is in gtk format; output is in NS_VK format
int nsPlatformToDOMKeyCode(GdkEventKey *aGEK)
{
int i;
int length = sizeof(nsKeycodes) / sizeof(struct nsKeyConverter);
int keysym = aGEK->keyval;
// First, try to handle alphanumeric input, not listed in nsKeycodes:
// most likely, more letters will be getting typed in than things in
// the key list, so we will look through these first.
// since X has different key symbols for upper and lowercase letters and
// mozilla does not, convert gdk's to mozilla's
if (keysym >= GDK_a && keysym <= GDK_z)
return keysym - GDK_a + NS_VK_A;
if (keysym >= GDK_A && keysym <= GDK_Z)
return keysym - GDK_A + NS_VK_A;
// numbers
if (keysym >= GDK_0 && keysym <= GDK_9)
return keysym - GDK_0 + NS_VK_0;
// keypad numbers
if (keysym >= GDK_KP_0 && keysym <= GDK_KP_9)
return keysym - GDK_KP_0 + NS_VK_NUMPAD0;
// misc other things
for (i = 0; i < length; i++) {
if (nsKeycodes[i].keysym == keysym)
return(nsKeycodes[i].vkCode);
}
// function keys
if (keysym >= GDK_F1 && keysym <= GDK_F24)
return keysym - GDK_F1 + NS_VK_F1;
#if defined(DEBUG_akkana) || defined(DEBUG_ftang)
printf("No match in nsPlatformToDOMKeyCode: keysym is 0x%x, string is %s\n", keysym, aGEK->string);
#endif
return((int)0);
}
//==============================================================
PRUint32 nsConvertCharCodeToUnicode(GdkEventKey* aGEK)
{
// For control chars, GDK sets string to be the actual ascii value.
// Map that to what nsKeyEvent wants, which currently --
// TEMPORARILY (the spec has changed and will be switched over
// when the tree opens for M11) --
// is the ascii for the actual event (e.g. 1 for control-a).
// This is only true for control chars; for alt chars, send the
// ascii for the key, i.e. a for alt-a.
if (aGEK->state & GDK_CONTROL_MASK)
{
if (aGEK->state & GDK_SHIFT_MASK)
return aGEK->string[0] + 'A' - 1;
else
return aGEK->string[0] + 'a' - 1;
}
// For now (obviously this will need to change for IME),
// only set a char code if the result is printable:
if (!isprint(aGEK->string[0]))
return 0;
// ALT keys in gdk give the upper case character in string,
// but we want the lower case char in char code
// unless shift was also pressed.
if (((aGEK->state & GDK_MOD1_MASK))
&& !(aGEK->state & GDK_SHIFT_MASK)
&& isupper(aGEK->string[0]))
return tolower(aGEK->string[0]);
//
// placeholder for something a little more interesting and correct
//
return aGEK->string[0];
}
//==============================================================
void InitKeyEvent(GdkEventKey *aGEK,
gpointer p,
nsKeyEvent &anEvent,
PRUint32 aEventType)
{
anEvent.message = aEventType;
anEvent.widget = (nsWidget *) p;
anEvent.eventStructType = NS_KEY_EVENT;
if (aGEK != nsnull) {
anEvent.keyCode = nsPlatformToDOMKeyCode(aGEK);
anEvent.charCode = 0;
anEvent.time = aGEK->time;
anEvent.isShift = (aGEK->state & GDK_SHIFT_MASK) ? PR_TRUE : PR_FALSE;
anEvent.isControl = (aGEK->state & GDK_CONTROL_MASK) ? PR_TRUE : PR_FALSE;
anEvent.isAlt = (aGEK->state & GDK_MOD1_MASK) ? PR_TRUE : PR_FALSE;
// XXX
anEvent.isMeta = PR_FALSE; //(aGEK->state & GDK_MOD2_MASK) ? PR_TRUE : PR_FALSE;
anEvent.point.x = 0;
anEvent.point.y = 0;
}
}
void InitKeyPressEvent(GdkEventKey *aGEK,
gpointer p,
nsKeyEvent &anEvent)
{
//
// init the basic event fields
//
anEvent.eventStructType = NS_KEY_EVENT;
anEvent.message = NS_KEY_PRESS;
anEvent.widget = (nsWidget*)p;
if (aGEK!=nsnull)
{
anEvent.isShift = (aGEK->state & GDK_SHIFT_MASK) ? PR_TRUE : PR_FALSE;
anEvent.isControl = (aGEK->state & GDK_CONTROL_MASK) ? PR_TRUE : PR_FALSE;
anEvent.isAlt = (aGEK->state & GDK_MOD1_MASK) ? PR_TRUE : PR_FALSE;
// XXX
anEvent.isMeta = PR_FALSE; //(aGEK->state & GDK_MOD2_MASK) ? PR_TRUE : PR_FALSE;
if(aGEK->length)
anEvent.charCode = nsConvertCharCodeToUnicode(aGEK);
else
anEvent.charCode = 0;
if (anEvent.charCode) {
anEvent.keyCode = 0;
anEvent.isShift = PR_FALSE;
} else
anEvent.keyCode = nsPlatformToDOMKeyCode(aGEK);
#if defined(DEBUG_akkana) || defined(DEBUG_pavlov) || defined (DEBUG_ftang)
printf("Key Press event: keyCode = 0x%x, char code = '%c'",
anEvent.keyCode, anEvent.charCode);
if (anEvent.isShift)
printf(" [shift]");
if (anEvent.isControl)
printf(" [ctrl]");
if (anEvent.isAlt)
printf(" [alt]");
if (anEvent.isMeta)
printf(" [meta]");
printf("\n");
#endif
anEvent.time = aGEK->time;
anEvent.point.x = 0;
anEvent.point.y = 0;
}
}
//=============================================================
void UninitKeyEvent(GdkEventKey *aGEK,
gpointer p,
nsKeyEvent &anEvent,
PRUint32 aEventType)
{
}
/*==============================================================
==============================================================
=============================================================
==============================================================*/
void handle_size_allocate(GtkWidget *w, GtkAllocation *alloc, gpointer p)
{
nsWindow *widget = (nsWindow *)p;
nsSizeEvent event;
InitAllocationEvent(alloc, p, event, NS_SIZE);
NS_ADDREF(widget);
widget->OnResize(event);
NS_RELEASE(widget);
delete event.windowSize;
}
gint handle_expose_event(GtkWidget *w, GdkEventExpose *event, gpointer p)
{
if (event->type == GDK_NO_EXPOSE)
return PR_FALSE;
nsPaintEvent pevent;
InitExposeEvent(event, p, pevent, NS_PAINT);
nsWindow *win = (nsWindow *)p;
win->AddRef();
win->OnExpose(pevent);
win->Release();
UninitExposeEvent(event, p, pevent, NS_PAINT);
return PR_TRUE;
}
//==============================================================
void menu_item_activate_handler(GtkWidget *w, gpointer p)
{
// g_print("menu_item_activate_handler\n");
nsIMenuListener *menuListener = nsnull;
nsIMenuItem *menuItem = (nsIMenuItem *)p;
if (menuItem != nsnull) {
nsMenuEvent mevent;
mevent.message = NS_MENU_SELECTED;
mevent.eventStructType = NS_MENU_EVENT;
mevent.point.x = 0;
mevent.point.y = 0;
// mevent.widget = menuItem;
mevent.widget = nsnull;
menuItem->GetCommand(mevent.mCommand);
mevent.mMenuItem = menuItem;
mevent.time = PR_IntervalNow();
// FIXME - THIS SHOULD WORK. FIX EVENTS FOR XP CODE!!!!! (pav)
// nsEventStatus status;
// mevent.widget->DispatchEvent((nsGUIEvent *)&mevent, status);
menuItem->QueryInterface(nsIMenuListener::GetIID(), (void**)&menuListener);
if(menuListener) {
menuListener->MenuItemSelected(mevent);
NS_IF_RELEASE(menuListener);
}
}
}
//==============================================================
void menu_map_handler(GtkWidget *w, gpointer p)
{
nsIMenuListener *menuListener = nsnull;
nsIMenu *menu = (nsIMenu *)p;
if (menu != nsnull) {
nsMenuEvent mevent;
mevent.message = NS_MENU_SELECTED;
mevent.eventStructType = NS_MENU_EVENT;
mevent.point.x = 0;
mevent.point.y = 0;
mevent.widget = nsnull;
mevent.time = PR_IntervalNow();
menu->QueryInterface(nsIMenuListener::GetIID(), (void**)&menuListener);
if(menuListener) {
menuListener->MenuConstruct(
mevent,
nsnull, //parent window
nsnull, //menuNode
nsnull ); // webshell
NS_IF_RELEASE(menuListener);
}
}
}
//==============================================================
void menu_unmap_handler(GtkWidget *w, gpointer p)
{
nsIMenuListener *menuListener = nsnull;
nsIMenu *menu = (nsIMenu *)p;
if (menu != nsnull) {
nsMenuEvent mevent;
mevent.message = NS_MENU_SELECTED;
mevent.eventStructType = NS_MENU_EVENT;
mevent.point.x = 0;
mevent.point.y = 0;
mevent.widget = nsnull;
mevent.time = PR_IntervalNow();
menu->QueryInterface(nsIMenuListener::GetIID(), (void**)&menuListener);
if(menuListener) {
menuListener->MenuDestruct(mevent);
NS_IF_RELEASE(menuListener);
}
}
}
//==============================================================
void handle_scrollbar_value_changed(GtkAdjustment *adj, gpointer p)
{
nsScrollbar *widget = (nsScrollbar*) p;
nsScrollbarEvent sevent;
sevent.message = NS_SCROLLBAR_POS;
sevent.widget = (nsWidget *) p;
sevent.eventStructType = NS_SCROLLBAR_EVENT;
GdkWindow *win = (GdkWindow *)widget->GetNativeData(NS_NATIVE_WINDOW);
gdk_window_get_pointer(win, &sevent.point.x, &sevent.point.y, nsnull);
widget->AddRef();
widget->OnScroll(sevent, adj->value);
widget->Release();
/* FIXME we need to set point.* from the event stuff. */
#if 0
nsWindow * widgetWindow = (nsWindow *) p ;
XmScrollBarCallbackStruct * cbs = (XmScrollBarCallbackStruct*) call_data;
sevent.widget = (nsWindow *) p;
if (cbs->event != nsnull) {
sevent.point.x = cbs->event->xbutton.x;
sevent.point.y = cbs->event->xbutton.y;
} else {
sevent.point.x = 0;
sevent.point.y = 0;
}
sevent.time = 0; //XXX Implement this
switch (cbs->reason) {
case XmCR_INCREMENT:
sevent.message = NS_SCROLLBAR_LINE_NEXT;
break;
case XmCR_DECREMENT:
sevent.message = NS_SCROLLBAR_LINE_PREV;
break;
case XmCR_PAGE_INCREMENT:
sevent.message = NS_SCROLLBAR_PAGE_NEXT;
break;
case XmCR_PAGE_DECREMENT:
sevent.message = NS_SCROLLBAR_PAGE_PREV;
break;
case XmCR_DRAG:
sevent.message = NS_SCROLLBAR_POS;
break;
case XmCR_VALUE_CHANGED:
sevent.message = NS_SCROLLBAR_POS;
break;
default:
break;
}
#endif
}
static gint composition_start(GdkEventKey *aEvent, nsWindow *aWin,
nsEventStatus *aStatus) {
nsCompositionEvent compEvent;
compEvent.widget = (nsWidget*)aWin;
compEvent.point.x = 0;
compEvent.point.y = 0;
compEvent.time = aEvent->time;
compEvent.message = NS_COMPOSITION_START;
compEvent.eventStructType = NS_COMPOSITION_START;
compEvent.compositionMessage = NS_COMPOSITION_START;
aWin->DispatchEvent(&compEvent, *aStatus);
// set SpotLocation
aWin->SetXICSpotLocation(compEvent.theReply.mCursorPosition);
return PR_TRUE;
}
static gint composition_draw(GdkEventKey *aEvent, nsWindow *aWin,
nsIUnicodeDecoder *aDecoder,
nsEventStatus *aStatus) {
if (!aWin->mIMECompositionUniString) {
aWin->mIMECompositionUniStringSize = 128;
aWin->mIMECompositionUniString =
new PRUnichar[aWin->mIMECompositionUniStringSize];
}
PRUnichar *uniChar;
PRInt32 uniCharSize;
PRInt32 srcLen = aEvent->length;
for (;;) {
uniChar = aWin->mIMECompositionUniString;
uniCharSize = aWin->mIMECompositionUniStringSize - 1;
aDecoder->Convert((char*)aEvent->string, &srcLen, uniChar, &uniCharSize);
if (srcLen == aEvent->length &&
uniCharSize < aWin->mIMECompositionUniStringSize - 1) {
break;
}
aWin->mIMECompositionUniStringSize += 32;
aWin->mIMECompositionUniString =
new PRUnichar[aWin->mIMECompositionUniStringSize];
}
aWin->mIMECompositionUniString[uniCharSize] = 0;
nsTextEvent textEvent;
textEvent.message = NS_TEXT_EVENT;
textEvent.widget = (nsWidget*)aWin;
textEvent.time = aEvent->time;
textEvent.point.x = 0;
textEvent.point.y = 0;
textEvent.theText = aWin->mIMECompositionUniString;
textEvent.rangeCount = 0;
textEvent.rangeArray = nsnull;
textEvent.isShift = (aEvent->state & GDK_SHIFT_MASK) ? PR_TRUE : PR_FALSE;
textEvent.isControl = (aEvent->state & GDK_CONTROL_MASK) ? PR_TRUE : PR_FALSE;
textEvent.isAlt = (aEvent->state & GDK_MOD1_MASK) ? PR_TRUE : PR_FALSE;
// XXX
textEvent.isMeta = PR_FALSE; //(aEvent->state & GDK_MOD2_MASK) ? PR_TRUE : PR_FALSE;
textEvent.eventStructType = NS_TEXT_EVENT;
aWin->DispatchEvent(&textEvent, *aStatus);
aWin->SetXICSpotLocation(textEvent.theReply.mCursorPosition);
return True;
}
static gint composition_end(GdkEventKey *aEvent, nsWindow *aWin,
nsEventStatus *aStatus) {
nsCompositionEvent compEvent;
compEvent.widget = (nsWidget*)aWin;
compEvent.point.x = 0;
compEvent.point.y = 0;
compEvent.time = aEvent->time;
compEvent.message = NS_COMPOSITION_END;
compEvent.eventStructType = NS_COMPOSITION_END;
compEvent.compositionMessage = NS_COMPOSITION_END;
aWin->DispatchEvent(&compEvent, *aStatus);
return PR_TRUE;
}
static nsIUnicodeDecoder*
open_unicode_decoder(void) {
nsresult result = NS_ERROR_FAILURE;
nsIUnicodeDecoder *decoder = nsnull;
NS_WITH_SERVICE(nsIPlatformCharset, platform, NS_PLATFORMCHARSET_PROGID,
&result);
if (platform && NS_SUCCEEDED(result)) {
nsAutoString charset("");
result = platform->GetCharset(kPlatformCharsetSel_Menu, charset);
if (NS_FAILED(result) || (charset.Length() == 0)) {
charset = "ISO-8859-1"; // default
}
nsICharsetConverterManager* manager = nsnull;
nsresult res = nsServiceManager::
GetService(kCharsetConverterManagerCID,
nsCOMTypeInfo<nsICharsetConverterManager>::GetIID(),
(nsISupports**)&manager);
if (manager && NS_SUCCEEDED(res)) {
manager->GetUnicodeDecoder(&charset, &decoder);
nsServiceManager::ReleaseService(kCharsetConverterManagerCID, manager);
}
}
return decoder;
}
// GTK's text widget already does XIM, so we don't want to do this again
gint handle_key_press_event_for_text(GtkObject *w, GdkEventKey* event,
gpointer p)
{
nsKeyEvent kevent;
nsTextWidget* win = (nsTextWidget*)p;
// work around for annoying things.
if (event->keyval == GDK_Tab)
if (event->state & GDK_CONTROL_MASK)
if (event->state & GDK_MOD1_MASK)
return PR_FALSE;
// Don't pass shift, control and alt as key press events
if (event->keyval == GDK_Shift_L
|| event->keyval == GDK_Shift_R
|| event->keyval == GDK_Control_L
|| event->keyval == GDK_Control_R)
return PR_TRUE;
win->AddRef();
InitKeyEvent(event, p, kevent, NS_KEY_DOWN);
win->OnKey(kevent);
//
// Second, dispatch the Key event as a key press event w/ a Unicode
// character code. Note we have to check for modifier keys, since
// gtk returns a character value for them
//
InitKeyPressEvent(event,p, kevent);
win->OnKey(kevent);
win->Release();
if (w)
{
gtk_signal_emit_stop_by_name (GTK_OBJECT(w), "key_press_event");
}
return PR_TRUE;
}
// GTK's text widget already does XIM, so we don't want to do this again
gint handle_key_release_event_for_text(GtkObject *w, GdkEventKey* event,
gpointer p)
{
nsKeyEvent kevent;
nsTextWidget* win = (nsTextWidget*)p;
// Don't pass shift, control and alt as key release events
if (event->keyval == GDK_Shift_L
|| event->keyval == GDK_Shift_R
|| event->keyval == GDK_Control_L
|| event->keyval == GDK_Control_R)
return PR_TRUE;
InitKeyEvent(event, p, kevent, NS_KEY_UP);
win->AddRef();
win->OnKey(kevent);
win->Release();
if (w)
{
gtk_signal_emit_stop_by_name (GTK_OBJECT(w), "key_release_event");
}
return PR_TRUE;
}
//==============================================================
gint handle_key_press_event(GtkObject *w, GdkEventKey* event, gpointer p)
{
nsKeyEvent kevent;
nsWindow* win = (nsWindow*)p;
// work around for annoying things.
if (event->keyval == GDK_Tab)
if (event->state & GDK_CONTROL_MASK)
if (event->state & GDK_MOD1_MASK)
return PR_FALSE;
// Don't pass shift, control and alt as key press events
if (event->keyval == GDK_Shift_L
|| event->keyval == GDK_Shift_R
|| event->keyval == GDK_Control_L
|| event->keyval == GDK_Control_R)
return PR_TRUE;
win->AddRef();
//
// First, dispatch the Key event as a virtual key down event
//
InitKeyEvent(event, p, kevent, NS_KEY_DOWN);
win->OnKey(kevent);
//
// Second, dispatch the Key event as a key press event w/ a Unicode
// character code. Note we have to check for modifier keys, since
// gtk returns a character value for them
//
if (event->length) {
static nsIUnicodeDecoder *decoder = nsnull;
if (!decoder) {
decoder = open_unicode_decoder();
}
if (decoder && (!kevent.keyCode)) {
nsEventStatus status;
composition_start(event, win, &status);
composition_draw(event, win, decoder, &status);
composition_end(event, win, &status);
} else {
InitKeyPressEvent(event,p, kevent);
win->OnKey(kevent);
nsEventStatus status;
composition_start(event, win, &status);
composition_end(event, win, &status);
}
} else { // for Home/End/Up/Down/Left/Right/PageUp/PageDown key
InitKeyPressEvent(event,p, kevent);
win->OnKey(kevent);
}
win->Release();
if (w)
{
gtk_signal_emit_stop_by_name (GTK_OBJECT(w), "key_press_event");
}
return PR_TRUE;
}
//==============================================================
gint handle_key_release_event(GtkObject *w, GdkEventKey* event, gpointer p)
{
// Don't pass shift, control and alt as key release events
if (event->keyval == GDK_Shift_L
|| event->keyval == GDK_Shift_R
|| event->keyval == GDK_Control_L
|| event->keyval == GDK_Control_R)
return PR_TRUE;
nsKeyEvent kevent;
InitKeyEvent(event, p, kevent, NS_KEY_UP);
nsWindow * win = (nsWindow *) p;
win->AddRef();
win->OnKey(kevent);
win->Release();
if (w)
{
gtk_signal_emit_stop_by_name (GTK_OBJECT(w), "key_release_event");
}
return PR_TRUE;
}
//==============================================================
void
handle_gdk_event (GdkEvent *event, gpointer data)
{
GtkObject *object = nsnull;
if (event->any.window)
gdk_window_get_user_data (event->any.window, (void **)&object);
if (object != nsnull &&
GDK_IS_SUPERWIN (object))
{
// It was an event on one of our superwindows
nsWindow *window = (nsWindow *)gtk_object_get_data (object, "nsWindow");
if (gtk_grab_get_current () != nsnull)
{
// A GTK+ grab is in effect. Rewrite the event to point to
// our toplevel, and pass it through.
// XXX: We should actually translate the coordinates
gdk_window_unref (event->any.window);
event->any.window = GTK_WIDGET (window->GetMozArea())->window;
gdk_window_ref (event->any.window);
}
else
{
// Handle it ourselves.
switch (event->type)
{
case GDK_KEY_PRESS:
handle_key_press_event (NULL, &event->key, window);
break;
case GDK_KEY_RELEASE:
handle_key_release_event (NULL, &event->key, window);
break;
default:
window->HandleEvent (event);
}
return;
}
}
gtk_main_do_event (event);
}
//==============================================================
void
handle_xlib_shell_event(GdkSuperWin *superwin, XEvent *event, gpointer p)
{
nsWindow *window = (nsWindow *)p;
switch(event->xany.type) {
case ConfigureNotify:
window->HandleXlibConfigureNotifyEvent(event);
break;
default:
break;
}
}
//==============================================================
void
handle_xlib_bin_event(GdkSuperWin *superwin, XEvent *event, gpointer p)
{
nsWindow *window = (nsWindow *)p;
switch(event->xany.type) {
case Expose:
window->HandleXlibExposeEvent(event);
break;
case ButtonPress:
case ButtonRelease:
window->HandleXlibButtonEvent((XButtonEvent *)event);
break;
case MotionNotify:
window->HandleXlibMotionNotifyEvent((XMotionEvent *) event);
break;
case EnterNotify:
case LeaveNotify:
window->HandleXlibCrossingEvent((XCrossingEvent *) event);
break;
default:
break;
}
}
//==============================================================
gint nsGtkWidget_FSBCancel_Callback(GtkWidget *w, gpointer p)
{
#if 0
nsWindow *widgetWindow = (nsWindow*)gtk_object_get_user_data(GTK_OBJECT(w));
nsFileWidget * widgetWindow = (nsFileWidget *) p ;
if (p != nsnull) {
widgetWindow->OnCancel();
}
#endif
return PR_FALSE;
}
//==============================================================
gint nsGtkWidget_FSBOk_Callback(GtkWidget *w, gpointer p)
{
#if 0
nsWindow *widgetWindow = (nsWindow*)gtk_object_get_user_data(GTK_OBJECT(w));
nsFileWidget * widgetWindow = (nsFileWidget *) p;
if (p != nsnull) {
widgetWindow->OnOk();
}
#endif
return PR_FALSE;
}

View File

@@ -1,72 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 __nsGtkEventHandler_h
#define __nsGtkEventHandler_h
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
#include "gdksuperwin.h"
class nsIWidget;
class nsIMenuItem;
class nsIMenu;
gint handle_configure_event(GtkWidget *w, GdkEventConfigure *conf, gpointer p);
void handle_size_allocate(GtkWidget *w, GtkAllocation *alloc, gpointer p);
gint handle_expose_event(GtkWidget *w, GdkEventExpose *event, gpointer p);
gint handle_key_release_event_for_text(GtkObject *w, GdkEventKey* event, gpointer p);
gint handle_key_press_event_for_text(GtkObject *w, GdkEventKey* event, gpointer p);
gint handle_key_release_event(GtkObject *w, GdkEventKey* event, gpointer p);
gint handle_key_press_event(GtkObject *w, GdkEventKey* event, gpointer p);
void handle_scrollbar_value_changed(GtkAdjustment *adjustment, gpointer p);
void menu_item_activate_handler(GtkWidget *w, gpointer p);
void menu_map_handler(GtkWidget *w, gpointer p);
void menu_unmap_handler(GtkWidget *w, gpointer p);
//----------------------------------------------------
gint nsGtkWidget_FSBCancel_Callback(GtkWidget *w, gpointer p);
gint nsGtkWidget_FSBOk_Callback(GtkWidget *w, gpointer p);
//----------------------------------------------------
gint CheckButton_Toggle_Callback(GtkWidget *w, gpointer p);
gint nsGtkWidget_RadioButton_ArmCallback(GtkWidget *w, gpointer p);
gint nsGtkWidget_RadioButton_DisArmCallback(GtkWidget *w, gpointer p);
gint nsGtkWidget_Text_Callback(GtkWidget *w, GdkEventKey* event, gpointer p);
gint nsGtkWidget_Expose_Callback(GtkWidget *w, gpointer p);
gint nsGtkWidget_Refresh_Callback(gpointer call_data);
void handle_xlib_shell_event(GdkSuperWin *superwin, XEvent *event, gpointer p);
void handle_xlib_bin_event(GdkSuperWin *superwin, XEvent *event, gpointer p);
void handle_gdk_event (GdkEvent *event, gpointer data);
#endif // __nsGtkEventHandler.h

View File

@@ -1,213 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <unistd.h>
#include <string.h>
#include "nsGtkUtils.h"
#include <gdk/gdkx.h>
#include <gdk/gdkprivate.h>
#if defined(__osf__) && !defined(_XOPEN_SOURCE_EXTENDED)
/*
** DEC's compiler requires _XOPEN_SOURCE_EXTENDED to be defined in
** order for it to see the prototype for usleep in unistd.h, but if
** we define that the build breaks long before getting here. So
** put the prototype here explicitly.
*/
int usleep(useconds_t);
#endif
#if defined(__QNX__)
#define usleep(s) sleep(s)
#endif
//////////////////////////////////////////////////////////////////
#if 0
/* staitc */ gint
nsGtkUtils::gdk_query_pointer(GdkWindow * window,
gint * x_out,
gint * y_out)
{
g_return_val_if_fail(NULL != window, FALSE);
g_return_val_if_fail(NULL != x_out, FALSE);
g_return_val_if_fail(NULL != y_out, FALSE);
Window root;
Window child;
int rootx, rooty;
int winx = 0;
int winy = 0;
unsigned int xmask = 0;
gint result = FALSE;
*x_out = -1;
*y_out = -1;
result = XQueryPointer(GDK_WINDOW_XDISPLAY(window),
GDK_WINDOW_XWINDOW(window),
&root,
&child,
&rootx,
&rooty,
&winx,
&winy,
&xmask);
if (result)
{
*x_out = rootx;
*y_out = rooty;
}
return result;
}
#endif
//////////////////////////////////////////////////////////////////
/* static */ void
nsGtkUtils::gtk_widget_set_color(GtkWidget * widget,
GtkRcFlags flags,
GtkStateType state,
GdkColor * color)
{
GtkRcStyle * rc_style;
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (color != NULL);
g_return_if_fail (flags == 0);
rc_style = (GtkRcStyle *) gtk_object_get_data (GTK_OBJECT (widget),
"modify-style");
if (!rc_style)
{
rc_style = gtk_rc_style_new ();
gtk_widget_modify_style (widget, rc_style);
gtk_object_set_data (GTK_OBJECT (widget), "modify-style", rc_style);
}
if (flags & GTK_RC_FG)
{
rc_style->color_flags[state] = GtkRcFlags(rc_style->color_flags[state] | GTK_RC_FG);
rc_style->fg[state] = *color;
}
if (flags & GTK_RC_BG)
{
rc_style->color_flags[state] = GtkRcFlags(rc_style->color_flags[state] | GTK_RC_BG);
rc_style->bg[state] = *color;
}
if (flags & GTK_RC_TEXT)
{
rc_style->color_flags[state] = GtkRcFlags(rc_style->color_flags[state] | GTK_RC_TEXT);
rc_style->text[state] = *color;
}
if (flags & GTK_RC_BASE)
{
rc_style->color_flags[state] = GtkRcFlags(rc_style->color_flags[state] | GTK_RC_BASE);
rc_style->base[state] = *color;
}
}
//////////////////////////////////////////////////////////////////
/* static */ GdkModifierType
nsGtkUtils::gdk_keyboard_get_modifiers()
{
GdkModifierType m = (GdkModifierType) 0;
gdk_window_get_pointer(NULL,NULL,NULL,&m);
return m;
}
//////////////////////////////////////////////////////////////////
/* static */ void
nsGtkUtils::gdk_window_flash(GdkWindow * aGdkWindow,
unsigned int aTimes,
unsigned long aInterval,
GdkRectangle * aArea)
{
gint x;
gint y;
gint width;
gint height;
guint i;
GdkGC * gc = 0;
GdkColor white;
gdk_window_get_geometry(aGdkWindow,
NULL,
NULL,
&width,
&height,
NULL);
gdk_window_get_origin (aGdkWindow,
&x,
&y);
gc = gdk_gc_new(GDK_ROOT_PARENT());
white.pixel = WhitePixel(gdk_display,DefaultScreen(gdk_display));
gdk_gc_set_foreground(gc,&white);
gdk_gc_set_function(gc,GDK_XOR);
gdk_gc_set_subwindow(gc,GDK_INCLUDE_INFERIORS);
/*
* If an area is given, use that. Notice how out of whack coordinates
* and dimentsions are not checked!!!
*/
if (aArea)
{
x += aArea->x;
y += aArea->y;
width = aArea->width;
height = aArea->height;
}
/*
* Need to do this twice so that the XOR effect can replace
* the original window contents.
*/
for (i = 0; i < aTimes * 2; i++)
{
gdk_draw_rectangle(GDK_ROOT_PARENT(),
gc,
TRUE,
x,
y,
width,
height);
gdk_flush();
usleep(aInterval);
}
gdk_gc_destroy(gc);
}
//////////////////////////////////////////////////////////////////

View File

@@ -1,85 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 __nsGtkUtils_h
#define __nsGtkUtils_h
#include <gtk/gtk.h>
struct nsGtkUtils
{
//
// Wrapper for XQueryPointer
//
#if 0
static gint gdk_query_pointer(GdkWindow * window,
gint * x_out,
gint * y_out);
#endif
//
// Change a widget's background
//
// flags isa bit mask of the following bits:
//
// GTK_RC_FG
// GTK_RC_BG
// GTK_RC_TEXT
// GTK_RC_BASE
//
// state is an enum:
//
// GTK_STATE_NORMAL,
// GTK_STATE_ACTIVE,
// GTK_STATE_PRELIGHT,
// GTK_STATE_SELECTED,
// GTK_STATE_INSENSITIVE
//
static void gtk_widget_set_color(GtkWidget * widget,
GtkRcFlags flags,
GtkStateType state,
GdkColor * color);
/**
* Return the current keyboard modifier state.
*
* @return the current keyboard modifier state.
*
*/
static GdkModifierType gdk_keyboard_get_modifiers();
/**
* Flash an area within a GDK window (or the whole window)
*
* @param aGdkWindow The GDK window to flash.
* @param aTimes Number of times to flash the area.
* @param aInterval Interval between flashes in milliseconds.
* @param aArea The area to flash. The whole window if NULL.
*
*/
static void gdk_window_flash(GdkWindow * aGdkWindow,
unsigned int aTimes,
unsigned long aInterval,
GdkRectangle * aArea);
};
#endif // __nsGtkEventHandler.h

View File

@@ -1,141 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsLabel.h"
#include "nsString.h"
NS_IMPL_ADDREF_INHERITED(nsLabel, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsLabel, nsWidget)
NS_IMPL_QUERY_INTERFACE2(nsLabel, nsILabel, nsIWidget)
//-------------------------------------------------------------------------
//
// nsLabel constructor
//
//-------------------------------------------------------------------------
nsLabel::nsLabel() : nsWidget(), nsILabel()
{
NS_INIT_REFCNT();
mAlignment = eAlign_Left;
}
//-------------------------------------------------------------------------
//
// nsLabel destructor
//
//-------------------------------------------------------------------------
nsLabel::~nsLabel()
{
}
//-------------------------------------------------------------------------
//
// Create the nativeLabel widget
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsLabel::CreateNative(GtkObject *parentWindow)
{
unsigned char alignment = GetNativeAlignment();
mWidget = gtk_label_new("");
gtk_widget_set_name(mWidget, "nsLabel");
gtk_misc_set_alignment(GTK_MISC(mWidget), 0.0, alignment);
return NS_OK;
}
//-------------------------------------------------------------------------
//
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsLabel::PreCreateWidget(nsWidgetInitData *aInitData)
{
if (nsnull != aInitData) {
nsLabelInitData* data = (nsLabelInitData *) aInitData;
mAlignment = data->mAlignment;
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set alignment
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsLabel::SetAlignment(nsLabelAlignment aAlignment)
{
GtkJustification align;
mAlignment = aAlignment;
align = GetNativeAlignment();
gtk_misc_set_alignment(GTK_MISC(mWidget), 0.0, align);
return NS_OK;
}
//-------------------------------------------------------------------------
//
//
//
//-------------------------------------------------------------------------
GtkJustification nsLabel::GetNativeAlignment()
{
switch (mAlignment) {
case eAlign_Right : return GTK_JUSTIFY_RIGHT;
case eAlign_Left : return GTK_JUSTIFY_LEFT;
case eAlign_Center: return GTK_JUSTIFY_CENTER;
default :
return GTK_JUSTIFY_LEFT;
}
return GTK_JUSTIFY_LEFT;
}
//-------------------------------------------------------------------------
//
// Set this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsLabel::SetLabel(const nsString& aText)
{
NS_ALLOC_STR_BUF(label, aText, 256);
gtk_label_set(GTK_LABEL(mWidget), label);
NS_FREE_STR_BUF(label);
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsLabel::GetLabel(nsString& aBuffer)
{
char * text;
gtk_label_get(GTK_LABEL(mWidget), &text);
aBuffer.SetLength(0);
aBuffer.Append(text);
return NS_OK;
}

View File

@@ -1,62 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsLabel_h__
#define nsLabel_h__
#include "nsWidget.h"
#include "nsILabel.h"
/**
* Native GTK+ Label wrapper
*/
class nsLabel : public nsWidget,
public nsILabel
{
public:
nsLabel();
virtual ~nsLabel();
NS_DECL_ISUPPORTS_INHERITED
// nsILabel part
NS_IMETHOD SetLabel(const nsString &aText);
NS_IMETHOD GetLabel(nsString &aBuffer);
NS_IMETHOD SetAlignment(nsLabelAlignment aAlignment);
NS_IMETHOD PreCreateWidget(nsWidgetInitData *aInitData);
virtual PRBool OnMove(PRInt32 aX, PRInt32 aY) { return PR_FALSE; }
virtual PRBool OnResize(nsRect &aRect) { return PR_FALSE; }
protected:
NS_METHOD CreateNative(GtkObject *parentWindow);
GtkJustification GetNativeAlignment();
nsLabelAlignment mAlignment;
};
#endif // nsLabel_h__

View File

@@ -1,394 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsListBox.h"
#include "nsString.h"
NS_IMPL_ADDREF_INHERITED(nsListBox, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsListBox, nsWidget)
NS_IMPL_QUERY_INTERFACE3(nsListBox, nsIListBox, nsIListWidget, nsIWidget)
//-------------------------------------------------------------------------
//
// nsListBox constructor
//
//-------------------------------------------------------------------------
nsListBox::nsListBox() : nsWidget(), nsIListWidget(), nsIListBox()
{
NS_INIT_REFCNT();
mMultiSelect = PR_FALSE;
mCList = nsnull;
}
//-------------------------------------------------------------------------
//
// nsListBox:: destructor
//
//-------------------------------------------------------------------------
nsListBox::~nsListBox()
{
}
void nsListBox::InitCallbacks(char * aName)
{
InstallButtonPressSignal(mCList);
InstallButtonReleaseSignal(mCList);
InstallEnterNotifySignal(mCList);
InstallLeaveNotifySignal(mCList);
// These are needed so that the events will go to us and not our parent.
AddToEventMask(mCList,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK |
GDK_EXPOSURE_MASK |
GDK_FOCUS_CHANGE_MASK |
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
}
//-------------------------------------------------------------------------
//
// initializer
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::SetMultipleSelection(PRBool aMultipleSelections)
{
mMultiSelect = aMultipleSelections;
if (mCList) {
if (mMultiSelect)
gtk_clist_set_selection_mode(GTK_CLIST(mCList), GTK_SELECTION_MULTIPLE);
else
gtk_clist_set_selection_mode(GTK_CLIST(mCList), GTK_SELECTION_BROWSE);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// AddItemAt
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::AddItemAt(nsString &aItem, PRInt32 aPosition)
{
if (mCList) {
gchar *text[2];
const nsAutoCString tempStr(aItem);
text[0] = (gchar*)(const char *)tempStr;
text[1] = (gchar*)NULL;
gtk_clist_insert(GTK_CLIST(mCList), (int)aPosition, text);
// XXX Im not sure using the string address is the right thing to
// store in the row data.
gtk_clist_set_row_data(GTK_CLIST(mCList), aPosition, (gpointer)&aItem);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Finds an item at a postion
//
//-------------------------------------------------------------------------
PRInt32 nsListBox::FindItem(nsString &aItem, PRInt32 aStartPos)
{
int i = -1;
if (mCList) {
i = gtk_clist_find_row_from_data(GTK_CLIST(mCList), (gpointer)&aItem);
if (i < aStartPos) {
i = -1;
}
}
return i;
}
//-------------------------------------------------------------------------
//
// CountItems - Get Item Count
//
//-------------------------------------------------------------------------
PRInt32 nsListBox::GetItemCount()
{
if (mCList) {
return GTK_CLIST(mCList)->rows;
}
else {
return 0;
}
}
//-------------------------------------------------------------------------
//
// Removes an Item at a specified location
//
//-------------------------------------------------------------------------
PRBool nsListBox::RemoveItemAt(PRInt32 aPosition)
{
if (mCList) {
gtk_clist_remove(GTK_CLIST(mCList), aPosition);
}
return PR_TRUE;
}
//-------------------------------------------------------------------------
//
//
//
//-------------------------------------------------------------------------
PRBool nsListBox::GetItemAt(nsString& anItem, PRInt32 aPosition)
{
PRBool result = PR_FALSE;
anItem.Truncate();
if (mCList) {
char *text = nsnull;
gtk_clist_get_text(GTK_CLIST(mCList),aPosition,0,&text);
if (text) {
anItem.Append(text);
result = PR_TRUE;
}
}
return result;
}
//-------------------------------------------------------------------------
//
// Gets the selected of selected item
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::GetSelectedItem(nsString& aItem)
{
aItem.Truncate();
if (mCList) {
PRInt32 i=0, idx=-1;
GtkCList *clist = GTK_CLIST(mCList);
GList *list = clist->row_list;
for (i=0; i < clist->rows && idx == -1; i++, list = list->next) {
if (GTK_CLIST_ROW (list)->state == GTK_STATE_SELECTED) {
char *text = nsnull;
gtk_clist_get_text(GTK_CLIST(mCList),i,0,&text);
if (text) {
aItem.Append(text);
}
return NS_OK;
}
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Gets the list of selected otems
//
//-------------------------------------------------------------------------
PRInt32 nsListBox::GetSelectedIndex()
{
PRInt32 i=0, idx=-1;
if (mCList) {
if (!mMultiSelect) {
GtkCList *clist = GTK_CLIST(mCList);
GList *list = clist->row_list;
for (i=0; i < clist->rows && idx == -1; i++, list = list->next) {
if (GTK_CLIST_ROW (list)->state == GTK_STATE_SELECTED) {
idx = i;
}
}
} else {
NS_ASSERTION(PR_FALSE, "Multi selection list box does not support GetSelectedIndex()");
}
}
return idx;
}
//-------------------------------------------------------------------------
//
// SelectItem
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::SelectItem(PRInt32 aPosition)
{
if (mCList) {
gtk_clist_select_row(GTK_CLIST(mCList), aPosition, 0);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// GetSelectedCount
//
//-------------------------------------------------------------------------
PRInt32 nsListBox::GetSelectedCount()
{
if (mCList) {
if (!GTK_CLIST(mCList)->selection)
return 0;
else
return (PRInt32)g_list_length(GTK_CLIST(mCList)->selection);
}
else {
return 0;
}
}
//-------------------------------------------------------------------------
//
// GetSelectedIndices
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::GetSelectedIndices(PRInt32 aIndices[], PRInt32 aSize)
{
if (mCList) {
PRInt32 i=0, num = 0;
GtkCList *clist = GTK_CLIST(mCList);
GList *list = clist->row_list;
for (i=0; i < clist->rows && num < aSize; i++, list = list->next) {
if (GTK_CLIST_ROW (list)->state == GTK_STATE_SELECTED) {
aIndices[num] = i;
num++;
}
}
}
else {
PRInt32 i = 0;
for (i = 0; i < aSize; i++) aIndices[i] = 0;
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// SetSelectedIndices
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::SetSelectedIndices(PRInt32 aIndices[], PRInt32 aSize)
{
if (mCList) {
gtk_clist_unselect_all(GTK_CLIST(mCList));
int i;
for (i=0;i<aSize;i++) {
SelectItem(aIndices[i]);
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Deselect
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::Deselect()
{
if (mCList) {
gtk_clist_unselect_all(GTK_CLIST(mCList));
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set initial parameters
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::PreCreateWidget(nsWidgetInitData *aInitData)
{
if (nsnull != aInitData) {
nsListBoxInitData* data = (nsListBoxInitData *) aInitData;
mMultiSelect = data->mMultiSelect;
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Create the native widget
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsListBox::CreateNative(GtkObject *parentWindow)
{
// to handle scrolling
mWidget = gtk_scrolled_window_new (nsnull, nsnull);
gtk_widget_set_name(mWidget, "nsListBox");
gtk_container_set_border_width(GTK_CONTAINER(mWidget), 0);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (mWidget),
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
mCList = ::gtk_clist_new(1);
gtk_clist_column_titles_hide(GTK_CLIST(mCList));
// Default (it may be changed)
gtk_clist_set_selection_mode(GTK_CLIST(mCList), GTK_SELECTION_BROWSE);
SetMultipleSelection(mMultiSelect);
gtk_widget_show(mCList);
gtk_signal_connect(GTK_OBJECT(mCList),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
gtk_container_add (GTK_CONTAINER (mWidget), mCList);
return NS_OK;
}
void
nsListBox::OnDestroySignal(GtkWidget* aGtkWidget)
{
if (aGtkWidget == mCList) {
mCList = nsnull;
}
else {
nsWidget::OnDestroySignal(aGtkWidget);
}
}
//-------------------------------------------------------------------------
//
// set font for listbox
//
//-------------------------------------------------------------------------
/*virtual*/
void nsListBox::SetFontNative(GdkFont *aFont)
{
GtkStyle *style = gtk_style_copy(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0))->style);
// gtk_style_copy ups the ref count of the font
gdk_font_unref (style->font);
style->font = aFont;
gdk_font_ref(style->font);
gtk_widget_set_style(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0)), style);
gtk_style_unref(style);
}

View File

@@ -1,70 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsListBox_h__
#define nsListBox_h__
#include "nsWidget.h"
#include "nsIListBox.h"
/**
* Native GTK+ Listbox wrapper
*/
class nsListBox : public nsWidget,
public nsIListWidget,
public nsIListBox
{
public:
nsListBox();
virtual ~nsListBox();
NS_DECL_ISUPPORTS_INHERITED
// nsIListBox interface
NS_IMETHOD PreCreateWidget(nsWidgetInitData *aInitData);
NS_IMETHOD SetMultipleSelection(PRBool aMultipleSelections);
NS_IMETHOD AddItemAt(nsString &aItem, PRInt32 aPosition);
PRInt32 FindItem(nsString &aItem, PRInt32 aStartPos);
PRInt32 GetItemCount();
PRBool RemoveItemAt(PRInt32 aPosition);
PRBool GetItemAt(nsString& anItem, PRInt32 aPosition);
NS_IMETHOD GetSelectedItem(nsString& aItem);
PRInt32 GetSelectedIndex();
PRInt32 GetSelectedCount();
NS_IMETHOD GetSelectedIndices(PRInt32 aIndices[], PRInt32 aSize);
NS_IMETHOD SetSelectedIndices(PRInt32 aIndices[], PRInt32 aSize);
NS_IMETHOD SelectItem(PRInt32 aPosition);
NS_IMETHOD Deselect() ;
virtual void SetFontNative(GdkFont *aFont);
protected:
NS_IMETHOD CreateNative(GtkObject *parentWindow);
virtual void InitCallbacks(char * aName = nsnull);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
GtkWidget *mCList;
PRBool mMultiSelect;
};
#endif // nsListBox_h__

View File

@@ -1,316 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsLookAndFeel.h"
#include <gtk/gtkinvisible.h>
#define GDK_COLOR_TO_NS_RGB(c) \
((nscolor) NS_RGB(c.red, c.green, c.blue))
NS_IMPL_ISUPPORTS1(nsLookAndFeel, nsILookAndFeel)
//-------------------------------------------------------------------------
//
// Query interface implementation
//
//-------------------------------------------------------------------------
nsLookAndFeel::nsLookAndFeel()
{
NS_INIT_REFCNT();
mWidget = gtk_invisible_new();
gtk_widget_ensure_style(mWidget);
mStyle = gtk_widget_get_style(mWidget);
}
nsLookAndFeel::~nsLookAndFeel()
{
gtk_widget_destroy(mWidget);
}
NS_IMETHODIMP nsLookAndFeel::GetColor(const nsColorID aID, nscolor &aColor)
{
nsresult res = NS_OK;
aColor = 0; // default color black
switch (aID) {
case eColor_WindowBackground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_WindowForeground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_WidgetBackground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_WidgetForeground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_WidgetSelectBackground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_SELECTED]);
break;
case eColor_WidgetSelectForeground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_SELECTED]);
break;
case eColor_Widget3DHighlight:
aColor = NS_RGB(0xa0,0xa0,0xa0);
break;
case eColor_Widget3DShadow:
aColor = NS_RGB(0x40,0x40,0x40);
break;
case eColor_TextBackground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_TextForeground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_TextSelectBackground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_SELECTED]);
break;
case eColor_TextSelectForeground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->text[GTK_STATE_SELECTED]);
break;
// css2 http://www.w3.org/TR/REC-CSS2/ui.html#system-colors
case eColor_activeborder:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_activecaption:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_appworkspace:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_background:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_captiontext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_graytext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_INSENSITIVE]);
break;
case eColor_highlight:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_SELECTED]);
break;
case eColor_highlighttext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_SELECTED]);
break;
case eColor_inactiveborder:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_inactivecaption:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_INSENSITIVE]);
break;
case eColor_inactivecaptiontext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_INSENSITIVE]);
break;
case eColor_infobackground:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_infotext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_menu:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_menutext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_scrollbar:
break;
case eColor_threedface:
case eColor_buttonface:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_buttonhighlight: // ?
case eColor_threedhighlight:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_ACTIVE]);
break;
case eColor_buttontext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
case eColor_buttonshadow:
case eColor_threeddarkshadow:
case eColor_threedshadow: // i think these should be the same
aColor = NS_DarkenColor(NS_DarkenColor(NS_DarkenColor(NS_DarkenColor(NS_DarkenColor(GDK_COLOR_TO_NS_RGB(mStyle->light[GTK_STATE_NORMAL]))))));
// aColor = GDK_COLOR_TO_NS_RGB(mStyle->dark[GTK_STATE_NORMAL]); // dark style gives me bright green?!
break;
case eColor_threedlightshadow:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->light[GTK_STATE_NORMAL]);
break;
case eColor_window:
case eColor_windowframe:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->bg[GTK_STATE_NORMAL]);
break;
case eColor_windowtext:
aColor = GDK_COLOR_TO_NS_RGB(mStyle->fg[GTK_STATE_NORMAL]);
break;
default:
/* default color is BLACK */
aColor = 0;
res = NS_ERROR_FAILURE;
break;
}
// printf("%i, %i, %i\n", NS_GET_R(aColor), NS_GET_B(aColor), NS_GET_G(aColor));
return res;
}
NS_IMETHODIMP nsLookAndFeel::GetMetric(const nsMetricID aID, PRInt32 & aMetric)
{
nsresult res = NS_OK;
switch (aID) {
case eMetric_WindowTitleHeight:
aMetric = 0;
break;
case eMetric_WindowBorderWidth:
// aMetric = mStyle->klass->xthickness;
break;
case eMetric_WindowBorderHeight:
// aMetric = mStyle->klass->ythickness;
break;
case eMetric_Widget3DBorder:
// aMetric = 4;
break;
case eMetric_TextFieldHeight:
{
GtkRequisition req;
GtkWidget *text = gtk_entry_new();
// needed to avoid memory leak
gtk_widget_ref(text);
gtk_object_sink(GTK_OBJECT(text));
gtk_widget_size_request(text,&req);
aMetric = req.height;
gtk_widget_destroy(text);
gtk_widget_unref(text);
}
break;
case eMetric_TextFieldBorder:
aMetric = 2;
break;
case eMetric_TextVerticalInsidePadding:
aMetric = 0;
break;
case eMetric_TextShouldUseVerticalInsidePadding:
aMetric = 0;
break;
case eMetric_TextHorizontalInsideMinimumPadding:
aMetric = 15;
break;
case eMetric_TextShouldUseHorizontalInsideMinimumPadding:
aMetric = 1;
break;
case eMetric_ButtonHorizontalInsidePaddingNavQuirks:
aMetric = 10;
break;
case eMetric_ButtonHorizontalInsidePaddingOffsetNavQuirks:
aMetric = 8;
break;
case eMetric_CheckboxSize:
aMetric = 15;
break;
case eMetric_RadioboxSize:
aMetric = 15;
break;
case eMetric_ListShouldUseHorizontalInsideMinimumPadding:
aMetric = 15;
break;
case eMetric_ListHorizontalInsideMinimumPadding:
aMetric = 15;
break;
case eMetric_ListShouldUseVerticalInsidePadding:
aMetric = 1;
break;
case eMetric_ListVerticalInsidePadding:
aMetric = 1;
break;
case eMetric_CaretBlinkTime:
aMetric = 500;
break;
case eMetric_CaretWidthTwips:
aMetric = 20;
break;
default:
aMetric = 0;
res = NS_ERROR_FAILURE;
}
return res;
}
NS_IMETHODIMP nsLookAndFeel::GetMetric(const nsMetricFloatID aID, float & aMetric)
{
nsresult res = NS_OK;
switch (aID) {
case eMetricFloat_TextFieldVerticalInsidePadding:
aMetric = 0.25f;
break;
case eMetricFloat_TextFieldHorizontalInsidePadding:
aMetric = 0.95f; // large number on purpose so minimum padding is used
break;
case eMetricFloat_TextAreaVerticalInsidePadding:
aMetric = 0.40f;
break;
case eMetricFloat_TextAreaHorizontalInsidePadding:
aMetric = 0.40f; // large number on purpose so minimum padding is used
break;
case eMetricFloat_ListVerticalInsidePadding:
aMetric = 0.10f;
break;
case eMetricFloat_ListHorizontalInsidePadding:
aMetric = 0.40f;
break;
case eMetricFloat_ButtonVerticalInsidePadding:
aMetric = 0.25f;
break;
case eMetricFloat_ButtonHorizontalInsidePadding:
aMetric = 0.25f;
break;
default:
aMetric = -1.0;
res = NS_ERROR_FAILURE;
}
return res;
}
#ifdef NS_DEBUG
NS_IMETHODIMP nsLookAndFeel::GetNavSize(const nsMetricNavWidgetID aWidgetID,
const nsMetricNavFontID aFontID,
const PRInt32 aFontSize,
nsSize &aSize)
{
aSize.width = 0;
aSize.height = 0;
return NS_ERROR_NOT_IMPLEMENTED;
}
#endif

View File

@@ -1,55 +0,0 @@
/* -*- 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):
*/
#ifndef __nsLookAndFeel
#define __nsLookAndFeel
#include "nsILookAndFeel.h"
#include <gtk/gtk.h>
class nsLookAndFeel: public nsILookAndFeel {
NS_DECL_ISUPPORTS
public:
nsLookAndFeel();
virtual ~nsLookAndFeel();
NS_IMETHOD GetColor(const nsColorID aID, nscolor &aColor);
NS_IMETHOD GetMetric(const nsMetricID aID, PRInt32 & aMetric);
NS_IMETHOD GetMetric(const nsMetricFloatID aID, float & aMetric);
#ifdef NS_DEBUG
// This method returns the actual (or nearest estimate)
// of the Navigator size for a given form control for a given font
// and font size. This is used in NavQuirks mode to see how closely
// we match its size
NS_IMETHOD GetNavSize(const nsMetricNavWidgetID aWidgetID,
const nsMetricNavFontID aFontID,
const PRInt32 aFontSize,
nsSize &aSize);
#endif
protected:
GtkStyle *mStyle;
GtkWidget *mWidget;
};
#endif

View File

@@ -1,792 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsMenu.h"
#include "nsIComponentManager.h"
#include "nsIDOMElement.h"
#include "nsIDOMNode.h"
#include "nsIMenuBar.h"
#include "nsIMenuItem.h"
#include "nsIMenuListener.h"
#include "nsString.h"
#include "nsGtkEventHandler.h"
#include "nsCOMPtr.h"
#include "nsWidgetsCID.h"
static NS_DEFINE_CID(kMenuCID, NS_MENU_CID);
static NS_DEFINE_CID(kMenuItemCID, NS_MENUITEM_CID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
nsresult nsMenu::QueryInterface(REFNSIID aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
*aInstancePtr = NULL;
if (aIID.Equals(nsIMenu::GetIID())) {
*aInstancePtr = (void*)(nsIMenu*) this;
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*)(nsISupports*)(nsIMenu*)this;
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(nsIMenuListener::GetIID())) {
*aInstancePtr = (void*)(nsIMenuListener*)this;
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsMenu)
NS_IMPL_RELEASE(nsMenu)
//-------------------------------------------------------------------------
//
// nsMenu constructor
//
//-------------------------------------------------------------------------
nsMenu::nsMenu() : nsIMenu()
{
NS_INIT_REFCNT();
mNumMenuItems = 0;
mMenu = nsnull;
mMenuParent = nsnull;
mMenuBarParent = nsnull;
mListener = nsnull;
mConstructCalled = PR_FALSE;
mDOMNode = nsnull;
mWebShell = nsnull;
mDOMElement = nsnull;
mAccessKey = "_";
}
//-------------------------------------------------------------------------
//
// nsMenu destructor
//
//-------------------------------------------------------------------------
nsMenu::~nsMenu()
{
//g_print("nsMenu::~nsMenu() called\n");
NS_IF_RELEASE(mListener);
// Free our menu items
RemoveAll();
gtk_widget_destroy(mMenu);
mMenu = nsnull;
}
//-------------------------------------------------------------------------
//
// Create the proper widget
//-------------------------------------------------------------------------
NS_METHOD nsMenu::Create(nsISupports *aParent, const nsString &aLabel)
{
if(aParent)
{
nsIMenuBar * menubar = nsnull;
aParent->QueryInterface(nsIMenuBar::GetIID(), (void**) &menubar);
if(menubar)
{
mMenuBarParent = menubar;
NS_RELEASE(menubar);
}
else
{
nsIMenu * menu = nsnull;
aParent->QueryInterface(nsIMenu::GetIID(), (void**) &menu);
if(menu)
{
mMenuParent = menu;
NS_RELEASE(menu);
}
}
}
mLabel = aLabel;
mMenu = gtk_menu_new();
gtk_signal_connect (GTK_OBJECT (mMenu), "map",
GTK_SIGNAL_FUNC(menu_map_handler),
this);
gtk_signal_connect (GTK_OBJECT (mMenu), "unmap",
GTK_SIGNAL_FUNC(menu_unmap_handler),
this);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::GetParent(nsISupports*& aParent)
{
aParent = nsnull;
if (nsnull != mMenuParent) {
return mMenuParent->QueryInterface(kISupportsIID,
(void**)&aParent);
} else if (nsnull != mMenuBarParent) {
return mMenuBarParent->QueryInterface(kISupportsIID,
(void**)&aParent);
}
return NS_ERROR_FAILURE;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::GetLabel(nsString &aText)
{
aText = mLabel;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::SetLabel(const nsString &aText)
{
/* we Do GetLabel() when we are adding the menu...
* but we might want to redo this.
*/
mLabel = aText;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::GetAccessKey(nsString &aText)
{
aText = mAccessKey;
char *foo = mAccessKey.ToNewCString();
#ifdef DEBUG_pavlov
g_print("GetAccessKey returns \"%s\"\n", foo);
#endif
nsCRT::free(foo);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::SetAccessKey(const nsString &aText)
{
mAccessKey = aText;
char *foo = mAccessKey.ToNewCString();
#ifdef DEBUG_pavlov
g_print("SetAccessKey setting to \"%s\"\n", foo);
#endif
nsCRT::free(foo);
return NS_OK;
}
//-------------------------------------------------------------------------
/**
* Set enabled state
*
*/
NS_METHOD nsMenu::SetEnabled(PRBool aIsEnabled)
{
return NS_OK;
}
//-------------------------------------------------------------------------
/**
* Get enabled state
*
*/
NS_METHOD nsMenu::GetEnabled(PRBool* aIsEnabled)
{
return NS_OK;
}
//-------------------------------------------------------------------------
/**
* Query if this is the help menu
*
*/
NS_METHOD nsMenu::IsHelpMenu(PRBool* aIsHelpMenu)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::AddItem(nsISupports * aItem)
{
if(aItem)
{
nsIMenuItem * menuitem = nsnull;
aItem->QueryInterface(nsIMenuItem::GetIID(),
(void**)&menuitem);
if(menuitem)
{
AddMenuItem(menuitem); // nsMenu now owns this
NS_RELEASE(menuitem);
}
else
{
nsIMenu * menu = nsnull;
aItem->QueryInterface(nsIMenu::GetIID(),
(void**)&menu);
if(menu)
{
AddMenu(menu); // nsMenu now owns this
NS_RELEASE(menu);
}
}
}
return NS_OK;
}
// local method used by nsMenu::AddItem
//-------------------------------------------------------------------------
NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
{
GtkWidget *widget;
void *voidData;
aMenuItem->GetNativeData(voidData);
widget = GTK_WIDGET(voidData);
gtk_menu_shell_append (GTK_MENU_SHELL (mMenu), widget);
// XXX add aMenuItem to internal data structor list
// Need to be adding an nsISupports *, not nsIMenuItem *
nsISupports * supports = nsnull;
aMenuItem->QueryInterface(kISupportsIID,
(void**)&supports);
{
mMenuItemVoidArray.AppendElement(supports);
mNumMenuItems++;
}
return NS_OK;
}
// local method used by nsMenu::AddItem
//-------------------------------------------------------------------------
NS_METHOD nsMenu::AddMenu(nsIMenu * aMenu)
{
nsString Label;
GtkWidget *newmenu=nsnull;
void *voidData=NULL;
aMenu->GetLabel(Label);
// Create nsMenuItem
nsIMenuItem * pnsMenuItem = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuItemCID,
nsnull,
nsIMenuItem::GetIID(),
(void**)&pnsMenuItem);
if (NS_OK == rv) {
nsISupports * supports = nsnull;
QueryInterface(kISupportsIID, (void**) &supports);
pnsMenuItem->Create(supports, Label, PR_FALSE); //PR_TRUE);
NS_RELEASE(supports);
pnsMenuItem->QueryInterface(kISupportsIID, (void**) &supports);
AddItem(supports); // Parent should now own menu item
NS_RELEASE(supports);
void * menuitem = nsnull;
pnsMenuItem->GetNativeData(menuitem);
voidData = NULL;
aMenu->GetNativeData(&voidData);
newmenu = GTK_WIDGET(voidData);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), newmenu);
NS_RELEASE(pnsMenuItem);
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::AddSeparator()
{
// Create nsMenuItem
nsIMenuItem * pnsMenuItem = nsnull;
nsresult rv = nsComponentManager::CreateInstance(
kMenuItemCID, nsnull, nsIMenuItem::GetIID(), (void**)&pnsMenuItem);
if (NS_OK == rv) {
nsString tmp = "menuseparator";
nsISupports * supports = nsnull;
QueryInterface(kISupportsIID, (void**) &supports);
pnsMenuItem->Create(supports, tmp, PR_TRUE);
NS_RELEASE(supports);
pnsMenuItem->QueryInterface(kISupportsIID, (void**) &supports);
AddItem(supports); // Parent should now own menu item
NS_RELEASE(supports);
NS_RELEASE(pnsMenuItem);
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::GetItemCount(PRUint32 &aCount)
{
// this should be right.. does it need to be +1 ?
aCount = g_list_length(GTK_MENU_SHELL(mMenu)->children);
//g_print("nsMenu::GetItemCount = %i\n", aCount);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::GetItemAt(const PRUint32 aPos,
nsISupports *&aMenuItem)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::InsertItemAt(const PRUint32 aPos,
nsISupports *aMenuItem)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::RemoveItem(const PRUint32 aPos)
{
#if 0
// this may work here better than Removeall(), but i'm not sure how to test this one
nsISupports *item = mMenuItemVoidArray[aPos];
delete item;
mMenuItemVoidArray.RemoveElementAt(aPos);
#endif
/*
gtk_menu_shell_remove (GTK_MENU_SHELL (mMenu), item);
nsCRT::free(labelStr);
voidData = NULL;
aMenu->GetNativeData(&voidData);
newmenu = GTK_WIDGET(voidData);
gtk_menu_item_remove_submenu (GTK_MENU_ITEM (item));
*/
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::RemoveAll()
{
//g_print("nsMenu::RemoveAll()\n");
#if 0
// this doesn't work quite right, but this is about all that should really be needed
int i=0;
nsIMenu *menu = nsnull;
nsIMenuItem *menuitem = nsnull;
nsISupports *item = nsnull;
for (i=mMenuItemVoidArray.Count(); i>0; i--)
{
item = (nsISupports*)mMenuItemVoidArray[i-1];
if(nsnull != item)
{
if (NS_OK == item->QueryInterface(nsIMenuItem::GetIID(), (void**)&menuitem)) {
// we do this twice because we have to do it once for QueryInterface,
// then we want to get rid of it.
// g_print("remove nsMenuItem\n");
NS_RELEASE(menuitem);
NS_RELEASE(item);
menuitem = nsnull;
} else if (NS_OK == item->QueryInterface(nsIMenu::GetIID(), (void**)&menu)) {
// g_print("remove nsMenu\n");
NS_RELEASE(menu);
NS_RELEASE(item);
menu = nsnull;
}
// mMenuItemVoidArray.RemoveElementAt(i-1);
}
}
mMenuItemVoidArray.Clear();
#else
for (int i = mMenuItemVoidArray.Count(); i > 0; i--) {
if(nsnull != mMenuItemVoidArray[i-1]) {
nsIMenuItem * menuitem = nsnull;
((nsISupports*)mMenuItemVoidArray[i-1])->QueryInterface(nsIMenuItem::GetIID(),
(void**)&menuitem);
if(menuitem) {
void *gtkmenuitem = nsnull;
menuitem->GetNativeData(gtkmenuitem);
if (gtkmenuitem) {
// gtk_widget_ref(GTK_WIDGET(gtkmenuitem));
//gtk_widget_destroy(GTK_WIDGET(gtkmenuitem));
gtk_container_remove (GTK_CONTAINER (mMenu), GTK_WIDGET(gtkmenuitem));
}
} else {
nsIMenu * menu= nsnull;
((nsISupports*)mMenuItemVoidArray[i-1])->QueryInterface(nsIMenu::GetIID(),
(void**)&menu);
if(menu)
{
void * gtkmenu = nsnull;
menu->GetNativeData(&gtkmenu);
if(gtkmenu){
//g_print("gtkmenu removed");
//gtk_menu_item_remove_submenu (GTK_MENU_ITEM (item));
}
}
}
}
}
#endif
//g_print("end RemoveAll\n");
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::GetNativeData(void ** aData)
{
*aData = (void *)mMenu;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::SetNativeData(void * aData)
{
return NS_OK;
}
GtkWidget *nsMenu::GetNativeParent()
{
void * voidData;
if (nsnull != mMenuParent) {
mMenuParent->GetNativeData(&voidData);
} else if (nsnull != mMenuBarParent) {
mMenuBarParent->GetNativeData(voidData);
} else {
return nsnull;
}
return GTK_WIDGET(voidData);
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::AddMenuListener(nsIMenuListener * aMenuListener)
{
mListener = aMenuListener;
NS_ADDREF(mListener);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenu::RemoveMenuListener(nsIMenuListener * aMenuListener)
{
if (aMenuListener == mListener) {
NS_IF_RELEASE(mListener);
}
return NS_OK;
}
//-------------------------------------------------------------------------
// nsIMenuListener interface
//-------------------------------------------------------------------------
nsEventStatus nsMenu::MenuItemSelected(const nsMenuEvent & aMenuEvent)
{
if (nsnull != mListener) {
mListener->MenuSelected(aMenuEvent);
}
return nsEventStatus_eIgnore;
}
nsEventStatus nsMenu::MenuSelected(const nsMenuEvent & aMenuEvent)
{
if (nsnull != mListener) {
mListener->MenuSelected(aMenuEvent);
}
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenu::MenuDeselected(const nsMenuEvent & aMenuEvent)
{
if (nsnull != mListener) {
mListener->MenuDeselected(aMenuEvent);
}
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenu::MenuConstruct(const nsMenuEvent & aMenuEvent,
nsIWidget * aParentWindow,
void * menuNode,
void * aWebShell)
{
//g_print("nsMenu::MenuConstruct called \n");
if(menuNode){
SetDOMNode((nsIDOMNode*)menuNode);
}
if(!aWebShell){
aWebShell = mWebShell;
}
// First open the menu.
nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mDOMNode);
if (domElement)
domElement->SetAttribute("open", "true");
/// Now get the kids. Retrieve our menupopup child.
nsCOMPtr<nsIDOMNode> menuPopupNode;
mDOMNode->GetFirstChild(getter_AddRefs(menuPopupNode));
while (menuPopupNode) {
nsCOMPtr<nsIDOMElement> menuPopupElement(do_QueryInterface(menuPopupNode));
if (menuPopupElement) {
nsString menuPopupNodeType;
menuPopupElement->GetNodeName(menuPopupNodeType);
if (menuPopupNodeType.Equals("menupopup"))
break;
}
nsCOMPtr<nsIDOMNode> oldMenuPopupNode(menuPopupNode);
oldMenuPopupNode->GetNextSibling(getter_AddRefs(menuPopupNode));
}
if (!menuPopupNode)
return nsEventStatus_eIgnore;
nsCOMPtr<nsIDOMNode> menuitemNode;
menuPopupNode->GetFirstChild(getter_AddRefs(menuitemNode));
unsigned short menuIndex = 0;
while (menuitemNode) {
nsCOMPtr<nsIDOMElement> menuitemElement(do_QueryInterface(menuitemNode));
if (menuitemElement) {
nsString menuitemNodeType;
nsString menuitemName;
menuitemElement->GetNodeName(menuitemNodeType);
if (menuitemNodeType.Equals("menuitem")) {
// LoadMenuItem
LoadMenuItem(this,
menuitemElement,
menuitemNode,
menuIndex,
(nsIWebShell*)aWebShell);
} else if (menuitemNodeType.Equals("menuseparator")) {
AddSeparator();
} else if (menuitemNodeType.Equals("menu")) {
// Load a submenu
LoadSubMenu(this, menuitemElement, menuitemNode);
}
}
++menuIndex;
nsCOMPtr<nsIDOMNode> oldmenuitemNode(menuitemNode);
oldmenuitemNode->GetNextSibling(getter_AddRefs(menuitemNode));
} // end menu item innner loop
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenu::MenuDestruct(const nsMenuEvent & aMenuEvent)
{
// Close the node.
nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mDOMNode);
if (domElement)
domElement->RemoveAttribute("open");
//g_print("nsMenu::MenuDestruct called \n");
mConstructCalled = PR_FALSE;
RemoveAll();
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
/**
* Set DOMNode
*
*/
NS_METHOD nsMenu::SetDOMNode(nsIDOMNode * aMenuNode)
{
mDOMNode = aMenuNode;
return NS_OK;
}
//-------------------------------------------------------------------------
/**
* Set DOMElement
*
*/
NS_METHOD nsMenu::SetDOMElement(nsIDOMElement * aMenuElement)
{
mDOMElement = aMenuElement;
return NS_OK;
}
//-------------------------------------------------------------------------
/**
* Set WebShell
*
*/
NS_METHOD nsMenu::SetWebShell(nsIWebShell * aWebShell)
{
mWebShell = aWebShell;
return NS_OK;
}
//----------------------------------------
void nsMenu::LoadMenuItem(nsIMenu * pParentMenu,
nsIDOMElement * menuitemElement,
nsIDOMNode * menuitemNode,
unsigned short menuitemIndex,
nsIWebShell * aWebShell)
{
static const char* NS_STRING_TRUE = "true";
nsString disabled;
nsString menuitemName;
nsString menuitemCmd;
menuitemElement->GetAttribute(nsAutoString("disabled"), disabled);
menuitemElement->GetAttribute(nsAutoString("value"), menuitemName);
menuitemElement->GetAttribute(nsAutoString("cmd"), menuitemCmd);
// Create nsMenuItem
nsIMenuItem * pnsMenuItem = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuItemCID,
nsnull,
nsIMenuItem::GetIID(),
(void**)&pnsMenuItem);
if (NS_OK == rv) {
pnsMenuItem->Create(pParentMenu, menuitemName, PR_FALSE);
nsISupports * supports = nsnull;
pnsMenuItem->QueryInterface(kISupportsIID, (void**) &supports);
pParentMenu->AddItem(supports); // Parent should now own menu item
NS_RELEASE(supports);
if(disabled == NS_STRING_TRUE ) {
pnsMenuItem->SetEnabled(PR_FALSE);
}
// Create MenuDelegate - this is the intermediator inbetween
// the DOM node and the nsIMenuItem
// The nsWebShellWindow wacthes for Document changes and then notifies the
// the appropriate nsMenuDelegate object
nsCOMPtr<nsIDOMElement> domElement(do_QueryInterface(menuitemNode));
if (!domElement) {
//return NS_ERROR_FAILURE;
return;
}
nsAutoString cmdAtom("oncommand");
nsString cmdName;
domElement->GetAttribute(cmdAtom, cmdName);
pnsMenuItem->SetCommand(cmdName);
// DO NOT use passed in webshell because of messed up windows dynamic loading
// code.
pnsMenuItem->SetWebShell(mWebShell);
pnsMenuItem->SetDOMElement(domElement);
NS_RELEASE(pnsMenuItem);
}
return;
}
//----------------------------------------
void nsMenu::LoadSubMenu(nsIMenu * pParentMenu,
nsIDOMElement * menuElement,
nsIDOMNode * menuNode)
{
nsString menuName;
menuElement->GetAttribute(nsAutoString("value"), menuName);
//printf("Creating Menu [%s] \n", menuName.ToNewCString()); // this leaks
// Create nsMenu
nsIMenu * pnsMenu = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuCID,
nsnull,
nsIMenu::GetIID(),
(void**)&pnsMenu);
if (NS_OK == rv) {
// Call Create
nsISupports * supports = nsnull;
pParentMenu->QueryInterface(kISupportsIID, (void**) &supports);
pnsMenu->Create(supports, menuName);
NS_RELEASE(supports); // Balance QI
// Set nsMenu Name
pnsMenu->SetLabel(menuName);
supports = nsnull;
pnsMenu->QueryInterface(kISupportsIID, (void**) &supports);
pParentMenu->AddItem(supports); // parent takes ownership
NS_RELEASE(supports);
pnsMenu->SetWebShell(mWebShell);
pnsMenu->SetDOMNode(menuNode);
/*
// Begin menuitem inner loop
unsigned short menuIndex = 0;
nsCOMPtr<nsIDOMNode> menuitemNode;
menuNode->GetFirstChild(getter_AddRefs(menuitemNode));
while (menuitemNode) {
nsCOMPtr<nsIDOMElement> menuitemElement(do_QueryInterface(menuitemNode));
if (menuitemElement) {
nsString menuitemNodeType;
menuitemElement->GetNodeName(menuitemNodeType);
#ifdef DEBUG_saari
printf("Type [%s] %d\n", menuitemNodeType.ToNewCString(), menuitemNodeType.Equals("menuseparator"));
#endif
if (menuitemNodeType.Equals("menuitem")) {
// Load a menuitem
LoadMenuItem(pnsMenu, menuitemElement, menuitemNode, menuIndex, mWebShell);
} else if (menuitemNodeType.Equals("menuseparator")) {
pnsMenu->AddSeparator();
} else if (menuitemNodeType.Equals("menu")) {
// Add a submenu
LoadSubMenu(pnsMenu, menuitemElement, menuitemNode);
}
}
++menuIndex;
nsCOMPtr<nsIDOMNode> oldmenuitemNode(menuitemNode);
oldmenuitemNode->GetNextSibling(getter_AddRefs(menuitemNode));
} // end menu item innner loop
*/
}
}

View File

@@ -1,120 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsMenu_h__
#define nsMenu_h__
#include "nsIMenu.h"
#include "nsIMenuListener.h"
#include "nsVoidArray.h"
class nsIDOMElement;
class nsIDOMNode;
class nsIMenuBar;
class nsIWebShell;
/**
* Native GTK+ Menu wrapper
*/
class nsMenu : public nsIMenu, public nsIMenuListener
{
public:
nsMenu();
virtual ~nsMenu();
NS_DECL_ISUPPORTS
// nsIMenuListener methods
nsEventStatus MenuItemSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuConstruct(
const nsMenuEvent & aMenuEvent,
nsIWidget * aParentWindow,
void * menuNode,
void * aWebShell);
nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent);
NS_IMETHOD Create(nsISupports * aParent, const nsString &aLabel);
// nsIMenu Methods
NS_IMETHOD GetParent(nsISupports *&aParent);
NS_IMETHOD GetLabel(nsString &aText);
NS_IMETHOD SetLabel(const nsString &aText);
NS_IMETHOD GetAccessKey(nsString &aText);
NS_IMETHOD SetAccessKey(const nsString &aText);
NS_IMETHOD AddItem(nsISupports * aItem);
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem);
NS_IMETHOD AddMenu(nsIMenu * aMenu);
NS_IMETHOD AddSeparator();
NS_IMETHOD GetItemCount(PRUint32 &aCount);
NS_IMETHOD GetItemAt(const PRUint32 aPos, nsISupports *& aMenuItem);
NS_IMETHOD InsertItemAt(const PRUint32 aPos, nsISupports * aMenuItem);
NS_IMETHOD RemoveItem(const PRUint32 aPos);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void** aData);
NS_IMETHOD SetNativeData(void* aData);
NS_IMETHOD AddMenuListener(nsIMenuListener * aMenuListener);
NS_IMETHOD RemoveMenuListener(nsIMenuListener * aMenuListener);
NS_IMETHOD SetEnabled(PRBool aIsEnabled);
NS_IMETHOD GetEnabled(PRBool* aIsEnabled);
NS_IMETHOD IsHelpMenu(PRBool* aIsHelp);
NS_IMETHOD SetDOMNode(nsIDOMNode * aMenuNode);
NS_IMETHOD SetDOMElement(nsIDOMElement * aMenuElement);
NS_IMETHOD SetWebShell(nsIWebShell * aWebShell);
protected:
void LoadMenuItem(
nsIMenu * pParentMenu,
nsIDOMElement * menuitemElement,
nsIDOMNode * menuitemNode,
unsigned short menuitemIndex,
nsIWebShell * aWebShell);
void LoadSubMenu(
nsIMenu * pParentMenu,
nsIDOMElement * menuElement,
nsIDOMNode * menuNode);
GtkWidget *GetNativeParent();
nsString mLabel;
nsString mAccessKey;
PRUint32 mNumMenuItems;
GtkWidget *mMenu;
nsVoidArray mMenuItemVoidArray;
nsIMenu *mMenuParent;
nsIMenuBar *mMenuBarParent;
nsIMenuListener * mListener;
PRBool mConstructCalled;
nsIDOMNode * mDOMNode;
nsIWebShell * mWebShell;
nsIDOMElement * mDOMElement;
};
#endif // nsMenu_h__

View File

@@ -1,354 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsMenuBar.h"
#include "nsMenuItem.h"
#include "nsIComponentManager.h"
#include "nsIDOMNode.h"
#include "nsIMenu.h"
#include "nsIWebShell.h"
#include "nsIWidget.h"
#include "nsString.h"
#include "nsGtkEventHandler.h"
#include "nsCOMPtr.h"
#include "nsWidgetsCID.h"
static NS_DEFINE_CID(kMenuBarCID, NS_MENUBAR_CID);
static NS_DEFINE_CID(kMenuCID, NS_MENU_CID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
nsresult nsMenuBar::QueryInterface(REFNSIID aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
*aInstancePtr = NULL;
if (aIID.Equals(nsIMenuBar::GetIID())) {
*aInstancePtr = (void*) ((nsIMenuBar*) this);
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*) ((nsISupports*)(nsIMenuBar*) this);
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(nsIMenuListener::GetIID())) {
*aInstancePtr = (void*) ((nsIMenuListener*)this);
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsMenuBar)
NS_IMPL_RELEASE(nsMenuBar)
//-------------------------------------------------------------------------
//
// nsMenuBar constructor
//
//-------------------------------------------------------------------------
nsMenuBar::nsMenuBar() : nsIMenuBar(), nsIMenuListener()
{
NS_INIT_REFCNT();
mNumMenus = 0;
mMenuBar = nsnull;
mParent = nsnull;
mIsMenuBarAdded = PR_FALSE;
mWebShell = nsnull;
mDOMNode = nsnull;
}
//-------------------------------------------------------------------------
//
// nsMenuBar destructor
//
//-------------------------------------------------------------------------
nsMenuBar::~nsMenuBar()
{
// Release the menus
RemoveAll();
}
//-------------------------------------------------------------------------
//
// Create the proper widget
//
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::Create(nsIWidget *aParent)
{
SetParent(aParent);
mMenuBar = gtk_menu_bar_new();
gtk_widget_show(mMenuBar);
mParent->SetMenuBar(this);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::GetParent(nsIWidget *&aParent)
{
aParent = mParent;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::SetParent(nsIWidget *aParent)
{
mParent = aParent;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::AddMenu(nsIMenu * aMenu)
{
nsString Label;
GtkWidget *widget, *nmenu;
void *voidData;
nsISupports * supports = nsnull;
aMenu->QueryInterface(kISupportsIID, (void**)&supports);
if (supports) {
mMenusVoidArray.AppendElement(aMenu);
mNumMenus++;
}
aMenu->GetLabel(Label);
// get access key
nsString accessKey = " ";
aMenu->GetAccessKey(accessKey);
if(accessKey != " ")
{
// munge acess key into name
PRInt32 offset = Label.Find(accessKey);
if(offset != -1)
Label.Insert("_", offset);
}
char *foo = Label.ToNewCString();
g_print("%s\n", foo);
nsCRT::free(foo);
widget = nsMenuItem::CreateLocalized(Label);
gtk_widget_show(widget);
gtk_menu_bar_append (GTK_MENU_BAR (mMenuBar), widget);
aMenu->GetNativeData(&voidData);
nmenu = GTK_WIDGET(voidData);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), nmenu);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::GetMenuCount(PRUint32 &aCount)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::GetMenuAt(const PRUint32 aCount, nsIMenu *& aMenu)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::InsertMenuAt(const PRUint32 aCount, nsIMenu *& aMenu)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::RemoveMenu(const PRUint32 aCount)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::RemoveAll()
{
for (int i = mMenusVoidArray.Count(); i > 0; i--) {
if(nsnull != mMenusVoidArray[i-1]) {
nsIMenu * menu = nsnull;
((nsISupports*)mMenusVoidArray[i-1])->QueryInterface(nsIMenu::GetIID(), (void**)&menu);
if(menu) {
//void * gtkmenu= nsnull;
//menu->GetNativeData(&gtkmenu);
//if(gtkmenu){
// gtk_container_remove (GTK_CONTAINER (mMenuBar), GTK_WIDGET(gtkmenu) );
//}
NS_RELEASE(menu);
g_print("menu release \n");
int num =((nsISupports*)mMenusVoidArray[i-1])->Release();
while(num) {
g_print("menu release again!\n");
num = ((nsISupports*)mMenusVoidArray[i-1])->Release();
}
}
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::GetNativeData(void *& aData)
{
aData = (void *)mMenuBar;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::SetNativeData(void * aData)
{
// Temporary hack for MacOS. Will go away when nsMenuBar handles it's own
// construction
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::Paint()
{
return NS_OK;
}
//-------------------------------------------------------------------------
//
// nsMenuListener interface
//
//-------------------------------------------------------------------------
nsEventStatus nsMenuBar::MenuItemSelected(const nsMenuEvent & aMenuEvent)
{
return nsEventStatus_eIgnore;
}
nsEventStatus nsMenuBar::MenuSelected(const nsMenuEvent & aMenuEvent)
{
return nsEventStatus_eIgnore;
}
nsEventStatus nsMenuBar::MenuDeselected(const nsMenuEvent & aMenuEvent)
{
return nsEventStatus_eIgnore;
}
nsEventStatus nsMenuBar::MenuConstruct(
const nsMenuEvent & aMenuEvent,
nsIWidget * aParentWindow,
void * menubarNode,
void * aWebShell)
{
mWebShell = (nsIWebShell*) aWebShell;
mDOMNode = (nsIDOMNode*)menubarNode;
nsIMenuBar * pnsMenuBar = nsnull;
nsresult rv = nsComponentManager::CreateInstance(kMenuBarCID,
nsnull,
nsIMenuBar::GetIID(),
(void**)&pnsMenuBar);
if (NS_OK == rv) {
if (nsnull != pnsMenuBar) {
pnsMenuBar->Create(aParentWindow);
// set pnsMenuBar as a nsMenuListener on aParentWindow
nsCOMPtr<nsIMenuListener> menuListener;
pnsMenuBar->QueryInterface(nsIMenuListener::GetIID(), getter_AddRefs(menuListener));
aParentWindow->AddMenuListener(menuListener);
nsCOMPtr<nsIDOMNode> menuNode;
((nsIDOMNode*)menubarNode)->GetFirstChild(getter_AddRefs(menuNode));
while (menuNode) {
nsCOMPtr<nsIDOMElement> menuElement(do_QueryInterface(menuNode));
if (menuElement) {
nsString menuNodeType;
nsString menuName;
nsString menuAccessKey = " ";
menuElement->GetNodeName(menuNodeType);
if (menuNodeType.Equals("menu")) {
menuElement->GetAttribute(nsAutoString("value"), menuName);
menuElement->GetAttribute(nsAutoString("accesskey"), menuAccessKey);
// Don't create the menu yet, just add in the top level names
// Create nsMenu
nsIMenu * pnsMenu = nsnull;
rv = nsComponentManager::CreateInstance(kMenuCID, nsnull, nsIMenu::GetIID(), (void**)&pnsMenu);
if (NS_OK == rv) {
// Call Create
nsISupports * supports = nsnull;
pnsMenuBar->QueryInterface(kISupportsIID, (void**) &supports);
pnsMenu->Create(supports, menuName);
NS_RELEASE(supports);
pnsMenu->SetLabel(menuName);
pnsMenu->SetAccessKey(menuAccessKey);
pnsMenu->SetDOMNode(menuNode);
pnsMenu->SetDOMElement(menuElement);
pnsMenu->SetWebShell(mWebShell);
// Make nsMenu a child of nsMenuBar
// nsMenuBar takes ownership of the nsMenu
pnsMenuBar->AddMenu(pnsMenu);
// Release the menu now that the menubar owns it
NS_RELEASE(pnsMenu);
}
}
}
nsCOMPtr<nsIDOMNode> oldmenuNode(menuNode);
oldmenuNode->GetNextSibling(getter_AddRefs(menuNode));
} // end while (nsnull != menuNode)
// Give the aParentWindow this nsMenuBar to hold onto.
// The parent window should take ownership at this point
aParentWindow->SetMenuBar(pnsMenuBar);
// HACK: force a paint for now
pnsMenuBar->Paint();
NS_RELEASE(pnsMenuBar);
} // end if ( nsnull != pnsMenuBar )
}
return nsEventStatus_eIgnore;
return nsEventStatus_eIgnore;
}
nsEventStatus nsMenuBar::MenuDestruct(const nsMenuEvent & aMenuEvent)
{
return nsEventStatus_eIgnore;
}

View File

@@ -1,85 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsMenuBar_h__
#define nsMenuBar_h__
#include "nsIMenuBar.h"
#include "nsIMenuListener.h"
#include "nsVoidArray.h"
class nsIDOMNode;
class nsIWebShell;
class nsIWidget;
/**
* Native GTK+ MenuBar wrapper
*/
class nsMenuBar : public nsIMenuBar, public nsIMenuListener
{
public:
nsMenuBar();
virtual ~nsMenuBar();
// nsIMenuListener interface
nsEventStatus MenuItemSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuConstruct(
const nsMenuEvent & aMenuEvent,
nsIWidget * aParentWindow,
void * menuNode,
void * aWebShell);
nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent);
NS_DECL_ISUPPORTS
NS_IMETHOD Create(nsIWidget * aParent);
// nsIMenuBar Methods
NS_IMETHOD GetParent(nsIWidget *&aParent);
NS_IMETHOD SetParent(nsIWidget * aParent);
NS_IMETHOD AddMenu(nsIMenu * aMenu);
NS_IMETHOD GetMenuCount(PRUint32 &aCount);
NS_IMETHOD GetMenuAt(const PRUint32 aCount, nsIMenu *& aMenu);
NS_IMETHOD InsertMenuAt(const PRUint32 aCount, nsIMenu *& aMenu);
NS_IMETHOD RemoveMenu(const PRUint32 aCount);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD Paint();
NS_IMETHOD SetNativeData(void* aData);
protected:
GtkWidget * mMenuBar;
nsIWidget * mParent;
PRBool mIsMenuBarAdded;
nsIWebShell * mWebShell;
nsIDOMNode * mDOMNode;
nsVoidArray mMenusVoidArray;
PRUint32 mNumMenus;
};
#endif // nsMenuBar_h__

View File

@@ -1,539 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsMenuItem.h"
#include "nsIMenu.h"
#include "nsIMenuBar.h"
#include "nsIWidget.h"
#include "nsGtkEventHandler.h"
#include "nsIPopUpMenu.h"
#include "nsCOMPtr.h"
#include "nsIContent.h"
#include "nsIContentViewer.h"
#include "nsIDOMElement.h"
#include "nsIDocumentViewer.h"
#include "nsIPresContext.h"
#include "nsIWebShell.h"
#include "nsICharsetConverterManager.h"
#include "nsIPlatformCharset.h"
#include "nsIServiceManager.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
nsresult nsMenuItem::QueryInterface(REFNSIID aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
*aInstancePtr = NULL;
if (aIID.Equals(nsIMenuItem::GetIID())) {
*aInstancePtr = (void*)(nsIMenuItem*)this;
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*)(nsISupports*)(nsIMenuItem*)this;
NS_ADDREF_THIS();
return NS_OK;
}
if (aIID.Equals(nsIMenuListener::GetIID())) {
*aInstancePtr = (void*)(nsIMenuListener*)this;
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsMenuItem)
NS_IMPL_RELEASE(nsMenuItem)
//-------------------------------------------------------------------------
//
// nsMenuItem constructor
//
//-------------------------------------------------------------------------
nsMenuItem::nsMenuItem() : nsIMenuItem()
{
NS_INIT_REFCNT();
mMenuItem = nsnull;
mMenuParent = nsnull;
mPopUpParent = nsnull;
mTarget = nsnull;
mXULCommandListener = nsnull;
mIsSeparator = PR_FALSE;
mWebShell = nsnull;
mDOMElement = nsnull;
mIsSubMenu = PR_FALSE;
}
//-------------------------------------------------------------------------
//
// nsMenuItem destructor
//
//-------------------------------------------------------------------------
nsMenuItem::~nsMenuItem()
{
//g_print("nsMenuItem::~nsMenuItem called\n");
//NS_IF_RELEASE(mTarget);
gtk_widget_destroy(mMenuItem);
mMenuItem = nsnull;
//g_print("end nsMenuItem::~nsMenuItem\n");
}
//-------------------------------------------------------------------------
GtkWidget *nsMenuItem::GetNativeParent()
{
void * voidData;
if (nsnull != mMenuParent) {
mMenuParent->GetNativeData(&voidData);
} else if (nsnull != mPopUpParent) {
mPopUpParent->GetNativeData(voidData);
} else {
return nsnull;
}
return GTK_WIDGET(voidData);
}
//-------------------------------------------------------------------------
nsIWidget * nsMenuItem::GetMenuBarParent(nsISupports * aParent)
{
nsIWidget * widget = nsnull; // MenuBar's Parent
nsIMenu * menu = nsnull;
nsIMenuBar * menuBar = nsnull;
nsIPopUpMenu * popup = nsnull;
nsISupports * parent = aParent;
while(1) {
if (NS_OK == parent->QueryInterface(nsIMenu::GetIID(),(void**)&menu)) {
NS_RELEASE(parent);
if (NS_OK != menu->GetParent(parent)) {
NS_RELEASE(menu);
return nsnull;
}
NS_RELEASE(menu);
} else if (NS_OK == parent->QueryInterface(nsIPopUpMenu::GetIID(),(void**)&popup)) {
if (NS_OK != popup->GetParent(widget)) {
widget = nsnull;
}
NS_RELEASE(popup);
NS_RELEASE(parent);
return widget;
} else if (NS_OK == parent->QueryInterface(nsIMenuBar::GetIID(),(void**)&menuBar)) {
if (NS_OK != menuBar->GetParent(widget)) {
widget = nsnull;
}
NS_RELEASE(menuBar);
NS_RELEASE(parent);
return widget;
} else {
NS_RELEASE(parent);
return nsnull;
}
}
return nsnull;
}
GtkWidget*
nsMenuItem::CreateLocalized(const nsString& aLabel)
{
nsresult result;
static nsIUnicodeEncoder* converter = nsnull;
static int isLatin1 = 0;
static int initialized = 0;
if (!initialized) {
initialized = 1;
result = NS_ERROR_FAILURE;
NS_WITH_SERVICE(nsIPlatformCharset, platform, NS_PLATFORMCHARSET_PROGID,
&result);
if (platform && NS_SUCCEEDED(result)) {
nsAutoString charset("");
result = platform->GetCharset(kPlatformCharsetSel_Menu, charset);
if (NS_SUCCEEDED(result) && (charset.Length() > 0)) {
if (!charset.Compare("iso-8859-1", PR_TRUE)) {
isLatin1 = 1;
}
NS_WITH_SERVICE(nsICharsetConverterManager, manager,
NS_CHARSETCONVERTERMANAGER_PROGID, &result);
if (manager && NS_SUCCEEDED(result)) {
result = manager->GetUnicodeEncoder(&charset, &converter);
if (NS_FAILED(result) && converter) {
NS_RELEASE(converter);
converter = nsnull;
}
else if (converter) {
result = converter->SetOutputErrorBehavior(
nsIUnicodeEncoder::kOnError_Replace, nsnull, '?');
}
}
}
}
}
GtkWidget* menuItem = nsnull;
if (converter) {
char labelStr[128];
labelStr[0] = 0;
PRInt32 srcLen = aLabel.Length() + 1;
PRInt32 destLen = sizeof(labelStr);
result = converter->Convert(aLabel.GetUnicode(), &srcLen, labelStr,
&destLen);
if (labelStr[0] && NS_SUCCEEDED(result)) {
menuItem = gtk_menu_item_new_with_label(labelStr);
if (menuItem && (!isLatin1)) {
GtkWidget* label = GTK_BIN(menuItem)->child;
gtk_widget_ensure_style(label);
GtkStyle* style = gtk_style_copy(label->style);
gdk_font_unref(style->font);
style->font = gdk_fontset_load("*");
gtk_widget_set_style(label, style);
gtk_style_unref(style);
}
}
}
else {
char labelStr[128];
aLabel.ToCString(labelStr, sizeof(labelStr));
menuItem = gtk_menu_item_new_with_label(labelStr);
}
return menuItem;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::Create(nsISupports *aParent,
const nsString &aLabel,
PRBool aIsSeparator)
{
if (nsnull == aParent) {
return NS_ERROR_FAILURE;
}
if(aParent) {
nsIMenu * menu;
aParent->QueryInterface(nsIMenu::GetIID(), (void**) &menu);
mMenuParent = menu;
NS_RELEASE(menu);
}
nsIWidget *widget = nsnull; // MenuBar's Parent
nsISupports *sups;
if (NS_OK == aParent->QueryInterface(kISupportsIID,(void**)&sups)) {
widget = GetMenuBarParent(sups);
// GetMenuBarParent will call release for us
// NS_RELEASE(sups);
mTarget = widget;
}
mIsSeparator = aIsSeparator;
mLabel = aLabel;
// create the native menu item
if(mIsSeparator) {
mMenuItem = gtk_menu_item_new();
} else {
mMenuItem = CreateLocalized(aLabel);
}
gtk_widget_show(mMenuItem);
gtk_signal_connect(GTK_OBJECT(mMenuItem), "activate",
GTK_SIGNAL_FUNC(menu_item_activate_handler),
this);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetLabel(nsString &aText)
{
aText = mLabel;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetLabel(nsString &aText)
{
mLabel = aText;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetEnabled(PRBool aIsEnabled)
{
gtk_widget_set_sensitive(GTK_WIDGET(mMenuItem), aIsEnabled);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetEnabled(PRBool *aIsEnabled)
{
*aIsEnabled = GTK_WIDGET_IS_SENSITIVE(mMenuItem);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetChecked(PRBool aIsEnabled)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetChecked(PRBool *aIsEnabled)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetCheckboxType(PRBool aIsCheckbox)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetCheckboxType(PRBool *aIsCheckbox)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetCommand(PRUint32 & aCommand)
{
aCommand = mCommand;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetTarget(nsIWidget *& aTarget)
{
aTarget = mTarget;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetNativeData(void *& aData)
{
aData = (void *)mMenuItem;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::AddMenuListener(nsIMenuListener * aMenuListener)
{
NS_IF_RELEASE(mXULCommandListener);
NS_IF_ADDREF(aMenuListener);
mXULCommandListener = aMenuListener;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::RemoveMenuListener(nsIMenuListener * aMenuListener)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::IsSeparator(PRBool & aIsSep)
{
aIsSep = mIsSeparator;
return NS_OK;
}
//-------------------------------------------------------------------------
// nsIMenuListener interface
//-------------------------------------------------------------------------
nsEventStatus nsMenuItem::MenuItemSelected(const nsMenuEvent & aMenuEvent)
{
if(!mIsSeparator) {
//g_print("nsMenuItem::MenuItemSelected\n");
DoCommand();
}else{
//g_print("nsMenuItem::MenuItemSelected is separator\n");
}
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenuItem::MenuSelected(const nsMenuEvent & aMenuEvent)
{
if(mXULCommandListener)
return mXULCommandListener->MenuSelected(aMenuEvent);
//g_print("nsMenuItem::MenuSelected\n");
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenuItem::MenuDeselected(const nsMenuEvent &aMenuEvent)
{
//g_print("nsMenuItem::MenuDeselected\n");
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenuItem::MenuConstruct(const nsMenuEvent &aMenuEvent,
nsIWidget *aParentWindow,
void *menuNode,
void *aWebShell)
{
//g_print("nsMenuItem::MenuConstruct\n");
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
nsEventStatus nsMenuItem::MenuDestruct(const nsMenuEvent &aMenuEvent)
{
//g_print("nsMenuItem::MenuDestruct\n");
return nsEventStatus_eIgnore;
}
//-------------------------------------------------------------------------
/**
* Sets the JavaScript Command to be invoked when a "gui" event
* occurs on a source widget
* @param aStrCmd the JS command to be cached for later execution
* @return NS_OK
*/
NS_METHOD nsMenuItem::SetCommand(const nsString &aStrCmd)
{
return NS_OK;
}
//-------------------------------------------------------------------------
/**
* Executes the "cached" JavaScript Command
* @return NS_OK if the command was executed properly, otherwise an error code
*/
NS_METHOD nsMenuItem::DoCommand()
{
nsresult rv = NS_ERROR_FAILURE;
if(!mWebShell || !mDOMElement)
return rv;
nsCOMPtr<nsIContentViewer> contentViewer;
NS_ENSURE_SUCCESS(mWebShell->GetContentViewer(getter_AddRefs(contentViewer)),
NS_ERROR_FAILURE);
nsCOMPtr<nsIDocumentViewer> docViewer;
docViewer = do_QueryInterface(contentViewer);
if (!docViewer) {
NS_ERROR("Document viewer interface not supported by the content viewer.");
//g_print("Document viewer interface not supported by the content viewer.");
return rv;
}
nsCOMPtr<nsIPresContext> presContext;
if (NS_FAILED(rv = docViewer->GetPresContext(*getter_AddRefs(presContext)))) {
NS_ERROR("Unable to retrieve the doc viewer's presentation context.");
//g_print("Unable to retrieve the doc viewer's presentation context.");
return rv;
}
nsEventStatus status = nsEventStatus_eIgnore;
nsMouseEvent event;
event.eventStructType = NS_MOUSE_EVENT;
event.message = NS_MENU_ACTION;
nsCOMPtr<nsIContent> contentNode;
contentNode = do_QueryInterface(mDOMElement);
if (!contentNode) {
NS_ERROR("DOM Node doesn't support the nsIContent interface required to handle DOM events.");
//g_print("DOM Node doesn't support the nsIContent interface required to handle DOM events.");
return rv;
}
rv = contentNode->HandleDOMEvent(*presContext, &event, nsnull, NS_EVENT_FLAG_INIT, status);
//g_print("HandleDOMEvent called");
return rv;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetDOMNode(nsIDOMNode * aDOMNode)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetDOMNode(nsIDOMNode ** aDOMNode)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetDOMElement(nsIDOMElement * aDOMElement)
{
mDOMElement = aDOMElement;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::GetDOMElement(nsIDOMElement ** aDOMElement)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuItem::SetWebShell(nsIWebShell * aWebShell)
{
mWebShell = aWebShell;
return NS_OK;
}
//----------------------------------------------------------------------
NS_IMETHODIMP nsMenuItem::SetShortcutChar(const nsString &aText)
{
mKeyEquivalent = aText;
return NS_OK;
}
//----------------------------------------------------------------------
NS_IMETHODIMP nsMenuItem::GetShortcutChar(nsString &aText)
{
aText = mKeyEquivalent;
return NS_OK;
}
//----------------------------------------------------------------------
NS_IMETHODIMP nsMenuItem::SetModifiers(PRUint8 aModifiers)
{
mModifiers = aModifiers;
return NS_OK;
}
//----------------------------------------------------------------------
NS_IMETHODIMP nsMenuItem::GetModifiers(PRUint8 * aModifiers)
{
*aModifiers = mModifiers;
return NS_OK;
}

View File

@@ -1,116 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsMenuItem_h__
#define nsMenuItem_h__
#include "nsIMenuItem.h"
#include "nsString.h"
#include "nsIMenuListener.h"
class nsIDOMNode;
class nsIDOMElement;
class nsIMenu;
class nsIPopUpMenu;
class nsIWebShell;
class nsIWidget;
/**
* Native GTK+ MenuItem wrapper
*/
class nsMenuItem : public nsIMenuItem, public nsIMenuListener
{
public:
nsMenuItem();
virtual ~nsMenuItem();
// nsISupports
NS_DECL_ISUPPORTS
// nsIMenuItem Methods
NS_IMETHOD Create(nsISupports *aParent,
const nsString &aLabel,
PRBool aIsSeparator);
NS_IMETHOD GetLabel(nsString &aText);
NS_IMETHOD SetLabel(nsString &aText);
NS_IMETHOD SetEnabled(PRBool aIsEnabled);
NS_IMETHOD GetEnabled(PRBool *aIsEnabled);
NS_IMETHOD SetChecked(PRBool aIsEnabled);
NS_IMETHOD GetChecked(PRBool *aIsEnabled);
NS_IMETHOD SetCheckboxType(PRBool aIsCheckbox);
NS_IMETHOD GetCheckboxType(PRBool *aIsCheckbox);
NS_IMETHOD GetCommand(PRUint32 & aCommand);
NS_IMETHOD GetTarget(nsIWidget *& aTarget);
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD AddMenuListener(nsIMenuListener * aMenuListener);
NS_IMETHOD RemoveMenuListener(nsIMenuListener * aMenuListener);
NS_IMETHOD IsSeparator(PRBool & aIsSep);
NS_IMETHOD SetCommand(const nsString & aStrCmd);
NS_IMETHOD DoCommand();
NS_IMETHOD SetDOMNode(nsIDOMNode * aDOMNode);
NS_IMETHOD GetDOMNode(nsIDOMNode ** aDOMNode);
NS_IMETHOD SetDOMElement(nsIDOMElement * aDOMElement);
NS_IMETHOD GetDOMElement(nsIDOMElement ** aDOMElement);
NS_IMETHOD SetWebShell(nsIWebShell * aWebShell);
NS_IMETHOD SetShortcutChar(const nsString &aText);
NS_IMETHOD GetShortcutChar(nsString &aText);
NS_IMETHOD SetModifiers(PRUint8 aModifiers);
NS_IMETHOD GetModifiers(PRUint8 * aModifiers);
// nsIMenuListener interface
nsEventStatus MenuItemSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent);
nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent,
nsIWidget * aParentWindow,
void * menuNode,
void * aWebShell);
nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent);
static GtkWidget* CreateLocalized(const nsString& aLabel);
protected:
nsIWidget *GetMenuBarParent(nsISupports * aParentSupports);
GtkWidget *GetNativeParent();
nsIMenuListener *mXULCommandListener;
nsString mLabel;
nsString mKeyEquivalent;
PRUint8 mModifiers;
PRUint32 mCommand;
nsIMenu *mMenuParent;
nsIPopUpMenu *mPopUpParent;
nsIWidget *mTarget;
GtkWidget *mMenuItem; // native cascade widget
PRBool mIsSeparator;
PRBool mIsSubMenu;
nsIWebShell * mWebShell;
nsIDOMElement * mDOMElement;
};
#endif // nsMenuItem_h__

View File

@@ -1,214 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nsPopUpMenu.h"
#include "nsIMenu.h"
#include "nsIWidget.h"
#include "nsString.h"
#include "nsFileSpec.h" // XXX: For nsAutoCString
NS_IMPL_ISUPPORTS(nsPopUpMenu, nsIPopUpMenu::GetIID())
//-------------------------------------------------------------------------
//
// nsPopUpMenu constructor
//
//-------------------------------------------------------------------------
nsPopUpMenu::nsPopUpMenu() : nsIPopUpMenu()
{
NS_INIT_REFCNT();
mNumMenuItems = 0;
mParent = nsnull;
mMenu = nsnull;
}
//-------------------------------------------------------------------------
//
// nsPopUpMenu destructor
//
//-------------------------------------------------------------------------
nsPopUpMenu::~nsPopUpMenu()
{
NS_IF_RELEASE(mParent);
}
//-------------------------------------------------------------------------
//
// Create the proper widget
//
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::Create(nsIWidget *aParent)
{
mParent = aParent;
NS_ADDREF(mParent);
mMenu = gtk_menu_new();
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::AddItem(const nsString &aText)
{
GtkWidget *widget;
widget = gtk_menu_item_new_with_label ((const char*)nsAutoCString(mLabel));
gtk_widget_show(widget);
gtk_menu_shell_append (GTK_MENU_SHELL (mMenu), widget);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::AddItem(nsIMenuItem * aMenuItem)
{
GtkWidget *widget;
void *voidData;
aMenuItem->GetNativeData(voidData);
widget = GTK_WIDGET(voidData);
gtk_menu_shell_append (GTK_MENU_SHELL (mMenu), widget);
// XXX add aMenuItem to internal data structor list
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::AddMenu(nsIMenu * aMenu)
{
nsString Label;
GtkWidget *item=NULL, *parentmenu=NULL, *newmenu=NULL;
void *voidData=NULL;
aMenu->GetLabel(Label);
GetNativeData(voidData);
parentmenu = GTK_WIDGET(voidData);
item = gtk_menu_item_new_with_label ((const char*)nsAutoCString(Label));
gtk_widget_show(item);
gtk_menu_shell_append (GTK_MENU_SHELL (parentmenu), item);
voidData = NULL;
aMenu->GetNativeData(&voidData);
newmenu = GTK_WIDGET(voidData);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), newmenu);
// XXX add aMenu to internal data structor list
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::AddSeparator()
{
GtkWidget *widget;
widget = gtk_menu_item_new ();
gtk_widget_show(widget);
gtk_menu_shell_append (GTK_MENU_SHELL (mMenu), widget);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::GetItemCount(PRUint32 &aCount)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::GetItemAt(const PRUint32 aCount, nsIMenuItem *& aMenuItem)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::InsertItemAt(const PRUint32 aCount, nsIMenuItem *& aMenuItem)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::InsertItemAt(const PRUint32 aCount, const nsString & aMenuItemName)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::InsertSeparator(const PRUint32 aCount)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::RemoveItem(const PRUint32 aCount)
{
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::RemoveAll()
{
return NS_OK;
}
//-------------------------------------------------------------------------
void nsPopUpMenu::GetXY(GtkMenu *menu, gint *x, gint *y, gpointer user_data)
{
*x = ((nsPopUpMenu *)(user_data))->mX;
*y = ((nsPopUpMenu *)(user_data))->mY;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::ShowMenu(PRInt32 aX, PRInt32 aY)
{
mX = aX;
mY = aY;
gtk_menu_popup (GTK_MENU(mMenu),
NULL,
NULL,
GetXY,
this,
0,
GDK_CURRENT_TIME);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::GetNativeData(void *& aData)
{
aData = (void *)mMenu;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsPopUpMenu::GetParent(nsIWidget *& aParent)
{
aParent = mParent;
return NS_OK;
}

View File

@@ -1,77 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsPopUpMenu_h__
#define nsPopUpMenu_h__
#include "nsIPopUpMenu.h"
#include <gtk/gtk.h>
class nsIWidget;
/**
* Native GTK+ PopUp wrapper
*/
class nsPopUpMenu : public nsIPopUpMenu
{
public:
nsPopUpMenu();
virtual ~nsPopUpMenu();
NS_DECL_ISUPPORTS
NS_IMETHOD Create(nsIWidget * aParent);
// nsIPopUpMenu Methods
NS_IMETHOD AddItem(const nsString &aText);
NS_IMETHOD AddItem(nsIMenuItem * aMenuItem);
NS_IMETHOD AddMenu(nsIMenu * aMenu);
NS_IMETHOD AddSeparator();
NS_IMETHOD GetItemCount(PRUint32 &aCount);
NS_IMETHOD GetItemAt(const PRUint32 aCount, nsIMenuItem *& aMenuItem);
NS_IMETHOD InsertItemAt(const PRUint32 aCount, nsIMenuItem *& aMenuItem);
NS_IMETHOD InsertItemAt(const PRUint32 aCount, const nsString & aMenuItemName);
NS_IMETHOD InsertSeparator(const PRUint32 aCount);
NS_IMETHOD RemoveItem(const PRUint32 aCount);
NS_IMETHOD RemoveAll();
static void GetXY(GtkMenu *menu, gint *x, gint *y, gpointer user_data);
NS_IMETHOD ShowMenu(PRInt32 aX, PRInt32 aY);
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD GetParent(nsIWidget*& aParent);
protected:
nsString mLabel;
PRUint32 mNumMenuItems;
nsIWidget *mParent;
GtkWidget *mMenu;
gint mX;
gint mY;
};
#endif // nsPopUpMenu_h__

View File

@@ -1,240 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsRadioButton.h"
#include "nsString.h"
#include "nsGtkEventHandler.h"
NS_IMPL_ADDREF_INHERITED(nsRadioButton, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsRadioButton, nsWidget)
//-------------------------------------------------------------------------
//
// nsRadioButton constructor
//
//-------------------------------------------------------------------------
nsRadioButton::nsRadioButton() : nsWidget(), nsIRadioButton()
{
NS_INIT_REFCNT();
mLabel = nsnull;
mRadioButton = nsnull;
}
//-------------------------------------------------------------------------
//
// nsRadioButton destructor
//
//-------------------------------------------------------------------------
nsRadioButton::~nsRadioButton()
{
#if 0
if (mLabel)
gtk_widget_destroy(mLabel);
#endif
}
//-------------------------------------------------------------------------
//
// Query interface implementation
//
//-------------------------------------------------------------------------
nsresult nsRadioButton::QueryInterface(const nsIID& aIID, void** aInstancePtr)
{
nsresult result = nsWidget::QueryInterface(aIID, aInstancePtr);
if (result == NS_NOINTERFACE && aIID.Equals(nsIRadioButton::GetIID())) {
*aInstancePtr = (void*) ((nsIRadioButton*)this);
AddRef();
result = NS_OK;
}
return result;
}
//-------------------------------------------------------------------------
//
// Create the native RadioButton widget
//
//-------------------------------------------------------------------------
NS_METHOD nsRadioButton::CreateNative(GtkObject *parentWindow)
{
mWidget = gtk_event_box_new();
mRadioButton = gtk_radio_button_new(nsnull);
gtk_container_add(GTK_CONTAINER(mWidget), mRadioButton);
gtk_widget_show(mRadioButton);
gtk_widget_set_name(mWidget, "nsRadioButton");
gtk_radio_button_set_group(GTK_RADIO_BUTTON(mRadioButton), nsnull);
gtk_signal_connect(GTK_OBJECT(mRadioButton),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
return NS_OK;
}
void
nsRadioButton::OnDestroySignal(GtkWidget* aGtkWidget)
{
if (aGtkWidget == mLabel) {
mLabel = nsnull;
}
else if (aGtkWidget == mRadioButton) {
mRadioButton = nsnull;
}
else {
nsWidget::OnDestroySignal(aGtkWidget);
}
}
void nsRadioButton::InitCallbacks(char * aName)
{
InstallButtonPressSignal(mRadioButton);
InstallButtonReleaseSignal(mRadioButton);
InstallEnterNotifySignal(mWidget);
InstallLeaveNotifySignal(mWidget);
// These are needed so that the events will go to us and not our parent.
AddToEventMask(mWidget,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK |
GDK_EXPOSURE_MASK |
GDK_FOCUS_CHANGE_MASK |
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
}
//-------------------------------------------------------------------------
//
// Set this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsRadioButton::SetState(const PRBool aState)
{
if (mWidget) {
GtkToggleButton * item = GTK_TOGGLE_BUTTON(mRadioButton);
item->active = (gboolean) aState;
gtk_widget_queue_draw(GTK_WIDGET(item));
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set this button state
//-------------------------------------------------------------------------
NS_METHOD nsRadioButton::GetState(PRBool& aState)
{
if (mWidget) {
aState = (PRBool) GTK_TOGGLE_BUTTON(mRadioButton)->active;
}
else {
aState = PR_TRUE;
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsRadioButton::SetLabel(const nsString& aText)
{
if (mWidget) {
NS_ALLOC_STR_BUF(label, aText, 256);
g_print("nsRadioButton::SetLabel(%s)\n",label);
if (mLabel) {
gtk_label_set(GTK_LABEL(mLabel), label);
} else {
mLabel = gtk_label_new(label);
gtk_misc_set_alignment (GTK_MISC (mLabel), 0.0, 0.5);
gtk_container_add(GTK_CONTAINER(mRadioButton), mLabel);
gtk_widget_show(mLabel); /* XXX */
gtk_signal_connect(GTK_OBJECT(mLabel),
"destroy",
GTK_SIGNAL_FUNC(DestroySignal),
this);
}
NS_FREE_STR_BUF(label);
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get this button label
//
//-------------------------------------------------------------------------
NS_METHOD nsRadioButton::GetLabel(nsString& aBuffer)
{
aBuffer.Truncate();
if (mWidget) {
if (mLabel) {
char* text;
gtk_label_get(GTK_LABEL(mLabel), &text);
aBuffer.Append(text);
}
}
return NS_OK;
}
//////////////////////////////////////////////////////////////////////
// SetBackgroundColor for RadioButton
/*virtual*/
void nsRadioButton::SetBackgroundColorNative(GdkColor *aColorNor,
GdkColor *aColorBri,
GdkColor *aColorDark)
{
// use same style copy as SetFont
GtkStyle *style = gtk_style_copy(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0))->style);
style->bg[GTK_STATE_NORMAL]=*aColorNor;
// Mouse over button
style->bg[GTK_STATE_PRELIGHT]=*aColorBri;
// Button is down
style->bg[GTK_STATE_ACTIVE]=*aColorDark;
// other states too? (GTK_STATE_ACTIVE, GTK_STATE_PRELIGHT,
// GTK_STATE_SELECTED, GTK_STATE_INSENSITIVE)
gtk_widget_set_style(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0)), style);
// set style for eventbox too
gtk_widget_set_style(mWidget, style);
gtk_style_unref(style);
}

View File

@@ -1,75 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsRadioButton_h__
#define nsRadioButton_h__
#include "nsWidget.h"
#include "nsIRadioButton.h"
/**
* Native GTK+ Radiobutton wrapper
*/
class nsRadioButton : public nsWidget,
public nsIRadioButton
{
public:
nsRadioButton();
virtual ~nsRadioButton();
// nsISupports
NS_IMETHOD_(nsrefcnt) AddRef();
NS_IMETHOD_(nsrefcnt) Release();
NS_IMETHOD QueryInterface(const nsIID& aIID, void** aInstancePtr);
// nsIRadioButton part
NS_IMETHOD SetLabel(const nsString& aText);
NS_IMETHOD GetLabel(nsString& aBuffer);
NS_IMETHOD SetState(const PRBool aState);
NS_IMETHOD GetState(PRBool& aState);
virtual PRBool OnMove(PRInt32 aX, PRInt32 aY) { return PR_FALSE; }
virtual PRBool OnPaint(nsPaintEvent & aEvent) { return PR_FALSE; }
virtual PRBool OnResize(nsRect &aRect) { return PR_FALSE; }
// These are needed to Override the auto check behavior
void Armed();
void DisArmed();
protected:
NS_IMETHOD CreateNative(GtkObject *parentWindow);
virtual void InitCallbacks(char * aName = nsnull);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
// Sets background for checkbutton
virtual void SetBackgroundColorNative(GdkColor *aColorNor,
GdkColor *aColorBri,
GdkColor *aColorDark);
GtkWidget *mLabel;
GtkWidget *mRadioButton;
};
#endif // nsRadioButton_h__

View File

@@ -1,455 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsScrollbar.h"
#include "nsGUIEvent.h"
#include "nsGtkEventHandler.h"
NS_IMPL_ADDREF_INHERITED(nsScrollbar, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsScrollbar, nsWidget)
NS_IMPL_QUERY_INTERFACE2(nsScrollbar, nsIScrollbar, nsIWidget)
//-------------------------------------------------------------------------
//
// nsScrollbar constructor
//
//-------------------------------------------------------------------------
nsScrollbar::nsScrollbar (PRBool aIsVertical):nsWidget (), nsIScrollbar ()
{
NS_INIT_REFCNT ();
mOrientation = (aIsVertical) ?
GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL;
}
//-------------------------------------------------------------------------
//
// nsScrollbar destructor
//
//-------------------------------------------------------------------------
nsScrollbar::~nsScrollbar ()
{
}
//-------------------------------------------------------------------------
//
// Create the native scrollbar widget
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::CreateNative (GtkObject * parentWindow)
{
// Create scrollbar, random default values
mAdjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 25, 25));
#ifdef USE_SUPERWIN
if (!GDK_IS_SUPERWIN(parentWindow)) {
g_print("Damn, brother. That's not a superwin.\n");
return NS_ERROR_FAILURE;
}
GdkSuperWin *superwin = GDK_SUPERWIN(parentWindow);
mMozBox = gtk_mozbox_new(superwin->bin_window);
#endif /* USE_SUPERWIN */
switch (mOrientation)
{
case GTK_ORIENTATION_HORIZONTAL:
mWidget = gtk_hscrollbar_new (mAdjustment);
break;
case GTK_ORIENTATION_VERTICAL:
mWidget = gtk_vscrollbar_new (mAdjustment);
break;
}
#ifdef USE_SUPERWIN
// make sure that we put the scrollbar into the mozbox
gtk_container_add(GTK_CONTAINER(mMozBox), mWidget);
#endif /* USE_SUPERWIN */
gtk_widget_set_name (mWidget, "nsScrollbar");
gtk_signal_connect (GTK_OBJECT (mAdjustment),
"value_changed",
GTK_SIGNAL_FUNC (handle_scrollbar_value_changed),
this);
gtk_signal_connect (GTK_OBJECT (mAdjustment),
"destroy",
GTK_SIGNAL_FUNC (DestroySignal),
this);
return NS_OK;
}
void
nsScrollbar::OnDestroySignal(GtkWidget* aGtkWidget)
{
if ((void*)aGtkWidget == (void*)mAdjustment) {
mAdjustment = nsnull;
}
else {
nsWidget::OnDestroySignal(aGtkWidget);
}
}
//-------------------------------------------------------------------------
//
// Define the range settings
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::SetMaxRange (PRUint32 aEndRange)
{
if (mAdjustment) {
GTK_ADJUSTMENT (mAdjustment)->upper = (float) aEndRange;
gtk_signal_emit_by_name (GTK_OBJECT (mAdjustment), "changed");
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Return the range settings
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::GetMaxRange (PRUint32 & aMaxRange)
{
if (mAdjustment)
aMaxRange = (PRUint32) GTK_ADJUSTMENT (mAdjustment)->upper;
else
aMaxRange = 0;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set the thumb position
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::SetPosition (PRUint32 aPos)
{
// if (mAdjustment)
// gtk_adjustment_set_value (GTK_ADJUSTMENT (mAdjustment), (float) aPos);
if (mAdjustment && mWidget)
{
//
// The following bit of code borrowed from gtkrange.c,
// gtk_range_adjustment_value_changed():
//
// Ok, so, like, the problem is that the view manager expects
// SetPosition() to simply do that - set the position of the
// scroll bar. Nothing else!
//
// Unfortunately, calling gtk_adjustment_set_value() causes
// the adjustment object (mAdjustment) to emit a
// "value_changed" signal which in turn causes the
// scrollbar widget (mWidget) to scroll to the given position.
//
// The net result of this is that the content is scrolled
// twice, once by the view manager and once by the
// scrollbar - and things get messed up from then onwards.
//
// The following bit of code does the equivalent of
// gtk_adjustment_set_value(), except no signal is emitted.
//
GtkRange * range = GTK_RANGE(mWidget);
GtkAdjustment * adjustment = GTK_ADJUSTMENT(mAdjustment);
adjustment->value = (float) aPos;
if (range->old_value != adjustment->value)
{
gtk_range_slider_update (range);
gtk_range_clear_background (range);
range->old_value = adjustment->value;
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the current thumb position.
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::GetPosition (PRUint32 & aPos)
{
if (mAdjustment)
aPos = (PRUint32) GTK_ADJUSTMENT (mAdjustment)->value;
else
aPos = 0;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set the thumb size
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::SetThumbSize (PRUint32 aSize)
{
if (aSize > 0)
{
if (mAdjustment) {
GTK_ADJUSTMENT (mAdjustment)->page_increment = (float) aSize;
GTK_ADJUSTMENT (mAdjustment)->page_size = (float) aSize;
gtk_signal_emit_by_name (GTK_OBJECT (mAdjustment), "changed");
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the thumb size
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::GetThumbSize (PRUint32 & aThumbSize)
{
if (mAdjustment)
aThumbSize = (PRUint32) GTK_ADJUSTMENT (mAdjustment)->page_size;
else
aThumbSize = 0;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set the line increment for this scrollbar
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::SetLineIncrement (PRUint32 aLineIncrement)
{
if (aLineIncrement > 0)
{
if (mAdjustment) {
GTK_ADJUSTMENT (mAdjustment)->step_increment = (float) aLineIncrement;
gtk_signal_emit_by_name (GTK_OBJECT (mAdjustment), "changed");
}
}
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Get the line increment for this scrollbar
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::GetLineIncrement (PRUint32 & aLineInc)
{
if (mAdjustment) {
aLineInc = (PRUint32) GTK_ADJUSTMENT (mAdjustment)->step_increment;
}
else
aLineInc = 0;
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Set all scrolling parameters
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsScrollbar::SetParameters (PRUint32 aMaxRange, PRUint32 aThumbSize,
PRUint32 aPosition, PRUint32 aLineIncrement)
{
if (mAdjustment) {
int thumbSize = (((int) aThumbSize) > 0 ? aThumbSize : 1);
int maxRange = (((int) aMaxRange) > 0 ? aMaxRange : 10);
int mLineIncrement = (((int) aLineIncrement) > 0 ? aLineIncrement : 1);
int maxPos = maxRange - thumbSize;
int pos = ((int) aPosition) > maxPos ? maxPos - 1 : ((int) aPosition);
GTK_ADJUSTMENT (mAdjustment)->lower = 0;
GTK_ADJUSTMENT (mAdjustment)->upper = maxRange;
GTK_ADJUSTMENT (mAdjustment)->page_size = thumbSize;
GTK_ADJUSTMENT (mAdjustment)->page_increment = thumbSize;
GTK_ADJUSTMENT (mAdjustment)->step_increment = mLineIncrement;
// this will emit the changed signal for us
gtk_adjustment_set_value (GTK_ADJUSTMENT (mAdjustment), pos);
}
return NS_OK;
}
//-------------------------------------------------------------------------
int nsScrollbar::AdjustScrollBarPosition (int aPosition)
{
return 0; /* XXX */
}
//-------------------------------------------------------------------------
//
// Deal with scrollbar messages (actually implemented only in nsScrollbar)
//
//-------------------------------------------------------------------------
PRBool nsScrollbar::OnScroll (nsScrollbarEvent & aEvent, PRUint32 cPos)
{
PRBool result = PR_TRUE;
float newPosition;
switch (aEvent.message)
{
// scroll one line right or down
case NS_SCROLLBAR_LINE_NEXT:
{
newPosition = GTK_ADJUSTMENT (mAdjustment)->value;
// newPosition += mLineIncrement;
newPosition += 10;
PRUint32 thumbSize;
PRUint32 maxRange;
GetThumbSize (thumbSize);
GetMaxRange (maxRange);
PRUint32 max = maxRange - thumbSize;
if (newPosition > (int) max)
newPosition = (int) max;
// if an event callback is registered, give it the chance
// to change the increment
if (mEventCallback)
{
aEvent.position = (PRUint32) newPosition;
result = ConvertStatus ((*mEventCallback) (&aEvent));
newPosition = aEvent.position;
}
break;
}
// scroll one line left or up
case NS_SCROLLBAR_LINE_PREV:
{
newPosition = GTK_ADJUSTMENT (mAdjustment)->value;
// newPosition -= mLineIncrement;
newPosition -= 10;
if (newPosition < 0)
newPosition = 0;
// if an event callback is registered, give it the chance
// to change the decrement
if (mEventCallback)
{
aEvent.position = (PRUint32) newPosition;
aEvent.widget = (nsWidget *) this;
result = ConvertStatus ((*mEventCallback) (&aEvent));
newPosition = aEvent.position;
}
break;
}
// Scrolls one page right or down
case NS_SCROLLBAR_PAGE_NEXT:
{
newPosition = GTK_ADJUSTMENT (mAdjustment)->value;
PRUint32 thumbSize;
GetThumbSize (thumbSize);
PRUint32 maxRange;
GetThumbSize (thumbSize);
GetMaxRange (maxRange);
PRUint32 max = maxRange - thumbSize;
if (newPosition > (int) max)
newPosition = (int) max;
// if an event callback is registered, give it the chance
// to change the increment
if (mEventCallback)
{
aEvent.position = (PRUint32) newPosition;
result = ConvertStatus ((*mEventCallback) (&aEvent));
newPosition = aEvent.position;
}
break;
}
// Scrolls one page left or up.
case NS_SCROLLBAR_PAGE_PREV:
{
newPosition = GTK_ADJUSTMENT (mAdjustment)->value;
if (newPosition < 0)
newPosition = 0;
// if an event callback is registered, give it the chance
// to change the increment
if (mEventCallback)
{
aEvent.position = (PRUint32) newPosition;
result = ConvertStatus ((*mEventCallback) (&aEvent));
newPosition = aEvent.position;
}
break;
}
// Scrolls to the absolute position. The current position is specified by
// the cPos parameter.
case NS_SCROLLBAR_POS:
{
newPosition = cPos;
// if an event callback is registered, give it the chance
// to change the increment
if (mEventCallback)
{
aEvent.position = (PRUint32) newPosition;
result = ConvertStatus ((*mEventCallback) (&aEvent));
newPosition = aEvent.position;
}
break;
}
}
/*
GTK_ADJUSTMENT(mAdjustment)->value = newPosition;
gtk_signal_emit_by_name(GTK_OBJECT(mAdjustment), "value_changed");
*/
/*
if (mEventCallback) {
aEvent.position = cPos;
result = ConvertStatus((*mEventCallback)(&aEvent));
newPosition = aEvent.position;
}
*/
return result;
}

View File

@@ -1,66 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsScrollbar_h__
#define nsScrollbar_h__
#include "nsWidget.h"
#include "nsIScrollbar.h"
/**
* Native GTK+ scrollbar wrapper.
*/
class nsScrollbar : public nsWidget,
public nsIScrollbar
{
public:
nsScrollbar(PRBool aIsVertical);
virtual ~nsScrollbar();
NS_DECL_ISUPPORTS_INHERITED
// nsIScrollBar implementation
NS_IMETHOD SetMaxRange(PRUint32 aEndRange);
NS_IMETHOD GetMaxRange(PRUint32& aMaxRange);
NS_IMETHOD SetPosition(PRUint32 aPos);
NS_IMETHOD GetPosition(PRUint32& aPos);
NS_IMETHOD SetThumbSize(PRUint32 aSize);
NS_IMETHOD GetThumbSize(PRUint32& aSize);
NS_IMETHOD SetLineIncrement(PRUint32 aSize);
NS_IMETHOD GetLineIncrement(PRUint32& aSize);
NS_IMETHOD SetParameters(PRUint32 aMaxRange, PRUint32 aThumbSize,
PRUint32 aPosition, PRUint32 aLineIncrement);
virtual PRBool OnScroll (nsScrollbarEvent & aEvent, PRUint32 cPos);
protected:
NS_IMETHOD CreateNative(GtkObject *parentWindow);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
private:
int mOrientation;
GtkAdjustment *mAdjustment;
int AdjustScrollBarPosition(int aPosition);
};
#endif /* nsScrollbar_h__ */

View File

@@ -1,125 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nscore.h"
#include "nsIAllocator.h"
#include "plstr.h"
#include "stdio.h"
#include "prlink.h"
#include "nsSound.h"
#include <unistd.h>
#include <gtk/gtk.h>
/* used with esd_open_sound */
//static int esdref = -1;
static PRLibrary *lib = nsnull;
//typedef int (PR_CALLBACK *EsdOpenSoundType)(const char *host);
//typedef int (PR_CALLBACK *EsdCloseType)(int);
/* used to play the sounds from the find symbol call */
typedef int (PR_CALLBACK *EsdPlayFileType)(const char *, const char *, int);
NS_IMPL_ISUPPORTS1(nsSound, nsISound);
////////////////////////////////////////////////////////////////////////
nsSound::nsSound()
{
NS_INIT_REFCNT();
/* we don't need to do esd_open_sound if we are only going to play files
but we will if we want to do things like streams, etc
*/
// EsdOpenSoundType EsdOpenSound;
lib = PR_LoadLibrary("libesd.so");
/*
if (!lib)
return;
EsdOpenSound = (EsdOpenSoundType) PR_FindSymbol(lib, "esd_open_sound");
esdref = (*EsdOpenSound)("localhost");
*/
}
nsSound::~nsSound()
{
/* see above comment */
/*
if (esdref != -1)
{
EsdCloseType EsdClose = (EsdCloseType) PR_FindSymbol(lib, "esd_close");
(*EsdClose)(esdref);
esdref = -1;
}
*/
}
nsresult NS_NewSound(nsISound** aSound)
{
NS_PRECONDITION(aSound != nsnull, "null ptr");
if (! aSound)
return NS_ERROR_NULL_POINTER;
*aSound = new nsSound();
if (! *aSound)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(*aSound);
return NS_OK;
}
NS_METHOD nsSound::Init(void)
{
return NS_OK;
}
NS_METHOD nsSound::Beep()
{
::gdk_beep();
return NS_OK;
}
NS_METHOD nsSound::Play(nsIFileSpec *filespec)
{
if (lib)
{
char *filename;
filespec->GetNativePath(&filename);
g_print("there are some issues with playing sound right now, but this should work\n");
EsdPlayFileType EsdPlayFile = (EsdPlayFileType) PR_FindSymbol(lib, "esd_play_file");
(*EsdPlayFile)("mozilla", filename, 1);
nsCRT::free(filename);
return NS_OK;
}
return NS_OK;
}

View File

@@ -1,41 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 __nsSound_h__
#define __nsSound_h__
#include "nsISound.h"
#include <gtk/gtk.h>
class nsSound : public nsISound {
public:
nsSound();
virtual ~nsSound();
NS_DECL_ISUPPORTS
NS_DECL_NSISOUND
};
#endif /* __nsSound_h__ */

View File

@@ -1,97 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsTextAreaWidget.h"
#include "nsString.h"
NS_IMPL_ADDREF_INHERITED(nsTextAreaWidget, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsTextAreaWidget, nsWidget)
NS_IMPL_QUERY_INTERFACE2(nsTextAreaWidget, nsITextAreaWidget, nsIWidget)
//-------------------------------------------------------------------------
//
// nsTextAreaWidget constructor
//
//-------------------------------------------------------------------------
nsTextAreaWidget::nsTextAreaWidget()
{
mBackground = NS_RGB(124, 124, 124);
}
//-------------------------------------------------------------------------
//
// nsTextAreaWidget destructor
//
//-------------------------------------------------------------------------
nsTextAreaWidget::~nsTextAreaWidget()
{
gtk_widget_destroy(mTextWidget);
mTextWidget = nsnull;
}
//-------------------------------------------------------------------------
//
// Create the native Text widget
//
//-------------------------------------------------------------------------
NS_METHOD nsTextAreaWidget::CreateNative(GtkObject *parentWindow)
{
PRBool oldIsReadOnly;
mWidget = gtk_scrolled_window_new(nsnull, nsnull);
gtk_container_set_border_width(GTK_CONTAINER(mWidget), 0);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(mWidget),
GTK_POLICY_NEVER,
GTK_POLICY_ALWAYS);
mTextWidget = gtk_text_new(nsnull, nsnull);
gtk_text_set_word_wrap(GTK_TEXT(mTextWidget), PR_TRUE);
gtk_widget_set_name(mTextWidget, "nsTextAreaWidget");
gtk_widget_show(mTextWidget);
SetPassword(mIsPassword);
SetReadOnly(mIsReadOnly, oldIsReadOnly);
gtk_container_add(GTK_CONTAINER(mWidget), mTextWidget);
return NS_OK;
}
//-------------------------------------------------------------------------
//
// set font for textarea
//
//-------------------------------------------------------------------------
/* virtual */
void nsTextAreaWidget::SetFontNative(GdkFont *aFont)
{
GtkStyle *style = gtk_style_copy(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0))->style);
// gtk_style_copy ups the ref count of the font
gdk_font_unref (style->font);
style->font = aFont;
gdk_font_ref(style->font);
gtk_widget_set_style(GTK_WIDGET (g_list_nth_data(gtk_container_children(GTK_CONTAINER (mWidget)),0)), style);
gtk_style_unref(style);
}

View File

@@ -1,49 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsTextAreaWidget_h__
#define nsTextAreaWidget_h__
#include "nsTextHelper.h"
#include "nsITextAreaWidget.h"
/**
* Native GTK+ multi-line edit control wrapper.
*/
class nsTextAreaWidget : public nsTextHelper
{
public:
nsTextAreaWidget();
virtual ~nsTextAreaWidget();
NS_DECL_ISUPPORTS_INHERITED
virtual void SetFontNative(GdkFont *aFont);
protected:
NS_METHOD CreateNative(GtkObject *parentWindow);
};
#endif // nsTextAreaWidget_h__

View File

@@ -1,216 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsTextHelper.h"
#include "nsTextWidget.h"
#include "nsString.h"
NS_IMPL_ADDREF_INHERITED(nsTextHelper, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsTextHelper, nsWidget)
//-------------------------------------------------------------------------
//
// nsTextHelper constructor
//
//-------------------------------------------------------------------------
nsTextHelper::nsTextHelper() : nsWidget(), nsITextAreaWidget(), nsITextWidget()
{
mIsReadOnly = PR_FALSE;
mIsPassword = PR_FALSE;
}
//-------------------------------------------------------------------------
//
// nsTextHelper destructor
//
//-------------------------------------------------------------------------
nsTextHelper::~nsTextHelper()
{
}
//-------------------------------------------------------------------------
//
// Set initial parameters
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::PreCreateWidget(nsWidgetInitData *aInitData)
{
if (nsnull != aInitData) {
nsTextWidgetInitData* data = (nsTextWidgetInitData *) aInitData;
mIsPassword = data->mIsPassword;
mIsReadOnly = data->mIsReadOnly;
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SetMaxTextLength(PRUint32 aChars)
{
// This is a normal entry only thing, not a text box
gtk_entry_set_max_length(GTK_ENTRY(mTextWidget), (int)aChars);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::GetText(nsString& aTextBuffer, PRUint32 aBufferSize, PRUint32& aActualSize)
{
char *str = nsnull;
if (GTK_IS_ENTRY(mTextWidget))
{
str = gtk_entry_get_text(GTK_ENTRY(mTextWidget));
}
else if (GTK_IS_TEXT(mTextWidget))
{
str = gtk_editable_get_chars (GTK_EDITABLE (mTextWidget), 0,
gtk_text_get_length (GTK_TEXT (mTextWidget)));
}
aTextBuffer.SetLength(0);
aTextBuffer.Append(str);
PRUint32 len = (PRUint32)strlen(str);
aActualSize = len;
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SetText(const nsString& aText, PRUint32& aActualSize)
{
if (GTK_IS_ENTRY(mTextWidget)) {
gtk_entry_set_text(GTK_ENTRY(mTextWidget),
(const gchar *)nsAutoCString(aText));
} else if (GTK_IS_TEXT(mTextWidget)) {
gtk_editable_delete_text(GTK_EDITABLE(mTextWidget), 0,
gtk_text_get_length(GTK_TEXT (mTextWidget)));
gtk_text_insert(GTK_TEXT(mTextWidget),
nsnull, nsnull, nsnull,
(const char *)nsAutoCString(aText),
aText.Length());
}
aActualSize = aText.Length();
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::InsertText(const nsString &aText,
PRUint32 aStartPos,
PRUint32 aEndPos,
PRUint32& aActualSize)
{
gtk_editable_insert_text(GTK_EDITABLE(mTextWidget),
(const gchar *)nsAutoCString(aText),
(gint)aText.Length(), (gint*)&aStartPos);
aActualSize = aText.Length();
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::RemoveText()
{
if (GTK_IS_ENTRY(mTextWidget)) {
gtk_entry_set_text(GTK_ENTRY(mTextWidget), "");
} else if (GTK_IS_TEXT(mTextWidget)) {
gtk_editable_delete_text(GTK_EDITABLE(mTextWidget), 0,
gtk_text_get_length(GTK_TEXT (mTextWidget)));
}
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SetPassword(PRBool aIsPassword)
{
mIsPassword = aIsPassword?PR_FALSE:PR_TRUE;
if (GTK_IS_ENTRY(mTextWidget)) {
gtk_entry_set_visibility(GTK_ENTRY(mTextWidget), mIsPassword);
}
// this won't work for gtk_texts
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SetReadOnly(PRBool aReadOnlyFlag, PRBool& aOldReadOnlyFlag)
{
NS_ASSERTION(nsnull != mTextWidget,
"SetReadOnly - Widget is NULL, Create may not have been called!");
aOldReadOnlyFlag = mIsReadOnly;
mIsReadOnly = aReadOnlyFlag?PR_FALSE:PR_TRUE;
gtk_editable_set_editable(GTK_EDITABLE(mTextWidget), mIsReadOnly);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SelectAll()
{
nsString text;
PRUint32 actualSize = 0;
PRUint32 numChars = GetText(text, 0, actualSize);
SetSelection(0, numChars);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SetSelection(PRUint32 aStartSel, PRUint32 aEndSel)
{
gtk_editable_select_region(GTK_EDITABLE(mTextWidget), aStartSel, aEndSel);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::GetSelection(PRUint32 *aStartSel, PRUint32 *aEndSel)
{
#if 0
XmTextPosition left;
XmTextPosition right;
if (XmTextGetSelectionPosition(mTextWidget, &left, &right)) {
*aStartSel = (PRUint32)left;
*aEndSel = (PRUint32)right;
} else {
printf("nsTextHelper::GetSelection Error getting positions\n");
return NS_ERROR_FAILURE;
}
#endif
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::SetCaretPosition(PRUint32 aPosition)
{
gtk_editable_set_position(GTK_EDITABLE(mTextWidget), aPosition);
return NS_OK;
}
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextHelper::GetCaretPosition(PRUint32& aPosition)
{
aPosition = (PRUint32)GTK_EDITABLE(mTextWidget)->current_pos;
return NS_OK;
}

View File

@@ -1,66 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsTextHelper_h__
#define nsTextHelper_h__
#include "nsITextWidget.h"
#include "nsITextAreaWidget.h"
#include "nsWidget.h"
/**
* Base class for nsTextAreaWidget and nsTextWidget
*/
class nsTextHelper : public nsWidget,
public nsITextAreaWidget,
public nsITextWidget
{
public:
nsTextHelper();
virtual ~nsTextHelper();
// nsISupports
NS_IMETHOD_(nsrefcnt) AddRef();
NS_IMETHOD_(nsrefcnt) Release();
NS_IMETHOD SelectAll();
NS_IMETHOD PreCreateWidget(nsWidgetInitData *aInitData);
NS_IMETHOD SetMaxTextLength(PRUint32 aChars);
NS_IMETHOD GetText(nsString& aTextBuffer, PRUint32 aBufferSize, PRUint32& aActualSize);
NS_IMETHOD SetText(const nsString &aText, PRUint32& aActualSize);
NS_IMETHOD InsertText(const nsString &aText, PRUint32 aStartPos, PRUint32 aEndPos, PRUint32& aActualSize);
NS_IMETHOD RemoveText();
NS_IMETHOD SetPassword(PRBool aIsPassword);
NS_IMETHOD SetReadOnly(PRBool aNewReadOnlyFlag, PRBool& aOldReadOnlyFlag);
NS_IMETHOD SetSelection(PRUint32 aStartSel, PRUint32 aEndSel);
NS_IMETHOD GetSelection(PRUint32 *aStartSel, PRUint32 *aEndSel);
NS_IMETHOD SetCaretPosition(PRUint32 aPosition);
NS_IMETHOD GetCaretPosition(PRUint32& aPosition);
protected:
GtkWidget *mTextWidget;
PRBool mIsPassword;
PRBool mIsReadOnly;
};
#endif // nsTextHelper_h__

View File

@@ -1,130 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 <gtk/gtk.h>
#include "nsTextWidget.h"
#include "nsString.h"
#include "nsGtkEventHandler.h"
extern int mIsPasswordCallBacksInstalled;
NS_IMPL_ADDREF_INHERITED(nsTextWidget, nsWidget)
NS_IMPL_RELEASE_INHERITED(nsTextWidget, nsWidget)
NS_IMPL_QUERY_INTERFACE2(nsTextWidget, nsITextWidget, nsIWidget)
//-------------------------------------------------------------------------
//
// nsTextWidget constructor
//
//-------------------------------------------------------------------------
nsTextWidget::nsTextWidget() : nsTextHelper()
{
}
//-------------------------------------------------------------------------
//
// nsTextWidget destructor
//
//-------------------------------------------------------------------------
nsTextWidget::~nsTextWidget()
{
// avoid freeing this twice in other destructors
mTextWidget = nsnull;
}
//-------------------------------------------------------------------------
//
// Create the native Entry widget
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsTextWidget::CreateNative(GtkObject *parentWindow)
{
PRBool oldIsReadOnly;
mWidget = gtk_entry_new();
#ifdef USE_SUPERWIN
if (!GDK_IS_SUPERWIN(parentWindow)) {
g_print("Damn, brother. That's not a superwin.\n");
return NS_ERROR_FAILURE;
}
GdkSuperWin *superwin = GDK_SUPERWIN(parentWindow);
mMozBox = gtk_mozbox_new(superwin->bin_window);
#endif /* USE_SUPERWIN */
// used by nsTextHelper because nsTextArea needs a scrolled_window
mTextWidget = mWidget;
gtk_widget_set_name(mWidget, "nsTextWidget");
/*
* GTK's text widget does XIM for us, so we don't want to use the default key handler
* which does XIM, so we connect to a non-XIM key event for the text widget
*/
gtk_signal_connect_after(GTK_OBJECT(mWidget),
"key_press_event",
GTK_SIGNAL_FUNC(handle_key_press_event_for_text),
this);
gtk_signal_connect(GTK_OBJECT(mWidget),
"key_release_event",
GTK_SIGNAL_FUNC(handle_key_release_event_for_text),
this);
SetPassword(mIsPassword);
SetReadOnly(mIsReadOnly, oldIsReadOnly);
gtk_widget_show(mWidget);
// These are needed so that the events will go to us and not our parent.
AddToEventMask(mWidget,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK |
GDK_EXPOSURE_MASK |
GDK_FOCUS_CHANGE_MASK |
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_LEAVE_NOTIFY_MASK |
GDK_POINTER_MOTION_MASK);
#ifdef USE_SUPERWIN
// make sure that we put the scrollbar into the mozbox
gtk_container_add(GTK_CONTAINER(mMozBox), mWidget);
#endif /* USE_SUPERWIN */
return NS_OK;
}
PRBool nsTextWidget::OnKey(nsKeyEvent &aEvent)
{
if (mEventCallback) {
return DispatchWindowEvent(&aEvent);
}
return PR_FALSE;
}

View File

@@ -1,48 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsTextWidget_h__
#define nsTextWidget_h__
#include "nsTextHelper.h"
#include "nsITextWidget.h"
/**
* Native GTK+ single line edit control wrapper.
*/
class nsTextWidget : public nsTextHelper
{
public:
nsTextWidget();
virtual ~nsTextWidget();
NS_DECL_ISUPPORTS_INHERITED
PRBool OnKey(nsKeyEvent &aEvent);
protected:
NS_IMETHOD CreateNative(GtkObject *parentWindow);
};
#endif // nsTextWidget_h__

View File

@@ -1,144 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 "nscore.h" // needed for 'nsnull'
#include "nsToolkit.h"
//
// Static thread local storage index of the Toolkit
// object associated with a given thread...
//
static PRUintn gToolkitTLSIndex = 0;
//-------------------------------------------------------------------------
//
// constructor
//
//-------------------------------------------------------------------------
nsToolkit::nsToolkit()
{
NS_INIT_REFCNT();
mSharedGC = nsnull;
}
//-------------------------------------------------------------------------
//
// destructor
//
//-------------------------------------------------------------------------
nsToolkit::~nsToolkit()
{
if (mSharedGC)
gdk_gc_unref(mSharedGC);
// Remove the TLS reference to the toolkit...
PR_SetThreadPrivate(gToolkitTLSIndex, nsnull);
}
//-------------------------------------------------------------------------
//
// nsISupports implementation macro
//
//-------------------------------------------------------------------------
NS_IMPL_ISUPPORTS1(nsToolkit, nsIToolkit)
void nsToolkit::CreateSharedGC(void)
{
GdkPixmap *pixmap;
if (mSharedGC)
return;
pixmap = ::gdk_pixmap_new (NULL, 1, 1, gdk_rgb_get_visual()->depth);
mSharedGC = ::gdk_gc_new (pixmap);
gdk_pixmap_unref (pixmap);
mSharedGC = gdk_gc_ref(mSharedGC);
}
GdkGC *nsToolkit::GetSharedGC(void)
{
return gdk_gc_ref(mSharedGC);
}
//-------------------------------------------------------------------------
//
//
//-------------------------------------------------------------------------
NS_IMETHODIMP nsToolkit::Init(PRThread *aThread)
{
CreateSharedGC();
return NS_OK;
}
//-------------------------------------------------------------------------
//
// Return the nsIToolkit for the current thread. If a toolkit does not
// yet exist, then one will be created...
//
//-------------------------------------------------------------------------
NS_METHOD NS_GetCurrentToolkit(nsIToolkit* *aResult)
{
nsIToolkit* toolkit = nsnull;
nsresult rv = NS_OK;
PRStatus status;
// Create the TLS index the first time through...
if (0 == gToolkitTLSIndex) {
status = PR_NewThreadPrivateIndex(&gToolkitTLSIndex, NULL);
if (PR_FAILURE == status) {
rv = NS_ERROR_FAILURE;
}
}
if (NS_SUCCEEDED(rv)) {
toolkit = (nsIToolkit*)PR_GetThreadPrivate(gToolkitTLSIndex);
//
// Create a new toolkit for this thread...
//
if (!toolkit) {
toolkit = new nsToolkit();
if (!toolkit) {
rv = NS_ERROR_OUT_OF_MEMORY;
} else {
NS_ADDREF(toolkit);
toolkit->Init(PR_GetCurrentThread());
//
// The reference stored in the TLS is weak. It is removed in the
// nsToolkit destructor...
//
PR_SetThreadPrivate(gToolkitTLSIndex, (void*)toolkit);
}
} else {
NS_ADDREF(toolkit);
}
*aResult = toolkit;
}
return rv;
}

View File

@@ -1,55 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 TOOLKIT_H
#define TOOLKIT_H
#include "nsIToolkit.h"
#include <gtk/gtk.h>
/**
* Wrapper around the thread running the message pump.
* The toolkit abstraction is necessary because the message pump must
* execute within the same thread that created the widget under Win32.
*/
class nsToolkit : public nsIToolkit
{
public:
nsToolkit();
virtual ~nsToolkit();
NS_DECL_ISUPPORTS
NS_IMETHOD Init(PRThread *aThread);
void CreateSharedGC(void);
GdkGC *GetSharedGC(void);
private:
GdkGC *mSharedGC;
};
#endif // TOOLKIT_H

File diff suppressed because it is too large Load Diff

View File

@@ -1,410 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsWidget_h__
#define nsWidget_h__
#include "nsBaseWidget.h"
#include "nsIRegion.h"
// XXX: This must go away when nsAutoCString moves out of nsFileSpec.h
#include "nsFileSpec.h" // for nsAutoCString()
class nsILookAndFeel;
class nsIAppShell;
class nsIToolkit;
#include <gtk/gtk.h>
#include <gdk/gdkprivate.h>
#include "gtkmozbox.h"
#define USE_SUPERWIN
#define NSRECT_TO_GDKRECT(ns,gdk) \
PR_BEGIN_MACRO \
gdk.x = ns.x; \
gdk.y = ns.y; \
gdk.width = ns.width; \
gdk.height = ns.height; \
PR_END_MACRO
#define NSCOLOR_TO_GDKCOLOR(n,g) \
PR_BEGIN_MACRO \
g.red = 256 * NS_GET_R(n); \
g.green = 256 * NS_GET_G(n); \
g.blue = 256 * NS_GET_B(n); \
PR_END_MACRO
#define NS_TO_GDK_RGB(ns) (ns & 0xff) << 16 | (ns & 0xff00) | ((ns >> 16) & 0xff)
/**
* Base of all GTK+ native widgets.
*/
class nsWidget : public nsBaseWidget
{
public:
nsWidget();
virtual ~nsWidget();
NS_IMETHOD Create(nsIWidget *aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell = nsnull,
nsIToolkit *aToolkit = nsnull,
nsWidgetInitData *aInitData = nsnull);
NS_IMETHOD Create(nsNativeWidget aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell = nsnull,
nsIToolkit *aToolkit = nsnull,
nsWidgetInitData *aInitData = nsnull);
NS_IMETHOD Destroy(void);
nsIWidget* GetParent(void);
NS_IMETHOD SetModal(PRBool aModal);
NS_IMETHOD Show(PRBool state);
NS_IMETHOD CaptureRollupEvents(nsIRollupListener *aListener, PRBool aDoCapture, PRBool aConsumeRollupEvent);
NS_IMETHOD IsVisible(PRBool &aState);
NS_IMETHOD Move(PRInt32 aX, PRInt32 aY);
NS_IMETHOD Resize(PRInt32 aWidth, PRInt32 aHeight, PRBool aRepaint);
NS_IMETHOD Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth,
PRInt32 aHeight, PRBool aRepaint);
NS_IMETHOD Enable(PRBool aState);
NS_IMETHOD SetFocus(void);
PRBool OnResize(nsSizeEvent event);
virtual PRBool OnResize(nsRect &aRect);
virtual PRBool OnMove(PRInt32 aX, PRInt32 aY);
nsIFontMetrics *GetFont(void);
NS_IMETHOD SetFont(const nsFont &aFont);
NS_IMETHOD SetBackgroundColor(const nscolor &aColor);
NS_IMETHOD SetCursor(nsCursor aCursor);
NS_IMETHOD SetColorMap(nsColorMap *aColorMap);
void* GetNativeData(PRUint32 aDataType);
NS_IMETHOD GetAbsoluteBounds(nsRect &aRect);
NS_IMETHOD WidgetToScreen(const nsRect &aOldRect, nsRect &aNewRect);
NS_IMETHOD ScreenToWidget(const nsRect &aOldRect, nsRect &aNewRect);
NS_IMETHOD BeginResizingChildren(void);
NS_IMETHOD EndResizingChildren(void);
NS_IMETHOD GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight);
NS_IMETHOD SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight);
// Use this to set the name of a widget for normal widgets.. not the same as the nsWindow version
NS_IMETHOD SetTitle(const nsString& aTitle);
virtual void ConvertToDeviceCoordinates(nscoord &aX, nscoord &aY);
// the following are nsWindow specific, and just stubbed here
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsRect *aClipRect) { return NS_ERROR_FAILURE; }
NS_IMETHOD SetMenuBar(nsIMenuBar *aMenuBar) { return NS_ERROR_FAILURE; }
NS_IMETHOD ShowMenuBar(PRBool aShow) { return NS_ERROR_FAILURE; }
// *could* be done on a widget, but that would be silly wouldn't it?
NS_IMETHOD CaptureMouse(PRBool aCapture) { return NS_ERROR_FAILURE; }
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
NS_IMETHOD Invalidate(const nsRect &aRect, PRBool aIsSynchronous);
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous);
NS_IMETHOD Update(void);
NS_IMETHOD DispatchEvent(nsGUIEvent* event, nsEventStatus & aStatus);
void InitEvent(nsGUIEvent& event, PRUint32 aEventType, nsPoint* aPoint = nsnull);
// Utility functions
void HandleEvent(GdkEvent *event);
PRBool ConvertStatus(nsEventStatus aStatus);
PRBool DispatchMouseEvent(nsMouseEvent& aEvent);
PRBool DispatchStandardEvent(PRUint32 aMsg);
PRBool DispatchFocus(nsGUIEvent &aEvent);
// are we a "top level" widget?
PRBool mIsToplevel;
#ifdef DEBUG
void IndentByDepth(FILE* out);
#endif
// Return the Gdk window used for rendering
virtual GdkWindow * GetRenderWindow(GtkObject * aGtkWidget);
protected:
virtual void InitCallbacks(char * aName = nsnull);
virtual void OnDestroy();
NS_IMETHOD CreateNative(GtkObject *parentWindow) { return NS_OK; }
nsresult CreateWidget(nsIWidget *aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
nsWidgetInitData *aInitData,
nsNativeWidget aNativeParent = nsnull);
PRBool DispatchWindowEvent(nsGUIEvent* event);
// Return the Gdk window whose background should change
virtual GdkWindow *GetWindowForSetBackground();
// Sets font for widgets
virtual void SetFontNative(GdkFont *aFont);
// Sets backround for widgets
virtual void SetBackgroundColorNative(GdkColor *aColorNor,
GdkColor *aColorBri,
GdkColor *aColorDark);
//////////////////////////////////////////////////////////////////
//
// GTK signal installers
//
//////////////////////////////////////////////////////////////////
void InstallMotionNotifySignal(GtkWidget * aWidget);
void InstallDragMotionSignal(GtkWidget * aWidget);
void InstallDragLeaveSignal(GtkWidget * aWidget);
void InstallDragBeginSignal(GtkWidget * aWidget);
void InstallDragDropSignal(GtkWidget * aWidget);
void InstallEnterNotifySignal(GtkWidget * aWidget);
void InstallLeaveNotifySignal(GtkWidget * aWidget);
void InstallButtonPressSignal(GtkWidget * aWidget);
void InstallButtonReleaseSignal(GtkWidget * aWidget);
virtual
void InstallFocusInSignal(GtkWidget * aWidget);
virtual
void InstallFocusOutSignal(GtkWidget * aWidget);
void InstallRealizeSignal(GtkWidget * aWidget);
void AddToEventMask(GtkWidget * aWidget,
gint aEventMask);
//////////////////////////////////////////////////////////////////
//
// OnSomething handlers
//
//////////////////////////////////////////////////////////////////
virtual void OnMotionNotifySignal(GdkEventMotion * aGdkMotionEvent);
virtual void OnDragMotionSignal(GdkDragContext *aGdkDragContext,
gint x,
gint y,
guint time);
/* OnDragEnterSignal is not a real signal.. it is only called from OnDragMotionSignal */
virtual void OnDragEnterSignal(GdkDragContext *aGdkDragContext,
gint x,
gint y,
guint time);
virtual void OnDragLeaveSignal(GdkDragContext *context,
guint time);
virtual void OnDragBeginSignal(GdkDragContext *aGdkDragContext);
virtual void OnDragDropSignal(GdkDragContext *aGdkDragContext,
gint x,
gint y,
guint time);
virtual void OnEnterNotifySignal(GdkEventCrossing * aGdkCrossingEvent);
virtual void OnLeaveNotifySignal(GdkEventCrossing * aGdkCrossingEvent);
virtual void OnButtonPressSignal(GdkEventButton * aGdkButtonEvent);
virtual void OnButtonReleaseSignal(GdkEventButton * aGdkButtonEvent);
virtual void OnFocusInSignal(GdkEventFocus * aGdkFocusEvent);
virtual void OnFocusOutSignal(GdkEventFocus * aGdkFocusEvent);
virtual void OnRealize(GtkWidget *aWidget);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
// Static method used to trampoline to OnDestroySignal
static gint DestroySignal(GtkWidget * aGtkWidget,
nsWidget* aWidget);
static void SuppressModality(PRBool aSuppress);
public:
PRBool mIMEEnable;
PRUnichar* mIMECompositionUniString;
PRInt32 mIMECompositionUniStringSize;
void SetXICSpotLocation(nsPoint aPoint);
protected:
//////////////////////////////////////////////////////////////////
//
// GTK widget signals
//
//////////////////////////////////////////////////////////////////
static gint MotionNotifySignal(GtkWidget * aWidget,
GdkEventMotion * aGdkMotionEvent,
gpointer aData);
static gint DragMotionSignal(GtkWidget * aWidget,
GdkDragContext *context,
gint x,
gint y,
guint time,
void *data);
static void DragLeaveSignal(GtkWidget * aWidget,
GdkDragContext *aDragContext,
guint time,
void *aData);
static gint DragBeginSignal(GtkWidget * aWidget,
GdkDragContext *context,
gint x,
gint y,
guint time,
void *data);
static gint DragDropSignal(GtkWidget * aWidget,
GdkDragContext *context,
gint x,
gint y,
guint time,
void *data);
static gint EnterNotifySignal(GtkWidget * aWidget,
GdkEventCrossing * aGdkCrossingEvent,
gpointer aData);
static gint LeaveNotifySignal(GtkWidget * aWidget,
GdkEventCrossing * aGdkCrossingEvent,
gpointer aData);
static gint ButtonPressSignal(GtkWidget * aWidget,
GdkEventButton * aGdkButtonEvent,
gpointer aData);
static gint ButtonReleaseSignal(GtkWidget * aWidget,
GdkEventButton * aGdkButtonEvent,
gpointer aData);
static gint RealizeSignal(GtkWidget * aWidget,
gpointer aData);
static gint FocusInSignal(GtkWidget * aWidget,
GdkEventFocus * aGdkFocusEvent,
gpointer aData);
static gint FocusOutSignal(GtkWidget * aWidget,
GdkEventFocus * aGdkFocusEvent,
gpointer aData);
protected:
//////////////////////////////////////////////////////////////////
//
// GTK event support methods
//
//////////////////////////////////////////////////////////////////
void InstallSignal(GtkWidget * aWidget,
gchar * aSignalName,
GtkSignalFunc aSignalFunction);
PRBool DropEvent(GtkWidget * aWidget,
GdkWindow * aEventWindow);
void InitMouseEvent(GdkEventButton * aGdkButtonEvent,
nsMouseEvent & anEvent,
PRUint32 aEventType);
#ifdef DEBUG
nsCAutoString debug_GetName(GtkObject * aGtkWidget);
nsCAutoString debug_GetName(GtkWidget * aGtkWidget);
PRInt32 debug_GetRenderXID(GtkObject * aGtkWidget);
PRInt32 debug_GetRenderXID(GtkWidget * aGtkWidget);
#endif
guint32 mGrabTime;
GtkWidget *mWidget;
// our mozbox for those native widgets
GtkWidget *mMozBox;
nsIWidget *mParent;
// This is the composite update area (union of all the calls to
// Invalidate)
nsIRegion *mUpdateArea;
PRBool mShown;
PRUint32 mPreferredWidth, mPreferredHeight;
PRBool mListenForResizes;
GdkICPrivate *mIC;
GdkICPrivate *GetXIC();
void SetXIC(GdkICPrivate *aIC);
void GetXYFromPosition(unsigned long *aX, unsigned long *aY);
// this is the rollup listener variables
static nsIRollupListener *gRollupListener;
static nsIWidget *gRollupWidget;
static PRBool gRollupConsumeRollupEvent;
private:
PRBool mIsDragDest;
static nsILookAndFeel *sLookAndFeel;
static PRUint32 sWidgetCount;
//
// Keep track of the last widget being "dragged"
//
static nsWidget *sButtonMotionTarget;
static gint sButtonMotionRootX;
static gint sButtonMotionRootY;
static gint sButtonMotionWidgetX;
static gint sButtonMotionWidgetY;
};
#endif /* nsWidget_h__ */

View File

@@ -1,274 +0,0 @@
/* -*- 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 "nsIFactory.h"
#include "nsISupports.h"
#include "nsIButton.h"
#include "nsITextWidget.h"
#include "nsWidgetsCID.h"
#include "nsToolkit.h"
#include "nsWindow.h"
#include "nsAppShell.h"
#include "nsButton.h"
#include "nsScrollbar.h"
#include "nsCheckButton.h"
#include "nsRadioButton.h"
#include "nsTextWidget.h"
#include "nsTextAreaWidget.h"
#include "nsFileWidget.h"
#include "nsFileSpecWithUIImpl.h"
#include "nsListBox.h"
#include "nsComboBox.h"
#include "nsLookAndFeel.h"
#include "nsLabel.h"
#ifdef LOSER
#include "nsMenuBar.h"
#include "nsMenu.h"
#include "nsMenuItem.h"
#include "nsPopUpMenu.h"
#include "nsContextMenu.h"
#endif
#include "nsFontRetrieverService.h"
// Drag & Drop, Clipboard
#include "nsClipboard.h"
#include "nsTransferable.h"
#include "nsXIFFormatConverter.h"
#include "nsDragService.h"
#include "nsSound.h"
static NS_DEFINE_IID(kCWindow, NS_WINDOW_CID);
static NS_DEFINE_IID(kCChild, NS_CHILD_CID);
static NS_DEFINE_IID(kCButton, NS_BUTTON_CID);
static NS_DEFINE_IID(kCCheckButton, NS_CHECKBUTTON_CID);
static NS_DEFINE_IID(kCCombobox, NS_COMBOBOX_CID);
static NS_DEFINE_IID(kCFileOpen, NS_FILEWIDGET_CID);
static NS_DEFINE_IID(kCListbox, NS_LISTBOX_CID);
static NS_DEFINE_IID(kCRadioButton, NS_RADIOBUTTON_CID);
static NS_DEFINE_IID(kCHorzScrollbar, NS_HORZSCROLLBAR_CID);
static NS_DEFINE_IID(kCVertScrollbar, NS_VERTSCROLLBAR_CID);
static NS_DEFINE_IID(kCTextArea, NS_TEXTAREA_CID);
static NS_DEFINE_IID(kCTextField, NS_TEXTFIELD_CID);
static NS_DEFINE_IID(kCAppShell, NS_APPSHELL_CID);
static NS_DEFINE_IID(kCToolkit, NS_TOOLKIT_CID);
static NS_DEFINE_IID(kCLookAndFeel, NS_LOOKANDFEEL_CID);
static NS_DEFINE_IID(kCLabel, NS_LABEL_CID);
#if 0
static NS_DEFINE_IID(kCMenuBar, NS_MENUBAR_CID);
static NS_DEFINE_IID(kCMenu, NS_MENU_CID);
static NS_DEFINE_IID(kCMenuItem, NS_MENUITEM_CID);
static NS_DEFINE_IID(kCPopUpMenu, NS_POPUPMENU_CID);
static NS_DEFINE_IID(kCContextMenu, NS_CONTEXTMENU_CID);
#endif
static NS_DEFINE_IID(kCFontRetrieverService, NS_FONTRETRIEVERSERVICE_CID);
// Drag & Drop, Clipboard
static NS_DEFINE_IID(kCDataObj, NS_DATAOBJ_CID);
static NS_DEFINE_IID(kCClipboard, NS_CLIPBOARD_CID);
static NS_DEFINE_IID(kCTransferable, NS_TRANSFERABLE_CID);
static NS_DEFINE_IID(kCDataFlavor, NS_DATAFLAVOR_CID);
static NS_DEFINE_IID(kCXIFFormatConverter, NS_XIFFORMATCONVERTER_CID);
static NS_DEFINE_IID(kCDragService, NS_DRAGSERVICE_CID);
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
// Sound services (just Beep for now)
static NS_DEFINE_CID(kCSound, NS_SOUND_CID);
static NS_DEFINE_CID(kCFileSpecWithUI, NS_FILESPECWITHUI_CID);
class nsWidgetFactory : public nsIFactory
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIFACTORY
nsWidgetFactory(const nsCID &aClass);
virtual ~nsWidgetFactory();
private:
nsCID mClassID;
};
nsWidgetFactory::nsWidgetFactory(const nsCID &aClass)
{
NS_INIT_ISUPPORTS();
mClassID = aClass;
}
nsWidgetFactory::~nsWidgetFactory()
{
}
NS_IMPL_ISUPPORTS(nsWidgetFactory, NS_GET_IID(nsIFactory))
nsresult nsWidgetFactory::CreateInstance(nsISupports *aOuter,
const nsIID &aIID,
void **aResult)
{
if (aResult == NULL) {
return NS_ERROR_NULL_POINTER;
}
*aResult = NULL;
if (nsnull != aOuter)
return NS_ERROR_NO_AGGREGATION;
nsISupports *inst = nsnull;
if (mClassID.Equals(kCWindow)) {
inst = (nsISupports *)new nsWindow();
}
else if (mClassID.Equals(kCChild)) {
inst = (nsISupports *)new ChildWindow();
}
else if (mClassID.Equals(kCButton)) {
inst = (nsISupports*)(nsWidget *)new nsButton();
}
else if (mClassID.Equals(kCCheckButton)) {
inst = (nsISupports*)(nsWidget *)new nsCheckButton();
}
else if (mClassID.Equals(kCCombobox)) {
inst = (nsISupports*)(nsWidget *)new nsComboBox();
}
else if (mClassID.Equals(kCRadioButton)) {
inst = (nsISupports*)(nsWidget *)new nsRadioButton();
}
else if (mClassID.Equals(kCFileOpen)) {
inst = (nsISupports*)new nsFileWidget();
}
else if (mClassID.Equals(kCListbox)) {
inst = (nsISupports*)(nsWidget *)new nsListBox();
}
else if (mClassID.Equals(kCHorzScrollbar)) {
inst = (nsISupports*)(nsWidget *)new nsScrollbar(PR_FALSE);
}
else if (mClassID.Equals(kCVertScrollbar)) {
inst = (nsISupports*)(nsWidget *)new nsScrollbar(PR_TRUE);
}
else if (mClassID.Equals(kCTextArea)) {
inst = (nsISupports*)(nsWidget *)new nsTextAreaWidget();
}
else if (mClassID.Equals(kCTextField)) {
inst = (nsISupports*)(nsWidget *)new nsTextWidget();
}
else if (mClassID.Equals(kCAppShell)) {
inst = (nsISupports*)new nsAppShell();
}
else if (mClassID.Equals(kCToolkit)) {
inst = (nsISupports*)(nsWidget *)new nsToolkit();
}
else if (mClassID.Equals(kCLookAndFeel)) {
inst = (nsISupports*)(nsWidget *)new nsLookAndFeel();
}
else if (mClassID.Equals(kCLabel)) {
inst = (nsISupports*)(nsWidget *)new nsLabel();
}
#if 0
else if (mClassID.Equals(kCMenuBar)) {
inst = (nsISupports*)(nsIMenuBar *)new nsMenuBar();
}
else if (mClassID.Equals(kCMenu)) {
inst = (nsISupports*)(nsIMenu *)new nsMenu();
}
else if (mClassID.Equals(kCMenuItem)) {
inst = (nsISupports*)(nsIMenuItem *)new nsMenuItem();
}
else if (mClassID.Equals(kCPopUpMenu)) {
inst = (nsISupports*)new nsPopUpMenu();
}
/*
else if (mClassID.Equals(kCContextMenu)) {
inst = (nsISupports*)(nsIContextMenu*)new nsContextMenu();
}
*/
#endif
else if (mClassID.Equals(kCSound)) {
nsISound* aSound = nsnull;
NS_NewSound(&aSound);
inst = (nsISupports*) aSound;
}
else if (mClassID.Equals(kCTransferable)) {
inst = (nsISupports*)new nsTransferable();
}
else if (mClassID.Equals(kCClipboard)) {
inst = (nsISupports*)new nsClipboard();
}
else if (mClassID.Equals(kCXIFFormatConverter))
inst = (nsISupports*)new nsXIFFormatConverter();
else if (mClassID.Equals(kCFontRetrieverService))
inst = (nsISupports*)(nsIFontRetrieverService *) new nsFontRetrieverService();
else if (mClassID.Equals(kCDragService))
inst = (nsISupports*) (nsIDragService *) new nsDragService();
else if (mClassID.Equals(kCFileSpecWithUI))
inst = (nsISupports*) (nsIFileSpecWithUI *) new nsFileSpecWithUIImpl;
else {
printf("nsWidgetFactory::CreateInstance(), unhandled class.\n");
}
if (inst == NULL) {
return NS_ERROR_OUT_OF_MEMORY;
}
NS_ADDREF(inst);
nsresult res = inst->QueryInterface(aIID, aResult);
NS_RELEASE(inst);
return res;
}
nsresult nsWidgetFactory::LockFactory(PRBool aLock)
{
// Not implemented in simplest case.
return NS_OK;
}
// return the proper factory to the caller
extern "C" NS_WIDGET nsresult
NSGetFactory(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aProgID,
nsIFactory **aFactory)
{
if (nsnull == aFactory) {
return NS_ERROR_NULL_POINTER;
}
*aFactory = new nsWidgetFactory(aClass);
if (nsnull == aFactory) {
return NS_ERROR_OUT_OF_MEMORY;
}
return (*aFactory)->QueryInterface(kIFactoryIID, (void**)aFactory);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,211 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.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 nsWindow_h__
#define nsWindow_h__
#include "nsISupports.h"
#include "nsWidget.h"
#include "nsString.h"
#include "gtkmozarea.h"
#include "gdksuperwin.h"
class nsFont;
class nsIAppShell;
/**
* Native GTK++ window wrapper.
*/
class nsWindow : public nsWidget
{
public:
// nsIWidget interface
nsWindow();
virtual ~nsWindow();
NS_IMETHOD WidgetToScreen(const nsRect &aOldRect, nsRect &aNewRect);
NS_IMETHOD PreCreateWidget(nsWidgetInitData *aWidgetInitData);
virtual void* GetNativeData(PRUint32 aDataType);
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsRect *aClipRect);
NS_IMETHOD ScrollRect(nsRect &aSrcRect, PRInt32 aDx, PRInt32 aDy);
NS_IMETHOD SetTitle(const nsString& aTitle);
NS_IMETHOD Show(PRBool aShow);
NS_IMETHOD CaptureMouse(PRBool aCapture);
NS_IMETHOD Move(PRInt32 aX, PRInt32 aY);
NS_IMETHOD Resize(PRInt32 aWidth, PRInt32 aHeight, PRBool aRepaint);
NS_IMETHOD Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth,
PRInt32 aHeight, PRBool aRepaint);
NS_IMETHOD BeginResizingChildren(void);
NS_IMETHOD EndResizingChildren(void);
NS_IMETHOD Destroy(void);
#ifdef USE_SUPERWIN
NS_IMETHOD GetAbsoluteBounds(nsRect &aRect);
NS_IMETHOD CaptureRollupEvents(nsIRollupListener * aListener,
PRBool aDoCapture,
PRBool aConsumeRollupEvent);
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
NS_IMETHOD Invalidate(const nsRect &aRect, PRBool aIsSynchronous);
NS_IMETHOD SetBackgroundColor(const nscolor &aColor);
NS_IMETHOD SetCursor(nsCursor aCursor);
NS_IMETHOD SetFocus(void);
void QueueDraw();
void UnqueueDraw();
void DoPaint(PRInt32 x, PRInt32 y, PRInt32 width, PRInt32 height,
nsIRegion *aClipRegion);
static gboolean UpdateIdle (gpointer data);
NS_IMETHOD Update(void);
virtual void OnFocusInSignal(GdkEventFocus * aGdkFocusEvent);
virtual void OnFocusOutSignal(GdkEventFocus * aGdkFocusEvent);
virtual void InstallFocusInSignal(GtkWidget * aWidget);
virtual void InstallFocusOutSignal(GtkWidget * aWidget);
#endif /* USE_SUPERWIN */
gint ConvertBorderStyles(nsBorderStyle bs);
// Add an XATOM property to this window.
void StoreProperty(char *property, unsigned char *data);
virtual PRBool IsChild() const;
void SetIsDestroying(PRBool val) {
mIsDestroyingWindow = val;
}
PRBool IsDestroying() const {
return mIsDestroyingWindow;
}
// Utility methods
virtual PRBool OnExpose(nsPaintEvent &event);
virtual PRBool OnDraw(nsPaintEvent &event);
PRBool OnKey(nsKeyEvent &aEvent);
virtual PRBool OnScroll(nsScrollbarEvent & aEvent, PRUint32 cPos);
// in nsWidget now
// virtual PRBool OnResize(nsSizeEvent &aEvent);
static void SuperWinFilter(GdkSuperWin *superwin, XEvent *event, gpointer p);
void HandleXlibExposeEvent(XEvent *event);
void HandleXlibConfigureNotifyEvent(XEvent *event);
void HandleXlibButtonEvent(XButtonEvent *aButtonEvent);
void HandleXlibMotionNotifyEvent(XMotionEvent *aMotionEvent);
void HandleXlibCrossingEvent(XCrossingEvent * aCrossingEvent);
// Return the GtkMozArea that is the nearest parent of this widget
GtkWidget *GetMozArea();
// Return the Gdk window used for rendering
virtual GdkWindow * GetRenderWindow(GtkObject * aGtkWidget);
// XXX Chris - fix these
// virtual void OnButtonPressSignal(GdkEventButton * aGdkButtonEvent);
protected:
//////////////////////////////////////////////////////////////////////
//
// Draw signal
//
//////////////////////////////////////////////////////////////////////
void InitDrawEvent(GdkRectangle * aArea,
nsPaintEvent & aPaintEvent,
PRUint32 aEventType);
void UninitDrawEvent(GdkRectangle * area,
nsPaintEvent & aPaintEvent,
PRUint32 aEventType);
static gint DrawSignal(GtkWidget * aWidget,
GdkRectangle * aArea,
gpointer aData);
virtual gint OnDrawSignal(GdkRectangle * aArea);
virtual void OnRealize(GtkWidget *aWidget);
virtual void OnDestroySignal(GtkWidget* aGtkWidget);
//////////////////////////////////////////////////////////////////////
virtual void InitCallbacks(char * aName = nsnull);
NS_IMETHOD CreateNative(GtkObject *parentWidget);
nsIFontMetrics *mFontMetrics;
PRBool mVisible;
PRBool mDisplayed;
PRBool mIsDestroyingWindow;
PRBool mIsTooSmall;
// XXX Temporary, should not be caching the font
nsFont * mFont;
// Resize event management
nsRect mResizeRect;
int mResized;
PRBool mLowerLeft;
GtkWidget *mShell; /* used for toplevel windows */
GdkSuperWin *mSuperWin;
GtkWidget *mMozArea;
GtkWidget *mMozAreaClosestParent;
nsIMenuBar *mMenuBar;
private:
nsresult SetIcon(GdkPixmap *window_pixmap,
GdkBitmap *window_mask);
nsresult SetIcon();
PRBool mIsUpdating;
// this is the current GdkSuperWin with the focus
static nsWindow *focusWindow;
// when this is PR_TRUE we will block focus
// events to prevent recursion
PRBool mBlockFocusEvents;
};
//
// A child window is a window with different style
//
class ChildWindow : public nsWindow {
public:
ChildWindow();
~ChildWindow();
virtual PRBool IsChild() const;
#ifndef USE_SUPERWIN
NS_IMETHOD Destroy(void);
#endif
};
#endif // Window_h__

View File

@@ -0,0 +1,98 @@
<html>
<head>
<title>Commercial build update</title>
</head>
<body>
<script>
var xpi = new Object();
var numxpi = 0;
var numstatus = 0;
function showprops(obj) {
var props = "";
for (i in obj) {
props += i+":"+obj[i]+"\n ";
}
alert(props);
}
function statusCallback(url,status) {
for (i in xpi) {
if ( url.indexOf(xpi[i]) != -1 ) {
xpi[i] = status;
numstatus++;
break;
}
}
// if we've gotten all results then display them
if (numstatus == numxpi)
{
var text;
var restart = false;
dlg = window.open("","resultWindow");
dlg.document.write("<head><title>XPInstall Results</title></head>");
dlg.document.write("<body><h1>XPInstall Results</h1>");
for (i in xpi)
{
text = " "+i+": ";
switch (status) {
case 999:
restart = true; // fall-through
case 0:
text += "Successful";
break;
default:
text += "Error encountered -- "+status;
break;
}
text += "<br>";
dlg.document.write(text);
}
if (restart) {
dlg.document.write("<p>Some files were in use, you must restart to complete the installation");
}
dlg.document.write("</body>");
dlg.document.close();
}
}
function launch() {
for (var i = 0; i < document.installForm.elements.length; i++)
{
e = document.installForm.elements[i];
if (e.type.match(/checkbox/i) && e.checked )
{
xpi[e.value] = "xpi/"+e.name+".xpi";
numxpi++;
}
}
// showprops(xpi);
InstallTrigger.install(xpi,statusCallback);
}
</script>
<h2>Commercial Build update</h2>
Select the parts of Seamonkey you wish to update and press the Launch button.
<p>
Update all of the pieces you use at once; mismatched versions
will cause you grief.
<form name="installForm">
<input type="checkbox" name="core" value="Navigator" checked> Navigator <br>
<input type="checkbox" name="security" value="SSL/HTTP" checked> SSL/HTTP <br>
<input type="checkbox" name="mail" value="Mail" checked> Mail <br>
<input type="checkbox" name="aim" value="Instant Messenger" checked> Instant Messenger <br>
<input type="checkbox" name="fullcircle" value="FullCircle"> FullCircle <br>
<input type="checkbox" name="spellchecker" value="Spelling Checker"> Spelling Checker <br>
<input type="checkbox" name="psm" value="Cartman"> Cartman <br>
<input type="button" value="Launch XPInstall" onclick="launch()">
</form>
</body>
</html>