SyncServiceObserver should be listened to start precaching |
|||
Issue descriptionSyncServer backend may not be initialized when PrecacheManager::PrecachingAllowed() is called first time. SyncServiceObserver should be used to find when service is initialized and start precaching at that time. Seeing this behaviour on the first precache after boot or after Chrome is manually closed. 04-22 17:13:08.091 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_launcher.cc(47)] PRECACHE PrecacheLauncher 04-22 17:13:08.091 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_launcher.cc(57)] PRECACHE Start 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(122)] PrecacheManager::StartPrecaching 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(102)] PRECACHE PrecachingAllowed 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(104)] PRECACHE PrecachingAllowed PENDING 0xaebf7400 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(102)] PRECACHE PrecachingAllowed 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(104)] PRECACHE PrecachingAllowed PENDING 0xaebf7400 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(160)] PrecacheManager::StartPrecaching NO PRECACHE 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(102)] PRECACHE PrecachingAllowed 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(104)] PRECACHE PrecachingAllowed PENDING 0xaebf7400 04-22 17:13:08.094 4632-4632/com.google.android.apps.chrome E/chromium: [ERROR:precache_launcher.cc(81)] PRECACHE OnPrecacheCompleted
,
Apr 25 2016
Here's what I think should happen: GcmNetworkManager should start the precache code, which in turn should check if it is allowed to run (roughly speaking, the user has enabled sync). That check should be asynchronous with a timeout. We should determine how long it takes for sync service to start and set an appropriate timeout in case it never happens.
,
Apr 25 2016
,
May 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7651f94989178a20a2d74d17142493ee67e73892 commit 7651f94989178a20a2d74d17142493ee67e73892 Author: rajendrant <rajendrant@chromium.org> Date: Sun May 08 21:10:41 2016 Precaching should wait for sync service backend to initialize SyncStateChangedListener is used to wait until sync service is initialized to start precaching. If the sync service state does not get initialized after a timeout, precaching is cancelled. BUG= 606230 Review-Url: https://codereview.chromium.org/1924443003 Cr-Commit-Position: refs/heads/master@{#392278} [modify] https://crrev.com/7651f94989178a20a2d74d17142493ee67e73892/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java [add] https://crrev.com/7651f94989178a20a2d74d17142493ee67e73892/chrome/android/java/src/org/chromium/chrome/browser/precache/SyncServiceInitializedNotifier.java [modify] https://crrev.com/7651f94989178a20a2d74d17142493ee67e73892/chrome/android/java_sources.gni [modify] https://crrev.com/7651f94989178a20a2d74d17142493ee67e73892/chrome/android/javatests/src/org/chromium/chrome/browser/precache/MockPrecacheController.java
,
May 8 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by bengr@chromium.org
, Apr 25 2016