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 #include "content/common/drag_event_source_info.h" 6 #include "content/public/common/common_param_traits.h" 7 #include "content/public/common/drop_data.h" 8 #include "ipc/ipc_message_macros.h" 9 #include "third_party/WebKit/public/web/WebDragOperation.h" 10 #include "ui/gfx/point.h" 11 12 #define IPC_MESSAGE_START DragMsgStart 13 14 IPC_ENUM_TRAITS(blink::WebDragOperation) // Bitmask. 15 IPC_ENUM_TRAITS_MAX_VALUE(ui::DragDropTypes::DragEventSource, 16 ui::DragDropTypes::DRAG_EVENT_SOURCE_LAST) 17 18 IPC_STRUCT_TRAITS_BEGIN(ui::FileInfo) 19 IPC_STRUCT_TRAITS_MEMBER(path) 20 IPC_STRUCT_TRAITS_MEMBER(display_name) 21 IPC_STRUCT_TRAITS_END() 22 23 IPC_STRUCT_TRAITS_BEGIN(content::DropData) 24 IPC_STRUCT_TRAITS_MEMBER(url) 25 IPC_STRUCT_TRAITS_MEMBER(url_title) 26 IPC_STRUCT_TRAITS_MEMBER(download_metadata) 27 IPC_STRUCT_TRAITS_MEMBER(referrer_policy) 28 IPC_STRUCT_TRAITS_MEMBER(filenames) 29 IPC_STRUCT_TRAITS_MEMBER(filesystem_id) 30 IPC_STRUCT_TRAITS_MEMBER(file_system_files) 31 IPC_STRUCT_TRAITS_MEMBER(text) 32 IPC_STRUCT_TRAITS_MEMBER(html) 33 IPC_STRUCT_TRAITS_MEMBER(html_base_url) 34 IPC_STRUCT_TRAITS_MEMBER(file_description_filename) 35 IPC_STRUCT_TRAITS_MEMBER(file_contents) 36 IPC_STRUCT_TRAITS_MEMBER(custom_data) 37 IPC_STRUCT_TRAITS_END() 38 39 IPC_STRUCT_TRAITS_BEGIN(content::DropData::FileSystemFileInfo) 40 IPC_STRUCT_TRAITS_MEMBER(url) 41 IPC_STRUCT_TRAITS_MEMBER(size) 42 IPC_STRUCT_TRAITS_END() 43 44 IPC_STRUCT_TRAITS_BEGIN(content::DragEventSourceInfo) 45 IPC_STRUCT_TRAITS_MEMBER(event_location) 46 IPC_STRUCT_TRAITS_MEMBER(event_source) 47 IPC_STRUCT_TRAITS_END() 48