| Index: chrome/common/render_messages.h
|
| ===================================================================
|
| --- chrome/common/render_messages.h (revision 11648)
|
| +++ chrome/common/render_messages.h (working copy)
|
| @@ -28,6 +28,7 @@
|
| #include "webkit/glue/autofill_form.h"
|
| #include "webkit/glue/cache_manager.h"
|
| #include "webkit/glue/context_menu.h"
|
| +#include "webkit/glue/feed.h"
|
| #include "webkit/glue/form_data.h"
|
| #include "webkit/glue/password_form.h"
|
| #include "webkit/glue/password_form_dom_manager.h"
|
| @@ -43,6 +44,17 @@
|
| #include "skia/include/SkBitmap.h"
|
| #endif
|
|
|
| +struct ViewHostMsg_UpdateFeedList_Params {
|
| + // The page_id for this navigation, or -1 if it is a new navigation. Back,
|
| + // Forward, and Reload navigations should have a valid page_id. If the load
|
| + // succeeds, then this page_id will be reflected in the resulting
|
| + // ViewHostMsg_FrameNavigate message.
|
| + int32 page_id;
|
| +
|
| + // The list of available feeds.
|
| + scoped_refptr<FeedList> feedlist;
|
| +};
|
| +
|
| // Parameters structure for ViewMsg_Navigate, which has too many data
|
| // parameters to be reasonably put in a predefined IPC message.
|
| struct ViewMsg_Navigate_Params {
|
| @@ -513,7 +525,68 @@
|
| }
|
| };
|
|
|
| +// Traits for ViewHostMsg_UpdateFeedList_Params structure to pack/unpack.
|
| template <>
|
| +struct ParamTraits<ViewHostMsg_UpdateFeedList_Params> {
|
| + typedef ViewHostMsg_UpdateFeedList_Params param_type;
|
| + static void Write(Message* msg, const param_type& param) {
|
| + WriteParam(msg, param.page_id);
|
| + WriteParam(msg, param.feedlist->list().size());
|
| + for (std::vector<FeedItem>::const_iterator iter =
|
| + param.feedlist->list().begin();
|
| + iter != param.feedlist->list().end(); iter++) {
|
| + WriteParam(msg, iter->title);
|
| + WriteParam(msg, iter->type);
|
| + WriteParam(msg, iter->url);
|
| + }
|
| + }
|
| + static bool Read(const Message* msg, void** iter, param_type* param) {
|
| + param->feedlist = new FeedList();
|
| + if (!ReadParam(msg, iter, ¶m->page_id))
|
| + return false;
|
| +
|
| + size_t arraysize = 0;
|
| + if (!ReadParam(msg, iter, &arraysize))
|
| + return false;
|
| +
|
| + if (arraysize > FeedList::kMaxFeeds) {
|
| + NOTREACHED() << L"Too many feeds sent by the renderer";
|
| + return false;
|
| + }
|
| +
|
| + bool ret = true;
|
| + for (size_t i = 0; i < arraysize; i++) {
|
| + FeedItem feeditem;
|
| + ret = ReadParam(msg, iter, &feeditem.title) &&
|
| + ReadParam(msg, iter, &feeditem.type) &&
|
| + ReadParam(msg, iter, &feeditem.url);
|
| + if (!ret)
|
| + return ret;
|
| + param->feedlist->Add(feeditem);
|
| + }
|
| +
|
| + return ret;
|
| + }
|
| + static void Log(const param_type& param, std::wstring* log) {
|
| + log->append(L"(");
|
| + LogParam(param.page_id, log);
|
| + log->append(L", {");
|
| + for (std::vector<FeedItem>::const_iterator iter =
|
| + param.feedlist->list().begin();
|
| + iter != param.feedlist->list().end(); iter++) {
|
| + log->append(L"[");
|
| + LogParam(iter->title, log);
|
| + log->append(L", ");
|
| + LogParam(iter->type, log);
|
| + log->append(L", ");
|
| + LogParam(iter->url, log);
|
| + log->append(L"]");
|
| + }
|
| + log->append(L"})");
|
| + }
|
| +};
|
| +
|
| +template <>
|
| struct ParamTraits<AccessibilityInParams> {
|
| typedef AccessibilityInParams param_type;
|
| static void Write(Message* m, const param_type& p) {
|
| @@ -721,7 +794,6 @@
|
| result = result && ReadParam(m, iter, &elements_size);
|
| p->elements.resize(elements_size);
|
| for (size_t i = 0; i < elements_size; i++) {
|
| - std::wstring s;
|
| result = result && ReadParam(m, iter, &(p->elements[i].name));
|
| result = result && ReadParam(m, iter, &(p->elements[i].value));
|
| }
|
|
|