Index: chrome/service/service_process.cc |
diff --git a/chrome/service/service_process.cc b/chrome/service/service_process.cc |
index e5e04944bd858978fc3c38ac0abac6b0f5fed6de..dde7ea34df4817da7ee8e7b8d8fd2d3e8c134610 100644 |
--- a/chrome/service/service_process.cc |
+++ b/chrome/service/service_process.cc |
@@ -192,6 +192,14 @@ bool ServiceProcess::Initialize(MessageLoopForUI* message_loop, |
if (cloud_print_proxy_enabled) { |
GetCloudPrintProxy()->EnableForUser(lsid); |
} |
+ // Enable Virtual Printer Driver if needed. |
+ bool virtual_printer_driver_enabled = false; |
+ service_prefs_->GetBoolean(prefs::kVirtualPrinterDriverEnabled, |
+ &virtual_printer_driver_enabled); |
+ |
+ if (virtual_printer_driver_enabled) { |
+ EnableVirtualPrintDriver(); |
Nico
2011/08/01 21:31:12
Doesn't this just write "true" back to the prefs i
abeera
2011/08/02 01:21:02
Changed to OnServiceEnabled(), which registers tha
|
+ } |
VLOG(1) << "Starting Service Process IPC Server"; |
ipc_server_.reset(new ServiceIPCServer( |
@@ -272,6 +280,20 @@ void ServiceProcess::OnCloudPrintProxyDisabled(bool persist_state) { |
OnServiceDisabled(); |
} |
+void ServiceProcess::EnableVirtualPrintDriver() { |
+ OnServiceEnabled(); |
+ // Save the preference that we have enabled the virtual driver. |
+ service_prefs_->SetBoolean(prefs::kVirtualPrinterDriverEnabled, true); |
+ service_prefs_->WritePrefs(); |
+} |
+ |
+void ServiceProcess::DisableVirtualPrintDriver() { |
+ OnServiceDisabled(); |
+ // Save the preference that we have disabled the virtual driver. |
+ service_prefs_->SetBoolean(prefs::kVirtualPrinterDriverEnabled, false); |
+ service_prefs_->WritePrefs(); |
+} |
+ |
ServiceURLRequestContextGetter* |
ServiceProcess::GetServiceURLRequestContextGetter() { |
DCHECK(request_context_getter_.get()); |