Add a new PrivateNetworkRequestPolicy that corresponds to blocking local
network access (LNA) requests if there is no permission from the user
for the LNA request.
The permission hasn't been implemented yet, so using the policy (which
is flag guarded) blocks the local network access request.
Note: there is mention of a separate permission related to the Private
Network Access (PNA) spec. This is a completely separate permission,
that will be removed when PNA is removed from the code base.
Unfortunately, we can't remove it for a few milestones, and so in the
meanwhile we are stuck with 2 different permissions in the code base
relating to PNA/LNA.
Change-Id: Iaac8b2ca983c1ee52d26fa178602853dc88327a4
Bug: 395895368
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6292479
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Hubert Chao <hchao@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1427139}
This introduces Page & PageProxy, along with adding the functions
that have Page as a param in the new navigation callbacks proposal:
https://docs.google.com/document/d/1DDyPvVe7pyJXFpiI3Bk5EPDpoTM550kPt04s2_WTU-w/edit?tab=t.0 that exists in the NavigationWebMessageSender
version, more specifically:
- NavigationClient.onPageDeleted()
- NavigationClient.onPageLoadEventFired()
- NavigationClient.onPageDOMContentLoadedEventFired()
- NavigationClient.onFirstContentfulPaint()
There's no real implementation yet for the functions except for
onPageLoadEventFired. This sets up the Page lifetime correctly
and adds the support lib plumbing as well.
Bug: 359826084
Change-Id: Icb5e99bb0d313249a4adc4b7e65dd2b32531ca84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6290306
Reviewed-by: Lijin Shen <lazzzis@google.com>
Reviewed-by: Richard (Torne) Coles <torne@chromium.org>
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426906}
This only impacts keepalive requests when they're handled in the browser
process.
As prerendered pages are not visible to users yet, attribution reporting
registrations on prerendered pages should be deferred until activation.
This is the existing behavior when keepalive requests are handled in the
renderer process.
This cl introduces
`DocumentAssocidatedData::AddPostPrerenderingActivationStep()`, similar
to `blink::Document::AddPostPrerenderingActivationStep()`, to maintain a
queue of callbacks which will be invoked upon prerendered page
activation.
When the page is prerendering, the delegation of background registration
operations to `AttributionDataHostManager` will be added to the callback
queue for post-prerendering activation.
This cl also refactors the logic to invoke
`KeepAliveURLLoaderService::FactoryContext::OnDidCommitPrerenderedPageActivation()`.
When the navigation commits, a callback is added to the queue if the
page is prerendering.
The callbacks will be run for this RenderFrameHostImpl and all of its
descendants as all of them are activated. This fixes a bug that the UKM
source ID for the attribution context was not updated for subframes
within the prerendered page, and therefore no UKM metric was recorded.
Fixed: 395906295
Change-Id: Iede9a726571518a168175ef2c4c4e26957473157
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6293024
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426591}
The network service needs access to the permissions policy. Previous CLs
moved all the dependencies so it is now safe to move this class.
The following files need to include permissions_policy.h because
otherwise they want to have access into incomplete `PermissionsPolicy`:
* components/permissions/permission_uma_util.cc
* third_party/blink/common/manifest/manifest_util.cc
* third_party/blink/renderer/core/html/client_hints_util.cc
* third_party/blink/renderer/modules/payments/payment_app_service_worker_registration.cc
* third_party/blink/renderer/modules/payments/payment_instruments.cc
Bug: 382291442
Low-Coverage-Reason: LARGE_SCALE_REFACTOR
Change-Id: Ifcf52df3bc5c035e8f6a45df02cf93f304b748c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6310821
Auto-Submit: Sandor «Alex» Major <sandormajor@chromium.org>
Owners-Override: Rick Byers <rbyers@chromium.org>
Commit-Queue: Sandor «Alex» Major <sandormajor@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426391}
This CL also makes ime_render_widget_host_ available on all platforms
and adds a method to check whether it has been set. This can be checked
to determine whether to use the CursorAnchorInfoMojoPipe path or not
(for cross platform compatibility).
Bug: 40940885
Change-Id: Iee2e0e2103bf5c9d4857b68aed079e6c60071f18
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6234054
Commit-Queue: Alex Mitra <alexmitra@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426260}
The debug string building requires a lot of std::string appends. The CL
removes these debug string for loading performance.
Bug: 399783247, 40065692
Change-Id: Ic8a4965a9546c0023daceb1cb334404f174aa98f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6312375
Commit-Queue: Jiacheng Guo <gjc@google.com>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426172}
We use this signal to properly set RWH input-router event suppression
state. We only care about input-suppression for RWHs that has/had
paint-holding active.
Bug: 40057499
Change-Id: Idcfdfb9f0b9e975ca5ace3713de60488bf6acea9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6305181
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425749}
This CL updates the following UMA histograms from using
`UMA_HISTOGRAM_COUNTS_100` to `UMA_HISTOGRAM_COUNTS_1000` and updates
the histograms names/versions.
- Memory.ProcessCount
- Memory.RendererProcessCount
- Memory.RenderProcessHost.Count.All
- Memory.RenderProcessHost.Count.InitializedAndNotDead
- Memory.RenderProcessHost.Count.OriginAgentClusterOverhead
- Memory.RenderProcessHost.Count.SandboxedIframeOverhead
Motivated by experiments removing process limits on macOS, suggesting
histograms need to capture counts over 100. While limits remain in
stable, this low-risk, forward-looking change prepares us for that
scenario and benefits metrics generally. Critically, it also improves
data collection during the experiment to assess the impact of limit
removal.
OBSOLETE_HISTOGRAM[Memory.ProcessCount]=Replaced by Memory.ProcessCount2
OBSOLETE_HISTOGRAM[Memory.RendererProcessCount]=Replaced by Memory.RendererProcessCount2
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.InitializedAndNotDead=Replaced by Memory.RenderProcessHost.Count2.InitializedAndNotDead
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.All]=Replaced by Memory.RenderProcessHost.Count2.All
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.OriginAgentClusterOverhead]=Replaced by Memory.RenderProcessHost.Count2.OriginAgentClusterOverhead
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.SandboxedIframeOverhead]=Replaced by Memory.RenderProcessHost.Count2.SandboxedIframeOverhead
Change-Id: I073d747d50a19ced37f0a046a475ac973bc6d412
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6236793
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Alex Attar <aattar@google.com>
Reviewed-by: Luc Nguyen <lucnguyen@google.com>
Auto-Submit: Alex Attar <aattar@google.com>
Cr-Commit-Position: refs/heads/main@{#1425729}
This CL is intended to be trivial. It marks the return from `std::to_array` as
`constexpr`. This CL is a split of a naive textual search-and-replace under:
content/browser/renderer_host
This CL was uploaded by git cl split.
Change-Id: I693fbd0b89c2694c40f2b948747ea5b222166909
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6300899
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Auto-Submit: Kalvin Lee <kdlee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425704}
Replace existing DCHECKs in the file with CHECKs as recommended today.
Mysterious case is observed in crbug.com/374734685, e.g. a new event
is delivered even though the throttle asks DEFER.
Enabling more CHECKs in the production build would help to find
a root cause.
Change-Id: I1113f99e404ba32b529789f5ca75c24565e25f9f
Bug: 374734685
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6298897
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425560}
Some platforms seem to have small noise (< 3 total in all channels).
The intent of the test is still valid in that it verifies first frame
capture to be correct.
Change-Id: Iffdc832ca96a3ab3eadb91aa867367d5af384cf2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6299814
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Zijie He <zijiehe@google.com>
Cr-Commit-Position: refs/heads/main@{#1425279}
Both the PartitioningBlobURLIssue DevTools Issue and
kCrossPartitionSameOriginBlobURLFetch UseCounter should only be
triggered when cross-partition, same origin BlobURLs are fetched.
Previously, both were getting triggered in cross origin fetching as
well.
Bug: 372883697
Change-Id: I90221dde05205d260abfc20acf8903f123ee4c59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6282545
Auto-Submit: Janice Liu <janiceliu@chromium.org>
Commit-Queue: Janice Liu <janiceliu@chromium.org>
Reviewed-by: Sun Yueru <yrsun@chromium.org>
Reviewed-by: Andrew Williams <awillia@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425152}
With SPLIT_TOUCH deprecated in Android the pointer downs come on Browser
process, even when transferTouchGesture had been called on the first
touch down of the sequence. The subsequent pointer downs after the
transfer come in as an ACTION_DOWN on Browser and there's no blessed way
to tell this apart from an ACTION_DOWN which happened as a result of
the first touch down in the Chrome window.
The behavior changes in this CL:
- Ignore the state transfers coming on browser corresponding to pointer
downs being transferred. Earlier we were CHECK failing if we had
lingering state transfer in the queue.
- InputTransferHandler listens to TouchEnd notifications to tell if
there's an active touch sequence on Viz.
- Add `browser_would_have_handled` flag to touch transfer state, so that
Viz can return back any sequence that was transferred to Viz due to a
late arriving TouchEnd notification.
Bug: 395596230
Change-Id: Ie640ff5fa41420228a5fe0d4108ee76d414c0985
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6276541
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kartar Singh <kartarsingh@google.com>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425046}
Introduce AXPlatformNode::Pointer, a type of std::unique_ptr<> for
owners of platform nodes. The node's `Destroy()` method is called to
initiate destruction. Migrate all owners of platform nodes to using this
new smart pointer rather than raw_ptr<> and manual calls to instances'
`Destroy()` method.
Also fixes memory leaks in various AccessibilityBridgeFuchsiaTest tests,
which were missing calls to `Destroy()`.
AX-Relnotes: n/a.
Bug: none
Change-Id: I3b7ab5e14726c098350a41126ee0bc26ce1aeef7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6298029
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Auto-Submit: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425038}
This is part of the process of making user_agent_utils.{cc,h} stop
depending on //content.
The flag has been moved to the main "embedder_support" target, which
does not depend on any other target and has other command-line
switches.
Bug: 389970327
Change-Id: Ib646ada998e8ea2eb23be2b9420d8049aa8f0bac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6242721
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Raphael Kubo da Costa <kubo@igalia.com>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425012}
This change removes some usages of StorageType from
QuotaManagerProxy. All other StorageTypes except
StorageType::kTemporary have been deprecated. Therefore
no longer need to pass this value around. Further cleanup
to remove usages from
QuotaManagerProxy/QuotaManager/QuotaDatabase will follow.
Bug: 40211051
Change-Id: I0aa5413fc6ced600d25ad446ec0281fbd1181074
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6279419
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Derek Schuff <dschuff@chromium.org>
Reviewed-by: Ming-Ying Chung <mych@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Commit-Queue: Ayu Ishii <ayui@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424923}
This patch enables the ViewTransitionCaptureAndView feature as well
as one of the tests that tests this behavior.
Note that there is also over 300 VT WPTs, which also exercise the
capture phase.
This patch 5 out of 5 to implement the feature.
R=pdr@chromium.org
Bug: 358119267
Change-Id: Ief305a053eb180a81b53590437556a98264a1ce3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6258744
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424551}
This change just plumbs the AutoPipReason from the auto picture in
picture tab helper to the WatchTimeRecorder. The reason will be used in
subsequent CLs to allow attributing watch time to the "AutoPip for media
playback" reason.
Bug: 394860526, 368058093
Change-Id: Ibaca8fc6446c6cf557b950b70bbf3e68a125c976
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6266667
Commit-Queue: Benjamin Keen <bkeen@google.com>
Reviewed-by: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Fr <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/main@{#1424538}
Always use the UI thread, even in cases where we can't generate a
request and exit early. So that all callbacks run on the UI thread.
Bug: 398857474
Change-Id: Ie4836800c082ac98aa60e934757687e1c618042f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6299352
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424502}
`SendCommitFailedNavigation` did not record commit times, which made
it impossible to isolate (for UMA purposes) the error pages that are
short-lived.
Bug: 40057499
Change-Id: Ibf95c96cbaeb1c3755f851b52d5f69ac76177283
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6286768
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423167}
Move kElementCaptureOfOtherTabs and kRegionCaptureOfOtherTabs to
content/public/common/content_features.h, so that they would be
accessible to:
1. Tests.
2. chrome://flags
Bug: 312694567
Change-Id: Ice2f2e05ad76df3b8bd9f837889a611c5d4b94ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289525
Auto-Submit: Elad Alon <eladalon@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423147}
Region Capture [1] is an API allowing cropping MediaStreamTracks.
(https://w3c.github.io/mediacapture-region/)
Originally, it was only supported when the capturing application
was capturing its own tab. Since then, the spec has be changed [2]
to remove this restriction. This CL removes the restriction in
code as well.
This CL introduces this new functionality behind a default-off
base::Feature. This allows testing of the functionality by developers.
The feature flag can only be turned on after:
a. Known unhandled edge cases are addressed (see crbug.com/394794490).
b. Tests are written (partially blocked by aforementioned issue).
[1] https://w3c.github.io/mediacapture-region/
[2] https://github.com/w3c/mediacapture-region/pull/74
Bug: 312694567
Change-Id: I12efea1f8f98ae6f6c47ad01b2c3e5af1987ffa3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289444
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Elad Alon <eladalon@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423008}
This CL resolves a layering violation where RenderFrameHostImpl was
bypassing the delegate and calling
WebContents::GetTopLevelNativeWindow() directly. To fix it, we:
* Added a function GetOwnerNativeWindow to the RenderFrameHostDelegate
* Implemented it in WebContentsImpl
* Use this new delegate function in RenderFrameHostImpl
Bug: none
Change-Id: Ib112e1e884607402fe25fadee0593f72dfde2c13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6283547
Commit-Queue: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422947}
UKM privacy review doc:
https://docs.google.com/document/d/1YRHSqne-0fLSNaFpOU8WY_dzkcupIh6xpJuiYPWzozQ/edit?tab=t.0#heading=h.k5jx6iluw4yt
This cl caches the UKM source ID of the most recently navigated primary
page in AttributionHost. This is a workaround for prerendered pages as
RenderFrameHost::GetPageUkmSourceId() would return the UKM source ID for
the prerendering navigation even after the page is activated which is
not associated with any URL for privacy reasons.
For ongoing navigation, the UKM source ID would be obtained from
NavigationHandle::GetNextPageUkmSourceId() as the UKM source ID cached
in AttributionHost would not have been updated.
This cl also introduces
KeepAliveURLLoaderService::FactoryContext::OnDidCommitPageActivation()
to update its attribution_context's UKM source ID after the prerendered
page is activated. This is invoked from
RenderFrameHost::DidCommitPageActivation().
NO_IFTTT=Moved histograms enum definition
Bug: 395847417
Change-Id: Ic2c3b0ff458d12c701822a213cc647061af09090
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6252770
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422898}
This CL extracts the SourceStream::SourceType enum into a new
SourceStreamType enum class, defined in source_stream_type.h.
This change addresses the issue where users needing the SourceType enum
were forced to include source_stream.h, even if they had no other
dependencies on the SourceStream class.
By creating a dedicated header for SourceStreamType, we improve
modularity and reduce unnecessary header dependencies.
This CL must not have any behavioral changes.
NO_IFTTT=New LINT.If/ThenChange()
Bug: 391950057
Change-Id: Ia25db924a0e7a8d1b379dd1042ede0e898cd6dd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6278220
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: John Lee <johntlee@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-by: Nidhi Jaju <nidhijaju@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422841}
Particularly on Android, when a WebXR Session starts, it renders across
the full screen. This can cause the Renderer process to be viewed as
unimportant and it can then get backgrounded. However, the Renderer
process is exactly what is responsible for providing the content that
is now being rendered. This plumbs a new boolean through so that the
presence of a WebXR session can elevate the importance of the renderer
process similar to how a media stream does.
Fixed: 378956985
Change-Id: Iafcc031a9e562d80170d78596db6cdd3c049faa8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6271450
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Piotr Bialecki <bialpio@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422782}
Currently, calling any Web Bluetooth method prevents the frame from
entering the back forward cache. This CL allows calls to
navigator.bluetooth.getAvailability without preventing the frame from
entering the cache. Other Web Bluetooth methods still prevent the
back forward cache.
Bug: 390566840
Change-Id: Ice43adfeff85b58087fbcec55c55b83e345a40fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6190377
Reviewed-by: Jack Hsieh <chengweih@chromium.org>
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Reviewed-by: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422660}
Ignore accessibility messages received by a RenderFrameHost from its
RenderFrame when the frame is being unloaded. The frame is no longer
visible and has been swapped out of the WebContents. This fixes a race
when accessibility has been turned off for a WebContents after a swap
but before the UnloadACK is received from the swapped-out frame.
Bug: 326751711
Change-Id: I8c0df80467c786aea1c16da00e1bfa4141d61275
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6286465
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Auto-Submit: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422492}
It's been seen in local traces that snapshot compression is expensive,
and might compete with foreground work. THere are several experiments in
progress to tackle that, for instance by lowering priority. Add a
histogram to assess how much the lower priority impacts compression
times.
Bug: 369986099
Change-Id: I3741109ac2052117c4516a4f58bcee0f606a159c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6281949
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422480}
This is a speculative fix for an issue in Edge where Compositor Frames
are submitted with surface ranges that have invalid local_surface_id's.
The issue started due to change:5348259.
The hypothesis is that if TakeScopedKeepSurfaceAliveCallback is called
with an invalid local_surface_id_, the LayerTreeHost will still register
the associated surface range. However, the CopyOutputRequest will not be
fulfilled because CopyFromCompositingSurfaceInternal will early out if
the local_surface_id_ is invalid. Therefore, the SurfaceRange is added
to the commit state but never removed. When it's time for
SubmitCompositorFrame, an invalid SurfaceRange can be present in the
list.
In order to fix this issue, check whether the local surface is valid for
copy before calling TakeScopedKeepSurfaceAliveCallback.
Bug: 40276723
Change-Id: I6d2591ed0ee98ba0414887ea7611d640788d607b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6216395
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Sahir Vellani <sahir.vellani@microsoft.com>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Shubham Gupta <shubham.gupta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422253}
A terminated Device Bound Session Credentials session can lead to
authorization changes similar to the way an expired cookie can. This CL
adds a new BFCache CacheControlNoStoreLevel for this, which will evict a
page from the cache if a DBSC session is terminated.
Bug: 353774923
Change-Id: I48e2daddb33d1102b5ccaf946eb0c541b5a07cda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198936
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Daniel Rubery <drubery@chromium.org>
Reviewed-by: Fergal Daly <fergal@chromium.org>
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422196}
This CL lands the first prototype solution behind a new flag
kDropInputEventsWhilePaintHolding. The solution is to start the
InputRouter in an inactive state for any user-visible top frame while
paint-holding is active.
We still have quite a few test failures if we enable this feature. We
will fix them through follow-up CLs.
Bug: 40057499
Change-Id: Id98c27ac635fe6a71f4f84b50e1b2e7acc9fe1bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6085077
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422193}
This is achieved by plumbing through a PreHandleMouseEvent method
through render widget classes akin to the existing
PreHandleKeyboardEvent method, as after discussion with kerenzhu@ this
behavior was not otherwise supported.
Bug: 394367683
Change-Id: Id932cbcfca3e75a3f223b365a548cf5430c824cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6266792
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Emily Shack <emshack@chromium.org>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1422150}