@@ -1033,7 +1033,7 @@ Given a {{TrustedType}} type (|expectedType|), a [=realm/global object=] (|globa
1033
1033
1. If |input| is an instance of |expectedType|, return stringified
1034
1034
|input| and abort these steps.
1035
1035
1. Let |requireTrustedTypes| be the result of executing [$Does sink type require trusted types?$] algorithm,
1036
- passing |global|, and |sinkGroup|.
1036
+ passing |global|, |sinkGroup|, and true .
1037
1037
1. If |requireTrustedTypes| is `false`, return stringified |input| and abort these steps.
1038
1038
1. Let |convertedInput| be the result of executing [$Process value with a default policy$] with the same arguments as this algorithm.
1039
1039
1. If the algorithm threw an error, rethrow the error and abort the following steps.
@@ -1399,20 +1399,20 @@ Content-Security-Policy: trusted-types one two default
1399
1399
1400
1400
### <dfn abstract-op>Does sink type require trusted types?</dfn> ### {#does-sink-require-trusted-types}
1401
1401
1402
- Given a [=realm/global object=] (|global|), a string (|sinkGroup|) this algorithm
1403
- returns `true` if the [=injection sink=] requires a [=Trusted Type=] , and
1404
- `false` otherwise.
1402
+ Given a [=realm/global object=] (|global|), a string (|sinkGroup|) and a boolean (|includeReportOnlyPolicies|), this algorithm
1403
+ returns `true` if the [=injection sink=] requires a [=Trusted Type=] , and `false` otherwise.
1405
1404
1406
- 1. Let |result| be `false`.
1407
1405
1. For each |policy| in |global|'s <a>CSP list</a> :
1408
1406
1. If |policy|'s <a>directive set</a> does not contain a <a>directive</a>
1409
1407
whose [=directive/name=] is `"require-trusted-types-for"`, skip to the next |policy|.
1410
1408
1. Let |directive| be the |policy|'s |directive set|' s [=directive=] whose name
1411
1409
is `"require-trusted-types-for"`
1412
1410
1. If |directive|'s [=directive/value=] does not contain a <a>trusted-types-sink-group</a> which is a match
1413
1411
for |sinkGroup|, skip to the next |policy|.
1414
- 1. Set |result| to `true`.
1415
- 1. Return |result|.
1412
+ 1. Let |enforced| be true if |policy|'s [=policy/disposition=] is `"enforce"`, and false otherwise.
1413
+ 1. If |enforced| is true, return true.
1414
+ 1. If |includeReportOnlyPolicies| is true, return true.
1415
+ 1. Return false.
1416
1416
1417
1417
### <dfn abstract-op>Should sink type mismatch violation be blocked by Content Security Policy?</dfn> ### {#should-block-sink-type-mismatch}
1418
1418
0 commit comments