OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 // Pass on the locale so the null plugin will use the right language in the | 254 // Pass on the locale so the null plugin will use the right language in the |
255 // prompt to install the desired plugin. | 255 // prompt to install the desired plugin. |
256 cmd_line->AppendSwitchASCII(switches::kLang, locale); | 256 cmd_line->AppendSwitchASCII(switches::kLang, locale); |
257 } | 257 } |
258 | 258 |
259 cmd_line->AppendSwitchASCII(switches::kProcessChannelID, channel_id); | 259 cmd_line->AppendSwitchASCII(switches::kProcessChannelID, channel_id); |
260 | 260 |
261 #if defined(OS_POSIX) | 261 #if defined(OS_POSIX) |
262 base::EnvironmentVector env; | 262 base::EnvironmentVector env; |
263 #if defined(OS_MACOSX) && !defined(__LP64__) | 263 #if defined(OS_MACOSX) && !defined(__LP64__) |
264 // Add our interposing library for Carbon. This is stripped back out in | 264 std::string interpose_list = |
265 // plugin_main.cc, so changes here should be reflected there. | 265 content::GetContentClient()->GetCarbonInterposePath(); |
266 std::string interpose_list(plugin_interpose_strings::kInterposeLibraryPath); | 266 if (!interpose_list.empty()) { |
267 const char* existing_list = | 267 // Add our interposing library for Carbon. This is stripped back out in |
268 getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey); | 268 // plugin_main.cc, so changes here should be reflected there. |
269 if (existing_list) { | 269 const char* existing_list = |
270 interpose_list.insert(0, ":"); | 270 getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey); |
271 interpose_list.insert(0, existing_list); | 271 if (existing_list) { |
| 272 interpose_list.insert(0, ":"); |
| 273 interpose_list.insert(0, existing_list); |
| 274 } |
272 } | 275 } |
273 env.push_back(std::pair<std::string, std::string>( | 276 env.push_back(std::pair<std::string, std::string>( |
274 plugin_interpose_strings::kDYLDInsertLibrariesKey, | 277 plugin_interpose_strings::kDYLDInsertLibrariesKey, |
275 interpose_list)); | 278 interpose_list)); |
276 #endif | 279 #endif |
277 #endif | 280 #endif |
278 | 281 |
279 process_->Launch( | 282 process_->Launch( |
280 #if defined(OS_WIN) | 283 #if defined(OS_WIN) |
281 FilePath(), | 284 FilePath(), |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 } | 447 } |
445 | 448 |
446 void PluginProcessHost::OnChannelCreated( | 449 void PluginProcessHost::OnChannelCreated( |
447 const IPC::ChannelHandle& channel_handle) { | 450 const IPC::ChannelHandle& channel_handle) { |
448 Client* client = sent_requests_.front(); | 451 Client* client = sent_requests_.front(); |
449 | 452 |
450 if (client) | 453 if (client) |
451 client->OnChannelOpened(channel_handle); | 454 client->OnChannelOpened(channel_handle); |
452 sent_requests_.pop_front(); | 455 sent_requests_.pop_front(); |
453 } | 456 } |
OLD | NEW |