| // Copyright (c) 2011 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. |
| |
| #include "chrome/common/common_param_traits.h" |
| #include "content/common/common_param_traits.h" |
| |
| #define IPC_MESSAGE_IMPL |
| #include "chrome/common/automation_messages.h" |
| |
| AutomationURLRequest::AutomationURLRequest() |
| : resource_type(0), |
| load_flags(0) { |
| } |
| |
| AutomationURLRequest::AutomationURLRequest( |
| const std::string& in_url, |
| const std::string& in_method, |
| const std::string& in_referrer, |
| const std::string& in_extra_request_headers, |
| scoped_refptr<net::UploadData> in_upload_data, |
| int in_resource_type, |
| int in_load_flags) |
| : url(in_url), |
| method(in_method), |
| referrer(in_referrer), |
| extra_request_headers(in_extra_request_headers), |
| upload_data(in_upload_data), |
| resource_type(in_resource_type), |
| load_flags(in_load_flags) { |
| } |
| |
| AutomationURLRequest::~AutomationURLRequest() {} |
| |
| AutomationURLResponse::AutomationURLResponse() |
| : content_length(0), |
| redirect_status(0) { |
| } |
| |
| AutomationURLResponse::AutomationURLResponse( |
| const std::string& in_mime_type, const std::string& in_headers, |
| int64 in_content_length, const base::Time& in_last_modified, |
| const std::string& in_redirect_url, int in_redirect_status, |
| const net::HostPortPair& host_socket_address) |
| : mime_type(in_mime_type), |
| headers(in_headers), |
| content_length(in_content_length), |
| last_modified(in_last_modified), |
| redirect_url(in_redirect_url), |
| redirect_status(in_redirect_status), |
| socket_address(host_socket_address) { |
| } |
| |
| |
| AutomationURLResponse::~AutomationURLResponse() {} |
| |
| ExternalTabSettings::ExternalTabSettings() |
| : parent(NULL), |
| dimensions(), |
| style(0), |
| is_incognito(false), |
| load_requests_via_automation(false), |
| handle_top_level_requests(false), |
| initial_url(), |
| referrer(), |
| infobars_enabled(false), |
| route_all_top_level_navigations(false) { |
| } |
| |
| ExternalTabSettings::ExternalTabSettings( |
| gfx::NativeWindow in_parent, |
| const gfx::Rect& in_dimensions, |
| unsigned int in_style, |
| bool in_is_incognito, |
| bool in_load_requests_via_automation, |
| bool in_handle_top_level_requests, |
| const GURL& in_initial_url, |
| const GURL& in_referrer, |
| bool in_infobars_enabled, |
| bool in_route_all_top_level_navigations) |
| : parent(in_parent), |
| dimensions(in_dimensions), |
| style(in_style), |
| is_incognito(in_is_incognito), |
| load_requests_via_automation(in_load_requests_via_automation), |
| handle_top_level_requests(in_handle_top_level_requests), |
| initial_url(in_initial_url), |
| referrer(in_referrer), |
| infobars_enabled(in_infobars_enabled), |
| route_all_top_level_navigations(in_route_all_top_level_navigations) { |
| } |
| |
| ExternalTabSettings::~ExternalTabSettings() {} |
| |
| NavigationInfo::NavigationInfo() |
| : navigation_type(0), |
| relative_offset(0), |
| navigation_index(0), |
| security_style(SECURITY_STYLE_UNKNOWN), |
| displayed_insecure_content(0), |
| ran_insecure_content(0) { |
| } |
| |
| NavigationInfo::NavigationInfo(int in_navigation_type, |
| int in_relative_offset, |
| int in_navigation_index, |
| const std::wstring& in_title, |
| const GURL& in_url, |
| const GURL& in_referrer, |
| SecurityStyle in_security_style, |
| bool in_displayed_insecure_content, |
| bool in_ran_insecure_content) |
| : navigation_type(in_navigation_type), |
| relative_offset(in_relative_offset), |
| navigation_index(in_navigation_index), |
| title(in_title), |
| url(in_url), |
| referrer(in_referrer), |
| security_style(in_security_style), |
| displayed_insecure_content(in_displayed_insecure_content), |
| ran_insecure_content(in_ran_insecure_content) { |
| } |
| |
| NavigationInfo::~NavigationInfo() {} |
| |
| MiniContextMenuParams::MiniContextMenuParams() |
| : screen_x(0), |
| screen_y(0) { |
| } |
| |
| MiniContextMenuParams::MiniContextMenuParams(int in_screen_x, |
| int in_screen_y, |
| const GURL& in_link_url, |
| const GURL& in_unfiltered_link_url, |
| const GURL& in_src_url, |
| const GURL& in_page_url, |
| const GURL& in_frame_url) |
| : screen_x(in_screen_x), |
| screen_y(in_screen_y), |
| link_url(in_link_url), |
| unfiltered_link_url(in_unfiltered_link_url), |
| src_url(in_src_url), |
| page_url(in_page_url), |
| frame_url(in_frame_url) { |
| } |
| |
| MiniContextMenuParams::~MiniContextMenuParams() {} |
| |
| AttachExternalTabParams::AttachExternalTabParams() |
| : cookie(0), |
| disposition(0), |
| user_gesture(false) { |
| } |
| |
| AttachExternalTabParams::AttachExternalTabParams( |
| uint64 in_cookie, |
| const GURL& in_url, |
| const gfx::Rect& in_dimensions, |
| int in_disposition, |
| bool in_user_gesture, |
| const std::string& in_profile_name) |
| : cookie(in_cookie), |
| url(in_url), |
| dimensions(in_dimensions), |
| disposition(in_disposition), |
| user_gesture(in_user_gesture), |
| profile_name(in_profile_name) { |
| } |
| |
| AttachExternalTabParams::~AttachExternalTabParams() {} |
| |
| namespace IPC { |
| |
| // static |
| void ParamTraits<AutomationMsg_Find_Params>::Write(Message* m, |
| const param_type& p) { |
| WriteParam(m, p.unused); |
| WriteParam(m, p.search_string); |
| WriteParam(m, p.forward); |
| WriteParam(m, p.match_case); |
| WriteParam(m, p.find_next); |
| } |
| |
| // static |
| bool ParamTraits<AutomationMsg_Find_Params>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return |
| ReadParam(m, iter, &p->unused) && |
| ReadParam(m, iter, &p->search_string) && |
| ReadParam(m, iter, &p->forward) && |
| ReadParam(m, iter, &p->match_case) && |
| ReadParam(m, iter, &p->find_next); |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_Find_Params>::Log(const param_type& p, |
| std::string* l) { |
| l->append("<AutomationMsg_Find_Params>"); |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_NavigationResponseValues>::Write( |
| Message* m, |
| const param_type& p) { |
| m->WriteInt(p); |
| } |
| |
| // static |
| bool ParamTraits<AutomationMsg_NavigationResponseValues>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| int type; |
| if (!m->ReadInt(iter, &type)) |
| return false; |
| *p = static_cast<AutomationMsg_NavigationResponseValues>(type); |
| return true; |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_NavigationResponseValues>::Log( |
| const param_type& p, std::string* l) { |
| std::string control; |
| switch (p) { |
| case AUTOMATION_MSG_NAVIGATION_ERROR: |
| control = "AUTOMATION_MSG_NAVIGATION_ERROR"; |
| break; |
| case AUTOMATION_MSG_NAVIGATION_SUCCESS: |
| control = "AUTOMATION_MSG_NAVIGATION_SUCCESS"; |
| break; |
| case AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED: |
| control = "AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED"; |
| break; |
| default: |
| control = "UNKNOWN"; |
| break; |
| } |
| |
| LogParam(control, l); |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_ExtensionResponseValues>::Write( |
| Message* m, |
| const param_type& p) { |
| m->WriteInt(p); |
| } |
| |
| // static |
| bool ParamTraits<AutomationMsg_ExtensionResponseValues>::Read( |
| const Message* m, |
| void** iter, |
| param_type* p) { |
| int type; |
| if (!m->ReadInt(iter, &type)) |
| return false; |
| *p = static_cast<AutomationMsg_ExtensionResponseValues>(type); |
| return true; |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_ExtensionResponseValues>::Log( |
| const param_type& p, |
| std::string* l) { |
| std::string control; |
| switch (p) { |
| case AUTOMATION_MSG_EXTENSION_INSTALL_SUCCEEDED: |
| control = "AUTOMATION_MSG_EXTENSION_INSTALL_SUCCEEDED"; |
| break; |
| case AUTOMATION_MSG_EXTENSION_INSTALL_FAILED: |
| control = "AUTOMATION_MSG_EXTENSION_INSTALL_FAILED"; |
| break; |
| default: |
| control = "UNKNOWN"; |
| break; |
| } |
| |
| LogParam(control, l); |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_ExtensionProperty>::Write(Message* m, |
| const param_type& p) { |
| m->WriteInt(p); |
| } |
| |
| // static |
| bool ParamTraits<AutomationMsg_ExtensionProperty>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| int type; |
| if (!m->ReadInt(iter, &type)) |
| return false; |
| *p = static_cast<AutomationMsg_ExtensionProperty>(type); |
| return true; |
| } |
| |
| // static |
| void ParamTraits<AutomationMsg_ExtensionProperty>::Log(const param_type& p, |
| std::string* l) { |
| std::string control; |
| switch (p) { |
| case AUTOMATION_MSG_EXTENSION_ID: |
| control = "AUTOMATION_MSG_EXTENSION_ID"; |
| break; |
| case AUTOMATION_MSG_EXTENSION_NAME: |
| control = "AUTOMATION_MSG_EXTENSION_NAME"; |
| break; |
| case AUTOMATION_MSG_EXTENSION_VERSION: |
| control = "AUTOMATION_MSG_EXTENSION_VERSION"; |
| break; |
| case AUTOMATION_MSG_EXTENSION_BROWSER_ACTION_INDEX: |
| control = "AUTOMATION_MSG_EXTENSION_BROWSER_ACTION_INDEX"; |
| break; |
| default: |
| control = "UNKNOWN"; |
| break; |
| } |
| |
| LogParam(control, l); |
| } |
| |
| // static |
| void ParamTraits<SecurityStyle>::Write(Message* m, const param_type& p) { |
| m->WriteInt(p); |
| } |
| |
| // static |
| bool ParamTraits<SecurityStyle>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| int type; |
| if (!m->ReadInt(iter, &type)) |
| return false; |
| *p = static_cast<SecurityStyle>(type); |
| return true; |
| } |
| |
| // static |
| void ParamTraits<SecurityStyle>::Log(const param_type& p, std::string* l) { |
| std::string control; |
| switch (p) { |
| case SECURITY_STYLE_UNKNOWN: |
| control = "SECURITY_STYLE_UNKNOWN"; |
| break; |
| case SECURITY_STYLE_UNAUTHENTICATED: |
| control = "SECURITY_STYLE_UNAUTHENTICATED"; |
| break; |
| case SECURITY_STYLE_AUTHENTICATION_BROKEN: |
| control = "SECURITY_STYLE_AUTHENTICATION_BROKEN"; |
| break; |
| case SECURITY_STYLE_AUTHENTICATED: |
| control = "SECURITY_STYLE_AUTHENTICATED"; |
| break; |
| default: |
| control = "UNKNOWN"; |
| break; |
| } |
| |
| LogParam(control, l); |
| } |
| |
| // static |
| void ParamTraits<PageType>::Write(Message* m, const param_type& p) { |
| m->WriteInt(p); |
| } |
| |
| // static |
| bool ParamTraits<PageType>::Read(const Message* m, void** iter, param_type* p) { |
| int type; |
| if (!m->ReadInt(iter, &type)) |
| return false; |
| *p = static_cast<PageType>(type); |
| return true; |
| } |
| |
| // static |
| void ParamTraits<PageType>::Log(const param_type& p, std::string* l) { |
| std::string control; |
| switch (p) { |
| case NORMAL_PAGE: |
| control = "NORMAL_PAGE"; |
| break; |
| case ERROR_PAGE: |
| control = "ERROR_PAGE"; |
| break; |
| case INTERSTITIAL_PAGE: |
| control = "INTERSTITIAL_PAGE"; |
| break; |
| default: |
| control = "UNKNOWN"; |
| break; |
| } |
| |
| LogParam(control, l); |
| } |
| |
| // static |
| void ParamTraits<AutomationURLRequest>::Write(Message* m, const param_type& p) { |
| WriteParam(m, p.url); |
| WriteParam(m, p.method); |
| WriteParam(m, p.referrer); |
| WriteParam(m, p.extra_request_headers); |
| WriteParam(m, p.upload_data); |
| WriteParam(m, p.resource_type); |
| WriteParam(m, p.load_flags); |
| } |
| |
| // static |
| bool ParamTraits<AutomationURLRequest>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return ReadParam(m, iter, &p->url) && |
| ReadParam(m, iter, &p->method) && |
| ReadParam(m, iter, &p->referrer) && |
| ReadParam(m, iter, &p->extra_request_headers) && |
| ReadParam(m, iter, &p->upload_data) && |
| ReadParam(m, iter, &p->resource_type) && |
| ReadParam(m, iter, &p->load_flags); |
| } |
| |
| // static |
| void ParamTraits<AutomationURLRequest>::Log(const param_type& p, |
| std::string* l) { |
| l->append("("); |
| LogParam(p.url, l); |
| l->append(", "); |
| LogParam(p.method, l); |
| l->append(", "); |
| LogParam(p.referrer, l); |
| l->append(", "); |
| LogParam(p.extra_request_headers, l); |
| l->append(", "); |
| LogParam(p.upload_data, l); |
| l->append(", "); |
| LogParam(p.resource_type, l); |
| l->append(", "); |
| LogParam(p.load_flags, l); |
| l->append(")"); |
| } |
| |
| // static |
| void ParamTraits<AutomationURLResponse>::Write(Message* m, |
| const param_type& p) { |
| WriteParam(m, p.mime_type); |
| WriteParam(m, p.headers); |
| WriteParam(m, p.content_length); |
| WriteParam(m, p.last_modified); |
| WriteParam(m, p.redirect_url); |
| WriteParam(m, p.redirect_status); |
| WriteParam(m, p.socket_address); |
| } |
| |
| // static |
| bool ParamTraits<AutomationURLResponse>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return ReadParam(m, iter, &p->mime_type) && |
| ReadParam(m, iter, &p->headers) && |
| ReadParam(m, iter, &p->content_length) && |
| ReadParam(m, iter, &p->last_modified) && |
| ReadParam(m, iter, &p->redirect_url) && |
| ReadParam(m, iter, &p->redirect_status) && |
| ReadParam(m, iter, &p->socket_address); |
| } |
| |
| // static |
| void ParamTraits<AutomationURLResponse>::Log(const param_type& p, |
| std::string* l) { |
| l->append("("); |
| LogParam(p.mime_type, l); |
| l->append(", "); |
| LogParam(p.headers, l); |
| l->append(", "); |
| LogParam(p.content_length, l); |
| l->append(", "); |
| LogParam(p.last_modified, l); |
| l->append(", "); |
| LogParam(p.redirect_url, l); |
| l->append(", "); |
| LogParam(p.redirect_status, l); |
| l->append(", "); |
| LogParam(p.socket_address, l); |
| l->append(")"); |
| } |
| |
| // static |
| void ParamTraits<ExternalTabSettings>::Write(Message* m, |
| const param_type& p) { |
| WriteParam(m, p.parent); |
| WriteParam(m, p.dimensions); |
| WriteParam(m, p.style); |
| WriteParam(m, p.is_incognito); |
| WriteParam(m, p.load_requests_via_automation); |
| WriteParam(m, p.handle_top_level_requests); |
| WriteParam(m, p.initial_url); |
| WriteParam(m, p.referrer); |
| WriteParam(m, p.infobars_enabled); |
| WriteParam(m, p.route_all_top_level_navigations); |
| } |
| |
| // static |
| bool ParamTraits<ExternalTabSettings>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return ReadParam(m, iter, &p->parent) && |
| ReadParam(m, iter, &p->dimensions) && |
| ReadParam(m, iter, &p->style) && |
| ReadParam(m, iter, &p->is_incognito) && |
| ReadParam(m, iter, &p->load_requests_via_automation) && |
| ReadParam(m, iter, &p->handle_top_level_requests) && |
| ReadParam(m, iter, &p->initial_url) && |
| ReadParam(m, iter, &p->referrer) && |
| ReadParam(m, iter, &p->infobars_enabled) && |
| ReadParam(m, iter, &p->route_all_top_level_navigations); |
| } |
| |
| // static |
| void ParamTraits<ExternalTabSettings>::Log(const param_type& p, |
| std::string* l) { |
| l->append("("); |
| LogParam(p.parent, l); |
| l->append(", "); |
| LogParam(p.dimensions, l); |
| l->append(", "); |
| LogParam(p.style, l); |
| l->append(", "); |
| LogParam(p.is_incognito, l); |
| l->append(", "); |
| LogParam(p.load_requests_via_automation, l); |
| l->append(", "); |
| LogParam(p.handle_top_level_requests, l); |
| l->append(", "); |
| LogParam(p.initial_url, l); |
| l->append(", "); |
| LogParam(p.referrer, l); |
| l->append(", "); |
| LogParam(p.infobars_enabled, l); |
| l->append(", "); |
| LogParam(p.route_all_top_level_navigations, l); |
| l->append(")"); |
| } |
| |
| // static |
| void ParamTraits<NavigationInfo>::Write(Message* m, const param_type& p) { |
| WriteParam(m, p.navigation_type); |
| WriteParam(m, p.relative_offset); |
| WriteParam(m, p.navigation_index); |
| WriteParam(m, p.title); |
| WriteParam(m, p.url); |
| WriteParam(m, p.referrer); |
| WriteParam(m, p.security_style); |
| WriteParam(m, p.displayed_insecure_content); |
| WriteParam(m, p.ran_insecure_content); |
| } |
| |
| // static |
| bool ParamTraits<NavigationInfo>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return ReadParam(m, iter, &p->navigation_type) && |
| ReadParam(m, iter, &p->relative_offset) && |
| ReadParam(m, iter, &p->navigation_index) && |
| ReadParam(m, iter, &p->title) && |
| ReadParam(m, iter, &p->url) && |
| ReadParam(m, iter, &p->referrer) && |
| ReadParam(m, iter, &p->security_style) && |
| ReadParam(m, iter, &p->displayed_insecure_content) && |
| ReadParam(m, iter, &p->ran_insecure_content); |
| } |
| |
| // static |
| void ParamTraits<NavigationInfo>::Log(const param_type& p, std::string* l) { |
| l->append("("); |
| LogParam(p.navigation_type, l); |
| l->append(", "); |
| LogParam(p.relative_offset, l); |
| l->append(", "); |
| LogParam(p.navigation_index, l); |
| l->append(", "); |
| LogParam(p.title, l); |
| l->append(", "); |
| LogParam(p.url, l); |
| l->append(", "); |
| LogParam(p.referrer, l); |
| l->append(", "); |
| LogParam(p.security_style, l); |
| l->append(", "); |
| LogParam(p.displayed_insecure_content, l); |
| l->append(", "); |
| LogParam(p.ran_insecure_content, l); |
| l->append(")"); |
| } |
| |
| // static |
| void ParamTraits<MiniContextMenuParams>::Write(Message* m, |
| const param_type& p) { |
| WriteParam(m, p.screen_x); |
| WriteParam(m, p.screen_y); |
| WriteParam(m, p.link_url); |
| WriteParam(m, p.unfiltered_link_url); |
| WriteParam(m, p.src_url); |
| WriteParam(m, p.page_url); |
| WriteParam(m, p.frame_url); |
| } |
| |
| // static |
| bool ParamTraits<MiniContextMenuParams>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return ReadParam(m, iter, &p->screen_x) && |
| ReadParam(m, iter, &p->screen_y) && |
| ReadParam(m, iter, &p->link_url) && |
| ReadParam(m, iter, &p->unfiltered_link_url) && |
| ReadParam(m, iter, &p->src_url) && |
| ReadParam(m, iter, &p->page_url) && |
| ReadParam(m, iter, &p->frame_url); |
| } |
| |
| // static |
| void ParamTraits<MiniContextMenuParams>::Log(const param_type& p, |
| std::string* l) { |
| l->append("("); |
| LogParam(p.screen_x, l); |
| l->append(", "); |
| LogParam(p.screen_y, l); |
| l->append(", "); |
| LogParam(p.link_url, l); |
| l->append(", "); |
| LogParam(p.unfiltered_link_url, l); |
| l->append(", "); |
| LogParam(p.src_url, l); |
| l->append(", "); |
| LogParam(p.page_url, l); |
| l->append(", "); |
| LogParam(p.frame_url, l); |
| l->append(")"); |
| } |
| |
| // static |
| void ParamTraits<AttachExternalTabParams>::Write(Message* m, |
| const param_type& p) { |
| WriteParam(m, p.cookie); |
| WriteParam(m, p.url); |
| WriteParam(m, p.dimensions); |
| WriteParam(m, p.disposition); |
| WriteParam(m, p.user_gesture); |
| WriteParam(m, p.profile_name); |
| } |
| |
| // static |
| bool ParamTraits<AttachExternalTabParams>::Read(const Message* m, |
| void** iter, |
| param_type* p) { |
| return ReadParam(m, iter, &p->cookie) && |
| ReadParam(m, iter, &p->url) && |
| ReadParam(m, iter, &p->dimensions) && |
| ReadParam(m, iter, &p->disposition) && |
| ReadParam(m, iter, &p->user_gesture) && |
| ReadParam(m, iter, &p->profile_name); |
| } |
| |
| // static |
| void ParamTraits<AttachExternalTabParams>::Log(const param_type& p, |
| std::string* l) { |
| l->append("("); |
| LogParam(p.cookie, l); |
| l->append(", "); |
| LogParam(p.url, l); |
| l->append(", "); |
| LogParam(p.dimensions, l); |
| l->append(", "); |
| LogParam(p.disposition, l); |
| l->append(", "); |
| LogParam(p.user_gesture, l); |
| l->append(","); |
| LogParam(p.profile_name, l); |
| l->append(")"); |
| } |
| |
| } // namespace IPC |