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

Side by Side Diff: ui/views/bubble/bubble_dialog_delegate.cc

Issue 2571613002: Convert Register Protocol Handler dialog for Harmony/Material Design (Closed)
Patch Set: More fixed nits Created 3 years, 11 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 | « chrome/browser/ui/views/login_view.cc ('k') | ui/views/layout/layout_constants.h » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/bubble/bubble_dialog_delegate.h" 5 #include "ui/views/bubble/bubble_dialog_delegate.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "ui/accessibility/ax_node_data.h" 8 #include "ui/accessibility/ax_node_data.h"
9 #include "ui/base/default_style.h"
9 #include "ui/base/material_design/material_design_controller.h" 10 #include "ui/base/material_design/material_design_controller.h"
10 #include "ui/base/resource/resource_bundle.h" 11 #include "ui/base/resource/resource_bundle.h"
11 #include "ui/gfx/color_utils.h" 12 #include "ui/gfx/color_utils.h"
12 #include "ui/gfx/geometry/rect.h" 13 #include "ui/gfx/geometry/rect.h"
13 #include "ui/native_theme/native_theme.h" 14 #include "ui/native_theme/native_theme.h"
14 #include "ui/views/bubble/bubble_frame_view.h" 15 #include "ui/views/bubble/bubble_frame_view.h"
15 #include "ui/views/focus/view_storage.h" 16 #include "ui/views/focus/view_storage.h"
16 #include "ui/views/layout/layout_constants.h" 17 #include "ui/views/layout/layout_constants.h"
17 #include "ui/views/style/platform_style.h" 18 #include "ui/views/style/platform_style.h"
19 #include "ui/views/views_delegate.h"
18 #include "ui/views/widget/widget.h" 20 #include "ui/views/widget/widget.h"
19 #include "ui/views/widget/widget_observer.h" 21 #include "ui/views/widget/widget_observer.h"
20 #include "ui/views/window/dialog_client_view.h" 22 #include "ui/views/window/dialog_client_view.h"
21 23
22 #if defined(OS_WIN) 24 #if defined(OS_WIN)
23 #include "ui/base/win/shell.h" 25 #include "ui/base/win/shell.h"
24 #endif 26 #endif
25 27
26 namespace views { 28 namespace views {
27 29
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 97
96 ClientView* BubbleDialogDelegateView::CreateClientView(Widget* widget) { 98 ClientView* BubbleDialogDelegateView::CreateClientView(Widget* widget) {
97 DialogClientView* client = new DialogClientView(widget, GetContentsView()); 99 DialogClientView* client = new DialogClientView(widget, GetContentsView());
98 client->set_button_row_insets(gfx::Insets()); 100 client->set_button_row_insets(gfx::Insets());
99 widget->non_client_view()->set_mirror_client_in_rtl(mirror_arrow_in_rtl_); 101 widget->non_client_view()->set_mirror_client_in_rtl(mirror_arrow_in_rtl_);
100 return client; 102 return client;
101 } 103 }
102 104
103 NonClientFrameView* BubbleDialogDelegateView::CreateNonClientFrameView( 105 NonClientFrameView* BubbleDialogDelegateView::CreateNonClientFrameView(
104 Widget* widget) { 106 Widget* widget) {
107 ViewsDelegate* views_delegate = ViewsDelegate::GetInstance();
105 BubbleFrameView* frame = new BubbleFrameView( 108 BubbleFrameView* frame = new BubbleFrameView(
106 gfx::Insets(kPanelVertMargin, kPanelHorizMargin, 0, kPanelHorizMargin), 109 views_delegate ? views_delegate->GetDialogFrameViewInsets()
110 : gfx::Insets(kPanelVertMargin, kPanelHorizMargin, 0,
111 kPanelHorizMargin),
107 margins()); 112 margins());
108 // Note: In CreateBubble, the call to SizeToContents() will cause 113 // Note: In CreateBubble, the call to SizeToContents() will cause
109 // the relayout that this call requires. 114 // the relayout that this call requires.
110 frame->SetTitleFontList(GetTitleFontList()); 115 frame->SetTitleFontList(GetTitleFontList());
111 frame->SetFootnoteView(CreateFootnoteView()); 116 frame->SetFootnoteView(CreateFootnoteView());
112 117
113 BubbleBorder::Arrow adjusted_arrow = arrow(); 118 BubbleBorder::Arrow adjusted_arrow = arrow();
114 if (base::i18n::IsRTL() && mirror_arrow_in_rtl_) 119 if (base::i18n::IsRTL() && mirror_arrow_in_rtl_)
115 adjusted_arrow = BubbleBorder::horizontal_mirror(adjusted_arrow); 120 adjusted_arrow = BubbleBorder::horizontal_mirror(adjusted_arrow);
116 frame->SetBubbleBorder(std::unique_ptr<BubbleBorder>( 121 frame->SetBubbleBorder(std::unique_ptr<BubbleBorder>(
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 210
206 BubbleDialogDelegateView::BubbleDialogDelegateView(View* anchor_view, 211 BubbleDialogDelegateView::BubbleDialogDelegateView(View* anchor_view,
207 BubbleBorder::Arrow arrow) 212 BubbleBorder::Arrow arrow)
208 : close_on_deactivate_(true), 213 : close_on_deactivate_(true),
209 anchor_view_storage_id_(ViewStorage::GetInstance()->CreateStorageID()), 214 anchor_view_storage_id_(ViewStorage::GetInstance()->CreateStorageID()),
210 anchor_widget_(NULL), 215 anchor_widget_(NULL),
211 arrow_(arrow), 216 arrow_(arrow),
212 mirror_arrow_in_rtl_(PlatformStyle::kMirrorBubbleArrowInRTLByDefault), 217 mirror_arrow_in_rtl_(PlatformStyle::kMirrorBubbleArrowInRTLByDefault),
213 shadow_(BubbleBorder::SMALL_SHADOW), 218 shadow_(BubbleBorder::SMALL_SHADOW),
214 color_explicitly_set_(false), 219 color_explicitly_set_(false),
215 margins_(kPanelVertMargin,
216 kPanelHorizMargin,
217 kPanelVertMargin,
218 kPanelHorizMargin),
219 accept_events_(true), 220 accept_events_(true),
220 adjust_if_offscreen_(true), 221 adjust_if_offscreen_(true),
221 parent_window_(NULL) { 222 parent_window_(NULL) {
223 margins_ = ViewsDelegate::GetInstance()
224 ? ViewsDelegate::GetInstance()->GetBubbleDialogMargins()
225 : gfx::Insets(kPanelVertMargin, kPanelHorizMargin,
226 kPanelVertMargin, kPanelHorizMargin);
222 if (anchor_view) 227 if (anchor_view)
223 SetAnchorView(anchor_view); 228 SetAnchorView(anchor_view);
224 UpdateColorsFromTheme(GetNativeTheme()); 229 UpdateColorsFromTheme(GetNativeTheme());
225 } 230 }
226 231
227 gfx::Rect BubbleDialogDelegateView::GetBubbleBounds() { 232 gfx::Rect BubbleDialogDelegateView::GetBubbleBounds() {
228 // The argument rect has its origin at the bubble's arrow anchor point; 233 // The argument rect has its origin at the bubble's arrow anchor point;
229 // its size is the preferred size of the bubble's client view (this view). 234 // its size is the preferred size of the bubble's client view (this view).
230 bool anchor_minimized = anchor_widget() && anchor_widget()->IsMinimized(); 235 bool anchor_minimized = anchor_widget() && anchor_widget()->IsMinimized();
231 return GetBubbleFrameView()->GetUpdatedWindowBounds( 236 return GetBubbleFrameView()->GetUpdatedWindowBounds(
232 GetAnchorRect(), GetWidget()->client_view()->GetPreferredSize(), 237 GetAnchorRect(), GetWidget()->client_view()->GetPreferredSize(),
233 adjust_if_offscreen_ && !anchor_minimized); 238 adjust_if_offscreen_ && !anchor_minimized);
234 } 239 }
235 240
236 const gfx::FontList& BubbleDialogDelegateView::GetTitleFontList() const { 241 const gfx::FontList& BubbleDialogDelegateView::GetTitleFontList() const {
237 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); 242 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
243 if (ui::MaterialDesignController::IsSecondaryUiMaterial())
244 return rb.GetFontListWithDelta(ui::kTitleFontSizeDelta);
238 return rb.GetFontList(ui::ResourceBundle::MediumFont); 245 return rb.GetFontList(ui::ResourceBundle::MediumFont);
239 } 246 }
240 247
241 void BubbleDialogDelegateView::OnNativeThemeChanged( 248 void BubbleDialogDelegateView::OnNativeThemeChanged(
242 const ui::NativeTheme* theme) { 249 const ui::NativeTheme* theme) {
243 UpdateColorsFromTheme(theme); 250 UpdateColorsFromTheme(theme);
244 } 251 }
245 252
246 void BubbleDialogDelegateView::Init() {} 253 void BubbleDialogDelegateView::Init() {}
247 254
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 // http://crbug.com/474622 for details. 326 // http://crbug.com/474622 for details.
320 if (widget == GetWidget() && visible) { 327 if (widget == GetWidget() && visible) {
321 ui::AXNodeData node_data; 328 ui::AXNodeData node_data;
322 GetAccessibleNodeData(&node_data); 329 GetAccessibleNodeData(&node_data);
323 if (node_data.role == ui::AX_ROLE_ALERT_DIALOG) 330 if (node_data.role == ui::AX_ROLE_ALERT_DIALOG)
324 NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, true); 331 NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, true);
325 } 332 }
326 } 333 }
327 334
328 } // namespace views 335 } // namespace views
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/login_view.cc ('k') | ui/views/layout/layout_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698