OLD | NEW |
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_APPS_DRIVE_DRIVE_APP_PROVIDER_H_ | 5 #ifndef CHROME_BROWSER_APPS_DRIVE_DRIVE_APP_PROVIDER_H_ |
6 #define CHROME_BROWSER_APPS_DRIVE_DRIVE_APP_PROVIDER_H_ | 6 #define CHROME_BROWSER_APPS_DRIVE_DRIVE_APP_PROVIDER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "base/memory/scoped_vector.h" | 14 #include "base/memory/scoped_vector.h" |
15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
16 #include "components/drive/drive_app_registry_observer.h" | 16 #include "components/drive/drive_app_registry_observer.h" |
17 #include "extensions/browser/extension_registry_observer.h" | 17 #include "extensions/browser/extension_registry_observer.h" |
18 | 18 |
19 namespace drive { | 19 namespace drive { |
20 struct DriveAppInfo; | 20 struct DriveAppInfo; |
21 } | 21 } |
22 | 22 |
23 class BrowserContextKeyedServiceFactory; | 23 class BrowserContextKeyedServiceFactory; |
24 class DriveAppConverter; | 24 class DriveAppConverter; |
25 class DriveAppMapping; | 25 class DriveAppMapping; |
26 class DriveAppUninstallSyncService; | 26 class DriveAppUninstallSyncService; |
27 class DriveServiceBridge; | 27 class DriveServiceBridge; |
28 class ExtensionService; | |
29 class Profile; | 28 class Profile; |
30 | 29 |
31 // DriveAppProvider is the integration point for Drive apps. It ensures each | 30 // DriveAppProvider is the integration point for Drive apps. It ensures each |
32 // Drive app has a corresponding Chrome app in the extension system. If there | 31 // Drive app has a corresponding Chrome app in the extension system. If there |
33 // is no matching Chrome app, a local URL app would be created. The class | 32 // is no matching Chrome app, a local URL app would be created. The class |
34 // processes app changes from both DriveAppRegistry and extension system to | 33 // processes app changes from both DriveAppRegistry and extension system to |
35 // keep the two in sync. | 34 // keep the two in sync. |
36 class DriveAppProvider : public drive::DriveAppRegistryObserver, | 35 class DriveAppProvider : public drive::DriveAppRegistryObserver, |
37 public extensions::ExtensionRegistryObserver { | 36 public extensions::ExtensionRegistryObserver { |
38 public: | 37 public: |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 100 |
102 // Tracks the pending web app convertions. | 101 // Tracks the pending web app convertions. |
103 ScopedVector<DriveAppConverter> pending_converters_; | 102 ScopedVector<DriveAppConverter> pending_converters_; |
104 | 103 |
105 base::WeakPtrFactory<DriveAppProvider> weak_ptr_factory_; | 104 base::WeakPtrFactory<DriveAppProvider> weak_ptr_factory_; |
106 | 105 |
107 DISALLOW_COPY_AND_ASSIGN(DriveAppProvider); | 106 DISALLOW_COPY_AND_ASSIGN(DriveAppProvider); |
108 }; | 107 }; |
109 | 108 |
110 #endif // CHROME_BROWSER_APPS_DRIVE_DRIVE_APP_PROVIDER_H_ | 109 #endif // CHROME_BROWSER_APPS_DRIVE_DRIVE_APP_PROVIDER_H_ |
OLD | NEW |