Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Side by Side Diff: chromecast/renderer/cast_content_renderer_client.cc

Issue 944733003: Add flag to communicate last casted app to renderer process (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add previous app Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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);
gunsch 2015/02/24 00:54:43 do we also want to set the kCurrentApp crash key h
byungchul 2015/02/24 01:04:12 Either way fine to me.
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
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
OLDNEW
« chromecast/common/chromecast_switches.h ('K') | « chromecast/renderer/DEPS ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698