Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / common / prerender_messages.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Multiply-included message file, no traditional include guard.
6 #include "content/public/common/common_param_traits.h"
7 #include "content/public/common/referrer.h"
8 #include "ipc/ipc_message.h"
9 #include "ipc/ipc_message_macros.h"
10 #include "ipc/ipc_param_traits.h"
11 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
12 #include "ui/gfx/size.h"
13 #include "url/gurl.h"
14
15 #define IPC_MESSAGE_START PrerenderMsgStart
16
17 // PrerenderLinkManager Messages
18 // These are messages sent from the renderer to the browser in
19 // relation to <link rel=prerender> elements.
20
21 IPC_STRUCT_BEGIN(PrerenderAttributes)
22   IPC_STRUCT_MEMBER(GURL, url)
23   IPC_STRUCT_MEMBER(uint32, rel_types)
24 IPC_STRUCT_END()
25
26 // Notifies of the insertion of a <link rel=prerender> element in the
27 // document.
28 IPC_MESSAGE_CONTROL5(PrerenderHostMsg_AddLinkRelPrerender,
29                      int /* prerender_id, assigned by WebPrerendererClient */,
30                      PrerenderAttributes,
31                      content::Referrer,
32                      gfx::Size,
33                      int /* render_view_route_id of launcher */)
34
35 // Notifies on removal of a <link rel=prerender> element from the document.
36 IPC_MESSAGE_CONTROL1(PrerenderHostMsg_CancelLinkRelPrerender,
37                      int /* prerender_id, assigned by WebPrerendererClient */)
38
39 // Notifies on unloading a <link rel=prerender> element from a frame.
40 IPC_MESSAGE_CONTROL1(PrerenderHostMsg_AbandonLinkRelPrerender,
41                      int /* prerender_id, assigned by WebPrerendererClient */)
42
43 // PrerenderDispatcher Messages
44 // These are messages sent from the browser to the renderer in relation to
45 // running prerenders.
46
47 // Tells a renderer if it's currently being prerendered.  Must only be set
48 // to true before any navigation occurs, and only set to false at most once
49 // after that.
50 IPC_MESSAGE_ROUTED1(PrerenderMsg_SetIsPrerendering,
51                     bool /* whether the RenderView is prerendering */)
52
53 // Signals to launcher that a prerender is running.
54 IPC_MESSAGE_CONTROL1(PrerenderMsg_OnPrerenderStart,
55                      int /* prerender_id */)
56
57 // Signals to launcher that a prerender is running.
58 IPC_MESSAGE_CONTROL1(PrerenderMsg_OnPrerenderStopLoading,
59                      int /* prerender_id */)
60
61 // Signals to launcher that a prerender has had it's 'domcontentloaded' event.
62 IPC_MESSAGE_CONTROL1(PrerenderMsg_OnPrerenderDomContentLoaded,
63                      int /* prerender_id */)
64
65 // Signals to a launcher that a new alias has been added to a prerender.
66 IPC_MESSAGE_CONTROL1(PrerenderMsg_OnPrerenderAddAlias,
67                      GURL /* url */)
68
69 // Signals to a launcher that a new alias has been added to a prerender.
70 IPC_MESSAGE_CONTROL1(PrerenderMsg_OnPrerenderRemoveAliases,
71                      std::vector<GURL> /* urls */)
72
73 // Signals to a launcher that a prerender is no longer running.
74 IPC_MESSAGE_CONTROL1(PrerenderMsg_OnPrerenderStop,
75                      int /* prerender_id */)