Supervised user whitelists: Cleanup
[chromium-blink-merge.git] / ui / aura / scoped_window_targeter.cc
blobd71e9193df9bf39f8cb6f08ad1b26e5ba3ca9eb2
1 // Copyright 2014 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.
5 #include "ui/aura/scoped_window_targeter.h"
7 #include "ui/aura/window.h"
9 namespace aura {
11 ScopedWindowTargeter::ScopedWindowTargeter(
12 Window* window,
13 scoped_ptr<ui::EventTargeter> new_targeter)
14 : window_(window),
15 old_targeter_(window->SetEventTargeter(new_targeter.Pass())) {
16 window_->AddObserver(this);
19 ScopedWindowTargeter::~ScopedWindowTargeter() {
20 if (window_) {
21 window_->RemoveObserver(this);
22 window_->SetEventTargeter(old_targeter_.Pass());
26 void ScopedWindowTargeter::OnWindowDestroyed(Window* window) {
27 CHECK_EQ(window_, window);
28 window_ = NULL;
29 old_targeter_.reset();
32 } // namespace aura