summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/about_flags.cc11
-rw-r--r--chrome/browser/ui/webui/options/advanced_options_handler.cc2
-rw-r--r--chrome/service/service_ipc_server.cc5
3 files changed, 12 insertions, 6 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index ba3f3b4..3fe6e719 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -131,12 +131,13 @@ const Experiment kExperiments[] = {
IDS_FLAGS_CLOUD_PRINT_PROXY_DESCRIPTION,
#if defined(GOOGLE_CHROME_BUILD)
// For a Chrome build, we know we have a PDF plug-in on Windows, so it's
- // fully enabled. Mac and Linux still need some final polish.
- kOsMac | kOsLinux,
+ // fully enabled. Linux still need some final polish.
+ kOsLinux,
#else
- // Otherwise, where we know it could be working if a viable PDF
- // plug-in could be supplied, we'll keep the lab enabled.
- kOsWin | kOsMac | kOsLinux,
+ // Otherwise, where we know Windows could be working if a viable PDF
+ // plug-in could be supplied, we'll keep the lab enabled. Mac always has
+ // PDF rasterization available, so no flag needed there.
+ kOsWin | kOsLinux,
#endif
SINGLE_VALUE_TYPE(switches::kEnableCloudPrintProxy)
},
diff --git a/chrome/browser/ui/webui/options/advanced_options_handler.cc b/chrome/browser/ui/webui/options/advanced_options_handler.cc
index 5a8864f..125e97f 100644
--- a/chrome/browser/ui/webui/options/advanced_options_handler.cc
+++ b/chrome/browser/ui/webui/options/advanced_options_handler.cc
@@ -50,7 +50,7 @@
#endif
AdvancedOptionsHandler::AdvancedOptionsHandler() {
-#if defined(GOOGLE_CHROME_BUILD) && defined(OS_WIN)
+#if (defined(GOOGLE_CHROME_BUILD) && defined(OS_WIN)) || defined(OS_MACOSX)
cloud_print_proxy_ui_enabled_ = true;
#elif !defined(OS_CHROMEOS)
cloud_print_proxy_ui_enabled_ =
diff --git a/chrome/service/service_ipc_server.cc b/chrome/service/service_ipc_server.cc
index 7542e37..e746b30 100644
--- a/chrome/service/service_ipc_server.cc
+++ b/chrome/service/service_ipc_server.cc
@@ -66,7 +66,12 @@ void ServiceIPCServer::OnChannelError() {
// define a Client interface that the ServiceProcess can implement.
if (client_was_connected) {
if (g_service_process->HandleClientDisconnect()) {
+#if defined(OS_WIN)
+ // On Windows, once an error on a named pipe occurs, the named pipe is no
+ // longer valid and must be re-created. This is not the case on Mac or
+ // Linux.
CreateChannel();
+#endif
}
} else {
// If the client was never even connected we had an error connecting.