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#ifndef UI_VIEWS_WIDGET_WIDGET_REMOVALS_OBSERVER_H_ 6#define UI_VIEWS_WIDGET_WIDGET_REMOVALS_OBSERVER_H_ 7 8#include "ui/views/views_export.h" 9 10namespace views { 11 12class Widget; 13class View; 14 15// |WidgetRemovalsObserver| complements |WidgetObserver| with additional 16// notifications. These include events occurring during tear down like view 17// removal. For this reason, it is recommended that subclasses not also inherit 18// from |View|. 19class VIEWS_EXPORT WidgetRemovalsObserver { 20 public: 21 // Called immediately before a descendant view of |widget| is removed. 22 virtual void OnWillRemoveView(Widget* widget, View* view) {} 23 24 protected: 25 virtual ~WidgetRemovalsObserver() {} 26}; 27 28} // namespace views 29 30#endif // UI_VIEWS_WIDGET_WIDGET_REMOVALS_OBSERVER_H_ 31