Browser based listeners can now registers themselves using the AddGroupedEventListener and passing the system event group (which can be gotten via the nsIDOMEventReceiver interface). These listeners will now fire after all content based listeners have processed.
In this initial version of the checkin most browser listeners are still left in the original content group for stability purposes.
* Adds Makefile.ins to win32 specific dirs
* Adds WINNT ifdefs to Makefile.ins
* Causes NSPR to be compiled with --with-mozilla
* Misc general Makefile.in cleanup
Bug #58981 r=mcafee
Fixes problems with tabbing from the document to elements with the index attribute set in both mfcembed and the regular browser app.
patch by bryner, r=jag, sr=hyatt, a=chofmann
69328 fix removeAttribute to remove event listeners. sr:jst, r:saari
68568 add simulated click to keypress activation of links for 4x compat and access. sr:jst, r:saari
77251 fix rest of createEvent strings to use plural form. sr:hyatt, r:jst
77595 fix imagemap tabbing by setting correct tabIndex for no tabindex images. sr:jst, r:saari
- When a docshell first takes focus, give focus to its first focusable content
- Make the docshell come after all of its content in the tabbing order
r=saari, sr=hyatt.
r = jfrancis
a = ftang
fix proposed by m_kato@ga2.so-net.ne.jp
New events are added to support reconversion. As a result, many files
are affected. They are:
editor:
nsEditor.h nsEditor.cpp nsEditorEventListeners.cpp nsEditorEventListeners.h
nsHTMLEditor.h nsHTMLEditor.cpp nsIEditorIMESupport.h
dom and layout:
nsIPrivateCompositionEvent.h nsDOMEvent.h nsDOMEvnet.cpp nsEventListenerManager.cpp
nsIDOMCompositionListener.h
widget:
nsGUIEvent.h nsWindow.h nsWindow.cpp
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
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