automation_browser_tracker.h revision c407dc5cd9bdc5668497f21b26b09d988ab439de
1// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_AUTOMATION_AUTOMATION_BROWSER_TRACKER_H__ 6#define CHROME_BROWSER_AUTOMATION_AUTOMATION_BROWSER_TRACKER_H__ 7 8#include "chrome/browser/automation/automation_resource_tracker.h" 9#include "chrome/browser/browser.h" 10#include "chrome/common/notification_source.h" 11 12// Tracks Browser objects. 13class AutomationBrowserTracker : public AutomationResourceTracker<Browser*> { 14 public: 15 explicit AutomationBrowserTracker(IPC::Message::Sender* automation) 16 : AutomationResourceTracker<Browser*>(automation) { } 17 18 virtual ~AutomationBrowserTracker() { 19 } 20 21 virtual void AddObserver(Browser* resource) { 22 registrar_.Add(this, NotificationType::BROWSER_CLOSED, 23 Source<Browser>(resource)); 24 } 25 26 virtual void RemoveObserver(Browser* resource) { 27 registrar_.Remove(this, NotificationType::BROWSER_CLOSED, 28 Source<Browser>(resource)); 29 } 30}; 31 32#endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_BROWSER_TRACKER_H__ 33