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. 4 5 #include "ui/aura/scoped_window_targeter.h" 6 7 #include "ui/aura/window.h" 8 9 namespace aura { 10 ScopedWindowTargeter(Window * window,scoped_ptr<ui::EventTargeter> new_targeter)11ScopedWindowTargeter::ScopedWindowTargeter( 12 Window* window, 13 scoped_ptr<ui::EventTargeter> new_targeter) 14 : window_(window), 15 old_targeter_(window->SetEventTargeter(new_targeter.Pass())) { 16 } 17 ~ScopedWindowTargeter()18ScopedWindowTargeter::~ScopedWindowTargeter() { 19 if (window_) 20 window_->SetEventTargeter(old_targeter_.Pass()); 21 } 22 OnWindowDestroyed(Window * window)23void ScopedWindowTargeter::OnWindowDestroyed(Window* window) { 24 CHECK_EQ(window_, window); 25 window_ = NULL; 26 old_targeter_.reset(); 27 } 28 29 } // namespace aura 30