Free old transport DIBs for which no PluginHostMsg_UpdateGeometry_ACK was received when destroying a WebPluginDelegateProxy.
Free old transport DIBs for which no PluginHostMsg_UpdateGeometry_ACK was
received when destroying a WebPluginDelegateProxy.

Since bugs 27510 and 26754 have been fixed, WebPluginDelegateProxy keeps old
TransportDIB objects alive until the plugin process confirms that they are no
longer necessary by sending a PluginHostMsg_UpdateGeometry_ACK message. Upon
receipt of this message, WebPluginDelegateProxy asks the browser process to
free the old TransportDIB. In case a plugin process hangs or crashes
(unfortunately, these things happen) while such a geometry change is in
flight, the renderer will never try to free the old TransportDIB.

In this change, old TransportDIB objects are always released by the renderer
process' WebPluginDelegateProxy destructor. At the point that the destructor
fires, no more PluginHostMsg_UpdateGeometry_ACK could possibly be processed,
and any old unfreed TransportDIB objects are no longer of any use.

This fix avoids a potential shared memory leak, and a browser process file
descriptor leak.

BUG=42791
TEST=none
Review URL: http://codereview.chromium.org/1727016

git-svn-id: http://src.chromium.org/svn/trunk/src@45944 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

Former-commit-id: 50cf0beee479802512f4cbfb65d35463da3b6ea7
meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser