| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromecast/renderer/cast_content_renderer_client.h" | 5 #include "chromecast/renderer/cast_content_renderer_client.h" |
| 6 | 6 |
| 7 #include <sys/sysinfo.h> | 7 #include <sys/sysinfo.h> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/memory/memory_pressure_listener.h" | 10 #include "base/memory/memory_pressure_listener.h" |
| 11 #include "chromecast/common/chromecast_switches.h" | 11 #include "chromecast/common/chromecast_switches.h" |
| 12 #include "chromecast/crash/cast_crash_keys.h" |
| 12 #include "chromecast/renderer/cast_media_load_deferrer.h" | 13 #include "chromecast/renderer/cast_media_load_deferrer.h" |
| 13 #include "chromecast/renderer/cast_render_process_observer.h" | 14 #include "chromecast/renderer/cast_render_process_observer.h" |
| 14 #include "chromecast/renderer/key_systems_cast.h" | 15 #include "chromecast/renderer/key_systems_cast.h" |
| 15 #include "chromecast/renderer/media/cma_media_renderer_factory.h" | 16 #include "chromecast/renderer/media/cma_media_renderer_factory.h" |
| 16 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" | 17 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" |
| 17 #include "content/public/common/content_switches.h" | 18 #include "content/public/common/content_switches.h" |
| 18 #include "content/public/renderer/render_frame.h" | 19 #include "content/public/renderer/render_frame.h" |
| 19 #include "content/public/renderer/render_view.h" | 20 #include "content/public/renderer/render_view.h" |
| 20 #include "content/public/renderer/render_view_observer.h" | 21 #include "content/public/renderer/render_view_observer.h" |
| 21 #include "crypto/nss_util.h" | 22 #include "crypto/nss_util.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 | 85 |
| 85 } // namespace | 86 } // namespace |
| 86 | 87 |
| 87 CastContentRendererClient::CastContentRendererClient() { | 88 CastContentRendererClient::CastContentRendererClient() { |
| 88 } | 89 } |
| 89 | 90 |
| 90 CastContentRendererClient::~CastContentRendererClient() { | 91 CastContentRendererClient::~CastContentRendererClient() { |
| 91 } | 92 } |
| 92 | 93 |
| 93 void CastContentRendererClient::RenderThreadStarted() { | 94 void CastContentRendererClient::RenderThreadStarted() { |
| 95 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| 94 #if defined(USE_NSS) | 96 #if defined(USE_NSS) |
| 95 // Note: Copied from chrome_render_process_observer.cc to fix b/8676652. | 97 // Note: Copied from chrome_render_process_observer.cc to fix b/8676652. |
| 96 // | 98 // |
| 97 // On platforms where the system NSS shared libraries are used, | 99 // On platforms where the system NSS shared libraries are used, |
| 98 // initialize NSS now because it won't be able to load the .so's | 100 // initialize NSS now because it won't be able to load the .so's |
| 99 // after entering the sandbox. | 101 // after entering the sandbox. |
| 100 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | |
| 101 if (!command_line->HasSwitch(switches::kSingleProcess)) | 102 if (!command_line->HasSwitch(switches::kSingleProcess)) |
| 102 crypto::InitNSSSafely(); | 103 crypto::InitNSSSafely(); |
| 103 #endif | 104 #endif |
| 104 | 105 |
| 105 #if defined(ARCH_CPU_ARM_FAMILY) && !defined(OS_ANDROID) | 106 #if defined(ARCH_CPU_ARM_FAMILY) && !defined(OS_ANDROID) |
| 106 PlatformPollFreemem(); | 107 PlatformPollFreemem(); |
| 107 #endif | 108 #endif |
| 108 | 109 |
| 109 cast_observer_.reset( | 110 cast_observer_.reset( |
| 110 new CastRenderProcessObserver(PlatformGetRendererMessageFilters())); | 111 new CastRenderProcessObserver(PlatformGetRendererMessageFilters())); |
| 111 | 112 |
| 112 prescient_networking_dispatcher_.reset( | 113 prescient_networking_dispatcher_.reset( |
| 113 new network_hints::PrescientNetworkingDispatcher()); | 114 new network_hints::PrescientNetworkingDispatcher()); |
| 115 |
| 116 std::string last_launched_app = |
| 117 command_line->GetSwitchValueNative(switches::kLastLaunchedApp); |
| 118 if (!last_launched_app.empty()) |
| 119 base::debug::SetCrashKeyValue(crash_keys::kLastApp, last_launched_app); |
| 120 |
| 121 std::string previous_app = |
| 122 command_line->GetSwitchValueNative(switches::kPreviousApp); |
| 123 if (!previous_app.empty()) |
| 124 base::debug::SetCrashKeyValue(crash_keys::kPreviousApp, previous_app); |
| 114 } | 125 } |
| 115 | 126 |
| 116 void CastContentRendererClient::RenderViewCreated( | 127 void CastContentRendererClient::RenderViewCreated( |
| 117 content::RenderView* render_view) { | 128 content::RenderView* render_view) { |
| 118 blink::WebView* webview = render_view->GetWebView(); | 129 blink::WebView* webview = render_view->GetWebView(); |
| 119 if (webview) { | 130 if (webview) { |
| 120 webview->setBaseBackgroundColor(kColorBlack); | 131 webview->setBaseBackgroundColor(kColorBlack); |
| 121 | 132 |
| 122 // The following settings express consistent behaviors across Cast | 133 // The following settings express consistent behaviors across Cast |
| 123 // embedders, though Android has enabled by default for mobile browsers. | 134 // embedders, though Android has enabled by default for mobile browsers. |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 closure.Run(); | 177 closure.Run(); |
| 167 return; | 178 return; |
| 168 } | 179 } |
| 169 | 180 |
| 170 // Lifetime is tied to |render_frame| via content::RenderFrameObserver. | 181 // Lifetime is tied to |render_frame| via content::RenderFrameObserver. |
| 171 new CastMediaLoadDeferrer(render_frame, closure); | 182 new CastMediaLoadDeferrer(render_frame, closure); |
| 172 } | 183 } |
| 173 | 184 |
| 174 } // namespace shell | 185 } // namespace shell |
| 175 } // namespace chromecast | 186 } // namespace chromecast |
| OLD | NEW |