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

Side by Side Diff: content/browser/plugin_process_host.cc

Issue 9150016: Move creation and ownership of ResourceDispatcherHost and PluginService to content. This gives a ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix chromeos ui_tests Created 8 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "content/browser/plugin_process_host.h" 5 #include "content/browser/plugin_process_host.h"
6 6
7 #if defined(OS_WIN) && !defined(USE_AURA) 7 #if defined(OS_WIN) && !defined(USE_AURA)
8 #include <windows.h> 8 #include <windows.h>
9 #elif defined(OS_POSIX) 9 #elif defined(OS_POSIX)
10 #include <utility> // for pair<> 10 #include <utility> // for pair<>
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 } else { 157 } else {
158 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 158 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
159 base::Bind(base::mac::SetCursorVisibility, true)); 159 base::Bind(base::mac::SetCursorVisibility, true));
160 } 160 }
161 } 161 }
162 #endif 162 #endif
163 // Cancel all pending and sent requests. 163 // Cancel all pending and sent requests.
164 CancelRequests(); 164 CancelRequests();
165 } 165 }
166 166
167 bool PluginProcessHost::Init(const webkit::WebPluginInfo& info, 167 bool PluginProcessHost::Init(const webkit::WebPluginInfo& info) {
168 const std::string& locale) {
169 info_ = info; 168 info_ = info;
170 set_name(info_.name); 169 set_name(info_.name);
171 170
172 std::string channel_id = child_process_host()->CreateChannel(); 171 std::string channel_id = child_process_host()->CreateChannel();
173 if (channel_id.empty()) 172 if (channel_id.empty())
174 return false; 173 return false;
175 174
176 // Build command line for plugin. When we have a plugin launcher, we can't 175 // Build command line for plugin. When we have a plugin launcher, we can't
177 // allow "self" on linux and we need the real file path. 176 // allow "self" on linux and we need the real file path.
178 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); 177 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess();
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 switches::kV, 223 switches::kV,
225 }; 224 };
226 225
227 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames, 226 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames,
228 arraysize(kSwitchNames)); 227 arraysize(kSwitchNames));
229 228
230 // If specified, prepend a launcher program to the command line. 229 // If specified, prepend a launcher program to the command line.
231 if (!plugin_launcher.empty()) 230 if (!plugin_launcher.empty())
232 cmd_line->PrependWrapper(plugin_launcher); 231 cmd_line->PrependWrapper(plugin_launcher);
233 232
233 std::string locale =
234 content::GetContentClient()->browser()->GetApplicationLocale();
234 if (!locale.empty()) { 235 if (!locale.empty()) {
235 // Pass on the locale so the null plugin will use the right language in the 236 // Pass on the locale so the null plugin will use the right language in the
236 // prompt to install the desired plugin. 237 // prompt to install the desired plugin.
237 cmd_line->AppendSwitchASCII(switches::kLang, locale); 238 cmd_line->AppendSwitchASCII(switches::kLang, locale);
238 } 239 }
239 240
240 cmd_line->AppendSwitchASCII(switches::kProcessChannelID, channel_id); 241 cmd_line->AppendSwitchASCII(switches::kProcessChannelID, channel_id);
241 242
242 #if defined(OS_POSIX) 243 #if defined(OS_POSIX)
243 base::environment_vector env; 244 base::environment_vector env;
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 } 424 }
424 425
425 void PluginProcessHost::OnChannelCreated( 426 void PluginProcessHost::OnChannelCreated(
426 const IPC::ChannelHandle& channel_handle) { 427 const IPC::ChannelHandle& channel_handle) {
427 Client* client = sent_requests_.front(); 428 Client* client = sent_requests_.front();
428 429
429 if (client) 430 if (client)
430 client->OnChannelOpened(channel_handle); 431 client->OnChannelOpened(channel_handle);
431 sent_requests_.pop_front(); 432 sent_requests_.pop_front();
432 } 433 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698