content_renderer_client.cc revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// found in the LICENSE file. 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include "content/public/renderer/content_renderer_client.h" 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)namespace content { 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)SkBitmap* ContentRendererClient::GetSadPluginBitmap() { 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)SkBitmap* ContentRendererClient::GetSadWebViewBitmap() { 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)std::string ContentRendererClient::GetDefaultEncoding() { 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return std::string(); 195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::OverrideCreatePlugin( 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) RenderFrame* render_frame, 235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebLocalFrame* frame, 245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const blink::WebPluginParams& params, 255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebPlugin** plugin) { 265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebPlugin* ContentRendererClient::CreatePluginReplacement( 305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) RenderFrame* render_frame, 315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const base::FilePath& plugin_path) { 325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::HasErrorPage(int http_status_code, 36591b958dee2cf159d33a0b931e6231072eaf38d5Ben Murdoch std::string* error_domain) { 37591b958dee2cf159d33a0b931e6231072eaf38d5Ben Murdoch return false; 388abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles)} 395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::ShouldSuppressErrorPage(RenderFrame* render_frame, 415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const GURL& url) { 425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)void ContentRendererClient::DeferMediaLoad(RenderFrame* render_frame, 465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const base::Closure& closure) { 475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) closure.Run(); 485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebMediaStreamCenter* 515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)ContentRendererClient::OverrideCreateWebMediaStreamCenter( 525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebMediaStreamCenterClient* client) { 535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebRTCPeerConnectionHandler* 575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)ContentRendererClient::OverrideCreateWebRTCPeerConnectionHandler( 585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebRTCPeerConnectionHandlerClient* client) { 595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebMIDIAccessor* 635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)ContentRendererClient::OverrideCreateMIDIAccessor( 645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebMIDIAccessorClient* client) { 655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebAudioDevice* 695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)ContentRendererClient::OverrideCreateAudioDevice( 705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) double sample_rate) { 715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebClipboard* ContentRendererClient::OverrideWebClipboard() { 755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebThemeEngine* ContentRendererClient::OverrideThemeEngine() { 795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 821e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)blink::WebSpeechSynthesizer* ContentRendererClient::OverrideSpeechSynthesizer( 835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebSpeechSynthesizerClient* client) { 845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 871e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)bool ContentRendererClient::RunIdleHandlerWhenWidgetsHidden() { 885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return true; 895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::AllowPopup() { 925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifdef OS_ANDROID 965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::HandleNavigation( 975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) RenderFrame* render_frame, 985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DocumentState* document_state, 995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int opener_id, 1005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebFrame* frame, 1015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const blink::WebURLRequest& request, 1025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebNavigationType type, 1035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebNavigationPolicy default_policy, 1045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool is_redirect) { 1055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 1085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1099bbd2f5e390b01907d97ecffde80aa1b06113aacTorne (Richard Coles)bool ContentRendererClient::ShouldFork(blink::WebFrame* frame, 1109bbd2f5e390b01907d97ecffde80aa1b06113aacTorne (Richard Coles) const GURL& url, 1115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const std::string& http_method, 1125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool is_initial_navigation, 1135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool is_server_redirect, 1145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool* send_referrer) { 1155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::WillSendRequest( 1195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebFrame* frame, 1205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) ui::PageTransition transition_type, 1215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const GURL& url, 1225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const GURL& first_party_for_cookies, 1235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) GURL* new_url) { 1245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)unsigned long long ContentRendererClient::VisitedLinkHash( 1285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const char* canonical_url, size_t length) { 1295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return 0LL; 1305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::IsLinkVisited(unsigned long long link_hash) { 1335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1349bbd2f5e390b01907d97ecffde80aa1b06113aacTorne (Richard Coles)} 1355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebPrescientNetworking* 1375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)ContentRendererClient::GetPrescientNetworking() { 1385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 1395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::ShouldOverridePageVisibilityState( 1425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const RenderFrame* render_frame, 1435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) blink::WebPageVisibilityState* override_state) { 1445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)const void* ContentRendererClient::CreatePPAPIInterface( 1485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const std::string& interface_name) { 1495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 1505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::IsExternalPepperPlugin( 1535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const std::string& module_name) { 1545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::AllowPepperMediaStreamAPI(const GURL& url) { 1585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)void ContentRendererClient::AddKeySystems( 1625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) std::vector<KeySystemInfo>* key_systems) { 1635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::ShouldReportDetailedMessageForSource( 1665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const base::string16& source) const { 1675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::ShouldEnableSiteIsolationPolicy() const { 1715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return true; 1725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)blink::WebWorkerPermissionClientProxy* 1755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)ContentRendererClient::CreateWorkerPermissionClientProxy( 1765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) RenderFrame* render_frame, blink::WebFrame* frame) { 1775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 1785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::IsPluginAllowedToUseCompositorAPI(const GURL& url) { 1815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::IsPluginAllowedToUseVideoDecodeAPI( 1855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const GURL& url) { 1865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)bool ContentRendererClient::IsPluginAllowedToUseDevChannelAPIs() { 1905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return false; 1915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)BrowserPluginDelegate* ContentRendererClient::CreateBrowserPluginDelegate( 1945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) RenderFrame* render_frame, 1955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) const std::string& mime_type) { 1965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return NULL; 1975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} 1985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} // namespace content 2005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)