| Index: content/browser/browser_plugin/browser_plugin_guest.cc
|
| diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
|
| index d470801eb6667279c79734097e1488e0357222c4..e51053420a83231db88158600cb65b9116796548 100644
|
| --- a/content/browser/browser_plugin/browser_plugin_guest.cc
|
| +++ b/content/browser/browser_plugin/browser_plugin_guest.cc
|
| @@ -14,6 +14,7 @@
|
| #include "content/browser/web_contents/web_contents_impl.h"
|
| #include "content/common/browser_plugin_messages.h"
|
| #include "content/common/view_messages.h"
|
| +#include "content/port/browser/render_view_host_delegate_view.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/notification_types.h"
|
| #include "content/public/browser/render_process_host.h"
|
| @@ -23,7 +24,9 @@
|
| #include "content/public/common/result_codes.h"
|
| #include "content/browser/browser_plugin/browser_plugin_host_factory.h"
|
| #include "net/base/net_errors.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebCursorInfo.h"
|
| #include "ui/surface/transport_dib.h"
|
| +#include "webkit/glue/webdropdata.h"
|
| #include "webkit/glue/resource_type.h"
|
|
|
| namespace content {
|
| @@ -40,6 +43,7 @@ BrowserPluginGuest::BrowserPluginGuest(int instance_id,
|
| RenderViewHost* render_view_host)
|
| : WebContentsObserver(web_contents),
|
| embedder_render_process_host_(NULL),
|
| + embedder_render_view_host_(NULL),
|
| instance_id_(instance_id),
|
| #if defined(OS_WIN)
|
| damage_buffer_size_(0),
|
| @@ -144,6 +148,38 @@ void BrowserPluginGuest::SetVisibility(bool embedder_visible, bool visible) {
|
| web_contents()->WasHidden();
|
| }
|
|
|
| +void BrowserPluginGuest::DragStatusUpdate(WebKit::WebDragStatus drag_status,
|
| + const WebDropData& drop_data,
|
| + WebKit::WebDragOperationsMask mask,
|
| + const gfx::Point& location) {
|
| + RenderViewHost* host = web_contents()->GetRenderViewHost();
|
| + switch (drag_status) {
|
| + case WebKit::WebDragStatusEnter:
|
| + host->DragTargetDragEnter(drop_data, location, location, mask, 0);
|
| + break;
|
| + case WebKit::WebDragStatusOver:
|
| + host->DragTargetDragOver(location, location, mask, 0);
|
| + break;
|
| + case WebKit::WebDragStatusLeave:
|
| + host->DragTargetDragLeave();
|
| + break;
|
| + case WebKit::WebDragStatusDrop:
|
| + host->DragTargetDrop(location, location, 0);
|
| + break;
|
| + case WebKit::WebDragStatusUnknown:
|
| + NOTREACHED();
|
| + }
|
| +}
|
| +
|
| +void BrowserPluginGuest::UpdateDragCursor(WebKit::WebDragOperation operation) {
|
| + if (embedder_render_view_host_) {
|
| + RenderViewHostDelegateView* view =
|
| + embedder_render_view_host_->GetDelegate()->GetDelegateView();
|
| + if (view)
|
| + view->UpdateDragCursor(operation);
|
| + }
|
| +}
|
| +
|
| WebContents* BrowserPluginGuest::GetWebContents() {
|
| return web_contents();
|
| }
|
|
|