summaryrefslogtreecommitdiffstats
path: root/content/utility
diff options
context:
space:
mode:
authordcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-22 22:44:41 +0000
committerdcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-22 22:44:41 +0000
commitce79d8512c33e5993d7d92b0d7b017b864f62bf3 (patch)
treeadbe9a51124047844dfde716238796dc7036a0ae /content/utility
parent78852f3791721c332ad6857689a18a100cff43c6 (diff)
downloadchromium_src-ce79d8512c33e5993d7d92b0d7b017b864f62bf3.zip
chromium_src-ce79d8512c33e5993d7d92b0d7b017b864f62bf3.tar.gz
chromium_src-ce79d8512c33e5993d7d92b0d7b017b864f62bf3.tar.bz2
Add Shutdown() helper to ChildThread and move all destructor logic.
r185551 changed the ordering of events in scoped_ptr<T>::reset(); specifically, callers can no longer rely on get() to return the old value of the stored pointer during a reset(). This causes issues such as http://crbug.com/232981. In order to break the dependency on the value of main_thread_.get() during main_thread_.reset(), destruction of ChildThread has been split into two parts. BUG=233761 Review URL: https://codereview.chromium.org/13878020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195628 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/utility')
-rw-r--r--content/utility/utility_thread_impl.cc3
-rw-r--r--content/utility/utility_thread_impl.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/content/utility/utility_thread_impl.cc b/content/utility/utility_thread_impl.cc
index 4febffa..eed1704 100644
--- a/content/utility/utility_thread_impl.cc
+++ b/content/utility/utility_thread_impl.cc
@@ -45,6 +45,9 @@ UtilityThreadImpl::UtilityThreadImpl()
}
UtilityThreadImpl::~UtilityThreadImpl() {
+}
+
+void UtilityThreadImpl::Shutdown() {
WebKit::shutdown();
}
diff --git a/content/utility/utility_thread_impl.h b/content/utility/utility_thread_impl.h
index da2ffbd..31c51a1 100644
--- a/content/utility/utility_thread_impl.h
+++ b/content/utility/utility_thread_impl.h
@@ -27,6 +27,7 @@ class UtilityThreadImpl : public UtilityThread,
public:
UtilityThreadImpl();
virtual ~UtilityThreadImpl();
+ virtual void Shutdown() OVERRIDE;
virtual bool Send(IPC::Message* msg) OVERRIDE;
virtual void ReleaseProcessIfNeeded() OVERRIDE;