@@ -14,7 +14,6 @@ import {
1414 trapCapturedEvent ,
1515} from './ReactDOMEventListener' ;
1616import { DOCUMENT_NODE , DOCUMENT_FRAGMENT_NODE } from '../shared/HTMLNodeType' ;
17- import isEventSupported from './isEventSupported' ;
1817import BrowserEventConstants from './BrowserEventConstants' ;
1918
2019export * from 'events/ReactEventEmitterMixin' ;
@@ -133,61 +132,32 @@ function getListeningForDocument(mountAt) {
133132 * @param {string } registrationName Name of listener (e.g. `onClick`).
134133 * @param {object } contentDocumentHandle Document which owns the container
135134 */
136- export function listenTo ( registrationName , contentDocumentHandle , root ) {
137- var mountAt = contentDocumentHandle ;
138- var isListening = getListeningForDocument ( mountAt ) ;
135+ export function listenTo ( registrationName , domElement , rootContainerElement ) {
136+ var isListening = getListeningForDocument ( domElement ) ;
139137 var dependencies = registrationNameDependencies [ registrationName ] ;
140138
141139 for ( var i = 0 ; i < dependencies . length ; i ++ ) {
142140 var dependency = dependencies [ i ] ;
141+ var eventName = topLevelTypes [ dependency ] ;
143142
144143 if ( ! ( isListening . hasOwnProperty ( dependency ) && isListening [ dependency ] ) ) {
145144 if ( forceDelegation . hasOwnProperty ( dependency ) ) {
146145 trapBubbledEvent (
147146 dependency ,
148- topLevelTypes [ dependency ] ,
149- documentForRoot ( root ) ,
147+ eventName ,
148+ documentForRoot ( rootContainerElement ) ,
150149 ) ;
151- } else if ( dependency === 'topWheel' ) {
152- if ( isEventSupported ( 'wheel' ) ) {
153- trapBubbledEvent ( 'topWheel' , 'wheel' , mountAt ) ;
154- } else if ( isEventSupported ( 'mousewheel' ) ) {
155- trapBubbledEvent ( 'topWheel' , 'mousewheel' , mountAt ) ;
156- } else {
157- // Firefox needs to capture a different mouse scroll event.
158- // @see http://www.quirksmode.org/dom/events/tests/scroll.html
159- trapBubbledEvent ( 'topWheel' , 'DOMMouseScroll' , mountAt ) ;
160- }
161- } else if ( dependency === 'topScroll' ) {
162- trapCapturedEvent ( 'topScroll' , 'scroll' , mountAt ) ;
163- } else if ( dependency === 'topFocus' || dependency === 'topBlur' ) {
164- trapCapturedEvent ( 'topFocus' , 'focus' , mountAt ) ;
165- trapCapturedEvent ( 'topBlur' , 'blur' , mountAt ) ;
166-
167- // to make sure blur and focus event listeners are only attached once
168- isListening . topBlur = true ;
169- isListening . topFocus = true ;
170- } else if ( dependency === 'topCancel' ) {
171- if ( isEventSupported ( 'cancel' , true ) ) {
172- trapCapturedEvent ( 'topCancel' , 'cancel' , mountAt ) ;
173- }
174- isListening . topCancel = true ;
175- } else if ( dependency === 'topClose' ) {
176- if ( isEventSupported ( 'close' , true ) ) {
177- trapCapturedEvent ( 'topClose' , 'close' , mountAt ) ;
178- }
179- isListening . topClose = true ;
180150 } else if ( topLevelTypes . hasOwnProperty ( dependency ) ) {
181- trapBubbledEvent ( dependency , topLevelTypes [ dependency ] , mountAt ) ;
151+ trapBubbledEvent ( dependency , eventName , domElement ) ;
182152 }
183153
184154 isListening [ dependency ] = true ;
185155 }
186156 }
187157}
188158
189- export function isListeningToAllDependencies ( registrationName , mountAt ) {
190- var isListening = getListeningForDocument ( mountAt ) ;
159+ export function isListeningToAllDependencies ( registrationName , domElement ) {
160+ var isListening = getListeningForDocument ( domElement ) ;
191161 var dependencies = registrationNameDependencies [ registrationName ] ;
192162 for ( var i = 0 ; i < dependencies . length ; i ++ ) {
193163 var dependency = dependencies [ i ] ;
0 commit comments