summaryrefslogtreecommitdiffstats
path: root/chrome/common/common_param_traits.cc
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-30 09:31:01 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-30 09:31:01 +0000
commitf85f070f8fca83ca373929584218d7185ff89220 (patch)
tree0933796547053b57ac5cc69a17537f957879a0b1 /chrome/common/common_param_traits.cc
parenteaa4d15649601d4ec30136264825ccde40d91907 (diff)
downloadchromium_src-f85f070f8fca83ca373929584218d7185ff89220.zip
chromium_src-f85f070f8fca83ca373929584218d7185ff89220.tar.gz
chromium_src-f85f070f8fca83ca373929584218d7185ff89220.tar.bz2
IPC per-host content settings to the renderers.
BUG=32719 TEST=none Review URL: http://codereview.chromium.org/549218 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37628 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/common_param_traits.cc')
-rw-r--r--chrome/common/common_param_traits.cc27
1 files changed, 26 insertions, 1 deletions
diff --git a/chrome/common/common_param_traits.cc b/chrome/common/common_param_traits.cc
index 5e6880e3..e213f6d 100644
--- a/chrome/common/common_param_traits.cc
+++ b/chrome/common/common_param_traits.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -179,6 +179,31 @@ void ParamTraits<gfx::Size>::Log(const gfx::Size& p, std::wstring* l) {
l->append(StringPrintf(L"(%d, %d)", p.width(), p.height()));
}
+void ParamTraits<ContentSettings>::Write(
+ Message* m, const ContentSettings& settings) {
+ for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i)
+ WriteParam(m, static_cast<int>(settings.settings[i]));
+}
+
+bool ParamTraits<ContentSettings>::Read(
+ const Message* m, void** iter, ContentSettings* r) {
+ for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) {
+ int local_setting;
+ if (!m->ReadInt(iter, &local_setting))
+ return false;
+ if (local_setting < 0 ||
+ local_setting >= static_cast<int>(CONTENT_SETTING_NUM_SETTINGS))
+ return false;
+ r->settings[i] = static_cast<ContentSetting>(local_setting);
+ }
+ return true;
+}
+
+void ParamTraits<ContentSettings>::Log(
+ const ContentSettings& p, std::wstring* l) {
+ l->append(StringPrintf(L"<ContentSettings>"));
+}
+
void ParamTraits<webkit_glue::WebApplicationInfo>::Write(
Message* m, const webkit_glue::WebApplicationInfo& p) {
WriteParam(m, p.title);