Index: trunk/src/content/app/content_main_runner.cc |
=================================================================== |
--- trunk/src/content/app/content_main_runner.cc (revision 255866) |
+++ trunk/src/content/app/content_main_runner.cc (working copy) |
@@ -51,6 +51,7 @@ |
#include "ui/base/ui_base_paths.h" |
#include "ui/base/ui_base_switches.h" |
#include "ui/gfx/win/dpi.h" |
+#include "webkit/common/user_agent/user_agent.h" |
#if defined(USE_TCMALLOC) |
#include "third_party/tcmalloc/chromium/src/gperftools/malloc_extension.h" |
@@ -379,6 +380,14 @@ |
command_line.GetSwitchValueASCII(switches::kProcessType); |
ContentClientInitializer::Set(process_type, delegate); |
+ // If a custom user agent was passed on the command line, we need |
+ // to (re)set it now, rather than using the default one the zygote |
+ // initialized. |
+ if (command_line.HasSwitch(switches::kUserAgent)) { |
+ webkit_glue::SetUserAgent( |
+ command_line.GetSwitchValueASCII(switches::kUserAgent)); |
+ } |
+ |
// The StatsTable must be initialized in each process; we already |
// initialized for the browser process, now we need to initialize |
// within the new processes as well. |
@@ -738,6 +747,14 @@ |
if (delegate_) |
delegate_->PreSandboxStartup(); |
+ // Set any custom user agent passed on the command line now so the string |
+ // doesn't change between calls to webkit_glue::GetUserAgent(), otherwise it |
+ // defaults to the user agent set during SetContentClient(). |
+ if (command_line.HasSwitch(switches::kUserAgent)) { |
+ webkit_glue::SetUserAgent( |
+ command_line.GetSwitchValueASCII(switches::kUserAgent)); |
+ } |
+ |
if (!process_type.empty()) |
CommonSubprocessInit(process_type); |