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