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 */) 76