function chromeHack(optionElement) {
  // Workaround for https://code.google.com/p/chromium/issues/detail?id=381459
  // Adding an <option selected="selected"> element to a <select required="required"> should
  // automatically select the new element
  if (optionElement[0].hasAttribute('selected')) {
    optionElement[0].selected = true;
  }
}
@ngdoc directive
@name script
@restrict E

@description
Load the content of a `<script>` element into {@link ng.$templateCache `$templateCache`}, so that the
template can be used by {@link ng.directive:ngInclude `ngInclude`},
{@link ngRoute.directive:ngView `ngView`}, or {@link guide/directive directives}. The type of the
`<script>` element must be specified as `text/ng-template`, and a cache name for the template must be
assigned through the element's `id`, which can then be used as a directive's `templateUrl`.

@param {string} type Must be set to `'text/ng-template'`.
@param {string} id Cache name of the template.

@example
  <example>
    <file name="index.html">
      <script type="text/ng-template" id="/tpl.html">
        Content of the template.
      </script>

      <a ng-click="currentTpl='/tpl.html'" id="tpl-link">Load inlined template</a>
      <div id="tpl-content" ng-include src="currentTpl"></div>
    </file>
    <file name="protractor.js" type="protractor">
      it('should load template defined inside script tag', function() {
        element(by.css('#tpl-link')).click();
        expect(element(by.css('#tpl-content')).getText()).toMatch(/Content of the template/);
      });
    </file>
  </example>