// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_WM_PUBLIC_SCOPED_TOOLTIP_DISABLER_H_ #define UI_WM_PUBLIC_SCOPED_TOOLTIP_DISABLER_H_ #include "ui/aura/window_observer.h" namespace aura { namespace client { // Use to temporarily disable tooltips. class AURA_EXPORT ScopedTooltipDisabler : aura::WindowObserver { public: // Disables tooltips on |window| (does nothing if |window| is NULL). Tooltips // are reenabled from the destructor when there are no most outstanding // ScopedTooltipDisablers for |window|. explicit ScopedTooltipDisabler(aura::Window* window); virtual ~ScopedTooltipDisabler(); private: // Reenables the tooltips on the TooltipClient. void EnableTooltips(); // aura::WindowObserver: virtual void OnWindowDestroying(aura::Window* window) OVERRIDE; // The RootWindow to disable Tooltips on; NULL if the Window passed to the // constructor was not in a root or the root has been destroyed. aura::Window* root_; DISALLOW_COPY_AND_ASSIGN(ScopedTooltipDisabler); }; } // namespace client } // namespace aura #endif // UI_WM_PUBLIC_SCOPED_TOOLTIP_DISABLER_H_