Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chromecast / shell / renderer / cast_content_renderer_client.cc
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