Corrupted policy extension reinstallation isn't retried |
||
Issue description
Two issues:
1) If an extension's content verification fails [1] because of corruption, then we reinstall the extension by calling CheckForExternalUpdates() [2]. However if that particular call to CheckForExternalUpdates failed (e.g. network unavailable) we wouldn't proactively attempt to reinstall the extension again. This is because this step would also disable the extension, I don't think we will ever try to repair it automatically: none of the disabled extension's resources will be requested that could result in further ChromeContentVerifierDelegate::VerifyFailed().
2) Even if ChromeContentVerifierDelegate::VerifyFailed() triggered somehow for that extension (an example could be that user explicitly trying to visit a resource in that extension), the early out [3]:
if (pending_manager->IsPolicyReinstallForCorruptionExpected(extension_id))
return;
will skip the reinstallation.
PendingExtensionManager::expected_policy_reinstalls_ holds these extension ids, we could think of reinstalling these with a timer + backoff. (The individual backoff timer policy_reinstall_backoff_ wouldn't apply anymore).
[1] https://cs.chromium.org/chromium/src/chrome/browser/extensions/chrome_content_verifier_delegate.cc?rcl=99854454417e7c9ad57d2d2d441ef17cc481ba2d&l=197
[2] https://cs.chromium.org/chromium/src/chrome/browser/extensions/chrome_content_verifier_delegate.cc?rcl=99854454417e7c9ad57d2d2d441ef17cc481ba2d&l=237
[3] https://cs.chromium.org/chromium/src/chrome/browser/extensions/chrome_content_verifier_delegate.cc?rcl=c8cc93e27f2d38c39e8af5f79b8e69685348263e&l=201
,
Apr 4 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Apr 4 2017