Index: content/browser/browser_plugin/browser_plugin_guest.h |
diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h |
index 1b480e6acfee67497a9939acae438476fbb43a7c..1696a0528573b6bd9226dbedfe26e7d8e5d99c4e 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.h |
+++ b/content/browser/browser_plugin/browser_plugin_guest.h |
@@ -75,9 +75,11 @@ struct MediaStreamRequest; |
// A BrowserPluginGuest can also create a new unattached guest via |
// CreateNewWindow. The newly created guest will live in the same partition, |
// which means it can share storage and can script this guest. |
-class CONTENT_EXPORT BrowserPluginGuest : public NotificationObserver, |
- public WebContentsDelegate, |
- public WebContentsObserver { |
+class CONTENT_EXPORT BrowserPluginGuest |
+ : public NotificationObserver, |
+ public WebContentsDelegate, |
+ public WebContentsObserver, |
+ public base::SupportsWeakPtr<BrowserPluginGuest> { |
public: |
typedef base::Callback<void(bool)> GeolocationCallback; |
virtual ~BrowserPluginGuest(); |
@@ -235,6 +237,15 @@ class CONTENT_EXPORT BrowserPluginGuest : public NotificationObserver, |
// |message|. |
static bool ShouldForwardToBrowserPluginGuest(const IPC::Message& message); |
+ void DragSourceEndedAt(int client_x, int client_y, int screen_x, |
+ int screen_y, WebKit::WebDragOperation operation); |
+ |
+ void DragSourceMovedTo(int client_x, int client_y, |
+ int screen_x, int screen_y); |
+ |
+ // Called when the drag started by this guest ends at an OS-level. |
+ void EndSystemDrag(); |
+ |
private: |
typedef std::pair<MediaStreamRequest, MediaResponseCallback> |
MediaStreamRequestAndCallbackPair; |
@@ -290,6 +301,8 @@ class CONTENT_EXPORT BrowserPluginGuest : public NotificationObserver, |
const WebDropData& drop_data, |
WebKit::WebDragOperationsMask drag_mask, |
const gfx::Point& location); |
+ // Called when a drag and drop Drop event has taken place inside the guest. |
+ void OnDropAck(bool* handled); |
// If possible, navigate the guest to |relative_index| entries away from the |
// current navigation entry. |
virtual void OnGo(int instance_id, int relative_index); |
@@ -355,6 +368,7 @@ class CONTENT_EXPORT BrowserPluginGuest : public NotificationObserver, |
// Message handlers for messages from guest. |
+ void OnDragStopped(); |
void OnHandleInputEventAck( |
WebKit::WebInputEvent::Type event_type, |
InputEventAckState ack_result); |
@@ -370,9 +384,10 @@ class CONTENT_EXPORT BrowserPluginGuest : public NotificationObserver, |
const gfx::Rect& initial_bounds, |
bool user_gesture); |
void OnShowWidget(int route_id, const gfx::Rect& initial_pos); |
+ void OnStartDragging(bool* handled); |
// Overriden in tests. |
virtual void OnTakeFocus(bool reverse); |
- void OnUpdateDragCursor(WebKit::WebDragOperation operation); |
+ void OnTargetDrop_ACK(bool* handled); |
void OnUpdateFrameName(int frame_id, |
bool is_top_level, |
const std::string& name); |