<!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" exportparts="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);
      }, "Style from document overrides style from outer CE");
    </script>
  </body>
</html>
