|
197 | 197 |
|
198 | 198 | /* apply set (animation) styling */ |
199 | 199 |
|
200 | | - for (var i in elem.sets) { |
| 200 | + if ("sets" in elem) { |
| 201 | + for (var i = 0; i < elem.sets.length; i++) { |
201 | 202 |
|
202 | | - if (offset < elem.sets[i].begin || offset >= elem.sets[i].end) |
203 | | - continue; |
| 203 | + if (offset < elem.sets[i].begin || offset >= elem.sets[i].end) |
| 204 | + continue; |
204 | 205 |
|
205 | | - isd_element.styleAttrs[elem.sets[i].qname] = elem.sets[i].value; |
| 206 | + isd_element.styleAttrs[elem.sets[i].qname] = elem.sets[i].value; |
206 | 207 |
|
| 208 | + } |
207 | 209 | } |
208 | 210 |
|
209 | 211 | /* |
|
215 | 217 |
|
216 | 218 | for (var qname in isd_element.styleAttrs) { |
217 | 219 |
|
| 220 | + if (! isd_element.styleAttrs.hasOwnProperty(qname)) continue; |
| 221 | + |
218 | 222 | spec_attr[qname] = true; |
219 | 223 |
|
220 | 224 | /* special rule for tts:writingMode (section 7.29.1 of XSL) |
|
245 | 249 |
|
246 | 250 | if (parent !== null) { |
247 | 251 |
|
248 | | - for (var j in imscStyles.all) { |
| 252 | + for (var j = 0; j < imscStyles.all.length; j++) { |
249 | 253 |
|
250 | 254 | var sa = imscStyles.all[j]; |
251 | 255 |
|
|
344 | 348 |
|
345 | 349 | /* initial value styling */ |
346 | 350 |
|
347 | | - for (var k in imscStyles.all) { |
348 | | - |
| 351 | + for (var k = 0; k < imscStyles.all.length; k++) { |
| 352 | + |
349 | 353 | var ivs = imscStyles.all[k]; |
350 | 354 |
|
351 | 355 | /* skip if value is already specified */ |
|
401 | 405 | /* compute styles (only for non-inherited styles) */ |
402 | 406 | /* TODO: get rid of spec_attr */ |
403 | 407 |
|
404 | | - for (var z in imscStyles.all) { |
405 | | - |
| 408 | + for (var z = 0; z < imscStyles.all.length; z++) { |
| 409 | + |
406 | 410 | var cs = imscStyles.all[z]; |
407 | 411 |
|
408 | 412 | if (!(cs.qname in spec_attr)) continue; |
|
447 | 451 |
|
448 | 452 | /* process contents of the element */ |
449 | 453 |
|
450 | | - var contents; |
| 454 | + var contents = null; |
451 | 455 |
|
452 | 456 | if (parent === null) { |
453 | 457 |
|
|
473 | 477 |
|
474 | 478 | } |
475 | 479 |
|
476 | | - for (var x in contents) { |
| 480 | + for (var x = 0; contents !== null && x < contents.length; x++) { |
477 | 481 |
|
478 | 482 | var c = isdProcessContentElement(doc, offset, region, body, isd_element, associated_region_id, contents[x], errorHandler, context); |
479 | 483 |
|
|
493 | 497 | /* remove styles that are not applicable */ |
494 | 498 |
|
495 | 499 | for (var qnameb in isd_element.styleAttrs) { |
| 500 | + if (!isd_element.styleAttrs.hasOwnProperty(qnameb)) continue; |
496 | 501 |
|
497 | 502 | /* true if not applicable */ |
498 | 503 |
|
|
529 | 534 | if (! na) { |
530 | 535 |
|
531 | 536 | var da = imscStyles.byQName[qnameb]; |
532 | | - na = da.applies.indexOf(isd_element.kind) === -1; |
| 537 | + |
| 538 | + if ("applies" in da){ |
| 539 | + |
| 540 | + na = da.applies.indexOf(isd_element.kind) === -1; |
| 541 | + |
| 542 | + } |
533 | 543 |
|
534 | 544 | } |
535 | 545 |
|
|
598 | 608 |
|
599 | 609 | var element; |
600 | 610 |
|
601 | | - for(var i = 0; i < elist.length;) { |
| 611 | + for (var i = 0; i < elist.length;) { |
602 | 612 |
|
603 | 613 | element = elist[i]; |
604 | 614 |
|
|
629 | 639 |
|
630 | 640 | /* remove trailing LWSPs */ |
631 | 641 |
|
632 | | - for(i = 0; i < elist.length; i++) { |
| 642 | + for (i = 0; i < elist.length; i++) { |
633 | 643 |
|
634 | 644 | element = elist[i]; |
635 | 645 |
|
|
652 | 662 |
|
653 | 663 | function constructSpanList(element, elist) { |
654 | 664 |
|
655 | | - for (var i in element.contents) { |
| 665 | + if (! ("contents" in element)) { |
| 666 | + return; |
| 667 | + } |
| 668 | + |
| 669 | + for (var i = 0; i < element.contents.length; i++) { |
656 | 670 |
|
657 | 671 | var child = element.contents[i]; |
658 | 672 | var ruby = child.styleAttrs[imscStyles.byName.ruby.qname]; |
|
733 | 747 |
|
734 | 748 | for (var sname in ttelem.styleAttrs) { |
735 | 749 |
|
| 750 | + if (! ttelem.styleAttrs.hasOwnProperty(sname)) continue; |
| 751 | + |
736 | 752 | this.styleAttrs[sname] = |
737 | 753 | ttelem.styleAttrs[sname]; |
738 | 754 | } |
|
0 commit comments