{"push_id":2625792587,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"beeed8b10734f1c616ef2846134c98fbbf7ed674","before":"89785a9dfef2ea0be1891fda80748c5ea3ede5c0","commits":[{"sha":"beeed8b10734f1c616ef2846134c98fbbf7ed674","author":{"name":"Mikel Astiz","email":"18861512e85f70b4c630f45341dbd3f51bd93430@chromium.org"},"message":"Fix handling of late session restore on Android\n\nPrior to this patch, sessions sync code assumed that session restore can\nbe triggered at most once, early during startup. On Android, however,\nwith Custom Tabs, it's possible that the browser has no tabbed activity\nduring startup (e.g. CCT was loaded but no browser app), and later\nsession restore is triggered for the remaining tabs, once the browser is\nlaunched.\n\nOne problem this has is that, during such late session restore scenario,\nsync would process tabs one by one as they get restored. For each, it\nwill also consider that a tabbed window exists and hence all tabs must\nhave been loaded (precisely what ScanForTabbedWindow() is for). That\nalso means, if an open tab has no sync ID, a new one will be vended and\nassigned, which can collide with a sync ID from a tab that is pending\nrestore.\n\nOne user flow where this scenario is likely is the CCT's feature to\n\"Open in Browser\". The tab may well contain no sync ID at that time, and\nsession restore must be completed before a new sync ID is vended.\n\nImplementation-wise, the event is now plumbed via interface\nLocalSessionEventHandler where it fits naturally and avoids polluting\na number of APIs including ProfileSyncService. Intermediate layers\n(SessionSyncBridge, SessionDataTypeController) no longer care and\ninstead LocalSessionEventHandlerImpl is now responsible for putting\nassociations on hold if there is an ongoing session restore (either\nearly or late).\n\nBug: 843554\nChange-Id: I2fa9e9ef3159fcfd1b42e2e0110528dce7607fa7\nReviewed-on: https://chromium-review.googlesource.com/1084472\nCommit-Queue: Mikel Astiz <mastiz@chromium.org>\nReviewed-by: David Trainor <dtrainor@chromium.org>\nReviewed-by: Marc Treib <treib@chromium.org>\nCr-Commit-Position: refs/heads/master@{#565203}","distinct":true,"url":"https://api.github.com/repos/chromium/chromium/commits/beeed8b10734f1c616ef2846134c98fbbf7ed674"}]}
{"actor":{"display_login":"aarongable"}}