Hi Camille,

Thanks for the question. I guess I have two points/questions:
1. That sounds like a general question about adoptedStyleSheets (which we
shipped a few years ago), and isn't at all particular to the conversion
from FrozenArray to ObservableArray. But did I miss something relevant
about this change?
2. Can you help me understand how you'd go about sharing a single
CSSStyleSheet between cross-origin documents? If you passed it around via
postMessage, it'd be a (structured clone) copy, so it would no longer be
shared. I agree that it'd be a (huge) privacy concern if this were
possible, but I don't see how it could be done. I'm sure I'm missing
something - perhaps give me more specifics and I'm happy to dig further.

Thanks,
Mason


On Tue, Dec 7, 2021 at 8:04 AM Camille Lamy <cl...@chromium.org> wrote:

> Hi Mason,
>
> We reviewed this intent in the S&P review today, and we were not quite
> clear on the scope of the change. In particular, is it possible for
> cross-origin documents to share the adoptedStyelSheets? If so, can a style
> sheet used across cross-origin documents be modified and the modifications
> apply cross-origin as well? If so, this would be a security and privacy
> concern.
>
> Thanks!
> Camille
>
> On Wednesday, December 1, 2021 at 7:09:08 PM UTC+1 Mason Freed wrote:
>
>> On Tue, Nov 30, 2021 at 8:40 AM Mason Freed <mas...@chromium.org> wrote:
>>
>>> Was ObservableArray and its use in the web platform reviewed by the TAG?
>>>> If not then I think it should be, as there are plans to use it in more
>>>> places than just this.
>>>>
>>>
>>> No, it wasn't. This is a good suggestion - I'll open a TAG review for
>>> ObservableArray and this conversion of adoptedStyleSheets. There definitely
>>> are plans to expand its use on the platform.
>>>
>>
>> TAG review filed <https://github.com/w3ctag/design-reviews/issues/693>.
>>
>>
>>
>>>
>>>
>>>>
>>>>>
>>>>> Risks
>>>>>
>>>>>
>>>>> Interoperability and Compatibility
>>>>>
>>>>> Chromium is the only shipped implementation of adoptedStyleSheets.
>>>>> Gecko would like to ship this feature, but has been waiting for the
>>>>> resolution of this issue (FrozenArray vs. ObservableArray) to ship their
>>>>> implementation. This should unblock Gecko [1]. The Edge team supports this
>>>>> change [2]. WebKit continues to be skeptical [3] of this usefulness of 
>>>>> this
>>>>> feature, despite the general agreement of the rest of the web components
>>>>> community [4], and the support of the developer community [5][6][7]. So 
>>>>> the
>>>>> interop risk is mainly that WebKit decides not to implement this feature.
>>>>> Compat risks (from the change from FrozenArray to ObservableArray) should
>>>>> be minimal, as the same re-assignment semantics will continue to work. As
>>>>> documentation improves, and usage expands, we expect re-assignment usage 
>>>>> to
>>>>> wane, and mutation (e.g. adoptedStyleSheets.push()) to expand. [1]
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-834749590
>>>>> [2]
>>>>> https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556
>>>>> [3]
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758
>>>>> [4]
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-825055766
>>>>> [5]
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-577941622
>>>>> [6]
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827229881
>>>>> [7]
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827234689
>>>>>
>>>>
>>>> I appreciate your extensive efforts to achieve consensus and a good
>>>> design. The result is in a spec and has broad consensus, which is great!
>>>>
>>>
>>> Thanks! It has definitely taken some time.
>>>
>>>
>>>> Gecko: Positive (
>>>>> https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556)
>>>>>
>>>>> WebKit: Negative (
>>>>> https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758
>>>>> )
>>>>>
>>>>
>>>> While those two links are not signals, I think it's:
>>>>
>>>> * OK to not ask for a formal Gecko signal on this, if you can point to
>>>> clear evidence they are implementing. Can you provide a link?
>>>>
>>>> * OK to not ask for a formal webkit signal, given their negative signal
>>>> on the public issues. Another one would be redundant and likely yield the
>>>> same (negative) result.
>>>>
>>>
>>> I appreciate it. For Gecko, the main adoptedStyleSheets bug
>>> <https://bugzilla.mozilla.org/show_bug.cgi?id=1520690> hasn't had any
>>> activity in some time, but I believe that's because the ObservableArray
>>> implementation <https://bugzilla.mozilla.org/show_bug.cgi?id=1683281>
>>> is now blocking it. That bug has had regular recent activity, getting
>>> ObservableArray implemented.
>>>
>>>
>>>
>>>> Web developers: Strongly positive Several large web component
>>>>> developers are strongly positive on this feature and change. See several
>>>>> links in the "Interoperability and Compatibility Risks" section.
>>>>>
>>>>> Other signals:
>>>>>
>>>>>
>>>>> Debuggability
>>>>>
>>>>> This feature should remain debuggable via existing JS/devtools
>>>>> infrastructure. There is good support for adoptedStyleSheets already in
>>>>> devtools.
>>>>>
>>>>>
>>>>> Is this feature fully tested by web-platform-tests
>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>>>> ?Yes
>>>>>
>>>>> Flag nameBecause few compat risks are anticipated, and because it is
>>>>> relatively difficult to switch the representation (FrozenArray to
>>>>> ObservableArray) via a feature flag, this feature will be enabled by
>>>>> default. This will be done at the start of a new Chromium milestone (M99),
>>>>> and bugs will be monitored carefully in case any breakages are observed.
>>>>>
>>>>> Requires code in //chrome?False
>>>>>
>>>>> Tracking bughttps://crbug.com/1236777
>>>>>
>>>>> Estimated milestones
>>>>>
>>>>> No milestones specified
>>>>>
>>>>>
>>>>> Link to entry on the Chrome Platform Status
>>>>> https://chromestatus.com/feature/5638996492288000
>>>>>
>>>>> This intent message was generated by Chrome Platform Status
>>>>> <https://www.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+unsubscr...@chromium.org.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDijQpNhJJJUjtCzLSDrPngTHYY31H4oJrULxm%3DtxLVHew%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDijQpNhJJJUjtCzLSDrPngTHYY31H4oJrULxm%3DtxLVHew%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/CAM%3DNeDg-fQT_9ibePyQtNE2_XATe83CKT%3D_Gx27FGAi1TCgMQg%40mail.gmail.com.

Reply via email to