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_
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
{
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
,
26 int number_of_matches
,
27 const gfx::Rect
& selection_rect
,
28 int active_match_ordinal
,
29 bool final_update
) override
;
30 void CanDownload(content::RenderViewHost
* source
,
32 const std::string
& request_method
,
33 const base::Callback
<void(bool)>& callback
) override
;
34 void RunFileChooser(content::WebContents
* web_contents
,
35 const content::FileChooserParams
& params
) override
;
36 void AddNewContents(content::WebContents
* source
,
37 content::WebContents
* new_contents
,
38 WindowOpenDisposition disposition
,
39 const gfx::Rect
& initial_rect
,
41 bool* was_blocked
) override
;
43 void NavigationStateChanged(content::WebContents
* source
,
44 content::InvalidateTypes changed_flags
) override
;
45 void WebContentsCreated(content::WebContents
* source_contents
,
46 int opener_render_frame_id
,
47 const base::string16
& frame_name
,
48 const GURL
& target_url
,
49 content::WebContents
* new_contents
) override
;
51 void CloseContents(content::WebContents
* source
) override
;
52 void ActivateContents(content::WebContents
* contents
) override
;
53 void LoadingStateChanged(content::WebContents
* source
,
54 bool to_different_document
) override
;
55 void RequestMediaAccessPermission(
56 content::WebContents
* web_contents
,
57 const content::MediaStreamRequest
& request
,
58 const content::MediaResponseCallback
& callback
) override
;
59 void EnterFullscreenModeForTab(content::WebContents
* web_contents
,
60 const GURL
& origin
) override
;
61 void ExitFullscreenModeForTab(content::WebContents
* web_contents
) override
;
62 bool IsFullscreenForTabOrPending(
63 const content::WebContents
* web_contents
) const override
;
69 bool RegisterAwWebContentsDelegate(JNIEnv
* env
);
71 } // namespace android_webview
73 #endif // ANDROID_WEBVIEW_NATIVE_AW_WEB_CONTENTS_DELEGATE_H_