Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: chrome/common/common_param_traits.cc

Issue 6713084: Move the rest of the renderer->browser messages that belong in content. Also do a bunch of cleanup: (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/common_param_traits.h ('k') | chrome/common/common_param_traits_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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
7 #include "base/time.h"
8 #include "chrome/common/chrome_constants.h"
9 #include "chrome/common/content_settings.h"
10 #include "chrome/common/thumbnail_score.h"
11 #include "chrome/common/web_apps.h"
12 #include "content/common/common_param_traits.h"
13 #include "googleurl/src/gurl.h"
14 #include "printing/backend/print_backend.h"
15 #include "printing/native_metafile.h"
16 #include "printing/page_range.h"
17
18 namespace IPC {
19
20 void ParamTraits<ContentSetting>::Write(Message* m, const param_type& p) {
21 WriteParam(m, static_cast<int>(p));
22 }
23
24 bool ParamTraits<ContentSetting>::Read(const Message* m, void** iter,
25 param_type* r) {
26 int value;
27 if (!ReadParam(m, iter, &value))
28 return false;
29 if (value < 0 || value >= static_cast<int>(CONTENT_SETTING_NUM_SETTINGS))
30 return false;
31 *r = static_cast<param_type>(value);
32 return true;
33 }
34
35 void ParamTraits<ContentSetting>::Log(const param_type& p, std::string* l) {
36 LogParam(static_cast<int>(p), l);
37 }
38
39 void ParamTraits<ContentSettings>::Write(
40 Message* m, const ContentSettings& settings) {
41 for (size_t i = 0; i < arraysize(settings.settings); ++i)
42 WriteParam(m, settings.settings[i]);
43 }
44
45 bool ParamTraits<ContentSettings>::Read(
46 const Message* m, void** iter, ContentSettings* r) {
47 for (size_t i = 0; i < arraysize(r->settings); ++i) {
48 if (!ReadParam(m, iter, &r->settings[i]))
49 return false;
50 }
51 return true;
52 }
53
54 void ParamTraits<ContentSettings>::Log(
55 const ContentSettings& p, std::string* l) {
56 l->append("<ContentSettings>");
57 }
58
59 void ParamTraits<WebApplicationInfo>::Write(Message* m,
60 const WebApplicationInfo& p) {
61 WriteParam(m, p.title);
62 WriteParam(m, p.description);
63 WriteParam(m, p.app_url);
64 WriteParam(m, p.launch_container);
65 WriteParam(m, p.icons.size());
66 WriteParam(m, p.permissions.size());
67
68 for (size_t i = 0; i < p.icons.size(); ++i) {
69 WriteParam(m, p.icons[i].url);
70 WriteParam(m, p.icons[i].width);
71 WriteParam(m, p.icons[i].height);
72 WriteParam(m, p.icons[i].data);
73 }
74
75 for (size_t i = 0; i < p.permissions.size(); ++i)
76 WriteParam(m, p.permissions[i]);
77 }
78
79 bool ParamTraits<WebApplicationInfo>::Read(
80 const Message* m, void** iter, WebApplicationInfo* r) {
81 size_t icon_count = 0;
82 size_t permissions_count = 0;
83
84 bool result =
85 ReadParam(m, iter, &r->title) &&
86 ReadParam(m, iter, &r->description) &&
87 ReadParam(m, iter, &r->app_url) &&
88 ReadParam(m, iter, &r->launch_container) &&
89 ReadParam(m, iter, &icon_count) &&
90 ReadParam(m, iter, &permissions_count);
91 if (!result)
92 return false;
93
94 for (size_t i = 0; i < icon_count; ++i) {
95 param_type::IconInfo icon_info;
96 result =
97 ReadParam(m, iter, &icon_info.url) &&
98 ReadParam(m, iter, &icon_info.width) &&
99 ReadParam(m, iter, &icon_info.height) &&
100 ReadParam(m, iter, &icon_info.data);
101 if (!result)
102 return false;
103 r->icons.push_back(icon_info);
104 }
105
106 for (size_t i = 0; i < permissions_count; ++i) {
107 std::string permission;
108 if (!ReadParam(m, iter, &permission))
109 return false;
110 r->permissions.push_back(permission);
111 }
112
113 return true;
114 }
115
116 void ParamTraits<WebApplicationInfo>::Log(const WebApplicationInfo& p,
117 std::string* l) {
118 l->append("<WebApplicationInfo>");
119 }
120
121 void ParamTraits<ThumbnailScore>::Write(Message* m, const param_type& p) {
122 IPC::ParamTraits<double>::Write(m, p.boring_score);
123 IPC::ParamTraits<bool>::Write(m, p.good_clipping);
124 IPC::ParamTraits<bool>::Write(m, p.at_top);
125 IPC::ParamTraits<base::Time>::Write(m, p.time_at_snapshot);
126 }
127
128 bool ParamTraits<ThumbnailScore>::Read(const Message* m, void** iter,
129 param_type* r) {
130 double boring_score;
131 bool good_clipping, at_top;
132 base::Time time_at_snapshot;
133 if (!IPC::ParamTraits<double>::Read(m, iter, &boring_score) ||
134 !IPC::ParamTraits<bool>::Read(m, iter, &good_clipping) ||
135 !IPC::ParamTraits<bool>::Read(m, iter, &at_top) ||
136 !IPC::ParamTraits<base::Time>::Read(m, iter, &time_at_snapshot))
137 return false;
138
139 r->boring_score = boring_score;
140 r->good_clipping = good_clipping;
141 r->at_top = at_top;
142 r->time_at_snapshot = time_at_snapshot;
143 return true;
144 }
145
146 void ParamTraits<ThumbnailScore>::Log(const param_type& p, std::string* l) {
147 l->append(base::StringPrintf("(%f, %d, %d)",
148 p.boring_score, p.good_clipping, p.at_top));
149 }
150
151 void ParamTraits<printing::PageRange>::Write(Message* m, const param_type& p) {
152 WriteParam(m, p.from);
153 WriteParam(m, p.to);
154 }
155
156 bool ParamTraits<printing::PageRange>::Read(
157 const Message* m, void** iter, param_type* p) {
158 return ReadParam(m, iter, &p->from) &&
159 ReadParam(m, iter, &p->to);
160 }
161
162 void ParamTraits<printing::PageRange>::Log(
163 const param_type& p, std::string* l) {
164 l->append("(");
165 LogParam(p.to, l);
166 l->append(", ");
167 LogParam(p.from, l);
168 l->append(")");
169 }
170
171 void ParamTraits<printing::NativeMetafile>::Write(
172 Message* m, const param_type& p) {
173 std::vector<uint8> buffer;
174 uint32 size = p.GetDataSize();
175 if (size) {
176 buffer.resize(size);
177 p.GetData(&buffer.front(), size);
178 }
179 WriteParam(m, buffer);
180 }
181
182 bool ParamTraits<printing::NativeMetafile>::Read(
183 const Message* m, void** iter, param_type* p) {
184 std::vector<uint8> buffer;
185 return ReadParam(m, iter, &buffer) &&
186 p->InitFromData(&buffer.front(), static_cast<uint32>(buffer.size()));
187 }
188
189 void ParamTraits<printing::NativeMetafile>::Log(
190 const param_type& p, std::string* l) {
191 l->append("<printing::NativeMetafile>");
192 }
193
194 void ParamTraits<printing::PrinterCapsAndDefaults>::Write(
195 Message* m, const param_type& p) {
196 WriteParam(m, p.printer_capabilities);
197 WriteParam(m, p.caps_mime_type);
198 WriteParam(m, p.printer_defaults);
199 WriteParam(m, p.defaults_mime_type);
200 }
201
202 bool ParamTraits<printing::PrinterCapsAndDefaults>::Read(
203 const Message* m, void** iter, param_type* p) {
204 return
205 ReadParam(m, iter, &p->printer_capabilities) &&
206 ReadParam(m, iter, &p->caps_mime_type) &&
207 ReadParam(m, iter, &p->printer_defaults) &&
208 ReadParam(m, iter, &p->defaults_mime_type);
209 }
210
211 void ParamTraits<printing::PrinterCapsAndDefaults>::Log(
212 const param_type& p, std::string* l) {
213 l->append("(");
214 LogParam(p.printer_capabilities, l);
215 l->append(",");
216 LogParam(p.caps_mime_type, l);
217 l->append(",");
218 LogParam(p.printer_defaults, l);
219 l->append(",");
220 LogParam(p.defaults_mime_type, l);
221 l->append(")");
222 }
223
224 } // namespace IPC
OLDNEW
« no previous file with comments | « chrome/common/common_param_traits.h ('k') | chrome/common/common_param_traits_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698