summaryrefslogtreecommitdiffstats
path: root/content/browser/plugin_process_host.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-23 22:20:41 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-23 22:20:41 +0000
commit69211e8c01a4aacd8f8b5afd61b3d2267460dfa8 (patch)
treea1f2a24c2b8caa5e174cc68bb34dc9c0742a5000 /content/browser/plugin_process_host.cc
parent744ec5b2c97bf4e54526dfca4a9f2052cdd7c324 (diff)
downloadchromium_src-69211e8c01a4aacd8f8b5afd61b3d2267460dfa8.zip
chromium_src-69211e8c01a4aacd8f8b5afd61b3d2267460dfa8.tar.gz
chromium_src-69211e8c01a4aacd8f8b5afd61b3d2267460dfa8.tar.bz2
Get the path of the plugin interposing library from the embedder, since they're the ones who bundle it. Make content still work without it. This allows plugins to work inside content_shell.
BUG=90448 Review URL: https://chromiumcodereview.appspot.com/10806075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147965 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/plugin_process_host.cc')
-rw-r--r--content/browser/plugin_process_host.cc19
1 files changed, 11 insertions, 8 deletions
diff --git a/content/browser/plugin_process_host.cc b/content/browser/plugin_process_host.cc
index f355012..23cac73 100644
--- a/content/browser/plugin_process_host.cc
+++ b/content/browser/plugin_process_host.cc
@@ -261,14 +261,17 @@ bool PluginProcessHost::Init(const webkit::WebPluginInfo& info) {
#if defined(OS_POSIX)
base::EnvironmentVector env;
#if defined(OS_MACOSX) && !defined(__LP64__)
- // Add our interposing library for Carbon. This is stripped back out in
- // plugin_main.cc, so changes here should be reflected there.
- std::string interpose_list(plugin_interpose_strings::kInterposeLibraryPath);
- const char* existing_list =
- getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey);
- if (existing_list) {
- interpose_list.insert(0, ":");
- interpose_list.insert(0, existing_list);
+ std::string interpose_list =
+ content::GetContentClient()->GetCarbonInterposePath();
+ if (!interpose_list.empty()) {
+ // Add our interposing library for Carbon. This is stripped back out in
+ // plugin_main.cc, so changes here should be reflected there.
+ const char* existing_list =
+ getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey);
+ if (existing_list) {
+ interpose_list.insert(0, ":");
+ interpose_list.insert(0, existing_list);
+ }
}
env.push_back(std::pair<std::string, std::string>(
plugin_interpose_strings::kDYLDInsertLibrariesKey,