Hello all,

It's been a while and 109 is coming up. As I'm preparing the intent-to-ship
for 109, I'd like to post an update on how the deprecation is going:

Current usage: Since announcing the deprecation, usage of
document.domain-enabled accesses have dropped by about 50%.

- Feature stats: DocumentDomainEnabledCrossOriginAccess
<https://chromestatus.com/metrics/feature/timeline/popularity/2544>

- Note that this *includes* usage when an Origin-Agent-Cluster header is
explicitly set, which is sustainable use that is not affected by the
deprecation.

- CrossOriginAccessBasedOnDocumentDomain
<https://chromestatus.com/metrics/feature/timeline/popularity/4171> is
usage of document.domain enabled access, but only when based on the
Origin-Agent-Cluster's default (which is what this intent wants to change.)
This graph has the correct numbers for this intent; but makes long-term
trends harder to see because we only introduced the use counter *during*
the deprecation period.

- So basically, usage has dropped form ~0.5% of page views (
DocumentDomainEnabledCrossOriginAccess
<https://chromestatus.com/metrics/feature/timeline/popularity/2544> @ Nov
'21) to about ~0.25% of page views (CrossOriginAccessBasedOnDocumentDomain
<https://chromestatus.com/metrics/feature/timeline/popularity/4171> @ Sept
'22)

When gathering the data for this post, I double-checked on a particular,
well-known media site that we had contacted about the deprecation during
the past months. I was surprised to notice that despite our outreach and
communication, they *still* use document.domain and document.domain
facilitated cross-origin access. But when taking a closer look, an
interesting find emerged: They are using document.domain setting to enable
auto-play of their media player, which is hosted on a separate domain. Our
advice was to use the 'autoplay' permission policy with permission
delegation instead. They are indeed doing so, but *in addition* to
document.domain setting. In other words, they opted for a conservative
implementation strategy where they auto-play their frame with two different
methods. When I load their page with document.domain setting disabled, it
works fine. That's a fine implementation strategy, but unfortunately it
mucks up our statistics since our use counters cannot know whether other
code exists to compensate for a failed document.domain facilitated access.

When discussing this finding with another engineer, he suggested that we're
really interested in user-visible web breakage. Since I don't know how to
measure that directly, I manually looked at all top users of
document.domain and loaded each page with/without document.domain setting
to see if I could spot any difference. Document.domain usage - like the web
in general - is quite "top heavy": 9 sites account for about 50% of all
remaining dd usage.

- 7 sites work without any discernible difference. (Caveat: Many use
languages I do not understand, which makes it difficult to spot subtle
differences in content. But to me, the sites looked and used the same,
regardless of document.domain setting. Caveat 2: One site requires a login,
so I could only really test the login page rather than their core
functionality.)

- 1 site worked just the same, except for a pair of very extra fancy ad
frames that "framed" the main content left and right. The main content,
including in-page ads, seemed just fine, but the fancy ad frames were
missing.

- 1 site was clearly missing content.

For both of the last two, the console showed uncaught DOM exceptions for a
failed cross-domain access. What I suspect happens in the first case is
that during construction of the fancy ad frames an exception is thrown and
hence the frames aren't inserted in the page. In the second case something
similar happens, but when building up the main content. Or maybe before
building up the main content. Thus, that part of the main content is
missing.

(We don't like broken web pages, so we reached out separately to the owners
of that last page on Friday. Their support has promised to put us in
contact with one of their developers which, as of this writing, hasn't
happened yet.)


On Fri, Jan 21, 2022 at 9:23 PM Yoav Weiss <yoavwe...@chromium.org> wrote:

> LGTM1 to deprecate under the following conditions:
>
>    - As discussed, a 6 months deprecation period, as well as broad-scope
>    and targeted outreach, that would hopefully bring usage down.
>    - A well-crafted deprecation message that indicates the timeline, and
>    at the same time indicates that we'll be responsive to community feedback
>    (or a link to a blog post/documentation page that indicates the same)
>    - Sending a separate intent for the actual removal at the end of the
>    deprecation period, once the picture is a bit clearer.
>
>

-- 
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/CALG6KPMUW-i3qPaizpstA0_uoMM8o8B7twmhfk%2B1AoUsFg6NJA%40mail.gmail.com.

Reply via email to