1bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// Use of this source code is governed by a BSD-style license that can be
3bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// found in the LICENSE file.
4bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
5bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "chrome/browser/automation/automation_window_tracker.h"
6bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
7bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "chrome/common/native_window_notification_source.h"
8bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
9bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenAutomationWindowTracker::AutomationWindowTracker(
10bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IPC::Message::Sender* automation)
11bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    : AutomationResourceTracker<gfx::NativeWindow>(automation) {
12bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
13bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
14bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenAutomationWindowTracker::~AutomationWindowTracker() {
15bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
16bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
17bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenvoid AutomationWindowTracker::AddObserver(gfx::NativeWindow resource) {
18bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  registrar_.Add(this, NotificationType::WINDOW_CLOSED,
19bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen                 Source<gfx::NativeWindow>(resource));
20bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
21bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
22bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenvoid AutomationWindowTracker::RemoveObserver(gfx::NativeWindow resource) {
23bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  registrar_.Remove(this, NotificationType::WINDOW_CLOSED,
24bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen                    Source<gfx::NativeWindow>(resource));
25bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}
26