Index: chrome/common/webkit_param_traits.h |
=================================================================== |
--- chrome/common/webkit_param_traits.h (revision 12916) |
+++ chrome/common/webkit_param_traits.h (working copy) |
@@ -1,376 +1,84 @@ |
-// Copyright (c) 2006-2008 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. |
+// Copyright (c) 2009 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. |
+// |
+// This file contains ParamTraits templates to support serialization of WebKit |
+// data types over IPC. |
-#ifndef CHROME_COMMON_RENDER_MESSAGES_H_ |
-#define CHROME_COMMON_RENDER_MESSAGES_H_ |
+#ifndef CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ |
+#define CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ |
-#include <string> |
-#include <vector> |
-#include <map> |
- |
-#include "base/basictypes.h" |
-#include "base/gfx/native_widget_types.h" |
-#include "base/ref_counted.h" |
-#include "base/shared_memory.h" |
-#include "chrome/browser/renderer_host/resource_handler.h" |
-#include "chrome/common/filter_policy.h" |
#include "chrome/common/ipc_message_utils.h" |
-#include "chrome/common/modal_dialog_event.h" |
-#include "chrome/common/page_transition_types.h" |
-#include "chrome/common/transport_dib.h" |
-#include "googleurl/src/gurl.h" |
-#include "media/audio/audio_output.h" |
-#include "net/base/upload_data.h" |
-#include "net/http/http_response_headers.h" |
-#include "net/url_request/url_request_status.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebCache.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebConsoleMessage.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebFindInPageRequest.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebInputEvent.h" |
-#include "webkit/glue/autofill_form.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" |
-#include "webkit/glue/resource_loader_bridge.h" |
-#include "webkit/glue/screen_info.h" |
-#include "webkit/glue/webaccessibility.h" |
-#include "webkit/glue/webdropdata.h" |
-#include "webkit/glue/webplugin.h" |
-#include "webkit/glue/webpreferences.h" |
-#include "webkit/glue/webview_delegate.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebScreenInfo.h" |
-#if defined(OS_POSIX) |
-#include "skia/include/SkBitmap.h" |
-#endif |
+namespace IPC { |
-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 { |
- // 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 resultant |
- // ViewHostMsg_FrameNavigate message. |
- int32 page_id; |
- |
- // The URL to load. |
- GURL url; |
- |
- // The URL to send in the "Referer" header field. Can be empty if there is |
- // no referrer. |
- GURL referrer; |
- |
- // The type of transition. |
- PageTransition::Type transition; |
- |
- // Opaque history state (received by ViewHostMsg_UpdateState). |
- std::string state; |
- |
- // Specifies if the URL should be loaded using 'reload' semantics (i.e., |
- // bypassing any locally cached content). |
- bool reload; |
-}; |
- |
-// Parameters structure for ViewHostMsg_FrameNavigate, which has too many data |
-// parameters to be reasonably put in a predefined IPC message. |
-struct ViewHostMsg_FrameNavigate_Params { |
- // Page ID of this navigation. The renderer creates a new unique page ID |
- // anytime a new session history entry is created. This means you'll get new |
- // page IDs for user actions, and the old page IDs will be reloaded when |
- // iframes are loaded automatically. |
- int32 page_id; |
- |
- // URL of the page being loaded. |
- GURL url; |
- |
- // URL of the referrer of this load. WebKit generates this based on the |
- // source of the event that caused the load. |
- GURL referrer; |
- |
- // The type of transition. |
- PageTransition::Type transition; |
- |
- // Lists the redirects that occurred on the way to the current page. This |
- // vector has the same format as reported by the WebDataSource in the glue, |
- // with the current page being the last one in the list (so even when |
- // there's no redirect, there will be one entry in the list. |
- std::vector<GURL> redirects; |
- |
- // Set to false if we want to update the session history but not update |
- // the browser history. E.g., on unreachable urls. |
- bool should_update_history; |
- |
- // See SearchableFormData for a description of these. |
- GURL searchable_form_url; |
- std::wstring searchable_form_element_name; |
- std::string searchable_form_encoding; |
- |
- // See password_form.h. |
- PasswordForm password_form; |
- |
- // Information regarding the security of the connection (empty if the |
- // connection was not secure). |
- std::string security_info; |
- |
- // The gesture that initiated this navigation. |
- NavigationGesture gesture; |
- |
- // Contents MIME type of main frame. |
- std::string contents_mime_type; |
- |
- // True if this was a post request. |
- bool is_post; |
- |
- // Whether the content of the frame was replaced with some alternate content |
- // (this can happen if the resource was insecure). |
- bool is_content_filtered; |
- |
- // The status code of the HTTP request. |
- int http_status_code; |
-}; |
- |
-// Values that may be OR'd together to form the 'flags' parameter of a |
-// ViewHostMsg_PaintRect message. |
-struct ViewHostMsg_PaintRect_Flags { |
- enum { |
- IS_RESIZE_ACK = 1 << 0, |
- IS_RESTORE_ACK = 1 << 1, |
- IS_REPAINT_ACK = 1 << 2, |
- }; |
- static bool is_resize_ack(int flags) { |
- return (flags & IS_RESIZE_ACK) != 0; |
+template <> |
+struct ParamTraits<WebKit::WebRect> { |
+ typedef WebKit::WebRect param_type; |
+ static void Write(Message* m, const param_type& p) { |
+ WriteParam(m, p.x); |
+ WriteParam(m, p.y); |
+ WriteParam(m, p.width); |
+ WriteParam(m, p.height); |
} |
- static bool is_restore_ack(int flags) { |
- return (flags & IS_RESTORE_ACK) != 0; |
+ static bool Read(const Message* m, void** iter, param_type* p) { |
+ return |
+ ReadParam(m, iter, &p->x) && |
+ ReadParam(m, iter, &p->y) && |
+ ReadParam(m, iter, &p->width) && |
+ ReadParam(m, iter, &p->height); |
} |
- |
- static bool is_repaint_ack(int flags) { |
- return (flags & IS_REPAINT_ACK) != 0; |
+ static void Log(const param_type& p, std::wstring* l) { |
+ l->append(L"("); |
+ LogParam(p.x, l); |
+ l->append(L", "); |
+ LogParam(p.y, l); |
+ l->append(L", "); |
+ LogParam(p.width, l); |
+ l->append(L", "); |
+ LogParam(p.height, l); |
+ l->append(L")"); |
} |
}; |
-struct ViewHostMsg_PaintRect_Params { |
- // The bitmap to be painted into the rect given by bitmap_rect. |
- TransportDIB::Id bitmap; |
- |
- // The position and size of the bitmap. |
- gfx::Rect bitmap_rect; |
- |
- // The size of the RenderView when this message was generated. This is |
- // included so the host knows how large the view is from the perspective of |
- // the renderer process. This is necessary in case a resize operation is in |
- // progress. |
- gfx::Size view_size; |
- |
- // New window locations for plugin child windows. |
- std::vector<WebPluginGeometry> plugin_window_moves; |
- |
- // The following describes the various bits that may be set in flags: |
- // |
- // ViewHostMsg_PaintRect_Flags::IS_RESIZE_ACK |
- // Indicates that this is a response to a ViewMsg_Resize message. |
- // |
- // ViewHostMsg_PaintRect_Flags::IS_RESTORE_ACK |
- // Indicates that this is a response to a ViewMsg_WasRestored message. |
- // |
- // If flags is zero, then this message corresponds to an unsoliticed paint |
- // request by the render view. Both of the above bits may be set in flags, |
- // which would indicate that this paint message is an ACK for multiple |
- // request messages. |
- int flags; |
-}; |
- |
-// Parameters structure for ViewHostMsg_ScrollRect, which has too many data |
-// parameters to be reasonably put in a predefined IPC message. |
-struct ViewHostMsg_ScrollRect_Params { |
- // The bitmap to be painted into the rect exposed by scrolling. |
- TransportDIB::Id bitmap; |
- |
- // The position and size of the bitmap. |
- gfx::Rect bitmap_rect; |
- |
- // The scroll offset. Only one of these can be non-zero. |
- int dx; |
- int dy; |
- |
- // The rectangular region to scroll. |
- gfx::Rect clip_rect; |
- |
- // The size of the RenderView when this message was generated. |
- gfx::Size view_size; |
- |
- // New window locations for plugin child windows. |
- std::vector<WebPluginGeometry> plugin_window_moves; |
-}; |
- |
-// Parameters structure for ViewMsg_UploadFile. |
-struct ViewMsg_UploadFile_Params { |
- // See WebContents::StartFileUpload for a description of these fields. |
- std::wstring file_path; |
- std::wstring form; |
- std::wstring file; |
- std::wstring submit; |
- std::wstring other_values; |
-}; |
- |
-// Parameters for a resource request. |
-struct ViewHostMsg_Resource_Request { |
- // The request method: GET, POST, etc. |
- std::string method; |
- |
- // The requested URL. |
- GURL url; |
- |
- // The URL of the document in the top-level window, which may be checked by |
- // the third-party cookie blocking policy. Leaving it empty may lead to |
- // undesired cookie blocking. Third-party cookie blocking can be bypassed by |
- // setting policy_url = url, but this should ideally only be done if there |
- // really is no way to determine the correct value. |
- GURL policy_url; |
- |
- // The referrer to use (may be empty). |
- GURL referrer; |
- |
- // The origin of the frame that is associated with this request. This is used |
- // to update our mixed content state. |
- std::string frame_origin; |
- |
- // The origin of the main frame (top-level frame) that is associated with this |
- // request. This is used to update our mixed content state. |
- std::string main_frame_origin; |
- |
- // Additional HTTP request headers. |
- std::string headers; |
- |
- // The default MIME type to use if the response lacks a Content-Type header. |
- // Use the empty string here if you don't want special MIME type handling. |
- std::string default_mime_type; |
- |
- // URLRequest load flags (0 by default). |
- int load_flags; |
- |
- // Process ID of process that originated this request. |
- int origin_pid; |
- |
- // What this resource load is for (main frame, sub-frame, sub-resource, |
- // object). |
- ResourceType::Type resource_type; |
- |
- // Used by plugin->browser requests to get the correct URLRequestContext. |
- uint32 request_context; |
- |
- // Optional upload data (may be null). |
- scoped_refptr<net::UploadData> upload_data; |
-}; |
- |
-// Parameters for a render request. |
-struct ViewMsg_Print_Params { |
- // In pixels according to dpi_x and dpi_y. |
- gfx::Size printable_size; |
- |
- // Specifies dots per inch. |
- double dpi; |
- |
- // Minimum shrink factor. See PrintSettings::min_shrink for more information. |
- double min_shrink; |
- |
- // Maximum shrink factor. See PrintSettings::max_shrink for more information. |
- double max_shrink; |
- |
- // Desired apparent dpi on paper. |
- int desired_dpi; |
- |
- // Cookie for the document to ensure correctness. |
- int document_cookie; |
- |
- // Warning: do not compare document_cookie. |
- bool Equals(const ViewMsg_Print_Params& rhs) const { |
- return printable_size == rhs.printable_size && |
- dpi == rhs.dpi && |
- min_shrink == rhs.min_shrink && |
- max_shrink == rhs.max_shrink && |
- desired_dpi == rhs.desired_dpi; |
+template <> |
+struct ParamTraits<WebKit::WebScreenInfo> { |
+ typedef WebKit::WebScreenInfo param_type; |
+ static void Write(Message* m, const param_type& p) { |
+ WriteParam(m, p.depth); |
+ WriteParam(m, p.depthPerComponent); |
+ WriteParam(m, p.isMonochrome); |
+ WriteParam(m, p.rect); |
+ WriteParam(m, p.availableRect); |
} |
+ static bool Read(const Message* m, void** iter, param_type* p) { |
+ return |
+ ReadParam(m, iter, &p->depth) && |
+ ReadParam(m, iter, &p->depthPerComponent) && |
+ ReadParam(m, iter, &p->isMonochrome) && |
+ ReadParam(m, iter, &p->rect) && |
+ ReadParam(m, iter, &p->availableRect); |
+ } |
+ static void Log(const param_type& p, std::wstring* l) { |
+ l->append(L"("); |
+ LogParam(p.depth, l); |
+ l->append(L", "); |
+ LogParam(p.depthPerComponent, l); |
+ l->append(L", "); |
+ LogParam(p.isMonochrome, l); |
+ l->append(L", "); |
+ LogParam(p.rect, l); |
+ l->append(L", "); |
+ LogParam(p.availableRect, l); |
+ l->append(L")"); |
+ } |
}; |
-struct ViewMsg_PrintPage_Params { |
- // Parameters to render the page as a printed page. It must always be the same |
- // value for all the document. |
- ViewMsg_Print_Params params; |
- |
- // The page number is the indicator of the square that should be rendered |
- // according to the layout specified in ViewMsg_Print_Params. |
- int page_number; |
-}; |
- |
-struct ViewMsg_PrintPages_Params { |
- // Parameters to render the page as a printed page. It must always be the same |
- // value for all the document. |
- ViewMsg_Print_Params params; |
- |
- // If empty, this means a request to render all the printed pages. |
- std::vector<int> pages; |
-}; |
- |
-// Parameters to describe a rendered page. |
-struct ViewHostMsg_DidPrintPage_Params { |
- // A shared memory handle to the EMF data. This data can be quite large so a |
- // memory map needs to be used. |
- base::SharedMemoryHandle emf_data_handle; |
- |
- // Size of the EMF data. |
- unsigned data_size; |
- |
- // Cookie for the document to ensure correctness. |
- int document_cookie; |
- |
- // Page number. |
- int page_number; |
- |
- // Shrink factor used to render this page. |
- double actual_shrink; |
-}; |
- |
-// The first parameter for the ViewHostMsg_ImeUpdateStatus message. |
-enum ViewHostMsg_ImeControl { |
- IME_DISABLE = 0, |
- IME_MOVE_WINDOWS, |
- IME_COMPLETE_COMPOSITION, |
-}; |
- |
-// Parameters for creating an audio output stream. |
-struct ViewHostMsg_Audio_CreateStream { |
- // Format request for the stream. |
- AudioManager::Format format; |
- |
- // Number of channels. |
- int channels; |
- |
- // Sampling rate (frequency) of the output stream. |
- int sample_rate; |
- |
- // Number of bits per sample; |
- int bits_per_sample; |
- |
- // Number of bytes per packet. |
- size_t packet_size; |
-}; |
- |
-namespace IPC { |
- |
template <> |
struct ParamTraits<WebKit::WebString> { |
typedef WebKit::WebString param_type; |
@@ -432,121 +140,29 @@ |
}; |
template <> |
-struct ParamTraits<ResourceType::Type> { |
- typedef ResourceType::Type param_type; |
+struct ParamTraits<WebKit::WebFindInPageRequest> { |
+ typedef WebKit::WebFindInPageRequest param_type; |
static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p); |
+ WriteParam(m, p.identifier); |
+ WriteParam(m, p.text); |
+ WriteParam(m, p.forward); |
+ WriteParam(m, p.matchCase); |
+ WriteParam(m, p.findNext); |
} |
static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type) || !ResourceType::ValidType(type)) |
- return false; |
- *p = ResourceType::FromInt(type); |
- return true; |
+ return |
+ ReadParam(m, iter, &p->identifier) && |
+ ReadParam(m, iter, &p->text) && |
+ ReadParam(m, iter, &p->forward) && |
+ ReadParam(m, iter, &p->matchCase) && |
+ ReadParam(m, iter, &p->findNext); |
} |
static void Log(const param_type& p, std::wstring* l) { |
- std::wstring type; |
- switch (p) { |
- case ResourceType::MAIN_FRAME: |
- type = L"MAIN_FRAME"; |
- break; |
- case ResourceType::SUB_FRAME: |
- type = L"SUB_FRAME"; |
- break; |
- case ResourceType::SUB_RESOURCE: |
- type = L"SUB_RESOURCE"; |
- break; |
- case ResourceType::OBJECT: |
- type = L"OBJECT"; |
- break; |
- case ResourceType::MEDIA: |
- type = L"MEDIA"; |
- break; |
- default: |
- type = L"UNKNOWN"; |
- break; |
- } |
- |
- LogParam(type, l); |
+ l->append(L"<FindInPageRequest>"); |
} |
}; |
template <> |
-struct ParamTraits<FilterPolicy::Type> { |
- typedef FilterPolicy::Type param_type; |
- static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type) || !FilterPolicy::ValidType(type)) |
- return false; |
- *p = FilterPolicy::FromInt(type); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring type; |
- switch (p) { |
- case FilterPolicy::DONT_FILTER: |
- type = L"DONT_FILTER"; |
- break; |
- case FilterPolicy::FILTER_ALL: |
- type = L"FILTER_ALL"; |
- break; |
- case FilterPolicy::FILTER_ALL_EXCEPT_IMAGES: |
- type = L"FILTER_ALL_EXCEPT_IMAGES"; |
- break; |
- default: |
- type = L"UNKNOWN"; |
- break; |
- } |
- |
- LogParam(type, l); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<ContextNode> { |
- typedef ContextNode param_type; |
- static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p.type); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type)) |
- return false; |
- *p = ContextNode(type); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring event = L""; |
- |
- if (!p.type) { |
- event.append(L"NONE"); |
- } else { |
- event.append(L"("); |
- if (p.type & ContextNode::PAGE) |
- event.append(L"PAGE|"); |
- if (p.type & ContextNode::FRAME) |
- event.append(L"FRAME|"); |
- if (p.type & ContextNode::LINK) |
- event.append(L"LINK|"); |
- if (p.type & ContextNode::IMAGE) |
- event.append(L"IMAGE|"); |
- if (p.type & ContextNode::SELECTION) |
- event.append(L"SELECTION|"); |
- if (p.type & ContextNode::EDITABLE) |
- event.append(L"EDITABLE|"); |
- if (p.type & ContextNode::MISSPELLED_WORD) |
- event.append(L"MISSPELLED_WORD|"); |
- event.append(L")"); |
- } |
- |
- LogParam(event, l); |
- } |
-}; |
- |
-template <> |
struct ParamTraits<WebKit::WebInputEvent::Type> { |
typedef WebKit::WebInputEvent::Type param_type; |
static void Write(Message* m, const param_type& p) { |
@@ -593,673 +209,10 @@ |
type = L"None"; |
break; |
} |
- |
LogParam(type, l); |
} |
}; |
-// 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<webkit_glue::WebAccessibility::InParams> { |
- typedef webkit_glue::WebAccessibility::InParams param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.object_id); |
- WriteParam(m, p.function_id); |
- WriteParam(m, p.child_id); |
- WriteParam(m, p.input_long1); |
- WriteParam(m, p.input_long2); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->object_id) && |
- ReadParam(m, iter, &p->function_id) && |
- ReadParam(m, iter, &p->child_id) && |
- ReadParam(m, iter, &p->input_long1) && |
- ReadParam(m, iter, &p->input_long2); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.object_id, l); |
- l->append(L", "); |
- LogParam(p.function_id, l); |
- l->append(L", "); |
- LogParam(p.child_id, l); |
- l->append(L", "); |
- LogParam(p.input_long1, l); |
- l->append(L", "); |
- LogParam(p.input_long2, l); |
- l->append(L")"); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<webkit_glue::WebAccessibility::OutParams> { |
- typedef webkit_glue::WebAccessibility::OutParams param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.object_id); |
- WriteParam(m, p.output_long1); |
- WriteParam(m, p.output_long2); |
- WriteParam(m, p.output_long3); |
- WriteParam(m, p.output_long4); |
- WriteParam(m, p.output_string); |
- WriteParam(m, p.return_code); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->object_id) && |
- ReadParam(m, iter, &p->output_long1) && |
- ReadParam(m, iter, &p->output_long2) && |
- ReadParam(m, iter, &p->output_long3) && |
- ReadParam(m, iter, &p->output_long4) && |
- ReadParam(m, iter, &p->output_string) && |
- ReadParam(m, iter, &p->return_code); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.object_id, l); |
- l->append(L", "); |
- LogParam(p.output_long1, l); |
- l->append(L", "); |
- LogParam(p.output_long2, l); |
- l->append(L", "); |
- LogParam(p.output_long3, l); |
- l->append(L", "); |
- LogParam(p.output_long4, l); |
- l->append(L", "); |
- LogParam(p.output_string, l); |
- l->append(L", "); |
- LogParam(p.return_code, l); |
- l->append(L")"); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<ViewHostMsg_ImeControl> { |
- typedef ViewHostMsg_ImeControl param_type; |
- static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type)) |
- return false; |
- *p = static_cast<ViewHostMsg_ImeControl>(type); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring control; |
- switch (p) { |
- case IME_DISABLE: |
- control = L"IME_DISABLE"; |
- break; |
- case IME_MOVE_WINDOWS: |
- control = L"IME_MOVE_WINDOWS"; |
- break; |
- case IME_COMPLETE_COMPOSITION: |
- control = L"IME_COMPLETE_COMPOSITION"; |
- break; |
- default: |
- control = L"UNKNOWN"; |
- break; |
- } |
- |
- LogParam(control, l); |
- } |
-}; |
- |
-// Traits for ViewMsg_Navigate_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<ViewMsg_Navigate_Params> { |
- typedef ViewMsg_Navigate_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.page_id); |
- WriteParam(m, p.url); |
- WriteParam(m, p.referrer); |
- WriteParam(m, p.transition); |
- WriteParam(m, p.state); |
- WriteParam(m, p.reload); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->page_id) && |
- ReadParam(m, iter, &p->url) && |
- ReadParam(m, iter, &p->referrer) && |
- ReadParam(m, iter, &p->transition) && |
- ReadParam(m, iter, &p->state) && |
- ReadParam(m, iter, &p->reload); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.page_id, l); |
- l->append(L", "); |
- LogParam(p.url, l); |
- l->append(L", "); |
- LogParam(p.transition, l); |
- l->append(L", "); |
- LogParam(p.state, l); |
- l->append(L", "); |
- LogParam(p.reload, l); |
- l->append(L")"); |
- } |
-}; |
- |
-// Traits for PasswordForm_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<PasswordForm> { |
- typedef PasswordForm param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.signon_realm); |
- WriteParam(m, p.origin); |
- WriteParam(m, p.action); |
- WriteParam(m, p.submit_element); |
- WriteParam(m, p.username_element); |
- WriteParam(m, p.username_value); |
- WriteParam(m, p.password_element); |
- WriteParam(m, p.password_value); |
- WriteParam(m, p.old_password_element); |
- WriteParam(m, p.old_password_value); |
- WriteParam(m, p.ssl_valid); |
- WriteParam(m, p.preferred); |
- WriteParam(m, p.blacklisted_by_user); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->signon_realm) && |
- ReadParam(m, iter, &p->origin) && |
- ReadParam(m, iter, &p->action) && |
- ReadParam(m, iter, &p->submit_element) && |
- ReadParam(m, iter, &p->username_element) && |
- ReadParam(m, iter, &p->username_value) && |
- ReadParam(m, iter, &p->password_element) && |
- ReadParam(m, iter, &p->password_value) && |
- ReadParam(m, iter, &p->old_password_element) && |
- ReadParam(m, iter, &p->old_password_value) && |
- ReadParam(m, iter, &p->ssl_valid) && |
- ReadParam(m, iter, &p->preferred) && |
- ReadParam(m, iter, &p->blacklisted_by_user); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<PasswordForm>"); |
- } |
-}; |
- |
-// Traits for AutofillForm_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<AutofillForm> { |
- typedef AutofillForm param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.elements.size()); |
- for (std::vector<AutofillForm::Element>::const_iterator itr = |
- p.elements.begin(); |
- itr != p.elements.end(); |
- itr++) { |
- WriteParam(m, itr->name); |
- WriteParam(m, itr->value); |
- } |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- bool result = true; |
- size_t elements_size = 0; |
- result = result && ReadParam(m, iter, &elements_size); |
- p->elements.resize(elements_size); |
- for (size_t i = 0; i < elements_size; i++) { |
- result = result && ReadParam(m, iter, &(p->elements[i].name)); |
- result = result && ReadParam(m, iter, &(p->elements[i].value)); |
- } |
- return result; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<AutofillForm>"); |
- } |
-}; |
- |
-// Traits for ViewHostMsg_FrameNavigate_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<ViewHostMsg_FrameNavigate_Params> { |
- typedef ViewHostMsg_FrameNavigate_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.page_id); |
- WriteParam(m, p.url); |
- WriteParam(m, p.referrer); |
- WriteParam(m, p.transition); |
- WriteParam(m, p.redirects); |
- WriteParam(m, p.should_update_history); |
- WriteParam(m, p.searchable_form_url); |
- WriteParam(m, p.searchable_form_element_name); |
- WriteParam(m, p.searchable_form_encoding); |
- WriteParam(m, p.password_form); |
- WriteParam(m, p.security_info); |
- WriteParam(m, p.gesture); |
- WriteParam(m, p.contents_mime_type); |
- WriteParam(m, p.is_post); |
- WriteParam(m, p.is_content_filtered); |
- WriteParam(m, p.http_status_code); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->page_id) && |
- ReadParam(m, iter, &p->url) && |
- ReadParam(m, iter, &p->referrer) && |
- ReadParam(m, iter, &p->transition) && |
- ReadParam(m, iter, &p->redirects) && |
- ReadParam(m, iter, &p->should_update_history) && |
- ReadParam(m, iter, &p->searchable_form_url) && |
- ReadParam(m, iter, &p->searchable_form_element_name) && |
- ReadParam(m, iter, &p->searchable_form_encoding) && |
- ReadParam(m, iter, &p->password_form) && |
- ReadParam(m, iter, &p->security_info) && |
- ReadParam(m, iter, &p->gesture) && |
- ReadParam(m, iter, &p->contents_mime_type) && |
- ReadParam(m, iter, &p->is_post) && |
- ReadParam(m, iter, &p->is_content_filtered) && |
- ReadParam(m, iter, &p->http_status_code); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.page_id, l); |
- l->append(L", "); |
- LogParam(p.url, l); |
- l->append(L", "); |
- LogParam(p.referrer, l); |
- l->append(L", "); |
- LogParam(p.transition, l); |
- l->append(L", "); |
- LogParam(p.redirects, l); |
- l->append(L", "); |
- LogParam(p.should_update_history, l); |
- l->append(L", "); |
- LogParam(p.searchable_form_url, l); |
- l->append(L", "); |
- LogParam(p.searchable_form_element_name, l); |
- l->append(L", "); |
- LogParam(p.searchable_form_encoding, l); |
- l->append(L", "); |
- LogParam(p.password_form, l); |
- l->append(L", "); |
- LogParam(p.security_info, l); |
- l->append(L", "); |
- LogParam(p.gesture, l); |
- l->append(L", "); |
- LogParam(p.contents_mime_type, l); |
- l->append(L", "); |
- LogParam(p.is_post, l); |
- l->append(L", "); |
- LogParam(p.is_content_filtered, l); |
- l->append(L", "); |
- LogParam(p.http_status_code, l); |
- l->append(L")"); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<ContextMenuParams> { |
- typedef ContextMenuParams param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.node); |
- WriteParam(m, p.x); |
- WriteParam(m, p.y); |
- WriteParam(m, p.link_url); |
- WriteParam(m, p.image_url); |
- WriteParam(m, p.page_url); |
- WriteParam(m, p.frame_url); |
- WriteParam(m, p.selection_text); |
- WriteParam(m, p.misspelled_word); |
- WriteParam(m, p.dictionary_suggestions); |
- WriteParam(m, p.spellcheck_enabled); |
- WriteParam(m, p.edit_flags); |
- WriteParam(m, p.security_info); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->node) && |
- ReadParam(m, iter, &p->x) && |
- ReadParam(m, iter, &p->y) && |
- ReadParam(m, iter, &p->link_url) && |
- ReadParam(m, iter, &p->image_url) && |
- ReadParam(m, iter, &p->page_url) && |
- ReadParam(m, iter, &p->frame_url) && |
- ReadParam(m, iter, &p->selection_text) && |
- ReadParam(m, iter, &p->misspelled_word) && |
- ReadParam(m, iter, &p->dictionary_suggestions) && |
- ReadParam(m, iter, &p->spellcheck_enabled) && |
- ReadParam(m, iter, &p->edit_flags) && |
- ReadParam(m, iter, &p->security_info); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ContextMenuParams>"); |
- } |
-}; |
- |
-// Traits for ViewHostMsg_PaintRect_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<ViewHostMsg_PaintRect_Params> { |
- typedef ViewHostMsg_PaintRect_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.bitmap); |
- WriteParam(m, p.bitmap_rect); |
- WriteParam(m, p.view_size); |
- WriteParam(m, p.plugin_window_moves); |
- WriteParam(m, p.flags); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->bitmap) && |
- ReadParam(m, iter, &p->bitmap_rect) && |
- ReadParam(m, iter, &p->view_size) && |
- ReadParam(m, iter, &p->plugin_window_moves) && |
- ReadParam(m, iter, &p->flags); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.bitmap, l); |
- l->append(L", "); |
- LogParam(p.bitmap_rect, l); |
- l->append(L", "); |
- LogParam(p.view_size, l); |
- l->append(L", "); |
- LogParam(p.plugin_window_moves, l); |
- l->append(L", "); |
- LogParam(p.flags, l); |
- l->append(L")"); |
- } |
-}; |
- |
-// Traits for ViewHostMsg_ScrollRect_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<ViewHostMsg_ScrollRect_Params> { |
- typedef ViewHostMsg_ScrollRect_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.bitmap); |
- WriteParam(m, p.bitmap_rect); |
- WriteParam(m, p.dx); |
- WriteParam(m, p.dy); |
- WriteParam(m, p.clip_rect); |
- WriteParam(m, p.view_size); |
- WriteParam(m, p.plugin_window_moves); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->bitmap) && |
- ReadParam(m, iter, &p->bitmap_rect) && |
- ReadParam(m, iter, &p->dx) && |
- ReadParam(m, iter, &p->dy) && |
- ReadParam(m, iter, &p->clip_rect) && |
- ReadParam(m, iter, &p->view_size) && |
- ReadParam(m, iter, &p->plugin_window_moves); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.bitmap, l); |
- l->append(L", "); |
- LogParam(p.bitmap_rect, l); |
- l->append(L", "); |
- LogParam(p.dx, l); |
- l->append(L", "); |
- LogParam(p.dy, l); |
- l->append(L", "); |
- LogParam(p.clip_rect, l); |
- l->append(L", "); |
- LogParam(p.view_size, l); |
- l->append(L", "); |
- LogParam(p.plugin_window_moves, l); |
- l->append(L")"); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<WebPluginGeometry> { |
- typedef WebPluginGeometry param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.window); |
- WriteParam(m, p.window_rect); |
- WriteParam(m, p.clip_rect); |
- WriteParam(m, p.cutout_rects); |
- WriteParam(m, p.visible); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->window) && |
- ReadParam(m, iter, &p->window_rect) && |
- ReadParam(m, iter, &p->clip_rect) && |
- ReadParam(m, iter, &p->cutout_rects) && |
- ReadParam(m, iter, &p->visible); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.window, l); |
- l->append(L", "); |
- LogParam(p.window_rect, l); |
- l->append(L", "); |
- LogParam(p.clip_rect, l); |
- l->append(L", "); |
- LogParam(p.cutout_rects, l); |
- l->append(L", "); |
- LogParam(p.visible, l); |
- l->append(L")"); |
- } |
-}; |
- |
-// Traits for ViewMsg_GetPlugins_Reply structure to pack/unpack. |
-template <> |
-struct ParamTraits<WebPluginMimeType> { |
- typedef WebPluginMimeType param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.mime_type); |
- WriteParam(m, p.file_extensions); |
- WriteParam(m, p.description); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ReadParam(m, iter, &r->mime_type) && |
- ReadParam(m, iter, &r->file_extensions) && |
- ReadParam(m, iter, &r->description); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.mime_type, l); |
- l->append(L", "); |
- LogParam(p.file_extensions, l); |
- l->append(L", "); |
- LogParam(p.description, l); |
- l->append(L")"); |
- } |
-}; |
- |
- |
-template <> |
-struct ParamTraits<WebPluginInfo> { |
- typedef WebPluginInfo param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.name); |
- WriteParam(m, p.path); |
- WriteParam(m, p.version); |
- WriteParam(m, p.desc); |
- WriteParam(m, p.mime_types); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ReadParam(m, iter, &r->name) && |
- ReadParam(m, iter, &r->path) && |
- ReadParam(m, iter, &r->version) && |
- ReadParam(m, iter, &r->desc) && |
- ReadParam(m, iter, &r->mime_types); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.name, l); |
- l->append(L", "); |
- l->append(L", "); |
- LogParam(p.path, l); |
- l->append(L", "); |
- LogParam(p.version, l); |
- l->append(L", "); |
- LogParam(p.desc, l); |
- l->append(L", "); |
- LogParam(p.mime_types, l); |
- l->append(L")"); |
- } |
-}; |
- |
-// Traits for ViewMsg_UploadFile_Params structure to pack/unpack. |
-template <> |
-struct ParamTraits<ViewMsg_UploadFile_Params> { |
- typedef ViewMsg_UploadFile_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.file_path); |
- WriteParam(m, p.form); |
- WriteParam(m, p.file); |
- WriteParam(m, p.submit); |
- WriteParam(m, p.other_values); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->file_path) && |
- ReadParam(m, iter, &p->form) && |
- ReadParam(m, iter, &p->file) && |
- ReadParam(m, iter, &p->submit) && |
- ReadParam(m, iter, &p->other_values); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ViewMsg_UploadFile_Params>"); |
- } |
-}; |
- |
-// Traits for net::UploadData::Element. |
-template <> |
-struct ParamTraits<net::UploadData::Element> { |
- typedef net::UploadData::Element param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, static_cast<int>(p.type())); |
- if (p.type() == net::UploadData::TYPE_BYTES) { |
- m->WriteData(&p.bytes()[0], static_cast<int>(p.bytes().size())); |
- } else { |
- WriteParam(m, p.file_path()); |
- WriteParam(m, p.file_range_offset()); |
- WriteParam(m, p.file_range_length()); |
- } |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- int type; |
- if (!ReadParam(m, iter, &type)) |
- return false; |
- if (type == net::UploadData::TYPE_BYTES) { |
- const char* data; |
- int len; |
- if (!m->ReadData(iter, &data, &len)) |
- return false; |
- r->SetToBytes(data, len); |
- } else { |
- DCHECK(type == net::UploadData::TYPE_FILE); |
- std::wstring file_path; |
- uint64 offset, length; |
- if (!ReadParam(m, iter, &file_path)) |
- return false; |
- if (!ReadParam(m, iter, &offset)) |
- return false; |
- if (!ReadParam(m, iter, &length)) |
- return false; |
- r->SetToFilePathRange(file_path, offset, length); |
- } |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<net::UploadData::Element>"); |
- } |
-}; |
- |
-// Traits for net::UploadData. |
-template <> |
-struct ParamTraits<scoped_refptr<net::UploadData> > { |
- typedef scoped_refptr<net::UploadData> param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.get() != NULL); |
- if (p) { |
- WriteParam(m, p->elements()); |
- WriteParam(m, p->identifier()); |
- } |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- bool has_object; |
- if (!ReadParam(m, iter, &has_object)) |
- return false; |
- if (!has_object) |
- return true; |
- std::vector<net::UploadData::Element> elements; |
- if (!ReadParam(m, iter, &elements)) |
- return false; |
- int identifier; |
- if (!ReadParam(m, iter, &identifier)) |
- return false; |
- *r = new net::UploadData; |
- (*r)->swap_elements(&elements); |
- (*r)->set_identifier(identifier); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<net::UploadData>"); |
- } |
-}; |
- |
// Traits for WebKit::WebCache::UsageStats |
template <> |
struct ParamTraits<WebKit::WebCache::UsageStats> { |
@@ -1337,681 +290,6 @@ |
} |
}; |
-// Traits for PasswordFormDomManager::FillData. |
-template <> |
-struct ParamTraits<PasswordFormDomManager::FillData> { |
- typedef PasswordFormDomManager::FillData param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.basic_data); |
- WriteParam(m, p.additional_logins); |
- WriteParam(m, p.wait_for_username); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ReadParam(m, iter, &r->basic_data) && |
- ReadParam(m, iter, &r->additional_logins) && |
- ReadParam(m, iter, &r->wait_for_username); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<PasswordFormDomManager::FillData>"); |
- } |
-}; |
- |
-template<> |
-struct ParamTraits<NavigationGesture> { |
- typedef NavigationGesture param_type; |
- static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type)) |
- return false; |
- *p = static_cast<NavigationGesture>(type); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring event; |
- switch (p) { |
- case NavigationGestureUser: |
- event = L"GESTURE_USER"; |
- break; |
- case NavigationGestureAuto: |
- event = L"GESTURE_AUTO"; |
- break; |
- default: |
- event = L"GESTURE_UNKNOWN"; |
- break; |
- } |
- LogParam(event, l); |
- } |
-}; |
- |
-// Traits for ViewHostMsg_Resource_Request |
-template <> |
-struct ParamTraits<ViewHostMsg_Resource_Request> { |
- typedef ViewHostMsg_Resource_Request param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.method); |
- WriteParam(m, p.url); |
- WriteParam(m, p.policy_url); |
- WriteParam(m, p.referrer); |
- WriteParam(m, p.frame_origin); |
- WriteParam(m, p.main_frame_origin); |
- WriteParam(m, p.headers); |
- WriteParam(m, p.default_mime_type); |
- WriteParam(m, p.load_flags); |
- WriteParam(m, p.origin_pid); |
- WriteParam(m, p.resource_type); |
- WriteParam(m, p.request_context); |
- WriteParam(m, p.upload_data); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ReadParam(m, iter, &r->method) && |
- ReadParam(m, iter, &r->url) && |
- ReadParam(m, iter, &r->policy_url) && |
- ReadParam(m, iter, &r->referrer) && |
- ReadParam(m, iter, &r->frame_origin) && |
- ReadParam(m, iter, &r->main_frame_origin) && |
- ReadParam(m, iter, &r->headers) && |
- ReadParam(m, iter, &r->default_mime_type) && |
- ReadParam(m, iter, &r->load_flags) && |
- ReadParam(m, iter, &r->origin_pid) && |
- ReadParam(m, iter, &r->resource_type) && |
- ReadParam(m, iter, &r->request_context) && |
- ReadParam(m, iter, &r->upload_data); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.method, l); |
- l->append(L", "); |
- LogParam(p.url, l); |
- l->append(L", "); |
- LogParam(p.referrer, l); |
- l->append(L", "); |
- LogParam(p.frame_origin, l); |
- l->append(L", "); |
- LogParam(p.main_frame_origin, l); |
- l->append(L", "); |
- LogParam(p.default_mime_type, l); |
- l->append(L", "); |
- LogParam(p.load_flags, l); |
- l->append(L", "); |
- LogParam(p.origin_pid, l); |
- l->append(L", "); |
- LogParam(p.resource_type, l); |
- l->append(L", "); |
- LogParam(p.request_context, l); |
- l->append(L")"); |
- } |
-}; |
- |
-// Traits for URLRequestStatus |
-template <> |
-struct ParamTraits<URLRequestStatus> { |
- typedef URLRequestStatus param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, static_cast<int>(p.status())); |
- WriteParam(m, p.os_error()); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- int status, os_error; |
- if (!ReadParam(m, iter, &status) || |
- !ReadParam(m, iter, &os_error)) |
- return false; |
- r->set_status(static_cast<URLRequestStatus::Status>(status)); |
- r->set_os_error(os_error); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring status; |
- switch (p.status()) { |
- case URLRequestStatus::SUCCESS: |
- status = L"SUCCESS"; |
- break; |
- case URLRequestStatus::IO_PENDING: |
- status = L"IO_PENDING "; |
- break; |
- case URLRequestStatus::HANDLED_EXTERNALLY: |
- status = L"HANDLED_EXTERNALLY"; |
- break; |
- case URLRequestStatus::CANCELED: |
- status = L"CANCELED"; |
- break; |
- case URLRequestStatus::FAILED: |
- status = L"FAILED"; |
- break; |
- default: |
- status = L"UNKNOWN"; |
- break; |
- } |
- if (p.status() == URLRequestStatus::FAILED) |
- l->append(L"("); |
- |
- LogParam(status, l); |
- |
- if (p.status() == URLRequestStatus::FAILED) { |
- l->append(L", "); |
- LogParam(p.os_error(), l); |
- l->append(L")"); |
- } |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<scoped_refptr<net::HttpResponseHeaders> > { |
- typedef scoped_refptr<net::HttpResponseHeaders> param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.get() != NULL); |
- if (p) { |
- // Do not disclose Set-Cookie headers over IPC. |
- p->Persist(m, net::HttpResponseHeaders::PERSIST_SANS_COOKIES); |
- } |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- bool has_object; |
- if (!ReadParam(m, iter, &has_object)) |
- return false; |
- if (has_object) |
- *r = new net::HttpResponseHeaders(*m, iter); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<HttpResponseHeaders>"); |
- } |
-}; |
- |
-// Traits for webkit_glue::ResourceLoaderBridge::ResponseInfo |
-template <> |
-struct ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo> { |
- typedef webkit_glue::ResourceLoaderBridge::ResponseInfo param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.request_time); |
- WriteParam(m, p.response_time); |
- WriteParam(m, p.headers); |
- WriteParam(m, p.mime_type); |
- WriteParam(m, p.charset); |
- WriteParam(m, p.security_info); |
- WriteParam(m, p.content_length); |
- WriteParam(m, p.response_data_file); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ReadParam(m, iter, &r->request_time) && |
- ReadParam(m, iter, &r->response_time) && |
- ReadParam(m, iter, &r->headers) && |
- ReadParam(m, iter, &r->mime_type) && |
- ReadParam(m, iter, &r->charset) && |
- ReadParam(m, iter, &r->security_info) && |
- ReadParam(m, iter, &r->content_length) && |
- ReadParam(m, iter, &r->response_data_file); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"("); |
- LogParam(p.request_time, l); |
- l->append(L", "); |
- LogParam(p.response_time, l); |
- l->append(L", "); |
- LogParam(p.headers, l); |
- l->append(L", "); |
- LogParam(p.mime_type, l); |
- l->append(L", "); |
- LogParam(p.charset, l); |
- l->append(L", "); |
- LogParam(p.security_info, l); |
- l->append(L")"); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<ResourceResponseHead> { |
- typedef ResourceResponseHead param_type; |
- static void Write(Message* m, const param_type& p) { |
- ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Write(m, p); |
- WriteParam(m, p.status); |
- WriteParam(m, p.filter_policy); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Read(m, |
- iter, |
- r) && |
- ReadParam(m, iter, &r->status) && |
- ReadParam(m, iter, &r->filter_policy); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- // log more? |
- ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<SyncLoadResult> { |
- typedef SyncLoadResult param_type; |
- static void Write(Message* m, const param_type& p) { |
- ParamTraits<ResourceResponseHead>::Write(m, p); |
- WriteParam(m, p.final_url); |
- WriteParam(m, p.data); |
- } |
- static bool Read(const Message* m, void** iter, param_type* r) { |
- return |
- ParamTraits<ResourceResponseHead>::Read(m, iter, r) && |
- ReadParam(m, iter, &r->final_url) && |
- ReadParam(m, iter, &r->data); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- // log more? |
- ParamTraits<webkit_glue::ResourceLoaderBridge::ResponseInfo>::Log(p, l); |
- } |
-}; |
- |
-// Traits for FormData structure to pack/unpack. |
-template <> |
-struct ParamTraits<FormData> { |
- typedef FormData param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.origin); |
- WriteParam(m, p.action); |
- WriteParam(m, p.elements); |
- WriteParam(m, p.values); |
- WriteParam(m, p.submit); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->origin) && |
- ReadParam(m, iter, &p->action) && |
- ReadParam(m, iter, &p->elements) && |
- ReadParam(m, iter, &p->values) && |
- ReadParam(m, iter, &p->submit); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<FormData>"); |
- } |
-}; |
- |
-// Traits for ViewMsg_Print_Params |
-template <> |
-struct ParamTraits<ViewMsg_Print_Params> { |
- typedef ViewMsg_Print_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.printable_size); |
- WriteParam(m, p.dpi); |
- WriteParam(m, p.min_shrink); |
- WriteParam(m, p.max_shrink); |
- WriteParam(m, p.desired_dpi); |
- WriteParam(m, p.document_cookie); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return ReadParam(m, iter, &p->printable_size) && |
- ReadParam(m, iter, &p->dpi) && |
- ReadParam(m, iter, &p->min_shrink) && |
- ReadParam(m, iter, &p->max_shrink) && |
- ReadParam(m, iter, &p->desired_dpi) && |
- ReadParam(m, iter, &p->document_cookie); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ViewMsg_Print_Params>"); |
- } |
-}; |
- |
-// Traits for ViewMsg_PrintPage_Params |
-template <> |
-struct ParamTraits<ViewMsg_PrintPage_Params> { |
- typedef ViewMsg_PrintPage_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.params); |
- WriteParam(m, p.page_number); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return ReadParam(m, iter, &p->params) && |
- ReadParam(m, iter, &p->page_number); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ViewMsg_PrintPage_Params>"); |
- } |
-}; |
- |
-// Traits for ViewMsg_PrintPages_Params |
-template <> |
-struct ParamTraits<ViewMsg_PrintPages_Params> { |
- typedef ViewMsg_PrintPages_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.params); |
- WriteParam(m, p.pages); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return ReadParam(m, iter, &p->params) && |
- ReadParam(m, iter, &p->pages); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ViewMsg_PrintPages_Params>"); |
- } |
-}; |
- |
-// Traits for ViewHostMsg_DidPrintPage_Params |
-template <> |
-struct ParamTraits<ViewHostMsg_DidPrintPage_Params> { |
- typedef ViewHostMsg_DidPrintPage_Params param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.emf_data_handle); |
- WriteParam(m, p.data_size); |
- WriteParam(m, p.document_cookie); |
- WriteParam(m, p.page_number); |
- WriteParam(m, p.actual_shrink); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return ReadParam(m, iter, &p->emf_data_handle) && |
- ReadParam(m, iter, &p->data_size) && |
- ReadParam(m, iter, &p->document_cookie) && |
- ReadParam(m, iter, &p->page_number) && |
- ReadParam(m, iter, &p->actual_shrink); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ViewHostMsg_DidPrintPage_Params>"); |
- } |
-}; |
- |
-// Traits for WebPreferences structure to pack/unpack. |
-template <> |
-struct ParamTraits<WebPreferences> { |
- typedef WebPreferences param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.standard_font_family); |
- WriteParam(m, p.fixed_font_family); |
- WriteParam(m, p.serif_font_family); |
- WriteParam(m, p.sans_serif_font_family); |
- WriteParam(m, p.cursive_font_family); |
- WriteParam(m, p.fantasy_font_family); |
- WriteParam(m, p.default_font_size); |
- WriteParam(m, p.default_fixed_font_size); |
- WriteParam(m, p.minimum_font_size); |
- WriteParam(m, p.minimum_logical_font_size); |
- WriteParam(m, p.default_encoding); |
- WriteParam(m, p.javascript_enabled); |
- WriteParam(m, p.web_security_enabled); |
- WriteParam(m, p.javascript_can_open_windows_automatically); |
- WriteParam(m, p.loads_images_automatically); |
- WriteParam(m, p.plugins_enabled); |
- WriteParam(m, p.dom_paste_enabled); |
- WriteParam(m, p.developer_extras_enabled); |
- WriteParam(m, p.shrinks_standalone_images_to_fit); |
- WriteParam(m, p.uses_universal_detector); |
- WriteParam(m, p.text_areas_are_resizable); |
- WriteParam(m, p.java_enabled); |
- WriteParam(m, p.user_style_sheet_enabled); |
- WriteParam(m, p.user_style_sheet_location); |
- WriteParam(m, p.uses_page_cache); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->standard_font_family) && |
- ReadParam(m, iter, &p->fixed_font_family) && |
- ReadParam(m, iter, &p->serif_font_family) && |
- ReadParam(m, iter, &p->sans_serif_font_family) && |
- ReadParam(m, iter, &p->cursive_font_family) && |
- ReadParam(m, iter, &p->fantasy_font_family) && |
- ReadParam(m, iter, &p->default_font_size) && |
- ReadParam(m, iter, &p->default_fixed_font_size) && |
- ReadParam(m, iter, &p->minimum_font_size) && |
- ReadParam(m, iter, &p->minimum_logical_font_size) && |
- ReadParam(m, iter, &p->default_encoding) && |
- ReadParam(m, iter, &p->javascript_enabled) && |
- ReadParam(m, iter, &p->web_security_enabled) && |
- ReadParam(m, iter, &p->javascript_can_open_windows_automatically) && |
- ReadParam(m, iter, &p->loads_images_automatically) && |
- ReadParam(m, iter, &p->plugins_enabled) && |
- ReadParam(m, iter, &p->dom_paste_enabled) && |
- ReadParam(m, iter, &p->developer_extras_enabled) && |
- ReadParam(m, iter, &p->shrinks_standalone_images_to_fit) && |
- ReadParam(m, iter, &p->uses_universal_detector) && |
- ReadParam(m, iter, &p->text_areas_are_resizable) && |
- ReadParam(m, iter, &p->java_enabled) && |
- ReadParam(m, iter, &p->user_style_sheet_enabled) && |
- ReadParam(m, iter, &p->user_style_sheet_location) && |
- ReadParam(m, iter, &p->uses_page_cache); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<WebPreferences>"); |
- } |
-}; |
- |
-// Traits for WebDropData |
-template <> |
-struct ParamTraits<WebDropData> { |
- typedef WebDropData param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.identity); |
- WriteParam(m, p.url); |
- WriteParam(m, p.url_title); |
- WriteParam(m, p.file_extension); |
- WriteParam(m, p.filenames); |
- WriteParam(m, p.plain_text); |
- WriteParam(m, p.text_html); |
- WriteParam(m, p.html_base_url); |
- WriteParam(m, p.file_description_filename); |
- WriteParam(m, p.file_contents); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->identity) && |
- ReadParam(m, iter, &p->url) && |
- ReadParam(m, iter, &p->url_title) && |
- ReadParam(m, iter, &p->file_extension) && |
- ReadParam(m, iter, &p->filenames) && |
- ReadParam(m, iter, &p->plain_text) && |
- ReadParam(m, iter, &p->text_html) && |
- ReadParam(m, iter, &p->html_base_url) && |
- ReadParam(m, iter, &p->file_description_filename) && |
- ReadParam(m, iter, &p->file_contents); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<WebDropData>"); |
- } |
-}; |
- |
-// Traits for ScreenInfo |
-template <> |
-struct ParamTraits<webkit_glue::ScreenInfo> { |
- typedef webkit_glue::ScreenInfo param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.depth); |
- WriteParam(m, p.depth_per_component); |
- WriteParam(m, p.is_monochrome); |
- WriteParam(m, p.rect); |
- WriteParam(m, p.available_rect); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->depth) && |
- ReadParam(m, iter, &p->depth_per_component) && |
- ReadParam(m, iter, &p->is_monochrome) && |
- ReadParam(m, iter, &p->rect) && |
- ReadParam(m, iter, &p->available_rect); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<webkit_glue::ScreenInfo>"); |
- } |
-}; |
- |
-template<> |
-struct ParamTraits<ModalDialogEvent> { |
- typedef ModalDialogEvent param_type; |
-#if defined(OS_WIN) |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.event); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return ReadParam(m, iter, &p->event); |
- } |
-#else |
- static void Write(Message* m, const param_type& p) { |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return true; |
- } |
-#endif |
- |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ModalDialogEvent>"); |
- } |
-}; |
- |
-// Traits for AudioManager::Format. |
-template <> |
-struct ParamTraits<AudioManager::Format> { |
- typedef AudioManager::Format param_type; |
- static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type)) |
- return false; |
- *p = static_cast<AudioManager::Format>(type); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring format; |
- switch (p) { |
- case AudioManager::AUDIO_PCM_LINEAR: |
- format = L"AUDIO_PCM_LINEAR"; |
- break; |
- case AudioManager::AUDIO_PCM_DELTA: |
- format = L"AUDIO_PCM_DELTA"; |
- break; |
- case AudioManager::AUDIO_MOCK: |
- format = L"AUDIO_MOCK"; |
- break; |
- default: |
- format = L"AUDIO_LAST_FORMAT"; |
- break; |
- } |
- LogParam(format, l); |
- } |
-}; |
- |
-// Traits for ViewHostMsg_Audio_CreateStream. |
-template <> |
-struct ParamTraits<ViewHostMsg_Audio_CreateStream> { |
- typedef ViewHostMsg_Audio_CreateStream param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.format); |
- WriteParam(m, p.channels); |
- WriteParam(m, p.sample_rate); |
- WriteParam(m, p.bits_per_sample); |
- WriteParam(m, p.packet_size); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->format) && |
- ReadParam(m, iter, &p->channels) && |
- ReadParam(m, iter, &p->sample_rate) && |
- ReadParam(m, iter, &p->bits_per_sample) && |
- ReadParam(m, iter, &p->packet_size); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<ViewHostMsg_Audio_CreateStream>("); |
- LogParam(p.format, l); |
- l->append(L", "); |
- LogParam(p.channels, l); |
- l->append(L", "); |
- LogParam(p.sample_rate, l); |
- l->append(L", "); |
- LogParam(p.bits_per_sample, l); |
- l->append(L", "); |
- LogParam(p.packet_size, l); |
- l->append(L")"); |
- } |
-}; |
- |
- |
-#if defined(OS_POSIX) |
- |
-// TODO(port): this shouldn't exist. However, the plugin stuff is really using |
-// HWNDS (NativeView), and making Windows calls based on them. I've not figured |
-// out the deal with plugins yet. |
-template <> |
-struct ParamTraits<gfx::NativeView> { |
- typedef gfx::NativeView param_type; |
- static void Write(Message* m, const param_type& p) { |
- NOTIMPLEMENTED(); |
- } |
- |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- NOTIMPLEMENTED(); |
- *p = NULL; |
- return true; |
- } |
- |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(StringPrintf(L"<gfx::NativeView>")); |
- } |
-}; |
- |
-#endif // defined(OS_POSIX) |
- |
-template <> |
-struct ParamTraits<AudioOutputStream::State> { |
- typedef AudioOutputStream::State param_type; |
- static void Write(Message* m, const param_type& p) { |
- m->WriteInt(p); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- int type; |
- if (!m->ReadInt(iter, &type)) |
- return false; |
- *p = static_cast<AudioOutputStream::State>(type); |
- return true; |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- std::wstring state; |
- switch (p) { |
- case AudioOutputStream::STATE_PAUSED: |
- state = L"AudioOutputStream::STATE_PAUSED"; |
- break; |
- case AudioOutputStream::STATE_STARTED: |
- state = L"AudioOutputStream::STATE_STARTED"; |
- break; |
- case AudioOutputStream::STATE_ERROR: |
- state = L"AudioOutputStream::STATE_ERROR"; |
- break; |
- default: |
- state = L"UNKNOWN"; |
- break; |
- } |
- |
- LogParam(state, l); |
- } |
-}; |
- |
-template <> |
-struct ParamTraits<WebKit::WebFindInPageRequest> { |
- typedef WebKit::WebFindInPageRequest param_type; |
- static void Write(Message* m, const param_type& p) { |
- WriteParam(m, p.identifier); |
- WriteParam(m, p.text); |
- WriteParam(m, p.forward); |
- WriteParam(m, p.matchCase); |
- WriteParam(m, p.findNext); |
- } |
- static bool Read(const Message* m, void** iter, param_type* p) { |
- return |
- ReadParam(m, iter, &p->identifier) && |
- ReadParam(m, iter, &p->text) && |
- ReadParam(m, iter, &p->forward) && |
- ReadParam(m, iter, &p->matchCase) && |
- ReadParam(m, iter, &p->findNext); |
- } |
- static void Log(const param_type& p, std::wstring* l) { |
- l->append(L"<FindInPageRequest>"); |
- } |
-}; |
- |
} // namespace IPC |
- |
-#define MESSAGES_INTERNAL_FILE "chrome/common/render_messages_internal.h" |
-#include "chrome/common/ipc_message_macros.h" |
- |
-#endif // CHROME_COMMON_RENDER_MESSAGES_H_ |
+#endif // CHROME_COMMON_WEBKIT_PARAM_TRAITS_H_ |
Property changes on: chrome\common\webkit_param_traits.h |
___________________________________________________________________ |
Added: svn:mergeinfo |
Merged /branches/chrome_webkit_merge_branch/chrome/common/render_messages.h:r69-2775 |