Skip to content

Calculate ancestorOrigins on document creation and store on document - #12071

Merged
zcorpan merged 6 commits into
mainfrom
zcorpan/ancestororigins-on-document
Feb 19, 2026
Merged

Calculate ancestorOrigins on document creation and store on document#12071
zcorpan merged 6 commits into
mainfrom
zcorpan/ancestororigins-on-document

Conversation

@zcorpan

@zcorpan zcorpan commented Jan 9, 2026

Copy link
Copy Markdown
Member

When a Location object is created, a Document is not yet created. This is problematic for ancestorOrigins.

Also remove [SameObject] since step 1 can return a separate object.

(See WHATWG Working Mode: Changes for more details.)


/document-lifecycle.html ( diff )
/document-sequences.html ( diff )
/dom.html ( diff )
/index.html ( diff )
/nav-history-apis.html ( diff )

When a Location object is created, a Document is not yet created. This is problematic for ancestorOrigins.

@domfarolino domfarolino left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks great, thanks! I have a question about the implications of moving from Location/Window to Document, since these are not always 1:1.

Example: you navigate an iframe from the initial about:blank Document to a same-origin one. I think neither the inner Window nor Location objects change, yet this PR would recalculate ancestor origins after the navigation, where as the current spec would not. Is that ever observable?

I envisioned a case where an iframe's ancestor used document.domain to change its origin before the navigation away from the initial about:blank Document. The current spec would not reflect the ancestor's origin change, since ancestorOrigins never gets recalculated. After this PR, the new document's ancestor origins list gets recalculated to its ancestor's "ancestor origins list" plus the ancestor's origin, which could have changed. On the other hand, we only ever expose its ASCII serialization, which never considers an origin's domain, so I guess it's not observable.

So basically after this PR, in the navigation scenario I described above, the "internal ancestor origins objects list" CAN change, but not in a way that is observable to script. Is that right?

Edit: Regarding the PR template, if there is indeed no observable change here, maybe the "At least two implementers are interested (and none opposed):" becomes "N/A"?

Comment thread source
@zcorpan

zcorpan commented Jan 21, 2026

Copy link
Copy Markdown
Member Author

Without the referrerpolicy change I think there's no observable difference. Even with document.domain, that doesn't change the origin returned by ancestorOrigins because https://html.spec.whatwg.org/#ascii-serialisation-of-an-origin seralizes the origin's host, not the origin's domain (demo). There's no other way for the parent document to change its origin or its sandboxing flags after the document is created AFAIK.

There is an observable difference here though which is [SameObject] removal and returning a new DOMTokenList every time (which matches Chromium and Gecko but not WebKit). This is tested in https://wpt.fyi/results/html/browsers/history/the-location-interface/location-ancestor-origins-inactive-document.sub.html?label=experimental&label=master&aligned and web-platform-tests/wpt#56635

@domfarolino

Copy link
Copy Markdown
Member

There's no other way for the parent document to change its origin or its sandboxing flags after the document is created AFAIK.

Right, well technically it changes its origin by virtue of changing its origin's domain with document.domain, but this doesn't impact same origin checks, only same origin-domain checks I guess. Does that match your understanding?

Even with #11560, there should be no observable change due to document.domain, because #11560 only ever refers to "same origin" checks, never "same origin-domain" checks. Is this right?

@zcorpan

zcorpan commented Jan 21, 2026

Copy link
Copy Markdown
Member Author

Yes, correct. Though with #11560 you can have an iframe with the initial about:blank document, then change the referrerpolicy attribute, then navigate the iframe. The Location object is the same, but ancestorOrigins is different for the two documents. See https://wpt.fyi/results/html/browsers/history/the-location-interface/location-ancestor-origins-referrerpolicy-snapshot.html?label=experimental&label=master&aligned

@zcorpan

zcorpan commented Jan 21, 2026

Copy link
Copy Markdown
Member Author

@annevk is this OK for WebKit?

zcorpan added a commit to zcorpan/ServiceWorker that referenced this pull request Jan 22, 2026
This term is now a list (not a DOMTokenList) on Document (not Location).

See whatwg/html#12071
Comment thread source

@annevk annevk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, one nit.

Comment thread source Outdated
@zcorpan
zcorpan merged commit 8708cf3 into main Feb 19, 2026
2 checks passed
@zcorpan
zcorpan deleted the zcorpan/ancestororigins-on-document branch February 19, 2026 15:27
zcorpan added a commit to web-platform-tests/wpt that referenced this pull request Feb 19, 2026
yoshisatoyanagisawa pushed a commit to w3c/ServiceWorker that referenced this pull request Feb 23, 2026
This term is now a list (not a DOMTokenList) on Document (not Location).

See whatwg/html#12071
lando-worker Bot pushed a commit to mozilla-firefox/firefox that referenced this pull request Feb 24, 2026
… is not [SameObject], a=testonly

Automatic update from web-platform-tests
HTML: Test that location.ancestorOrigins is not [SameObject]

See whatwg/html#12071
--

wpt-commits: ee9d052af8df4a37c97badf7c4bb714d551e03ef
wpt-pr: 56635
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 9, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 9, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 10, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 10, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 10, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
emerick pushed a commit to brave/brave-core that referenced this pull request Apr 11, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 13, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 14, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
emerick pushed a commit to brave/brave-core that referenced this pull request Apr 14, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 15, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 15, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 16, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 17, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 18, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 20, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
emerick pushed a commit to brave/brave-core that referenced this pull request Apr 21, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 21, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 22, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 22, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 23, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 23, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 23, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 24, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
emerick pushed a commit to brave/brave-core that referenced this pull request Apr 24, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
emerick pushed a commit to brave/brave-core that referenced this pull request Apr 24, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
emerick pushed a commit to brave/brave-core that referenced this pull request Apr 26, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 27, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
cdesouza-chromium added a commit to brave/brave-core that referenced this pull request Apr 27, 2026
* Update from Chromium 147.0.7727.117 to Chromium 148.0.7778.60.

* Conflict-resolved patches from Chromium 147.0.7727.102 to Chromium 148.0.7778.48.

* [cr148] `gnrt` run for Chromium 148.0.7765.1.

* [cr148] `BookmarkContextMenuController` added `can_paste`

This requires adding extra atgs on our own overrides of these classes.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bca4b0a240b3c641d10a1518b232bc432c9f7472

commit bca4b0a240b3c641d10a1518b232bc432c9f7472
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Mon Mar 9 14:47:10 2026 -0700

    [Reland] Fix BookmarkContextMenu paste menu enabled state

    BookmarkContextMenu::BookmarkContextMenu indirectly called
    BookmarkContextMenuController::IsCommandIdEnabled for IDC_PASTE. This
    breaks since can_paste_ is only set when showing the menu. This CL fixes
    the issue by passing can_paste to BookmarkContextMenu().

    R=avi

    Bug: 40398800
    Change-Id: I130da5d5fca333508bbde8e0b02c57f03adb5e78
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7640749
    Reviewed-by: David Yeung <dayeung@chromium.org>
    Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
    Reviewed-by: Avi Drissman <avi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1596622}

* [cr148] `ShowTabSearchBubble` dropped `section` arg

This argument was not being used in Brave, so it is of no consequence.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bb4630838cd0fd2567b306b6c481750fdf2b95dd

commit bb4630838cd0fd2567b306b6c481750fdf2b95dd
Author: Emily Shack <emshack@chromium.org>
Date:   Mon Mar 9 16:23:28 2026 -0700

    [TabOrganization] Deprecate tab index pref

    Deprecates kTabSearchTabIndex and any reference to tab search sections,
    following up to the removal of auto tab groups and declutter from tab
    search.

    Bug: 488463961
    Change-Id: I5c9ecc7024e2125ddd524f381451c59a8cda1ee2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7630127
    Reviewed-by: Alex Gough <ajgo@chromium.org>
    Commit-Queue: Emily Shack <emshack@chromium.org>
    Reviewed-by: Darryl James <dljames@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1596690}

* [cr148] `SidePanelUtil` renamed to `SidePanelHelper`

This change corrects all uses and override for this class to use the new
path and refer to the new name. It is important to notice though that
upstream has introduced a new `SidePanelUtil`, and
`GetSidePanelContentProxy` was subsequently moved out of
`SidePanelHelper` and into the new `SidePanelUtil`.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f1041bd627b995b8c64f3738472a4c16768e8488
https://chromium.googlesource.com/chromium/src/+/2af163009adf96c9bfd7b7918dd6ed32dc08f1b8

commit f1041bd627b995b8c64f3738472a4c16768e8488
Author: Mark Schillaci <mschillaci@google.com>
Date:   Mon Mar 9 17:53:26 2026 -0700

    [Side Panel Infra] Make the SidePanelContentProxy platform agnostic

    This CL continues the work to prepare the Side Panel to be built on
    Android. We make the SidePanelContentProxy generalized so that we can
    include the SidePanelEntryWaiter on Android without having to add
    many special-case #ifdef's for it. We move the remaining utility method
    out of the views package to be in the platform agnostic package, and
    move the content proxy files and update BUILD files as needed.

    Bypass-Check-License: This is a moved file, not a new file or content.
    Bug: 489780669
    Change-Id: Ib69ffd474c62201276916de031d7741661cfccb2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644871
    Reviewed-by: Caroline Rising <corising@chromium.org>
    Commit-Queue: Mark Schillaci <mschillaci@google.com>
    Cr-Commit-Position: refs/heads/main@{#1596748}

commit 2af163009adf96c9bfd7b7918dd6ed32dc08f1b8
Author: Mark Schillaci <mschillaci@google.com>
Date:   Mon Mar 9 17:52:12 2026 -0700

    [Side Panel Intra] Rename SidePanelUtil to SidePanelHelper

    This CL is a simple rename of an existing class. We rename the utils to
    be clear that it is specifically for views::View related methods. In
    upcoming CLs we will split the non-views related code out of this file
    so that we can generalize the SidePanelContentProxy class to be
    platform agnostic.

    Bypass-Check-License: We are renaming files, not creating new ones.
    Bug: 489780669
    Change-Id: Icaed502e09e06f394fd4ad5f8cb960bb0395a490
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644629
    Reviewed-by: Caroline Rising <corising@chromium.org>
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Commit-Queue: Mark Schillaci <mschillaci@google.com>
    Cr-Commit-Position: refs/heads/main@{#1596746}

* [cr148] `BrowserAppMenuButton` icon override dropped

The override being removed was introduced to make sure taht
`GetIconSize()` was passed into `FromVectorIcon`. This is now being done
by upstream, making the override obsolete.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f3170a166a701d5b7d29130f44dfb407eeab3837

commit f3170a166a701d5b7d29130f44dfb407eeab3837
Author: Emily Shack <emshack@chromium.org>
Date:   Tue Mar 10 15:59:39 2026 -0700

    [GlowUp] Animate the app menu icon on hover

    Adds a Lottie animation so that the app menu transforms into the Chrome
    logo when hovered. This is implemented behind the kTabStripDeclutter
    flag.

    Also updates the app menu icon (not behind a flag), which didn't match
    the latest UX mocks

    Bug: 486253264
    Change-Id: I040f74e60bfae26ff87ac8245a7b0d1d00f23fc9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7649384
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Commit-Queue: Emily Shack <emshack@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597385}

* [cr148] Fixing `ad_tracker` inclusion

This header has been moved and this has to be corrected on our use of
it.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/1eb011788b5d7286578552bd807a588de4f5218a

commit 1eb011788b5d7286578552bd807a588de4f5218a
Author: Josh Karlin <jkarlin@chromium.org>
Date:   Mon Mar 9 14:44:08 2026 -0700

    Move the AdTracker into its own directory

    Bug: 435683890
    Change-Id: Ic243ac8c7a114d613777a2b788b631251696c84f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7639470
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Nate Chapin <japhet@chromium.org>
    Commit-Queue: Josh Karlin <jkarlin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1596619}

* [cr148][ios] `TargetDeviceInfo` no longer includes `full_name` and `short_name` fields

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c9dcfbf7aa3318b019a3802c0bdc0f7ee452c731

commit c9dcfbf7aa3318b019a3802c0bdc0f7ee452c731
Author: Michael Tatarski <mtatarski@google.com>
Date:   Tue Mar 10 08:07:45 2026 -0700

    Consolidate device name resolution logic into sync_device_info

    Building on the previous extraction of `GetDeviceDisplayNames`
    (https://crrev.com/c/7638170), this CL further centralizes device naming
    logic by introducing `GetDeviceDisplayNamesForList()`.

    Previously, both Send Tab to Self and Sharing Message independently
    implemented logic to deduplicate device lists, filter out the local
    device, and choose between short and full device names based on name
    collisions. This logic is now unified within `sync_device_info`.

    This is a pure refactoring and introduces no functional changes to the
    generated device lists or names.

    Bug: 485549442
    Change-Id: Ib1f2c020386f23306edc35b43b9521027b9624ba
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7645592
    Commit-Queue: Michael Tatarski <mtatarski@google.com>
    Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
    Reviewed-by: Mikel Astiz <mastiz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597067}

* [cr148] `kSyncAutofillLoyaltyCard` deleted and made default

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ba1bc87f5b13d8446edbd4d30013806bd4ce2d41

commit ba1bc87f5b13d8446edbd4d30013806bd4ce2d41
Author: Norge Vizcay <vizcay@google.com>
Date:   Wed Mar 11 00:42:18 2026 -0700

    Remove kSyncAutofillLoyaltyCard feature flag

    The kSyncAutofillLoyaltyCard feature has been launched. This CL removes
    the feature flag and its associated conditional logic, making the
    syncing of loyalty cards from Google Wallet enabled by default.

    Bug: b:393119606
    Test: components_unittests --gtest_filter=ValuablesDataManagerTest.*
    Test: sync_integration_tests --gtest_filter=SingleClientValuablesSyncTest.*
    Test: unit_tests --gtest_filter=SyncServiceFactoryTest.*
    Change-Id: I63f09797a9cab0c28edb0f0439c7d1ef130e4fbb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7654135
    Commit-Queue: Norge Vizcay <vizcay@google.com>
    Reviewed-by: Marc Treib <treib@chromium.org>
    Reviewed-by: Etienne Bergeron <etienneb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597558}

* [cr148] `SidePanelRegistry` now retrieved as unowned data

This instance used to be retrieved through the tab features instance.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/2970137b00570120a51fea804f2c54e3a2f15f87

commit 2970137b00570120a51fea804f2c54e3a2f15f87
Author: Mark Schillaci <mschillaci@google.com>
Date:   Wed Mar 11 06:02:38 2026 -0700

    [Side Panel Infra] Move SidePanelRegistry for tabs to unowned user data

    This CL updates the SidePanelRegistry to have a new From methods that
    takes a TabInterface and uses unowned user data to fetch the registry.
    We do this so that we can break the dependency on Browser* for clients
    of the SidePanelRegistry, which will allow porting of the code to
    Android. We add SidePanelRegistry as a tab scoped unowned data, and
    update all callsites. The GetDeprecated method is still included but
    future CLs can refactor those call sites to use this new approach.

    Bug: 491476669
    Change-Id: I88f94c7c7c5c62e9a4a16b35b2917902d9eba59b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7653790
    Auto-Submit: Mark Schillaci <mschillaci@google.com>
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Reviewed-by: Caroline Rising <corising@chromium.org>
    Commit-Queue: Caroline Rising <corising@chromium.org>
    Reviewed-by: Bryant Chandler <bryantchandler@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597683}

* [cr148] `PerformActionsCallback` dropped args

This callback now only passes the `action_results` vector, from which
the information contained on the dropped args should be retrieved with.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0b4371bdac738a1d3694383d097bfb3f1962c8ab

commit 0b4371bdac738a1d3694383d097bfb3f1962c8ab
Author: mark a. foltz <mfoltz@chromium.org>
Date:   Tue Mar 10 18:33:33 2026 -0700

    [actor] simplify PerformActions API

    This CL removes result_code and index_of_failed_action from the
    actor::PerformActionsCallback and related Act callbacks.

    These values are now derived from the action_results vector:
    - If all results are kOk, the task is successful.
    - Otherwise, the first non-kOk result determines the result_code and
      index_of_failed_action.

    Bug: 490381613
    Change-Id: Ic2cb372f425ffada667096b0678aebc74a85a433
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644888
    Reviewed-by: Rodney Ding <rodneyding@google.com>
    Commit-Queue: Mark Foltz <mfoltz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597461}

* [cr148] Fix `PermissionPrompt::Delegate` mock class

A new pure virtual method was added to this delegate, namely,
`ShouldShowLocationPrecisionSelector`, and therefore a stub for it is
required in `MockPermissionPromptDelegate`.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/03df9c4b7a0c4d970594c7966ce8857b5bb717c4

commit 03df9c4b7a0c4d970594c7966ce8857b5bb717c4
Author: Tom Van Goethem <tov@chromium.org>
Date:   Wed Mar 11 08:05:20 2026 -0700

    Add support for approximate-only geolocation prompts.

    This CL introduces support for the approximate-only geolocation prompts
    that can be requested through the <geolocation> element and the API. In
    this CL, only the prompt string and the decision of when to trigger the
    approximate-only prompt based on the permission request are added. The
    connection to the API or <geolocation> element are not added yet. These
    still need to be added in order to display the approximate-only prompts.

    Bug: 483114849
    Change-Id: I3b4e4c5186f4af5c3997e781d13426d42754331c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7559277
    Reviewed-by: Antonio Sartori <antoniosartori@chromium.org>
    Commit-Queue: Tom Van Goethem <tov@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597751}

* [cr148] Use spanified `WriteAtCurrentPos`

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/42d167bff187e08502aeab99bc9ec8fe81e0d233

commit 42d167bff187e08502aeab99bc9ec8fe81e0d233
Author: Andrew Paseltiner <apaseltiner@chromium.org>
Date:   Wed Mar 11 05:24:26 2026 -0700

    Make non-spanified base::File::WriteAtCurrentPos overload private

    Bug: 435317390
    Change-Id: Iab79430a615d36c1a528a3cd4f96bca1cd38bec3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7653098
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Petr Cermak <petrcermak@chromium.org>
    Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597668}

* [cr148] `ProfileMetricsService` required by `PrimaryAccountManager`

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/de412c3b43b45b5d201a968f8e1266de89d72475

commit de412c3b43b45b5d201a968f8e1266de89d72475
Author: Ryan Sultanem <rsult@google.com>
Date:   Wed Mar 11 14:31:56 2026 -0700

    [PerProfileMetrics] Implement metric for SignIn/Out.Completed

    Bug: 417921579
    Change-Id: I4210b45c70759dc79c2304eac30cb2cfc78f0048
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7637630
    Reviewed-by: David Roger <droger@chromium.org>
    Commit-Queue: Ryan Sultanem <rsult@google.com>
    Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
    Reviewed-by: Jérôme Lebel <jlebel@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597997}

* [cr148][Android] FragmentDependencyProvider.ctor windowAndroidSupplierarg changed

From `MonotonicObservableSupplier` to `OneshotSupplier`

Chromim change:
https://source.chromium.org/chromium/chromium/src/+/1886db4b40ccf9dfad5270be7861fefbb44c5ed3

commit 1886db4b40ccf9dfad5270be7861fefbb44c5ed3
Author: Anton Goncharenko <agonch@google.com>
Date:   Tue Mar 10 17:49:16 2026 -0700

    [Signin][Android] SafetyHub: Wait for UI dependencies before initializing sign-in coordinator.

    For consistency with other fragments' provided dependencies, pass
    Suppliers to SafetyHubModuleDelegateImpl rather than assuming the
    Suppliers have already been initialized. Able to repro a
    NullPointerException (WindowAndroid not being initialized) during
    Activity recreation when killing Chrome during the "add new account"
    sign-in flow (see repro steps in crbug.com/479179162).

    Bug: 479179162
    Change-Id: I8a37a6a532cf5d4650849ec86151e1ee9c9ee0f2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7642808
    Reviewed-by: Menghan Yang <myuu@google.com>
    Commit-Queue: Anton Goncharenko <agonch@google.com>
    Reviewed-by: Zaina Al-Mashni <zalmashni@google.com>
    Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597438}

* [AI Chat] [Tab Focus] Decouple tab focus UI from removed upstream tab organization (#34637)

[AI Chat] [Tab Focus] Decouple tab focus UI from removed upstream tab organization

Upstream (549edd60fe) removed their tab organization UI in CR147,
leaving the tab search bubble as a plain search list. To prepare
for this change, this PR updates how we hook into upstream tab
search UI, and decouples our pref change notification methods and
method to open learn more page to our own instead of overriding
upstream's.

Main changes:

Restore the deleted auto_tab_groups WebUI under
browser/resources/tab_search/tab_focus/ with Brave naming
(TabFocusPageElement / 'tab-focus-page'), since our Leo-based
tab focus feature uses a customized version that doesn't depend
on upstream.

Wrap the upstream app with <brave-tab-search-app> that adds
cr-tabs navigation between "Tab Search" and "Tab Focus",
conditionally showing the tab organization page based on the
AI Chat feature flag and user pref, falling back to search-only
when disabled.

Add Brave Page callbacks (TabFocusEnabledChanged,
TabFocusShowFREChanged) via BraveExtend on the Page interface
for live pref updates, and add OpenLearnMorePage to PageHandler
for the tab focus learn more link.

Fix friend declaration hook to match an upstream private method
that still exists in CR147, and fix unit test by injecting
MOCK_METHODs into upstream MockPage via BindNewPipeAndPassRemote()
hook.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/549edd60fee41974de823b6bc2b4a715a526cb66

commit 549edd60fee41974de823b6bc2b4a715a526cb66
Author: Emily Shack <emshack@chromium.org>
Date:   Fri Mar 6 13:08:50 2026 -0800

    [TabOrganization] Remove ATG WebUI code

    Auto tab groups has been deprecated, this removes all associated WebUI
    code. Mojom/page handler code will be handled in a follow-up to minimize
    CL size.

    Bug: 488463961
    Change-Id: Idb49a5303953194c53b5ed2a12ec4132ca037918
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7629718
    Reviewed-by: Alison Gale <agale@chromium.org>
    Commit-Queue: Emily Shack <emshack@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1595647}

* [cr147] Fixes for the deletion of ATG webui code

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/549edd60fee41974de823b6bc2b4a715a526cb66

commit 549edd60fee41974de823b6bc2b4a715a526cb66
Author: Emily Shack <emshack@chromium.org>
Date:   Fri Mar 6 13:08:50 2026 -0800

    [TabOrganization] Remove ATG WebUI code

    Auto tab groups has been deprecated, this removes all associated WebUI
    code. Mojom/page handler code will be handled in a follow-up to minimize
    CL size.

    Bug: 488463961
    Change-Id: Idb49a5303953194c53b5ed2a12ec4132ca037918
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7629718
    Reviewed-by: Alison Gale <agale@chromium.org>
    Commit-Queue: Emily Shack <emshack@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1595647}

* [cr148] Add our own `PrefChangeRegistrar` for `TabSearchPageHandler` since upstream has eliminated theirs

Upstream no longer initializes or otherwise uses `pref_change_registrar_` in
`TabSearchPageHandler` but they forgot to remove it. Since we still need to
monitor pref changes, add our own to our override of their class.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/bb4630838cd0fd2567b306b6c481750fdf2b95dd

commit bb4630838cd0fd2567b306b6c481750fdf2b95dd
Author: Emily Shack <emshack@chromium.org>
Date:   Mon Mar 9 16:23:28 2026 -0700

    [TabOrganization] Deprecate tab index pref

    Deprecates kTabSearchTabIndex and any reference to tab search sections,
    following up to the removal of auto tab groups and declutter from tab
    search.

    Bug: 488463961
    Change-Id: I5c9ecc7024e2125ddd524f381451c59a8cda1ee2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7630127
    Reviewed-by: Alex Gough <ajgo@chromium.org>
    Commit-Queue: Emily Shack <emshack@chromium.org>
    Reviewed-by: Darryl James <dljames@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1596690}

* [cr148] `kSideBySide` feature flag deleted

Since upstream deleted the related user education badges, we no longer need to
suppress those.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/13f2ce9b0bb3e2dc58238a7ac69a2f009b5b6a18

commit 13f2ce9b0bb3e2dc58238a7ac69a2f009b5b6a18
Author: Alison Gale <agale@chromium.org>
Date:   Thu Mar 12 09:08:54 2026 -0700

    [SxS] Clean up split view flags

    The bulk of the cleanup was done previously. This just removes the new
    badge.

    Bug: 473848046
    Change-Id: I83c89e1ce5184b371f518003438235a95a4030ea
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7658827
    Commit-Queue: Alison Gale <agale@chromium.org>
    Reviewed-by: David Pennington <dpenning@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1598469}

* [cr148] Reanchor `BraveTabSearchButton` override

Upstream removed `TabSearchContainer`, so we need to move our override of
`BraveTabSearchButton` to the class where `TabSearchButton` is constructed
now (`HorizontalTabvStripRegionView`)

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d43a49df6f998a2e3828a410402cc46d41fae43a

commit d43a49df6f998a2e3828a410402cc46d41fae43a
Author: Emily Shack <emshack@chromium.org>
Date:   Wed Mar 11 16:17:46 2026 -0700

    [TabOrganization] Remove TabSearchContainer

    Removes the auto tab groups nudge button, which in turn makes
    TabSearchContainer obsolete. Replaces TabSearchContainer with a direct
    reference to the tab search button itself.

    Bug: 488463961
    Change-Id: Ib1941ceabe6bccf6835c47561f9bff2a9d810bac
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7651705
    Reviewed-by: Darryl James <dljames@chromium.org>
    Commit-Queue: Emily Shack <emshack@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1598058}

* [cr148] Deps fixes

* [cr148][ios] Use spanified version of `WriteAtCurrentPos`

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/42d167bff187e08502aeab99bc9ec8fe81e0d233

commit 42d167bff187e08502aeab99bc9ec8fe81e0d233
Author: Andrew Paseltiner <apaseltiner@chromium.org>
Date:   Wed Mar 11 05:24:26 2026 -0700

    Make non-spanified base::File::WriteAtCurrentPos overload private

    Bug: 435317390
    Change-Id: Iab79430a615d36c1a528a3cd4f96bca1cd38bec3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7653098
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Petr Cermak <petrcermak@chromium.org>
    Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1597668}

* [cr148] Filter upstream tests as needed

* [cr148] `is_paste_and_match_style_enabled` plumbed into context menu

This argument only gets passed along for our purposes.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/54777b8f87dcd034f40ffa2bae1ffe0e5b59d321

commit 54777b8f87dcd034f40ffa2bae1ffe0e5b59d321
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Thu Mar 12 20:04:07 2026 -0700

    [Clipboard] Async GetAllAvailableFormats replaces sync IsFormatAvailable

    This change replaces the synchronous IsFormatAvailable method in
    ui::Clipboard with an asynchronous GetAllAvailableFormats method. The
    new method takes a callback and returns a set of all available formats.

    All platform implementations (Android, Windows, Mac, Ozone, iOS, and the
    non-backed implementation) have been updated. Callers across the
    codebase have been refactored to use the new asynchronous API, often
    utilizing a pseudo-synchronous pattern where acceptable or updating to
    full async.

    Synchronous convenience functions were added to clipboard_test_util to
    facilitate the update of the extensive test suite.

    IsFormatAvailable is most commonly used to enable the "Paste" menu item
    in context menus. The strategy is to obtain this state before the menu
    is created, since the menu delegate interface for determining if a
    command is enabled should remain synchronous.

    Behavior is preserved by this change except for a change in Textfield
    (and it's subclass OmniboxViewViews): when pasting, the clipboard is
    assumed to contain content. The consequence of this is event propagation
    of Ctrl-V keypresses will stop on the Textfield when it may otherwise
    have been propagated to parent views. This is deemed an acceptable
    tradeoff for the async migration since this behavior is unlikely to ever
    get hit.

    Bug: 40398800
    Change-Id: Ibc005d100d9cfd21cb9f06c758ce0a98282fdb97
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7631097
    Reviewed-by: Olivier Robin <olivierrobin@chromium.org>
    Reviewed-by: Mikel Astiz <mastiz@chromium.org>
    Reviewed-by: Colin Blundell <blundell@chromium.org>
    Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
    Reviewed-by: Avi Drissman <avi@chromium.org>
    Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
    Reviewed-by: Mike Wasserman <msw@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1598848}

* [cr148] `TabCardView` created from `TabHoverCardBubbleView`

Several of the members from `TabHoverCardBubbleView` are now part of
`TabCardView`. This change corrects our override for this class and
several places where the interface was being used and needs to be
corrected.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/56e1946e9a5ef3f98eb5988bcf76292174df7860

commit 56e1946e9a5ef3f98eb5988bcf76292174df7860
Author: Dominic Austria <dominicaustria@google.com>
Date:   Thu Mar 12 21:41:50 2026 -0700

    Wrap TabHoverCardBubbleView child views

    We put the child views of TabHoverCardBubbleView into a single view. Later on we will implement a view for tab group headers, called GroupCardView. This will have two child views, one to hold the title of the tab groups, and the other to hold the title of the tabs in the corresponding tab group. Having two wrapper child views for the hover card content will make it easier to implement cross fading when the hovercard moves from tab group to tab.

    Bug: 481392191
    Change-Id: I953282830c0849bad9b046f85603ab6f1112df55
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7630129
    Reviewed-by: Emily Shack <emshack@chromium.org>
    Commit-Queue: Dominic Austria <dominicaustria@google.com>
    Cr-Commit-Position: refs/heads/main@{#1598874}

* [cr148] `AtomicString::LowerASCII` deleted

There's a new method to beused called `ToAsciiLower`.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/fcbc3d11008b8ba6c1a2e18a962e5a3f5333295d

commit fcbc3d11008b8ba6c1a2e18a962e5a3f5333295d
Author: Kent Tamura <tkent@chromium.org>
Date:   Fri Mar 13 02:54:54 2026 -0700

    WTF: Remove LowerASCII() methods of String and AtomicString

    We prefer ToAsciiLower().
    This CL has no behavior changes.

    Change-Id: I28ccfc28722922c86e1410b2dad167d7b6e222c9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7657126
    Commit-Queue: Fredrik Söderquist <fs@opera.com>
    Reviewed-by: Fredrik Söderquist <fs@opera.com>
    Auto-Submit: Kent Tamura <tkent@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1598954}

* [cr148] Tab strip model shadow files moved

These sources are moved on upstream and this change corrects their
location in Brave as well.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c9b4d76b7163c9c52a2742824dcf98230b7dee85

commit c9b4d76b7163c9c52a2742824dcf98230b7dee85
Author: Fred Shih <ffred@chromium.org>
Date:   Fri Mar 13 11:28:57 2026 -0700

    Make tab strip service truly platform agnostic

    While the core logic of the service was (mostly) platform agnostic, some
    of the components still had hard dependencies on TSM. This change
    removes those hard dependency in subcomponents.

    tl;dr start --

    Move all TSM related stuff into tab_strip_model_impl folder. Remove all
    TSM includes from all other files outside of that package.

    Potential followup work: move all the non-tab_strip_model_impl package
    outside of the chrome/browser/ui/tabs directory to prevent confusion.

    -- end tl;dr

    Overall, with the exception of some book keeping, it wasn't too
    terrible, because most of the TSM language is already translated to an
    internal language past the integration points. Most of the work was just
    updating the includes and namespacing.

    We did have two instances where TSM concepts bled into the service, but
    they were reasonably easy to remove.

    The configuration for the adapters is sufficiently complex enough that I
    introduced a PlatformAdaptersProvider object to hold onto the different
    pieces needed by the service. This should prevent future churn when
    adding new dependencies, as it won't trigger a massive refactoring to
    add new dependencies or to change interfaces.

    Change-Id: Ieaf575de81f2b2fe51a7a5ab590a0c52f16a8b9c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7652133
    Commit-Queue: Fred Shih <ffred@chromium.org>
    Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
    Reviewed-by: David Yeung <dayeung@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599199}

* [cr148] Support new `ProtectionLevel` in `ElevationService`

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0fdbaef65b9ade5730c98d5af4fe57ece28f3341

commit 0fdbaef65b9ade5730c98d5af4fe57ece28f3341
Author: Will Harris <wfh@chromium.org>
Date:   Fri Mar 13 10:35:06 2026 -0700

    Add new app-bound validation type for isolated data

    Data encrypted by a process running isolated cannot be decrypted by a
    process not running isolated.

    However, isolated processes can decrypt data from both isolated or
    unisolated processes, which enables data security upgrade scenarios for
    when a process becomes isolated.

    SetIsolationState is extended to re-encrypt data to an unisolated state
    if downgrading protection. This ensures the data remains accessible when
    running unisolated. To achieve this, App-Bound takes an option to force
    a re-encrypt to a particular protection level, and this is also exposed
    via the App-Bound key provider.

    Tests are added for all of this new behavior.

    BUG=433545123

    Change-Id: Ibff7119ec151f5ef11a7d5091b5360709db787ee
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644512
    Commit-Queue: Will Harris <wfh@chromium.org>
    Reviewed-by: Greg Thompson <grt@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599157}

* [cr148][Android] SyncServiceAndroidBridge methods signature changed

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7555add0775582ef4c8b7458f4e95f7493c80d9e

commit 7555add0775582ef4c8b7458f4e95f7493c80d9e
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Wed Mar 11 17:24:07 2026 -0700

    Add @JniType to a batch of files in //components (#4)

    Bug: 491444984
    Change-Id: I14feaa20d1cde9479f5742c171e955d504fd3f05
    Cq-Include-Trybots: luci.chrome.try:android-internal-dbg,android-internal-binary-size
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7654452
    Reviewed-by: Peter Wen <wnwen@chromium.org>
    Owners-Override: Andrew Grieve <agrieve@chromium.org>
    Commit-Queue: Andrew Grieve <agrieve@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1598092}

* [cr148][Android] Move SigninManagerImpl to signin.services target

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/737d3e35abb1641430e6aed3f1b9d7bac36fd9c1

commit 737d3e35abb1641430e6aed3f1b9d7bac36fd9c1
Author: Liza Bipin <mlbipin@google.com>
Date:   Thu Mar 12 03:02:24 2026 -0700

    [Signin][Android] Move SigninManagerImpl to signin.services target

    Fixed: 40163288
    Bypass-Check-License: Files were moved and so contain an older licence date.
    Change-Id: I99d2710096ce9e918995038d9834038adba28048
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7633764
    Reviewed-by: Menghan Yang <myuu@google.com>
    Commit-Queue: Liza Bipin <mlbipin@google.com>
    Cr-Commit-Position: refs/heads/main@{#1598309}

* [cr148][Android] FeedSurfaceMediator.ctor changed

Removed:
- headerModel;
- openingTabId;
- optionsCoordinator;
- uiConfig.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c65d635f364e1be31350bce04819b1e0a1465425

commit c65d635f364e1be31350bce04819b1e0a1465425
Author: Yanling <yanlinghu@google.com>
Date:   Thu Mar 12 12:33:33 2026 -0700

    [Feed] Reland: Removes feed header related code

    This CL is a reland of
    https://www.google.com/search?q=https://chromium-review.git.corp.google.com/c/chromium/src/%2B/7620591

    The code in this CL is identical to the original. The previous CL was
    reverted because the feed header tests were not completely removed in
    Clank. Those tests have now been cleaned up, making it safe to land this
    CL.

    Bug: 407797637
    Change-Id: I06b6481b0f998a811d1498e8d790e3c6f82d9c4c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7620591
    Reviewed-by: Xi Han <hanxi@chromium.org>
    Commit-Queue: Yanling Hu <yanlinghu@google.com>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Original-Commit-Position: refs/heads/main@{#1597904}
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7661925
    Cr-Commit-Position: refs/heads/main@{#1598611}

* [cr148][Android] SnapScrollHelperImpl.ctor takes NewTabPageCoordinator now

SnapScrollHelperImpl constructor changed to accept NewTabPageCoordinator
instead of NewTabPageLayout. Added mNewTabPageCoordinator shadow field to
BraveNewTabPage and create it in initializeMainView after inflating the
layout.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/040e46a7c7697d0eb32e58b30a39e9822d045d81

commit 040e46a7c7697d0eb32e58b30a39e9822d045d81
Author: Xi Han <hanxi@google.com>
Date:   Wed Mar 11 18:33:45 2026 -0700

    [NtpRefactor] Split NewTabPageLayout into NewTabPageCoordinator and
    layout.

    This is a refactor CL without any behavior changes. In this CL:
    1. Split major logic from  NewTabPageLayout to NewTabPageCoordinator,
       only Layout implementations remains in the NewTabPageLayout;
    2. To preserve the renaming history, temporarily renaming
       NewTabPageLayout to NtpLayout. We will rename back in follow up CL
       https://crrev.com/c/7658503.
    Design doc: go/ntp-mvc-refactor.

    Bug: 487641528
    Bypass-Check-License: NewTabPageCoordinator is a renamed from NewTabPageLayout.
    Change-Id: Ief8fd9b048696a875ccd8167421d88ad2e667f04
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7658403
    Commit-Queue: Xi Han <hanxi@chromium.org>
    Reviewed-by: Xinyi Ji <xinyiji@chromium.org>
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1598132}

* [cr148][Android] ToolbarManager.ctor gained ActivityResultTracker and DeviceLockActivityLauncher

Two new parameters added to ToolbarManager constructor between
WindowAndroid and OneshotSupplier<ChromeAndroidTask>:
- ActivityResultTracker
- DeviceLockActivityLauncher

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c0e37322747db4f16956a53ff936c85905593c3b

commit c0e37322747db4f16956a53ff936c85905593c3b
Author: Sophie Crowley <crowleso@google.com>
Date:   Wed Mar 11 10:30:11 2026 -0700

    [Signin][Android] Add piping for Signin button onclick functionality

    This will be immediately followed by its child CL
    https://crrev.com/c/7604273 which uses all of these dependencies in
    adding Seamless Signin + settings onclick functionality for this Signin
    button. Split CL for ease of review. Adapted from
    IdentityDiscController.java

    Bug: 478828569
    Change-Id: I600617b391ac061000998b1820ba573a57079e86
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600378
    Commit-Queue: Sophie Crowley <crowleso@google.com>
    Reviewed-by: Liza Bipin <mlbipin@google.com>
    Cr-Commit-Position: refs/heads/main@{#1597857}

* [cr148][Android] TopToolbarCoordinator.ctor gained 7 new parameters

Seven new parameters added to TopToolbarCoordinator constructor after
MonotonicObservableSupplier<Profile>:
- SigninAndHistorySyncActivityLauncher
- WindowAndroid
- ActivityResultTracker
- DeviceLockActivityLauncher
- BottomSheetController
- ModalDialogManager
- SnackbarManager

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/c0e37322747db4f16956a53ff936c85905593c3b

commit c0e37322747db4f16956a53ff936c85905593c3b
Author: Sophie Crowley <crowleso@google.com>
Date:   Wed Mar 11 10:30:11 2026 -0700

    [Signin][Android] Add piping for Signin button onclick functionality

    This will be immediately followed by its child CL
    https://crrev.com/c/7604273 which uses all of these dependencies in
    adding Seamless Signin + settings onclick functionality for this Signin
    button. Split CL for ease of review. Adapted from
    IdentityDiscController.java

    Bug: 478828569
    Change-Id: I600617b391ac061000998b1820ba573a57079e86
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600378
    Commit-Queue: Sophie Crowley <crowleso@google.com>
    Reviewed-by: Liza Bipin <mlbipin@google.com>
    Cr-Commit-Position: refs/heads/main@{#1597857}

* [cr148][Android] ResourceButtonData moved to ui/actions package

Update import for ResourceButtonData which was moved from
org.chromium.chrome.browser.hub to org.chromium.chrome.browser.ui.actions.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/d364b657773ea7874b8ba6781d44cb9c2e54f55f

commit d364b657773ea7874b8ba6781d44cb9c2e54f55f
Author: Dan Polanco <polardz@google.com>
Date:   Wed Mar 11 15:05:22 2026 -0700

    Create ui/actions and move generic ButtonData

    Moves DisplayButtonData, FullButtonData, and their generic
    implementations out of the hub package into
    chrome/browser/ui/android/actions.

    Bug: 483096892
    Bypass-Check-License: Rename/move files.
    Change-Id: I9701129bf1d86ea20ac2786c9c66aa9778f1c64a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7654411
    Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Auto-Submit: Dan Polanco <polardz@google.com>
    Commit-Queue: Dan Polanco <polardz@google.com>
    Cr-Commit-Position: refs/heads/main@{#1598021}

* [cr148][Android] bottom_controls_stub renamed to tab_group_ui_container_stub

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/7f45d5ea69f24f70aa752408de0b2918d09b09c5

commit 7f45d5ea69f24f70aa752408de0b2918d09b09c5
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Fri Mar 13 10:44:30 2026 -0700

    [BottomControls] More renames in preparation for bottom app bar

    Bug: 492262214
    Change-Id: I6cd721bdb6b403d5ebf608d8509bb30e074ed69d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7666737
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
    Reviewed-by: Sky Malice <skym@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599164}

* [cr148][Android] BottomControlsMediator/Coordinator gained layerType param

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/d0dca8d3d103b066d551f6713a3ab53b1072ee51

commit d0dca8d3d103b066d551f6713a3ab53b1072ee51
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Fri Mar 13 10:44:15 2026 -0700

    [BottomControls] Make bottom controls more generic

    * Simplify back press logic.
    * Extract LayerType so the component can be reused for multiple layers.
    * Misc. cleanup and reorganization.

    Bug: 492262214
    Change-Id: Ic35a7613f950d73470471b4b5c8b62497c535cee
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7665618
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Reviewed-by: Sky Malice <skym@chromium.org>
    Reviewed-by: Dan Polanco <polardz@google.com>
    Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599163}

* [cr148] `//third_party/mock` removed from gsutil third_party code

`//third_party/mock` was removed from the gsutil third_party code. We were
previously touching the Changelog file in this directory because it was needed
for our test suites to run properly on Android (see
https://github.com/brave/brave-browser/issues/31641). However, we can no longer
do that so removed that code (there was no adverse effect after removing it).

Chromium changes:
https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/ac70fe6a2cd8d142ff08e4692fa3230fb954a211

commit ac70fe6a2cd8d142ff08e4692fa3230fb954a211
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Thu Mar 12 14:36:11 2026 -0400

    Roll //third_party/gsutil 5.29 -> 5.36

    And also set "Shipped: No" in the README.chromium

    Required to support python3. Currently, I'm seeing:

    >>> from devil.android import device_utils
    >>> d = device_utils.DeviceUtils.HealthyDevices()
    <snip>
      File "/usr/local/google/code/clankium-rebaser/src/third_party/catapult/third_party/gsutil/third_party/apitools/apitools/base/protorpclite/messages.py", line 319, in __init__
        raise EnumDefinitionError(
        ...<2 lines>...
            (attribute, value))
    apitools.base.protorpclite.messages.EnumDefinitionError: May only use integers in Enum definitions.  Found: __static_attributes__ = ()

    Change-Id: Ieb949db930984a1a84061b3a0a2159b12e5c0e30
    Reviewed-on: https://chromium-review.googlesource.com/c/catapult/+/7658464
    Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
    Auto-Submit: Andrew Grieve <agrieve@chromium.org>
    Reviewed-by: Haiyang Pan <hypan@google.com>
    Reviewed-by: Brian Sheedy <bsheedy@chromium.org>

* [cr148] `chrome_select_file_policy.h` moved

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/74754be9d4550a487df006a51a33318245d37301

commit 74754be9d4550a487df006a51a33318245d37301
Author: Andrii Natiahlyi <natiahlyi@google.com>
Date:   Mon Mar 16 07:03:16 2026 -0700

    Componentize ChromeSelectFilePolicy to fix circular dependency

    Extract ChromeSelectFilePolicy and its unit tests from the monolithic
    //chrome/browser/ui target into a standalone source_set under
    //chrome/browser/ui/select_file_policy/.

    This refactoring breaks a circular dependency between
    //chrome/browser/ui and //chrome/browser/ui/passwords/settings:impl.
    BUILD files and includes have been updated across the codebase to
    reflect the new location.

    Bug: 437811373
    Bypass-Check-License: Files were moved to a sub-folder.
    Change-Id: I7ce28ca446211f5f6fe6dafab71c19b20bf18d18
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7665700
    Reviewed-by: Marc Treib <treib@chromium.org>
    Auto-Submit: Andrii Natiahlyi <natiahlyi@google.com>
    Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
    Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599862}

* [cr148] Replace `SetCrashedOverlayView` with `TakeCrashedOverlayView` for shared pinned tab dummy view

Upstream removed `WebView::SetCrashedOverlayView()` (the borrow variant) in
favour of `TakeCrashedOverlayView()`, which takes ownership of the overlay view
via unique_ptr.

Update `SharedPinnedTabDummyViewViews::Install()` to transfer ownership to the
WebView using `TakeCrashedOverlayView()`. The `Install()` signature now accepts
`std::unique_ptr<SharedPinnedTabDummyView>` so the caller can hand off ownership
at the call site. `SetVisible(true)` is still required to force the overlay
visible: the dummy `WebContents` is created with `kNoRendererProcess` so
`UpdateCrashedOverlayView()` is not called again after installation, but it runs
once inside `TakeCrashedOverlayView()` and hides the overlay (since the contents
is not in a crashed state).

Note: AI-assisted: requires thorough review

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cbbb5425a554127e6b5b69bdb180274c0fccfdd1
https://chromium.googlesource.com/chromium/src/+/b5d130cdc7fdd3b744f1ac723ce09111184f3ef3

commit cbbb5425a554127e6b5b69bdb180274c0fccfdd1
Author: Robert Liao <robliao@chromium.org>
Date:   Mon Mar 16 15:11:52 2026 -0700

    Remove WebView::SetCrashedOverlayView

    This concludes the SadTab set_owned_by_client() removal.

    Fixed: 486052969
    Change-Id: I8996b978c265a1ea6f0be894c80a7a9edce3cae3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7670120
    Auto-Submit: Robert Liao <robliao@chromium.org>
    Commit-Queue: Allen Bauer <kylixrd@chromium.org>
    Reviewed-by: Allen Bauer <kylixrd@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600154}

commit b5d130cdc7fdd3b744f1ac723ce09111184f3ef3
Author: Robert Liao <robliao@chromium.org>
Date:   Wed Apr 1 20:20:55 2026 -0700

    Remove WebView::SetCrashedOverlayView

    This concludes the SadTab set_owned_by_client() removal.

    Fixed: 486052969
    Change-Id: Ifcb897e910ccd2335b155cb6cb782c0d9eff844b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7722236
    Commit-Queue: Robert Liao <robliao@chromium.org>
    Auto-Submit: Robert Liao <robliao@chromium.org>
    Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1608957}

* [cr148] ESLint checks for `CrLitElement` source name

Turn off `eslint-comments/no-unlimited-disable` for chromium_src overrides, so
that we can use `// eslint-disable-next-line` in our TypeScript overrides when
necessary. There was no simpler way to avoid the original lint check, as it
would require splitting our override into multiple source files and including
those in the build.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d9c984b9e016d609c4cafbe55787123ded99ae14

commit d9c984b9e016d609c4cafbe55787123ded99ae14
Author: dpapad <dpapad@chromium.org>
Date:   Fri Mar 13 18:20:00 2026 -0700

    WebUI: Add ESLint check to disallow use of chrome.send in Desktop.

    This is added as part of build_webui() ESLint checks and is enforcing
    the updated guidance at [1]. Exceptions are added for all existing users
    of chrome.send().

    [1] https://chromium.googlesource.com/chromium/src/+/main/docs/webui/webui_explainer.md#Pre_Mojo-alternative_chrome_send_WebUIMessageHandler

    Bug: 40245923
    Change-Id: I175ce9be0f7c4ad3f280c93ee41ff54f399a18e9
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7662733
    Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
    Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
    Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599429}

* [cr148] `AccountConsistencyMethod` dropped from auth token

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/63307d4b1d2659d399b608c54ff3fa223260e711

commit 63307d4b1d2659d399b608c54ff3fa223260e711
Author: Alex Ilin <alexilin@chromium.org>
Date:   Mon Mar 16 08:28:59 2026 -0700

    [signin] Deprecate account_consistency in MutablePO2TSDelegate

    This CL removes the account_consistency parameter from the
    IdentityManager initialization flow and specifically from the
    MutableProfileOAuth2TokenServiceDelegate.

    MutableProfileOAuth2TokenServiceDelegate is only used on Desktop
    platforms that use kDice account consistency, so the code can always
    assume that kDice is being used.

    account_consistency could be set to `kDisabled` when Chrome sign-in
    isn't allowed. However, in this case Chrome will automatically remove
    all accounts [1] so there is no point for
    MutableProfileOAuth2TokenServiceDelegate to have an extra logic
    preserving only primary but not secondary accounts in this case.

    [1] https://crsrc.org/c/chrome/browser/signin/accounts_policy_manager.cc;drc=75bd37cd98d8654e740d5b267c1be6fbf81c6ede;l=279

    Fixed: 487335996
    Change-Id: I0dc317f40a384b0db0c5b2511ba9182a5663ad4b
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7654078
    Reviewed-by: Monica Salama <msalama@chromium.org>
    Auto-Submit: Alex Ilin <alexilin@chromium.org>
    Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
    Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1599910}

* [cr148][Android] New arg contentDelegateSupplier at BottomControlsMediator.ctor

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/5214142978dc8e29bf94564a9949636c987a1d4c

commit 5214142978dc8e29bf94564a9949636c987a1d4c
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Mon Mar 16 12:17:37 2026 -0700

    [BottomBar] Expose capability to control the color and scroll behavior

    Per comments on BottomControlsLayer interface it is already possible to dynamically update the color and scroll behavior, then make a call to request an update.

    This CL exposes mechanisms to control the BottomControlsContentDelegate implementation and provides a callback to BottomBarContainerCoordinator to update the render state.

    Bug: 492262214
    Change-Id: I31d265c95b5771c121e120d2bdf1c4cd096c8a1e
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7664742
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Reviewed-by: Madhav Pruthi <madhavpruthi@google.com>
    Reviewed-by: Dan Polanco <polardz@google.com>
    Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Madhav Pruthi <madhavpruthi@google.com>
    Cr-Commit-Position: refs/heads/main@{#1600048}

* [cr148][Android] Delete TinkerTank

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/4783f6f061ceee0788a1d52ab273510ffa42f19a

commit 4783f6f061ceee0788a1d52ab273510ffa42f19a
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Mon Mar 16 10:45:32 2026 -0700

    Delete TinkerTank

    - Delegate is kept until downstream use is cleaned up.

    Bug: None
    Change-Id: I32692bdf3e76a8ba4645555dd1a3ff5ac1bb42a6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7669831
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Yaron Friedman <yfriedman@chromium.org>
    Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600003}

* Reapply "[cr148] `Tab::SetData` dropped"

This reverts commit 424e2e5e76fe01a450f7002e456639f9b8c7ce2b.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6f42aa179cbcfdb3dc07de43809701f59479071c

commit 6f42aa179cbcfdb3dc07de43809701f59479071c
Author: Steven Luong <stluong@chromium.org>
Date:   Tue Mar 17 12:59:15 2026 -0700

    [TabData] Reland Tab sets data from TabDataObserver

    This CL has the tab directly subscribe for tab data updates from the
    TabDataObserver instead of relying on other classes to set its data.

    The original CL was reverted because a crash occurs when the
    ThumbnailImage::Subscribe() is invoked, but the ThumbnailImage's
    delegate is null. The delegate is the TabThumbnailHelper and this
    can be null when the WebContents is destroyed. This implies that the
    hover card is trying to update with stale TabData after the tab's
    web contents is destroyed, but before the tab is destroyed.
    Therefore, this CL attempts to fix this crash by clearing out the
    thumbnail data when the TabInterface is deleted to avoid this case.

    Bug: 447214891
    Change-Id: Ifc9e6146d932e8d04af735a31e876945901c0b8d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7666899
    Commit-Queue: Steven Luong <stluong@chromium.org>
    Reviewed-by: Eshwar Stalin <estalin@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600750}

* [cr148] `kSCTAuditing` feature flag deleted

Since this feature flag is deleted, the Brave security team recommended
disabling `features::kSCTAuditingHashdance` (done) and
`prefs::kSafeBrowsingScoutReportingEnabled` (already was in place for Android,
so this commit moves it to a common area for Android and desktop both).

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/24258bf7bdd67889b7bcdaf5dfa7abce5eccf18b

commit 24258bf7bdd67889b7bcdaf5dfa7abce5eccf18b
Author: Joe DeBlasio <jdeblasio@chromium.org>
Date:   Mon Mar 16 21:58:39 2026 -0700

    [SCT Auditing] Remove sct-auditing flag and kSCTAuditing feature

    The 'sct-auditing' chrome://flags entry and the 'kSCTAuditing' feature
    flag are no longer needed as the feature is now permanently enabled for
    Chrome-branded builds on non-Android platforms.

    This CL:
    - Replaces checks for features::kSCTAuditing with direct checks for
      SystemNetworkContextManager::IsCertificateTransparencyEnabled() and !IS_ANDROID in SCTReportingService.
    - Hard-codes the default sampling rate to 0.0001.
    - Adds SCTReportingService::SetSamplingRateForTesting() to allow browser
      tests to continue using deterministic sampling rates.
    - Removes the 'sct-auditing' flag, its variations, descriptions, and
      metadata.
    - Updates sct_reporting_service_browsertests.cc to use the new testing
      override and wraps tests in a branding check.

    Fixed: 40258303
    Change-Id: Id1a338bd83dbebbfb34cfd4417acaa9c9cac9409
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7665502
    Reviewed-by: Chris Thompson <cthomp@chromium.org>
    Commit-Queue: Joe DeBlasio <jdeblasio@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600335}

* [cr148] `ActorTasks` require a `TaskSourceInfo`

This change adds a basic `TaskSourceInfo` instance for an experimental
actor.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/f2504cdf2460473d2b2ced505f25867704ed5e4e

commit f2504cdf2460473d2b2ced505f25867704ed5e4e
Author: David Bokan <bokan@chromium.org>
Date:   Tue Mar 17 10:40:42 2026 -0700

    Actor: Add TaskSourceInfo to ActorTasks

    Add a TaskSourceInfo struct in a new components/actor directory, usable
    outside of chrome/. This enables identifying the source creating an
    ActorTask which allows other features to tie actions taken by that task
    to the source. For example, the chrome://history page would be able to
    use the source info to group navigations (initiated by a Glic ActorTask)
    by conversation.

    This CL adds the struct and plumbs it into ActorTask. This requires
    updating a lot of test call sites. Additionally, update the Glic test
    harness to register a conversation so actor can assume a conversation id
    is always available, as it would be in the real world. GlicAPI tests
    were the only case that already register a conversation so these avoid
    the new path.

    Downstream CLs update the history service to make use of TaskSourceInfo.

    Bug: b:475235393
    Change-Id: I9b69beea3639da7b610b3776c186d192ffb8d07c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7634587
    Commit-Queue: David Bokan <bokan@chromium.org>
    Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
    Reviewed-by: Alex Gough <ajgo@chromium.org>
    Reviewed-by: Erik Chen <erikchen@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600646}

* [cr148] Fix unwated `kMaxStarterPackId` replacement

The use of this constant for inserting a new key on the same enum class
is too fragile, and has fallen apart with with a new mention of
`kMaxStarterPackId` being introduced.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ed834a558a91d08a5a47995444a932d66b5638ad

commit ed834a558a91d08a5a47995444a932d66b5638ad
Author: Amelie Schneider <amelies@google.com>
Date:   Tue Mar 17 10:54:29 2026 -0700

    [Search] Refactor disabled starter pack IDs retrieval

    Until now, it was determined directly in
    `TemplateURLTableModel::Reload()` whether starter packs should be
    disabled or not. Since we will have to use this logic directly inside
    the `TemplateURLService`, move it to the `SearchEnginesHandler` instead.

    Bug: 490314640
    Change-Id: I0f49443617b56cfdb71124b468a39200e90312a6
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7670799
    Reviewed-by: Nicolas Dossou-Gbété <dgn@chromium.org>
    Commit-Queue: Amelie Schneider <amelies@google.com>
    Cr-Commit-Position: refs/heads/main@{#1600663}

* [cr148] `DeriveKeyScrypt` => `Scrypt`

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/640d483f00a40ea99f9b5949ae395ac93566e050

commit 640d483f00a40ea99f9b5949ae395ac93566e050
Author: Elly <ellyjones@chromium.org>
Date:   Tue Mar 17 16:14:05 2026 -0700

    crypto/kdf: rename PBKDF2 and Scrypt

    To match the others:

    * DeriveKeyPbkdf2HmacSha1 -> Pbkdf2HmacSha1
    * DeriveKeyScrypt -> Scrypt

    and all clients are changed as well.

    AI-Model: Gemini 3 Flash
    Fixed: 430635195
    Change-Id: Ifda8165bcf9985265fd4d738a05ba80097e2d387
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7674112
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Commit-Queue: Elly FJ <ellyjones@chromium.org>
    Owners-Override: Daniel Cheng <dcheng@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600858}

* [cr148] Fix `ancestorOrigins` override signature

This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] https://github.com/whatwg/html/pull/12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}

* [cr148] Add `kProcessIsolationLearnMoreUrl` to `url_constants.h` override

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/ef672f4fe9e9c5b87b4a477958080b76a64d8473

commit ef672f4fe9e9c5b87b4a477958080b76a64d8473
Author: Will Harris <wfh@chromium.org>
Date:   Tue Mar 17 17:08:00 2026 -0700

    Settings: Add UI control for enabling Process Isolation

    Add a new UI switch in chrome://settings/system for Process Isolation.

    The switch is currently behind a disabled-by-default flag available from
    chrome://flags UI as it is still experimental. The setting is connected
    to a pref that backs the logic required to change the isolation state.

    When the switch is changed, the pref is set that signals for the
    `SetIsolationState` API to be called to set the isolation state, which
    is an asynchronous operation as data might need to be re-encrypted to
    the new state.

    A WebUI test, as well as a browser test are added to verify that the
    switch is wired up correctly.

    Bug: 487857179
    Change-Id: If19c100161c2f4546be0d1f698a3c0b2765573a2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7644989
    Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
    Commit-Queue: Will Harris <wfh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600891}

* [cr148][Android] - kAutofillEnableLoyaltyCardsFilling removed

Removed PREF_LOYALTY_CARDS from preferences.

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9d45f2f1f7f2f4e07a9ebf93be1873fd2bc34109

commit 9d45f2f1f7f2f4e07a9ebf93be1873fd2bc34109
Author: Norge Vizcay <vizcay@google.com>
Date:   Fri Mar 13 07:52:52 2026 -0700

    Remove kAutofillEnableLoyaltyCardsFilling feature flag

    The AutofillEnableLoyaltyCardsFilling feature has been launched.
    This CL removes the feature flag and all related code/tests that
    were conditionally enabled by it. All loyalty card filling
    functionality is now enabled by default.

    Bug: 395831853
    Test: CQ passes
    Change-Id: I1a686fcdf1724138ade660229b54760d563f4d66
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7661784
    Reviewed-by: Christoph Schwering <schwering@google.com>
    Reviewed-by: Florian Leimgruber <fleimgruber@google.com>
    Commit-Queue: Norge Vizcay <vizcay@google.com>
    Cr-Commit-Position: refs/heads/main@{#1599049}

* [cr148][Android] Changes around BottomBarHostManager

New arg bottomBarHostManager at:
- HubManagerImpl.ctor
- TabbedRootUiCoordinator.ctor
- ToolbarManager.ctor

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9be4e7a3e1f68c9a7405c62e06cbe8b4ed8832d5

commit 9be4e7a3e1f68c9a7405c62e06cbe8b4ed8832d5
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Tue Mar 17 16:49:31 2026 -0700

    [BottomBar] handle view ownership transfer

    Bug: 491509787
    Change-Id: Ia8baf8095c55fe9580d718bb8806deab9fd0f5e1
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7667562
    Reviewed-by: Madhav Pruthi <madhavpruthi@google.com>
    Reviewed-by: Dan Polanco <polardz@google.com>
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600877}

* [cr148][Android] New arg hubManagerSupplier at TabbedAppMenuPropertiesDelegate.ctor

Chromium change:
https://source.chromium.org/chromium/chromium/src/+/729996f4d16b4a3859c0c162623b7e1b1b1aea43

commit 729996f4d16b4a3859c0c162623b7e1b1b1aea43
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date:   Mon Mar 16 07:51:46 2026 -0700

    [Hub] Remove select_tabs from the overflow menu on non-tabs panes

    This also sets us up to support other "pane specific" customizations in
    the future.

    Fixed: 493182478
    Change-Id: Iab2f3b072ae5fffa3c55c63d8c50afe35f7285a1
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7667560
    Reviewed-by: Madhav Pruthi <madhavpruthi@google.com>
    Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
    Commit-Queue: Madhav Pruthi <madhavpruthi@google.com>
    Reviewed-by: Dan Polanco <polardz@google.com>
    Cr-Commit-Position: refs/heads/main@{#1599889}

* [cr148][ios] Add Cobalt to `brave_providers`

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d496e5519d6508de272a548da0d2ce586461dd1c

commit d496e5519d6508de272a548da0d2ce586461dd1c
Author: Quentin Pubert <qpubert@google.com>
Date:   Tue Mar 17 13:29:39 2026 -0700

    [iOS] Add Cobalt overflow menu destination

    This CL adds an overflow menu destination for the Cobalt feature. It is
    only visible if `web::features::IsCobaltEnabled()` and the browser is
    not managed.

    NO_IFTTT=Files have been moved thus invalidating IFTTT guards

    Bug: 475807780
    Change-Id: I20ed089aca62c181c58666b4eaf249317c405f1a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7670757
    Reviewed-by: Gauthier Ambard <gambard@chromium.org>
    Reviewed-by: Olivier Robin <olivierrobin@chromium.org>
    Auto-Submit: Quentin Pubert <qpubert@google.com>
    Commit-Queue: Quentin Pubert <qpubert@google.com>
    Cr-Commit-Position: refs/heads/main@{#1600776}

* [cr148] Fix ESLint reports for mixed imports

There's a now a check that flags the mixed imports of types and values
in the same statement.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/48ab71207d8bad222480e7fd5db54cb9120b391d

commit 48ab71207d8bad222480e7fd5db54cb9120b391d
Author: rbpotter <rbpotter@chromium.org>
Date:   Wed Mar 18 15:34:00 2026 -0700

    WebUI: Add a check for mixed type and value imports

    Bug: 493319444
    Change-Id: I2ddf4cb23367149deb52053cb37982a5296f33d2
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7671332
    Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
    Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1601585}

* [cr148] `kShortcutsNotApps` deleted

This feature flag was being disabled in brave, but the code for it was
already completely gutted and gone.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/3151653f293f62d7e812a78bda34e9a6d6526f34

commit 3151653f293f62d7e812a78bda34e9a6d6526f34
Author: Mitsuru Oshima <oshima@chromium.org>
Date:   Tue Mar 17 20:03:44 2026 -0700

    Remove obsolete ch…
aguscruiz pushed a commit to brave/brave-core that referenced this pull request May 4, 2026
This is a simple adjustment to make the sinagtures match.

Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8ab1ce0d367dc9ed4f2467374678b65792f47b56

commit 8ab1ce0d367dc9ed4f2467374678b65792f47b56
Author: Yeonghan Kim <soosungp33@gmail.com>
Date:   Mon Mar 16 21:09:36 2026 -0700

    Change location's ancestorOrigins to be calculated at Document creation

    According to [1], the spec was changed to calculate ancestor origins at
    Document creation time in order to compute them correctly. The current
    implementation creates new ancestor origins every time ancestorOrigins
    is called. Therefore, this patch moves ancestor origins to a Document
    and changes it to be calculated only once at Document creation time.

    [1] whatwg/html#12071

    Bug: 483610021
    Change-Id: Ib6fc07ca5f17f6a31250cfe95ffc4991e8e48fbc
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7615609
    Commit-Queue: YeongHan Kim <soosungp33@gmail.com>
    Reviewed-by: Daniel Cheng <dcheng@chromium.org>
    Reviewed-by: Mason Freed <masonf@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#1600317}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants