Home | History | Annotate | Download | only in safe_browsing
      1 // Copyright (c) 2011 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, so no include guard.
      6 
      7 #include "ipc/ipc_message_macros.h"
      8 #include "url/gurl.h"
      9 
     10 #define IPC_MESSAGE_START SafeBrowsingMsgStart
     11 
     12 // A node is essentially a frame.
     13 IPC_STRUCT_BEGIN(SafeBrowsingHostMsg_MalwareDOMDetails_Node)
     14   // URL of this resource. Can be empty.
     15   IPC_STRUCT_MEMBER(GURL, url)
     16 
     17   // If this resource was in the "src" attribute of a tag, this is the tagname
     18   // (eg "IFRAME"). Can be empty.
     19   IPC_STRUCT_MEMBER(std::string, tag_name)
     20 
     21   // URL of the parent node. Can be empty.
     22   IPC_STRUCT_MEMBER(GURL, parent)
     23 
     24   // children of this node. Can be emtpy.
     25   IPC_STRUCT_MEMBER(std::vector<GURL>, children)
     26 IPC_STRUCT_END()
     27 
     28 // SafeBrowsing client-side detection messages sent from the renderer to the
     29 // browser.
     30 
     31 // Inform the browser that the client-side phishing detector running in the
     32 // renderer is done classifying the current URL.  If the URL is phishing
     33 // the request proto will have |is_phishing()| set to true.
     34 // TODO(noelutz): we may want to create custom ParamTraits for MessageLite to
     35 // have a generic way to send protocol messages over IPC.
     36 IPC_MESSAGE_ROUTED1(SafeBrowsingHostMsg_PhishingDetectionDone,
     37                     std::string /* encoded ClientPhishingRequest proto */)
     38 
     39 // Send part of the DOM to the browser, to be used in a malware report.
     40 IPC_MESSAGE_ROUTED1(SafeBrowsingHostMsg_MalwareDOMDetails,
     41                     std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node>)
     42 
     43 // SafeBrowsing client-side detection messages sent from the browser to the
     44 // renderer.
     45 
     46 // A classification model for client-side phishing detection.
     47 // The string is an encoded safe_browsing::ClientSideModel protocol buffer, or
     48 // empty to disable client-side phishing detection for this renderer.
     49 IPC_MESSAGE_CONTROL1(SafeBrowsingMsg_SetPhishingModel,
     50                      std::string /* encoded ClientSideModel proto */)
     51 
     52 // Request a DOM tree when a malware interstitial is shown.
     53 IPC_MESSAGE_ROUTED0(SafeBrowsingMsg_GetMalwareDOMDetails)
     54 
     55 // Tells the renderer to begin phishing detection for the given toplevel URL
     56 // which it has started loading.
     57 IPC_MESSAGE_ROUTED1(SafeBrowsingMsg_StartPhishingDetection,
     58                     GURL)
     59