- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / common / safe_browsing / safebrowsing_messages.h
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)