File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 199199 handleNative : function ( ev ) {
200200 var handled ;
201201 var type = ev . type ;
202- var node = ev . currentTarget ;
202+ var node = wrap ( ev . currentTarget ) ;
203203 var gobj = node [ GESTURE_KEY ] ;
204+ if ( ! gobj ) {
205+ return ;
206+ }
204207 var gs = gobj [ type ] ;
205208 if ( ! gs ) {
206209 return ;
292295
293296 // automate the event listeners for the native events
294297 add : function ( node , evType , handler ) {
298+ // SD polyfill: handle case where `node` is unwrapped, like `document`
299+ node = wrap ( node ) ;
295300 var recognizer = this . gestures [ evType ] ;
296301 var deps = recognizer . deps ;
297302 var name = recognizer . name ;
323328
324329 // automate event listener removal for native events
325330 remove : function ( node , evType , handler ) {
331+ // SD polyfill: handle case where `node` is unwrapped, like `document`
332+ node = wrap ( node ) ;
326333 var recognizer = this . gestures [ evType ] ;
327334 var deps = recognizer . deps ;
328335 var name = recognizer . name ;
Original file line number Diff line number Diff line change 4141 'unit/array-selector.html' ,
4242 'unit/events.html' ,
4343 'unit/gestures.html' ,
44+ 'unit/gestures.html?dom=shadow' ,
4445 'unit/utils.html' ,
4546 'unit/utils-content.html' ,
4647 'unit/utils.html?dom=shadow' ,
Original file line number Diff line number Diff line change 139139 } ) ;
140140 </ script >
141141</ dom-module >
142+
143+ < dom-module id ="x-document-listener ">
144+ < script >
145+ Polymer ( {
146+ is : 'x-document-listener' ,
147+ properties : {
148+ stream : {
149+ type : Array ,
150+ value : function ( ) {
151+ return [ ] ;
152+ }
153+ }
154+ } ,
155+ setup : function ( ) {
156+ this . listen ( document , 'down' , 'handler' ) ;
157+ } ,
158+ teardown : function ( ) {
159+ this . unlisten ( document , 'down' , 'handler' ) ;
160+ } ,
161+ handler : function ( e ) {
162+ this . stream . push ( e ) ;
163+ }
164+ } ) ;
165+ </ script >
166+ </ dom-module >
Original file line number Diff line number Diff line change 1212< head >
1313 < meta charset ="utf-8 ">
1414
15- < script src ="../../../webcomponentsjs/webcomponents-lite .js "> </ script >
15+ < script src ="../../../webcomponentsjs/webcomponents.js "> </ script >
1616 < script src ="../../../web-component-tester/browser.js "> </ script >
1717
1818 < link rel ="import " href ="../../polymer.html ">
386386 } ) ;
387387 } ) ;
388388 } ) ;
389+
390+ suite ( 'SD Polyfill' , function ( ) {
391+ var el ;
392+ setup ( function ( ) {
393+ el = document . createElement ( 'x-document-listener' ) ;
394+ document . body . appendChild ( el ) ;
395+ el . setup ( ) ;
396+ } ) ;
397+
398+ teardown ( function ( ) {
399+ el . teardown ( ) ;
400+ document . body . removeChild ( el ) ;
401+ } ) ;
402+
403+ test ( 'document listener works in SD polyfill' , function ( ) {
404+ var ev = new CustomEvent ( 'mousedown' , { bubbles : true } ) ;
405+ el . dispatchEvent ( ev ) ;
406+ assert . equal ( el . stream . length , 1 ) ;
407+ } ) ;
408+ } ) ;
389409 </ script >
390410
391411</ body >
You can’t perform that action at this time.
0 commit comments