Index: chrome/browser/extensions/extension_service.h |
diff --git a/chrome/browser/extensions/extension_service.h b/chrome/browser/extensions/extension_service.h |
index 67b0f4dcc6a9efbc8c16dec0d7746f0297a31b37..c5a2ccd9cd254fde90314dc4e16040db354cc5bb 100644 |
--- a/chrome/browser/extensions/extension_service.h |
+++ b/chrome/browser/extensions/extension_service.h |
@@ -75,6 +75,7 @@ class ExtensionInputMethodEventRouter; |
namespace extensions { |
class ComponentLoader; |
class SettingsFrontend; |
+class SocketController; |
} |
// This is an interface class to encapsulate the dependencies that |
@@ -569,6 +570,10 @@ class ExtensionService |
return &extension_warnings_; |
} |
+ extensions::SocketController* socket_controller() { |
+ return socket_controller_; |
+ } |
+ |
private: |
// Bundle of type (app or extension)-specific sync stuff. |
struct SyncBundle { |
@@ -685,6 +690,9 @@ class ExtensionService |
NaClModuleInfoList::iterator FindNaClModule(const GURL& url); |
+ static void DeleteSocketController( |
+ extensions::SocketController* socket_controller); |
+ |
// The profile this ExtensionService is part of. |
Profile* profile_; |
@@ -819,6 +827,10 @@ class ExtensionService |
// Contains an entry for each warning that shall be currently shown. |
ExtensionWarningSet extension_warnings_; |
+ // We need to control destruction of this object (it needs to happen on the |
+ // IO thread), so we don't get to use any RAII devices with it. |
+ extensions::SocketController* socket_controller_; |
+ |
extensions::ProcessMap process_map_; |
FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, |