|
137 | 137 | return formatIDLDef ( args ); |
138 | 138 | } else if ( method == 'idlDocMembers' ) { |
139 | 139 | return formatIDLDocMembers ( args ); |
| 140 | + } else if ( method == 'idlPartials' ) { |
| 141 | + return formatIDLPartials ( args ); |
140 | 142 | } else { |
141 | 143 | return ''; |
142 | 144 | } |
|
146 | 148 | s += formatIDLDoc ( args ); |
147 | 149 | s += formatIDLDef ( args ); |
148 | 150 | s += formatIDLDocMembers ( args ); |
| 151 | + s += formatIDLPartials ( args ); |
149 | 152 | return s; |
150 | 153 | } |
151 | 154 | function findIDL(name) { |
|
188 | 191 | s += eol; |
189 | 192 | s += eltStart ( 'pre', [ newAttr ( 'class', 'idl' ) ], false ); |
190 | 193 | s += eltStart ( 'span', [ newAttr ( 'class', 'idlInterface' ), newAttr ( 'id', generateIDLDefinitionID ( def ) ) ], false ); |
191 | | - s += formatIDLExtendedAttributes ( def, args ); |
| 194 | + s += formatIDLExtendedAttributes ( def, args, true ); |
192 | 195 | if ( partial ) { |
193 | 196 | s += 'partial '; |
194 | 197 | } |
|
222 | 225 | s += eltEnd ( 'pre', true ); |
223 | 226 | return s; |
224 | 227 | } |
225 | | - function formatIDLExtendedAttributes(def,args) { |
| 228 | + function formatIDLExtendedAttributes(def,args,useEol) { |
226 | 229 | var s = ''; |
227 | 230 | var numExposed = 0; |
228 | 231 | for ( var i in def.extAttrs ) { |
|
257 | 260 | } |
258 | 261 | } |
259 | 262 | if ( numExposed > 0 ) { |
260 | | - if ( numOutput > 1 ) { |
261 | | - s += eol; |
| 263 | + if (useEol) { |
| 264 | + if ( numOutput > 1 ) { |
| 265 | + s += eol; |
| 266 | + } |
| 267 | + s += ']' + eol; |
| 268 | + } else { |
| 269 | + s += ']' + ' '; |
262 | 270 | } |
263 | | - s += ']' + eol; |
264 | 271 | } |
265 | 272 | return s; |
266 | 273 | } |
|
350 | 357 | var s = ''; |
351 | 358 | s += eltStart ( 'span', [ newAttr ( 'class', 'idlConst' ) ], false ); |
352 | 359 | s += ' '; |
| 360 | + s += formatIDLExtendedAttributes ( mem, args, false ); |
353 | 361 | s += 'const '; |
354 | 362 | s += formatIDLConstType ( def, mem, mem.idlType, false, args ); |
355 | 363 | s += ' '; |
|
372 | 380 | var n = mem.name; |
373 | 381 | var s = ''; |
374 | 382 | s += eltStart ( 'span', [ newAttr ( 'class', 'idlAttribute' ) ], false ); |
375 | | - s += ' '; |
| 383 | + s += ' '; |
| 384 | + s += formatIDLExtendedAttributes ( mem, args, false ); |
376 | 385 | if ( mem.stringifier ) { |
377 | | - s += ' stringifier'; |
| 386 | + s += 'stringifier '; |
378 | 387 | } |
379 | 388 | if ( mem.readonly ) { |
380 | | - s += ' readonly'; |
| 389 | + s += 'readonly '; |
381 | 390 | } |
382 | | - s += ' '; |
383 | 391 | s += 'attribute '; |
384 | 392 | s += formatIDLAttrType ( def, mem, mem.idlType, false, args ); |
385 | 393 | s += ' '; |
|
451 | 459 | var s = ''; |
452 | 460 | s += eltStart ( 'span', [ newAttr ( 'class', 'idlMethod' ) ], false ); |
453 | 461 | s += ' '; |
| 462 | + s += formatIDLExtendedAttributes ( mem, args, false ); |
454 | 463 | s += formatIDLOperType ( def, mem, mem.idlType, false, args ); |
455 | 464 | s += ' '; |
456 | 465 | s += eltStart ( 'span', [ newAttr ( 'class', 'idlMethName' ) ], false ); |
|
912 | 921 | function formatIDLMemberNameAsLink(def,mem,args) { |
913 | 922 | return formatAsLink ( mem.name, getIDLMemberCSSClass ( def, mem, args ), generateIDRef ( generateIDLMemberID ( def, mem, args ) ), args ); |
914 | 923 | } |
| 924 | + function findIDLPartials(name) { |
| 925 | + var partials = []; |
| 926 | + for ( var i in idl ) { |
| 927 | + var d = idl[i]; |
| 928 | + if ( d.type != 'partialinterface' ) { |
| 929 | + continue; |
| 930 | + } else if ( !! d.name && ( d.name == name ) ) { |
| 931 | + partials.push(d); |
| 932 | + } |
| 933 | + } |
| 934 | + return partials; |
| 935 | + } |
| 936 | + function formatIDLPartial(d, args) { |
| 937 | + var s = ''; |
| 938 | + s += formatIDLDefinitionDoc ( d, args ); |
| 939 | + s += formatIDLDefinition ( d, args ); |
| 940 | + s += formatIDLDefinitionDocMembers ( d, args ); |
| 941 | + return s; |
| 942 | + } |
| 943 | + function formatIDLPartials(args) { |
| 944 | + var s = ''; |
| 945 | + var partials = findIDLPartials ( args[0] ); |
| 946 | + for ( var i in partials ) { |
| 947 | + s += formatIDLPartial ( partials[i], args ); |
| 948 | + } |
| 949 | + return s; |
| 950 | + } |
915 | 951 | function newAttr(n,v) { |
916 | 952 | return { nodeName: n, nodeValue: v }; |
917 | 953 | } |
|
0 commit comments