fix issue where device local account extensions are installed twice

Manifest::EXTERNAL_POLICY is a newly introduced install source currently exclusive to device local account extensions. Add it to to the black list for install/update check in PendingExtensionManager, to prevent the pending installation/update of public session extensions being overwritten by one from external source.

Note that these extensions will still be auto updated by ExtensionUpdater later, since the ExtensionUpdater will check all registered auto-updatable extensions.

BUG=511126

Review URL: https://codereview.chromium.org/1266273004

Cr-Commit-Position: refs/heads/master@{#343837}
diff --git a/chrome/browser/extensions/pending_extension_manager.cc b/chrome/browser/extensions/pending_extension_manager.cc
index f643ef4..7d05462 100644
--- a/chrome/browser/extensions/pending_extension_manager.cc
+++ b/chrome/browser/extensions/pending_extension_manager.cc
@@ -240,8 +240,10 @@
     // not be fetched from an update URL, so don't include them in the
     // set of ids.
     if (install_source == Manifest::EXTERNAL_PREF ||
-        install_source == Manifest::EXTERNAL_REGISTRY)
+        install_source == Manifest::EXTERNAL_REGISTRY ||
+        install_source == Manifest::EXTERNAL_POLICY) {
       continue;
+    }
 
     out_ids_for_update_check->push_back(iter->id());
   }