| Index: chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h | 
| diff --git a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h | 
| index 6ff1a05aef213e2301a6b1664bfa3dda6331f1a5..934bcd84a95c86bd43471d2425941dc5391f6ac4 100644 | 
| --- a/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h | 
| +++ b/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.h | 
| @@ -6,19 +6,15 @@ | 
| #define CHROME_BROWSER_EXTENSIONS_API_RUNTIME_CHROME_RUNTIME_API_DELEGATE_H_ | 
|  | 
| #include <map> | 
| -#include <string> | 
| -#include <utility> | 
| +#include <vector> | 
|  | 
| #include "base/macros.h" | 
| -#include "base/scoped_observer.h" | 
| #include "content/public/browser/notification_observer.h" | 
| #include "content/public/browser/notification_registrar.h" | 
| #include "extensions/browser/api/runtime/runtime_api.h" | 
| #include "extensions/browser/api/runtime/runtime_api_delegate.h" | 
| -#include "extensions/browser/extension_registry_observer.h" | 
|  | 
| namespace base { | 
| -class TickClock; | 
| class TimeTicks; | 
| } | 
|  | 
| @@ -29,20 +25,15 @@ | 
| } | 
|  | 
| namespace extensions { | 
| -class ExtensionRegistry; | 
| class RuntimeAPI; | 
| class UpdateObserver; | 
| } | 
|  | 
| class ChromeRuntimeAPIDelegate : public extensions::RuntimeAPIDelegate, | 
| -                                 public content::NotificationObserver, | 
| -                                 public extensions::ExtensionRegistryObserver { | 
| +                                 public content::NotificationObserver { | 
| public: | 
| explicit ChromeRuntimeAPIDelegate(content::BrowserContext* context); | 
| ~ChromeRuntimeAPIDelegate() override; | 
| - | 
| -  // Sets a custom TickClock to use in tests. | 
| -  static void set_tick_clock_for_tests(base::TickClock* clock); | 
|  | 
| private: | 
| friend class extensions::RuntimeAPI; | 
| @@ -65,11 +56,6 @@ | 
| const content::NotificationSource& source, | 
| const content::NotificationDetails& details) override; | 
|  | 
| -  // ExtensionRegistryObserver implementation. | 
| -  void OnExtensionInstalled(content::BrowserContext* browser_context, | 
| -                            const extensions::Extension* extension, | 
| -                            bool is_update) override; | 
| - | 
| void UpdateCheckComplete(const std::string& extension_id); | 
| void CallUpdateCallbacks(const std::string& extension_id, | 
| const UpdateCheckResult& result); | 
| @@ -87,14 +73,12 @@ | 
| // it was reloaded with not enough time in between reloads. | 
| std::map<std::string, std::pair<base::TimeTicks, int> > last_reload_time_; | 
|  | 
| -  // Information about update checks, keyed by extension id. | 
| -  struct UpdateCheckInfo; | 
| -  std::map<std::string, UpdateCheckInfo> update_check_info_; | 
| +  // Pending update checks. | 
| +  typedef std::vector<UpdateCheckCallback> UpdateCallbackList; | 
| +  typedef std::map<std::string, UpdateCallbackList> UpdateCallbackMap; | 
| +  UpdateCallbackMap pending_update_checks_; | 
|  | 
| -  ScopedObserver<extensions::ExtensionRegistry, | 
| -                 extensions::ExtensionRegistryObserver> | 
| -      extension_registry_observer_; | 
| - | 
| + private: | 
| DISALLOW_COPY_AND_ASSIGN(ChromeRuntimeAPIDelegate); | 
| }; | 
|  | 
|  |