In https://codereview.chromium.org/48623006/ Skia added an optimization
for blurring rounded rectangles (treating them as a ninepatch to
do less blurring and make the results cacheable). This saw up to an
80% reduction in time for rendering with the CPU backend in Skia's
benchmarks. However, due to differences in rendering between this
fast path and the existing path, it was not landed in Chromium and sat
unused here for 11+ years. It's been used in Android and all other
clients since then.
I addressed those rendering diffs [1][2][3] and this CL makes Chromium
use that fast path. This required setting up Chromium's discardable
memory cache (which Skia uses to cache masks and other things) because
in the new code path, Skia caches those blurred masks to save time
if there are, for example, multiple blurry rrects being drawn with 5px
border and the same sigma values.
There are still some very minor differences in appearance between the
two implementations, which I've addressed by rebasing and adding some
slight fuzzy tolerances, to make the tests less brittle for future
blur changes.
[1] http://review.skia.org/953496
[2] http://review.skia.org/953516
[3] https://crrev.com/c/6328778
Change-Id: I140844d24a9e31cb2bde4e25b6cb1cce1b812f67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6335820
Commit-Queue: Kaylee Lubick <kjlubick@chromium.org>
Reviewed-by: Benoit Lize <lizeb@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Ashley Prasad <ashleydp@google.com>
Cr-Commit-Position: refs/heads/main@{#1432101}
This reverts commit db6d48dfdd.
Reason for revert: Caused Linux UBSan test failure, e.g. https://chromium-swarm.appspot.com/task?id=6fa5b90aa914e711&o=true&w=true
Original change's description:
> [views-ax] Create BrowserViewsAXManager instance in the correct place
>
> Previously, I introduced BrowserViewsAXManager (behind a flag) and
> instantiated it from the ViewsDelegate constructor. This was incorrect,
> as we rely on the AXPlatform::GetInstance that only gets created a few
> moments later in the BrowserMainLoop. The design was invalid.
>
> The challenge here is that we must initialize the BrowserViewsAXManager
> class, which lives in the ui/views layer, from the browser_main_loop.
> Because content/browser cannot depend directly on ui/views, we must
> instead leverage the ChromeBrowserMainExtraPartViews to initialize the
> shared instance and store it.
>
> Bug: 40672441
> Change-Id: I62432f9e547172bbe357040db29428e41db7d82c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6293824
> Reviewed-by: Robert Liao <robliao@chromium.org>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Auto-Submit: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
> Commit-Queue: Avi Drissman <avi@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1431815}
Bug: 40672441
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I178c4f10b9e31c62cef3ec606ceca6f8d15a8dc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6349100
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Owners-Override: Kenichi Ishibashi <bashi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1431927}
Previously, I introduced BrowserViewsAXManager (behind a flag) and
instantiated it from the ViewsDelegate constructor. This was incorrect,
as we rely on the AXPlatform::GetInstance that only gets created a few
moments later in the BrowserMainLoop. The design was invalid.
The challenge here is that we must initialize the BrowserViewsAXManager
class, which lives in the ui/views layer, from the browser_main_loop.
Because content/browser cannot depend directly on ui/views, we must
instead leverage the ChromeBrowserMainExtraPartViews to initialize the
shared instance and store it.
Bug: 40672441
Change-Id: I62432f9e547172bbe357040db29428e41db7d82c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6293824
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Auto-Submit: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1431815}
NOTREACHED() and NOTREACHED_IN_MIGRATION() are both CHECK-fatal now.
The former is [[noreturn]] so this CL also performs dead-code removal
after the NOTREACHED().
This CL does not attempt to do additional rewrites of any surrounding
code, like:
if (!foo) {
NOTREACHED();
}
to CHECK(foo);
Those transforms take a non-trivial amount of time (and there are
thousands of instances). Cleanup can be left as an exercise for the
reader.
This does clean up kCrashOnDanglingBrowserContext as both paths of the
kill switch are currently fatal. This has been rolled out for a long
time.
Bug: 40580068, 40062641
Change-Id: Ib88e710d003e2e48df3fc502ca54d2341d157a0e
Cq-Include-Trybots: luci.chromium.try:linux-dcheck-off-rel
Low-Coverage-Reason: OTHER Should-be-unreachable code
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5974816
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Auto-Submit: Peter Boström <pbos@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1376522}
This CL is intended to be a no-op, as this feature was already launched
in efdfb40bf1.
This CL
* removes the `base::Feature` controlling no-op `free()`,
* strips all `MakeFreeNoOp()` calls save (the launched) one,
* moves the TODO onto the DPD feature, and
* moves `MakeFreeNoOp()` into `partition_alloc_support`.
Fixed: 40802063
Change-Id: I1d5e4f1c31287a3eb109961f92d348377f2fa75e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5937487
Reviewed-by: Keishi Hattori <keishi@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Kalvin Lee <kdlee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1373881}
Opportunistic cleanup: `established_gpu_channel` is a misleading name
for this variable as it gets passed to a function wherein `true` means
that the function *should establish* the GPU channel. Rename the
variable and clarify the one place where it currently is used in a
way that checks the variable to determine whether the GPU process was
already launched.
Change-Id: I946c9b950e6a76afa10530fb2919c5cc468ff3aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5938090
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1371212}
This is a no-op on most platforms because kDisplayCritical and kCompositing are equivalent already, as desired after progress
on crbug.com/1329208
On Linux and Fuchsia: kDisplayCritical is not equivalent to kCompositing, so this CL introduces change in behavior.
On Linux, this CL aligns behavior to ChromeOS (ChromeOS is already
running kCompositing threads with the same priority as kDisplayCritical).
Population is generally too small to draw reliable conclusion from
an experiment, so it's more robust to align with ChromeOS.
On Fuchsia, we simply drop kCompositing.
Effectively, this CL brings all kCompositing threads (each process' main thread, compositor thread and IO thread) to a higher priority than it was before.
Bug: 1329208
Change-Id: I6331a3eacb2396117e20d833eb993a91eadd1d47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4842549
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Owners-Override: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1344860}
Records a subsampled metric for the time taken from when the sender
calls a mojo interface function to when the receiver's implementation
is called.
Metric is split by receiving thread for some important threads.
Bug: 356125152
Change-Id: I92154779b075d7815403a91919c2cee31ee67aae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5784162
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1343233}
Rename file to contain Android suffix, add static_assert to fail
compilation on other platforms, add comment for firmware font
directories.
Preparation for upcoming CL to remove FreeType dependency from font
scanning. In the review of that change [1], danakj@ requested to perform
renames in order to ensure safety of memory-mapping font files.
[1] https://chromium-review.googlesource.com/c/chromium/src/+/5677302
Bug: chromium:350770664
Change-Id: I65585fd0d2371cff3ce6612b93c1975d4f774f8a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5757547
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1337780}
Simple conversion to range-based for-loops avoids unsafe indexing
warnings.
-- Invert some tests and early return in HandleViewSource().
Change-Id: I349a7ddce84e132cb7ccc23c7db09e16f2fc3b7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5753065
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1336153}
This CL introduces a new net log event NETWORK_MAC_OS_CONFIG_CHANGED to
debug the behavior of IP address change notifications.
This CL also moves the net::NetLog::InitializeSourceIdPartition() call
point from BrowserProcessImpl::Init() to
BrowserMainLoop::PostCreateMainMessageLoop() right before creating
a NetworkChangeNotifier.
Bug: 350029234, 345256215
Change-Id: I133060302d00db012e56865aface188aa8c29980
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5681503
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Alex Ilin <alexilin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1325195}
Suppress unsafe buffer usage on a file-by-file basis. Out of
approximately 5850 .cc and .h files only roughly 160 files fail
compilation with the unsafe buffers warning.
Suppress only, by inserting boilerplate into affected files. Do not
re-write any code to work around the issues. Properly fixing each file
will be done in follow-up CLs.
//content/ is not removed from unsafe_bufers_paths.txt file and will be
also done as a follow-up, so it makes potential reverts simpler.
Bug: 342213636
Change-Id: I4a936e63dea95a78951f7bfae6d5487708ae3c0b
AX-Relnotes: n/a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5608913
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1312393}
In a future CL, BrowserDynamicCodeDisabled will need to access
local_state in order for it to be dynamically controlled by policy.
This CL moves the existing feature out of content into chrome, where
it is initialized at PostEarlyInitialization. This is right after
local_state becomes available, but critically before the launcher
thread is created, which is important for the security mitigation
to work correctly.
This was manually tested with the feature enabled and disabled, and
inspecting the process attributes in "Process Hacker". In addition
it was tested that the mitigation is being applied early enough
by manually removing the code that marks the launcher thread as opted
out, and verifying that chrome cannot launch processes, as expected.
Further automated tests will be added when the enterprise policy
lands in a future CL, but this CL has no intended behavior change.
BUG=341991447,40234145
Change-Id: Ibe2c027a5a30873a9d402cbaf046b2522103eef2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5556567
Commit-Queue: Will Harris <wfh@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1304215}
This was generated by replacing " NOTREACHED()" with
" NOTREACHED_IN_MIGRATION()" and running git cl format.
This prepares for making NOTREACHED() [[noreturn]] alongside
NotReachedIsFatal migration of existing inventory.
Bug: 40580068
Change-Id: I3b48b89911ac5e9ffcb211622992f917f8f9e8d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5539619
Auto-Submit: Peter Boström <pbos@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Owners-Override: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1301096}
The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:
- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)
Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.
#crbug-todo-migration
Bug: b/321899722
Change-Id: Iee14d10d544e9f0ec046117cc4ec8a55c427adc0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5469947
Reviewed-by: Darryl James <dljames@chromium.org>
Owners-Override: Alison Gale <agale@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290838}
The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:
- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)
Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.
#crbug-todo-migration
Bug: b/321899722
Change-Id: Iabdfea2fd5393d6bbc54390ca0c995eb2c55bbaa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5469882
Reviewed-by: Darryl James <dljames@chromium.org>
Owners-Override: Alison Gale <agale@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290673}
The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:
- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)
Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.
#crbug-todo-migration
Bug: b/321899722
Change-Id: Ieeb461e2d489e86fd50b87a2a0721a2be34520c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5467317
Owners-Override: Alison Gale <agale@chromium.org>
Commit-Queue: Darryl James <dljames@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Reviewed-by: Darryl James <dljames@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290198}
This change updates SetCachedPixelGeometry to include additional
rendering parameters for text contrast and gamma. These new values
aren't in use yet but will be soon, see
https://chromium-review.googlesource.com/c/chromium/src/+/5283107
These values are behind a lock. Architecturally, these parameters
are subject to data races, and have been for some time. This is
not a major problem in practice. However, we don't want to introduce
the scenario where the parameters are out-of-sync with each other,
so this change gates them all behind a shared lock.
Bug: 1160653
Change-Id: Idb95f185cf5cfe9652906c5accccfe27053ead30
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5336525
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Brendon Tiszka <tiszka@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1268008}
This change removes the last remaining usage of FontConfig early in
initialization (the next later one occurs after browser window
creation, during rendering). This is enough for cost of FcInit()
(30ms-100ms) to be fully masked while it runs on a worker thread.
R=thestig,sky
Fixed: 1523810
Change-Id: I00e1a15efb2c7c6f344cfbd1f9ecf81d557981c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5263506
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1264719}
A feature for testing the optimal placement of the function which
inserts the no-op on free implementation of the allocator dispatch.
The parameters include insertion of the new layer before the
ShutdownThreads() function is called, when it is called, after
it is called, as well as a default disabled state.
Bug: 1266349
Change-Id: I0ada0d28b9ba408dda5715fc3646dc5eae517f5d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5256537
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Ada Romanowski <adarom@google.com>
Cr-Commit-Position: refs/heads/main@{#1260896}
Doc: go/mv-camera-enumeration
We define a new class VideoCaptureDevicesChangedObserver that
establishes a mojo connection between the video capture service and
the browser process and receives OnDeviceChanged events from
video_capture::DevicesChangedNotifier.
These changes are exposed under the feature
'kCameraMonitoringInVideoCaptureService' which will gradually be
rolled out following the finch process.
Bug: 1448798
Change-Id: I60048b3a2cc8f7b844bc823002f12419dde79f4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5002121
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Palak Agarwal <agpalak@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1228892}
This centralizes the parsing step with the rest of the parsing code;
and encodes the invariants that GlobalFirstPartySets expects the local
set declaration to satisfy, explicitly, by checking them directly in
the only nontrivial constructor of LocalSetDeclaration.
This makes the interface exposed by GlobalFirstPartySets safer, since
it is now impossible to call ApplyManuallySpecifiedSet with an invalid
map of entries.
It also makes it easier to evolve the internal representation of a
LocalSetDeclaration if needed, since they are now only constructed via
a default ctor or the FPSParser; and their internals are only accessed
by the GlobalFirstPartySets class.
Bug: 1503736
Change-Id: I92eb5c778b0a7aad778aff04a7b92744cdc415a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5042729
Reviewed-by: Shuran Huang <shuuran@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Auto-Submit: Chris Fredrickson <cfredric@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Chris Fredrickson <cfredric@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1227538}
There are two headers to declare features in content.
- the public one: `content/public/common/content_features.h`
- the private one: `content/common/features.h`.
Unfortunately, most are declared in the public one, despite being used
privately exclusively. This violate the `content/public/` rules. This
patches provides a fix.
Parts of this patch was made programmatically using this script:
https://paste.googleplex.com/6699322946093056, with the following
output: https://paste.googleplex.com/5591288895242240
This patch:
1. Update `docs/how_to_add_your_feature_flag.md` to incentive
developers to the non public versions.
2. Move ~70 features back into the private version.
3. Programmatically update the includes to include the correct
#include header(s).
4. For consistency and minimizing the amount of files modified,
the two headers to use the `features::` namespace.
AX-Relnotes: n/a.
Change-Id: Id9126a95dfbc533d4778b188b659b5acc9b3d9e3
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4836057
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1194718}
Make the process-wide BrowserAccessibilityStateImpl a member of
BrowserMainLoop rather than a self-contained singleton that outlives the
browser process. This provides deterministic construction and makes it
easier to allow the content embedder to customize the instance.
For the sake of tests:
- content::UnitTestTestSuite owns an instance for use by unit tests.
- content::TestContentClientInitializer owns an instance for use by unit
tests that run outside of an ordinary content unit test.
Bug: 1470199
AX-Relnotes: n/a.
Change-Id: I33b8606f2113ce6a4cc4f24f4fce1131b84f956d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4742506
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Jacques Newman <janewman@microsoft.com>
Commit-Queue: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1186389}
Crashpad is not yet updated for the new location, so leave a
forwarding header to be removed later.
Skipping trybots. This is a Mac change, and it’s passing all
trybots except for android_optional_gpu_tests_rel that is
repeatedly failing on an unrelated issue.
NOTRY=true
Bug: 1444927
Cq-Include-Trybots: luci.chrome.try:mac-chrome
Change-Id: Iad0c903187b0e1e5584c68f2eb00b5b026085596
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4790744
Owners-Override: Avi Drissman <avi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Auto-Submit: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1185029}
This patch adds the ability to create and initialize the database and table, and implements methods to add/remove traces to it and update their upload state. It also hooks up database creation to BackgroundTracingManager.
Subsequent patches will add:
- The Ability to write traces into the trace report database from the BackgroundTracingManager.
- A UI to display the traces currently stored in the database.
- Manually upload and download the trace from the UI.
Change-Id: I3e4e3d060f7e8bf7d926faf32fa3b255f29beea2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4288767
Reviewed-by: Alexander Timin <altimin@chromium.org>
Auto-Submit: Alex Attar <aattar@google.com>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Alex Attar <aattar@google.com>
Cr-Commit-Position: refs/heads/main@{#1168883}