15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/content_browser_client.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/image/image_skia.h" 97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "url/gurl.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BrowserMainParts* ContentBrowserClient::CreateBrowserMainParts( 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const MainFunctionParams& parameters) { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)WebContentsViewDelegate* ContentBrowserClient::GetWebContentsViewDelegate( 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WebContents* web_contents) { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GURL ContentBrowserClient::GetEffectiveURL(BrowserContext* browser_context, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url) { 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return url; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::ShouldUseProcessPerSite( 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserContext* browser_context, const GURL& effective_url) { 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)net::URLRequestContextGetter* ContentBrowserClient::CreateRequestContext( 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BrowserContext* browser_context, 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ProtocolHandlerMap* protocol_handlers, 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) URLRequestInterceptorScopedVector request_interceptors) { 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return NULL; 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)net::URLRequestContextGetter* 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)ContentBrowserClient::CreateRequestContextForStoragePartition( 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BrowserContext* browser_context, 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::FilePath& partition_path, 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool in_memory, 45a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ProtocolHandlerMap* protocol_handlers, 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) URLRequestInterceptorScopedVector request_interceptors) { 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return NULL; 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::IsHandledURL(const GURL& url) { 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 54a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)bool ContentBrowserClient::CanCommitURL(RenderProcessHost* process_host, 55a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) const GURL& site_url) { 56a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) return true; 57a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)} 58a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) 5958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)bool ContentBrowserClient::ShouldAllowOpenURL(SiteInstance* site_instance, 6058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) const GURL& url) { 6158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return true; 6258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 6358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::IsSuitableHost(RenderProcessHost* process_host, 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& site_url) { 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 69cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)bool ContentBrowserClient::MayReuseHost(RenderProcessHost* process_host) { 70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return true; 71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::ShouldTryToUseExistingProcessHost( 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserContext* browser_context, const GURL& url) { 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 78f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)bool ContentBrowserClient::ShouldSwapBrowsingInstancesForNavigation( 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SiteInstance* site_instance, 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& current_url, 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& new_url) { 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::ShouldSwapProcessesForRedirect( 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* resource_context, const GURL& current_url, 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& new_url) { 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochbool ContentBrowserClient::ShouldAssignSiteForURL(const GURL& url) { 927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return true; 937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ContentBrowserClient::GetCanonicalEncodingNameByAliasName( 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& alias_name) { 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return std::string(); 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ContentBrowserClient::GetApplicationLocale() { 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return "en-US"; 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ContentBrowserClient::GetAcceptLangs(BrowserContext* context) { 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return std::string(); 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 108f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)const gfx::ImageSkia* ContentBrowserClient::GetDefaultFavicon() { 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static gfx::ImageSkia* empty = new gfx::ImageSkia(); 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return empty; 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowAppCache(const GURL& manifest_url, 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& first_party, 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* context) { 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowGetCookie(const GURL& url, 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& first_party, 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const net::CookieList& cookie_list, 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* context, 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int render_process_id, 1245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int render_frame_id) { 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowSetCookie(const GURL& url, 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& first_party, 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& cookie_line, 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* context, 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int render_process_id, 1335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int render_frame_id, 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::CookieOptions* options) { 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowSaveLocalState(ResourceContext* context) { 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowWorkerDatabase( 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, 144a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& name, 145a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& display_name, 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) unsigned long estimated_size, 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* context, 1485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::vector<std::pair<int, int> >& render_frames) { 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 152116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid ContentBrowserClient::AllowWorkerFileSystem( 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* context, 155116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::vector<std::pair<int, int> >& render_frames, 156116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Callback<void(bool)> callback) { 157116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch callback.Run(true); 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowWorkerIndexedDB( 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, 162a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) const base::string16& name, 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ResourceContext* context, 1645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::vector<std::pair<int, int> >& render_frames) { 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)QuotaPermissionContext* ContentBrowserClient::CreateQuotaPermissionContext() { 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)net::URLRequestContext* ContentBrowserClient::OverrideRequestContextForURL( 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, ResourceContext* context) { 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ContentBrowserClient::GetStoragePartitionIdForSite( 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserContext* browser_context, 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& site) { 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return std::string(); 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::IsValidStoragePartitionId( 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserContext* browser_context, 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& partition_id) { 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Since the GetStoragePartitionIdForChildProcess() only generates empty 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // strings, we should only ever see empty strings coming back. 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return partition_id.empty(); 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ContentBrowserClient::GetStoragePartitionConfigForSite( 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserContext* browser_context, 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& site, 1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool can_be_default, 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string* partition_domain, 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string* partition_name, 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool* in_memory) { 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) partition_domain->clear(); 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) partition_name->clear(); 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *in_memory = false; 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MediaObserver* ContentBrowserClient::GetMediaObserver() { 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)blink::WebNotificationPermission 2085f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)ContentBrowserClient::CheckDesktopNotificationPermission( 2095f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const GURL& source_origin, 2105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) ResourceContext* context, 2115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) int render_process_id) { 2125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return blink::WebNotificationPermissionAllowed; 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void ContentBrowserClient::RequestGeolocationPermission( 216f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) WebContents* web_contents, 217f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) int bridge_id, 218f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const GURL& requesting_frame, 219f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) bool user_gesture, 220f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) base::Callback<void(bool)> result_callback, 221f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) base::Closure* cancel_callback) { 222f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) result_callback.Run(true); 223f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 224f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 225f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void ContentBrowserClient::RequestMidiSysExPermission( 226f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) WebContents* web_contents, 227f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) int bridge_id, 228f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const GURL& requesting_frame, 229f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) bool user_gesture, 230f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) base::Callback<void(bool)> result_callback, 231f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) base::Closure* cancel_callback) { 232f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) result_callback.Run(true); 233f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 234f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 235f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void ContentBrowserClient::RequestProtectedMediaIdentifierPermission( 236f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) WebContents* web_contents, 237f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const GURL& origin, 238f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) base::Callback<void(bool)> result_callback, 239f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) base::Closure* cancel_callback) { 240f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) result_callback.Run(true); 241f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 242f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 243558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochbool ContentBrowserClient::CanCreateWindow( 244558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch const GURL& opener_url, 24558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) const GURL& opener_top_level_frame_url, 246558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch const GURL& source_origin, 247558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch WindowContainerType container_type, 248558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch const GURL& target_url, 249cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const Referrer& referrer, 250558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch WindowOpenDisposition disposition, 251f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const blink::WebWindowFeatures& features, 252558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch bool user_gesture, 253558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch bool opener_suppressed, 254cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ResourceContext* context, 255558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch int render_process_id, 256558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch int opener_id, 257558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch bool* no_javascript_access) { 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *no_javascript_access = false; 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SpeechRecognitionManagerDelegate* 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ContentBrowserClient::GetSpeechRecognitionManagerDelegate() { 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)net::NetLog* ContentBrowserClient::GetNetLog() { 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AccessTokenStore* ContentBrowserClient::CreateAccessTokenStore() { 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::IsFastShutdownPossible() { 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)base::FilePath ContentBrowserClient::GetDefaultDownloadDirectory() { 2802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return base::FilePath(); 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ContentBrowserClient::GetDefaultDownloadName() { 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return std::string(); 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BrowserPpapiHost* 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ContentBrowserClient::GetExternalBrowserPpapiHost(int plugin_process_id) { 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return NULL; 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ContentBrowserClient::AllowPepperSocketAPI( 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserContext* browser_context, 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& url, 2957d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) bool private_api, 29668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) const SocketPermissionRequest* params) { 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)ui::SelectFilePolicy* ContentBrowserClient::CreateSelectFilePolicy( 3012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebContents* web_contents) { 3022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return NULL; 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)LocationProvider* ContentBrowserClient::OverrideSystemLocationProvider() { 3067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) return NULL; 3077d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)} 3087d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 309f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)VibrationProvider* ContentBrowserClient::OverrideVibrationProvider() { 310f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) return NULL; 311f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 312f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 313cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)DevToolsManagerDelegate* ContentBrowserClient::GetDevToolsManagerDelegate() { 314cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return NULL; 315cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 316cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 3174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)bool ContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle( 318cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) BrowserContext* browser_context, 3194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) const GURL& url) { 3204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) return false; 3214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 3224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 3236d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)bool ContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs( 3246d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) BrowserContext* browser_context, 3256d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) const GURL& url) { 3265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return false; 3275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 3285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 329a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)net::CookieStore* ContentBrowserClient::OverrideCookieStoreForRenderProcess( 330a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) int render_process_id) { 331a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return NULL; 332a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 333a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 334f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#if defined(OS_WIN) 335f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)const wchar_t* ContentBrowserClient::GetResourceDllName() { 336f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) return NULL; 337f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 338f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#endif 339f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 340a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#if defined(VIDEO_HOLE) 341a02191e04bc25c4935f804f2c080ae28663d096dBen MurdochExternalVideoSurfaceContainer* 342a02191e04bc25c4935f804f2c080ae28663d096dBen MurdochContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( 343a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch WebContents* web_contents) { 344a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch return NULL; 345a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch} 346a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#endif 347a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 3481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool ContentBrowserClient::CheckMediaAccessPermission( 3491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci BrowserContext* browser_context, 3501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const GURL& security_origin, 3511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MediaStreamType type) { 3521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return false; 3531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 3541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace content 356