Thank you for doing this work! One small question below, but this generally seems like it will be safe to land.

On 5/20/25 6:45 PM, 'Liang Zhao (REDMOND)' via blink-dev wrote:

An update. https://chromestatus.com/metrics/feature/timeline/popularity/5356 now has list of urls. I’ve tested those 110 urls and some sites collected by Edge and no change of behavior was observed.

A few sites closed the connection and could not be tested and some sites request login and could only do very limited testing. For what I could test, no site behavior change was observed.

Observations:

  * Almost all blocked worker urls are blob: urls. Comments on one
    site probably explains why blob: urls are used: only same origin
    worker url is allowed, to workaround this restriction, for script
    libs hosted in their own site including cdn, the libs create a
    blob url for the remote worker script and then use that blob to
    create worker. As the script from the lib runs in the host page’s
    origin, blob is created with the hosting page’s origin and worker
    creation is allowed, except when CSP blocks it.
  * Most blocked worker creation are related to “libs”. For example,
    WordPress’s wpTestEmojiSupports worker accounts for 40 of the 110
    urls, even https://devblogs.microsoft.com/ hits this. And
    crazyegg.com’s script accounts for 7 of the urls.
  * This is indeed a meaningful behavior change to the scripts. Most
    of scripts has exception handlers, and only a few has error event
    handler or use timeout for message from worker to detect error
    (crazyegg uses timeout). However, most of the exception handlers
    doesn’t really do much.

Could you clarify what "doesn't... do much" means?

 *


  * I also loaded 2 sites into Firefox and didn’t see site payload
    different from Edge or Chrome.

Liang

*From:*'Liang Zhao' via blink-dev <blink-dev@chromium.org>
*Sent:* Friday, May 9, 2025 2:09 PM
*To:* blink-dev <blink-dev@chromium.org>
*Cc:* Philip Jägenstedt <foo...@chromium.org>; blin...@chromium.org <blink-dev@chromium.org>; lzhao via Chromestatus <admin+lz...@cr-status.appspotmail.com> *Subject:* [EXTERNAL] Re: [blink-dev] Intent to Ship: Fire error event instead of throwing for CSP blocked worker

Thanks for taking another look at this. Will wait for a month to see whether we could get a list of URLs that hit the scenario to check them.

The behavior (return a worker object and later firing an error event on it) already happen when loading the script failed. That is actually what CSP trying to simulate when blocking it, as if we failed to fetch the script.

On Wednesday, May 7, 2025 at 8:21:15 AM UTC-7 Philip Jägenstedt wrote:

    Hi Liang,

    https://chromestatus.com/metrics/feature/timeline/popularity/5356
    is already somewhat high, but it is also an upper bound on the
    risk and probably not reflective of how many sites will be broken.
    Looking at a sample of sites that hit the use counter and seeing
    what the impact of the change is would be very helpful. If this
    isn't urgent, you could wait until there are example sites listed
    on chromestatus.com <http://chromestatus.com/>, or get a list of
    sites from Edge's UKM data. With a list of sites, checking ~20 of
    them at random and reporting your findings should be enough to
    make a call on this.

    Also, does the new behavior (returning a Worker object and later
    firing an error event on it) already happen for some other kind of
    error, so that it's likely already handled? That would also reduce
    the risk here.

    Best regards,

    Philip

    On Tue, May 6, 2025 at 1:34 AM lzhao via Chromestatus
    <admin...@cr-status.appspotmail.com> wrote:

        Added telemetry data as siggested for the scenario and data
        can be viewed at
        https://chromestatus.com/metrics/feature/timeline/popularity/5356.
        There are some hits, but no hits for top sites. And Safari has
        also shipped the behavior change.

--
        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 visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68194b11.170a0220.4750a.00de.GAE%40google.com
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68194b11.170a0220.4750a.00de.GAE%40google.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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eacc0c6a-c89f-4eab-8d1f-3d084967db7fn%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eacc0c6a-c89f-4eab-8d1f-3d084967db7fn%40chromium.org?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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SA6PR00MB22949F1B4952977C83E5A3C99E9FA%40SA6PR00MB2294.namprd00.prod.outlook.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SA6PR00MB22949F1B4952977C83E5A3C99E9FA%40SA6PR00MB2294.namprd00.prod.outlook.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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0411c2bf-25f1-4620-9d24-9fc696871c07%40chromium.org.

Reply via email to