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

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

Issue 1438513003: [MD] Implement incognito colors as a NativeTheme (for Aura). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: init param, pkasting feedback Created 5 years, 1 month 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/widget.h ('k') | no next file » | 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 #include "ui/views/widget/widget.h" 5 #include "ui/views/widget/widget.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 Widget* widget_; 104 Widget* widget_;
105 105
106 DISALLOW_COPY_AND_ASSIGN(DefaultWidgetDelegate); 106 DISALLOW_COPY_AND_ASSIGN(DefaultWidgetDelegate);
107 }; 107 };
108 108
109 //////////////////////////////////////////////////////////////////////////////// 109 ////////////////////////////////////////////////////////////////////////////////
110 // Widget, InitParams: 110 // Widget, InitParams:
111 111
112 Widget::InitParams::InitParams() 112 Widget::InitParams::InitParams()
113 : type(TYPE_WINDOW), 113 : type(TYPE_WINDOW),
114 delegate(NULL), 114 delegate(nullptr),
115 child(false), 115 child(false),
116 opacity(INFER_OPACITY), 116 opacity(INFER_OPACITY),
117 accept_events(true), 117 accept_events(true),
118 activatable(ACTIVATABLE_DEFAULT), 118 activatable(ACTIVATABLE_DEFAULT),
119 keep_on_top(false), 119 keep_on_top(false),
120 visible_on_all_workspaces(false), 120 visible_on_all_workspaces(false),
121 ownership(NATIVE_WIDGET_OWNS_WIDGET), 121 ownership(NATIVE_WIDGET_OWNS_WIDGET),
122 mirror_origin_in_rtl(false), 122 mirror_origin_in_rtl(false),
123 shadow_type(SHADOW_TYPE_DEFAULT), 123 shadow_type(SHADOW_TYPE_DEFAULT),
124 remove_standard_frame(false), 124 remove_standard_frame(false),
125 use_system_default_icon(false), 125 use_system_default_icon(false),
126 show_state(ui::SHOW_STATE_DEFAULT), 126 show_state(ui::SHOW_STATE_DEFAULT),
127 parent(NULL), 127 parent(nullptr),
128 native_widget(NULL), 128 native_widget(nullptr),
129 desktop_window_tree_host(NULL), 129 native_theme(nullptr),
130 desktop_window_tree_host(nullptr),
130 layer_type(ui::LAYER_TEXTURED), 131 layer_type(ui::LAYER_TEXTURED),
131 context(NULL), 132 context(nullptr),
132 force_show_in_taskbar(false), 133 force_show_in_taskbar(false),
133 force_software_compositing(false) { 134 force_software_compositing(false) {
134 } 135 }
135 136
136 Widget::InitParams::InitParams(Type type) 137 Widget::InitParams::InitParams(Type type)
137 : type(type), 138 : type(type),
138 delegate(NULL), 139 delegate(nullptr),
139 child(false), 140 child(false),
140 opacity(INFER_OPACITY), 141 opacity(INFER_OPACITY),
141 accept_events(true), 142 accept_events(true),
142 activatable(ACTIVATABLE_DEFAULT), 143 activatable(ACTIVATABLE_DEFAULT),
143 keep_on_top(type == TYPE_MENU || type == TYPE_DRAG), 144 keep_on_top(type == TYPE_MENU || type == TYPE_DRAG),
144 visible_on_all_workspaces(false), 145 visible_on_all_workspaces(false),
145 ownership(NATIVE_WIDGET_OWNS_WIDGET), 146 ownership(NATIVE_WIDGET_OWNS_WIDGET),
146 mirror_origin_in_rtl(false), 147 mirror_origin_in_rtl(false),
147 shadow_type(SHADOW_TYPE_DEFAULT), 148 shadow_type(SHADOW_TYPE_DEFAULT),
148 remove_standard_frame(false), 149 remove_standard_frame(false),
149 use_system_default_icon(false), 150 use_system_default_icon(false),
150 show_state(ui::SHOW_STATE_DEFAULT), 151 show_state(ui::SHOW_STATE_DEFAULT),
151 parent(NULL), 152 parent(nullptr),
152 native_widget(NULL), 153 native_widget(nullptr),
153 desktop_window_tree_host(NULL), 154 native_theme(nullptr),
155 desktop_window_tree_host(nullptr),
154 layer_type(ui::LAYER_TEXTURED), 156 layer_type(ui::LAYER_TEXTURED),
155 context(NULL), 157 context(nullptr),
156 force_show_in_taskbar(false), 158 force_show_in_taskbar(false),
157 force_software_compositing(false) { 159 force_software_compositing(false) {
158 } 160 }
159 161
160 Widget::InitParams::~InitParams() { 162 Widget::InitParams::~InitParams() {
161 } 163 }
162 164
163 //////////////////////////////////////////////////////////////////////////////// 165 ////////////////////////////////////////////////////////////////////////////////
164 // Widget, public: 166 // Widget, public:
165 167
166 Widget::Widget() 168 Widget::Widget()
167 : native_widget_(NULL), 169 : native_widget_(nullptr),
168 widget_delegate_(NULL), 170 native_theme_(nullptr),
169 non_client_view_(NULL), 171 widget_delegate_(nullptr),
170 dragged_view_(NULL), 172 non_client_view_(nullptr),
173 dragged_view_(nullptr),
171 ownership_(InitParams::NATIVE_WIDGET_OWNS_WIDGET), 174 ownership_(InitParams::NATIVE_WIDGET_OWNS_WIDGET),
172 is_secondary_widget_(true), 175 is_secondary_widget_(true),
173 frame_type_(FRAME_TYPE_DEFAULT), 176 frame_type_(FRAME_TYPE_DEFAULT),
174 disable_inactive_rendering_(false), 177 disable_inactive_rendering_(false),
175 widget_closed_(false), 178 widget_closed_(false),
176 saved_show_state_(ui::SHOW_STATE_DEFAULT), 179 saved_show_state_(ui::SHOW_STATE_DEFAULT),
177 focus_on_creation_(true), 180 focus_on_creation_(true),
178 is_top_level_(false), 181 is_top_level_(false),
179 native_widget_initialized_(false), 182 native_widget_initialized_(false),
180 native_widget_destroyed_(false), 183 native_widget_destroyed_(false),
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 361
359 ownership_ = params.ownership; 362 ownership_ = params.ownership;
360 native_widget_ = CreateNativeWidget(params, this)->AsNativeWidgetPrivate(); 363 native_widget_ = CreateNativeWidget(params, this)->AsNativeWidgetPrivate();
361 root_view_.reset(CreateRootView()); 364 root_view_.reset(CreateRootView());
362 default_theme_provider_.reset(new ui::DefaultThemeProvider); 365 default_theme_provider_.reset(new ui::DefaultThemeProvider);
363 if (params.type == InitParams::TYPE_MENU) { 366 if (params.type == InitParams::TYPE_MENU) {
364 is_mouse_button_pressed_ = 367 is_mouse_button_pressed_ =
365 internal::NativeWidgetPrivate::IsMouseButtonDown(); 368 internal::NativeWidgetPrivate::IsMouseButtonDown();
366 } 369 }
367 native_widget_->InitNativeWidget(params); 370 native_widget_->InitNativeWidget(params);
371 native_theme_ = params.native_theme;
368 if (RequiresNonClientView(params.type)) { 372 if (RequiresNonClientView(params.type)) {
369 non_client_view_ = new NonClientView; 373 non_client_view_ = new NonClientView;
370 non_client_view_->SetFrameView(CreateNonClientFrameView()); 374 non_client_view_->SetFrameView(CreateNonClientFrameView());
371 // Create the ClientView, add it to the NonClientView and add the 375 // Create the ClientView, add it to the NonClientView and add the
372 // NonClientView to the RootView. This will cause everything to be parented. 376 // NonClientView to the RootView. This will cause everything to be parented.
373 non_client_view_->set_client_view(widget_delegate_->CreateClientView(this)); 377 non_client_view_->set_client_view(widget_delegate_->CreateClientView(this));
374 non_client_view_->SetOverlayView(widget_delegate_->CreateOverlayView()); 378 non_client_view_->SetOverlayView(widget_delegate_->CreateOverlayView());
375 SetContentsView(non_client_view_); 379 SetContentsView(non_client_view_);
376 // Initialize the window's icon and title before setting the window's 380 // Initialize the window's icon and title before setting the window's
377 // initial bounds; the frame view's preferred height may depend on the 381 // initial bounds; the frame view's preferred height may depend on the
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 return provider; 763 return provider;
760 764
761 provider = root_widget->default_theme_provider_.get(); 765 provider = root_widget->default_theme_provider_.get();
762 if (provider) 766 if (provider)
763 return provider; 767 return provider;
764 } 768 }
765 return default_theme_provider_.get(); 769 return default_theme_provider_.get();
766 } 770 }
767 771
768 const ui::NativeTheme* Widget::GetNativeTheme() const { 772 const ui::NativeTheme* Widget::GetNativeTheme() const {
769 return native_widget_->GetNativeTheme(); 773 return native_theme_? native_theme_ : native_widget_->GetNativeTheme();
770 } 774 }
771 775
772 FocusManager* Widget::GetFocusManager() { 776 FocusManager* Widget::GetFocusManager() {
773 Widget* toplevel_widget = GetTopLevelWidget(); 777 Widget* toplevel_widget = GetTopLevelWidget();
774 return toplevel_widget ? toplevel_widget->focus_manager_.get() : NULL; 778 return toplevel_widget ? toplevel_widget->focus_manager_.get() : NULL;
775 } 779 }
776 780
777 const FocusManager* Widget::GetFocusManager() const { 781 const FocusManager* Widget::GetFocusManager() const {
778 const Widget* toplevel_widget = GetTopLevelWidget(); 782 const Widget* toplevel_widget = GetTopLevelWidget();
779 return toplevel_widget ? toplevel_widget->focus_manager_.get() : NULL; 783 return toplevel_widget ? toplevel_widget->focus_manager_.get() : NULL;
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
1498 1502
1499 //////////////////////////////////////////////////////////////////////////////// 1503 ////////////////////////////////////////////////////////////////////////////////
1500 // internal::NativeWidgetPrivate, NativeWidget implementation: 1504 // internal::NativeWidgetPrivate, NativeWidget implementation:
1501 1505
1502 internal::NativeWidgetPrivate* NativeWidgetPrivate::AsNativeWidgetPrivate() { 1506 internal::NativeWidgetPrivate* NativeWidgetPrivate::AsNativeWidgetPrivate() {
1503 return this; 1507 return this;
1504 } 1508 }
1505 1509
1506 } // namespace internal 1510 } // namespace internal
1507 } // namespace views 1511 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/widget.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698