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. 13IPC_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) 26IPC_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. 36IPC_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. 40IPC_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. 49IPC_MESSAGE_CONTROL1(SafeBrowsingMsg_SetPhishingModel, 50 std::string /* encoded ClientSideModel proto */) 51 52// Request a DOM tree when a malware interstitial is shown. 53IPC_MESSAGE_ROUTED0(SafeBrowsingMsg_GetMalwareDOMDetails) 54 55// Tells the renderer to begin phishing detection for the given toplevel URL 56// which it has started loading. 57IPC_MESSAGE_ROUTED1(SafeBrowsingMsg_StartPhishingDetection, 58 GURL) 59