Just to keep everyone up to date, you can disregard my remarks above I've 
landed a patch which addresses the lack of trusted types protection, thanks 
for the quick review Joey.

Regards,
Luke

On Wednesday, February 14, 2024 at 10:49:23 PM UTC Luke wrote:

> Hi,
>
> In it's current form Chromium's implementation of these functions bypasses 
> trusted types protection.
>
> The below WPT tests cover this behaviour:
>
>
> https://wpt.fyi/results/trusted-types/block-string-assignment-to-ShadowRoot-setHTMLUnsafe.html?label=experimental&label=master&aligned
>
> https://wpt.fyi/results/trusted-types/block-string-assignment-to-Element-setHTMLUnsafe.html?label=experimental&label=master&aligned
>
> https://wpt.fyi/results/trusted-types/block-string-assignment-to-Document-parseHTMLUnsafe.html?label=experimental&label=master&aligned
>
> This should be addressed before shipping, else it will be an unexpected 
> security regression.
>
> On Wednesday, February 14, 2024 at 10:23:01 PM UTC Vladimir Levin wrote:
>
>> On Wed, Feb 14, 2024 at 1:53 PM Jeffrey Yasskin <jyas...@chromium.org> 
>> wrote:
>>
>>> Non-API-owner opinions inline:
>>>
>>> On Wed, Feb 14, 2024 at 1:42 PM 'Vladimir Levin' via blink-dev <
>>> blin...@chromium.org> wrote:
>>>
>>>> I just had some clarifying questions
>>>>
>>>> On Wed, Feb 14, 2024 at 1:13 PM Joey Arhar <jar...@chromium.org> wrote:
>>>>
>>>>> Some additional notes:
>>>>> - This API is tested in the declarative ShadowDOM tests in 
>>>>> interop2024, and it is counting against us to not have it enabled by 
>>>>> default.
>>>>> - The future sanitization options will be added as an optional second 
>>>>> parameter to both methods, so there will not be any compat issues with 
>>>>> shipping now.
>>>>>
>>>>> On Wed, Feb 14, 2024 at 1:11 PM Joey Arhar <jar...@chromium.org> 
>>>>> wrote:
>>>>>
>>>>>> Contact emailsjar...@chromium.org
>>>>>>
>>>>>> ExplainerNone
>>>>>>
>>>>>
>>>> Is this the relevant explainer (referenced from the PR below): 
>>>> https://github.com/WICG/sanitizer-api/blob/main/explainer.md
>>>>  
>>>>
>>>>>
>>>>>>
>>>>>> Specification
>>>>>> https://html.spec.whatwg.org/C/#unsafe-html-parsing-methods
>>>>>> https://github.com/whatwg/html/pull/9538
>>>>>>
>>>>>> Summary
>>>>>>
>>>>>> The setHTMLUnsafe and parseHTMLUnsafe methods allow Declarative 
>>>>>> ShadowDOM to be used from javascript. In the future, they may also get 
>>>>>> new 
>>>>>> parameters for sanitization.
>>>>>>
>>>>>>
>>>>>> Blink componentBlink>HTML 
>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EHTML>
>>>>>>
>>>>>> TAG reviewNone
>>>>>>
>>>>>> TAG review statusNot applicable
>>>>>>
>>>>>
>>>> There seems to be consensus within browser vendors that this is a good 
>>>> idea, but I'm just wondering why you decided against filing TAG here?
>>>>
>>>
>>> IMO, either Firefox or Safari folks should have filed a TAG review for 
>>> this before they merged their patches. Now that they've merged, I think it 
>>> falls into the "[already specified && already shipped]" exception 
>>> category 
>>> <https://www.chromium.org/blink/guidelines/api-owners/process-exceptions/>, 
>>> and it's probably too fixed to ask the TAG to spend time on it.
>>>
>>
>> (also non-api-owner, but responding anyway): if that is in fact shipping 
>> then I agree that this should be the exception here, thanks. 
>>
>>  
>>>
>>>> Risks
>>>>>>
>>>>>>
>>>>>> Interoperability and Compatibility
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> *Gecko*: No signal (
>>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1850675) 
>>>>>> https://github.com/whatwg/html/pull/9538#issuecomment-1728947778
>>>>>>
>>>>>
>>>> This seems positive, right?  
>>>>
>>>  
>>>
>>>> *WebKit*: Positive (https://bugs.webkit.org/show_bug.cgi?id=261143)
>>>>>>
>>>>>
>>>> I'm not sure how to read this properly, but is this a positive signal 
>>>> or "shipped/shipping" signal?
>>>>
>>>
>>> Both of these look like "Shipped/Shipping", per 
>>> https://bit.ly/blink-signals. That status is a little odd, because it 
>>> doesn't look like they've actually made it to a stable release, but if I'm 
>>> reading the bug trackers right they're both merged, so they're past "In 
>>> Development".
>>>
>>
>> Yeah, that's my thought here too. My understanding is that all of the 
>> patches here are merged, but I just wanted to double check in case I'm 
>> misunderstanding what those bugs are implying.
>>  
>>
>>>  
>>>
>>>> *Web developers*: No signals
>>>>>>
>>>>>> *Other signals*:
>>>>>>
>>>>>> Ergonomics
>>>>>>
>>>>>> This API will likely be used in tandem with Declarative ShadowDOM. 
>>>>>> The default usage of this API will not make it hard for chrome to 
>>>>>> maintain 
>>>>>> good performance.
>>>>>>
>>>>>>
>>>>>> Activation
>>>>>>
>>>>>> It will not be challenging for developers to use this feature 
>>>>>> immediately.
>>>>>>
>>>>>>
>>>>>> Security
>>>>>>
>>>>>> There are no security risks. This API just does declarative 
>>>>>> ShadowDOM. There is an "unsafe" in the name because there are future 
>>>>>> plans 
>>>>>> to add sanitization options. 
>>>>>> https://github.com/WICG/sanitizer-api/issues/185 
>>>>>> https://github.com/whatwg/html/issues/8627 
>>>>>> https://github.com/whatwg/html/issues/8759
>>>>>>
>>>>>>
>>>>>> WebView application risks
>>>>>>
>>>>>> Does this intent deprecate or change behavior of existing APIs, such 
>>>>>> that it has potentially high risk for Android WebView-based applications?
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Debuggability
>>>>>>
>>>>>> This API does not need any special DevTools features. You can call 
>>>>>> the method from the console panel.
>>>>>>
>>>>>>
>>>>>> Will this feature be supported on all six Blink platforms (Windows, 
>>>>>> Mac, Linux, ChromeOS, Android, and Android WebView)?Yes
>>>>>>
>>>>>> Is this feature fully tested by web-platform-tests 
>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>> ?Yes
>>>>>>
>>>>>> Flag name on chrome://flagsHTMLUnsafeMethods
>>>>>>
>>>>>> Finch feature nameHTMLUnsafeMethods
>>>>>>
>>>>>> Requires code in //chrome?False
>>>>>>
>>>>>> Estimated milestones
>>>>>> DevTrial on desktop 120
>>>>>> DevTrial on Android 120
>>>>>>
>>>>>> Anticipated spec changes
>>>>>>
>>>>>> Open questions about a feature may be a source of future web compat 
>>>>>> or interop issues. Please list open issues (e.g. links to known github 
>>>>>> issues in the project for the feature specification) whose resolution 
>>>>>> may 
>>>>>> introduce web compat/interop risk (e.g., changing to naming or structure 
>>>>>> of 
>>>>>> the API in a non-backward-compatible way).
>>>>>> None
>>>>>>
>>>>>> Link to entry on the Chrome Platform Status
>>>>>> https://chromestatus.com/feature/6560361081995264
>>>>>>
>>>>>> This intent message was generated by Chrome Platform Status 
>>>>>> <https://chromestatus.com/>.
>>>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "blink-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to blink-dev+...@chromium.org.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK6btwJiEbhk_YGbVhuUg0emSJTfT%3D20_1bTDMFJxcH5i9tbMQ%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK6btwJiEbhk_YGbVhuUg0emSJTfT%3D20_1bTDMFJxcH5i9tbMQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "blink-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to blink-dev+...@chromium.org.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2MH_fZddPf6c_QwhEP5JU767nEy1ck338Cx_HYFsytO4w%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2MH_fZddPf6c_QwhEP5JU767nEy1ck338Cx_HYFsytO4w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/01735fd5-4e7e-48ee-af54-92f6bdc7c0d7n%40chromium.org.

Reply via email to