• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "content/public/browser/content_browser_client.h"
6 
7 #include "base/files/file_path.h"
8 #include "ui/gfx/image/image_skia.h"
9 #include "url/gurl.h"
10 
11 namespace content {
12 
CreateBrowserMainParts(const MainFunctionParams & parameters)13 BrowserMainParts* ContentBrowserClient::CreateBrowserMainParts(
14     const MainFunctionParams& parameters) {
15   return NULL;
16 }
17 
GetWebContentsViewDelegate(WebContents * web_contents)18 WebContentsViewDelegate* ContentBrowserClient::GetWebContentsViewDelegate(
19     WebContents* web_contents) {
20   return NULL;
21 }
22 
GetEffectiveURL(BrowserContext * browser_context,const GURL & url)23 GURL ContentBrowserClient::GetEffectiveURL(BrowserContext* browser_context,
24                                            const GURL& url) {
25   return url;
26 }
27 
ShouldUseProcessPerSite(BrowserContext * browser_context,const GURL & effective_url)28 bool ContentBrowserClient::ShouldUseProcessPerSite(
29     BrowserContext* browser_context, const GURL& effective_url) {
30   return false;
31 }
32 
CreateRequestContext(BrowserContext * browser_context,ProtocolHandlerMap * protocol_handlers,URLRequestInterceptorScopedVector request_interceptors)33 net::URLRequestContextGetter* ContentBrowserClient::CreateRequestContext(
34     BrowserContext* browser_context,
35     ProtocolHandlerMap* protocol_handlers,
36     URLRequestInterceptorScopedVector request_interceptors) {
37   return NULL;
38 }
39 
40 net::URLRequestContextGetter*
CreateRequestContextForStoragePartition(BrowserContext * browser_context,const base::FilePath & partition_path,bool in_memory,ProtocolHandlerMap * protocol_handlers,URLRequestInterceptorScopedVector request_interceptors)41 ContentBrowserClient::CreateRequestContextForStoragePartition(
42     BrowserContext* browser_context,
43     const base::FilePath& partition_path,
44     bool in_memory,
45     ProtocolHandlerMap* protocol_handlers,
46     URLRequestInterceptorScopedVector request_interceptors) {
47   return NULL;
48 }
49 
IsHandledURL(const GURL & url)50 bool ContentBrowserClient::IsHandledURL(const GURL& url) {
51   return false;
52 }
53 
CanCommitURL(RenderProcessHost * process_host,const GURL & site_url)54 bool ContentBrowserClient::CanCommitURL(RenderProcessHost* process_host,
55                                         const GURL& site_url) {
56   return true;
57 }
58 
ShouldAllowOpenURL(SiteInstance * site_instance,const GURL & url)59 bool ContentBrowserClient::ShouldAllowOpenURL(SiteInstance* site_instance,
60                                               const GURL& url) {
61   return true;
62 }
63 
IsSuitableHost(RenderProcessHost * process_host,const GURL & site_url)64 bool ContentBrowserClient::IsSuitableHost(RenderProcessHost* process_host,
65                                           const GURL& site_url) {
66   return true;
67 }
68 
MayReuseHost(RenderProcessHost * process_host)69 bool ContentBrowserClient::MayReuseHost(RenderProcessHost* process_host) {
70   return true;
71 }
72 
ShouldTryToUseExistingProcessHost(BrowserContext * browser_context,const GURL & url)73 bool ContentBrowserClient::ShouldTryToUseExistingProcessHost(
74       BrowserContext* browser_context, const GURL& url) {
75   return false;
76 }
77 
ShouldSwapBrowsingInstancesForNavigation(SiteInstance * site_instance,const GURL & current_url,const GURL & new_url)78 bool ContentBrowserClient::ShouldSwapBrowsingInstancesForNavigation(
79     SiteInstance* site_instance,
80     const GURL& current_url,
81     const GURL& new_url) {
82   return false;
83 }
84 
ShouldSwapProcessesForRedirect(ResourceContext * resource_context,const GURL & current_url,const GURL & new_url)85 bool ContentBrowserClient::ShouldSwapProcessesForRedirect(
86     ResourceContext* resource_context, const GURL& current_url,
87     const GURL& new_url) {
88   return false;
89 }
90 
ShouldAssignSiteForURL(const GURL & url)91 bool ContentBrowserClient::ShouldAssignSiteForURL(const GURL& url) {
92   return true;
93 }
94 
GetCanonicalEncodingNameByAliasName(const std::string & alias_name)95 std::string ContentBrowserClient::GetCanonicalEncodingNameByAliasName(
96     const std::string& alias_name) {
97   return std::string();
98 }
99 
GetApplicationLocale()100 std::string ContentBrowserClient::GetApplicationLocale() {
101   return "en-US";
102 }
103 
GetAcceptLangs(BrowserContext * context)104 std::string ContentBrowserClient::GetAcceptLangs(BrowserContext* context) {
105   return std::string();
106 }
107 
GetDefaultFavicon()108 const gfx::ImageSkia* ContentBrowserClient::GetDefaultFavicon() {
109   static gfx::ImageSkia* empty = new gfx::ImageSkia();
110   return empty;
111 }
112 
AllowAppCache(const GURL & manifest_url,const GURL & first_party,ResourceContext * context)113 bool ContentBrowserClient::AllowAppCache(const GURL& manifest_url,
114                                          const GURL& first_party,
115                                          ResourceContext* context) {
116   return true;
117 }
118 
AllowGetCookie(const GURL & url,const GURL & first_party,const net::CookieList & cookie_list,ResourceContext * context,int render_process_id,int render_frame_id)119 bool ContentBrowserClient::AllowGetCookie(const GURL& url,
120                                           const GURL& first_party,
121                                           const net::CookieList& cookie_list,
122                                           ResourceContext* context,
123                                           int render_process_id,
124                                           int render_frame_id) {
125   return true;
126 }
127 
AllowSetCookie(const GURL & url,const GURL & first_party,const std::string & cookie_line,ResourceContext * context,int render_process_id,int render_frame_id,net::CookieOptions * options)128 bool ContentBrowserClient::AllowSetCookie(const GURL& url,
129                                           const GURL& first_party,
130                                           const std::string& cookie_line,
131                                           ResourceContext* context,
132                                           int render_process_id,
133                                           int render_frame_id,
134                                           net::CookieOptions* options) {
135   return true;
136 }
137 
AllowSaveLocalState(ResourceContext * context)138 bool ContentBrowserClient::AllowSaveLocalState(ResourceContext* context) {
139   return true;
140 }
141 
AllowWorkerDatabase(const GURL & url,const base::string16 & name,const base::string16 & display_name,unsigned long estimated_size,ResourceContext * context,const std::vector<std::pair<int,int>> & render_frames)142 bool ContentBrowserClient::AllowWorkerDatabase(
143     const GURL& url,
144     const base::string16& name,
145     const base::string16& display_name,
146     unsigned long estimated_size,
147     ResourceContext* context,
148     const std::vector<std::pair<int, int> >& render_frames) {
149   return true;
150 }
151 
AllowWorkerFileSystem(const GURL & url,ResourceContext * context,const std::vector<std::pair<int,int>> & render_frames)152 bool ContentBrowserClient::AllowWorkerFileSystem(
153     const GURL& url,
154     ResourceContext* context,
155     const std::vector<std::pair<int, int> >& render_frames) {
156   return true;
157 }
158 
AllowWorkerIndexedDB(const GURL & url,const base::string16 & name,ResourceContext * context,const std::vector<std::pair<int,int>> & render_frames)159 bool ContentBrowserClient::AllowWorkerIndexedDB(
160     const GURL& url,
161     const base::string16& name,
162     ResourceContext* context,
163     const std::vector<std::pair<int, int> >& render_frames) {
164   return true;
165 }
166 
CreateQuotaPermissionContext()167 QuotaPermissionContext* ContentBrowserClient::CreateQuotaPermissionContext() {
168   return NULL;
169 }
170 
OverrideRequestContextForURL(const GURL & url,ResourceContext * context)171 net::URLRequestContext* ContentBrowserClient::OverrideRequestContextForURL(
172     const GURL& url, ResourceContext* context) {
173   return NULL;
174 }
175 
GetStoragePartitionIdForSite(BrowserContext * browser_context,const GURL & site)176 std::string ContentBrowserClient::GetStoragePartitionIdForSite(
177     BrowserContext* browser_context,
178     const GURL& site) {
179   return std::string();
180 }
181 
IsValidStoragePartitionId(BrowserContext * browser_context,const std::string & partition_id)182 bool ContentBrowserClient::IsValidStoragePartitionId(
183     BrowserContext* browser_context,
184     const std::string& partition_id) {
185   // Since the GetStoragePartitionIdForChildProcess() only generates empty
186   // strings, we should only ever see empty strings coming back.
187   return partition_id.empty();
188 }
189 
GetStoragePartitionConfigForSite(BrowserContext * browser_context,const GURL & site,bool can_be_default,std::string * partition_domain,std::string * partition_name,bool * in_memory)190 void ContentBrowserClient::GetStoragePartitionConfigForSite(
191     BrowserContext* browser_context,
192     const GURL& site,
193     bool can_be_default,
194     std::string* partition_domain,
195     std::string* partition_name,
196     bool* in_memory) {
197   partition_domain->clear();
198   partition_name->clear();
199   *in_memory = false;
200 }
201 
GetMediaObserver()202 MediaObserver* ContentBrowserClient::GetMediaObserver() {
203   return NULL;
204 }
205 
206 blink::WebNotificationPresenter::Permission
CheckDesktopNotificationPermission(const GURL & source_origin,ResourceContext * context,int render_process_id)207     ContentBrowserClient::CheckDesktopNotificationPermission(
208         const GURL& source_origin,
209         ResourceContext* context,
210         int render_process_id) {
211   return blink::WebNotificationPresenter::PermissionAllowed;
212 }
213 
RequestGeolocationPermission(WebContents * web_contents,int bridge_id,const GURL & requesting_frame,bool user_gesture,base::Callback<void (bool)> result_callback,base::Closure * cancel_callback)214 void ContentBrowserClient::RequestGeolocationPermission(
215     WebContents* web_contents,
216     int bridge_id,
217     const GURL& requesting_frame,
218     bool user_gesture,
219     base::Callback<void(bool)> result_callback,
220     base::Closure* cancel_callback) {
221   result_callback.Run(true);
222 }
223 
RequestMidiSysExPermission(WebContents * web_contents,int bridge_id,const GURL & requesting_frame,bool user_gesture,base::Callback<void (bool)> result_callback,base::Closure * cancel_callback)224 void ContentBrowserClient::RequestMidiSysExPermission(
225     WebContents* web_contents,
226     int bridge_id,
227     const GURL& requesting_frame,
228     bool user_gesture,
229     base::Callback<void(bool)> result_callback,
230     base::Closure* cancel_callback) {
231   result_callback.Run(true);
232 }
233 
RequestProtectedMediaIdentifierPermission(WebContents * web_contents,const GURL & origin,base::Callback<void (bool)> result_callback,base::Closure * cancel_callback)234 void ContentBrowserClient::RequestProtectedMediaIdentifierPermission(
235     WebContents* web_contents,
236     const GURL& origin,
237     base::Callback<void(bool)> result_callback,
238     base::Closure* cancel_callback) {
239   result_callback.Run(true);
240 }
241 
CanCreateWindow(const GURL & opener_url,const GURL & opener_top_level_frame_url,const GURL & source_origin,WindowContainerType container_type,const GURL & target_url,const Referrer & referrer,WindowOpenDisposition disposition,const blink::WebWindowFeatures & features,bool user_gesture,bool opener_suppressed,ResourceContext * context,int render_process_id,int opener_id,bool * no_javascript_access)242 bool ContentBrowserClient::CanCreateWindow(
243     const GURL& opener_url,
244     const GURL& opener_top_level_frame_url,
245     const GURL& source_origin,
246     WindowContainerType container_type,
247     const GURL& target_url,
248     const Referrer& referrer,
249     WindowOpenDisposition disposition,
250     const blink::WebWindowFeatures& features,
251     bool user_gesture,
252     bool opener_suppressed,
253     ResourceContext* context,
254     int render_process_id,
255     int opener_id,
256     bool* no_javascript_access) {
257   *no_javascript_access = false;
258   return true;
259 }
260 
GetWorkerProcessTitle(const GURL & url,ResourceContext * context)261 std::string ContentBrowserClient::GetWorkerProcessTitle(
262     const GURL& url, ResourceContext* context) {
263   return std::string();
264 }
265 
266 SpeechRecognitionManagerDelegate*
GetSpeechRecognitionManagerDelegate()267     ContentBrowserClient::GetSpeechRecognitionManagerDelegate() {
268   return NULL;
269 }
270 
GetNetLog()271 net::NetLog* ContentBrowserClient::GetNetLog() {
272   return NULL;
273 }
274 
CreateAccessTokenStore()275 AccessTokenStore* ContentBrowserClient::CreateAccessTokenStore() {
276   return NULL;
277 }
278 
IsFastShutdownPossible()279 bool ContentBrowserClient::IsFastShutdownPossible() {
280   return true;
281 }
282 
GetDefaultDownloadDirectory()283 base::FilePath ContentBrowserClient::GetDefaultDownloadDirectory() {
284   return base::FilePath();
285 }
286 
GetDefaultDownloadName()287 std::string ContentBrowserClient::GetDefaultDownloadName() {
288   return std::string();
289 }
290 
291 BrowserPpapiHost*
GetExternalBrowserPpapiHost(int plugin_process_id)292     ContentBrowserClient::GetExternalBrowserPpapiHost(int plugin_process_id) {
293   return NULL;
294 }
295 
AllowPepperSocketAPI(BrowserContext * browser_context,const GURL & url,bool private_api,const SocketPermissionRequest * params)296 bool ContentBrowserClient::AllowPepperSocketAPI(
297     BrowserContext* browser_context,
298     const GURL& url,
299     bool private_api,
300     const SocketPermissionRequest* params) {
301   return false;
302 }
303 
CreateSelectFilePolicy(WebContents * web_contents)304 ui::SelectFilePolicy* ContentBrowserClient::CreateSelectFilePolicy(
305     WebContents* web_contents) {
306   return NULL;
307 }
308 
OverrideSystemLocationProvider()309 LocationProvider* ContentBrowserClient::OverrideSystemLocationProvider() {
310   return NULL;
311 }
312 
OverrideVibrationProvider()313 VibrationProvider* ContentBrowserClient::OverrideVibrationProvider() {
314   return NULL;
315 }
316 
GetDevToolsManagerDelegate()317 DevToolsManagerDelegate* ContentBrowserClient::GetDevToolsManagerDelegate() {
318   return NULL;
319 }
320 
IsPluginAllowedToCallRequestOSFileHandle(BrowserContext * browser_context,const GURL & url)321 bool ContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle(
322     BrowserContext* browser_context,
323     const GURL& url) {
324   return false;
325 }
326 
IsPluginAllowedToUseDevChannelAPIs(BrowserContext * browser_context,const GURL & url)327 bool ContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs(
328     BrowserContext* browser_context,
329     const GURL& url) {
330   return false;
331 }
332 
OverrideCookieStoreForRenderProcess(int render_process_id)333 net::CookieStore* ContentBrowserClient::OverrideCookieStoreForRenderProcess(
334     int render_process_id) {
335   return NULL;
336 }
337 
338 #if defined(OS_WIN)
GetResourceDllName()339 const wchar_t* ContentBrowserClient::GetResourceDllName() {
340   return NULL;
341 }
342 #endif
343 
344 #if defined(VIDEO_HOLE)
345 ExternalVideoSurfaceContainer*
OverrideCreateExternalVideoSurfaceContainer(WebContents * web_contents)346 ContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer(
347     WebContents* web_contents) {
348   return NULL;
349 }
350 #endif
351 
352 }  // namespace content
353