Add test_runner support for new accessibility event
[chromium-blink-merge.git] / android_webview / browser / aw_content_browser_client.h
blobc61c2c48e9563a211e2169585ee4befcd6b7274f
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_LIB_AW_CONTENT_BROWSER_CLIENT_H_
6 #define ANDROID_WEBVIEW_LIB_AW_CONTENT_BROWSER_CLIENT_H_
8 #include "android_webview/browser/aw_web_preferences_populater.h"
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "content/public/browser/content_browser_client.h"
14 namespace android_webview {
16 class AwBrowserContext;
17 class JniDependencyFactory;
19 class AwContentBrowserClient : public content::ContentBrowserClient {
20 public:
21 // This is what AwContentBrowserClient::GetAcceptLangs uses.
22 static std::string GetAcceptLangsImpl();
24 // Deprecated: use AwBrowserContext::GetDefault() instead.
25 static AwBrowserContext* GetAwBrowserContext();
27 AwContentBrowserClient(JniDependencyFactory* native_factory);
28 ~AwContentBrowserClient() override;
30 // Overriden methods from ContentBrowserClient.
31 void AddCertificate(net::CertificateMimeType cert_type,
32 const void* cert_data,
33 size_t cert_size,
34 int render_process_id,
35 int render_frame_id) override;
36 content::BrowserMainParts* CreateBrowserMainParts(
37 const content::MainFunctionParams& parameters) override;
38 content::WebContentsViewDelegate* GetWebContentsViewDelegate(
39 content::WebContents* web_contents) override;
40 void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
41 net::URLRequestContextGetter* CreateRequestContext(
42 content::BrowserContext* browser_context,
43 content::ProtocolHandlerMap* protocol_handlers,
44 content::URLRequestInterceptorScopedVector request_interceptors) override;
45 net::URLRequestContextGetter* CreateRequestContextForStoragePartition(
46 content::BrowserContext* browser_context,
47 const base::FilePath& partition_path,
48 bool in_memory,
49 content::ProtocolHandlerMap* protocol_handlers,
50 content::URLRequestInterceptorScopedVector request_interceptors) override;
51 std::string GetCanonicalEncodingNameByAliasName(
52 const std::string& alias_name) override;
53 void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
54 int child_process_id) override;
55 std::string GetApplicationLocale() override;
56 std::string GetAcceptLangs(content::BrowserContext* context) override;
57 const gfx::ImageSkia* GetDefaultFavicon() override;
58 bool AllowAppCache(const GURL& manifest_url,
59 const GURL& first_party,
60 content::ResourceContext* context) override;
61 bool AllowGetCookie(const GURL& url,
62 const GURL& first_party,
63 const net::CookieList& cookie_list,
64 content::ResourceContext* context,
65 int render_process_id,
66 int render_frame_id) override;
67 bool AllowSetCookie(const GURL& url,
68 const GURL& first_party,
69 const std::string& cookie_line,
70 content::ResourceContext* context,
71 int render_process_id,
72 int render_frame_id,
73 net::CookieOptions* options) override;
74 bool AllowWorkerDatabase(
75 const GURL& url,
76 const base::string16& name,
77 const base::string16& display_name,
78 unsigned long estimated_size,
79 content::ResourceContext* context,
80 const std::vector<std::pair<int, int>>& render_frames) override;
81 void AllowWorkerFileSystem(
82 const GURL& url,
83 content::ResourceContext* context,
84 const std::vector<std::pair<int, int>>& render_frames,
85 base::Callback<void(bool)> callback) override;
86 bool AllowWorkerIndexedDB(
87 const GURL& url,
88 const base::string16& name,
89 content::ResourceContext* context,
90 const std::vector<std::pair<int, int>>& render_frames) override;
91 content::QuotaPermissionContext* CreateQuotaPermissionContext() override;
92 void AllowCertificateError(
93 int render_process_id,
94 int render_frame_id,
95 int cert_error,
96 const net::SSLInfo& ssl_info,
97 const GURL& request_url,
98 content::ResourceType resource_type,
99 bool overridable,
100 bool strict_enforcement,
101 bool expired_previous_decision,
102 const base::Callback<void(bool)>& callback,
103 content::CertificateRequestResultType* result) override;
104 void SelectClientCertificate(
105 content::WebContents* web_contents,
106 net::SSLCertRequestInfo* cert_request_info,
107 scoped_ptr<content::ClientCertificateDelegate> delegate) override;
108 void RequestPermission(
109 content::PermissionType permission,
110 content::WebContents* web_contents,
111 int bridge_id,
112 const GURL& requesting_frame,
113 bool user_gesture,
114 const base::Callback<void(content::PermissionStatus)>& callback) override;
115 void CancelPermissionRequest(content::PermissionType permission,
116 content::WebContents* web_contents,
117 int bridge_id,
118 const GURL& origin) override;
119 bool CanCreateWindow(const GURL& opener_url,
120 const GURL& opener_top_level_frame_url,
121 const GURL& source_origin,
122 WindowContainerType container_type,
123 const GURL& target_url,
124 const content::Referrer& referrer,
125 WindowOpenDisposition disposition,
126 const blink::WebWindowFeatures& features,
127 bool user_gesture,
128 bool opener_suppressed,
129 content::ResourceContext* context,
130 int render_process_id,
131 int opener_id,
132 bool* no_javascript_access) override;
133 void ResourceDispatcherHostCreated() override;
134 net::NetLog* GetNetLog() override;
135 content::AccessTokenStore* CreateAccessTokenStore() override;
136 bool IsFastShutdownPossible() override;
137 void ClearCache(content::RenderViewHost* rvh) override;
138 void ClearCookies(content::RenderViewHost* rvh) override;
139 base::FilePath GetDefaultDownloadDirectory() override;
140 std::string GetDefaultDownloadName() override;
141 void DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) override;
142 bool AllowPepperSocketAPI(
143 content::BrowserContext* browser_context,
144 const GURL& url,
145 bool private_api,
146 const content::SocketPermissionRequest* params) override;
147 void OverrideWebkitPrefs(content::RenderViewHost* rvh,
148 content::WebPreferences* web_prefs) override;
149 #if defined(VIDEO_HOLE)
150 content::ExternalVideoSurfaceContainer*
151 OverrideCreateExternalVideoSurfaceContainer(
152 content::WebContents* web_contents) override;
153 #endif
154 content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
156 private:
157 // Android WebView currently has a single global (non-off-the-record) browser
158 // context.
159 scoped_ptr<AwBrowserContext> browser_context_;
160 scoped_ptr<AwWebPreferencesPopulater> preferences_populater_;
162 JniDependencyFactory* native_factory_;
164 DISALLOW_COPY_AND_ASSIGN(AwContentBrowserClient);
167 } // namespace android_webview
169 #endif // ANDROID_WEBVIEW_LIB_AW_CONTENT_BROWSER_CLIENT_H_