New issue
Advanced search Search tips

Issue 848615 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 23
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Create feature list in content_main_runner

Project Member Reported by ranj@chromium.org, Jun 1 2018

Issue description

We need feature list to be ready in content_main_runner before browser loop start.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d6ec66dcda2156fea34c545dd69a421e096ec60

commit 3d6ec66dcda2156fea34c545dd69a421e096ec60
Author: Ran Ji <ranj@chromium.org>
Date: Mon Jul 09 21:18:30 2018

Start message loop on creation on Android

The message loop has to be started to post tasks on Android. Previously
the message loop is started on PreEarlyInitialization(). Now we need to
post tasks earlier than that. This change starts the message loop when
it being created on Android.

For files:
android_webview/browser/aw_browser_main_parts.cc,
chrome/browser/chrome_browser_main_android.cc,
chromecast/browser/cast_browser_main_parts.cc,
components/cronet/android/cronet_library_loader.cc,
content/shell/browser/shell_browser_main_parts.cc,
remoting/client/chromoting_client_runtime.cc

TBR=boliu@chromium.org,yfriedman@chromium.org,halliwell@chromium.org,kapishnikov@chromium.org,mkwst@chromium.org,garykac@chromium.org

Bug:  848615 , 729596
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I4b2a2afb570096cc56339978ef8e4ba3f3f9ecc7
Reviewed-on: https://chromium-review.googlesource.com/1112958
Commit-Queue: Ran Ji <ranj@chromium.org>
Reviewed-by: Ran Ji <ranj@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573447}
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/android_webview/browser/aw_browser_main_parts.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/android/java_handler_thread.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/android/java_handler_thread.h
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/message_loop/message_loop.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/message_loop/message_loop.h
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/message_loop/message_loop_current.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/message_loop/message_loop_current.h
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/message_loop/message_pump_android.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/message_loop/message_pump_android.h
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/base/test/test_support_android.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/chrome/browser/chrome_browser_main_android.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/chromecast/browser/cast_browser_main_parts.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/components/cronet/android/cronet_library_loader.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/content/public/test/nested_message_pump_android.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/content/public/test/nested_message_pump_android.h
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/content/shell/browser/shell_browser_main_parts.cc
[modify] https://crrev.com/3d6ec66dcda2156fea34c545dd69a421e096ec60/remoting/client/chromoting_client_runtime.cc

Owner: hanxi@chromium.org
+hanxi
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71

commit 788eaf69b6f5c5bdc284bd4f03b0ef5573498d71
Author: Gabriel Charette <gab@chromium.org>
Date: Tue Aug 07 20:11:46 2018

[PrefService] Introduce a synchronous option to CommitPendingWrite()

This is required to remove the |local_state_task_runner| member
of BrowserProcessImpl only used to implicitly wait on pref store.
Ref. https://crrev.com/c/1163628.
Synchronous callback semantics are required on EndSession() as a nested
RunLoop is not suitable to observe a reply.
https://chromium-review.googlesource.com/c/chromium/src/+/1163628/8/chrome/browser/browser_process_impl.cc#594

Also implemented in services/preferences' SegregatedPrefStore but
not in the Mojom interface where I don't think it's used yet? Or if
it is then it was already wrong as |local_state_task_runner| is
decoupled from that Mojom. The DCHECK will tell and make this future
proof.

Bug:  848615 
Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ie72f2d30d30bfa7f96a04d780d1591949a173b78
Reviewed-on: https://chromium-review.googlesource.com/1164522
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581324}
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/json_pref_store.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/json_pref_store.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/json_pref_store_unittest.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/overlay_user_pref_store.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/overlay_user_pref_store.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/persistent_pref_store.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/pref_service.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/pref_service.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/testing_pref_store.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/components/prefs/testing_pref_store.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/persistent_pref_store_impl.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/persistent_pref_store_impl_unittest.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/public/cpp/persistent_pref_store_client.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/public/cpp/persistent_pref_store_client.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/tracked/segregated_pref_store.cc
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/tracked/segregated_pref_store.h
[modify] https://crrev.com/788eaf69b6f5c5bdc284bd4f03b0ef5573498d71/services/preferences/tracked/segregated_pref_store_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f53ca359237217e721c9a3bc74be92f30a87c37

commit 1f53ca359237217e721c9a3bc74be92f30a87c37
Author: Gabriel Charette <gab@chromium.org>
Date: Tue Aug 07 21:31:17 2018

Remove |local_state_task_runner| from BrowserProcessImpl.

The default JsonPrefStore task runner is used instead of injecting one.
Remaining use cases didn't require sharing the task runner except one
(to flush), but CommitPendingWrite()'s async reply API already provides
this functionality and we use it in this CL instead of exposing the
entire task runner (which is also more readable then implicitly
depending on the impl flushing right away on its task runner).

This is another take on hanxi's https://crrev.com/c/1153632
after debugging it locally I realized RundownTaskCounter needs to
observe the notification synchronously (as the WaitableEvent prevents
observing the reply). A nested Runloop is also not suitable (ref.
 https://crbug.com/318527  and in code comments).

Note: JsonPrefStore's optional constructor params were flipped since the task
runner is now the most likely optional parameter.

This CL is a precursor to:
https://crrev.com/c/1148959.

R=sky@chromium.org

Bug:  848615 ,  318527 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I24c03cb2e49ec667e592d7a78722cdaf0884af36
Reviewed-on: https://chromium-review.googlesource.com/1163628
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581343}
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/browser_process_impl_unittest.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/chrome_browser_main.h
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/prefs/chrome_pref_service_factory.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/prefs/chrome_pref_service_factory.h
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/prefs/profile_pref_store_manager.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/profiles/profile_browsertest.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/browser/supervised_user/supervised_user_settings_service.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/chrome/service/service_process_prefs.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/components/cronet/cronet_prefs_manager.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/components/prefs/json_pref_store.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/components/prefs/json_pref_store.h
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/components/prefs/json_pref_store_unittest.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/components/prefs/pref_service_factory.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/ios/chrome/browser/prefs/ios_chrome_pref_service_factory.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/services/network/network_context.cc
[modify] https://crrev.com/1f53ca359237217e721c9a3bc74be92f30a87c37/services/preferences/tracked/tracked_persistent_pref_store_factory.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ddb1ab17fe48895fa8d1ef920dfe9150ae664715

commit ddb1ab17fe48895fa8d1ef920dfe9150ae664715
Author: Xi Han <hanxi@google.com>
Date: Mon Aug 27 22:18:54 2018

[FeatureList] Load local state file into a pref_store, and use the pref store to init local state later. [1/3]

The reason to create local state in two steps is because we need to read some value from the
local state file first, and at that time it's too early to create the full local state object.

We read local state file by creating a simple pref_service from the pref_store, and when
local state is ready, reset all the objects that uses the simple pref_service to use the
full local state.

This is the first step to move feature list creation earlier on
content_main_runner. We need the simple pref service to create feature list.

This CL comes from https://crrev.com/c/1081759. See previous discussion there.

More info is available on design doc
https://docs.google.com/document/d/1czDvrWU5bE9okOiX-uMwJuZ09SzqxTEW3zHAJG11RVI/edit

Bug:  848615 , 729596
Change-Id: I3e58768ab68e75d51b9a64155923565823e154e3
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Reviewed-on: https://chromium-review.googlesource.com/1148959
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586445}
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/app/chrome_main_delegate.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/app/chrome_main_delegate.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/BUILD.gn
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/browser_process_impl_unittest.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_android.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_android.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_linux.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_linux.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_mac.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_mac.mm
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_posix.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_posix.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_win.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_browser_main_win.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_content_browser_client.h
[add] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_feature_list_creator.cc
[add] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chrome_feature_list_creator.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/chromeos/chrome_browser_main_chromeos.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/prefs/chrome_pref_service_factory.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/chrome/browser/prefs/chrome_pref_service_factory.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/content/app/content_main_runner_impl.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/content/public/app/content_main_delegate.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/content/shell/app/shell_main_delegate.cc
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/content/shell/app/shell_main_delegate.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/extensions/shell/app/shell_main_delegate.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/extensions/shell/app/shell_main_delegate_mac.mm
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/headless/lib/headless_content_main_delegate.h
[modify] https://crrev.com/ddb1ab17fe48895fa8d1ef920dfe9150ae664715/headless/lib/headless_content_main_delegate_mac.mm

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/07bad289f1885c3c7a1e493feddea5ff406e202f

commit 07bad289f1885c3c7a1e493feddea5ff406e202f
Author: Xi Han <hanxi@google.com>
Date: Thu Oct 04 15:13:58 2018

Create feature list before browser main loop starts. [3/3]

This CL originally comes from ran@'s CL(https://crrev.com/c/1102826).
It follows up CLs: https://crrev.com/c/1148959 and
https://crrev.com/c/1213308.

In this CL, we create the local_state in ChromeFetureListCreator, and its
ownership is passed to the BrowerProcessImpl when the full browser starts.
Classes required to create FeatureList and setup FieldTrial, e.g.
VariationsService, MetricsServicesManager etc., are also created in the
ChromeFeatureListCreator and the ownerships are passed to the
BrowserProcessImpl when it is instantiated.

For ChromeOS, we move the initialization of the DBus to
ChromeFeatureListCreator as well before creating the
BrowserPolicyConnectorChromeOS. The BrowserPolicyConnector is required to
create the PolicyService when creating local_state.
internal::PreEarlyInitDBus is moved to a helper file with two static
functions.

Bug:  848615 , 729596
Change-Id: I93a31879e566b14eb01b4e63a4ad8786cc7e16da
Reviewed-on: https://chromium-review.googlesource.com/c/1173163
Commit-Queue: Xi Han <hanxi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596671}
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/app/chrome_main_delegate.h
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/BUILD.gn
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chrome_browser_main.h
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chrome_content_browser_client.h
[delete] https://crrev.com/113acba4154e81809c7c22cbbbb365c8e9ec7ebc/chrome/browser/chrome_feature_list_creator.cc
[delete] https://crrev.com/113acba4154e81809c7c22cbbbb365c8e9ec7ebc/chrome/browser/chrome_feature_list_creator.h
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chromeos/chrome_browser_main_chromeos.h
[add] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chromeos/dbus/dbus_helper.cc
[add] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/chromeos/dbus/dbus_helper.h
[add] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/metrics/chrome_feature_list_creator.cc
[add] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/metrics/chrome_feature_list_creator.h
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/metrics/chrome_metrics_service_accessor.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/metrics/chrome_metrics_service_accessor.h
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/prefs/chrome_pref_service_factory.cc
[modify] https://crrev.com/07bad289f1885c3c7a1e493feddea5ff406e202f/chrome/browser/prefs/chrome_pref_service_factory.h

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/636c7ca51e07cecce633758ad27674e842114365

commit 636c7ca51e07cecce633758ad27674e842114365
Author: Xi Han <hanxi@google.com>
Date: Thu Oct 04 16:56:29 2018

[FeatureList] Create default FeatureList early in PostEarlyInitialization.

This CL add a default implementation of
ContentMainDelegate::PostEarlyInitialization() to create FeatureList,
and remove the creation in BrowserMainLoop which happens after staring
the TaskScheduler in CL (https://crrev.com/c/1174955). This
fix browser tests failures when the TaskScheduler is starting before
FeatureList is created.

Bug:  848615 , 729596
Change-Id: I9f9e85c785d41ad518db4170db53c4fc1d57e90d
Reviewed-on: https://chromium-review.googlesource.com/c/1228615
Commit-Queue: Xi Han <hanxi@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Paul Miller <paulmiller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596712}
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/android_webview/browser/aw_browser_main_parts.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/android_webview/browser/aw_browser_main_parts.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/android_webview/lib/aw_main_delegate.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/android_webview/lib/aw_main_delegate.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chrome/app/chrome_main_delegate.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chrome/app/chrome_main_delegate.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chrome/browser/chrome_browser_main.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chromecast/app/cast_main_delegate.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chromecast/app/cast_main_delegate.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chromecast/browser/cast_browser_main_parts.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/chromecast/browser/cast_browser_main_parts.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/app/content_main_runner_impl.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/app/content_main_runner_impl.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/browser/BUILD.gn
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/browser/browser_main_loop.cc
[add] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/browser/startup_helper.cc
[add] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/browser/startup_helper.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/public/app/content_main_delegate.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/public/app/content_main_delegate.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/public/browser/browser_main_parts.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/public/browser/browser_main_parts.h
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/public/test/browser_test_base.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/shell/browser/shell_browser_main_parts.cc
[modify] https://crrev.com/636c7ca51e07cecce633758ad27674e842114365/content/shell/browser/shell_browser_main_parts.h

Status: Fixed (was: Assigned)
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b80ea1c80ef7c8ec439c14def8120498fc35eda8

commit b80ea1c80ef7c8ec439c14def8120498fc35eda8
Author: Roman Sorokin <rsorokin@chromium.org>
Date: Fri Oct 12 08:10:23 2018

Override stub path before PreEarlyInitDBus

Otherwise install attributes are not loaded on the linux Chrome OS
build.

TEST=manual

Bug:  848615 , 729596
Change-Id: I445b2b337b707822459c076058610f49f02767ab
Reviewed-on: https://chromium-review.googlesource.com/c/1264643
Commit-Queue: Roman Sorokin <rsorokin@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599138}
[modify] https://crrev.com/b80ea1c80ef7c8ec439c14def8120498fc35eda8/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/b80ea1c80ef7c8ec439c14def8120498fc35eda8/chrome/browser/metrics/chrome_feature_list_creator.cc

Merge request to M71 for patchset in comment#10. This should be merged before https://chromium-review.googlesource.com/c/chromium/src/+/1287850 in  crbug.com/896416  which has got merge approval.
Labels: Merge-Request-71
Pls apply apply appropriate OSs label. 
Labels: OS-Chrome
Labels: M-71
Labels: -Pri-3 Pri-1
Labels: -Pri-1 Pri-2
Status: Assigned (was: Fixed)
Cc: rsorokin@chromium.org
Merge request to M71 for patchset in comment#10. 

This CL overrides stub path earlier, otherwise install attributes are not loaded on the linux Chrome OS build. rsorokin@ manually tested it.

This should be merged before https://chromium-review.googlesource.com/c/chromium/src/+/1287850 in  crbug.com/896416  which has got merge approval.
Labels: -Merge-Request-71 Merge-Approved-71
Approving merge to M71 Chrome OS.

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 22

Labels: -merge-approved-71 merge-merged-3578
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2cf2269fe4c6bd6a7ca4330d684a2b8790b543f

commit d2cf2269fe4c6bd6a7ca4330d684a2b8790b543f
Author: Roman Sorokin <rsorokin@chromium.org>
Date: Mon Oct 22 17:59:33 2018

Override stub path before PreEarlyInitDBus

Otherwise install attributes are not loaded on the linux Chrome OS
build.

TEST=manual

Bug:  848615 , 729596
Change-Id: I445b2b337b707822459c076058610f49f02767ab
Reviewed-on: https://chromium-review.googlesource.com/c/1264643
Commit-Queue: Roman Sorokin <rsorokin@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#599138}(cherry picked from commit b80ea1c80ef7c8ec439c14def8120498fc35eda8)
Reviewed-on: https://chromium-review.googlesource.com/c/1294207
Cr-Commit-Position: refs/branch-heads/3578@{#225}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/d2cf2269fe4c6bd6a7ca4330d684a2b8790b543f/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
[modify] https://crrev.com/d2cf2269fe4c6bd6a7ca4330d684a2b8790b543f/chrome/browser/metrics/chrome_feature_list_creator.cc

Status: Fixed (was: Assigned)
Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/d2cf2269fe4c6bd6a7ca4330d684a2b8790b543f

Commit: d2cf2269fe4c6bd6a7ca4330d684a2b8790b543f
Author: rsorokin@chromium.org
Commiter: hanxi@chromium.org
Date: 2018-10-22 17:59:33 +0000 UTC

Override stub path before PreEarlyInitDBus

Otherwise install attributes are not loaded on the linux Chrome OS
build.

TEST=manual

Bug:  848615 , 729596
Change-Id: I445b2b337b707822459c076058610f49f02767ab
Reviewed-on: https://chromium-review.googlesource.com/c/1264643
Commit-Queue: Roman Sorokin <rsorokin@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#599138}(cherry picked from commit b80ea1c80ef7c8ec439c14def8120498fc35eda8)
Reviewed-on: https://chromium-review.googlesource.com/c/1294207
Cr-Commit-Position: refs/branch-heads/3578@{#225}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}

Sign in to add a comment