1 // Copyright 2014 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 "chromecast/shell/renderer/cast_content_renderer_client.h" 6 7 #include <sys/sysinfo.h> 8 9 #include "base/command_line.h" 10 #include "base/memory/memory_pressure_listener.h" 11 #include "chromecast/shell/renderer/key_systems_cast.h" 12 #include "content/public/common/content_switches.h" 13 #include "content/public/renderer/render_view.h" 14 #include "crypto/nss_util.h" 15 #include "third_party/WebKit/public/platform/WebColor.h" 16 #include "third_party/WebKit/public/web/WebSettings.h" 17 #include "third_party/WebKit/public/web/WebView.h" 18 19 namespace chromecast { 20 namespace shell { 21 22 namespace { 23 24 // Default background color to set for WebViews 25 const blink::WebColor kColorBlack = 0x000000FF; 26 27 } // namespace 28 29 void CastContentRendererClient::RenderThreadStarted() { 30 #if defined(USE_NSS) 31 // Note: Copied from chrome_render_process_observer.cc to fix b/8676652. 32 // 33 // On platforms where the system NSS shared libraries are used, 34 // initialize NSS now because it won't be able to load the .so's 35 // after entering the sandbox. 36 if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess)) 37 crypto::InitNSSSafely(); 38 #endif 39 } 40 41 void CastContentRendererClient::RenderViewCreated( 42 content::RenderView* render_view) { 43 blink::WebView* webview = render_view->GetWebView(); 44 if (webview) { 45 webview->setBaseBackgroundColor(kColorBlack); 46 webview->settings()->setShrinksViewportContentToFit(false); 47 } 48 } 49 50 void CastContentRendererClient::AddKeySystems( 51 std::vector<content::KeySystemInfo>* key_systems) { 52 AddChromecastKeySystems(key_systems); 53 AddChromecastPlatformKeySystems(key_systems); 54 } 55 56 } // namespace shell 57 } // namespace chromecast 58