Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / content / browser / web_contents / web_contents_view_android.cc
index 622755a..3378595 100644 (file)
@@ -7,7 +7,6 @@
 #include "base/logging.h"
 #include "content/browser/android/content_view_core_impl.h"
 #include "content/browser/frame_host/interstitial_page_impl.h"
-#include "content/browser/media/android/browser_media_player_manager.h"
 #include "content/browser/renderer_host/render_widget_host_view_android.h"
 #include "content/browser/renderer_host/render_view_host_factory.h"
 #include "content/browser/renderer_host/render_view_host_impl.h"
@@ -15,7 +14,7 @@
 #include "content/public/browser/web_contents_delegate.h"
 
 namespace content {
-WebContentsViewPort* CreateWebContentsView(
+WebContentsView* CreateWebContentsView(
     WebContentsImpl* web_contents,
     WebContentsViewDelegate* delegate,
     RenderViewHostDelegateView** render_view_host_delegate_view) {
@@ -76,16 +75,6 @@ void WebContentsViewAndroid::SetPageTitle(const base::string16& title) {
     content_view_core_->SetTitle(title);
 }
 
-void WebContentsViewAndroid::OnTabCrashed(base::TerminationStatus status,
-                                          int error_code) {
-  RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
-      web_contents_->GetRenderViewHost());
-  if (rvh->media_player_manager())
-    rvh->media_player_manager()->DestroyAllMediaPlayers();
-  if (content_view_core_)
-    content_view_core_->OnTabCrashed();
-}
-
 void WebContentsViewAndroid::SizeContents(const gfx::Size& size) {
   // TODO(klobag): Do we need to do anything else?
   RenderWidgetHostView* rwhv = web_contents_->GetRenderWidgetHostView();
@@ -131,7 +120,7 @@ void WebContentsViewAndroid::CreateView(
     const gfx::Size& initial_size, gfx::NativeView context) {
 }
 
-RenderWidgetHostView* WebContentsViewAndroid::CreateViewForWidget(
+RenderWidgetHostViewBase* WebContentsViewAndroid::CreateViewForWidget(
     RenderWidgetHost* render_widget_host) {
   if (render_widget_host->GetView()) {
     // During testing, the view will already be set up in most cases to the
@@ -140,7 +129,8 @@ RenderWidgetHostView* WebContentsViewAndroid::CreateViewForWidget(
     // view twice), we check for the RVH Factory, which will be set when we're
     // making special ones (which go along with the special views).
     DCHECK(RenderViewHostFactory::has_factory());
-    return render_widget_host->GetView();
+    return static_cast<RenderWidgetHostViewBase*>(
+        render_widget_host->GetView());
   }
   // Note that while this instructs the render widget host to reference
   // |native_view_|, this has no effect without also instructing the
@@ -148,14 +138,13 @@ RenderWidgetHostView* WebContentsViewAndroid::CreateViewForWidget(
   // order to paint it. See ContentView::GetRenderWidgetHostViewAndroid for an
   // example of how this is achieved for InterstitialPages.
   RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(render_widget_host);
-  RenderWidgetHostView* view = new RenderWidgetHostViewAndroid(
-      rwhi, content_view_core_);
-  return view;
+  return new RenderWidgetHostViewAndroid(rwhi, content_view_core_);
 }
 
-RenderWidgetHostView* WebContentsViewAndroid::CreateViewForPopupWidget(
+RenderWidgetHostViewBase* WebContentsViewAndroid::CreateViewForPopupWidget(
     RenderWidgetHost* render_widget_host) {
-  return RenderWidgetHostViewPort::CreateViewForWidget(render_widget_host);
+  RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(render_widget_host);
+  return new RenderWidgetHostViewAndroid(rwhi, NULL);
 }
 
 void WebContentsViewAndroid::RenderViewCreated(RenderViewHost* host) {
@@ -183,12 +172,13 @@ void WebContentsViewAndroid::ShowPopupMenu(
     bool allow_multiple_selection) {
   if (content_view_core_) {
     content_view_core_->ShowSelectPopupMenu(
-        items, selected_item, allow_multiple_selection);
+        bounds, items, selected_item, allow_multiple_selection);
   }
 }
 
 void WebContentsViewAndroid::HidePopupMenu() {
-  // TODO(tkent): implement
+  if (content_view_core_)
+    content_view_core_->HideSelectPopupMenu();
 }
 
 void WebContentsViewAndroid::StartDragging(