Home | History | Annotate | Download | only in common
      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