<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width">
  <title>SVG example</title>
  <script src="bower_components/platform-dev/platform.js"></script>
  <link rel="import" href="email.html">
  <link rel="import" href="bower_components/core-icon/core-icon.html">
</head>
<body>
  <polymer-element name="x-foo" extends="core-theme-aware" attributes="icon src size theme">
  <template>
    <link rel="stylesheet" href="bower_components/core-icon/core-icon.css">
    <content></content>
  </template>
  <script>
    Polymer('x-foo', {
      observe: {
        icon: 'nop',
        activeTheme: 'nop',
        nop: function(){}
      }
    });
  </script>
  </polymer-element>

  <polymer-element name="svg-container">
    <template>
      <style>
        .item {
          height: 32px;
          border: 1px solid black;
          display: flex;
          align-items: center;
          box-sizing: border-box;
        }
        .center {
          flex: 1;
        }
        .middle {
          border-top: 0px;
        }
        :host {
          display: block;
        }
      </style>
      <template repeat="{{i in items}}"><div class="[[ {item: true, middle: i != 0} | tokenList ]]">
          <x-foo icon="email:archive"></x-foo>
          <span class="center">Email item [[i]]</span>
          <x-foo icon="email:archive" style="fill: red;"></x-foo>
          <x-foo icon="email:archive" style="fill: blue;"></x-foo></div></template>
    </template>
    <script>
      Polymer('svg-container', {
        gc: function() {
          if (window.gc) {
            // repeat the mantra
            for (var i = 0; i < 4; i++) {
              window.gc();
            }
          } else {
            console.warn('No exposed gc available');
          }
        },
        ready: function() {
          var ITEMS = 300;
          this.items = new Array(ITEMS);
          for (var i = 0; i < ITEMS; i++) {
            this.items[i] = i;
          }
          this.gc();
          var start = performance.now();
          // time until after painting the stamped template
          this.onMutation(this.shadowRoot, function() {
            requestAnimationFrame(function() {
              console.log(this.shadowRoot.childNodes.length, performance.now() - start);
            }.bind(this));
          });
        }
      });
    </script>
  </polymer-element>

  <svg-container></svg-container>
</body>
</html>

Add test of internals of core-icon minus core-iconset
Add test of internals of core-icon minus core-iconset
