blob: f7504561e306db82aaae28b15565644197f7ce6a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_DELEGATE_GTK_H_
#define CONTENT_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_DELEGATE_GTK_H_
#pragma once
#include <gtk/gtk.h>
#include "base/string16.h"
#include "content/common/content_export.h"
class GURL;
class TabContents;
namespace content {
// An optional delegate that listens for drags of bookmark data.
class CONTENT_EXPORT WebDragDestDelegateGtk {
public:
// Announces that a drag has started. It's valid that a drag starts, along
// with over/enter/leave/drop notifications without receiving any bookmark
// data.
virtual void DragInitialize(TabContents* contents) = 0;
// Returns the bookmark atom type. GTK and Views return different values here.
virtual GdkAtom GetBookmarkTargetAtom() const = 0;
// Called when WebDragDestkGtk detects that there's bookmark data in a
// drag. Not every drag will trigger these.
virtual void OnReceiveDataFromGtk(GtkSelectionData* data) = 0;
virtual void OnReceiveProcessedData(const GURL& url,
const string16& title) = 0;
// Notifications of drag progression.
virtual void OnDragOver() = 0;
virtual void OnDragEnter() = 0;
virtual void OnDrop() = 0;
// This should also clear any state kept about this drag.
virtual void OnDragLeave() = 0;
virtual ~WebDragDestDelegateGtk() {}
};
} // namespace content
#endif // CONTENT_BROWSER_TAB_CONTENTS_WEB_DRAG_DEST_DELEGATE_GTK_H_
|