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

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

Issue 2758323002: Broke out layout metric information from ViewsDelegate to LayoutProvider (Closed)
Patch Set: Fix Bookmark and Global error unittests Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/views_delegate.h" 5 #include "ui/views/views_delegate.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "ui/views/layout/layout_constants.h" 9 #include "ui/views/layout/layout_constants.h"
10 #include "ui/views/views_touch_selection_controller_factory.h" 10 #include "ui/views/views_touch_selection_controller_factory.h"
11 #include "ui/views/widget/native_widget_private.h" 11 #include "ui/views/widget/native_widget_private.h"
12 12
13 #if defined(USE_AURA) 13 #if defined(USE_AURA)
14 #include "ui/views/touchui/touch_selection_menu_runner_views.h" 14 #include "ui/views/touchui/touch_selection_menu_runner_views.h"
15 #endif 15 #endif
16 16
17 namespace views { 17 namespace views {
18 namespace { 18 namespace {
19 19
20 ViewsDelegate* views_delegate = nullptr; 20 ViewsDelegate* views_delegate = nullptr;
21 21
22 } 22 }
23 23
24 ViewsDelegate::ViewsDelegate()
25 : views_tsc_factory_(new ViewsTouchEditingControllerFactory) {
26 DCHECK(!views_delegate);
27 views_delegate = this;
28
29 ui::TouchEditingControllerFactory::SetInstance(views_tsc_factory_.get());
30
31 #if defined(USE_AURA)
32 touch_selection_menu_runner_.reset(new TouchSelectionMenuRunnerViews());
Peter Kasting 2017/03/24 22:51:13 Nit: Prefer =MakeUnique to reset(new (That said,
33 #endif
34 }
35
24 ViewsDelegate::~ViewsDelegate() { 36 ViewsDelegate::~ViewsDelegate() {
25 ui::TouchEditingControllerFactory::SetInstance(nullptr); 37 ui::TouchEditingControllerFactory::SetInstance(nullptr);
26 38
27 DCHECK_EQ(this, views_delegate); 39 DCHECK_EQ(this, views_delegate);
28 views_delegate = nullptr; 40 views_delegate = nullptr;
29 } 41 }
30 42
31 ViewsDelegate* ViewsDelegate::GetInstance() { 43 ViewsDelegate* ViewsDelegate::GetInstance() {
32 return views_delegate; 44 return views_delegate;
33 } 45 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 int ViewsDelegate::GetAppbarAutohideEdges(HMONITOR monitor, 131 int ViewsDelegate::GetAppbarAutohideEdges(HMONITOR monitor,
120 const base::Closure& callback) { 132 const base::Closure& callback) {
121 return EDGE_BOTTOM; 133 return EDGE_BOTTOM;
122 } 134 }
123 #endif 135 #endif
124 136
125 scoped_refptr<base::TaskRunner> ViewsDelegate::GetBlockingPoolTaskRunner() { 137 scoped_refptr<base::TaskRunner> ViewsDelegate::GetBlockingPoolTaskRunner() {
126 return nullptr; 138 return nullptr;
127 } 139 }
128 140
129 gfx::Insets ViewsDelegate::GetInsetsMetric(InsetsMetric metric) const {
130 switch (metric) {
131 case InsetsMetric::DIALOG_BUTTON:
132 return gfx::Insets(0, kButtonHEdgeMarginNew, kButtonVEdgeMarginNew,
133 kButtonHEdgeMarginNew);
134 case InsetsMetric::DIALOG_FRAME_VIEW:
135 return gfx::Insets(kPanelVertMargin, kButtonHEdgeMarginNew, 0,
136 kButtonHEdgeMarginNew);
137 case InsetsMetric::BUBBLE_DIALOG:
138 return gfx::Insets(kPanelVertMargin, kPanelHorizMargin);
139 }
140 NOTREACHED();
141 return gfx::Insets();
142 }
143
144 int ViewsDelegate::GetDistanceMetric(DistanceMetric metric) const {
145 switch (metric) {
146 case DistanceMetric::CLOSE_BUTTON_MARGIN:
147 return kCloseButtonMargin;
148 case DistanceMetric::RELATED_BUTTON_HORIZONTAL:
149 return kRelatedButtonHSpacing;
150 case DistanceMetric::RELATED_CONTROL_HORIZONTAL:
151 return kRelatedControlHorizontalSpacing;
152 case DistanceMetric::RELATED_CONTROL_VERTICAL:
153 return kRelatedControlVerticalSpacing;
154 case DistanceMetric::DIALOG_BUTTON_MINIMUM_WIDTH:
155 return kDialogMinimumButtonWidth;
156 case DistanceMetric::BUTTON_HORIZONTAL_PADDING:
157 return kButtonHorizontalPadding;
158 }
159 NOTREACHED();
160 return 0;
161 }
162
163 ViewsDelegate::ViewsDelegate()
164 : views_tsc_factory_(new ViewsTouchEditingControllerFactory) {
165 DCHECK(!views_delegate);
166 views_delegate = this;
167
168 ui::TouchEditingControllerFactory::SetInstance(views_tsc_factory_.get());
169
170 #if defined(USE_AURA)
171 touch_selection_menu_runner_.reset(new TouchSelectionMenuRunnerViews());
172 #endif
173 }
174
175 } // namespace views 141 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698