diff options
author | abeera@google.com <abeera@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-15 20:56:17 +0000 |
---|---|---|
committer | abeera@google.com <abeera@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-15 20:56:17 +0000 |
commit | a529af57f7b475e18cb878712c42c95c7c82e56b (patch) | |
tree | ea36e92433fecae3a8febb0635b4c8112a5a2ca3 /chrome/service/service_process.cc | |
parent | 3ef7fb0d42affe262ab8cc3637a9982c65a59335 (diff) | |
download | chromium_src-a529af57f7b475e18cb878712c42c95c7c82e56b.zip chromium_src-a529af57f7b475e18cb878712c42c95c7c82e56b.tar.gz chromium_src-a529af57f7b475e18cb878712c42c95c7c82e56b.tar.bz2 |
Virtual Cloud Print Driver for Mac.
Includes code for the driver itself. Also modifies the browser process as well as service process to register Apple Event handlers. Also changes the service process to allow registration of driver.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7485011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service/service_process.cc')
-rw-r--r-- | chrome/service/service_process.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/chrome/service/service_process.cc b/chrome/service/service_process.cc index e5e0494..8fc8e95 100644 --- a/chrome/service/service_process.cc +++ b/chrome/service/service_process.cc @@ -192,6 +192,16 @@ 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) { + // Register the fact that there is at least one + // service needing the process. + OnServiceEnabled(); + } VLOG(1) << "Starting Service Process IPC Server"; ipc_server_.reset(new ServiceIPCServer( @@ -272,6 +282,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()); |