Recording user actions in a renderer process can't be done using
base::RecordAction and friends because there is no running metrics
service. Instead, there's a call in the content layer, which passes the
actions across an IPC bridge, so the actions can be recorded in the
browser process.
Since the call is in the content layer, inject a dependency using the
Client interface.
Fixed: 1231356
Change-Id: I6e6cc5d2f652c9f8b930ce5d9355284028b8be1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3043668
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905385}
https://quiche.googlesource.com/quiche.git/+log/b69b65388336..3df755e294e6
$ git log b69b65388..3df755e29 --date=short --no-merges --format='%ad %ae %s'
2021-07-26 haoyuewang Internal change
2021-07-26 fayang Downgrade QUIC_BUG to QUIC_DLOG while client sends stream data while 0-RTT gets rejected and 1-RTT keys are not yet available. Also, removed QUIC_BUG while trying to send control frames before encryption gets established.
2021-07-26 haoyuewang Flip --gfe2_reloadable_flag_quic_ack_cid_frames in Chrome as the broken tests are fixed by https://chromium-review.googlesource.com/c/chromium/src/+/3043202
2021-07-23 quiche-dev Initialize SimpleRandom::buffer_offset_ in quic_test_utils
2021-07-23 quiche-dev Fixes the nghttp2_data_provider adapter to return an accurate status value when a DataFrameSource indicates fin with no data.
2021-07-23 quiche-dev Adds tests for the conversion from DataFrameSource to nghttp2_data_provider.
2021-07-23 quiche-dev Removes unused DataSource interface and implementation.
2021-07-23 quiche-dev Adds nullptr guards to invocations of nghttp2 callbacks within CallbackVisitor.
2021-07-23 haoyuewang Internal change
2021-07-22 dschinazi Fix QUIC insecure randomness on Windows 7
2021-07-22 quiche-dev Splits nghttp2-specific test utilities into nghttp2_test_utils.{h,cc}.
2021-07-22 fayang Automated g4 rollback of changelist 384571235.
2021-07-22 bnc Add HttpDecoder::IsBufferedFrame().
2021-07-22 wub Internal change
2021-07-22 bnc Add pointers embedding QUICHE in README.md.
2021-07-21 wub Introduce QUIC connection dapper tracing in GFE2.
2021-07-21 wub Default enable --gfe2_reloadable_flag_quic_run_default_signature_callback_once.
2021-07-21 wub Add regression test for b/194177024.
2021-07-20 bnc Remove and rename HttpDecoder methods.
Created with:
roll-dep src/net/third_party/quiche/src src/third_party/quic_trace/src
Change-Id: Ie69a3ede3a04b5464ad36b2a67d45a3acf270ae5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3054455
Reviewed-by: Bence Béky <bnc@chromium.org>
Commit-Queue: Fan Yang <fayang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905379}
The CoordinatorImpl creates a TracingObserverProto which registers
itself as a data source with PerfettoTracedProcess. However, the
worker thread owned by the TaskEnvironment may access the list of data
sources, which will lead to a use-after-free if the CoordinatorImpl
is destroyed before the TaskEnvironment. Fix the problem by destroying
the objects in the other order.
Found using the PartitionAlloc MTE support patch:
https://chromium-review.googlesource.com/c/chromium/src/+/2695355
Change-Id: I37b505601ec0c33355a3a27af211ed349ef65a1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3050835
Reviewed-by: ssid <ssid@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905378}
This patch refactors the legacy implementation of the CJK counter styles
by:
- Removing the handing of negative numbers, so that we can use unsigned
in the algorithm and handle -2147483648 correctly. Note that negative
sign is already handled by the caller GenerateRepresentation()
- Moving some code to make the code for CJK algorithms more compact
This is the last patch for the clean up of the legacy counter style
implementation.
Bug: 1228531
Change-Id: I59e18980b27c5f03f73e0178e9be0db9cfa6c430
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3036216
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905375}
to/from strings.
The serialization scheme for a cookie partition key
(absl::optional<net::SchemefulSite) is as follows:
- If the key is absl::nullopt, the output is net::kEmptyPartitionKey
- If the key contains a file origin, the output is
SchemefulSite::SerializeFileSiteWithHost().
- Otherwise the output is SchemefulSite::Serialize().
The serialization method returns false if the partition key is invalid
or the SchemefulSite's origin is opaque. If this method returns false
the cookie should not be saved to disk.
The deserialization scheme works as follows:
- If the input is net::kEmptyPartitionKey, the output is absl::nullopt
- Otherwise return SchemefulSite::Deserialize(input)
The deserialization method returns false if the serialized key is
invalid. If this method returns false the cookie should not be loaded
from disk into a CanonicalCookie and should be deleted.
This CL also adds the method SerializeFile[Origin|Site]WithHost
to url::Origin and net::SchemefulSite respectively. Unlike Serialize,
this method should only be called on file origins and preserves the
origins' host.
Bug: 1225444
Change-Id: Ic113b693dfc450857a43cbf2ca645a5adf6b016e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3032294
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Lily Chen <chlily@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Commit-Queue: Dylan Cutler <dylancutler@google.com>
Cr-Commit-Position: refs/heads/master@{#905372}
Second highest reason for checkin failure is due to failed dns query.
We're adding a metric to track how common this issue is for hostname
used by checkin apis and every other hostname.
Android change: http://ag/15364401
BUG=b:183412745
TEST=blocked android.googleapis.com in dns sink and verified that the
metric is reported in chrome://histograms
Change-Id: Ib7aa74d83624a02f4e675e26c14431d83441337f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3046942
Commit-Queue: Muhammad Hasan Khan <mhasank@chromium.org>
Reviewed-by: Yuichiro Hanada <yhanada@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Reviewed-by: Hugo Benichi <hugobenichi@google.com>
Cr-Commit-Position: refs/heads/master@{#905370}
Initializing this field is causing problems, though it doesn't appear to
be used by any of the tests. This CL simply removes the field.
Bug: 1228089
Change-Id: I08ccdb19dbf8d8816ee631ce783b2cf8e5b1c397
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3047279
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Will Cassella <cassew@google.com>
Cr-Commit-Position: refs/heads/master@{#905369}
The following methods will be removed from the PasswordStore:
AddInsecureCredentials
RemoveInsecureCredentials
GetAllInsecureCredentials
and so integration tests should be updated to work without them.
Bug: 1223022
Change-Id: Ia745fe92dba0a2e81e11c7ab4ee11c526abf1f82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3053693
Reviewed-by: Marc Treib <treib@chromium.org>
Reviewed-by: Mohamed Amir Yosef <mamir@chromium.org>
Commit-Queue: Viktor Semeniuk <vsemeniuk@google.com>
Cr-Commit-Position: refs/heads/master@{#905368}
A confluence of issues make the find bar restore focus incorrectly
during tab changes.
Assume there is a browser with two tabs. The following will happen:
1) Show the Find Bar
The ExternalFocusTracker is created and correctly obtains a
view outside the tree to restore focus upon hiding the find bar.
2) Switch to another tab (where the find bar is hidden)
ChromeWebContentsViewFocusHelper notes that the last focused
element was the textfield in the find bar and saves that.
The normal machinery runs to hide the find bar as part of a
tab (and web contents) change.
3) Switch back to the original tab with the find bar.
ChromeWebContentsViewFocusHelper restores focus to the textfield
in the find bar and the find bar is shown again.
BUG 1: Showing the find bar creates a new ExternalFocusTracker,
destroying any existing one that may already be there.
BUG 2: The ExternalFocusTracker during creation unconditionally
tracks the focus manager's currently focused element
(which is the textfield), violating an invariant that the
tracked element is external to the find bar host tree.
4) Dismiss the Find Bar. The bug is now observed.
As part of hiding the find bar, the ExternalFocusTracker restores
focus to its tracked element, which is the textfield in the find
bar!
The find bar closes and future keyboard input continues to go to
the find bar, triggering a search experience while the find bar is
invisible.
The following fixes are necessary to fix all of the above:
1) The ExternalFocusTracker now checks to see if the currently
focused view is within the tracked parent view. If it is, it does
not update its tracked view. The tracked view could be null, which
could happen anyways if the tracked view is destroyed before the
ExternalFocusTracker restores focus to it.
2) Since focus tracking policy is really part of the FindBarHost at
the moment, the FindBarHost attaches the ExternalFocusTracker to
the WebContents and suspends tracking. When the user returns to
this WebContents, the ExternalFocusTracker is restored rather
than created anew and tracking resumes.
3) FindBarController::ChangeWebContents() delays updating the current
WebContents until after its hidden the FindBar (if at all
necessary). If it doesn't do this, if the FindBarHost needs the
current WebContents during the hide, it will see a different
WebContents that does not match the one during the Show().
Fixed: 913449
Change-Id: I0f99137c918cf49918abdd846dec4efc5ad8b67d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3053490
Commit-Queue: Robert Liao <robliao@chromium.org>
Auto-Submit: Robert Liao <robliao@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905364}
The field is somewhat redundant to the pre-existing parent_id proto
field, which is server-defined. The new field (a GUID in specifics)
has a number of advantages:
1) Is very simple, and in particular does not require fancy dealing with
temporary IDs during commits.
2) Is more robust agaist hash collisions and server-side proto
serialization bugs.
3) Is better privacy-wise, since it can be encrypted (for custom
passphrase users).
4) Unblocks better dealing with orphan nodes, which would now at least
determine the parent's GUID, and hence such a folder can in fact be
created (with a proper GUID) without having any further information.
That said, none of the advantages listed above will be achieved for real
anytime soon, since old data will continue to exist for a long while.
Nevertheless, let's set the foundation for a better long-term future.
Change-Id: Icfe2530a679b519e54115a378d9a67a6e7f239d2
Bug: 1143246
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3053690
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Rushan Suleymanov <rushans@google.com>
Commit-Queue: Mikel Astiz <mastiz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905361}
This timer seems to keep the WidgetInputHandlerManager class alive as
it's a RefCountedThreadSafe and the timer callback binds to |this|. This
might cause a CHECK failure once the timer callback finishes as there is
some work done during destruction. See stack trace in bug for more
details.
Bug: 1233003
Change-Id: Id8f1ef68a62108f3d86a2bbfebd21b2eecaba299
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3053743
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Richard Knoll <knollr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905360}
The former seems generally useful so extending by a year.
The latter is emitted at weird times so only extending for six months. I'm hoping to convince myself that it's not useful and retire it.
BUG=1230641
Change-Id: Idf3614c15319628e715c4e52b9e4da1b5c541f6a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3044837
Commit-Queue: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Caitlin Fischer <caitlinfischer@google.com>
Cr-Commit-Position: refs/heads/master@{#905359}
The correct spelling is with a lower-case 'i' in Appid. But CL 2981053
added it with an upper-case 'i'.
The lower-case 'i' is what the spec uses and Safari implements.
Bug: 1224886, 1233116
Change-Id: I8d21204ef356f473c80fd5efaa2f2b98f9f885a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3048954
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905358}
When CommandLineFlags are reset while an Activity is launching, we can
end up hitting assertions during startup. We have too many tests that do
this, so we can't fix the issue in general, but we can warn about it so
that folks investigating flakiness at least have a breadcrumb trail.
In this case, we fix the flake by using BaseActivityTestRule which
ensures that the Activity is finished before the test ends.
Bug: 1229132
Change-Id: I8ab754372ae7a59e529bc3368ab1c19910a2a75e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3046786
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Filip Gorski <fgorski@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905353}
Gardening the security histograms a bit. Bumping the expiration dates
for histogram that are still in use, and cleaning up collection code
for now obsolete histograms.
Bug: 1222266,1222265,1089478,984224,1037254,1037253,975685
Change-Id: I6f3962f95b37494f0ab9e72d18db03a5914ef94e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3043449
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Chris Thompson <cthomp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905352}
There are many PowerVR + ANGLE crashes on Android <= 5.1.1. We cannot
reproduce those crashes locally, so we have to disable hardware
rendering for now.
Bug: 1203652,1221321
Change-Id: Ie005c3792b4960aa31b3c38d148221fd7874d44b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3052558
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905351}
StoragePartitionImpl is one of the biggest classes around. Reduce excess
includes to try to help reduce its size. Headers being removed are based
on suggestions from the IWYU tool. Then fix missing includes in other
files.
Bug: 1227131
Change-Id: I3fc54b7f2cc99214516943849d1f7d62c68f1a9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3045479
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905350}
SharedImageBackingOzone currently does not implement ProduceOverlay.
This CL implements that fn creating a new SharedImageRepresentation-
OverlayOzone class and also creates a GLImageNativePixmap. This allows
us to not use the GLImage/GLTexture fallback while using pixmaps and
can be done using Ozone backings.
Change-Id: I1caeb47cc0136a2d628a3fe05a677f81904b67da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3031901
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Saifuddin Hitawala <hitawala@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905349}
screenshot/AzXTQcLm4oEhpE6
This change embeds <history-clusters> in chrome://history and makes it
accessible via /journeys. Additionally it converts HistoryUI to a
ui::MojoWebUIController and hooks it up to the implementer of
history_clusters::mojom::PageHandler along with MemoriesUI.
In order to minimize the scope of the change and to make sure that the
experience is first ironed out, chrome://memories is still kept around
and TS transpiled resources in c/b/r/memories are copied over.
A follow-up CL will remove chrome://memories and move its resources
to c/b/r/history/history_clusters.
Note strings are hard-coded for the time being due to the extra due
diligence required for translations as a result of introducing a new
term. A follow up CL will add those strings to the .grd files.
With chrome://flags/#memories disabled, there will be no visual or
functional changes to chrome://history.
Bug: 1173908
Change-Id: Icc0be963dfe9842647da71f545e47e3d9c6ed175
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3046546
Reviewed-by: dpapad <dpapad@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905345}
1. Added a global lock to be used by SharedImageVideo, FrameInfoHelper,
MaybeRenderEarlyManager etc to perform thread safe access to CodecImage,
CodecBufferWaitCoordinator and CodecOutputBufferRenderer.
2. SharedImageVideo, FrameInfoHelper, MaybeRenderEarlyManager and some
other media classes will hold the lock and CodecImage,
CodecBufferWaitCoordinator, CodecOutputBufferRenderer will expect lock
to be held.
Bug: 1186282
Change-Id: I2d3490a88a2597ab632721f6d5832f882af9e970
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3039341
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Commit-Queue: vikas soni <vikassoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905344}
Previously, on collections page, loaded up to three local image
thumbnails one at a time. This caused a lot of churn during initial
load as polymer recalculated several times.
New behavior is to only send local image data as a chunk once
three local images have finished loading.
Also remove paper-spinner-lite from collections page in preparation
for loading rework.
BUG=b/181697575
TEST=browser_tests --gtest_filter="PersonalizationApp*"
Cq-Include-Trybots: luci.chrome.try:linux-chromeos-chrome
Change-Id: I58d24f743ae927aafddcf8c02a481ef6afda9ec1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041370
Commit-Queue: Jeffrey Young <cowmoo@chromium.org>
Reviewed-by: Xiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905343}
TabParentingObserver is the last WebStateListObserver managed by the
TabModel. This CL factors it into a BrowserAgent and removes the
web state observer infrastructure from TabModel.
Bug: 783777
Change-Id: I756f386bb4d85cf425c1ffc0aca3c83da50c3520
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3052599
Commit-Queue: Mark Cogan <marq@chromium.org>
Reviewed-by: Mohammad Refaat <mrefaat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905342}
The initial scroll position of the refactored NTP has been problematic
for a while due to the fresh tiles loading later. This CL will set the
scroll position to top when the fresh tiles are loaded.
Bug: 1232530, 1223671, 1223435, 1223795, 1227231
Change-Id: I708a0faab1a84196187e7e8ca3e1dbb30bfdf193
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3049054
Commit-Queue: Adam Trudeau-Arcaro <adamta@google.com>
Reviewed-by: Sergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905340}
With the way that contextlost events are currently fired, contexts
in main frame and in iframe (from different domain) could receive
context loss event for a single user at exactly the same time (this
has been tested locally). With this structure, the script could
correlate the user's identity in both domains.
This CL delays contextlost events for canvas in iframe by a random delay
less than 100ms. It is not necessary to do this for contextrestored,
as contextrestored events will be delayed as well by delaying the
initial contextlost.
I have confirmed this is working locally as a test would be quite
difficult to implement.
Bug: 1164059
Change-Id: I2e9e811c4e8087b9d56b031d8b49d0b46945b026
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3043119
Reviewed-by: Aaron Krajeski <aaronhk@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Yi Xu <yiyix@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905338}
Tested by changing ENABLE_THREAD_ASSERTS = true; in ObserverList.java.
This attempts to fix the majority of the remaining failing tests
except for the classes with 1-2 failures.
BUG=1230198
Change-Id: If25fb1ad68654266e85d073a691261e24d7398ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3050931
Auto-Submit: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#905337}