File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 106106 Platform . ShadowCSS . shimStyling ( this . templateContent ( ) , name , extendee ) ;
107107 }
108108 // register our custom element
109- this . registerPrototype ( name ) ;
109+ this . registerPrototype ( name , extendee ) ;
110110 // reference constructor in a global named by 'constructor' attribute
111111 this . publishConstructor ( ) ;
112112 // subclasses may now register themselves
Original file line number Diff line number Diff line change 8181 prototype [ name ] = extend ( { } , Object . getPrototypeOf ( prototype ) [ name ] ) ;
8282 } ,
8383 // register 'prototype' to custom element 'name', store constructor
84- registerPrototype : function ( name ) {
85- // register the custom type
86- this . ctor = document . register ( name , {
84+ registerPrototype : function ( name , extendee ) {
85+ var info = {
8786 prototype : this . prototype
88- } ) ;
87+ }
88+ // native element must be specified in extends
89+ if ( extendee && extendee . indexOf ( '-' ) < 0 ) {
90+ info . extends = extendee ;
91+ }
92+ // register the custom type
93+ this . ctor = document . register ( name , info ) ;
8994 // constructor shenanigans
9095 this . prototype . constructor = this . ctor ;
9196 // register the prototype with HTMLElement for name lookup
Original file line number Diff line number Diff line change 3030
3131 < x-blarg > </ x-blarg >
3232 < hr >
33+ < li is ="my-li "> </ li >
3334
3435 <!-- script follows declaration -->
3536 < polymer-element name ="x-foo ">
130131 </ script >
131132 </ polymer-element >
132133
134+ < polymer-element name ="my-li " extends ="li ">
135+ < template >
136+ Hello World
137+ </ template >
138+ < script >
139+ Polymer ( 'my-li' , {
140+ custom : true
141+ } ) ;
142+ </ script >
143+ </ polymer-element >
144+
133145 < script >
134146 var assert = chai . assert ;
135147 function test ( ) {
146158 assert . equal ( fizz . squid , 'fink' ) ;
147159 var zzif = document . querySelector ( 'x-zzif' ) ;
148160 assert . equal ( zzif . squid , 'zink' ) ;
161+ var myLi = document . querySelector ( '[is=my-li]' ) ;
162+ assert . equal ( myLi . custom , true ) ;
149163 done ( ) ;
150164 }
151165 </ script >
You can’t perform that action at this time.
0 commit comments