automation_window_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_WINDOW_TRACKER_H_ 6#define CHROME_BROWSER_AUTOMATION_AUTOMATION_WINDOW_TRACKER_H_ 7 8#include "build/build_config.h" 9#include "chrome/browser/automation/automation_resource_tracker.h" 10#include "chrome/common/native_window_notification_source.h" 11#include "gfx/native_widget_types.h" 12 13class AutomationWindowTracker 14 : public AutomationResourceTracker<gfx::NativeWindow> { 15 public: 16 explicit AutomationWindowTracker(IPC::Message::Sender* automation) 17 : AutomationResourceTracker<gfx::NativeWindow>(automation) { } 18 virtual ~AutomationWindowTracker() { 19 } 20 21 virtual void AddObserver(gfx::NativeWindow resource) { 22 registrar_.Add(this, NotificationType::WINDOW_CLOSED, 23 Source<gfx::NativeWindow>(resource)); 24 } 25 26 virtual void RemoveObserver(gfx::NativeWindow resource) { 27 registrar_.Remove(this, NotificationType::WINDOW_CLOSED, 28 Source<gfx::NativeWindow>(resource)); 29 } 30}; 31 32#endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_WINDOW_TRACKER_H_ 33