summaryrefslogtreecommitdiffstats
path: root/chrome/common
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-24 20:48:29 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-24 20:48:29 +0000
commitf5db58da8a081fe91b25d7a373987c97d397f378 (patch)
tree52a8f3bea7d1ffecbc45d652e6caea2fc8dac4b3 /chrome/common
parent05992b2a814db10d48e4deaeb9fea873e37bd329 (diff)
downloadchromium_src-f5db58da8a081fe91b25d7a373987c97d397f378.zip
chromium_src-f5db58da8a081fe91b25d7a373987c97d397f378.tar.gz
chromium_src-f5db58da8a081fe91b25d7a373987c97d397f378.tar.bz2
Add a command-line switch to change the user agent.BUG=757345
Review URL: http://codereview.chromium.org/4059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
-rw-r--r--chrome/common/child_process.cc12
-rw-r--r--chrome/common/chrome_switches.cc3
-rw-r--r--chrome/common/chrome_switches.h1
-rw-r--r--chrome/common/render_messages.h50
4 files changed, 40 insertions, 26 deletions
diff --git a/chrome/common/child_process.cc b/chrome/common/child_process.cc
index 50f8b88..979418f 100644
--- a/chrome/common/child_process.cc
+++ b/chrome/common/child_process.cc
@@ -3,10 +3,15 @@
// found in the LICENSE file.
#include <windows.h>
+
#include "chrome/common/child_process.h"
#include "base/atomic_ref_count.h"
#include "base/basictypes.h"
+#include "base/command_line.h"
+#include "base/string_util.h"
+#include "chrome/common/chrome_switches.h"
+#include "webkit/glue/webkit_glue.h"
ChildProcess* ChildProcess::child_process_;
MessageLoop* ChildProcess::main_thread_loop_;
@@ -72,6 +77,13 @@ bool ChildProcess::GlobalInit(const std::wstring &channel_name,
shutdown_event_ = CreateEvent(NULL, TRUE, FALSE, NULL);
child_process_ = factory->Create(channel_name);
+
+ CommandLine command_line;
+ if (command_line.HasSwitch(switches::kUserAgent)) {
+ webkit_glue::SetUserAgent(WideToUTF8(
+ command_line.GetSwitchValue(switches::kUserAgent)));
+ }
+
return true;
}
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 7dec663..742eee1 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -128,6 +128,9 @@ const wchar_t kDomAutomationController[] = L"dom-automation";
// Tells the plugin process the path of the plugin to load
const wchar_t kPluginPath[] = L"plugin-path";
+// A string used to override the default user agent with a custom one.
+const wchar_t kUserAgent[] = L"user-agent";
+
// Specifies the flags passed to JS engine
const wchar_t kJavaScriptFlags[] = L"js-flags";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 241170e8..9df559b 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -43,6 +43,7 @@ extern const wchar_t kApp[];
extern const wchar_t kAppUploadFile[];
extern const wchar_t kDomAutomationController[];
extern const wchar_t kPluginPath[];
+extern const wchar_t kUserAgent[];
extern const wchar_t kJavaScriptFlags[];
extern const wchar_t kGeoID[];
extern const wchar_t kLang[];
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 7deb5dc..95268a0 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -1443,35 +1443,33 @@ struct ParamTraits<WebPreferences> {
WriteParam(m, p.java_enabled);
WriteParam(m, p.user_style_sheet_enabled);
WriteParam(m, p.user_style_sheet_location);
- WriteParam(m, p.user_agent);
}
static bool Read(const Message* m, void** iter, param_type* p) {
return
- ReadParam(m, iter, &p->standard_font_family) &&
- ReadParam(m, iter, &p->fixed_font_family) &&
- ReadParam(m, iter, &p->serif_font_family) &&
- ReadParam(m, iter, &p->sans_serif_font_family) &&
- ReadParam(m, iter, &p->cursive_font_family) &&
- ReadParam(m, iter, &p->fantasy_font_family) &&
- ReadParam(m, iter, &p->default_font_size) &&
- ReadParam(m, iter, &p->default_fixed_font_size) &&
- ReadParam(m, iter, &p->minimum_font_size) &&
- ReadParam(m, iter, &p->minimum_logical_font_size) &&
- ReadParam(m, iter, &p->default_encoding) &&
- ReadParam(m, iter, &p->javascript_enabled) &&
- ReadParam(m, iter, &p->javascript_can_open_windows_automatically) &&
- ReadParam(m, iter, &p->loads_images_automatically) &&
- ReadParam(m, iter, &p->plugins_enabled) &&
- ReadParam(m, iter, &p->dom_paste_enabled) &&
- ReadParam(m, iter, &p->developer_extras_enabled) &&
- ReadParam(m, iter, &p->shrinks_standalone_images_to_fit) &&
- ReadParam(m, iter, &p->uses_universal_detector) &&
- ReadParam(m, iter, &p->text_areas_are_resizable) &&
- ReadParam(m, iter, &p->dashboard_compatibility_mode) &&
- ReadParam(m, iter, &p->java_enabled) &&
- ReadParam(m, iter, &p->user_style_sheet_enabled) &&
- ReadParam(m, iter, &p->user_style_sheet_location) &&
- ReadParam(m, iter, &p->user_agent);
+ ReadParam(m, iter, &p->standard_font_family) &&
+ ReadParam(m, iter, &p->fixed_font_family) &&
+ ReadParam(m, iter, &p->serif_font_family) &&
+ ReadParam(m, iter, &p->sans_serif_font_family) &&
+ ReadParam(m, iter, &p->cursive_font_family) &&
+ ReadParam(m, iter, &p->fantasy_font_family) &&
+ ReadParam(m, iter, &p->default_font_size) &&
+ ReadParam(m, iter, &p->default_fixed_font_size) &&
+ ReadParam(m, iter, &p->minimum_font_size) &&
+ ReadParam(m, iter, &p->minimum_logical_font_size) &&
+ ReadParam(m, iter, &p->default_encoding) &&
+ ReadParam(m, iter, &p->javascript_enabled) &&
+ ReadParam(m, iter, &p->javascript_can_open_windows_automatically) &&
+ ReadParam(m, iter, &p->loads_images_automatically) &&
+ ReadParam(m, iter, &p->plugins_enabled) &&
+ ReadParam(m, iter, &p->dom_paste_enabled) &&
+ ReadParam(m, iter, &p->developer_extras_enabled) &&
+ ReadParam(m, iter, &p->shrinks_standalone_images_to_fit) &&
+ ReadParam(m, iter, &p->uses_universal_detector) &&
+ ReadParam(m, iter, &p->text_areas_are_resizable) &&
+ ReadParam(m, iter, &p->dashboard_compatibility_mode) &&
+ ReadParam(m, iter, &p->java_enabled) &&
+ ReadParam(m, iter, &p->user_style_sheet_enabled) &&
+ ReadParam(m, iter, &p->user_style_sheet_location);
}
static void Log(const param_type& p, std::wstring* l) {
l->append(L"<WebPreferences>");