fixesbrave/brave-browser#23084
Related Chromium change:
https://github.com/chromium/chromium/commit/92c74c166b472ff78318ac1fa3b86f83c0ae2090
[M103] Add missing READING_LIST toggle to Android sync settings
More details on the linked bug. This is only a temporary solution, the
long-term one should be to address crbug.com/1067282, i.e. auto-generate
the UI from the UserSelectableType enum.
Desktop and iOS follow no particular order for the toggles, so this
CL picks something close to the desktop order crbug.com/1326825#c1.
(cherry picked from commit c4ebfbf)
Fixed: 1326825
Change-Id: I185984fc154eb222bf9a09210d2b3face4884bea
Chromium change:
https://github.com/chromium/chromium/commit/ff81de2378f2e5b5842d0b21d2adf75dbaa0ca7f
Feed: add logging for more feed launch cancel cases
* NAVIGATED_AWAY_IN_APP: logged when the user follows a non-feed-content link during the feed launch. For the NTP it is logged from our TabObserver.onPageLoadStarted(); it will need to be done differently for Start Surface since the feed isn't in a tab.
* NAVIGATED_BACK: logged when "back" is pressed causing the feed surface to disappear during feed launch. A later change will log it for NTP and Start.
* NAVIGATED_TO_ANOTHER_TAB: User went to another tab during feed launch. This isn't normally what we mean by "navigate" but the name came from logging in the other Discover surfaces.
The NTP and Start changes in this CL just plumb a TabModelSelector to FeedSurfaceCoordinator. Later CLs will hook up the specific logging described above for each surface.
Bug: 1195940
Chromium change:
https://github.com/chromium/chromium/commit/83240f0bfaff0e0056e0c806e49530bfc06b80f5
Feed: Refactor reliability logging code and add some tests
* Move common logging methods out of FeedSurfaceCoordinator and FeedSurfaceMediator and into a new class, FeedReliabilityLogger
* Add missing unit tests
* Remove some unnecessary mentions of feed reliability logging from Start Surface code
* Use SystemClock.elapsedRealtimeNanos() which can measure time correctly if the device sleeps (theoretically better but probably not very important in practice)
FeedReliabilityLogger is also meant to be a home for future reliability logging logic beyond the feed launch, like "user taps card and sees content".
Bug: 1195940
Chromium change:
https://github.com/chromium/chromium/commit/c93a4543bd360aa2ca31f2bccee6bd1381427eb8
AboutThisSite: Launch ephemeral tabs from PageInfo
Pass EphemeralTabCoordinator to PageInfo in order to open source info
and the "more about this page" link on top of the current tab instead
of in a new tab.
Add EphemeralTabCoordinatorSupplier to RootUiCoordinator to make it
available to all the places that create PageInfo.
Screen recording: https://crbug.com/1318000#c5
Bug: 1318000
Chromium changes:
https://github.com/chromium/chromium/commit/494cdd47f9446588db75588b8f2f266d66beb786
Android: Depend on build_java explicitly
This CL moves build_java from being a public_dep of base_java to a
regular dep. This means other targets that need to depend on build_java
must do so explicitly. Since build_java and base_java are not closely
related, this de-coupling (and when jni annotations are similarly moved)
will reduce the number of targets that depend on base_java only for its
annotations, thus speeding up builds when making changes to base_java.
By using dep_operations.py, this CL avoided adding build_java to 224+
targets that already depended on base_java across 194 files. There are
more opportunities to remove unnecessary dependencies on build_java, but
that is left for future CLs in order to prioritize removing build_java
from base_java's public_deps.
Initial estimate (after jni_java is similarly moved out of public_deps)
is that we can remove more than 265+ dependencies on base_java across
~153 files.
Bug: 1038372
https://github.com/chromium/chromium/commit/8a196c163b8fa38f4f6d80d7ed27a9d748e6e425
Android: Depend on jni_java explicitly
This CL moves jni_java from base_java's public_dep to a regular dep.
This means that targets which only need jni_java do not need to depend
on the entirety of base_java. A future CL will remove base_java from
targets that no longer need it as a result of this CL and this other CL
for build_java: https://crrev.com/c/3606468
By using dep_operations.py split and then dep_operations.py remove, this
CL avoided adding 326 instances of jni_java across 201 files.
Bug: 1038372