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

Side by Side Diff: chrome/browser/ui/views/constrained_web_dialog_delegate_views.cc

Issue 680133002: Standardize usage of virtual/override/final specifiers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
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 "chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h" 5 #include "chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/ui/browser_finder.h" 8 #include "chrome/browser/ui/browser_finder.h"
9 #include "chrome/browser/ui/browser_window.h" 9 #include "chrome/browser/ui/browser_window.h"
10 #include "chrome/browser/ui/webui/chrome_web_contents_handler.h" 10 #include "chrome/browser/ui/webui/chrome_web_contents_handler.h"
(...skipping 13 matching lines...) Expand all
24 : public ui::WebDialogWebContentsDelegate { 24 : public ui::WebDialogWebContentsDelegate {
25 public: 25 public:
26 WebDialogWebContentsDelegateViews(content::BrowserContext* browser_context, 26 WebDialogWebContentsDelegateViews(content::BrowserContext* browser_context,
27 content::WebContents* initiator, 27 content::WebContents* initiator,
28 views::WebView* web_view) 28 views::WebView* web_view)
29 : ui::WebDialogWebContentsDelegate(browser_context, 29 : ui::WebDialogWebContentsDelegate(browser_context,
30 new ChromeWebContentsHandler()), 30 new ChromeWebContentsHandler()),
31 initiator_(initiator), 31 initiator_(initiator),
32 web_view_(web_view) { 32 web_view_(web_view) {
33 } 33 }
34 virtual ~WebDialogWebContentsDelegateViews() {} 34 ~WebDialogWebContentsDelegateViews() override {}
35 35
36 // ui::WebDialogWebContentsDelegate: 36 // ui::WebDialogWebContentsDelegate:
37 virtual void WebContentsFocused(content::WebContents* contents) override { 37 void WebContentsFocused(content::WebContents* contents) override {
38 // Ensure the WebView is focused when its WebContents is focused. 38 // Ensure the WebView is focused when its WebContents is focused.
39 web_view_->RequestFocus(); 39 web_view_->RequestFocus();
40 } 40 }
41 virtual void HandleKeyboardEvent( 41 void HandleKeyboardEvent(
42 content::WebContents* source, 42 content::WebContents* source,
43 const content::NativeWebKeyboardEvent& event) override { 43 const content::NativeWebKeyboardEvent& event) override {
44 // Forward shortcut keys in dialog to the browser. http://crbug.com/104586 44 // Forward shortcut keys in dialog to the browser. http://crbug.com/104586
45 // Disabled on Mac due to http://crbug.com/112173 45 // Disabled on Mac due to http://crbug.com/112173
46 #if !defined(OS_MACOSX) 46 #if !defined(OS_MACOSX)
47 Browser* current_browser = chrome::FindBrowserWithWebContents(initiator_); 47 Browser* current_browser = chrome::FindBrowserWithWebContents(initiator_);
48 if (!current_browser) 48 if (!current_browser)
49 return; 49 return;
50 current_browser->window()->HandleKeyboardEvent(event); 50 current_browser->window()->HandleKeyboardEvent(event);
51 #endif 51 #endif
(...skipping 10 matching lines...) Expand all
62 : public ConstrainedWebDialogDelegateBase { 62 : public ConstrainedWebDialogDelegateBase {
63 public: 63 public:
64 ConstrainedWebDialogDelegateViews(content::BrowserContext* context, 64 ConstrainedWebDialogDelegateViews(content::BrowserContext* context,
65 ui::WebDialogDelegate* delegate, 65 ui::WebDialogDelegate* delegate,
66 content::WebContents* web_contents, 66 content::WebContents* web_contents,
67 views::WebView* view) 67 views::WebView* view)
68 : ConstrainedWebDialogDelegateBase(context, delegate, 68 : ConstrainedWebDialogDelegateBase(context, delegate,
69 new WebDialogWebContentsDelegateViews(context, web_contents, view)), 69 new WebDialogWebContentsDelegateViews(context, web_contents, view)),
70 view_(view) {} 70 view_(view) {}
71 71
72 virtual ~ConstrainedWebDialogDelegateViews() {} 72 ~ConstrainedWebDialogDelegateViews() override {}
73 73
74 // ui::WebDialogWebContentsDelegate: 74 // ui::WebDialogWebContentsDelegate:
75 virtual void CloseContents(content::WebContents* source) override { 75 void CloseContents(content::WebContents* source) override {
76 view_->GetWidget()->Close(); 76 view_->GetWidget()->Close();
77 } 77 }
78 78
79 // contents::WebContentsDelegate: 79 // contents::WebContentsDelegate:
80 virtual void HandleKeyboardEvent( 80 void HandleKeyboardEvent(
81 content::WebContents* source, 81 content::WebContents* source,
82 const content::NativeWebKeyboardEvent& event) override { 82 const content::NativeWebKeyboardEvent& event) override {
83 unhandled_keyboard_event_handler_.HandleKeyboardEvent( 83 unhandled_keyboard_event_handler_.HandleKeyboardEvent(
84 event, view_->GetFocusManager()); 84 event, view_->GetFocusManager());
85 } 85 }
86 86
87 // ConstrainedWebDialogDelegate: 87 // ConstrainedWebDialogDelegate:
88 virtual web_modal::NativeWebContentsModalDialog GetNativeDialog() override { 88 web_modal::NativeWebContentsModalDialog GetNativeDialog() override {
89 return view_->GetWidget()->GetNativeView(); 89 return view_->GetWidget()->GetNativeView();
90 } 90 }
91 91
92 private: 92 private:
93 // Converts keyboard events on the WebContents to accelerators. 93 // Converts keyboard events on the WebContents to accelerators.
94 views::UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_; 94 views::UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_;
95 95
96 views::WebView* view_; 96 views::WebView* view_;
97 97
98 DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateViews); 98 DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateViews);
99 }; 99 };
100 100
101 class ConstrainedWebDialogDelegateViewViews 101 class ConstrainedWebDialogDelegateViewViews
102 : public views::WebView, 102 : public views::WebView,
103 public ConstrainedWebDialogDelegate, 103 public ConstrainedWebDialogDelegate,
104 public views::WidgetDelegate { 104 public views::WidgetDelegate {
105 public: 105 public:
106 ConstrainedWebDialogDelegateViewViews( 106 ConstrainedWebDialogDelegateViewViews(
107 content::BrowserContext* browser_context, 107 content::BrowserContext* browser_context,
108 ui::WebDialogDelegate* delegate, 108 ui::WebDialogDelegate* delegate,
109 content::WebContents* web_contents) 109 content::WebContents* web_contents)
110 : views::WebView(browser_context), 110 : views::WebView(browser_context),
111 impl_(new ConstrainedWebDialogDelegateViews(browser_context, delegate, 111 impl_(new ConstrainedWebDialogDelegateViews(browser_context, delegate,
112 web_contents, this)) { 112 web_contents, this)) {
113 SetWebContents(GetWebContents()); 113 SetWebContents(GetWebContents());
114 AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE)); 114 AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE));
115 } 115 }
116 virtual ~ConstrainedWebDialogDelegateViewViews() {} 116 ~ConstrainedWebDialogDelegateViewViews() override {}
117 117
118 // ConstrainedWebDialogDelegate: 118 // ConstrainedWebDialogDelegate:
119 virtual const ui::WebDialogDelegate* GetWebDialogDelegate() const override { 119 const ui::WebDialogDelegate* GetWebDialogDelegate() const override {
120 return impl_->GetWebDialogDelegate(); 120 return impl_->GetWebDialogDelegate();
121 } 121 }
122 virtual ui::WebDialogDelegate* GetWebDialogDelegate() override { 122 ui::WebDialogDelegate* GetWebDialogDelegate() override {
123 return impl_->GetWebDialogDelegate(); 123 return impl_->GetWebDialogDelegate();
124 } 124 }
125 virtual void OnDialogCloseFromWebUI() override { 125 void OnDialogCloseFromWebUI() override {
126 return impl_->OnDialogCloseFromWebUI(); 126 return impl_->OnDialogCloseFromWebUI();
127 } 127 }
128 virtual void ReleaseWebContentsOnDialogClose() override { 128 void ReleaseWebContentsOnDialogClose() override {
129 return impl_->ReleaseWebContentsOnDialogClose(); 129 return impl_->ReleaseWebContentsOnDialogClose();
130 } 130 }
131 virtual web_modal::NativeWebContentsModalDialog GetNativeDialog() override { 131 web_modal::NativeWebContentsModalDialog GetNativeDialog() override {
132 return impl_->GetNativeDialog(); 132 return impl_->GetNativeDialog();
133 } 133 }
134 virtual content::WebContents* GetWebContents() override { 134 content::WebContents* GetWebContents() override {
135 return impl_->GetWebContents(); 135 return impl_->GetWebContents();
136 } 136 }
137 137
138 // views::WidgetDelegate: 138 // views::WidgetDelegate:
139 virtual views::View* GetInitiallyFocusedView() override { 139 views::View* GetInitiallyFocusedView() override { return this; }
140 return this; 140 void WindowClosing() override {
141 }
142 virtual void WindowClosing() override {
143 if (!impl_->closed_via_webui()) 141 if (!impl_->closed_via_webui())
144 GetWebDialogDelegate()->OnDialogClosed(std::string()); 142 GetWebDialogDelegate()->OnDialogClosed(std::string());
145 } 143 }
146 virtual views::Widget* GetWidget() override { 144 views::Widget* GetWidget() override { return View::GetWidget(); }
147 return View::GetWidget(); 145 const views::Widget* GetWidget() const override { return View::GetWidget(); }
148 } 146 base::string16 GetWindowTitle() const override {
149 virtual const views::Widget* GetWidget() const override {
150 return View::GetWidget();
151 }
152 virtual base::string16 GetWindowTitle() const override {
153 return impl_->closed_via_webui() ? base::string16() : 147 return impl_->closed_via_webui() ? base::string16() :
154 GetWebDialogDelegate()->GetDialogTitle(); 148 GetWebDialogDelegate()->GetDialogTitle();
155 } 149 }
156 virtual views::View* GetContentsView() override { 150 views::View* GetContentsView() override { return this; }
157 return this; 151 views::NonClientFrameView* CreateNonClientFrameView(
158 }
159 virtual views::NonClientFrameView* CreateNonClientFrameView(
160 views::Widget* widget) override { 152 views::Widget* widget) override {
161 return views::DialogDelegate::CreateDialogFrameView(widget); 153 return views::DialogDelegate::CreateDialogFrameView(widget);
162 } 154 }
163 virtual bool ShouldShowCloseButton() const override { 155 bool ShouldShowCloseButton() const override {
164 // No close button if the dialog doesn't want a title bar. 156 // No close button if the dialog doesn't want a title bar.
165 return impl_->GetWebDialogDelegate()->ShouldShowDialogTitle(); 157 return impl_->GetWebDialogDelegate()->ShouldShowDialogTitle();
166 } 158 }
167 virtual ui::ModalType GetModalType() const override { 159 ui::ModalType GetModalType() const override { return ui::MODAL_TYPE_CHILD; }
168 return ui::MODAL_TYPE_CHILD;
169 }
170 160
171 // views::WebView: 161 // views::WebView:
172 virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) override { 162 bool AcceleratorPressed(const ui::Accelerator& accelerator) override {
173 // Pressing ESC closes the dialog. 163 // Pressing ESC closes the dialog.
174 DCHECK_EQ(ui::VKEY_ESCAPE, accelerator.key_code()); 164 DCHECK_EQ(ui::VKEY_ESCAPE, accelerator.key_code());
175 GetWidget()->Close(); 165 GetWidget()->Close();
176 return true; 166 return true;
177 } 167 }
178 virtual gfx::Size GetPreferredSize() const override { 168 gfx::Size GetPreferredSize() const override {
179 gfx::Size size; 169 gfx::Size size;
180 if (!impl_->closed_via_webui()) 170 if (!impl_->closed_via_webui())
181 GetWebDialogDelegate()->GetDialogSize(&size); 171 GetWebDialogDelegate()->GetDialogSize(&size);
182 return size; 172 return size;
183 } 173 }
184 virtual gfx::Size GetMinimumSize() const override { 174 gfx::Size GetMinimumSize() const override {
185 // Return an empty size so that we can be made smaller. 175 // Return an empty size so that we can be made smaller.
186 return gfx::Size(); 176 return gfx::Size();
187 } 177 }
188 178
189 private: 179 private:
190 scoped_ptr<ConstrainedWebDialogDelegateViews> impl_; 180 scoped_ptr<ConstrainedWebDialogDelegateViews> impl_;
191 181
192 DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateViewViews); 182 DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateViewViews);
193 }; 183 };
194 184
195 } // namespace 185 } // namespace
196 186
197 ConstrainedWebDialogDelegate* CreateConstrainedWebDialog( 187 ConstrainedWebDialogDelegate* CreateConstrainedWebDialog(
198 content::BrowserContext* browser_context, 188 content::BrowserContext* browser_context,
199 ui::WebDialogDelegate* delegate, 189 ui::WebDialogDelegate* delegate,
200 content::WebContents* web_contents) { 190 content::WebContents* web_contents) {
201 ConstrainedWebDialogDelegateViewViews* dialog = 191 ConstrainedWebDialogDelegateViewViews* dialog =
202 new ConstrainedWebDialogDelegateViewViews( 192 new ConstrainedWebDialogDelegateViewViews(
203 browser_context, delegate, web_contents); 193 browser_context, delegate, web_contents);
204 ShowWebModalDialogViews(dialog, web_contents); 194 ShowWebModalDialogViews(dialog, web_contents);
205 return dialog; 195 return dialog;
206 } 196 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/confirm_bubble_views.h ('k') | chrome/browser/ui/views/constrained_window_views_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698