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

Unified Diff: chrome/browser/printing/cloud_print/cloud_print_proxy_service.h

Issue 8438020: Cloud print connector policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments, initialization fix for Windows. Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698