OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "chrome/common/common_param_traits.h" |
| 6 #include "ipc/ipc_message.h" |
| 7 #include "ipc/ipc_message_utils.h" |
| 8 |
| 9 namespace IPC { |
| 10 |
| 11 void ParamTraits<ContentSetting>::Write(Message* m, const param_type& p) { |
| 12 m->WriteInt(static_cast<int>(p)); |
| 13 } |
| 14 |
| 15 bool ParamTraits<ContentSetting>::Read(const Message* m, void** iter, |
| 16 param_type* p) { |
| 17 int type; |
| 18 if (!m->ReadInt(iter, &type)) |
| 19 return false; |
| 20 *p = static_cast<param_type>(type); |
| 21 return true; |
| 22 } |
| 23 |
| 24 void ParamTraits<ContentSetting>::Log(const param_type& p, std::string* l) { |
| 25 std::string content_setting; |
| 26 switch (p) { |
| 27 case CONTENT_SETTING_DEFAULT: |
| 28 content_setting = "CONTENT_SETTING_DEFAULT"; |
| 29 break; |
| 30 case CONTENT_SETTING_ALLOW: |
| 31 content_setting = "CONTENT_SETTING_ALLOW"; |
| 32 break; |
| 33 case CONTENT_SETTING_BLOCK: |
| 34 content_setting = "CONTENT_SETTING_BLOCK"; |
| 35 break; |
| 36 case CONTENT_SETTING_ASK: |
| 37 content_setting = "CONTENT_SETTING_ASK"; |
| 38 break; |
| 39 case CONTENT_SETTING_SESSION_ONLY: |
| 40 content_setting = "CONTENT_SETTING_SESSION_ONLY"; |
| 41 break; |
| 42 default: |
| 43 content_setting = "UNKNOWN"; |
| 44 break; |
| 45 } |
| 46 LogParam(content_setting, l); |
| 47 } |
| 48 |
| 49 void ParamTraits<ContentSettingsType>::Write(Message* m, const param_type& p) { |
| 50 m->WriteInt(static_cast<int>(p)); |
| 51 } |
| 52 |
| 53 bool ParamTraits<ContentSettingsType>::Read(const Message* m, void** iter, |
| 54 param_type* p) { |
| 55 int type; |
| 56 if (!m->ReadInt(iter, &type)) |
| 57 return false; |
| 58 *p = static_cast<param_type>(type); |
| 59 return true; |
| 60 } |
| 61 |
| 62 void ParamTraits<ContentSettingsType>::Log(const param_type& p, |
| 63 std::string* l) { |
| 64 std::string setting_type; |
| 65 switch (p) { |
| 66 case CONTENT_SETTINGS_TYPE_DEFAULT: |
| 67 setting_type = "CONTENT_SETTINGS_TYPE_DEFAULT"; |
| 68 break; |
| 69 case CONTENT_SETTINGS_TYPE_COOKIES: |
| 70 setting_type = "CONTENT_SETTINGS_TYPE_COOKIES"; |
| 71 break; |
| 72 case CONTENT_SETTINGS_TYPE_IMAGES: |
| 73 setting_type = "CONTENT_SETTINGS_TYPE_IMAGES"; |
| 74 break; |
| 75 case CONTENT_SETTINGS_TYPE_JAVASCRIPT: |
| 76 setting_type = "CONTENT_SETTINGS_TYPE_JAVASCRIPT"; |
| 77 break; |
| 78 case CONTENT_SETTINGS_TYPE_PLUGINS: |
| 79 setting_type = "CONTENT_SETTINGS_TYPE_PLUGINS"; |
| 80 break; |
| 81 case CONTENT_SETTINGS_TYPE_POPUPS: |
| 82 setting_type = "CONTENT_SETTINGS_TYPE_POPUPS"; |
| 83 break; |
| 84 case CONTENT_SETTINGS_TYPE_GEOLOCATION: |
| 85 setting_type = "CONTENT_SETTINGS_TYPE_GEOLOCATION"; |
| 86 break; |
| 87 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: |
| 88 setting_type = "CONTENT_SETTINGS_TYPE_NOTIFICATIONS"; |
| 89 break; |
| 90 case CONTENT_SETTINGS_TYPE_PRERENDER: |
| 91 setting_type = "CONTENT_SETTINGS_TYPE_PRERENDER"; |
| 92 break; |
| 93 default: |
| 94 setting_type = "UNKNOWN"; |
| 95 break; |
| 96 } |
| 97 LogParam(setting_type, l); |
| 98 } |
| 99 |
| 100 } // namespace IPC |
OLD | NEW |