[SVG] (1) UKM filters applied to embedded content [chromium/src : main]

0 views
Skip to first unread message

Ari Chivukula (Gerrit)

unread,
Mar 11, 2026, 9:06:25 AM (yesterday) Mar 11
to Philip Rogers, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Philip Rogers

Ari Chivukula added 5 comments

Patchset-level comments
File-level comment, Patchset 9:
Ari Chivukula . resolved

Could use an initial look + pointers on why I'm failing to count plugins properly (it seems like the layout view object is missing when paint is called).

Philip Rogers

Can you try copying `third_party/blink/web_tests/ppapi/plugins/plugin-paint-test.html`?

Ari Chivukula

Done

Commit Message
Line 7, Patchset 9:[SVG] Count filters applied to embedded content
Philip Rogers . resolved
Imagine the following case:
local.com/index.html:
```
<div with complex svg filter>
<iframe src=remote.com/iframe.html">
</div>
```
remote.com/iframe.html:
```
<div>
<plugin>
</div>
```

In this case, I think we should only record that a remote frame is filtered, and not that a plugin is filtered. It would be complex and error-prone (think: timing issues) to track this information across processes. Can you test this case?

Ari Chivukula

Done

File components/page_load_metrics/browser/observers/use_counter/ukm_features.cc
Line 468, Patchset 9: WebFeature::kSvgFilterPaintedOnLocalFrame,
Philip Rogers . resolved

What about a same-origin frame with CSP: sandbox? Does that create a remote frame? I think it does, but please check this. If it does not, then we might need to use different terms than Local and Remote.

Ari Chivukula

it likely does create a remote frame, as the distinction isn't just same or cross origin. That said, I think the risk we care about is the risk between two non-local frames, I don't think it's more important that they are or aren't cross-origin.

File third_party/blink/renderer/core/layout/layout_embedded_content.cc
Line 495, Patchset 9: if (target->StyleRef().HasReferenceFilter()) {
Philip Rogers . unresolved

This will be true if target itself has a reference filter, but we also need to check if any ancestor of target has a reference filter.

An approach is to pass this information down, rather than looking up. This can be done using PaintInfo.

Ari Chivukula

Are you saying the current PaintInfo has this context, or that I could modify it to pass that sort of info down? I've been cautioned against adding more data to any critical objects like that, and iframes/plugins should be rare enough that a quick ancestor scan (as I'm doing here) seems reasonable.

File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
Line 6, Patchset 9: <feGaussianBlur stdDeviation="1" />
Philip Rogers . resolved

We want to allow some svg filters and not others, right? I think svg blur is one that we actually want to allow? feTile is an example that we do not want to allow. Can you adjust the tests, usecounter name, and implementation to reflect this?

Just throwing out an idea, maybe we could go with kComplexSvgFilterOnLocalFrame, kComplexSvgFilterPaintedOnRemoteFrame, and kComplexSvgFilterOnPlugin?

Ari Chivukula

I don't have a specific desire to allow some SVG filters and not others. I could see adding UMA after this that breaks out more detailed information like *why* two frames are remote (not same origin, CSP, etc) as well as the contents of the filter itself. For now, the goal is just to get some high level counts to get an idea of the scope of the issue.

Open in Gerrit

Related details

Attention is currently required from:
  • Philip Rogers
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
Gerrit-Change-Number: 7638432
Gerrit-PatchSet: 11
Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: David Bokan <bo...@chromium.org>
Gerrit-Attention: Philip Rogers <p...@chromium.org>
Gerrit-Comment-Date: Wed, 11 Mar 2026 13:06:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Sun Yueru (Gerrit)

unread,
Mar 11, 2026, 10:09:02 AM (yesterday) Mar 11
to Ari Chivukula, Philip Rogers, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Ari Chivukula and Philip Rogers

Sun Yueru voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ari Chivukula
  • Philip Rogers
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
    Gerrit-Change-Number: 7638432
    Gerrit-PatchSet: 12
    Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
    Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: David Bokan <bo...@chromium.org>
    Gerrit-Attention: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
    Gerrit-Comment-Date: Wed, 11 Mar 2026 14:08:56 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Philip Rogers (Gerrit)

    unread,
    Mar 11, 2026, 5:58:12 PM (yesterday) Mar 11
    to Ari Chivukula, Sun Yueru, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Ari Chivukula

    Philip Rogers added 3 comments

    File third_party/blink/renderer/core/layout/layout_embedded_content.cc
    Line 495, Patchset 9: if (target->StyleRef().HasReferenceFilter()) {
    Philip Rogers . resolved

    This will be true if target itself has a reference filter, but we also need to check if any ancestor of target has a reference filter.

    An approach is to pass this information down, rather than looking up. This can be done using PaintInfo.

    Ari Chivukula

    Are you saying the current PaintInfo has this context, or that I could modify it to pass that sort of info down? I've been cautioned against adding more data to any critical objects like that, and iframes/plugins should be rare enough that a quick ancestor scan (as I'm doing here) seems reasonable.

    Philip Rogers

    I was suggesting using PaintInfo but I agree with your points here: this is rare enough that the simpler approach makes sense.

    File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
    Line 6, Patchset 9: <feGaussianBlur stdDeviation="1" />
    Philip Rogers . resolved

    We want to allow some svg filters and not others, right? I think svg blur is one that we actually want to allow? feTile is an example that we do not want to allow. Can you adjust the tests, usecounter name, and implementation to reflect this?

    Just throwing out an idea, maybe we could go with kComplexSvgFilterOnLocalFrame, kComplexSvgFilterPaintedOnRemoteFrame, and kComplexSvgFilterOnPlugin?

    Ari Chivukula

    I don't have a specific desire to allow some SVG filters and not others. I could see adding UMA after this that breaks out more detailed information like *why* two frames are remote (not same origin, CSP, etc) as well as the contents of the filter itself. For now, the goal is just to get some high level counts to get an idea of the scope of the issue.

    Philip Rogers

    Safari only disallows some SVG filters. If we deviate from Safari, that risks web compat issues, since we would be the first browser to disallow svg fe gaussian blur on iframes.

    https://docs.google.com/document/d/11t372cAaXVT53JwAfmt6mfpPk8M9XIo7oXHT95e42Ks/edit?usp=sharing is a summary of the public usecounter data of the svg filter subtypes, and fe gaussian blur is pretty popular at 3% of page views (https://chromestatus.com/metrics/feature/timeline/popularity/5756).

    Does this change your opinion here?

    Line 248, Patchset 9: await waitForRender(1000);
    Philip Rogers . unresolved

    waitForRender is typically requestAnimationFrame + setTimeout(0). Why do we use 1000 here?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Ari Chivukula
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
      Gerrit-Change-Number: 7638432
      Gerrit-PatchSet: 16
      Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
      Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: David Bokan <bo...@chromium.org>
      Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
      Gerrit-Comment-Date: Wed, 11 Mar 2026 21:58:03 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Ari Chivukula (Gerrit)

      unread,
      Mar 11, 2026, 7:06:47 PM (yesterday) Mar 11
      to Sun Yueru, Philip Rogers, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
      Attention needed from Philip Rogers

      Ari Chivukula added 1 comment

      File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
      Line 248, Patchset 9: await waitForRender(1000);
      Philip Rogers . resolved

      waitForRender is typically requestAnimationFrame + setTimeout(0). Why do we use 1000 here?

      Ari Chivukula

      that's an old version, once I resolved the plugin issue it because unneeded

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Philip Rogers
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
        Gerrit-Change-Number: 7638432
        Gerrit-PatchSet: 16
        Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: David Bokan <bo...@chromium.org>
        Gerrit-Attention: Philip Rogers <p...@chromium.org>
        Gerrit-Comment-Date: Wed, 11 Mar 2026 23:06:42 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 11, 2026, 7:10:33 PM (yesterday) Mar 11
        to Sun Yueru, Philip Rogers, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
        Attention needed from Philip Rogers

        Ari Chivukula added 1 comment

        File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
        Line 6, Patchset 9: <feGaussianBlur stdDeviation="1" />
        Philip Rogers . resolved

        We want to allow some svg filters and not others, right? I think svg blur is one that we actually want to allow? feTile is an example that we do not want to allow. Can you adjust the tests, usecounter name, and implementation to reflect this?

        Just throwing out an idea, maybe we could go with kComplexSvgFilterOnLocalFrame, kComplexSvgFilterPaintedOnRemoteFrame, and kComplexSvgFilterOnPlugin?

        Ari Chivukula

        I don't have a specific desire to allow some SVG filters and not others. I could see adding UMA after this that breaks out more detailed information like *why* two frames are remote (not same origin, CSP, etc) as well as the contents of the filter itself. For now, the goal is just to get some high level counts to get an idea of the scope of the issue.

        Philip Rogers

        Safari only disallows some SVG filters. If we deviate from Safari, that risks web compat issues, since we would be the first browser to disallow svg fe gaussian blur on iframes.

        https://docs.google.com/document/d/11t372cAaXVT53JwAfmt6mfpPk8M9XIo7oXHT95e42Ks/edit?usp=sharing is a summary of the public usecounter data of the svg filter subtypes, and fe gaussian blur is pretty popular at 3% of page views (https://chromestatus.com/metrics/feature/timeline/popularity/5756).

        Does this change your opinion here?

        Ari Chivukula

        Are they actually only blocking some filters in practice? I know they mentioned that intent, but I think they also block any reference filter: https://github.com/WebKit/WebKit/blob/0ada01f2e44580f5b584121ad770c8cf07d9a847/Source/WebCore/style/values/filter-effects/StyleFilterReference.h#L56

        Gerrit-Comment-Date: Wed, 11 Mar 2026 23:10:28 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
        Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Lyra Rebane (Gerrit)

        unread,
        Mar 11, 2026, 7:16:10 PM (yesterday) Mar 11
        to Ari Chivukula, Lyra Rebane, Sun Yueru, Philip Rogers, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
        Attention needed from Ari Chivukula and Philip Rogers

        Lyra Rebane added 1 comment

        File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
        Line 6, Patchset 9: <feGaussianBlur stdDeviation="1" />
        Philip Rogers . resolved

        We want to allow some svg filters and not others, right? I think svg blur is one that we actually want to allow? feTile is an example that we do not want to allow. Can you adjust the tests, usecounter name, and implementation to reflect this?

        Just throwing out an idea, maybe we could go with kComplexSvgFilterOnLocalFrame, kComplexSvgFilterPaintedOnRemoteFrame, and kComplexSvgFilterOnPlugin?

        Ari Chivukula

        I don't have a specific desire to allow some SVG filters and not others. I could see adding UMA after this that breaks out more detailed information like *why* two frames are remote (not same origin, CSP, etc) as well as the contents of the filter itself. For now, the goal is just to get some high level counts to get an idea of the scope of the issue.

        Philip Rogers

        Safari only disallows some SVG filters. If we deviate from Safari, that risks web compat issues, since we would be the first browser to disallow svg fe gaussian blur on iframes.

        https://docs.google.com/document/d/11t372cAaXVT53JwAfmt6mfpPk8M9XIo7oXHT95e42Ks/edit?usp=sharing is a summary of the public usecounter data of the svg filter subtypes, and fe gaussian blur is pretty popular at 3% of page views (https://chromestatus.com/metrics/feature/timeline/popularity/5756).

        Does this change your opinion here?

        Ari Chivukula

        Are they actually only blocking some filters in practice? I know they mentioned that intent, but I think they also block any reference filter: https://github.com/WebKit/WebKit/blob/0ada01f2e44580f5b584121ad770c8cf07d9a847/Source/WebCore/style/values/filter-effects/StyleFilterReference.h#L56

        Lyra Rebane

        Tested on Safari and can confirm that feGaussianBlur is disallowed.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        • Philip Rogers
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
        Gerrit-Change-Number: 7638432
        Gerrit-PatchSet: 16
        Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: David Bokan <bo...@chromium.org>
        Gerrit-CC: Lyra Rebane <reban...@gmail.com>
        Gerrit-Attention: Philip Rogers <p...@chromium.org>
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Wed, 11 Mar 2026 23:15:55 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Philip Rogers (Gerrit)

        unread,
        Mar 11, 2026, 7:21:55 PM (yesterday) Mar 11
        to Ari Chivukula, Lyra Rebane, Sun Yueru, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
        Attention needed from Ari Chivukula and Lyra Rebane

        Philip Rogers added 1 comment

        File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
        Line 6, Patchset 9: <feGaussianBlur stdDeviation="1" />
        Philip Rogers . resolved

        We want to allow some svg filters and not others, right? I think svg blur is one that we actually want to allow? feTile is an example that we do not want to allow. Can you adjust the tests, usecounter name, and implementation to reflect this?

        Just throwing out an idea, maybe we could go with kComplexSvgFilterOnLocalFrame, kComplexSvgFilterPaintedOnRemoteFrame, and kComplexSvgFilterOnPlugin?

        Ari Chivukula

        I don't have a specific desire to allow some SVG filters and not others. I could see adding UMA after this that breaks out more detailed information like *why* two frames are remote (not same origin, CSP, etc) as well as the contents of the filter itself. For now, the goal is just to get some high level counts to get an idea of the scope of the issue.

        Philip Rogers

        Safari only disallows some SVG filters. If we deviate from Safari, that risks web compat issues, since we would be the first browser to disallow svg fe gaussian blur on iframes.

        https://docs.google.com/document/d/11t372cAaXVT53JwAfmt6mfpPk8M9XIo7oXHT95e42Ks/edit?usp=sharing is a summary of the public usecounter data of the svg filter subtypes, and fe gaussian blur is pretty popular at 3% of page views (https://chromestatus.com/metrics/feature/timeline/popularity/5756).

        Does this change your opinion here?

        Ari Chivukula

        Are they actually only blocking some filters in practice? I know they mentioned that intent, but I think they also block any reference filter: https://github.com/WebKit/WebKit/blob/0ada01f2e44580f5b584121ad770c8cf07d9a847/Source/WebCore/style/values/filter-effects/StyleFilterReference.h#L56

        Lyra Rebane

        Tested on Safari and can confirm that feGaussianBlur is disallowed.

        Philip Rogers

        Matching Safari SGTM! Sorry, I thought they allowed blur for some reason.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        • Lyra Rebane
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
        Gerrit-Change-Number: 7638432
        Gerrit-PatchSet: 16
        Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: David Bokan <bo...@chromium.org>
        Gerrit-CC: Lyra Rebane <reban...@gmail.com>
        Gerrit-Attention: Lyra Rebane <reban...@gmail.com>
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Wed, 11 Mar 2026 23:21:46 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Lyra Rebane <reban...@gmail.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Philip Rogers (Gerrit)

        unread,
        Mar 11, 2026, 7:45:27 PM (yesterday) Mar 11
        to Ari Chivukula, Lyra Rebane, Sun Yueru, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
        Attention needed from Ari Chivukula

        Philip Rogers added 3 comments

        File third_party/blink/renderer/core/layout/layout_embedded_content.cc
        Line 493, Patchset 16 (Latest): const LayoutObject* target = this;
        Philip Rogers . unresolved

        Mind adding a small note to help future us?
        ```
        // This is an iteration of all parents on every paint, but frames are rare
        // enough that we do not expect this to be a problem.
        ```

        File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
        Line 1, Patchset 16 (Latest):<!DOCTYPE html>
        Philip Rogers . unresolved
        Can you add one additional test where you have an existing css filter and then you change it to a svg filter and check that the usecounter fires? Something like:
        ```
        promise_test(async (t) => {
        await waitForLoad();
          reset();
        await waitForRender();
        expectCounters(/*local=*/false, /*remote=*/false, /*plugin=*/false, 'Initial load.');
          // 1. Start with a CSS filter on the iframe
        document.getElementById('local_iframe').className = 'css-blur';
        await waitForRender();
        expectCounters(/*local=*/false, /*remote=*/false, /*plugin=*/false, 'Initial CSS filter.');
          // 2. Switch directly to an SVG filter WITHOUT calling reset()
        document.getElementById('local_iframe').className = 'svg-blur';
        await waitForRender();
        expectCounters(/*local=*/true, /*remote=*/false, /*plugin=*/false, 'Switched to SVG filter on iframe.');
          reset();
        await waitForRender();
          // 3. Start with a CSS filter on an ancestor
        document.getElementById('local_outer').className = 'css-blur';
        await waitForRender();
        expectCounters(/*local=*/false, /*remote=*/false, /*plugin=*/false, 'Initial CSS filter on ancestor.');
          // 4. Switch directly to an SVG filter WITHOUT calling reset()
        document.getElementById('local_outer').className = 'svg-blur';
        await waitForRender();
        expectCounters(/*local=*/true, /*remote=*/false, /*plugin=*/false, 'Switched to SVG filter on ancestor.');

        }, 'Switching from CSS filter to SVG filter triggers counter');
        ```

        Line 148, Patchset 16 (Latest): expectCounters(/*local=*/false, /*remote=*/false, /*plugin=*/false, 'Inital load.');
        Philip Rogers . unresolved

        nit: Inital -> Initial

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
          Gerrit-Change-Number: 7638432
          Gerrit-PatchSet: 16
          Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
          Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
          Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
          Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: David Bokan <bo...@chromium.org>
          Gerrit-CC: Lyra Rebane <reban...@gmail.com>
          Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
          Gerrit-Comment-Date: Wed, 11 Mar 2026 23:45:16 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Ari Chivukula (Gerrit)

          unread,
          8:33 AM (12 hours ago) 8:33 AM
          to Lyra Rebane, Sun Yueru, Philip Rogers, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
          Attention needed from Philip Rogers

          Ari Chivukula added 3 comments

          File third_party/blink/renderer/core/layout/layout_embedded_content.cc
          Line 493, Patchset 16: const LayoutObject* target = this;
          Philip Rogers . resolved

          Mind adding a small note to help future us?
          ```
          // This is an iteration of all parents on every paint, but frames are rare
          // enough that we do not expect this to be a problem.
          ```

          Ari Chivukula

          Done

          File third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
          Line 1, Patchset 16:<!DOCTYPE html>
          Philip Rogers . resolved
          Ari Chivukula

          Done

          Line 148, Patchset 16: expectCounters(/*local=*/false, /*remote=*/false, /*plugin=*/false, 'Inital load.');
          Philip Rogers . resolved

          nit: Inital -> Initial

          Ari Chivukula

          Done

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Philip Rogers
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement is not satisfiedCode-Review
            • requirement is not satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
            Gerrit-Change-Number: 7638432
            Gerrit-PatchSet: 17
            Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: David Bokan <bo...@chromium.org>
            Gerrit-CC: Lyra Rebane <reban...@gmail.com>
            Gerrit-Attention: Philip Rogers <p...@chromium.org>
            Gerrit-Comment-Date: Thu, 12 Mar 2026 12:32:58 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Philip Rogers (Gerrit)

            unread,
            3:17 PM (6 hours ago) 3:17 PM
            to Ari Chivukula, Lyra Rebane, Sun Yueru, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
            Attention needed from Ari Chivukula

            Philip Rogers voted and added 1 comment

            Votes added by Philip Rogers

            Code-Review+1

            1 comment

            Patchset-level comments
            File-level comment, Patchset 19:
            Philip Rogers . resolved

            LGTM

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Ari Chivukula
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
            Gerrit-Change-Number: 7638432
            Gerrit-PatchSet: 20
            Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: David Bokan <bo...@chromium.org>
            Gerrit-CC: Lyra Rebane <reban...@gmail.com>
            Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
            Gerrit-Comment-Date: Thu, 12 Mar 2026 19:17:35 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Ari Chivukula (Gerrit)

            unread,
            3:17 PM (6 hours ago) 3:17 PM
            to Philip Rogers, Lyra Rebane, Sun Yueru, AyeAye, Chromium LUCI CQ, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

            Ari Chivukula voted Commit-Queue+2

            Commit-Queue+2
            Open in Gerrit

            Related details

            Attention set is empty
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
            Gerrit-Change-Number: 7638432
            Gerrit-PatchSet: 20
            Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: David Bokan <bo...@chromium.org>
            Gerrit-CC: Lyra Rebane <reban...@gmail.com>
            Gerrit-Comment-Date: Thu, 12 Mar 2026 19:17:49 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Chromium LUCI CQ (Gerrit)

            unread,
            6:07 PM (3 hours ago) 6:07 PM
            to Ari Chivukula, Philip Rogers, Lyra Rebane, Sun Yueru, AyeAye, David Bokan, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, titoua...@chromium.org, ortuno...@chromium.org, penghuan...@chromium.org, cblume...@chromium.org, zol...@webkit.org, blink-revi...@chromium.org, blink-rev...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, kinuko...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

            Chromium LUCI CQ submitted the change

            Change information

            Commit message:
            [SVG] (1) UKM filters applied to embedded content

            As outlined in:
            https://lyra.horse/blog/2025/12/svg-clickjacking/
            SVG filters applied to frames/plugins contain a risk cross-origin
            information extraction.

            This CL adds metrics on which URLs are impacted by such filters,
            but stops sport of gathering detailed information on the filters
            themselves or the nature of the frames/plugins. That will be left for
            the follow-up UMA counter which will gather more detailed information.

            This CL is part of a series of CLs:
            (1) UKM filters applied to embedded content
            (2) UMA filters applied to embedded content
            (3) Add flag to block filters applied to embedded content
            Bug: 476646486
            Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
            Reviewed-by: Philip Rogers <p...@chromium.org>
            Commit-Queue: Ari Chivukula <ari...@chromium.org>
            Cr-Commit-Position: refs/heads/main@{#1598715}
            Files:
            • M components/page_load_metrics/browser/observers/use_counter/ukm_features.cc
            • M third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
            • M third_party/blink/renderer/core/exported/web_plugin_container_impl.cc
            • M third_party/blink/renderer/core/exported/web_plugin_container_impl.h
            • M third_party/blink/renderer/core/frame/embedded_content_view.h
            • M third_party/blink/renderer/core/frame/local_frame_view.cc
            • M third_party/blink/renderer/core/frame/local_frame_view.h
            • M third_party/blink/renderer/core/frame/remote_frame_view.cc
            • M third_party/blink/renderer/core/frame/remote_frame_view.h
            • M third_party/blink/renderer/core/layout/layout_embedded_content.cc
            • M third_party/blink/renderer/core/layout/layout_embedded_content.h
            • M third_party/blink/renderer/core/layout/layout_embedded_object.cc
            • A third_party/blink/web_tests/flag-specific/disable-site-isolation-trials/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https-expected.txt
            • A third_party/blink/web_tests/wpt_internal/svg/resources/empty.html
            • A third_party/blink/web_tests/wpt_internal/svg/resources/nested.sub.html
            • A third_party/blink/web_tests/wpt_internal/svg/use-count-svg-filter-on-embedded-content.sub.https.html
            • M tools/metrics/histograms/metadata/blink/enums.xml
            Change size: L
            Delta: 17 files changed, 593 insertions(+), 0 deletions(-)
            Branch: refs/heads/main
            Submit Requirements:
            • requirement satisfiedCode-Review: +1 by Philip Rogers
            Open in Gerrit
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: merged
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: I4734c92bee03a5d2b1f2036312ad8cd4122598a6
            Gerrit-Change-Number: 7638432
            Gerrit-PatchSet: 21
            Gerrit-Owner: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: Sun Yueru <yr...@chromium.org>
            open
            diffy
            satisfied_requirement
            Reply all
            Reply to author
            Forward
            0 new messages