Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Side by Side Diff: chrome/browser/extensions/extension_system_impl.h

Issue 1168383002: Implement sidebar support for extension action popups Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
7 7
8 #include "base/memory/scoped_vector.h" 8 #include "base/memory/scoped_vector.h"
9 #include "extensions/browser/extension_system.h" 9 #include "extensions/browser/extension_system.h"
10 #include "extensions/common/one_shot_event.h" 10 #include "extensions/common/one_shot_event.h"
11 11
12 class DeclarativeUserScriptManager; 12 class DeclarativeUserScriptManager;
13 class Profile; 13 class Profile;
14 14
15 namespace extensions { 15 namespace extensions {
16 16
17 class ContentVerifier; 17 class ContentVerifier;
18 class ExtensionSystemSharedFactory; 18 class ExtensionSystemSharedFactory;
19 class NavigationObserver; 19 class NavigationObserver;
20 class SharedUserScriptMaster; 20 class SharedUserScriptMaster;
21 class StateStoreNotificationObserver; 21 class StateStoreNotificationObserver;
22 // class SidebarManager;
Devlin 2015/06/19 19:56:08 remove
ltilve 2015/06/28 22:44:19 Done.
22 23
23 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl. 24 // The ExtensionSystem for ProfileImpl and OffTheRecordProfileImpl.
24 // Implementation details: non-shared services are owned by 25 // Implementation details: non-shared services are owned by
25 // ExtensionSystemImpl, a KeyedService with separate incognito 26 // ExtensionSystemImpl, a KeyedService with separate incognito
26 // instances. A private Shared class (also a KeyedService, 27 // instances. A private Shared class (also a KeyedService,
27 // but with a shared instance for incognito) keeps the common services. 28 // but with a shared instance for incognito) keeps the common services.
28 class ExtensionSystemImpl : public ExtensionSystem { 29 class ExtensionSystemImpl : public ExtensionSystem {
29 public: 30 public:
30 explicit ExtensionSystemImpl(Profile* profile); 31 explicit ExtensionSystemImpl(Profile* profile);
31 ~ExtensionSystemImpl() override; 32 ~ExtensionSystemImpl() override;
(...skipping 17 matching lines...) Expand all
49 50
50 void UnregisterExtensionWithRequestContexts( 51 void UnregisterExtensionWithRequestContexts(
51 const std::string& extension_id, 52 const std::string& extension_id,
52 const UnloadedExtensionInfo::Reason reason) override; 53 const UnloadedExtensionInfo::Reason reason) override;
53 54
54 const OneShotEvent& ready() const override; 55 const OneShotEvent& ready() const override;
55 ContentVerifier* content_verifier() override; // shared 56 ContentVerifier* content_verifier() override; // shared
56 scoped_ptr<ExtensionSet> GetDependentExtensions( 57 scoped_ptr<ExtensionSet> GetDependentExtensions(
57 const Extension* extension) override; 58 const Extension* extension) override;
58 59
60 SidebarManager* sidebar_manager() override;
61 void CreateSidebarManager();
62
59 private: 63 private:
60 friend class ExtensionSystemSharedFactory; 64 friend class ExtensionSystemSharedFactory;
61 65
62 // Owns the Extension-related systems that have a single instance 66 // Owns the Extension-related systems that have a single instance
63 // shared between normal and incognito profiles. 67 // shared between normal and incognito profiles.
64 class Shared : public KeyedService { 68 class Shared : public KeyedService {
65 public: 69 public:
66 explicit Shared(Profile* profile); 70 explicit Shared(Profile* profile);
67 ~Shared() override; 71 ~Shared() override;
68 72
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 device_local_account_management_policy_provider_; 119 device_local_account_management_policy_provider_;
116 #endif 120 #endif
117 121
118 OneShotEvent ready_; 122 OneShotEvent ready_;
119 }; 123 };
120 124
121 Profile* profile_; 125 Profile* profile_;
122 126
123 Shared* shared_; 127 Shared* shared_;
124 128
129 scoped_ptr<SidebarManager> sidebar_manager_;
130
125 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); 131 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl);
126 }; 132 };
127 133
128 } // namespace extensions 134 } // namespace extensions
129 135
130 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_ 136 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698