summaryrefslogtreecommitdiffstats
path: root/content/browser/frame_host/render_widget_host_view_guest.cc
diff options
context:
space:
mode:
authorpliard@chromium.org <pliard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-20 10:36:57 +0000
committerpliard@chromium.org <pliard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-20 10:36:57 +0000
commit1f172cbb1bfa19f1f2acaf976f59202289f3edc8 (patch)
tree11a62f371ae31bb9e902d23949f01cc8cb8162d0 /content/browser/frame_host/render_widget_host_view_guest.cc
parent54af29e301c163acae653eeed248e386712fd712 (diff)
downloadchromium_src-1f172cbb1bfa19f1f2acaf976f59202289f3edc8.zip
chromium_src-1f172cbb1bfa19f1f2acaf976f59202289f3edc8.tar.gz
chromium_src-1f172cbb1bfa19f1f2acaf976f59202289f3edc8.tar.bz2
Make HostController/DeviceListener deletion fully synchronous.
These classes are responsible for creating Forwarder instances that operate on their own thread. The Forwarder class used to self-delete independently of its creator (HostController/DeviceListener) lifecycle. This could have led to Forwarder instances still operating although HostController/DeviceListener were deleted. r229931 recently added support for adb port unmapping once there is no HostController instance anymore operating for a specific device. This change assumed (very reasonably) that ~HostController() was fully synchronous which was unfortunately not the case. This CL makes the Forwarder instances now explicitly owned by their creator. This is not as trivial as it sounds since the Forwarder instance creators (HostController and DeviceListener) live on a thread other than the one Forwarder instances are created on. This complexity is encapsulated into the new ForwardersManager class that creates and manages the lifecycle (e.g. explicit destruction or destruction on error) of a set of Forwarder instances. This class is used both by HostController and DeviceListener. BUG=313809 R=digit@chromium.org Review URL: https://codereview.chromium.org/60033002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245895 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/frame_host/render_widget_host_view_guest.cc')
0 files changed, 0 insertions, 0 deletions