#ifndef CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_
#define CONTENT_PUBLIC_BROWSER_WEB_DRAG_DEST_DELEGATE_H_
#if defined(TOOLKIT_GTK)
#include <gtk/gtk.h>
#endif
#include "base/strings/string16.h"
class GURL;
namespace ui {
class OSExchangeData;
}
namespace content {
class WebContents;
struct DropData;
class WebDragDestDelegate {
public:
virtual void DragInitialize(WebContents* contents) = 0;
virtual void OnDragOver() = 0;
virtual void OnDragEnter() = 0;
virtual void OnDrop() = 0;
virtual void OnDragLeave() = 0;
#if defined(TOOLKIT_GTK)
virtual GdkAtom GetBookmarkTargetAtom() const = 0;
virtual void OnReceiveDataFromGtk(GtkSelectionData* data) = 0;
virtual void OnReceiveProcessedData(const GURL& url,
const base::string16& title) = 0;
#elif defined(USE_AURA)
virtual void OnReceiveDragData(const ui::OSExchangeData& data) = 0;
#endif
virtual ~WebDragDestDelegate() {}
};
}
#endif