Roll src/third_party/WebKit 06cb9e9:a978ee5 (svn 202558:202559)
[chromium-blink-merge.git] / android_webview / native / aw_web_contents_delegate.h
blob81695d081b672dc2e4a0d812a047455210343586
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.
5 #ifndef ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_
6 #define ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_
8 #include <jni.h>
10 #include "components/web_contents_delegate_android/web_contents_delegate_android.h"
12 namespace android_webview {
14 // WebView specific WebContentsDelegate.
15 // Should contain WebContentsDelegate code required by WebView that should not
16 // be part of the Chromium Android port.
17 class AwWebContentsDelegate
18 : public web_contents_delegate_android::WebContentsDelegateAndroid {
19 public:
20 AwWebContentsDelegate(JNIEnv* env, jobject obj);
21 ~AwWebContentsDelegate() override;
22 content::JavaScriptDialogManager* GetJavaScriptDialogManager(
23 content::WebContents* source) override;
24 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 void CanDownload(const GURL& url,
31 const std::string& request_method,
32 const base::Callback<void(bool)>& callback) override;
33 void RunFileChooser(content::WebContents* web_contents,
34 const content::FileChooserParams& params) override;
35 void AddNewContents(content::WebContents* source,
36 content::WebContents* new_contents,
37 WindowOpenDisposition disposition,
38 const gfx::Rect& initial_rect,
39 bool user_gesture,
40 bool* was_blocked) override;
42 void NavigationStateChanged(content::WebContents* source,
43 content::InvalidateTypes changed_flags) override;
44 void WebContentsCreated(content::WebContents* source_contents,
45 int opener_render_frame_id,
46 const std::string& frame_name,
47 const GURL& target_url,
48 content::WebContents* new_contents) override;
50 void CloseContents(content::WebContents* source) override;
51 void ActivateContents(content::WebContents* contents) override;
52 void LoadingStateChanged(content::WebContents* source,
53 bool to_different_document) override;
54 void RequestMediaAccessPermission(
55 content::WebContents* web_contents,
56 const content::MediaStreamRequest& request,
57 const content::MediaResponseCallback& callback) override;
58 void EnterFullscreenModeForTab(content::WebContents* web_contents,
59 const GURL& origin) override;
60 void ExitFullscreenModeForTab(content::WebContents* web_contents) override;
61 bool IsFullscreenForTabOrPending(
62 const content::WebContents* web_contents) const override;
64 private:
65 bool is_fullscreen_;
68 bool RegisterAwWebContentsDelegate(JNIEnv* env);
70 } // namespace android_webview
72 #endif // ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_