This reverts commit 60632268ea.
Reason for revert: causing crashes (see crbug.com/386615753)
Original change's description:
> IDB: direct reads for blobs
>
> For the standard case of a page reading IDB data from the blob store,
> don't go through the blob registry on the i/o thread and instead
> connect the IDB bucket thread directly to the renderer.
>
> In some other (rarer) cases the blob registry is still used. This
> is accomplished by *additionally* registering a blob with
> BlobStorageContext using the same UUID, which is necessary for:
>
> * WriteBlobToFile(), which does lookup by UUID
> * loading data for a blob:// URL, i.e. mojom::Blob::Load, which is
> thunked through to the registry blob because implementation is non-
> trivial
>
> Bug: 373684390
> Change-Id: I9235f23303e4e6a05bf12a8acff32a5fb4e2a565
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6113789
> Commit-Queue: Evan Stade <estade@chromium.org>
> Reviewed-by: Steve Becker <stevebe@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#1400627}
Bug: 373684390,386615753
Change-Id: I8e7460b58c175d9cbd62e99845dd68c71ef6dd06
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6132793
Auto-Submit: Evan Stade <estade@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1400977}
Rename this file and related interfaces as they will support
some non-mac use-cases.
A following CL will use the same mojom interface to proxy some
locale related system calls on Windows. This CL should cause no
functional changes.
Bug: 40408399
Change-Id: Ied9d4fbd851b4822c90d51d831f71bb0b47e7558
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6102591
Commit-Queue: Alex Gough <ajgo@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1400636}
For the standard case of a page reading IDB data from the blob store,
don't go through the blob registry on the i/o thread and instead
connect the IDB bucket thread directly to the renderer.
In some other (rarer) cases the blob registry is still used. This
is accomplished by *additionally* registering a blob with
BlobStorageContext using the same UUID, which is necessary for:
* WriteBlobToFile(), which does lookup by UUID
* loading data for a blob:// URL, i.e. mojom::Blob::Load, which is
thunked through to the registry blob because implementation is non-
trivial
Bug: 373684390
Change-Id: I9235f23303e4e6a05bf12a8acff32a5fb4e2a565
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6113789
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: Steve Becker <stevebe@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1400627}
This reverts commit 5783b19dd0.
Reason for revert: Fix failing bot.
Original change's description:
> Revert "[DIPS] Move from //chrome to //content."
>
> This reverts commit 8915d9509c.
>
> Reason for revert:
> https://ci.chromium.org/ui/p/chromium/builders/ci/linux-cast-x64-rel/6859/overview
>
> Original change's description:
> > [DIPS] Move from //chrome to //content.
> >
> > By moving DIPS (Bounce Tracking Mitigations) into //content, it will be
> > available for all content embedders, such as Android WebView.
> >
> > Aside from the obvious file moves, the main changes are:
> > - DIPS-related WebContentsObservers are created in
> > WebContentsImpl::Init() instead of TabHelpers::AttachTabHelpers()
> > - No more DIPSServiceFactory: BrowserContextImpl creates and owns the
> > DIPSServiceImpl directly
> > - No more DIPSCleanupService (nor its factory): BrowserContextImpl
> > deletes the DIPS database file if necessary
> > - The logic to trigger DIPS data deletion moved from
> > ChromeBrowsingDataRemoverDelegate to BrowsingDataRemoverImpl
> > - Tests have to override the ContentBrowserClient instead of setting
> > prefs and modifying the HostContentSettingsMap to test 3PC behavior
> > - The OpenerHeuristicService was split into two pieces: the part that
> > creates cookie grants was moved into //content as the new method
> > BrowserContext::BackfillPopupHeuristicGrants(); and the part that
> > observes the tracking protection settings stays in //chrome and calls
> > that method.
> > - Many FeatureParams were moved from tpcd_experiment_features.h in
> > //chrome to //components/content_settings/core/common/features.h
> > - components/content_settings/core/common was added to content/DEPS
> > - Renamed SiteDataAccessType to DIPSDataAccessType
> >
> > In followup CLs, we will
> > (1) Put all of the DIPS classes, functions, etc into the content namespace (crrev.com/c/6039087)
> > (2) Rename DIPS prefixes to Dips to comply with the style guide
> > (3) Change b/ bug references to crbug.com/
> > (4) Delete DipsDelegate, moving its methods to ContentBrowserClient
> >
> > Bug: 40883201
> > Change-Id: I3c07e867ae00e6817ff286a71722473c08ead624
> > Fuchsia-Binary-Size: Size increase is unavoidable - moving feature from //chrome to //content
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6000406
> > Reviewed-by: Avi Drissman <avi@chromium.org>
> > Reviewed-by: Joshua Hood <jdh@chromium.org>
> > Commit-Queue: Ryan Tarpine <rtarpine@chromium.org>
> > Reviewed-by: Adam Langley <agl@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1399855}
>
> Bug: 40883201
> Change-Id: I7c74ccf088a40075dd2134d855dc4ad5ea08ae58
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6117354
> Owners-Override: Owen Min <zmin@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: Owen Min <zmin@chromium.org>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#1399859}
Bug: 40883201
Change-Id: If191568901b803a8c4d1daebab27a295cbe38a0e
Fuchsia-Binary-Size: Size increase is unavoidable - moving feature from //chrome to //content
Cq-Include-Trybots: luci.chromium.try:linux-cast-x64-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6121689
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Joshua Hood <jdh@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Owners-Override: Ryan Tarpine <rtarpine@chromium.org>
Reviewed-by: Mike Wasserman <msw@chromium.org>
Commit-Queue: Ryan Tarpine <rtarpine@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1400362}
These metrics are intended to shed more light on some operations
that could be executing slowly, based on observed shutdown hangs.
Low-Coverage-Reason: temporary metrics for debugging
Bug: 384476946
Change-Id: I80f5227f320ba3652978e43aab51400b47ad756e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6120590
Reviewed-by: Brad Triebwasser <btriebw@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Owners-Override: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399966}
This fixes the DevTools instrumentation such that the `AffectedRequest`s
for inspector issues always contains a valid URL, and optionally the ID
of the network request.
This way the Issues panel no longer shows the network request as pending
for early CORS errors, and in particular will no longer suggest that the
developer can reload the page in order for the network request to show
up (which will never happen for these CORS issues).
The meat of the change is in the `browser_protocol.pdl`, for the
`AffectedRequest` type, where the `url` is now required, while the
`requestId` is now optional. The rest of the changes are just plumbing.
The DevTools front-end was previously prepared for these changes with
https://crrev.com/c/6111100, and works with both types of `AffectRequest`
now.
Bug: 385693302
Change-Id: I2c6c7b7ecfa5a4638d0f15ba292ad406b433bad6
Screenshot: https://i.imgur.com/lS1Orx8.png
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6110121
Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Owners-Override: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399906}
This reverts commit 8915d9509c.
Reason for revert:
https://ci.chromium.org/ui/p/chromium/builders/ci/linux-cast-x64-rel/6859/overview
Original change's description:
> [DIPS] Move from //chrome to //content.
>
> By moving DIPS (Bounce Tracking Mitigations) into //content, it will be
> available for all content embedders, such as Android WebView.
>
> Aside from the obvious file moves, the main changes are:
> - DIPS-related WebContentsObservers are created in
> WebContentsImpl::Init() instead of TabHelpers::AttachTabHelpers()
> - No more DIPSServiceFactory: BrowserContextImpl creates and owns the
> DIPSServiceImpl directly
> - No more DIPSCleanupService (nor its factory): BrowserContextImpl
> deletes the DIPS database file if necessary
> - The logic to trigger DIPS data deletion moved from
> ChromeBrowsingDataRemoverDelegate to BrowsingDataRemoverImpl
> - Tests have to override the ContentBrowserClient instead of setting
> prefs and modifying the HostContentSettingsMap to test 3PC behavior
> - The OpenerHeuristicService was split into two pieces: the part that
> creates cookie grants was moved into //content as the new method
> BrowserContext::BackfillPopupHeuristicGrants(); and the part that
> observes the tracking protection settings stays in //chrome and calls
> that method.
> - Many FeatureParams were moved from tpcd_experiment_features.h in
> //chrome to //components/content_settings/core/common/features.h
> - components/content_settings/core/common was added to content/DEPS
> - Renamed SiteDataAccessType to DIPSDataAccessType
>
> In followup CLs, we will
> (1) Put all of the DIPS classes, functions, etc into the content namespace (crrev.com/c/6039087)
> (2) Rename DIPS prefixes to Dips to comply with the style guide
> (3) Change b/ bug references to crbug.com/
> (4) Delete DipsDelegate, moving its methods to ContentBrowserClient
>
> Bug: 40883201
> Change-Id: I3c07e867ae00e6817ff286a71722473c08ead624
> Fuchsia-Binary-Size: Size increase is unavoidable - moving feature from //chrome to //content
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6000406
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Joshua Hood <jdh@chromium.org>
> Commit-Queue: Ryan Tarpine <rtarpine@chromium.org>
> Reviewed-by: Adam Langley <agl@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1399855}
Bug: 40883201
Change-Id: I7c74ccf088a40075dd2134d855dc4ad5ea08ae58
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6117354
Owners-Override: Owen Min <zmin@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Owen Min <zmin@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1399859}
By moving DIPS (Bounce Tracking Mitigations) into //content, it will be
available for all content embedders, such as Android WebView.
Aside from the obvious file moves, the main changes are:
- DIPS-related WebContentsObservers are created in
WebContentsImpl::Init() instead of TabHelpers::AttachTabHelpers()
- No more DIPSServiceFactory: BrowserContextImpl creates and owns the
DIPSServiceImpl directly
- No more DIPSCleanupService (nor its factory): BrowserContextImpl
deletes the DIPS database file if necessary
- The logic to trigger DIPS data deletion moved from
ChromeBrowsingDataRemoverDelegate to BrowsingDataRemoverImpl
- Tests have to override the ContentBrowserClient instead of setting
prefs and modifying the HostContentSettingsMap to test 3PC behavior
- The OpenerHeuristicService was split into two pieces: the part that
creates cookie grants was moved into //content as the new method
BrowserContext::BackfillPopupHeuristicGrants(); and the part that
observes the tracking protection settings stays in //chrome and calls
that method.
- Many FeatureParams were moved from tpcd_experiment_features.h in
//chrome to //components/content_settings/core/common/features.h
- components/content_settings/core/common was added to content/DEPS
- Renamed SiteDataAccessType to DIPSDataAccessType
In followup CLs, we will
(1) Put all of the DIPS classes, functions, etc into the content namespace (crrev.com/c/6039087)
(2) Rename DIPS prefixes to Dips to comply with the style guide
(3) Change b/ bug references to crbug.com/
(4) Delete DipsDelegate, moving its methods to ContentBrowserClient
Bug: 40883201
Change-Id: I3c07e867ae00e6817ff286a71722473c08ead624
Fuchsia-Binary-Size: Size increase is unavoidable - moving feature from //chrome to //content
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6000406
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Joshua Hood <jdh@chromium.org>
Commit-Queue: Ryan Tarpine <rtarpine@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399855}
This CL adds a new metric to track the type of elements that a user
navigates a page by when using the next/previous html element navigation
type (e.g. link, heading, paragraph, etc). We split the metric with
TalkBack running alone, not running, or running with a different unknown
accessibility service. The metric should give us an indication of the
types of navigations most commonly used, where we need to optimize for
upcoming AXMode projects, and if apps besides TalkBack are using this
API.
NO_IFTTT=Initial commit/addition, seems to be a false positive.
AX-Relnotes: N/A
Bug: 385186714
Change-Id: I7fa8e324be547cfbfc92cb08f23256f07d5e1542
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6112433
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#1399462}
This CL updates the lazily initialized singleton map that stores the
pairings of string keys to predicates in the Android accessibility code
to be a local static variable with a getter. This does the same for
the string that contains a comma-separated list of all the possible
supported predicate types, which is provided to the Android framework.
AX-Relnotes: N/A
Bug: 385185714
Change-Id: I2af5f95be4b0ea8f5146df8abc7b5efaa323fff8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6114921
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#1399455}
The diff is produced by building a modified gn binary locally and then
invoking `gn format` over several BUILD.gn files that use build_webui() or build_webui_tests() (everything except CrOS-only WebUIs). See [1] for
the local gn patch.
This is in preparation of updating `gn format` (and therefore also `git cl format`) to sort these by default in the near future.
[1] https://issues.chromium.org/issues/385341232#comment2
Bug: 385341232
Change-Id: I0c904f85385698e181d05ee845662041e9a4cd9a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6114856
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399439}
In particular, stop disabling
LocalNetworkAccessAllowPotentiallyTrustworthySameOrigin, so it can
be removed.
The InterestGroupPrivateNetworkBrowserTests expected updates to fail
when the updateURL was on a private IP, and an update was
triggered by a page on a public IP. The flag was needed to ensure
the requests failed. However, the new private network access behavior
is to allow same-origin requests, even when making public
network-initiated calls to private networks. Since updateURLs are same-
origin to the owner, which is used as the initiator, that means
when the feature enabled, update requests cannot fail due to
private networking requests.
This is pretty analogous to a cached main frame URL from a public
network making a same-origin request on a private network later, when
retrieving the network from the cache, so it makes sense the behavior
is the same.
This CL modifies the browser tests so that they now expect the
update requests to succeed. They also test that the correct
IPAddressSpace is used for the requests. Plumbing it through
correctly currently has no observable effect, other than in the
values sent to the network service, but it will matter if the
same-origin exemption logic is ever removed.
Bug: 356624834
Change-Id: Ie241e2bc2a2ff62c02c948759cec0319a591f9f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6108176
Reviewed-by: Caleb Raitto <caraitto@chromium.org>
Commit-Queue: mmenke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399437}
Test was relying on Debug.waitForDebugger to hang child service, which
turns out to not always work on bots. Instead, just add a new command
line switch to get the desired behavior.
Bug: 354765949
Change-Id: I8ec11b228f1955a8ddee80b2cc160c3a61113093
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6113740
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Bo Liu <boliu@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399312}
Specifically extending from chrome://tracing and
chrome://webrtc-internals. These UIs were identified by OWNERS in a
recent Chromium WebUI survey as targeted at Chromium developers and
as UIs that could be placed behind a pref.
The pref behavior is currently behind the InternalOnlyUisPref
feature flag.
Bug: 379889249
Change-Id: I05eae03748661e58d7dcf994e0c5a0d97cfe8c1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6107298
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399306}
These tests should be fixed now that the target sdk has been updated.
Bug: 343821701
Cq-Include-Trybots: luci.chromium.try:android-14-x64-rel,android-14-arm64-rel,android-15-x64-rel,android-15-tablet-x64-dbg,android-16-x64-fyi-rel
Change-Id: I3fccbc5fddb4035bec22be3d06bdb70bb972ba7d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6105390
Owners-Override: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Alex Mitra <alexmitra@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399300}
1. Call UpdateStyleAndLayoutTree from IsAppearanceBaseButton and
IsAppearanceBasePicker, unless no_update is set for cases which are
calling from within a style/layout recalc.
2. Call EnsureComputedStyle when checking IsAppearanceBasePicker in
order to get an appearance value despite the element being
display:none due to it being a closed popover.
Since the picker might no longer have a computed style all the time,
this requires rewriting some accessibility code which was depending on
always having a computed style for the picker. I rewrote the
accessibility code to be more consistent across appearance:base-select
mode and appearance:auto mode by consistently using the UA popover
element as the MenuListPopup mapped element.
Bug: 364348901
Fixed: 364924715
Change-Id: I3fec57f2e02ce4200c95c256e5c1072b5c21ef8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5953628
Reviewed-by: David Baron <dbaron@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399296}
trace_report.mojom includes
content/browser/tracing/trace_report/trace_report_database.h which
depends on an auto-generated file sql/sql_name_variants.h.
This CL makes sure that sql_name_variants.h is generated before
generating C++ file from trace_report.mojom.
Bug: 385158081
Change-Id: Ibd6fc5714302b3642e4b88e3e2487a7e39dced39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6114572
Commit-Queue: Peter Wen <wnwen@chromium.org>
Commit-Queue: Alex Ilin <alexilin@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Auto-Submit: Alex Ilin <alexilin@chromium.org>
Owners-Override: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1399254}
Before this CL, TestPrefetchWatcher::PrefetchUsedInLastNavigation
returns std::optional<bool> so that it can return std::nullopt when the
first navigation hasn't happened yet.
However, since std::optional<T>::operator bool is equivalent to
std::optional<T>::has_value(), if we do something like
EXPECT_TRUE(test_prefetch_watcher.PrefetchUsedInLastNavigation()) for
example, it passes even if its value is false (i.e., prefetch was not
used in last navigation).
Although it is avoidable if test writers are aware of this, this CL
changes this to return bool to prevent such mistakes from happening in
the first place.
Bug: n/a
Change-Id: I544f4d63eeaf0914bb72440ce40901a2a5f40a65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6059306
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Taiyo Mizuhashi <taiyo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1398990}