| Index: chrome/service/service_process.cc
|
| diff --git a/chrome/service/service_process.cc b/chrome/service/service_process.cc
|
| index e5e04944bd858978fc3c38ac0abac6b0f5fed6de..e9ddb31a75d9778b59e5cb85d32d5a62b2c2e203 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();
|
| + }
|
|
|
| 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());
|
|
|