diff --git a/source b/source index 5f8878827fa..ff29ae96776 100644 --- a/source +++ b/source @@ -77533,8 +77533,9 @@ console.assert(iframeWindow.frameElement === null);
  • If current's top-level browsing context's active document's cross-origin opener policy's - value is "same-origin" or - "same-origin-plus-COEP", then:

    + value is "same-origin" or "same-origin-plus-COEP", then:

    1. Let currentDocument be current's active @@ -79998,8 +79999,8 @@ interface BarProp {

      A cross-origin opener policy value allows a document which is navigated to in a top-level browsing context to force the creation of a new top-level browsing - context, and a corresponding group. It consists of the - following:

      + context, and a corresponding group. The possible values + are:

      "unsafe-none"
      @@ -80041,23 +80042,23 @@ interface BarProp {
      1. A value, which is a cross-origin opener policy value, initially "unsafe-none".

      2. + data-x="coop-unsafe-none">unsafe-none".

      3. A reporting endpoint, which is string or - null, initially null.

      4. + null, initially null.

      5. A report only value, which is a cross-origin opener policy value, initially "unsafe-none".

      6. + data-x="cross-origin opener policy value">cross-origin opener policy value, initially + "unsafe-none".

      7. A report only reporting endpoint, - wich is a string or null, initially null.

      8. + which is a string or null, initially null.

      To match cross-origin opener policy values, given a cross-origin opener policy value A, an origin - originA, a cross-origin opener policy value - B, and an origin originB:

      + originA, a cross-origin opener policy value B, and an + origin originB:

      1. If A is "unsafe-none" and B @@ -80107,47 +80108,46 @@ interface BarProp {

      2. If response's HTTPS state is "deprecated", then return policy.

      3. -
      4. Let value be the result of

        Let parsedItem be the result of getting a structured header given `Cross-Origin-Opener-Policy` and "item" from response's header list.

      5. -

        If value is not failure and is not null, then:

        +

        If parsedItem is neither failure nor null, then:

        1. -

          If value[0] is "same-origin", then:

          +

          If parsedItem[0] is "same-origin", then:

            -
          1. Let coep be the result of obtaining a cross-origin embedder - policy from response.

          2. +
          3. Let coep be the result of obtaining a cross-origin embedder policy from response.

          4. -
          5. If coep's value is - "require-corp", then set policy

            If coep's value is "require-corp", then set policy's value to "same-origin-plus-COEP".

          6. -
          7. Else, set policy value to "

            Else, set policy's value to "same-origin".

        2. -
        3. If value bare item is "

          If parsedItem[0] is "same-origin-allow-popups", then set - policy value to "policy's value to "same-origin-allow-popups".

        4. -
        5. If value's parameters["report-to"] exists and it is a string, then set

          If parsedItem[1]["report-to"] exists and it is a string, then set reporting endpoint to - value's parameters["report-to"].

        6. + parsedItem[1]["report-to"].

      6. -
      7. Let reportOnlyValue be the result of

        Set parsedItem to the result of getting a structured header given `Cross-Origin-Opener-Policy-Report-Only` and @@ -80155,23 +80155,21 @@ interface BarProp { data-x="concept-response-header-list">header list.

      8. -

        If reportOnlyValue is not failure and is not null, then:

        +

        If parsedItem is neither failure nor null, then:

        1. -

          If reportOnlyValue[0] is "same-origin", - then:

          +

          If parsedItem[0] is "same-origin", then:

            -
          1. Let coep be the result of obtaining a cross-origin embedder - policy from response.

          2. +
          3. Let coep be the result of obtaining a cross-origin embedder policy from response.

          4. -

            If coep's value is - "require-corp" or coep's If coep's value is "require-corp" or coep's report only value is "require-corp", then set policy require-corp", then set policy's report only value to "same-origin-plus-COEP".

            @@ -80180,20 +80178,20 @@ interface BarProp { developers more freedom in the order of deployment of COOP and COEP.

          5. -
          6. Else, set policy report only +

          7. Else, set policy's report only value to "same-origin".

        2. -
        3. If reportOnlyValue bare item is "

          If parsedItem[0] is "same-origin-allow-popups", then set - policy report only value to + policy's report only value to "same-origin-allow-popups".

        4. -
        5. If reportOnlyValue's parameters["report-to"] exists and it is a string, then set

          If parsedItem[1]["report-to"] exists and it is a string, then set report only reporting endpoint to - reportOnlyValue's parameters["report-to"].

        6. + parsedItem's parameters["report-to"].

      9. @@ -80207,8 +80205,8 @@ interface BarProp { policy value requires a browsing context group switch, given a boolean isInitialAboutBlank, two origins responseOrigin, activeDocumentNavigationOrigin, and two cross-origin opener policy values responseCOOPValue, - activeDocumentCOOPValue:

        + data-x="coop-struct-value">cross-origin opener policy values responseCOOPValue + and activeDocumentCOOPValue:

        1. If the result of matching @@ -80219,14 +80217,14 @@ interface BarProp {

        2. If all of the following are true:

          -
            -
          • isInitialAboutBlank.

          • +
              +
            • isInitialAboutBlank,

            • activeDocumentCOOPValue's value is - "same-origin-allow-popups".

            • + "same-origin-allow-popups", and

            • responseCOOPValue is "unsafe-none".

            • + data-x="coop-unsafe-none">unsafe-none
              ",

            then return false.

            @@ -80235,7 +80233,7 @@ interface BarProp {
          • Return true.

        -

        To check if enforcing report only COOP +

        To check if enforcing report-only COOP policies would require a browsing context group switch, given a boolean isInitialAboutBlank, two origins responseOrigin, activeDocumentNavigationOrigin, and two BarProp { activeDocumentNavigationOrigin, responseCOOP's report-only value and activeDocumentCOOPReportOnly's report-only value is false, - return false.

        + data-x="coop-struct-report-only-value">report-only value is false, then return false.

        Matching report only policies allows a website to specify the same report only - Cross-Origin-Opener-Policy on all its pages and not receive violation reports for navigations + cross-origin opener policy on all its pages and not receive violation reports for navigations between these pages.

        @@ -80264,7 +80261,7 @@ interface BarProp { sandboxFlags, responseOrigin, activeDocumentNavigationOrigin, responseCOOP's value and activeDocumentCOOPReportOnly's report-only - value is true, return true.

        + value is true, then return true.

      10. If the result of checking if the navigation requires a @@ -80272,25 +80269,24 @@ interface BarProp { sandboxFlags, responseOrigin, activeDocumentNavigationOrigin, responseCOOP's report-only value and activeDocumentCOOPReportOnly's value is - true, return true.

      11. + true, then return true.

      12. Return false.

      A cross-origin opener policy enforcement result is - a struct composed of:

      + a struct with the following items:

        -
      • A boolean needBrowsingContextGroupSwitch, - initially false.

      • +
      • A boolean needs a browsing context group + switch, initially false.

      • A boolean needBrowsingContextGroupSwitchReportOnly, - initially false.

      • + data-x="coop-enforcement-bcg-switch-report-only">would need a browsing context group switch due + to report-only, initially false.

        -
      • A boolean sameOriginWithPreviousDocumentIncludingRedirects, - initally true.

      • +
      • A boolean same-origin with the previous + document including redirects, initally true.

      To check if a response requires a @@ -80306,8 +80302,8 @@ interface BarProp {

    2. If activeDocumentNavigationOrigin is not same origin with responseOrigin, set currentCOOPEnforcementResult's sameOriginWithPreviousDocumentIncludingRedirects to - false.

    3. + data-x="coop-enforcement-same-origin">same-origin with the previous document including + redirects to false.

    4. Let activeDocumentCOOP be browsingContext's active document's cross-origin opener @@ -80324,33 +80320,34 @@ interface BarProp { the COOP values require a browsing context group switch given isInitialAboutBlank, activeDocumentCOOP's value, activeDocumentNavigationOrigin, - responseCOOP's value and + responseCOOP's value, and responseOrigin is true, set currentCOOPEnforcementResult's - needBrowsingContextGroupSwitch to true.

    5. + needs a browsing context group switch to + true.

    6. If the result of checking if enforcing report only COOP policies would require a browsing context group switch given isInitialAboutBlank, responseOrigin, activeDocumentNavigationOrigin, responseCOOP, and activeDocumentCOOP, is true, set currentCOOPEnforcementResult's needBrowsingContextGroupSwitchReportOnly - to true.

    7. + data-x="coop-enforcement-bcg-switch-report-only">would need a browsing context group switch due + to report-only to true.

    8. If browsingContext's browsing context group's browsing - context set's size is strictly greater than 1, then:

      + context set's size is greater than 1, then:

      1. Let previousDocumentURL be referrer.

      2. If currentCOOPEnforcementResult's sameOriginIncludingRedirects is true, set - previousDocumentURL to currentDocumentURL.

      3. + data-x="coop-enforcement-same-origin">same-origin with the previous document including + redirects is true, then set previousDocumentURL to + currentDocumentURL.

        -
      4. If navigationCOOP's reporting endpoint is not null and currentCOOPEnforcementResult's needBrowsingContextGroupSwitch is true,

        If navigationCOOP's reporting + endpoint is not null and currentCOOPEnforcementResult's needs a browsing context group switch is true, queue a violation report for browsing context group switch when navigating with navigationCOOP's reporting endpoint, navigationCOOP's @@ -80359,11 +80356,11 @@ interface BarProp { previousDocumentURL, and "navigate-to-document".

      5. If navigationCOOP's report only reporting endpoint is not null and currentCOOPEnforcementResult's needBrowsingContextGroupSwitchReportOnly, - queue a violation report for browsing context group - switch when navigating with navigationCOOP's report only reporting endpoint is not null and + currentCOOPEnforcementResult's would need a browsing context group switch due + to report-only, queue a violation report for + browsing context group switch when navigating with navigationCOOP's report only reporting endpoint, navigationCOOP's report only value, "reporting", response's BarProp {

      6. If coopEnforcementResult's needBrowsingContextGroupSwitchReportOnly - is true and browsingContext's browsing context + data-x="coop-enforcement-bcg-switch-report-only">would need a browsing context group switch due + to report-only is true and browsingContext's browsing context group's browsing context set's size is - strictly greater than 1, and activeDocumentCOOP's report only reporting endpoint is not null, then:

        + greater than 1, and activeDocumentCOOP's report only reporting endpoint is not null, + then:

        1. If coopEnforcementResult's sameOriginIncludingRedirects is false and - source is not browsingContext, then break.

        2. + data-x="coop-enforcement-same-origin">same-origin with the previous document including + redirects is false and source is not browsingContext, then + break.

        3. Let navigationURL be request's URL.

        4. If coopEnforcementResult's sameOriginIncludingRedirects is true, set - navigationURL to response's URL + data-x="coop-enforcement-same-origin">same-origin with the previous document including + redirects is true, then set navigationURL to response's URL.

        5. Queue a violation report for browsing context group switch when navigating with @@ -80420,27 +80418,28 @@ interface BarProp {

        6. If coopEnforcementResult's needBrowsingContextGroupSwitch is false, return browsingContext. + data-x="coop-enforcement-bcg-switch">needs a browsing context group switch is false, then + return browsingContext.

        7. If browsingContext's browsing context group's browsing context - set's size is strictly greater than 1, and + set's size is greater than 1, and activeDocumentCOOP's reporting - endpoint is not null, then:

          + endpoint is not null, then:

          1. If coopEnforcementResult's sameOriginIncludingRedirects is false and - source is not browsingContext, then break.

          2. + data-x="coop-enforcement-same-origin">same-origin with the previous document including + redirects is false and source is not browsingContext, then + break.

          3. Let navigationURL be request's URL.

          4. If coopEnforcementResult's sameOriginIncludingRedirects is true, set - navigationURL to response's URL + data-x="coop-enforcement-same-origin">same-origin with the previous document including + redirects is true, then set navigationURL to response's URL.

          5. Queue a violation report for browsing context group switch when navigating with @@ -80464,7 +80463,7 @@ interface BarProp {

            If sandboxFlags is not empty, then:

            1. Assert navigationCOOP's value is - "unsafe-none".

            2. + "unsafe-none".

            3. Set newBrowsingContext's sandboxing flag set to sandboxFlags.

            4. @@ -80488,8 +80487,6 @@ interface BarProp { fully defined. It is currently under discussion in issue #5350.

              -

              Reporting policies

              -

              To queue a violation report for browsing context group switch when navigating given a string endpoint, a cross-origin opener policy value @@ -80528,7 +80525,7 @@ interface BarProp { effective-policy - coopValue/td> + coopValue navigation-url @@ -80663,7 +80660,8 @@ interface BarProp {

            5. Let parsedItem be the result of getting a structured header - with `Cross-Origin-Embedder-Policy` and "item".

            6. + with `Cross-Origin-Embedder-Policy` and "item" from + response's header list.

            7. If parsedItem is neither failure nor null and parsedItem[0] is "BarProp {

            8. Set parsedItem to the result of getting a structured header with `Cross-Origin-Embedder-Policy-Report-Only` and "item".

            9. + data-x="">item" from response's header list.

            10. If parsedItem is neither failure nor null and parsedItem[0] is "Location { // but see also cross-origin opener policy enforcement result.

            11. @@ -82653,7 +82652,7 @@ interface Location { // but see also sandboxing flag set and response's forced sandboxing flag set.

              -
            12. Let COOPEnforcementResult be a new

              Let coopEnforcementResult be a new cross-origin opener policy enforcement result.

            13. @@ -82684,7 +82683,7 @@ interface Location { // but see also
              cross-origin opener - policy, and COOPEnforcementResult.

              + policy, and coopEnforcementResult.

            So for example a

            Let responseOrigin be null. -

          6. Let COOPEnforcementResult be a

            Let coopEnforcementResult be a cross-origin opener policy enforcement result.

          7. Let finalSandboxFlags be an empty sandboxing flag set.

          8. @@ -82905,7 +82904,7 @@ interface Location { // but see also
            Check if the response requires a browsing context group switch given browsingContext, responseOrigin, responseCOOP, and - COOPEnforcementResult.

            + coopEnforcementResult.

        8. @@ -83027,7 +83026,7 @@ interface Location { // but see also source, browsingContext, type, request, response, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, - reservedEnvironment, responseCOOP and COOPEnforcementResult. + reservedEnvironment, responseCOOP and coopEnforcementResult. Once the steps have completed, return.
          an XML MIME type that is not an explicitly supported XML MIME @@ -83111,7 +83110,7 @@ interface Location { // but see also source, browsingContext, type, request, response, finalSandboxFlags,finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, - reservedEnvironment, responseCOOP, and COOPEnforcementResult. + reservedEnvironment, responseCOOP, and coopEnforcementResult. Once the steps have completed, return.
          "multipart/x-mixed-replace"
          @@ -83135,7 +83134,7 @@ interface Location { // but see also media section providing @@ -83151,7 +83150,7 @@ interface Location { // but see also activeDocumentNavigationOrigin, null or an environment reservedEnvironment, a cross-origin opener policy navigationCOOP, and a cross-origin opener - policy enforcement result COOPEnforcementResult:

          + policy enforcement result coopEnforcementResult:

          1. Set browsingContext to the result of the obtain a browsing context to use for a navigation response algorithm, given request, response, source, browsingContext, finalSandboxFlags, navigationCOOP, and - COOPEnforcementResult.

          2. + coopEnforcementResult.

          3. Let featurePolicy be the result of creating a feature policy from a @@ -83630,7 +83629,7 @@ new PaymentRequest(…); // Allowed to use source, browsingContext, request, response, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP, and - COOPEnforcementResult the user agent must queue a task on the + coopEnforcementResult the user agent must queue a task on the networking task source to:

              @@ -83640,7 +83639,7 @@ new PaymentRequest(…); // Allowed to use request, response, source browsingContext, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, - environment, responseCOOP, and COOPEnforcementResult.

              + environment, responseCOOP, and coopEnforcementResult.

            1. Create an HTML parser and associate it with the document. Each @@ -83678,7 +83677,7 @@ new PaymentRequest(…); // Allowed to use browsingContext, request, response, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment,responseCOOP, and - COOPEnforcementResult user agents must follow the requirements defined in + coopEnforcementResult user agents must follow the requirements defined in XML and Namespaces in XML, XML Media Types, DOM, and other relevant specifications to create and initialize a Document object @@ -83686,7 +83685,7 @@ new PaymentRequest(…); // Allowed to use source, browsingContext, finalSandboxFlags, finalResponseOrigin incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP. and - COOPEnforcementResult. It must also create and a corresponding XML parser. + coopEnforcementResult. It must also create and a corresponding XML parser.

              At the time of writing, the XML specification community had not actually yet @@ -83735,7 +83734,7 @@ new PaymentRequest(…); // Allowed to use browsingContext, request, response, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment,responseCOOP, and - COOPEnforcementResult the user agent must queue a task on the + coopEnforcementResult the user agent must queue a task on the networking task source to:

                @@ -83745,7 +83744,7 @@ new PaymentRequest(…); // Allowed to use response, source, browsingContext, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP, and - COOPEnforcementResult.

                + coopEnforcementResult.

              1. Create an HTML parser and associate it with the document. Act as if the tokenizer had emitted a start tag token with the tag name "pre" followed by a single @@ -83817,7 +83816,7 @@ new PaymentRequest(…); // Allowed to use browsingContext, request, response, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP, - COOPEnforcementResult, the user agent should: + coopEnforcementResult, the user agent should:

                1. Let document be the result of response, source, browsingContext, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP, and - COOPEnforcementResult.

                2. + coopEnforcementResult.

                3. Append an html element to document.

                4. @@ -83886,7 +83885,7 @@ new PaymentRequest(…); // Allowed to use source, browsingContext, request, response, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP, and - COOPEnforcementResult, the user agent should: + coopEnforcementResult, the user agent should:
                  1. Let document be the result of response, source, browsingContext, finalSandboxFlags, finalResponseOrigin, incumbentNavigationOrigin, activeDocumentNavigationOrigin, environment, responseCOOP, and - COOPEnforcementResult.

                  2. + coopEnforcementResult.

                  3. Mark document as being a plugin document