aw_web_contents_delegate.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_
6#define ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_
7
8#include <jni.h>
9
10#include "components/web_contents_delegate_android/web_contents_delegate_android.h"
11
12namespace android_webview {
13
14// WebView specific WebContentsDelegate.
15// Should contain WebContentsDelegate code required by WebView that should not
16// be part of the Chromium Android port.
17class AwWebContentsDelegate
18    : public components::WebContentsDelegateAndroid {
19 public:
20  AwWebContentsDelegate(JNIEnv* env, jobject obj);
21  virtual ~AwWebContentsDelegate();
22  virtual content::JavaScriptDialogManager* GetJavaScriptDialogManager()
23      OVERRIDE;
24  virtual void FindReply(content::WebContents* web_contents,
25                         int request_id,
26                         int number_of_matches,
27                         const gfx::Rect& selection_rect,
28                         int active_match_ordinal,
29                         bool final_update) OVERRIDE;
30  virtual void CanDownload(content::RenderViewHost* source,
31                           int request_id,
32                           const std::string& request_method,
33                           const base::Callback<void(bool)>& callback) OVERRIDE;
34
35  virtual void AddNewContents(content::WebContents* source,
36                              content::WebContents* new_contents,
37                              WindowOpenDisposition disposition,
38                              const gfx::Rect& initial_pos,
39                              bool user_gesture,
40                              bool* was_blocked) OVERRIDE;
41  virtual void CloseContents(content::WebContents* source) OVERRIDE;
42  virtual void ActivateContents(content::WebContents* contents) OVERRIDE;
43  virtual void UpdatePreferredSize(content::WebContents* web_contents,
44                                   const gfx::Size& pref_size) OVERRIDE;
45};
46
47bool RegisterAwWebContentsDelegate(JNIEnv* env);
48
49}  // namespace android_webview
50
51#endif  // ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_
52