File tree Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -135,7 +135,7 @@ export class Parse5DomAdapter extends DomAdapter {
135135 } ;
136136 return evt ;
137137 }
138- preventDefault ( evt ) {
138+ preventDefault ( evt ) {
139139 evt . returnValue = false ;
140140 }
141141 getInnerHTML ( el ) {
@@ -302,11 +302,18 @@ export class Parse5DomAdapter extends DomAdapter {
302302 throw _notImplemented ( 'getDistributedNodes' ) ;
303303 }
304304 clone ( node ) {
305- var temp = treeAdapter . createElement ( "template" , null , [ ] ) ;
306- treeAdapter . appendChild ( temp , node ) ;
307- var serialized = serializer . serialize ( temp ) ;
308- var newParser = new parse5 . Parser ( parse5 . TreeAdapters . htmlparser2 ) ;
309- return newParser . parseFragment ( serialized ) . childNodes [ 0 ] ;
305+ // e.g. document fragment
306+ if ( node . type === 'root' ) {
307+ var serialized = serializer . serialize ( node ) ;
308+ var newParser = new parse5 . Parser ( parse5 . TreeAdapters . htmlparser2 ) ;
309+ return newParser . parseFragment ( serialized ) ;
310+ } else {
311+ var temp = treeAdapter . createElement ( "template" , null , [ ] ) ;
312+ treeAdapter . appendChild ( temp , node ) ;
313+ var serialized = serializer . serialize ( temp ) ;
314+ var newParser = new parse5 . Parser ( parse5 . TreeAdapters . htmlparser2 ) ;
315+ return newParser . parseFragment ( serialized ) . childNodes [ 0 ] ;
316+ }
310317 }
311318 hasProperty ( element , name :string ) {
312319 return _HTMLElementPropertyList . indexOf ( name ) > - 1 ;
You can’t perform that action at this time.
0 commit comments