1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
24a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
34a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// found in the LICENSE file.
44a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/common/common_param_traits.h"
6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/common/common_param_traits.h"
7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#define IPC_MESSAGE_IMPL
94a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "chrome/common/automation_messages.h"
104a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch
1121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAutomationURLRequest::AutomationURLRequest()
1221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : resource_type(0),
1321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      load_flags(0) {
1421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
1521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
1621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAutomationURLRequest::AutomationURLRequest(
1721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const std::string& in_url,
1821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const std::string& in_method,
1921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const std::string& in_referrer,
2021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const std::string& in_extra_request_headers,
2121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    scoped_refptr<net::UploadData> in_upload_data,
2221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    int in_resource_type,
2321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    int in_load_flags)
2421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : url(in_url),
2521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      method(in_method),
2621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      referrer(in_referrer),
2721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      extra_request_headers(in_extra_request_headers),
2821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      upload_data(in_upload_data),
2921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      resource_type(in_resource_type),
3021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      load_flags(in_load_flags) {
3121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
3221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
3321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAutomationURLRequest::~AutomationURLRequest() {}
3421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
3521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAutomationURLResponse::AutomationURLResponse()
3621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : content_length(0),
3721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      redirect_status(0) {
3821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
3921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
40dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenAutomationURLResponse::AutomationURLResponse(
41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    const std::string& in_mime_type, const std::string& in_headers,
42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    int64 in_content_length, const base::Time& in_last_modified,
43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    const std::string& in_redirect_url, int in_redirect_status,
44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    const net::HostPortPair& host_socket_address)
4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : mime_type(in_mime_type),
4621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      headers(in_headers),
4721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      content_length(in_content_length),
4821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      last_modified(in_last_modified),
4921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      redirect_url(in_redirect_url),
50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen      redirect_status(in_redirect_status),
51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen      socket_address(host_socket_address) {
5221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
5321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
5421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
5521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAutomationURLResponse::~AutomationURLResponse() {}
5621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
5721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenExternalTabSettings::ExternalTabSettings()
5821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : parent(NULL),
5921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      dimensions(),
6021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      style(0),
61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      is_incognito(false),
6221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      load_requests_via_automation(false),
6321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      handle_top_level_requests(false),
6421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      initial_url(),
6521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      referrer(),
6621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      infobars_enabled(false),
6721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      route_all_top_level_navigations(false) {
6821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
6921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
7021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenExternalTabSettings::ExternalTabSettings(
7121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    gfx::NativeWindow in_parent,
7221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const gfx::Rect& in_dimensions,
7321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    unsigned int in_style,
74ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    bool in_is_incognito,
7521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    bool in_load_requests_via_automation,
7621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    bool in_handle_top_level_requests,
7721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const GURL& in_initial_url,
7821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const GURL& in_referrer,
7921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    bool in_infobars_enabled,
8021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    bool in_route_all_top_level_navigations)
8121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : parent(in_parent),
8221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      dimensions(in_dimensions),
8321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      style(in_style),
84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      is_incognito(in_is_incognito),
8521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      load_requests_via_automation(in_load_requests_via_automation),
8621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      handle_top_level_requests(in_handle_top_level_requests),
8721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      initial_url(in_initial_url),
8821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      referrer(in_referrer),
8921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      infobars_enabled(in_infobars_enabled),
9021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      route_all_top_level_navigations(in_route_all_top_level_navigations) {
9121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
9221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
9321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenExternalTabSettings::~ExternalTabSettings() {}
9421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
9521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenNavigationInfo::NavigationInfo()
9621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : navigation_type(0),
9721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      relative_offset(0),
9821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      navigation_index(0),
99ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      security_style(SECURITY_STYLE_UNKNOWN),
10021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      displayed_insecure_content(0),
10121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ran_insecure_content(0) {
10221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
10321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
10421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenNavigationInfo::NavigationInfo(int in_navigation_type,
10521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               int in_relative_offset,
10621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               int in_navigation_index,
10721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               const std::wstring& in_title,
10821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               const GURL& in_url,
10921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               const GURL& in_referrer,
11021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               SecurityStyle in_security_style,
11121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               bool in_displayed_insecure_content,
11221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                               bool in_ran_insecure_content)
11321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : navigation_type(in_navigation_type),
11421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      relative_offset(in_relative_offset),
11521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      navigation_index(in_navigation_index),
11621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      title(in_title),
11721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      url(in_url),
11821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      referrer(in_referrer),
11921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      security_style(in_security_style),
12021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      displayed_insecure_content(in_displayed_insecure_content),
12121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ran_insecure_content(in_ran_insecure_content) {
12221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
12321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
12421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenNavigationInfo::~NavigationInfo() {}
12521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
12621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenMiniContextMenuParams::MiniContextMenuParams()
12721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : screen_x(0),
12821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      screen_y(0) {
12921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
13021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
13121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenMiniContextMenuParams::MiniContextMenuParams(int in_screen_x,
13221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             int in_screen_y,
13321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             const GURL& in_link_url,
13421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             const GURL& in_unfiltered_link_url,
13521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             const GURL& in_src_url,
13621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             const GURL& in_page_url,
13721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             const GURL& in_frame_url)
13821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : screen_x(in_screen_x),
13921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      screen_y(in_screen_y),
14021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      link_url(in_link_url),
14121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      unfiltered_link_url(in_unfiltered_link_url),
14221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      src_url(in_src_url),
14321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      page_url(in_page_url),
14421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      frame_url(in_frame_url) {
14521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
14621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
14721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenMiniContextMenuParams::~MiniContextMenuParams() {}
14821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
14921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAttachExternalTabParams::AttachExternalTabParams()
15021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : cookie(0),
15121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      disposition(0),
15221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      user_gesture(false) {
15321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
15421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
15521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAttachExternalTabParams::AttachExternalTabParams(
15621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    uint64 in_cookie,
15721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const GURL& in_url,
15821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const gfx::Rect& in_dimensions,
15921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    int in_disposition,
16021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    bool in_user_gesture,
16121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const std::string& in_profile_name)
16221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    : cookie(in_cookie),
16321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      url(in_url),
16421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      dimensions(in_dimensions),
16521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      disposition(in_disposition),
16621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      user_gesture(in_user_gesture),
16721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      profile_name(in_profile_name) {
16821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
16921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
17021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian MonsenAttachExternalTabParams::~AttachExternalTabParams() {}
17121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
17221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsennamespace IPC {
17321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
17421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
17521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_Find_Params>::Write(Message* m,
17621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                   const param_type& p) {
17721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.unused);
17821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.search_string);
17921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.forward);
18021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.match_case);
18121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.find_next);
18221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
18321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
18421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
18521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AutomationMsg_Find_Params>::Read(const Message* m,
18621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                  void** iter,
18721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                  param_type* p) {
18821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return
18921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->unused) &&
19021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->search_string) &&
19121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->forward) &&
19221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->match_case) &&
19321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->find_next);
19421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
19521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
19621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
19721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_Find_Params>::Log(const param_type& p,
19821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                 std::string* l) {
19921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("<AutomationMsg_Find_Params>");
20021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
20121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
20221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
20321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_NavigationResponseValues>::Write(
20421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    Message* m,
20521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const param_type& p) {
20621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  m->WriteInt(p);
20721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
20821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
20921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
21021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AutomationMsg_NavigationResponseValues>::Read(const Message* m,
21121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                               void** iter,
21221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                               param_type* p) {
21321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  int type;
21421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  if (!m->ReadInt(iter, &type))
21521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    return false;
21621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  *p = static_cast<AutomationMsg_NavigationResponseValues>(type);
21721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return true;
21821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
21921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
22021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
22121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_NavigationResponseValues>::Log(
22221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const param_type& p, std::string* l) {
22321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  std::string control;
22421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  switch (p) {
22521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_NAVIGATION_ERROR:
22621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_NAVIGATION_ERROR";
22721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
22821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_NAVIGATION_SUCCESS:
22921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_NAVIGATION_SUCCESS";
23021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
23121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED:
23221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED";
23321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
23421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    default:
23521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "UNKNOWN";
23621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
23721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  }
23821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
23921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(control, l);
24021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
24121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
24221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
24321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_ExtensionResponseValues>::Write(
24421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    Message* m,
24521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const param_type& p) {
24621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  m->WriteInt(p);
24721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
24821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
24921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
25021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AutomationMsg_ExtensionResponseValues>::Read(
25121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const Message* m,
25221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    void** iter,
25321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    param_type* p) {
25421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  int type;
25521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  if (!m->ReadInt(iter, &type))
25621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    return false;
25721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  *p = static_cast<AutomationMsg_ExtensionResponseValues>(type);
25821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return true;
25921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
26021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
26121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
26221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_ExtensionResponseValues>::Log(
26321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    const param_type& p,
26421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    std::string* l) {
26521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  std::string control;
26621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  switch (p) {
26721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_EXTENSION_INSTALL_SUCCEEDED:
26821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_EXTENSION_INSTALL_SUCCEEDED";
26921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
27021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_EXTENSION_INSTALL_FAILED:
27121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_EXTENSION_INSTALL_FAILED";
27221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
27321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    default:
27421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "UNKNOWN";
27521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
27621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  }
27721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
27821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(control, l);
27921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
28021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
28121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
28221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_ExtensionProperty>::Write(Message* m,
28321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                         const param_type& p) {
28421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  m->WriteInt(p);
28521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
28621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
28721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
28821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AutomationMsg_ExtensionProperty>::Read(const Message* m,
28921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                        void** iter,
29021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                        param_type* p) {
29121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  int type;
29221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  if (!m->ReadInt(iter, &type))
29321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    return false;
29421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  *p = static_cast<AutomationMsg_ExtensionProperty>(type);
29521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return true;
29621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
29721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
29821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
29921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationMsg_ExtensionProperty>::Log(const param_type& p,
30021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                       std::string* l) {
30121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  std::string control;
30221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  switch (p) {
30321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_EXTENSION_ID:
30421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_EXTENSION_ID";
30521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
30621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_EXTENSION_NAME:
30721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_EXTENSION_NAME";
30821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
30921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_EXTENSION_VERSION:
31021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_EXTENSION_VERSION";
31121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
31221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case AUTOMATION_MSG_EXTENSION_BROWSER_ACTION_INDEX:
31321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "AUTOMATION_MSG_EXTENSION_BROWSER_ACTION_INDEX";
31421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
31521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    default:
31621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "UNKNOWN";
31721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
31821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  }
31921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
32021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(control, l);
32121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
32221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
32321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
32421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<SecurityStyle>::Write(Message* m, const param_type& p) {
32521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  m->WriteInt(p);
32621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
32721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
32821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
32921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<SecurityStyle>::Read(const Message* m,
33021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                      void** iter,
33121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                      param_type* p) {
33221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  int type;
33321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  if (!m->ReadInt(iter, &type))
33421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    return false;
33521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  *p = static_cast<SecurityStyle>(type);
33621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return true;
33721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
33821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
33921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
34021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<SecurityStyle>::Log(const param_type& p, std::string* l) {
34121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  std::string control;
34221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  switch (p) {
34321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case SECURITY_STYLE_UNKNOWN:
34421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "SECURITY_STYLE_UNKNOWN";
34521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
34621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case SECURITY_STYLE_UNAUTHENTICATED:
34721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "SECURITY_STYLE_UNAUTHENTICATED";
34821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
34921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case SECURITY_STYLE_AUTHENTICATION_BROKEN:
35021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "SECURITY_STYLE_AUTHENTICATION_BROKEN";
35121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
35221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case SECURITY_STYLE_AUTHENTICATED:
35321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "SECURITY_STYLE_AUTHENTICATED";
35421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
35521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    default:
35621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "UNKNOWN";
35721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
35821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  }
35921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
36021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(control, l);
36121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
36221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
36321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
36421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<PageType>::Write(Message* m, const param_type& p) {
36521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  m->WriteInt(p);
36621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
36721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
36821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
36921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<PageType>::Read(const Message* m, void** iter, param_type* p) {
37021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  int type;
37121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  if (!m->ReadInt(iter, &type))
37221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    return false;
37321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  *p = static_cast<PageType>(type);
37421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return true;
37521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
37621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
37721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
37821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<PageType>::Log(const param_type& p, std::string* l) {
37921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  std::string control;
38021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  switch (p) {
38121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case NORMAL_PAGE:
38221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "NORMAL_PAGE";
38321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
38421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case ERROR_PAGE:
38521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "ERROR_PAGE";
38621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
38721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    case INTERSTITIAL_PAGE:
38821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "INTERSTITIAL_PAGE";
38921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
39021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen    default:
39121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      control = "UNKNOWN";
39221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      break;
39321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  }
39421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
39521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(control, l);
39621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
39721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
39821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
39921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationURLRequest>::Write(Message* m, const param_type& p) {
40021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.url);
40121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.method);
40221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.referrer);
40321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.extra_request_headers);
40421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.upload_data);
40521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.resource_type);
40621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.load_flags);
40721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
40821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
40921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
41021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AutomationURLRequest>::Read(const Message* m,
41121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             void** iter,
41221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             param_type* p) {
41321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return ReadParam(m, iter, &p->url) &&
41421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->method) &&
41521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->referrer) &&
41621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->extra_request_headers) &&
41721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->upload_data) &&
41821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->resource_type) &&
41921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->load_flags);
42021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
42121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
42221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
42321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationURLRequest>::Log(const param_type& p,
42421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                            std::string* l) {
42521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("(");
42621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.url, l);
42721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
42821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.method, l);
42921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
43021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.referrer, l);
43121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
43221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.extra_request_headers, l);
43321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
43421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.upload_data, l);
43521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
43621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.resource_type, l);
43721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
43821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.load_flags, l);
43921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(")");
44021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
44121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
44221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
44321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationURLResponse>::Write(Message* m,
44421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                               const param_type& p) {
44521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.mime_type);
44621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.headers);
44721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.content_length);
44821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.last_modified);
44921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.redirect_url);
45021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.redirect_status);
451dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  WriteParam(m, p.socket_address);
45221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
45321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
45421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
45521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AutomationURLResponse>::Read(const Message* m,
45621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                              void** iter,
45721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                              param_type* p) {
45821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return ReadParam(m, iter, &p->mime_type) &&
45921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->headers) &&
46021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->content_length) &&
46121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->last_modified) &&
46221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->redirect_url) &&
463dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen      ReadParam(m, iter, &p->redirect_status) &&
464dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen      ReadParam(m, iter, &p->socket_address);
46521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
46621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
46721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
46821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AutomationURLResponse>::Log(const param_type& p,
46921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             std::string* l) {
47021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("(");
47121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.mime_type, l);
47221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
47321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.headers, l);
47421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
47521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.content_length, l);
47621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
47721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.last_modified, l);
47821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
47921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.redirect_url, l);
48021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
48121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.redirect_status, l);
482dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  l->append(", ");
483dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  LogParam(p.socket_address, l);
48421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(")");
48521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
48621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
48721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
48821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<ExternalTabSettings>::Write(Message* m,
48921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             const param_type& p) {
49021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.parent);
49121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.dimensions);
49221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.style);
493ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  WriteParam(m, p.is_incognito);
49421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.load_requests_via_automation);
49521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.handle_top_level_requests);
49621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.initial_url);
49721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.referrer);
49821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.infobars_enabled);
49921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.route_all_top_level_navigations);
50021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
50121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
50221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
50321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<ExternalTabSettings>::Read(const Message* m,
50421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                            void** iter,
50521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                            param_type* p) {
50621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return ReadParam(m, iter, &p->parent) &&
50721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->dimensions) &&
50821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->style) &&
509ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      ReadParam(m, iter, &p->is_incognito) &&
51021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->load_requests_via_automation) &&
51121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->handle_top_level_requests) &&
51221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->initial_url) &&
51321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->referrer) &&
51421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->infobars_enabled) &&
51521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->route_all_top_level_navigations);
51621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
51721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
51821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
51921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<ExternalTabSettings>::Log(const param_type& p,
52021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                           std::string* l) {
52121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("(");
52221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.parent, l);
52321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
52421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.dimensions, l);
52521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
52621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.style, l);
52721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
528ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  LogParam(p.is_incognito, l);
52921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
53021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.load_requests_via_automation, l);
53121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
53221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.handle_top_level_requests, l);
53321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
53421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.initial_url, l);
53521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
53621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.referrer, l);
53721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
53821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.infobars_enabled, l);
53921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
54021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.route_all_top_level_navigations, l);
54121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(")");
54221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
54321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
54421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
54521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<NavigationInfo>::Write(Message* m, const param_type& p) {
54621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.navigation_type);
54721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.relative_offset);
54821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.navigation_index);
54921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.title);
55021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.url);
55121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.referrer);
55221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.security_style);
55321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.displayed_insecure_content);
55421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.ran_insecure_content);
55521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
55621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
55721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
55821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<NavigationInfo>::Read(const Message* m,
55921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                       void** iter,
56021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                       param_type* p) {
56121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return ReadParam(m, iter, &p->navigation_type) &&
56221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->relative_offset) &&
56321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->navigation_index) &&
56421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->title) &&
56521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->url) &&
56621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->referrer) &&
56721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->security_style) &&
56821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->displayed_insecure_content) &&
56921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->ran_insecure_content);
57021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
57121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
57221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
57321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<NavigationInfo>::Log(const param_type& p, std::string* l) {
57421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("(");
57521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.navigation_type, l);
57621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
57721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.relative_offset, l);
57821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
57921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.navigation_index, l);
58021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
58121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.title, l);
58221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
58321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.url, l);
58421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
58521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.referrer, l);
58621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
58721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.security_style, l);
58821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
58921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.displayed_insecure_content, l);
59021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
59121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.ran_insecure_content, l);
59221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(")");
59321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
59421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
59521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
59621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<MiniContextMenuParams>::Write(Message* m,
59721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                               const param_type& p) {
59821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.screen_x);
59921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.screen_y);
60021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.link_url);
60121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.unfiltered_link_url);
60221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.src_url);
60321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.page_url);
60421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.frame_url);
60521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
60621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
60721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
60821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<MiniContextMenuParams>::Read(const Message* m,
60921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                              void** iter,
61021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                              param_type* p) {
61121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return ReadParam(m, iter, &p->screen_x) &&
61221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->screen_y) &&
61321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->link_url) &&
61421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->unfiltered_link_url) &&
61521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->src_url) &&
61621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->page_url) &&
61721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->frame_url);
61821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
61921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
62021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
62121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<MiniContextMenuParams>::Log(const param_type& p,
62221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                             std::string* l) {
62321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("(");
62421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.screen_x, l);
62521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
62621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.screen_y, l);
62721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
62821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.link_url, l);
62921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
63021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.unfiltered_link_url, l);
63121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
63221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.src_url, l);
63321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
63421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.page_url, l);
63521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
63621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.frame_url, l);
63721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(")");
63821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
63921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
64021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
64121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AttachExternalTabParams>::Write(Message* m,
64221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                 const param_type& p) {
64321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.cookie);
64421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.url);
64521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.dimensions);
64621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.disposition);
64721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.user_gesture);
64821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  WriteParam(m, p.profile_name);
64921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
65021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
65121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
65221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool ParamTraits<AttachExternalTabParams>::Read(const Message* m,
65321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                void** iter,
65421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                                param_type* p) {
65521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  return ReadParam(m, iter, &p->cookie) &&
65621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->url) &&
65721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->dimensions) &&
65821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->disposition) &&
65921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->user_gesture) &&
66021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen      ReadParam(m, iter, &p->profile_name);
66121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
66221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
66321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// static
66421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid ParamTraits<AttachExternalTabParams>::Log(const param_type& p,
66521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                               std::string* l) {
66621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append("(");
66721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.cookie, l);
66821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
66921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.url, l);
67021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
67121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.dimensions, l);
67221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
67321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.disposition, l);
67421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(", ");
67521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.user_gesture, l);
67621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(",");
67721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  LogParam(p.profile_name, l);
67821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  l->append(")");
67921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}
68021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
68121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}  // namespace IPC
682