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, no traditional include guard. 6 #include <vector> 7 8 #include "chrome/common/favicon_url.h" 9 #include "ipc/ipc_message.h" 10 #include "ipc/ipc_message_macros.h" 11 #include "ipc/ipc_param_traits.h" 12 #include "third_party/skia/include/core/SkBitmap.h" 13 14 #define IPC_MESSAGE_START IconMsgStart 15 16 IPC_ENUM_TRAITS(FaviconURL::IconType) 17 18 IPC_STRUCT_TRAITS_BEGIN(FaviconURL) 19 IPC_STRUCT_TRAITS_MEMBER(icon_url) 20 IPC_STRUCT_TRAITS_MEMBER(icon_type) 21 IPC_STRUCT_TRAITS_END() 22 23 // Messages sent from the browser to the renderer. 24 25 // Requests the renderer to download the specified favicon image encode it as 26 // PNG and send the PNG data back ala IconHostMsg_DidDownloadFavicon. 27 IPC_MESSAGE_ROUTED3(IconMsg_DownloadFavicon, 28 int /* identifier for the request */, 29 GURL /* URL of the image */, 30 int /* Size of the image. Normally 0, but set if you have 31 a preferred image size to request, such as when 32 downloading the favicon */) 33 34 // Messages sent from the renderer to the browser. 35 36 // Notification that the urls for the favicon of a site has been determined. 37 IPC_MESSAGE_ROUTED2(IconHostMsg_UpdateFaviconURL, 38 int32 /* page_id */, 39 std::vector<FaviconURL> /* urls of the favicon */) 40 41 IPC_MESSAGE_ROUTED4(IconHostMsg_DidDownloadFavicon, 42 int /* Identifier of the request */, 43 GURL /* URL of the image */, 44 bool /* true if there was a network error */, 45 SkBitmap /* image_data */) 46