| Index: content/browser/web_contents/web_contents_view_guest.cc
|
| diff --git a/content/browser/web_contents/web_contents_view_guest.cc b/content/browser/web_contents/web_contents_view_guest.cc
|
| index 92097f70fb25e55cf7a31ec35e92cd4120dd134e..f6c42a93a6e858a202a1e7a61d684fb2fce1e94f 100644
|
| --- a/content/browser/web_contents/web_contents_view_guest.cc
|
| +++ b/content/browser/web_contents/web_contents_view_guest.cc
|
| @@ -5,12 +5,14 @@
|
| #include "content/browser/web_contents/web_contents_view_guest.h"
|
|
|
| #include "build/build_config.h"
|
| +#include "content/browser/browser_plugin/browser_plugin_embedder.h"
|
| #include "content/browser/browser_plugin/browser_plugin_guest.h"
|
| #include "content/browser/renderer_host/render_view_host_factory.h"
|
| #include "content/browser/renderer_host/render_view_host_impl.h"
|
| #include "content/browser/renderer_host/render_widget_host_view_guest.h"
|
| #include "content/browser/web_contents/interstitial_page_impl.h"
|
| #include "content/browser/web_contents/web_contents_impl.h"
|
| +#include "content/common/drag_messages.h"
|
| #include "content/public/browser/web_contents_delegate.h"
|
| #include "ui/gfx/image/image_skia.h"
|
| #include "ui/gfx/point.h"
|
| @@ -159,7 +161,14 @@ WebDropData* WebContentsViewGuest::GetDropData() const {
|
| }
|
|
|
| void WebContentsViewGuest::UpdateDragCursor(WebDragOperation operation) {
|
| - NOTIMPLEMENTED();
|
| + RenderViewHostImpl* embedder_render_view_host =
|
| + static_cast<RenderViewHostImpl*>(
|
| + guest_->embedder_web_contents()->GetRenderViewHost());
|
| + CHECK(embedder_render_view_host);
|
| + RenderViewHostDelegateView* view =
|
| + embedder_render_view_host->GetDelegate()->GetDelegateView();
|
| + if (view)
|
| + view->UpdateDragCursor(operation);
|
| }
|
|
|
| void WebContentsViewGuest::GotFocus() {
|
| @@ -191,7 +200,18 @@ void WebContentsViewGuest::StartDragging(
|
| const gfx::ImageSkia& image,
|
| const gfx::Vector2d& image_offset,
|
| const DragEventSourceInfo& event_info) {
|
| - NOTIMPLEMENTED();
|
| + WebContentsImpl* embedder_web_contents = guest_->embedder_web_contents();
|
| + embedder_web_contents->GetBrowserPluginEmbedder()->StartDrag(guest_);
|
| + RenderViewHostImpl* embedder_render_view_host =
|
| + static_cast<RenderViewHostImpl*>(
|
| + embedder_web_contents->GetRenderViewHost());
|
| + CHECK(embedder_render_view_host);
|
| + RenderViewHostDelegateView* view =
|
| + embedder_render_view_host->GetDelegate()->GetDelegateView();
|
| + if (view)
|
| + view->StartDragging(drop_data, ops, image, image_offset, event_info);
|
| + else
|
| + embedder_web_contents->SystemDragEnded();
|
| }
|
|
|
| } // namespace content
|
|
|