Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: ui/views/widget/widget.h

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/widget/root_view_unittest.cc ('k') | ui/views/widget/widget_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_VIEWS_WIDGET_WIDGET_H_ 5 #ifndef UI_VIEWS_WIDGET_WIDGET_H_
6 #define UI_VIEWS_WIDGET_WIDGET_H_ 6 #define UI_VIEWS_WIDGET_WIDGET_H_
7 7
8 #include <memory>
8 #include <set> 9 #include <set>
9 #include <stack> 10 #include <stack>
10 #include <vector> 11 #include <vector>
11 12
12 #include "base/macros.h" 13 #include "base/macros.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/observer_list.h" 14 #include "base/observer_list.h"
15 #include "base/scoped_observer.h" 15 #include "base/scoped_observer.h"
16 #include "build/build_config.h" 16 #include "build/build_config.h"
17 #include "ui/base/ui_base_types.h" 17 #include "ui/base/ui_base_types.h"
18 #include "ui/events/event_source.h" 18 #include "ui/events/event_source.h"
19 #include "ui/gfx/geometry/rect.h" 19 #include "ui/gfx/geometry/rect.h"
20 #include "ui/gfx/native_widget_types.h" 20 #include "ui/gfx/native_widget_types.h"
21 #include "ui/native_theme/native_theme_observer.h" 21 #include "ui/native_theme/native_theme_observer.h"
22 #include "ui/views/focus/focus_manager.h" 22 #include "ui/views/focus/focus_manager.h"
23 #include "ui/views/widget/native_widget_delegate.h" 23 #include "ui/views/widget/native_widget_delegate.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 // either owns or is owned by its NativeWidget: 90 // either owns or is owned by its NativeWidget:
91 // 91 //
92 // ownership = NATIVE_WIDGET_OWNS_WIDGET (default) 92 // ownership = NATIVE_WIDGET_OWNS_WIDGET (default)
93 // The Widget instance is owned by its NativeWidget. When the NativeWidget 93 // The Widget instance is owned by its NativeWidget. When the NativeWidget
94 // is destroyed (in response to a native destruction message), it deletes 94 // is destroyed (in response to a native destruction message), it deletes
95 // the Widget from its destructor. 95 // the Widget from its destructor.
96 // ownership = WIDGET_OWNS_NATIVE_WIDGET (non-default) 96 // ownership = WIDGET_OWNS_NATIVE_WIDGET (non-default)
97 // The Widget instance owns its NativeWidget. This state implies someone 97 // The Widget instance owns its NativeWidget. This state implies someone
98 // else wants to control the lifetime of this object. When they destroy 98 // else wants to control the lifetime of this object. When they destroy
99 // the Widget it is responsible for destroying the NativeWidget (from its 99 // the Widget it is responsible for destroying the NativeWidget (from its
100 // destructor). This is often used to place a Widget in a scoped_ptr<> or 100 // destructor). This is often used to place a Widget in a std::unique_ptr<>
101 // on the stack in a test. 101 // or on the stack in a test.
102 class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, 102 class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
103 public ui::EventSource, 103 public ui::EventSource,
104 public FocusTraversable, 104 public FocusTraversable,
105 public ui::NativeThemeObserver { 105 public ui::NativeThemeObserver {
106 public: 106 public:
107 typedef std::set<Widget*> Widgets; 107 typedef std::set<Widget*> Widgets;
108 108
109 enum FrameType { 109 enum FrameType {
110 FRAME_TYPE_DEFAULT, // Use whatever the default would be. 110 FRAME_TYPE_DEFAULT, // Use whatever the default would be.
111 FRAME_TYPE_FORCE_CUSTOM, // Force the custom frame. 111 FRAME_TYPE_FORCE_CUSTOM, // Force the custom frame.
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 854
855 base::ObserverList<WidgetRemovalsObserver> removals_observers_; 855 base::ObserverList<WidgetRemovalsObserver> removals_observers_;
856 856
857 // Non-owned pointer to the Widget's delegate. If a NULL delegate is supplied 857 // Non-owned pointer to the Widget's delegate. If a NULL delegate is supplied
858 // to Init() a default WidgetDelegate is created. 858 // to Init() a default WidgetDelegate is created.
859 WidgetDelegate* widget_delegate_; 859 WidgetDelegate* widget_delegate_;
860 860
861 // The root of the View hierarchy attached to this window. 861 // The root of the View hierarchy attached to this window.
862 // WARNING: see warning in tooltip_manager_ for ordering dependencies with 862 // WARNING: see warning in tooltip_manager_ for ordering dependencies with
863 // this and tooltip_manager_. 863 // this and tooltip_manager_.
864 scoped_ptr<internal::RootView> root_view_; 864 std::unique_ptr<internal::RootView> root_view_;
865 865
866 // The View that provides the non-client area of the window (title bar, 866 // The View that provides the non-client area of the window (title bar,
867 // window controls, sizing borders etc). To use an implementation other than 867 // window controls, sizing borders etc). To use an implementation other than
868 // the default, this class must be sub-classed and this value set to the 868 // the default, this class must be sub-classed and this value set to the
869 // desired implementation before calling |InitWindow()|. 869 // desired implementation before calling |InitWindow()|.
870 NonClientView* non_client_view_; 870 NonClientView* non_client_view_;
871 871
872 // The focus manager keeping track of focus for this Widget and any of its 872 // The focus manager keeping track of focus for this Widget and any of its
873 // children. NULL for non top-level widgets. 873 // children. NULL for non top-level widgets.
874 // WARNING: RootView's destructor calls into the FocusManager. As such, this 874 // WARNING: RootView's destructor calls into the FocusManager. As such, this
875 // must be destroyed AFTER root_view_. This is enforced in DestroyRootView(). 875 // must be destroyed AFTER root_view_. This is enforced in DestroyRootView().
876 scoped_ptr<FocusManager> focus_manager_; 876 std::unique_ptr<FocusManager> focus_manager_;
877 877
878 // A theme provider to use when no other theme provider is specified. 878 // A theme provider to use when no other theme provider is specified.
879 scoped_ptr<ui::DefaultThemeProvider> default_theme_provider_; 879 std::unique_ptr<ui::DefaultThemeProvider> default_theme_provider_;
880 880
881 // Valid for the lifetime of RunShellDrag(), indicates the view the drag 881 // Valid for the lifetime of RunShellDrag(), indicates the view the drag
882 // started from. 882 // started from.
883 View* dragged_view_; 883 View* dragged_view_;
884 884
885 // See class documentation for Widget above for a note about ownership. 885 // See class documentation for Widget above for a note about ownership.
886 InitParams::Ownership ownership_; 886 InitParams::Ownership ownership_;
887 887
888 // See set_is_secondary_widget(). 888 // See set_is_secondary_widget().
889 bool is_secondary_widget_; 889 bool is_secondary_widget_;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
950 bool movement_disabled_; 950 bool movement_disabled_;
951 951
952 ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> observer_manager_; 952 ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver> observer_manager_;
953 953
954 DISALLOW_COPY_AND_ASSIGN(Widget); 954 DISALLOW_COPY_AND_ASSIGN(Widget);
955 }; 955 };
956 956
957 } // namespace views 957 } // namespace views
958 958
959 #endif // UI_VIEWS_WIDGET_WIDGET_H_ 959 #endif // UI_VIEWS_WIDGET_WIDGET_H_
OLDNEW
« no previous file with comments | « ui/views/widget/root_view_unittest.cc ('k') | ui/views/widget/widget_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698