Index: chrome/browser/printing/cloud_print/cloud_print_proxy_service.h |
diff --git a/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h b/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h |
index 8c4899c6d96d1d8ba26caeee828671386605d6a6..e34ef7a163341580f82d95fd4a3da4c1bc8ac979 100644 |
--- a/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h |
+++ b/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h |
@@ -12,10 +12,13 @@ |
#include "base/memory/weak_ptr.h" |
#include "base/observer_list.h" |
#include "base/task.h" |
+#include "chrome/browser/prefs/pref_change_registrar.h" |
#include "chrome/browser/printing/cloud_print/cloud_print_setup_handler.h" |
#include "chrome/browser/profiles/profile_keyed_service.h" |
+#include "content/public/browser/notification_observer.h" |
class Profile; |
+class ServiceProcessControl; |
namespace cloud_print { |
struct CloudPrintProxyInfo; |
@@ -25,7 +28,8 @@ struct CloudPrintProxyInfo; |
// running in the service process. |
class CloudPrintProxyService |
: public CloudPrintSetupHandlerDelegate, |
- public ProfileKeyedService { |
+ public ProfileKeyedService, |
+ public content::NotificationObserver { |
public: |
explicit CloudPrintProxyService(Profile* profile); |
virtual ~CloudPrintProxyService(); |
@@ -51,6 +55,11 @@ class CloudPrintProxyService |
// CloudPrintSetupHandler::Delegate implementation. |
virtual void OnCloudPrintSetupClosed(); |
+ // content::NotificationObserver implementation. |
+ virtual void Observe(int type, |
+ const content::NotificationSource& source, |
+ const content::NotificationDetails& details) OVERRIDE; |
+ |
private: |
// NotificationDelegate implementation for the token expired notification. |
class TokenExpiredNotificationDelegate; |
@@ -82,9 +91,16 @@ class CloudPrintProxyService |
void OnTokenExpiredNotificationClosed(bool by_user); |
void OnTokenExpiredNotificationClick(); |
void TokenExpiredNotificationDone(bool keep_alive); |
+ void ApplyCloudPrintConnectorPolicy(); |
+ |
+ // Virtual for testing. |
+ virtual ServiceProcessControl* GetServiceProcessControl(); |
base::WeakPtrFactory<CloudPrintProxyService> weak_factory_; |
+ // For watching for connector enablement policy changes. |
+ PrefChangeRegistrar pref_change_registrar_; |
+ |
DISALLOW_COPY_AND_ASSIGN(CloudPrintProxyService); |
}; |