summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscottbyer@chromium.org <scottbyer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-05 00:23:44 +0000
committerscottbyer@chromium.org <scottbyer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-05 00:23:44 +0000
commitbe51dd2522544e7906e1cec6ac29ebf765fb2a4b (patch)
tree91f0ac2868d4a6439bda929b808996cabc2ce812
parentdf680a8bb1bb8660c85f63205d0bd220a0f1fd73 (diff)
downloadchromium_src-be51dd2522544e7906e1cec6ac29ebf765fb2a4b.zip
chromium_src-be51dd2522544e7906e1cec6ac29ebf765fb2a4b.tar.gz
chromium_src-be51dd2522544e7906e1cec6ac29ebf765fb2a4b.tar.bz2
Mac print proxy out from flag.
We found the issue with control of the service process, and with that fix the proxy is stable enough to be exposed. The fix also improves the Linux proxy control, but an autostarted service process on Linux still has an issue, so that remains behind the flag. BUG=74223 TEST=See that cloud print proxy is not in about:flags on the Mac, and the sign in is availble in Under the Hood. Signing in, restarting Chromium, and disabling the proxy works (removes the autostart file is the quickest visible way to verify). Review URL: http://codereview.chromium.org/6633004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77005 0039d316-1c4b-4281-b951-d872f2087c98
-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.