11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// IPC messages for the web manifest manager.
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Multiply-included message file, hence no include guard.
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "content/common/content_export.h"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "content/public/common/manifest.h"
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ipc/ipc_message_macros.h"
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#undef IPC_MESSAGE_EXPORT
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define IPC_MESSAGE_START ManifestManagerMsgStart
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_ENUM_TRAITS_MAX_VALUE(content::Manifest::DisplayMode,
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                          content::Manifest::DISPLAY_MODE_BROWSER)
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_STRUCT_TRAITS_BEGIN(content::Manifest::Icon)
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(src)
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(type)
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(density)
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(sizes)
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_STRUCT_TRAITS_END()
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_STRUCT_TRAITS_BEGIN(content::Manifest)
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(name)
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(short_name)
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(start_url)
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(display)
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(orientation)
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  IPC_STRUCT_TRAITS_MEMBER(icons)
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_STRUCT_TRAITS_END()
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// The browser process requests for the manifest linked with the associated
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// render frame. The renderer process will respond via a RequestManifestResponse
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// IPC message with a Manifest object attached to it and the associated
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// |request_id| that was initially given.
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_MESSAGE_ROUTED1(ManifestManagerMsg_RequestManifest,
411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    int /* request_id */)
421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// The renderer process' response to a RequestManifest. The |request_id| will
441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// match the one that was initially received. The |manifest| object will be an
451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// empty manifest in case of any failure.
461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciIPC_MESSAGE_ROUTED2(ManifestManagerHostMsg_RequestManifestResponse,
471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    int, /* request_id */
481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                    content::Manifest /* manifest */)
49