172 Commits

Author SHA1 Message Date
jband%netscape.com
191411b358 Landing big set of DOM and XPConnect changes:
DOM: getting rid of JS_GetContextPrivate wherever possible. Use static parent
links where we can. When we do need to find this info about the caller
we call a function that knows how to get that info rather than inline calls
to JS_GetContextPrivate. This is all required for calling DOM objects on
non-DOM JSContexts as we do via xpconnect.

XPConnect: basic refactoring work to disassociate wrappers from the JSContext
that was active when the wrapper was constructed. This allows for calling into
wrapped JS objects on the right JSContext and for proper grouping of wrapped
native objects so that they can share proto objects. This also allows for
better sharing of objects and lays the foundations for threadsafety and
interface flattening.

Also, xpconnect tests are reorganized and improved.

fixes bugs: 13419, 17736, 17746, 17952, 22086

r=vidur r=mccabe r=norris r=cbegle
a=chofmann


git-svn-id: svn://10.0.0.236/trunk@56202 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-18 20:29:29 +00:00
tbogard%aol.net
067920c238 1.) WebShell no longer implements nsIScriptContextOwner.
2.)  WebShell now implements the new nsIScriptGlobalObjectOwner.
3.)  WebShell supports GetInterface to nsIScriptGlobalObject.
4.)  Documents no longer carry around a reference to nsIScriptContextOwner.  Instead they hold on to a nsIScriptGlobalObject.  nsIDocument::GetScriptContextOwner has now become nsIDocument::GetScriptGlobalObject().  Same change to the set methods.


git-svn-id: svn://10.0.0.236/trunk@55175 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-03 09:24:22 +00:00
norris%netscape.com
1ffa0ae294 Fix
20257 unable to edit existing images in editor due to JS error
	19933 JavaScript "window.location" core dumps in CAPS
Back out previous changes for enforcing security on listeners and go with a
simple restriction of access to the method for adding listeners.
r=mstoltz


git-svn-id: svn://10.0.0.236/trunk@54940 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-01 22:23:22 +00:00
waterson%netscape.com
5b5c83c2d3 Fix RemoveStyleSheet() per pierre's comments.
git-svn-id: svn://10.0.0.236/trunk@54718 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-30 04:33:28 +00:00
hyatt%netscape.com
3f8b94159a Adding RemoveStyleSheet to nsIDocument (needed for skins). r=waterson
git-svn-id: svn://10.0.0.236/trunk@54608 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-29 22:15:07 +00:00
norris%netscape.com
2429ef124a Fix 18553 [DOGFOOD] addEventListener allows sniffing keystrokes
Add checks to nsScriptSecurityManager::CheckCanListenTo that take
a principal and ensure that the currently executing script code
either is from the same origin as that principal or has the
UniversalBrowserRead privilege enabled. (chrome code has all
privileges enabled by default.) It's okay for the principal passed in
to be null. That just signifies a privileged window/document that only
can be listened to with privileges.

I added GetPrincipal/SetPrincipal methods to nsIEventListenerManager.
nsDocument::GetNewListenerManager sets a principal on the listener
manager when it creates one. Obviously there are other places that
create listener managers, but scripts seem to go through this one.

Another change is to save some memory usage. Currently I allocate an
array of PolicyType that is NS_DOM_PROP_MAX elements long.
Unfortunately, compilers appear to allocate four bytes for each
PolicyType, so the array takes around 2400 bytes. I've added changes
to use two bit vectors that should consume about 1/16 that space.

r=joki

There are also changes that push nsnull onto the JSContext stack when
entering a nested event loop.

r=jband


git-svn-id: svn://10.0.0.236/trunk@54477 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-25 05:28:18 +00:00
shaver%netscape.com
fa23ac7310 use explicit |.get()| for Unix compilers, a=leaf
git-svn-id: svn://10.0.0.236/trunk@54469 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-25 01:02:52 +00:00
vidur%netscape.com
29607952c0 Fixes for 19650 and 15133. Added nsHTMLDocument::Resolve(). Script event handler compilation is deferred till when the event handler is first invoked. Atoms used for event name comparisions instead of strings. R=joki
git-svn-id: svn://10.0.0.236/trunk@54457 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-25 00:05:21 +00:00
tbogard%aol.net
ae5a81e394 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc
git-svn-id: svn://10.0.0.236/trunk@54392 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 06:03:41 +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
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
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
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
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
troy%netscape.com
bd46e7911f Changed SetView/GetView to take an additional argument which is the
pres context


git-svn-id: svn://10.0.0.236/trunk@51822 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-26 04:44:41 +00:00
peterl%netscape.com
bba68903df Added namespace ID to the AttributeChanged notification
Part fo the fix for Bug 15153
r=troy


git-svn-id: svn://10.0.0.236/trunk@50888 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-15 23:16:45 +00:00
kipp%netscape.com
e18af2d0ee Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage
git-svn-id: svn://10.0.0.236/trunk@50239 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 20:41:19 +00:00
vidur%netscape.com
e16887dc96 Implemented document.width/document.height by looking at the dimensions of the view of the frame of the document element. Bug 961. R: troy
git-svn-id: svn://10.0.0.236/trunk@50006 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-06 20:32:49 +00:00
norris%netscape.com
3c9599e418 Fix 15458 "onLoadHandler does not work"
Reviewed by mstoltz.


git-svn-id: svn://10.0.0.236/trunk@49796 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-05 04:08:14 +00:00
norris%netscape.com
c3494a9ffb Fix the following bugs:
14443 "Same origin" security policy may be circumvented using docu
14820 Fixing up the relationship between nsCodeBasePrincipal and n
14919 Crash in JS MM code
Reviewed by mstoltz, approved by scc.


git-svn-id: svn://10.0.0.236/trunk@49647 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-02 03:41:37 +00:00
joki%netscape.com
62ad116aae Adding old 4.x capture/release compatibility code, changing dom event VK_* names to DOM_VK_*
git-svn-id: svn://10.0.0.236/trunk@48572 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-21 14:18:52 +00:00
rpotts%netscape.com
2ea714e45c The document LoadGroup is now a nsWeakPtr...
git-svn-id: svn://10.0.0.236/trunk@48532 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-21 06:44:56 +00:00
rpotts%netscape.com
5fd55c1f5c Changed GetDocumentLoadGroup(...) to be XPCom complient. This helps prevent leaks when using nsCOMPtrs.
git-svn-id: svn://10.0.0.236/trunk@48176 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-18 06:20:49 +00:00
harishd%netscape.com
e1a0ea3e26 Adding support for htmlL DOCTYPE for
XIF conversion.


git-svn-id: svn://10.0.0.236/trunk@47594 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 17:55:26 +00:00
vidur%netscape.com
407d5256ec Fix for bug 13192. Document is parented by the global object of the container context, not the calling context.
git-svn-id: svn://10.0.0.236/trunk@47276 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-14 04:17:07 +00:00
warren%netscape.com
d54498ba38 Removed caps dependency from necko. Used nsCOMPtr for nsInputStreamChannel.
git-svn-id: svn://10.0.0.236/trunk@46961 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-11 18:45:36 +00:00
vidur%netscape.com
bb6ee90548 Reporting better nsresults to DOM methods.
git-svn-id: svn://10.0.0.236/trunk@46440 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-08 23:18:27 +00:00
norris%netscape.com
3a6d863c13 * clean up nsScriptSecurityManager
* remove nsJSSecurityManager
* save principals in nsIChannels and nsIDocuments


git-svn-id: svn://10.0.0.236/trunk@45080 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-29 21:58:42 +00:00
kipp%netscape.com
ee40827af0 Nuked some warnings
git-svn-id: svn://10.0.0.236/trunk@44917 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-27 21:43:33 +00:00
jfrancis%netscape.com
2a60fccebc making nsPresShell and nsDocument support weak references; using weak references to docs and pres shells within the editor
git-svn-id: svn://10.0.0.236/trunk@44483 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-25 10:51:55 +00:00
akkana%netscape.com
131d318ad4 Revise the doc encoder and content sink APIs yet again to make it easier
to add new flags (pass a flag in the constructor, rather than specific
booleans.  This in order to fix:
11249: Add flag to write only the body in html output.


git-svn-id: svn://10.0.0.236/trunk@44308 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-24 18:30:19 +00:00
joki%netscape.com
25eb777ec4 Adding new onselect event. Also slight modification to ender text widget focus behavior
git-svn-id: svn://10.0.0.236/trunk@42676 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-07 23:18:35 +00:00
mcafee%netscape.com
7ff5fdfced Converting to stream implementation of HTTP posting, this obsoletes nsIPostData and nsIPostToServer. a=warren
git-svn-id: svn://10.0.0.236/trunk@42013 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 20:51:41 +00:00
akkana%netscape.com
8cdd3b1e3e Fix selection bustage from yesterday
git-svn-id: svn://10.0.0.236/trunk@40686 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-22 19:42:21 +00:00
bienvenu%netscape.com
a79e5cdd6d fix windows build bustage for Akkana
git-svn-id: svn://10.0.0.236/trunk@40531 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-21 22:17:20 +00:00
akkana%netscape.com
cf7c8e5dac Add a working implementation for nsDOMSelection::ContainsNode, and use it in nsDocument::IsInSelection for XIF conversion
git-svn-id: svn://10.0.0.236/trunk@40518 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-21 21:29:29 +00:00
warren%netscape.com
1ec5f066a6 Added missing addref.
git-svn-id: svn://10.0.0.236/trunk@40305 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-20 20:03:11 +00:00
warren%netscape.com
f1dfc48c58 Changed around load group insertion/removal to happen on mozilla thread.
git-svn-id: svn://10.0.0.236/trunk@40266 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-20 08:46:33 +00:00
akkana%netscape.com
7e6d908926 Try to fix windows build bustage
git-svn-id: svn://10.0.0.236/trunk@40198 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-20 00:24:11 +00:00
akkana%netscape.com
4ab5c89c92 Use the Range methods instead of homebrew stuff to determine when a point is contained in a range; eliminate code duplication
git-svn-id: svn://10.0.0.236/trunk@40176 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-19 22:41:49 +00:00
joki%netscape.com
065c158182 Updating DOM event apis and changing behavior to properly respect capturing, bubbling, and cancellation methods.
git-svn-id: svn://10.0.0.236/trunk@40134 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-19 19:54:34 +00:00
mjudge%netscape.com
329d39ba11 massive checkin for selection. adjusting nsIDOMSelection api and nsIFrameSelection. many "small" changes. this is not as bad as it looks. layout will not be affected other than "getter" calls for selection. and all consumers of selection should be in good shape.
git-svn-id: svn://10.0.0.236/trunk@39971 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-18 02:27:19 +00:00
peterl%netscape.com
217ac4c011 removed unused imports
git-svn-id: svn://10.0.0.236/trunk@39931 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-18 00:15:03 +00:00
warren%netscape.com
84a03567fa Big changes for Necko load groups. Things are much happier now. Now images work (on pages, but not in chrome).
git-svn-id: svn://10.0.0.236/trunk@39678 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-16 11:14:36 +00:00
sspitzer%netscape.com
1a634cefc1 back this out. causes build bustage. sorry
git-svn-id: svn://10.0.0.236/trunk@39519 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-15 07:13:06 +00:00
sspitzer%netscape.com
e57e2fad89 fix warning
git-svn-id: svn://10.0.0.236/trunk@39516 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-15 06:58:53 +00:00
akkana%netscape.com
a878369d02 Restructure the editor output routines to allow passing in
a mime type and a flag argument.  Also fix the following bugs:
9746: get rid of bogus empty <style> in head.
8143: save wrap column in editor shell in case it's set before the
      editor is created.
9470, 9488: allow explicit specification of formatted output.


git-svn-id: svn://10.0.0.236/trunk@39332 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-14 18:54:29 +00:00
peterl%netscape.com
a139f3c208 cleanup
git-svn-id: svn://10.0.0.236/trunk@38535 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-07 01:19:31 +00:00
vidur%netscape.com
c0f7351823 Switched to using NS_WITH_SERVICE as per bug 5403
git-svn-id: svn://10.0.0.236/trunk@37497 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 23:43:46 +00:00
warren%netscape.com
fdf6c938bb Necko ifdefs for layout and rdf.
git-svn-id: svn://10.0.0.236/trunk@37005 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-26 06:36:26 +00:00