diff options
author | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-12 22:48:04 +0000 |
---|---|---|
committer | shess@chromium.org <shess@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-12 22:48:04 +0000 |
commit | d2f7edc63321237aa7ee16d7b6e013122165b12b (patch) | |
tree | be196fdf536a40d1488248553eb60d035016167d /content/ppapi_plugin | |
parent | 8475e0b401d0344cb24198a9c269cf5ef842fad5 (diff) | |
download | chromium_src-d2f7edc63321237aa7ee16d7b6e013122165b12b.zip chromium_src-d2f7edc63321237aa7ee16d7b6e013122165b12b.tar.gz chromium_src-d2f7edc63321237aa7ee16d7b6e013122165b12b.tar.bz2 |
[Mac] Don't unload ppapi broker bundle.
The module is being loaded in a way which destructively modifies the
Objective-C runtime structures, making it unsafe to unload.
BUG=172319
Review URL: https://codereview.chromium.org/12585007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187674 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/ppapi_plugin')
-rw-r--r-- | content/ppapi_plugin/ppapi_thread.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/content/ppapi_plugin/ppapi_thread.cc b/content/ppapi_plugin/ppapi_thread.cc index d6971410..a7acdbb 100644 --- a/content/ppapi_plugin/ppapi_thread.cc +++ b/content/ppapi_plugin/ppapi_thread.cc @@ -115,6 +115,16 @@ PpapiThread::~PpapiThread() { plugin_entry_points_.shutdown_module(); WebKit::shutdown(); +#if defined(OS_MACOSX) + // TODO(shess): <http://crbug.com/172319> is about how modules + // cannot be unloaded when Objective-C is involved. interaction + // between the Objective-C runtime and module unloading. Leaking + // the module here to work around this, a later CL should autodetect + // the problem and leak in NativeLibrary. + if (is_broker_) + library_.Release(); +#endif + #if defined(OS_WIN) if (permissions_.HasPermission(ppapi::PERMISSION_FLASH)) base::win::SetShouldCrashOnProcessDetach(false); |