<!DOCTYPE html>
<html>
  <head>
    <title>CSS Shadow Parts - Simple forward</title>
    <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly">
    <link href="http://www.google.com/" rel="author" title="Google">
    <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help">
    <script src="../resources/testharness.js"></script>
    <script src="../resources/testharnessreport.js"></script>
    <script src="support/shadow-helper.js"></script>
  </head>
  <body>
    <style>#c-e-outer::part(part-forwarded) { color: green; }</style>
    <script>installCustomElement("custom-element-inner", "custom-element-inner-template");</script>
    <template id="custom-element-inner-template">
      <style>span { color: red; }</style>
      <span id="green_part" part="partp">This text</span>
    </template>
    <script>installCustomElement("custom-element-outer", "custom-element-outer-template");</script>
    <template id="custom-element-outer-template"><custom-element-inner id="c-e-inner" partmap="partp part-forwarded"></custom-element-inner></template>
    The following text should be green:
    <custom-element-outer id="c-e-outer"></custom-element-outer>
    <script type="text/javascript">
      "use strict";
      const colorGreen = "rgb(0, 128, 0)";
      test(function() {
        var el = getElementByShadowIds(document, ["c-e-outer", "c-e-inner", "green_part"]);
        assert_equals(window.getComputedStyle(el).color, colorGreen);
      }, "Part in inner host is forwarded for styling by document style sheet");
    </script>
  </body>
</html>
