[Extension] Implement ExtensionSystem::InstallUpdate.

Note that the signature of InstallUpdate is changed to match with
CrxInstaller::InstallUnpackedCrx.

Bug: 722942
Change-Id: I789c6277458447976d24aa7ba5dcced670c8cc11
Reviewed-on: https://chromium-review.googlesource.com/765095
Commit-Queue: Minh Nguyen <[email protected]>
Reviewed-by: Devlin <[email protected]>
Reviewed-by: Joshua Pawlicki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#521481}
diff --git a/extensions/browser/mock_extension_system.h b/extensions/browser/mock_extension_system.h
index c8748dfb..3c583d21 100644
--- a/extensions/browser/mock_extension_system.h
+++ b/extensions/browser/mock_extension_system.h
@@ -21,6 +21,8 @@
 // with the MockExtensionSystemFactory below.
 class MockExtensionSystem : public ExtensionSystem {
  public:
+  using InstallUpdateCallback = ExtensionSystem::InstallUpdateCallback;
+
   explicit MockExtensionSystem(content::BrowserContext* context);
   ~MockExtensionSystem() override;
 
@@ -44,7 +46,9 @@
   std::unique_ptr<ExtensionSet> GetDependentExtensions(
       const Extension* extension) override;
   void InstallUpdate(const std::string& extension_id,
-                     const base::FilePath& temp_dir) override;
+                     const std::string& public_key,
+                     const base::FilePath& temp_dir,
+                     InstallUpdateCallback install_update_callback) override;
 
  private:
   content::BrowserContext* browser_context_;