diff options
author | ddorwin@chromium.org <ddorwin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-03 20:19:21 +0000 |
---|---|---|
committer | ddorwin@chromium.org <ddorwin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-03 20:19:21 +0000 |
commit | 7c469361a6f92e16b6327739f1709c07873f037c (patch) | |
tree | 6e6160d88d28bd874e3bd31c243b7643cc64742a /build | |
parent | cdf704183826c8336053e7abdca54a1fda19134e (diff) | |
download | chromium_src-7c469361a6f92e16b6327739f1709c07873f037c.zip chromium_src-7c469361a6f92e16b6327739f1709c07873f037c.tar.gz chromium_src-7c469361a6f92e16b6327739f1709c07873f037c.tar.bz2 |
Merge 82366 - PpapiBrokerImpl manages its own lifetime based on Connect and Disconnect calls.
Previously, the PluginModule still had a reference to the PpapiBrokerImpl, so the broker channel was not destroyed until the module was. Now, it is destroyed when the instance is or a plugin releases all references to PPB_BrokerTrusted.
This change also makes the PpapiBrokerImpl's reference to PPB_Broker_Impl a WeakPtr so that the PPB_Broker_Impl can be destroyed even if the PpapiBrokerImpl is not. This prevents a scenario where neither would be destroyed if the broker channel was never established and pending_connects_ was never cleared.
BUG=81335
TEST=Add the following to the PPB_BrokerTrusted::Connect callback: pp::Module::Get()->core()->ReleaseResource(broker_resource);. The broker process should exit in 30 seconds while the plugin process keeps running.
Review URL: http://codereview.chromium.org/6881033
TBR=ddorwin@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/branches/742/src@83956 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
0 files changed, 0 insertions, 0 deletions