0
Commit Graph

239 Commits

Author SHA1 Message Date
Hiroki Nakagawa
df86c84c96 OptimizationGuide: Add proto for DelayCompetingLowPriorityRequests
CREDIT: The most of changes were written by dom@chromium.org.

Bug: 1112515
Change-Id: I979f221adf30edbe41a3e575283ddd4c1d6105a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2387905
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804654}
2020-09-07 03:29:16 +00:00
Maksim Ivanov
0f7b916449 Fix use-after-move in //components/optimization_guide/
Fix use-after-move (potential) bugs found by the
"bugprone-use-after-move" clang-tidy check.

Bug: 1122844
Change-Id: I3f3dab82cb743c4033bb3c562f9a7767341a7e9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2382113
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802902}
2020-08-29 12:23:28 +00:00
Michael Crouse
cea83871db [LiteVideo] Integrate with Optimization Guide.
This change enables LiteVideo to rely on the Optimization
Guide for hints rather than using a Finch supplied set of hosts.
This change maintains both code paths and puts the optimization guide
behind a Finch parameter.

A future change will add a global blocklist to limit hints from
being served on subframes from origins that LiteVideos do not
perform well on.

Bug: 1117064
Change-Id: Iabfb48df4bed15fec0a56d1c790627453581b637
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2369262
Commit-Queue: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802061}
2020-08-27 01:34:36 +00:00
Sophie Chang
6fe22c8095 Add a null hint cache entry for hosts if there is no persistent store
This should hopefully help reduce the number of requests when there is
no persistent store available so we don't keep fetching for the host if
we know that there was no hint available for it from the server during
the session.

Bug: 1112500
Change-Id: I6b7514bba0a96fa13866b55287f091ef4201a3f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2364081
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799771}
2020-08-19 20:21:06 +00:00
Sophie Chang
a4ee88eaf6 Add support for sentinel tuning version that is used for "control" optimizations where the type should be disabled for the navigation
Bug: 1113287
Change-Id: Id82122c8f2918300bedc151b93b58d5aa9abb1ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2357558
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798802}
2020-08-17 20:18:44 +00:00
Sophie Chang
ddaa9cd614 Switch DelayAsyncScriptExecution to use the any metadata field
Bug: 1113287
Change-Id: I0dd3b14bc9538b71686e9dbac9b258eaec0a2015
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2356749
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798728}
2020-08-17 18:34:47 +00:00
Sophie Chang
6781978db9 Update optimization_guide and previews OWNERS
Change-Id: I8b66e4676dc5485489ea922f41009c2646435025
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2357562
Auto-Submit: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Robert Ogden <robertogden@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798411}
2020-08-15 04:07:52 +00:00
Sophie Chang
a7b6cd333f Log OptimizationGuideAutotuning event to feed autotuning infra loop
This is only logged if we have a navigation to tie the event to and if
there is actually a tuning version associated with the allowed
optimization.

Privacy doc: https://docs.google.com/document/d/1XnnJrIt6Uy81_H8FBclTRS5AI7XeZcHzZNshO-DMtrU/edit

Bug: 1113287
Change-Id: If6570b62cce07b285d1129921b4e56838d0c3503
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2350799
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798295}
2020-08-14 22:02:54 +00:00
Sophie Chang
55d38249fe Add a testing utility for any protos within optimization guide
Change-Id: Ieaca21d9bec003c5431fb4876d1e442eba50037c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2355099
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798102}
2020-08-14 16:32:53 +00:00
Sophie Chang
9e1301f0a3 Add support for any proto as metadata
Change-Id: I9d49e60dc62ec3e289a187da197fcdb699574e41
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2354462
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#797912}
2020-08-13 23:45:08 +00:00
Sophie Chang
403f8d87a5 Pass up finch groups for getmodelsrequest
Bug: 1112970
Change-Id: If19c5dbb08ad1648b23b260481bcf31c12287264
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2342067
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#796012}
2020-08-07 18:28:27 +00:00
Sophie Chang
92f0bcfc1b Add field trial name/group to hints request
Bug: 1112970
Change-Id: I6d8fbbb236a185bec828d11720407b66aee3f8c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2337287
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795755}
2020-08-07 01:39:51 +00:00
Hiroki Nakagawa
0b52c55439 Add optimization guide proto for DelayAsyncScriptExecution
Bug: 1086227
Change-Id: I7021ac08ce08e6ce1ddae766a362c76b8c296851
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2339496
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795407}
2020-08-06 10:31:17 +00:00
Sophie Chang
69b685d4bf Send up supported key representations so we get host-keyed hints
Bug: 1110487
Change-Id: I78eab25150fd7424f06a3d9b6f244ad00e214b86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2333821
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795333}
2020-08-06 03:58:06 +00:00
Sophie Chang
f1f7b4bc94 Allow for experimenting with no persistent store for hints
Bug: 1112500
Change-Id: Icdf1aed836db7eb60189709dc1a9a02ca3142420
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2335506
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794749}
2020-08-04 22:49:49 +00:00
Sophie Chang
7c615146c2 Store host-keyed hints in memory before putting in persistent store
Bug: 1022626
Change-Id: I42f8d2c4260a60f35eaf9a30d883bbc98bb07db3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2333286
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794178}
2020-08-03 18:47:24 +00:00
Sophie Chang
7df01d42cc Just check store for host instead of host suffix
Server isn't sending down host suffix anymore and makes for an easier
migration to HOST-keyed hints.

Bug: 1110487
Change-Id: I4517bf134b832d0c166cde652062f6eccefd5138
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2331132
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#793696}
2020-07-31 18:21:22 +00:00
Sophie Chang
ede84a6f71 Allow for opt types whitelisted at the top level to be returned
Bug: 1110487
Change-Id: I43e28b7291211b5bfe73461b14ef2b9ebb7aa62b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2327843
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792984}
2020-07-30 01:08:07 +00:00
Sophie Chang
8f7971c2d6 Add proto changes for host-keyed hints
This should provide parity with google CL 323652109

Bug: 1110487
Change-Id: I3be1c9d94aca74ec97be502dbef586cf4e101489
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2324889
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Auto-Submit: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792553}
2020-07-29 05:11:29 +00:00
Jia Li
49338c05fb Add model loading path using ML service for Optimization Guide
1. Added a Finch flag to enable/disable ML service.
2. Decoupled model storing and model loading in
   PredictionManager::UpdatePredictionModel to support async
   model loading. A model is now stored before it is validated and
   loaded, and will be removed if model fail to load.

Bug: 1099371
Change-Id: I3d2e06e769601f5fcfde06f1d2af72f69f478e4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2319050
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Jia Li <jiakl@google.com>
Cr-Commit-Position: refs/heads/master@{#792422}
2020-07-28 21:20:24 +00:00
Sophie Chang
3cdb41e5ae Allow for server to specify for some resources to be preconnect only even in prefetch mode
Bug: 1106895
Change-Id: I151a84c9bfb63ef84b2016348f05299dc2ad2820
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2308994
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#790256}
2020-07-21 05:49:57 +00:00
Sophie Chang
d5abd1df0f Remove sync ShouldTargetNavigation API
Bug: 1099371
Change-Id: If25b554b8316f64078325e1411872c33f7c2f5e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2303861
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#789983}
2020-07-20 17:20:57 +00:00
Jia Li
0a78e2961a Initialize files and Mojo interface for ML Service
Design doc: go/chrome-ml-service
This creates the //chrome/services/machine_learning
directory for adding the Chrome ML Service, and added
definitions of the Mojo API and shells of service
implementations.

Bug: 1102416
Change-Id: I8e3bb3651b44afc8c82664c8ce7a00d27d1b7c03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2283227
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Jia Li <jiakl@google.com>
Cr-Commit-Position: refs/heads/master@{#789094}
2020-07-16 17:20:37 +00:00
Sophie Chang
2be7817881 Add an async ShouldTargetNavigation that allows for clients to inject client model features
Bug: 1099371
Change-Id: I3fe8f12e0ad827b180efec3963bb59999c2c2b75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2288632
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#786577}
2020-07-09 00:59:31 +00:00
Jia Li
2bd41155cf Move optimization_guide::PreditionModel to //components
This will share the evaluation code of the decision tree model to
support out-of-process evaluations in the Chrome ML Service.

Bug: 1102420
Change-Id: Idbefa68ce125f8f9d6b63469154dbe20c1bce67a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2282948
Commit-Queue: Jia Li <jiakl@google.com>
Auto-Submit: Jia Li <jiakl@google.com>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#785521}
2020-07-06 20:21:20 +00:00
Sophie Chang
84545c7ee4 Fully deprecate max_ect_trigger fields
Change-Id: Iffd2df2dbb4e20c4a4d45388a60b4ed740ab361b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2278362
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#784577}
2020-07-01 21:30:11 +00:00
Sophie Chang
d02d7ca9a6 Remove hintsmanager prediction path
Bug: 1099371
Change-Id: I5d88c52547f0bcaab082521c0a084ca21bc415d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2276759
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#784289}
2020-07-01 02:42:46 +00:00
Sophie Chang
e1e075e8fc Separate out calls for registration of optimization types and targets
Bug: 1099371
Change-Id: I0edd393a1841ef06d98443bdb90fa1a621d7deb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2266919
Reviewed-by: Megan Jablonski <megjablon@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#783036}
2020-06-26 17:16:48 +00:00
Hans Wennborg
29c74d3fa1 Remove/replace unnecessary includes of logging.h (components/)
If the file just needs the CHECK/CHECK_OP/NOTREACHED
macros, use the appropriate header for that instead.
Or if logging.h is not needed at all, remove it.

This is both a nice cleanup (logging.h is a big header,
and including it unnecessarily has compile-time costs),
and part of the final step towards making logging.h no
longer include check.h and the others.

Bug: 1031540
Change-Id: Ibeb7cc26e331161c5a1490b84ef5a59ecd122413
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2254029
Auto-Submit: Hans Wennborg <hans@chromium.org>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#781841}
2020-06-24 13:46:35 +00:00
Michael Crouse
77aa363d1e Add additional layer of checks when clearing hints for new opt types.
The original check for clearing hints when a new optimization type is
registered the first time is racy because of when register is called by
OptimizationGuide clients.

This change adds additional logic to either clear if the store is
available when the type is registered or defers until the store becomes
available.

This also changes the first run experience logic to only clear hints
that are also persisted to disk, which currently is only host-keyed
hints.

Bug: 1068754
Change-Id: I1bc2df217c178b4ef257380c3efd04740a07468b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2252478
Commit-Queue: Michael Crouse <mcrouse@chromium.org>
Auto-Submit: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780373}
2020-06-19 18:23:23 +00:00
Josh Simmons
4819898119 Adding the FAST_HOST_HINTS optimization type.
This is a bloom filter over fast hosts.

Also updating PerformanceHintsObserver to check this type if no hint was
found in link hints or page hints.

Apologies for the large change count in the unittests. This is mostly
due to rearranging tests and adding a using statement for ::testing:_.

Bug: 1087123
Change-Id: Ie25145f28354a17955b16b87ebb6c36601b23ba4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2238357
Commit-Queue: Josh Simmons <jds@google.com>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Megan Jablonski <megjablon@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#777948}
2020-06-12 20:45:57 +00:00
Sophie Chang
b3d14f4d60 Add support for optimization allowlists
Bug: 1093464
Change-Id: I4c451c2dd6cf68c466396a799836ef8cf3a26842
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2240252
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#777220}
2020-06-11 01:38:14 +00:00
Sophie Chang
6019507e96 Do not check host suffixes in optimization filter if told by server to skip
Bug: 1093464
Change-Id: I123d0d992624b194018f98c5d99d330d0849e5cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2240349
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#777205}
2020-06-11 01:01:51 +00:00
Michael Crouse
1620bc76a6 Update OptimizationTargetPrediction default params and field trials.
This change updates the default feature params for
OptimizationTargetPrediction and removes the field trials experiment as
it is launched to 100%.

Bug: 1041908
Change-Id: I94590670fe4eb3e55cdd839d7d8ecd117187cd79
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2238367
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Auto-Submit: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#776683}
2020-06-09 20:57:38 +00:00
Josh Simmons
7ef84f9815 Adding page_hint to PerformanceHintsMetadata.
This provides the PerformanceHint for the page pattern matching the URL
passed to GetHints.

Change-Id: Ib780accc64356d414dab01a4736df6d9430d5a83
Bug: 1087123
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2217114
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Commit-Queue: Josh Simmons <jds@google.com>
Cr-Commit-Position: refs/heads/master@{#773243}
2020-05-29 17:32:49 +00:00
Sophie Chang
6d1785f840 Switch from NavHandle to URL for synchronous CanApplyOptimization call
Bug: 1087123
Change-Id: Iad54c76db2d9d24420c6dc046168880f815f37c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2218056
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#772793}
2020-05-28 18:29:00 +00:00
Sophie Chang
a9ed438f4d Change urlkeyedcache size to 30
This should at least fit the max number of URLs that we fetch for

Change-Id: I8baf4c62d87b524a06b50283fcce4c7f1b1dcc47
Bug: 1083415
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2204535
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#769463}
2020-05-15 22:27:27 +00:00
Sophie Chang
32e1e04413 Obsolete Optimization Guide UKM metrics that don't make sense with current request flow
Change-Id: I05050794974fa40f3c58083494a3d3e88eb12ba2
Bug: 1076584
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2173381
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#767376}
2020-05-11 17:38:43 +00:00
Michael Crouse
a3103fe869 Updated optimization guide fetches to include x-client-data header.
This change includes the variation ids in the optimization guide fetch
to the optimization guide service. This includes both hints and model
fetching.

Bug: 1075642
Change-Id: I69ba25a5b05a9af3fb4816216d4c20b2b79a1336
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2168218
Commit-Queue: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Auto-Submit: Michael Crouse <mcrouse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#764419}
2020-04-30 21:25:40 +00:00
Sophie Chang
9bb236cd37 Be able to experiment with whether the batch update for top hosts actually makes a difference
Bug: 1076059,1074381
Change-Id: I06de52149e1ed1bf94604b43a3a9ebe88fbe83ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2171837
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763654}
2020-04-29 01:23:06 +00:00
Hans Wennborg
df87046cb8 Remove/replace unnecessary logging.h includes in .cc files (components)
CHECK, CHECK_EQ etc., and NOTREACHED/NOTIMPLEMENTED have moved
to the much smaller headers check.h, check_op.h, and notreached.h,
respectively.

This CL updates .cc files to use those headers instead when
possible, with the purpose of saving compile time.

(Split out from https://crrev.com/c/2164525 which also has
notes on how the change was generated.)

Bug: 1031540
Change-Id: I1c0c8450be6320577ebebe39a2cb1abc692fe8b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2164613
Commit-Queue: Hans Wennborg <hans@chromium.org>
Auto-Submit: Hans Wennborg <hans@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763287}
2020-04-28 11:06:24 +00:00
Michael Crouse
abecb3fbc8 Improve browser test functionality for Opt Guide clients.
This change adds a function that optimization guide clients can use to
insert hints into the guide without knowledge of how the hints are
fetched and stored.


Bug: 1035698, 1074020
Change-Id: I30134ddafd93e4b0b564ff1a52f95e6943819b66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2163577
Commit-Queue: Michael Crouse <mcrouse@chromium.org>
Auto-Submit: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Megan Jablonski <megjablon@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762537}
2020-04-24 22:12:55 +00:00
Sophie Chang
39c529ece4 Add a TestOptimizationGuideDecider for component unit tests to mock out
Bug: 1074105
Change-Id: I068e2d0ddc710d771864d93a8e64620a3fdbd0e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2163861
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762375}
2020-04-24 15:53:30 +00:00
Hans Wennborg
628c19e0b1 logging.h related include-what-you-use (components/)
Fix code that was implicitly depending on logging.h or its
dependencies.

For example, code that uses DISALLOW_COPY_AND_ASSIGN should
include base/macros.h, but it currently happens to work if
it pulls in logging.h directly or through some dependency.

This is part of refactoring the codebase to use
check.h/check_op.h for the CHECK and CHECK_op macro
instead of logging.h.

Bug: 1031540
Change-Id: Ibdaee90f6af0e9e2cb304274e6a326ea789613c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2156947
Auto-Submit: Hans Wennborg <hans@chromium.org>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760922}
2020-04-21 13:14:46 +00:00
Michael Crouse
968d7521b9 Improve first run experience for newly registered opt types.
This change reduces the lag time to receive hints for newly registered
optimization types by created a pref that captures the first time a
optimization type is registered. When this happens, the hint cache
clears all the hints, URL and host-keyed and the hint fetcher coverage
pref is also emptied. This will prevent hints for the new optimization
type from being blocked by existing hints in these stores.

Bug: 1068754
Change-Id: If930bc3ddd2b9640e8ef29ca84dcbdc6d24c12bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2140812
Commit-Queue: Michael Crouse <mcrouse@chromium.org>
Auto-Submit: Michael Crouse <mcrouse@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760766}
2020-04-21 01:47:21 +00:00
Sophie Chang
fb90db558d Add a feature param for what app packages we are allowed to fetch for
Bug: 1014210
Change-Id: Ica50e27d5cae28ffdf5a2ea6c38fb16c0052e7d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2140208
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#757164}
2020-04-07 19:34:08 +00:00
Sophie Chang
1233013935 Add UKM for status of loading predictions made locally and by opt guide
Bug: 1064414
Change-Id: Ib81bea9adf5bfe04b65b324c98779caf616e1e31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2119224
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#755966}
2020-04-02 20:30:55 +00:00
Sophie Chang
690915b7df Allow for max number of urls to be fetched to be finchable
Currently, it is possible for the nav predictor to send up to 100 URLs.

Change-Id: Ic10e77f9cfea7082a62557e93b92fb95f36e28ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2116928
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#752980}
2020-03-24 20:47:26 +00:00
Sophie Chang
9eb787f193 Use cache duration from response to determine duration to keep host in pref
Bug: 1064033
Change-Id: Ic0788ebb7d25217165add21f988e5e1b190f4e10
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2116581
Reviewed-by: Michael Crouse <mcrouse@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#752917}
2020-03-24 18:00:15 +00:00
Nico Weber
58f78067f8 Suppress a few -Wunreachable-code warnings.
No behavior change.

Bug: 346399
Change-Id: I9d9e855d94fc646faecd69580ef280a6763ba28b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2102631
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750287}
2020-03-13 20:11:50 +00:00