@@ -70,34 +70,33 @@ if (typeof HTMLTemplateElement === 'undefined') {
7070 canDecorate = false ;
7171 }
7272 }
73-
74- var nativeCloneNode = Node . prototype . cloneNode ;
75-
76- HTMLTemplateElement . cloneNode = function ( template , deep ) {
77- var clone = nativeCloneNode . call ( template ) ;
78- this . decorate ( clone ) ;
79- if ( deep ) {
80- // NOTE: use native clone node to make sure CE's wrapped
81- // cloneNode does not cause elements to upgrade.
82- clone . content . appendChild (
83- nativeCloneNode . call ( template . content , true ) ) ;
84- // these two lists should be coincident
85- var s$ = template . content . querySelectorAll ( TEMPLATE_TAG ) ;
86- var t$ = clone . content . querySelectorAll ( TEMPLATE_TAG ) ;
87- for ( var i = 0 , l = t$ . length , t , s ; i < l ; i ++ ) {
88- s = s$ [ i ] ;
89- t = t$ [ i ] ;
90- this . decorate ( s ) ;
91- t . parentNode . replaceChild ( s . cloneNode ( true ) , t ) ;
92- }
93- }
94- return clone ;
95- } ;
96-
9773 // bootstrap recursively
9874 HTMLTemplateElement . bootstrap ( template . content ) ;
9975 } ;
10076
77+ var nativeCloneNode = Node . prototype . cloneNode ;
78+
79+ HTMLTemplateElement . cloneNode = function ( template , deep ) {
80+ var clone = nativeCloneNode . call ( template ) ;
81+ this . decorate ( clone ) ;
82+ if ( deep ) {
83+ // NOTE: use native clone node to make sure CE's wrapped
84+ // cloneNode does not cause elements to upgrade.
85+ clone . content . appendChild (
86+ nativeCloneNode . call ( template . content , true ) ) ;
87+ // these two lists should be coincident
88+ var s$ = template . content . querySelectorAll ( TEMPLATE_TAG ) ;
89+ var t$ = clone . content . querySelectorAll ( TEMPLATE_TAG ) ;
90+ for ( var i = 0 , l = t$ . length , t , s ; i < l ; i ++ ) {
91+ s = s$ [ i ] ;
92+ t = t$ [ i ] ;
93+ this . decorate ( s ) ;
94+ t . parentNode . replaceChild ( s . cloneNode ( true ) , t ) ;
95+ }
96+ }
97+ return clone ;
98+ } ;
99+
101100 var originalImportNode = document . importNode ;
102101
103102 // clone instead of importing <template>
0 commit comments