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