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 14IPC_ENUM_TRAITS(blink::WebDragOperation) // Bitmask. 15IPC_ENUM_TRAITS_MAX_VALUE(ui::DragDropTypes::DragEventSource, 16 ui::DragDropTypes::DRAG_EVENT_SOURCE_LAST) 17 18IPC_STRUCT_TRAITS_BEGIN(ui::FileInfo) 19 IPC_STRUCT_TRAITS_MEMBER(path) 20 IPC_STRUCT_TRAITS_MEMBER(display_name) 21IPC_STRUCT_TRAITS_END() 22 23IPC_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) 37IPC_STRUCT_TRAITS_END() 38 39IPC_STRUCT_TRAITS_BEGIN(content::DropData::FileSystemFileInfo) 40 IPC_STRUCT_TRAITS_MEMBER(url) 41 IPC_STRUCT_TRAITS_MEMBER(size) 42IPC_STRUCT_TRAITS_END() 43 44IPC_STRUCT_TRAITS_BEGIN(content::DragEventSourceInfo) 45 IPC_STRUCT_TRAITS_MEMBER(event_location) 46 IPC_STRUCT_TRAITS_MEMBER(event_source) 47IPC_STRUCT_TRAITS_END() 48