summaryrefslogtreecommitdiffstats
path: root/chrome/browser/host_zoom_map.h
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-12 00:59:08 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-12 00:59:08 +0000
commitddeab8cb9bea22ce9fe0da2498433d722041dee3 (patch)
tree692ab9b68f53a2f8d8d81cef06165a0ffb17dd44 /chrome/browser/host_zoom_map.h
parent491328e2de2e7b6b405943f676166e72b2a77784 (diff)
downloadchromium_src-ddeab8cb9bea22ce9fe0da2498433d722041dee3.zip
chromium_src-ddeab8cb9bea22ce9fe0da2498433d722041dee3.tar.gz
chromium_src-ddeab8cb9bea22ce9fe0da2498433d722041dee3.tar.bz2
Made HostZoomMap be deleted on the UI thread
This fixes some DCHECKs in the themes sync integration tests. Re-enable themes sync integration tests. BUG=62779 TEST=themes sync integration tests Review URL: http://codereview.chromium.org/4835001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65884 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/host_zoom_map.h')
-rw-r--r--chrome/browser/host_zoom_map.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/chrome/browser/host_zoom_map.h b/chrome/browser/host_zoom_map.h
index 10f512e..6030f4c 100644
--- a/chrome/browser/host_zoom_map.h
+++ b/chrome/browser/host_zoom_map.h
@@ -16,6 +16,7 @@
#include "base/basictypes.h"
#include "base/lock.h"
#include "base/ref_counted.h"
+#include "chrome/browser/browser_thread.h"
#include "chrome/browser/prefs/pref_change_registrar.h"
#include "chrome/common/notification_observer.h"
#include "chrome/common/notification_registrar.h"
@@ -24,8 +25,12 @@ class GURL;
class PrefService;
class Profile;
-class HostZoomMap : public NotificationObserver,
- public base::RefCountedThreadSafe<HostZoomMap> {
+// HostZoomMap needs to be deleted on the UI thread because it listens
+// to notifications on there (and holds a NotificationRegistrar).
+class HostZoomMap :
+ public NotificationObserver,
+ public base::RefCountedThreadSafe<HostZoomMap,
+ BrowserThread::DeleteOnUIThread> {
public:
explicit HostZoomMap(Profile* profile);
@@ -74,7 +79,8 @@ class HostZoomMap : public NotificationObserver,
const NotificationDetails& details);
private:
- friend class base::RefCountedThreadSafe<HostZoomMap>;
+ friend struct BrowserThread::DeleteOnThread<BrowserThread::UI>;
+ friend class DeleteTask<HostZoomMap>;
typedef std::map<std::string, double> HostZoomLevels;