[PWA] Restrict manifest icon URL schemes [chromium/src : main]

0 views
Skip to first unread message

Daniel Murphy (Gerrit)

unread,
Apr 28, 2026, 2:08:23 PM (7 days ago) Apr 28
to Daniel Murphy, Adriana Ixba, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
Attention needed from Adriana Ixba and Chromium IPC Reviews

Daniel Murphy voted Auto-Submit+1

Auto-Submit+1
Open in Gerrit

Related details

Attention is currently required from:
  • Adriana Ixba
  • Chromium IPC Reviews
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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
Gerrit-Change-Number: 7801898
Gerrit-PatchSet: 2
Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
Gerrit-Reviewer: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
Gerrit-Attention: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-Attention: Adriana Ixba <ai...@chromium.org>
Gerrit-Comment-Date: Tue, 28 Apr 2026 18:08:13 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Adriana Ixba (Gerrit)

unread,
Apr 28, 2026, 2:12:40 PM (7 days ago) Apr 28
to Daniel Murphy, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
Attention needed from Chromium IPC Reviews and Daniel Murphy

Adriana Ixba voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Chromium IPC Reviews
  • Daniel Murphy
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not 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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
    Gerrit-Change-Number: 7801898
    Gerrit-PatchSet: 2
    Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
    Gerrit-Reviewer: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Attention: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-Comment-Date: Tue, 28 Apr 2026 18:12:27 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    gwsq (Gerrit)

    unread,
    Apr 28, 2026, 2:18:11 PM (7 days ago) Apr 28
    to Daniel Murphy, Chromium IPC Reviews, Adriana Ixba, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
    Attention needed from Daniel Murphy and Nasko Oskov

    Message from gwsq

    From googleclient/chrome/chromium_gwsq/ipc/config.gwsq:
    IPC: na...@chromium.org

    📎 It looks like you’re making a possibly security-sensitive change! 📎 IPC security review isn’t a rubberstamp, so your friendly security reviewer will need a fair amount of context to review your CL effectively. Please review your CL description and code comments to make sure they provide context for someone unfamiliar with your project/area. Pay special attention to where data comes from and which processes it flows between (and their privilege levels). Feel free to point your security reviewer at design docs, bugs, or other links if you can’t reasonably make a self-contained CL description. (Also see https://cbea.ms/git-commit/).

    IPC reviewer(s): na...@chromium.org


    Reviewer source(s):
    na...@chromium.org is from context(googleclient/chrome/chromium_gwsq/ipc/config.gwsq)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Daniel Murphy
    • Nasko Oskov
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not 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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
    Gerrit-Change-Number: 7801898
    Gerrit-PatchSet: 2
    Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
    Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Attention: Nasko Oskov <na...@chromium.org>
    Gerrit-Comment-Date: Tue, 28 Apr 2026 18:18:00 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nasko Oskov (Gerrit)

    unread,
    Apr 28, 2026, 7:40:48 PM (7 days ago) Apr 28
    to Daniel Murphy, Chromium IPC Reviews, Adriana Ixba, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
    Attention needed from Adriana Ixba and Daniel Murphy

    Nasko Oskov voted and added 1 comment

    Votes added by Nasko Oskov

    Code-Review+1

    1 comment

    Patchset-level comments
    File-level comment, Patchset 3 (Latest):
    Nasko Oskov . resolved

    IPC changes LGTM

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Adriana Ixba
    • Daniel Murphy
    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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
    Gerrit-Change-Number: 7801898
    Gerrit-PatchSet: 3
    Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
    Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: gwsq
    Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Attention: Adriana Ixba <ai...@chromium.org>
    Gerrit-Comment-Date: Tue, 28 Apr 2026 23:40:36 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Daniel Murphy (Gerrit)

    unread,
    Apr 30, 2026, 1:03:47 PM (5 days ago) Apr 30
    to Daniel Murphy, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Adriana Ixba, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
    Attention needed from Adriana Ixba and Nasko Oskov

    Daniel Murphy voted Auto-Submit+1

    Auto-Submit+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Adriana Ixba
    • Nasko Oskov
    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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
    Gerrit-Change-Number: 7801898
    Gerrit-PatchSet: 5
    Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
    Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Peter Beverloo <pe...@chromium.org>
    Gerrit-CC: gwsq
    Gerrit-Attention: Nasko Oskov <na...@chromium.org>
    Gerrit-Attention: Adriana Ixba <ai...@chromium.org>
    Gerrit-Comment-Date: Thu, 30 Apr 2026 17:03:33 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Daniel Murphy (Gerrit)

    unread,
    Apr 30, 2026, 1:16:36 PM (5 days ago) Apr 30
    to Daniel Murphy, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Adriana Ixba, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
    Attention needed from Adriana Ixba and Nasko Oskov

    Daniel Murphy voted and added 1 comment

    Votes added by Daniel Murphy

    Auto-Submit+1
    Commit-Queue+1

    1 comment

    File third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
    Line 227, Patchset 5: icon->setSrc(execution_context->CompleteURL(icon->src()));
    Daniel Murphy . unresolved

    This change resolves relative icon URLs synchronously in the renderer before they are converted into the Mojo options struct.

    Why this is safe:
    Consistency: Mutating the original V8 options object immediately ensures that the TypeConverter copies full URLs. This prevents the strict Mojo traits validation from rejecting the message due to invalid URLs.
    No-op in Icon Loader: The asynchronous BackgroundFetchIconLoader still resolves these URLs later, but since they are already full URLs, it is a safe no-op.

    Migration & Database Analysis:
    New Registrations: Correctly stores the full resolved URL in the database.
    Old Registrations: Old registrations with relative URLs were stored as "" in the database. This is completely harmless because the browser process uses the cached icon bitmap, not the URL, to display the icon. So no migration is needed.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Adriana Ixba
    • Nasko Oskov
    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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
      Gerrit-Change-Number: 7801898
      Gerrit-PatchSet: 6
      Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
      Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
      Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
      Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Peter Beverloo <pe...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Nasko Oskov <na...@chromium.org>
      Gerrit-Attention: Adriana Ixba <ai...@chromium.org>
      Gerrit-Comment-Date: Thu, 30 Apr 2026 17:16:25 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Adriana Ixba (Gerrit)

      unread,
      Apr 30, 2026, 2:34:20 PM (5 days ago) Apr 30
      to Daniel Murphy, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
      Attention needed from Daniel Murphy and Nasko Oskov

      Adriana Ixba voted and added 1 comment

      Votes added by Adriana Ixba

      Code-Review+1

      1 comment

      Patchset-level comments
      File-level comment, Patchset 7 (Latest):
      Adriana Ixba . resolved

      restamping

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Daniel Murphy
      • Nasko Oskov
      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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
        Gerrit-Change-Number: 7801898
        Gerrit-PatchSet: 7
        Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
        Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
        Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
        Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Peter Beverloo <pe...@chromium.org>
        Gerrit-CC: gwsq
        Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
        Gerrit-Attention: Nasko Oskov <na...@chromium.org>
        Gerrit-Comment-Date: Thu, 30 Apr 2026 18:34:01 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Nasko Oskov (Gerrit)

        unread,
        Apr 30, 2026, 3:00:14 PM (5 days ago) Apr 30
        to Daniel Murphy, Adriana Ixba, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
        Attention needed from Daniel Murphy

        Nasko Oskov voted

        Code-Review+1
        Commit-Queue+2
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Daniel Murphy
        Gerrit-Comment-Date: Thu, 30 Apr 2026 18:59:48 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Daniel Murphy (Gerrit)

        unread,
        Apr 30, 2026, 3:34:16 PM (5 days ago) Apr 30
        to Daniel Murphy, Adriana Ixba, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
        Attention needed from Nasko Oskov

        Daniel Murphy voted and added 1 comment

        Votes added by Daniel Murphy

        Auto-Submit+1

        1 comment

        File third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
        Line 227, Patchset 5: icon->setSrc(execution_context->CompleteURL(icon->src()));
        Daniel Murphy . resolved

        This change resolves relative icon URLs synchronously in the renderer before they are converted into the Mojo options struct.

        Why this is safe:
        Consistency: Mutating the original V8 options object immediately ensures that the TypeConverter copies full URLs. This prevents the strict Mojo traits validation from rejecting the message due to invalid URLs.
        No-op in Icon Loader: The asynchronous BackgroundFetchIconLoader still resolves these URLs later, but since they are already full URLs, it is a safe no-op.

        Migration & Database Analysis:
        New Registrations: Correctly stores the full resolved URL in the database.
        Old Registrations: Old registrations with relative URLs were stored as "" in the database. This is completely harmless because the browser process uses the cached icon bitmap, not the URL, to display the icon. So no migration is needed.

        Daniel Murphy

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Nasko Oskov
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not 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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
          Gerrit-Change-Number: 7801898
          Gerrit-PatchSet: 7
          Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
          Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
          Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
          Gerrit-CC: Peter Beverloo <pe...@chromium.org>
          Gerrit-CC: gwsq
          Gerrit-Attention: Nasko Oskov <na...@chromium.org>
          Gerrit-Comment-Date: Thu, 30 Apr 2026 19:34:05 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          Comment-In-Reply-To: Daniel Murphy <dmu...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Daniel Murphy (Gerrit)

          unread,
          Apr 30, 2026, 5:40:34 PM (5 days ago) Apr 30
          to Daniel Murphy, Adriana Ixba, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
          Attention needed from Nasko Oskov

          Daniel Murphy voted Commit-Queue+2

          Commit-Queue+2
          Gerrit-Comment-Date: Thu, 30 Apr 2026 21:40:22 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Daniel Murphy (Gerrit)

          unread,
          Apr 30, 2026, 5:42:20 PM (5 days ago) Apr 30
          to Daniel Murphy, Peter Beverloo, Adriana Ixba, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
          Attention needed from Nasko Oskov and Peter Beverloo

          Daniel Murphy added 2 comments

          Patchset-level comments
          Daniel Murphy . resolved

          +peter for background fetch reviewer

          File third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
          Line 227, Patchset 5: icon->setSrc(execution_context->CompleteURL(icon->src()));
          Daniel Murphy . unresolved

          This change resolves relative icon URLs synchronously in the renderer before they are converted into the Mojo options struct.

          Why this is safe:
          Consistency: Mutating the original V8 options object immediately ensures that the TypeConverter copies full URLs. This prevents the strict Mojo traits validation from rejecting the message due to invalid URLs.
          No-op in Icon Loader: The asynchronous BackgroundFetchIconLoader still resolves these URLs later, but since they are already full URLs, it is a safe no-op.

          Migration & Database Analysis:
          New Registrations: Correctly stores the full resolved URL in the database.
          Old Registrations: Old registrations with relative URLs were stored as "" in the database. This is completely harmless because the browser process uses the cached icon bitmap, not the URL, to display the icon. So no migration is needed.

          Daniel Murphy

          Done

          Daniel Murphy

          re-opening, for background_fetch_manager.cc owner

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Nasko Oskov
          • Peter Beverloo
          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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
            Gerrit-Change-Number: 7801898
            Gerrit-PatchSet: 7
            Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
            Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
            Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-Reviewer: Peter Beverloo <pe...@chromium.org>
            Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
            Gerrit-Attention: Peter Beverloo <pe...@chromium.org>
            Gerrit-Comment-Date: Thu, 30 Apr 2026 21:42:10 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            Comment-In-Reply-To: Daniel Murphy <dmu...@chromium.org>
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Peter Beverloo (Gerrit)

            unread,
            12:24 PM (2 hours ago) 12:24 PM
            to Daniel Murphy, Peter Beverloo, Adriana Ixba, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com
            Attention needed from Daniel Murphy

            Peter Beverloo voted and added 1 comment

            Votes added by Peter Beverloo

            Code-Review+1

            1 comment

            Patchset-level comments
            Peter Beverloo . resolved

            lgtm, thank you for the clear explanation!

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Daniel Murphy
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement 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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
            Gerrit-Change-Number: 7801898
            Gerrit-PatchSet: 7
            Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
            Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
            Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-Reviewer: Peter Beverloo <pe...@chromium.org>
            Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
            Gerrit-CC: gwsq
            Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
            Gerrit-Comment-Date: Tue, 05 May 2026 16:24:23 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Daniel Murphy (Gerrit)

            unread,
            12:41 PM (2 hours ago) 12:41 PM
            to Daniel Murphy, Peter Beverloo, Adriana Ixba, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, Chromium LUCI CQ, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com

            Daniel Murphy voted and added 1 comment

            Votes added by Daniel Murphy

            Commit-Queue+2

            1 comment

            File third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
            Line 227, Patchset 5: icon->setSrc(execution_context->CompleteURL(icon->src()));
            Daniel Murphy . resolved

            This change resolves relative icon URLs synchronously in the renderer before they are converted into the Mojo options struct.

            Why this is safe:
            Consistency: Mutating the original V8 options object immediately ensures that the TypeConverter copies full URLs. This prevents the strict Mojo traits validation from rejecting the message due to invalid URLs.
            No-op in Icon Loader: The asynchronous BackgroundFetchIconLoader still resolves these URLs later, but since they are already full URLs, it is a safe no-op.

            Migration & Database Analysis:
            New Registrations: Correctly stores the full resolved URL in the database.
            Old Registrations: Old registrations with relative URLs were stored as "" in the database. This is completely harmless because the browser process uses the cached icon bitmap, not the URL, to display the icon. So no migration is needed.

            Daniel Murphy

            Done

            Daniel Murphy

            re-opening, for background_fetch_manager.cc owner

            Daniel Murphy

            Done

            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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
              Gerrit-Change-Number: 7801898
              Gerrit-PatchSet: 7
              Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
              Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
              Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
              Gerrit-Reviewer: Peter Beverloo <pe...@chromium.org>
              Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
              Gerrit-CC: gwsq
              Gerrit-Comment-Date: Tue, 05 May 2026 16:41:01 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: Yes
              Comment-In-Reply-To: Daniel Murphy <dmu...@chromium.org>
              satisfied_requirement
              open
              diffy

              Chromium LUCI CQ (Gerrit)

              unread,
              2:00 PM (15 minutes ago) 2:00 PM
              to Daniel Murphy, Peter Beverloo, Adriana Ixba, android-bu...@system.gserviceaccount.com, Chromium IPC Reviews, chromium...@chromium.org, dibyapal+wa...@chromium.org, rayanka...@chromium.org, nator...@chromium.org, blink-...@chromium.org, dmurph+watch...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, webap...@microsoft.com

              Chromium LUCI CQ submitted the change

              Change information

              Commit message:
              [PWA] Restrict manifest icon URL schemes

              Restrict the allowed schemes for icons in the Web App Manifest to
              `http`, `https`, and `data`, OR a the same scheme as the document.
              This mitigates blind SSRF risks where a malicious manifest could point
              icons to internal network targets.

              In the parser, icons with invalid schemes are ignored with a console
              error. In Mojo traits, deserialization fails if an invalid scheme is
              sent, protecting against compromised renderers.

              Also, in BackgroundFetchManager, resolve relative icon URLs
              synchronously in the renderer before converting to Mojo types. This
              ensures that the new strict Mojo traits validation checks pass for all
              valid relative URLs, while correctly persisting fully-resolved URLs in
              the metadata database.
              Bug: b:505425352
              Test: blink_unittests --gtest_filter=ManifestParserTest.*
              Test: blink_common_unittests --gtest_filter=ManifestMojomTraitsTest.*
              Change-Id: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
              Reviewed-by: Peter Beverloo <pe...@chromium.org>
              Reviewed-by: Adriana Ixba <ai...@chromium.org>
              Auto-Submit: Daniel Murphy <dmu...@chromium.org>
              Commit-Queue: Daniel Murphy <dmu...@chromium.org>
              Reviewed-by: Nasko Oskov <na...@chromium.org>
              Cr-Commit-Position: refs/heads/main@{#1625579}
              Files:
              • M content/browser/manifest/manifest_browsertest.cc
              • M content/browser/manifest/manifest_manager_host.cc
              • M content/common/background_fetch/background_fetch_mojom_traits_unittest.cc
              • M third_party/blink/common/manifest/manifest_mojom_traits.cc
              • M third_party/blink/common/manifest/manifest_mojom_traits_unittest.cc
              • M third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
              • M third_party/blink/renderer/modules/manifest/manifest_parser.cc
              • M third_party/blink/renderer/modules/manifest/manifest_parser_unittest.cc
              Change size: M
              Delta: 8 files changed, 163 insertions(+), 1 deletion(-)
              Branch: refs/heads/main
              Submit Requirements:
              • requirement satisfiedCode-Review: +1 by Adriana Ixba, +1 by Peter Beverloo, +1 by Nasko Oskov
              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: I8fc12cfb99977d9ef9a940876c81c9541072d4c5
              Gerrit-Change-Number: 7801898
              Gerrit-PatchSet: 8
              Gerrit-Owner: Daniel Murphy <dmu...@chromium.org>
              Gerrit-Reviewer: Adriana Ixba <ai...@chromium.org>
              Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
              Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
              Gerrit-Reviewer: Peter Beverloo <pe...@chromium.org>
              Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
              open
              diffy
              satisfied_requirement
              Reply all
              Reply to author
              Forward
              0 new messages