Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/printing/print_dialog_cloud.h" | 5 #include "chrome/browser/printing/print_dialog_cloud.h" |
| 6 #include "chrome/browser/printing/print_dialog_cloud_internal.h" | 6 #include "chrome/browser/printing/print_dialog_cloud_internal.h" |
| 7 | 7 |
| 8 #include "base/base64.h" | 8 #include "base/base64.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 31 #include "content/public/browser/navigation_controller.h" | 31 #include "content/public/browser/navigation_controller.h" |
| 32 #include "content/public/browser/navigation_entry.h" | 32 #include "content/public/browser/navigation_entry.h" |
| 33 #include "content/public/browser/notification_registrar.h" | 33 #include "content/public/browser/notification_registrar.h" |
| 34 #include "content/public/browser/notification_source.h" | 34 #include "content/public/browser/notification_source.h" |
| 35 #include "content/public/browser/notification_types.h" | 35 #include "content/public/browser/notification_types.h" |
| 36 #include "content/public/browser/render_view_host.h" | 36 #include "content/public/browser/render_view_host.h" |
| 37 #include "content/public/browser/web_contents.h" | 37 #include "content/public/browser/web_contents.h" |
| 38 #include "content/public/browser/web_contents_view.h" | 38 #include "content/public/browser/web_contents_view.h" |
| 39 #include "content/public/browser/web_ui.h" | 39 #include "content/public/browser/web_ui.h" |
| 40 #include "ui/base/l10n/l10n_util.h" | 40 #include "ui/base/l10n/l10n_util.h" |
| 41 | |
| 42 #if defined(OS_WIN) | |
| 43 #include "ui/base/win/foreground_helper.h" | |
| 44 #endif | |
| 45 | |
| 41 #include "webkit/glue/webpreferences.h" | 46 #include "webkit/glue/webpreferences.h" |
| 42 | 47 |
| 43 #include "grit/generated_resources.h" | 48 #include "grit/generated_resources.h" |
| 44 | 49 |
| 45 #if defined(USE_AURA) | 50 #if defined(USE_AURA) |
| 46 #include "chrome/browser/ui/browser_window.h" | 51 #include "chrome/browser/ui/browser_window.h" |
| 47 #include "chrome/browser/ui/views/html_dialog_view.h" | 52 #include "chrome/browser/ui/views/html_dialog_view.h" |
| 53 #include "ui/aura/root_window.h" | |
| 48 #include "ui/views/widget/widget.h" | 54 #include "ui/views/widget/widget.h" |
| 49 #endif | 55 #endif |
| 50 | 56 |
| 51 // This module implements the UI support in Chrome for cloud printing. | 57 // This module implements the UI support in Chrome for cloud printing. |
| 52 // This means hosting a dialog containing HTML/JavaScript and using | 58 // This means hosting a dialog containing HTML/JavaScript and using |
| 53 // the published cloud print user interface integration APIs to get | 59 // the published cloud print user interface integration APIs to get |
| 54 // page setup settings from the dialog contents and provide the | 60 // page setup settings from the dialog contents and provide the |
| 55 // generated print data to the dialog contents for uploading to the | 61 // generated print data to the dialog contents for uploading to the |
| 56 // cloud print service. | 62 // cloud print service. |
| 57 | 63 |
| (...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 677 int width = pref_service->GetInteger(prefs::kCloudPrintDialogWidth); | 683 int width = pref_service->GetInteger(prefs::kCloudPrintDialogWidth); |
| 678 int height = pref_service->GetInteger(prefs::kCloudPrintDialogHeight); | 684 int height = pref_service->GetInteger(prefs::kCloudPrintDialogHeight); |
| 679 | 685 |
| 680 HtmlDialogUIDelegate* dialog_delegate = | 686 HtmlDialogUIDelegate* dialog_delegate = |
| 681 new internal_cloud_print_helpers::CloudPrintHtmlDialogDelegate( | 687 new internal_cloud_print_helpers::CloudPrintHtmlDialogDelegate( |
| 682 path_to_file, width, height, std::string(), job_title, print_ticket, | 688 path_to_file, width, height, std::string(), job_title, print_ticket, |
| 683 file_type, modal, delete_on_close, close_after_signin, | 689 file_type, modal, delete_on_close, close_after_signin, |
| 684 callback); | 690 callback); |
| 685 if (modal) { | 691 if (modal) { |
| 686 DCHECK(browser); | 692 DCHECK(browser); |
| 693 | |
| 687 #if defined(USE_AURA) | 694 #if defined(USE_AURA) |
| 688 HtmlDialogView* html_view = | 695 HtmlDialogView* html_view = |
| 689 new HtmlDialogView(profile, browser, dialog_delegate); | 696 new HtmlDialogView(profile, browser, dialog_delegate); |
| 690 views::Widget::CreateWindowWithParent(html_view, | 697 views::Widget::CreateWindowWithParent(html_view, |
| 691 browser->window()->GetNativeHandle()); | 698 browser->window()->GetNativeHandle()); |
| 692 html_view->InitDialog(); | 699 html_view->InitDialog(); |
| 693 html_view->GetWidget()->Show(); | 700 views::Widget* widget = html_view->GetWidget(); |
| 701 DCHECK(widget); | |
| 702 widget->Show(); | |
| 703 #if defined(OS_WIN) | |
| 704 gfx::NativeWindow window = widget->GetNativeWindow(); | |
| 705 #endif | |
| 694 #else | 706 #else |
| 695 browser->BrowserShowHtmlDialog(dialog_delegate, NULL, STYLE_GENERIC); | 707 #if defined(OS_WIN) |
| 708 gfx::NativeWindow window = | |
| 709 #endif | |
| 710 browser->BrowserShowHtmlDialog(dialog_delegate, NULL, | |
| 711 STYLE_GENERIC); | |
|
Scott Byer
2012/03/14 17:43:57
nit:indent
| |
| 712 #endif | |
| 713 #if defined(OS_WIN) | |
| 714 HWND dialog_handle; | |
| 715 #if defined(USE_AURA) | |
| 716 dialog_handle = window->GetRootWindow()->GetAcceleratedWidget(); | |
| 717 #else | |
| 718 dialog_handle = window; | |
| 719 #endif | |
| 720 if (::GetForegroundWindow() != dialog_handle) { | |
| 721 ui::ForegroundHelper::SetForeground(dialog_handle); | |
| 722 } | |
| 696 #endif | 723 #endif |
| 697 } else { | 724 } else { |
| 698 browser::ShowHtmlDialog(NULL, | 725 browser::ShowHtmlDialog(NULL, |
| 699 profile, | 726 profile, |
| 700 browser, | 727 browser, |
| 701 dialog_delegate, | 728 dialog_delegate, |
| 702 STYLE_GENERIC); | 729 STYLE_GENERIC); |
| 703 } | 730 } |
| 704 } | 731 } |
| 705 | 732 |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 809 file_type, | 836 file_type, |
| 810 false, | 837 false, |
| 811 delete_on_close); | 838 delete_on_close); |
| 812 return true; | 839 return true; |
| 813 } | 840 } |
| 814 } | 841 } |
| 815 return false; | 842 return false; |
| 816 } | 843 } |
| 817 | 844 |
| 818 } // end namespace | 845 } // end namespace |
| OLD | NEW |