diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-30 09:31:01 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-30 09:31:01 +0000 |
commit | f85f070f8fca83ca373929584218d7185ff89220 (patch) | |
tree | 0933796547053b57ac5cc69a17537f957879a0b1 /chrome/common/common_param_traits.cc | |
parent | eaa4d15649601d4ec30136264825ccde40d91907 (diff) | |
download | chromium_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.cc | 27 |
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); |