The DOM class is used to bridge the various gaps between browsers - the 
dispatchEvent method, as you've noted, is invoked by the specific 
implementation in use at a given time. These browser-specific 
implementations live in the com.google.gwt.user.client.impl package:

*DOMImpl
**DOMImplStandard
***DOMImplMozilla
***DOMImplOpera
***DOMImplStandardBase
****DOMImplIE9
****DOMImplWebkit
**DOMImplTrident
***DOMImplIE6
***DOMImplIE8

DOMImpl doesn't ever call dispatchEvent, but DOMImplStandard calls both it 
and its partner previewEvent *as part of* callbacks in the 
initEventSystem() jsni method. This callback is kept in the static field 
DOMImplStandard.dispatchEvent, and is later wired directly into dom 
elements (in the various sinkEvents calls), and so can be invoked by the 
browser when the user interacts with the page.

In the same way, DOMImplTrident.initEventSystem also has references to this 
method, by wiring them up to the browser's own callbacks.

Other classes typical watch or modify the callback in the dispatchEvent 
static field, the reference to the underlying JavaScript function.

On Tuesday, September 18, 2012 9:49:21 AM UTC-5, Luke wrote:
>
> May i know which jsni files that calling  DOM.dispatchEvent(..) whenever 
> event is trigger from browser? 

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/v0AdlbeE7K0J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to