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

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

Issue 7015051: Re-land: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/views/html_dialog_view.h" 5 #include "chrome/browser/ui/views/html_dialog_view.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "chrome/browser/ui/browser_dialogs.h" 9 #include "chrome/browser/ui/browser_dialogs.h"
10 #include "chrome/browser/ui/views/window.h" 10 #include "chrome/browser/ui/views/window.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 return std::string(); 141 return std::string();
142 } 142 }
143 143
144 void HtmlDialogView::OnDialogClosed(const std::string& json_retval) { 144 void HtmlDialogView::OnDialogClosed(const std::string& json_retval) {
145 HtmlDialogTabContentsDelegate::Detach(); 145 HtmlDialogTabContentsDelegate::Detach();
146 if (delegate_) { 146 if (delegate_) {
147 HtmlDialogUIDelegate* dialog_delegate = delegate_; 147 HtmlDialogUIDelegate* dialog_delegate = delegate_;
148 delegate_ = NULL; // We will not communicate further with the delegate. 148 delegate_ = NULL; // We will not communicate further with the delegate.
149 dialog_delegate->OnDialogClosed(json_retval); 149 dialog_delegate->OnDialogClosed(json_retval);
150 } 150 }
151 window()->CloseWindow(); 151 window()->Close();
152 } 152 }
153 153
154 void HtmlDialogView::OnWindowClosed() { 154 void HtmlDialogView::OnWindowClosed() {
155 if (delegate_) 155 if (delegate_)
156 delegate_->OnWindowClosed(); 156 delegate_->OnWindowClosed();
157 } 157 }
158 158
159 void HtmlDialogView::OnCloseContents(TabContents* source, 159 void HtmlDialogView::OnCloseContents(TabContents* source,
160 bool* out_close_dialog) { 160 bool* out_close_dialog) {
161 if (delegate_) 161 if (delegate_)
(...skipping 24 matching lines...) Expand all
186 // A simplified version of BrowserView::HandleKeyboardEvent(). 186 // A simplified version of BrowserView::HandleKeyboardEvent().
187 // We don't handle global keyboard shortcuts here, but that's fine since 187 // We don't handle global keyboard shortcuts here, but that's fine since
188 // they're all browser-specific. (This may change in the future.) 188 // they're all browser-specific. (This may change in the future.)
189 void HtmlDialogView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) { 189 void HtmlDialogView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {
190 #if defined(OS_WIN) 190 #if defined(OS_WIN)
191 // Any unhandled keyboard/character messages should be defproced. 191 // Any unhandled keyboard/character messages should be defproced.
192 // This allows stuff like F10, etc to work correctly. 192 // This allows stuff like F10, etc to work correctly.
193 DefWindowProc(event.os_event.hwnd, event.os_event.message, 193 DefWindowProc(event.os_event.hwnd, event.os_event.message,
194 event.os_event.wParam, event.os_event.lParam); 194 event.os_event.wParam, event.os_event.lParam);
195 #elif defined(TOOLKIT_USES_GTK) 195 #elif defined(TOOLKIT_USES_GTK)
196 views::WindowGtk* window_gtk = static_cast<views::WindowGtk*>(window()); 196 views::WindowGtk* window_gtk =
197 static_cast<views::WindowGtk*>(window()->native_window());
197 if (event.os_event && !event.skip_in_browser) { 198 if (event.os_event && !event.skip_in_browser) {
198 views::KeyEvent views_event(reinterpret_cast<GdkEvent*>(event.os_event)); 199 views::KeyEvent views_event(reinterpret_cast<GdkEvent*>(event.os_event));
199 window_gtk->HandleKeyboardEvent(views_event); 200 window_gtk->HandleKeyboardEvent(views_event);
200 } 201 }
201 #endif 202 #endif
202 } 203 }
203 204
204 void HtmlDialogView::CloseContents(TabContents* source) { 205 void HtmlDialogView::CloseContents(TabContents* source) {
205 bool close_dialog = false; 206 bool close_dialog = false;
206 OnCloseContents(source, &close_dialog); 207 OnCloseContents(source, &close_dialog);
(...skipping 13 matching lines...) Expand all
220 // Set the delegate. This must be done before loading the page. See 221 // Set the delegate. This must be done before loading the page. See
221 // the comment above HtmlDialogUI in its header file for why. 222 // the comment above HtmlDialogUI in its header file for why.
222 HtmlDialogUI::GetPropertyAccessor().SetProperty(tab_contents_->property_bag(), 223 HtmlDialogUI::GetPropertyAccessor().SetProperty(tab_contents_->property_bag(),
223 this); 224 this);
224 225
225 // Pressing the ESC key will close the dialog. 226 // Pressing the ESC key will close the dialog.
226 AddAccelerator(views::Accelerator(ui::VKEY_ESCAPE, false, false, false)); 227 AddAccelerator(views::Accelerator(ui::VKEY_ESCAPE, false, false, false));
227 228
228 DOMView::LoadURL(GetDialogContentURL()); 229 DOMView::LoadURL(GetDialogContentURL());
229 } 230 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/handle_web_keyboard_event_gtk.cc ('k') | chrome/browser/ui/views/hung_renderer_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698