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/ui/webui/print_preview/print_preview_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h" |
6 | 6 |
7 #include <ctype.h> | 7 #include <ctype.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 #include "chrome/browser/ui/browser_tabstrip.h" | 48 #include "chrome/browser/ui/browser_tabstrip.h" |
49 #include "chrome/browser/ui/chrome_select_file_policy.h" | 49 #include "chrome/browser/ui/chrome_select_file_policy.h" |
50 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" | 50 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" |
51 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" | 51 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
52 #include "chrome/browser/ui/webui/print_preview/printer_handler.h" | 52 #include "chrome/browser/ui/webui/print_preview/printer_handler.h" |
53 #include "chrome/browser/ui/webui/print_preview/sticky_settings.h" | 53 #include "chrome/browser/ui/webui/print_preview/sticky_settings.h" |
54 #include "chrome/common/chrome_switches.h" | 54 #include "chrome/common/chrome_switches.h" |
55 #include "chrome/common/cloud_print/cloud_print_cdd_conversion.h" | 55 #include "chrome/common/cloud_print/cloud_print_cdd_conversion.h" |
56 #include "chrome/common/cloud_print/cloud_print_constants.h" | 56 #include "chrome/common/cloud_print/cloud_print_constants.h" |
57 #include "chrome/common/crash_keys.h" | 57 #include "chrome/common/crash_keys.h" |
| 58 #include "chrome/common/features.h" |
58 #include "chrome/common/pref_names.h" | 59 #include "chrome/common/pref_names.h" |
59 #include "components/cloud_devices/common/cloud_device_description.h" | 60 #include "components/cloud_devices/common/cloud_device_description.h" |
60 #include "components/cloud_devices/common/cloud_devices_urls.h" | 61 #include "components/cloud_devices/common/cloud_devices_urls.h" |
61 #include "components/cloud_devices/common/printer_description.h" | 62 #include "components/cloud_devices/common/printer_description.h" |
62 #include "components/prefs/pref_service.h" | 63 #include "components/prefs/pref_service.h" |
63 #include "components/printing/common/print_messages.h" | 64 #include "components/printing/common/print_messages.h" |
64 #include "components/signin/core/browser/gaia_cookie_manager_service.h" | 65 #include "components/signin/core/browser/gaia_cookie_manager_service.h" |
65 #include "components/signin/core/browser/profile_oauth2_token_service.h" | 66 #include "components/signin/core/browser/profile_oauth2_token_service.h" |
66 #include "components/signin/core/browser/signin_manager.h" | 67 #include "components/signin/core/browser/signin_manager.h" |
67 #include "components/signin/core/common/profile_management_switches.h" | 68 #include "components/signin/core/common/profile_management_switches.h" |
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 base::Unretained(this))); | 603 base::Unretained(this))); |
603 web_ui()->RegisterMessageCallback("getPreview", | 604 web_ui()->RegisterMessageCallback("getPreview", |
604 base::Bind(&PrintPreviewHandler::HandleGetPreview, | 605 base::Bind(&PrintPreviewHandler::HandleGetPreview, |
605 base::Unretained(this))); | 606 base::Unretained(this))); |
606 web_ui()->RegisterMessageCallback("print", | 607 web_ui()->RegisterMessageCallback("print", |
607 base::Bind(&PrintPreviewHandler::HandlePrint, | 608 base::Bind(&PrintPreviewHandler::HandlePrint, |
608 base::Unretained(this))); | 609 base::Unretained(this))); |
609 web_ui()->RegisterMessageCallback("getPrinterCapabilities", | 610 web_ui()->RegisterMessageCallback("getPrinterCapabilities", |
610 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, | 611 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, |
611 base::Unretained(this))); | 612 base::Unretained(this))); |
612 #if defined(ENABLE_BASIC_PRINTING) | 613 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
613 web_ui()->RegisterMessageCallback("showSystemDialog", | 614 web_ui()->RegisterMessageCallback("showSystemDialog", |
614 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, | 615 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, |
615 base::Unretained(this))); | 616 base::Unretained(this))); |
616 #endif // ENABLE_BASIC_PRINTING | 617 #endif |
617 web_ui()->RegisterMessageCallback("signIn", | 618 web_ui()->RegisterMessageCallback("signIn", |
618 base::Bind(&PrintPreviewHandler::HandleSignin, | 619 base::Bind(&PrintPreviewHandler::HandleSignin, |
619 base::Unretained(this))); | 620 base::Unretained(this))); |
620 web_ui()->RegisterMessageCallback("getAccessToken", | 621 web_ui()->RegisterMessageCallback("getAccessToken", |
621 base::Bind(&PrintPreviewHandler::HandleGetAccessToken, | 622 base::Bind(&PrintPreviewHandler::HandleGetAccessToken, |
622 base::Unretained(this))); | 623 base::Unretained(this))); |
623 web_ui()->RegisterMessageCallback("manageCloudPrinters", | 624 web_ui()->RegisterMessageCallback("manageCloudPrinters", |
624 base::Bind(&PrintPreviewHandler::HandleManageCloudPrint, | 625 base::Bind(&PrintPreviewHandler::HandleManageCloudPrint, |
625 base::Unretained(this))); | 626 base::Unretained(this))); |
626 web_ui()->RegisterMessageCallback("manageLocalPrinters", | 627 web_ui()->RegisterMessageCallback("manageLocalPrinters", |
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1138 if (!args->GetString(0, &user)) | 1139 if (!args->GetString(0, &user)) |
1139 return; | 1140 return; |
1140 if (!user.empty()) | 1141 if (!user.empty()) |
1141 manage_url = net::AppendQueryParameter(manage_url, "user", user); | 1142 manage_url = net::AppendQueryParameter(manage_url, "user", user); |
1142 preview_web_contents()->OpenURL( | 1143 preview_web_contents()->OpenURL( |
1143 content::OpenURLParams(manage_url, content::Referrer(), | 1144 content::OpenURLParams(manage_url, content::Referrer(), |
1144 WindowOpenDisposition::NEW_FOREGROUND_TAB, | 1145 WindowOpenDisposition::NEW_FOREGROUND_TAB, |
1145 ui::PAGE_TRANSITION_LINK, false)); | 1146 ui::PAGE_TRANSITION_LINK, false)); |
1146 } | 1147 } |
1147 | 1148 |
1148 #if defined(ENABLE_BASIC_PRINTING) | 1149 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
1149 void PrintPreviewHandler::HandleShowSystemDialog( | 1150 void PrintPreviewHandler::HandleShowSystemDialog( |
1150 const base::ListValue* /*args*/) { | 1151 const base::ListValue* /*args*/) { |
1151 ReportStats(); | 1152 ReportStats(); |
1152 ReportUserActionHistogram(FALLBACK_TO_ADVANCED_SETTINGS_DIALOG); | 1153 ReportUserActionHistogram(FALLBACK_TO_ADVANCED_SETTINGS_DIALOG); |
1153 | 1154 |
1154 WebContents* initiator = GetInitiator(); | 1155 WebContents* initiator = GetInitiator(); |
1155 if (!initiator) | 1156 if (!initiator) |
1156 return; | 1157 return; |
1157 | 1158 |
1158 printing::PrintViewManager* print_view_manager = | 1159 printing::PrintViewManager* print_view_manager = |
1159 printing::PrintViewManager::FromWebContents(initiator); | 1160 printing::PrintViewManager::FromWebContents(initiator); |
1160 print_view_manager->PrintForSystemDialogNow( | 1161 print_view_manager->PrintForSystemDialogNow( |
1161 base::Bind(&PrintPreviewHandler::ClosePreviewDialog, | 1162 base::Bind(&PrintPreviewHandler::ClosePreviewDialog, |
1162 weak_factory_.GetWeakPtr())); | 1163 weak_factory_.GetWeakPtr())); |
1163 | 1164 |
1164 // Cancel the pending preview request if exists. | 1165 // Cancel the pending preview request if exists. |
1165 print_preview_ui()->OnCancelPendingPreviewRequest(); | 1166 print_preview_ui()->OnCancelPendingPreviewRequest(); |
1166 } | 1167 } |
1167 #endif // ENABLE_BASIC_PRINTING | 1168 #endif |
1168 | 1169 |
1169 void PrintPreviewHandler::HandleManagePrinters( | 1170 void PrintPreviewHandler::HandleManagePrinters( |
1170 const base::ListValue* /*args*/) { | 1171 const base::ListValue* /*args*/) { |
1171 ++manage_printers_dialog_request_count_; | 1172 ++manage_printers_dialog_request_count_; |
1172 #if defined(OS_CHROMEOS) | 1173 #if defined(OS_CHROMEOS) |
1173 GURL local_printers_manage_url(chrome::kChromeUIMdCupsSettingsURL); | 1174 GURL local_printers_manage_url(chrome::kChromeUIMdCupsSettingsURL); |
1174 preview_web_contents()->OpenURL( | 1175 preview_web_contents()->OpenURL( |
1175 content::OpenURLParams(local_printers_manage_url, content::Referrer(), | 1176 content::OpenURLParams(local_printers_manage_url, content::Referrer(), |
1176 WindowOpenDisposition::NEW_FOREGROUND_TAB, | 1177 WindowOpenDisposition::NEW_FOREGROUND_TAB, |
1177 ui::PAGE_TRANSITION_LINK, false)); | 1178 ui::PAGE_TRANSITION_LINK, false)); |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1404 FileSelected(path, 0, nullptr); | 1405 FileSelected(path, 0, nullptr); |
1405 } | 1406 } |
1406 | 1407 |
1407 void PrintPreviewHandler::OnPrintPreviewFailed() { | 1408 void PrintPreviewHandler::OnPrintPreviewFailed() { |
1408 if (reported_failed_preview_) | 1409 if (reported_failed_preview_) |
1409 return; | 1410 return; |
1410 reported_failed_preview_ = true; | 1411 reported_failed_preview_ = true; |
1411 ReportUserActionHistogram(PREVIEW_FAILED); | 1412 ReportUserActionHistogram(PREVIEW_FAILED); |
1412 } | 1413 } |
1413 | 1414 |
1414 #if defined(ENABLE_BASIC_PRINTING) | 1415 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
1415 void PrintPreviewHandler::ShowSystemDialog() { | 1416 void PrintPreviewHandler::ShowSystemDialog() { |
1416 HandleShowSystemDialog(NULL); | 1417 HandleShowSystemDialog(NULL); |
1417 } | 1418 } |
1418 #endif // ENABLE_BASIC_PRINTING | 1419 #endif |
1419 | 1420 |
1420 void PrintPreviewHandler::FileSelected(const base::FilePath& path, | 1421 void PrintPreviewHandler::FileSelected(const base::FilePath& path, |
1421 int /* index */, | 1422 int /* index */, |
1422 void* /* params */) { | 1423 void* /* params */) { |
1423 // Update downloads location and save sticky settings. | 1424 // Update downloads location and save sticky settings. |
1424 DownloadPrefs* download_prefs = DownloadPrefs::FromBrowserContext( | 1425 DownloadPrefs* download_prefs = DownloadPrefs::FromBrowserContext( |
1425 preview_web_contents()->GetBrowserContext()); | 1426 preview_web_contents()->GetBrowserContext()); |
1426 download_prefs->SetSaveFilePath(path.DirName()); | 1427 download_prefs->SetSaveFilePath(path.DirName()); |
1427 printing::StickySettings* sticky_settings = GetStickySettings(); | 1428 printing::StickySettings* sticky_settings = GetStickySettings(); |
1428 sticky_settings->SaveInPrefs( | 1429 sticky_settings->SaveInPrefs( |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1766 | 1767 |
1767 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1768 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { |
1768 if (gaia_cookie_manager_service_) | 1769 if (gaia_cookie_manager_service_) |
1769 gaia_cookie_manager_service_->RemoveObserver(this); | 1770 gaia_cookie_manager_service_->RemoveObserver(this); |
1770 } | 1771 } |
1771 | 1772 |
1772 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1773 void PrintPreviewHandler::SetPdfSavedClosureForTesting( |
1773 const base::Closure& closure) { | 1774 const base::Closure& closure) { |
1774 pdf_file_saved_closure_ = closure; | 1775 pdf_file_saved_closure_ = closure; |
1775 } | 1776 } |
OLD | NEW |