diff options
Diffstat (limited to 'chrome/service/cloud_print/cloud_print_proxy.cc')
-rw-r--r-- | chrome/service/cloud_print/cloud_print_proxy.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/chrome/service/cloud_print/cloud_print_proxy.cc b/chrome/service/cloud_print/cloud_print_proxy.cc index 9bb789d..8f925a1 100644 --- a/chrome/service/cloud_print/cloud_print_proxy.cc +++ b/chrome/service/cloud_print/cloud_print_proxy.cc @@ -106,7 +106,7 @@ void CloudPrintProxy::EnableForUser(const std::string& lsid) { cloud_print_email_, proxy_id); } if (client_) { - client_->OnCloudPrintProxyEnabled(); + client_->OnCloudPrintProxyEnabled(true); } } @@ -115,7 +115,7 @@ void CloudPrintProxy::DisableForUser() { cloud_print_email_.clear(); Shutdown(); if (client_) { - client_->OnCloudPrintProxyDisabled(); + client_->OnCloudPrintProxyDisabled(true); } } @@ -161,6 +161,15 @@ void CloudPrintProxy::OnAuthenticationFailed() { FROM_HERE, NewRunnableFunction(&ShowTokenExpiredNotificationInBrowser)); } +void CloudPrintProxy::OnPrintSystemUnavailable() { + // If the print system is unavailable, we want to shutdown the proxy and + // disable it non-persistently. + Shutdown(); + if (client_) { + client_->OnCloudPrintProxyDisabled(false); + } +} + void CloudPrintProxy::Shutdown() { DCHECK(CalledOnValidThread()); if (backend_.get()) |