Home | History | Annotate | Download | only in renderer
      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