Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / first_run / first_run_view.cc
index 906284b..8ee4c71 100644 (file)
@@ -4,11 +4,13 @@
 
 #include "chrome/browser/chromeos/first_run/first_run_view.h"
 
+#include "chrome/browser/extensions/extension_web_contents_observer.h"
 #include "chrome/browser/ui/webui/chromeos/first_run/first_run_ui.h"
 #include "chrome/common/url_constants.h"
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/render_widget_host_view.h"
 #include "content/public/browser/web_contents.h"
+#include "third_party/WebKit/public/web/WebInputEvent.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "ui/views/controls/webview/webview.h"
 #include "url/gurl.h"
@@ -23,15 +25,16 @@ void FirstRunView::Init(content::BrowserContext* context) {
   web_view_ = new views::WebView(context);
   AddChildView(web_view_);
   web_view_->LoadInitialURL(GURL(chrome::kChromeUIFirstRunURL));
-  web_view_->RequestFocus();
 
-  web_view_->web_contents()->SetDelegate(this);
+  content::WebContents* web_contents = web_view_->web_contents();
+  web_contents->SetDelegate(this);
+  extensions::ExtensionWebContentsObserver::CreateForWebContents(web_contents);
 
   SkBitmap background;
   background.setConfig(SkBitmap::kA8_Config, 1, 1);
   background.allocPixels();
   background.eraseARGB(0, 0, 0, 0);
-  web_view_->web_contents()->GetRenderViewHost()->GetView()->
+  web_contents->GetRenderViewHost()->GetView()->
     SetBackground(background);
 }
 
@@ -44,11 +47,28 @@ void FirstRunView::Layout() {
   web_view_->SetBoundsRect(bounds());
 }
 
+void FirstRunView::RequestFocus() {
+  web_view_->RequestFocus();
+}
+
+content::WebContents* FirstRunView::GetWebContents() {
+  return web_view_->web_contents();
+}
+
 bool FirstRunView::HandleContextMenu(
     const content::ContextMenuParams& params) {
   // Discards context menu.
   return true;
 }
 
+bool FirstRunView::PreHandleGestureEvent(
+    content::WebContents* source,
+    const blink::WebGestureEvent& event) {
+  // Disable pinch zooming.
+  return event.type == blink::WebGestureEvent::GesturePinchBegin ||
+      event.type == blink::WebGestureEvent::GesturePinchUpdate ||
+      event.type == blink::WebGestureEvent::GesturePinchEnd;
+}
+
 }  // namespace chromeos