content_browser_client.cc revision 116680a4aac90f2aa7413d9095a592090648e557
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::WebNotificationPresenter::Permission 208 ContentBrowserClient::CheckDesktopNotificationPermission( 209 const GURL& source_origin, 210 ResourceContext* context, 211 int render_process_id) { 212 return blink::WebNotificationPresenter::PermissionAllowed; 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 262std::string ContentBrowserClient::GetWorkerProcessTitle( 263 const GURL& url, ResourceContext* context) { 264 return std::string(); 265} 266 267SpeechRecognitionManagerDelegate* 268 ContentBrowserClient::GetSpeechRecognitionManagerDelegate() { 269 return NULL; 270} 271 272net::NetLog* ContentBrowserClient::GetNetLog() { 273 return NULL; 274} 275 276AccessTokenStore* ContentBrowserClient::CreateAccessTokenStore() { 277 return NULL; 278} 279 280bool ContentBrowserClient::IsFastShutdownPossible() { 281 return true; 282} 283 284base::FilePath ContentBrowserClient::GetDefaultDownloadDirectory() { 285 return base::FilePath(); 286} 287 288std::string ContentBrowserClient::GetDefaultDownloadName() { 289 return std::string(); 290} 291 292BrowserPpapiHost* 293 ContentBrowserClient::GetExternalBrowserPpapiHost(int plugin_process_id) { 294 return NULL; 295} 296 297bool ContentBrowserClient::AllowPepperSocketAPI( 298 BrowserContext* browser_context, 299 const GURL& url, 300 bool private_api, 301 const SocketPermissionRequest* params) { 302 return false; 303} 304 305ui::SelectFilePolicy* ContentBrowserClient::CreateSelectFilePolicy( 306 WebContents* web_contents) { 307 return NULL; 308} 309 310LocationProvider* ContentBrowserClient::OverrideSystemLocationProvider() { 311 return NULL; 312} 313 314VibrationProvider* ContentBrowserClient::OverrideVibrationProvider() { 315 return NULL; 316} 317 318DevToolsManagerDelegate* ContentBrowserClient::GetDevToolsManagerDelegate() { 319 return NULL; 320} 321 322bool ContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( 323 BrowserContext* browser_context, 324 const GURL& url) { 325 return false; 326} 327 328bool ContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs( 329 BrowserContext* browser_context, 330 const GURL& url) { 331 return false; 332} 333 334net::CookieStore* ContentBrowserClient::OverrideCookieStoreForRenderProcess( 335 int render_process_id) { 336 return NULL; 337} 338 339#if defined(OS_WIN) 340const wchar_t* ContentBrowserClient::GetResourceDllName() { 341 return NULL; 342} 343#endif 344 345#if defined(VIDEO_HOLE) 346ExternalVideoSurfaceContainer* 347ContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( 348 WebContents* web_contents) { 349 return NULL; 350} 351#endif 352 353} // namespace content 354