<!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>
      "use strict";
      const colorGreen = "rgb(0, 128, 0)";
      test(function() {
        const 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>
