<!DOCTYPE html>
<html>
  <head>
    <title>CSS Shadow Parts - Precedence part vs part</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: blue; }</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">
      <style>#c-e-inner::part(partp) { color: red; }</style>
      <custom-element-inner id="c-e-inner"></custom-element-inner>
    </template>
    The following text should be green:
    <custom-element-outer id="c-e-outer" partmap="partp part-forwarded"></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);
      }, "Style from document overrides style from outer CE");
    </script>
  </body>
</html>
