| 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 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 601 base::Unretained(this))); | 602 base::Unretained(this))); |
| 602 web_ui()->RegisterMessageCallback("getPreview", | 603 web_ui()->RegisterMessageCallback("getPreview", |
| 603 base::Bind(&PrintPreviewHandler::HandleGetPreview, | 604 base::Bind(&PrintPreviewHandler::HandleGetPreview, |
| 604 base::Unretained(this))); | 605 base::Unretained(this))); |
| 605 web_ui()->RegisterMessageCallback("print", | 606 web_ui()->RegisterMessageCallback("print", |
| 606 base::Bind(&PrintPreviewHandler::HandlePrint, | 607 base::Bind(&PrintPreviewHandler::HandlePrint, |
| 607 base::Unretained(this))); | 608 base::Unretained(this))); |
| 608 web_ui()->RegisterMessageCallback("getPrinterCapabilities", | 609 web_ui()->RegisterMessageCallback("getPrinterCapabilities", |
| 609 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, | 610 base::Bind(&PrintPreviewHandler::HandleGetPrinterCapabilities, |
| 610 base::Unretained(this))); | 611 base::Unretained(this))); |
| 611 #if defined(ENABLE_BASIC_PRINTING) | 612 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
| 612 web_ui()->RegisterMessageCallback("showSystemDialog", | 613 web_ui()->RegisterMessageCallback("showSystemDialog", |
| 613 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, | 614 base::Bind(&PrintPreviewHandler::HandleShowSystemDialog, |
| 614 base::Unretained(this))); | 615 base::Unretained(this))); |
| 615 #endif // ENABLE_BASIC_PRINTING | 616 #endif |
| 616 web_ui()->RegisterMessageCallback("signIn", | 617 web_ui()->RegisterMessageCallback("signIn", |
| 617 base::Bind(&PrintPreviewHandler::HandleSignin, | 618 base::Bind(&PrintPreviewHandler::HandleSignin, |
| 618 base::Unretained(this))); | 619 base::Unretained(this))); |
| 619 web_ui()->RegisterMessageCallback("getAccessToken", | 620 web_ui()->RegisterMessageCallback("getAccessToken", |
| 620 base::Bind(&PrintPreviewHandler::HandleGetAccessToken, | 621 base::Bind(&PrintPreviewHandler::HandleGetAccessToken, |
| 621 base::Unretained(this))); | 622 base::Unretained(this))); |
| 622 web_ui()->RegisterMessageCallback("manageCloudPrinters", | 623 web_ui()->RegisterMessageCallback("manageCloudPrinters", |
| 623 base::Bind(&PrintPreviewHandler::HandleManageCloudPrint, | 624 base::Bind(&PrintPreviewHandler::HandleManageCloudPrint, |
| 624 base::Unretained(this))); | 625 base::Unretained(this))); |
| 625 web_ui()->RegisterMessageCallback("manageLocalPrinters", | 626 web_ui()->RegisterMessageCallback("manageLocalPrinters", |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1139 if (!user.empty()) | 1140 if (!user.empty()) |
| 1140 manage_url = net::AppendQueryParameter(manage_url, "user", user); | 1141 manage_url = net::AppendQueryParameter(manage_url, "user", user); |
| 1141 preview_web_contents()->OpenURL(content::OpenURLParams( | 1142 preview_web_contents()->OpenURL(content::OpenURLParams( |
| 1142 manage_url, | 1143 manage_url, |
| 1143 content::Referrer(), | 1144 content::Referrer(), |
| 1144 NEW_FOREGROUND_TAB, | 1145 NEW_FOREGROUND_TAB, |
| 1145 ui::PAGE_TRANSITION_LINK, | 1146 ui::PAGE_TRANSITION_LINK, |
| 1146 false)); | 1147 false)); |
| 1147 } | 1148 } |
| 1148 | 1149 |
| 1149 #if defined(ENABLE_BASIC_PRINTING) | 1150 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
| 1150 void PrintPreviewHandler::HandleShowSystemDialog( | 1151 void PrintPreviewHandler::HandleShowSystemDialog( |
| 1151 const base::ListValue* /*args*/) { | 1152 const base::ListValue* /*args*/) { |
| 1152 ReportStats(); | 1153 ReportStats(); |
| 1153 ReportUserActionHistogram(FALLBACK_TO_ADVANCED_SETTINGS_DIALOG); | 1154 ReportUserActionHistogram(FALLBACK_TO_ADVANCED_SETTINGS_DIALOG); |
| 1154 | 1155 |
| 1155 WebContents* initiator = GetInitiator(); | 1156 WebContents* initiator = GetInitiator(); |
| 1156 if (!initiator) | 1157 if (!initiator) |
| 1157 return; | 1158 return; |
| 1158 | 1159 |
| 1159 printing::PrintViewManager* print_view_manager = | 1160 printing::PrintViewManager* print_view_manager = |
| 1160 printing::PrintViewManager::FromWebContents(initiator); | 1161 printing::PrintViewManager::FromWebContents(initiator); |
| 1161 print_view_manager->PrintForSystemDialogNow( | 1162 print_view_manager->PrintForSystemDialogNow( |
| 1162 base::Bind(&PrintPreviewHandler::ClosePreviewDialog, | 1163 base::Bind(&PrintPreviewHandler::ClosePreviewDialog, |
| 1163 weak_factory_.GetWeakPtr())); | 1164 weak_factory_.GetWeakPtr())); |
| 1164 | 1165 |
| 1165 // Cancel the pending preview request if exists. | 1166 // Cancel the pending preview request if exists. |
| 1166 print_preview_ui()->OnCancelPendingPreviewRequest(); | 1167 print_preview_ui()->OnCancelPendingPreviewRequest(); |
| 1167 } | 1168 } |
| 1168 #endif // ENABLE_BASIC_PRINTING | 1169 #endif |
| 1169 | 1170 |
| 1170 void PrintPreviewHandler::HandleManagePrinters( | 1171 void PrintPreviewHandler::HandleManagePrinters( |
| 1171 const base::ListValue* /*args*/) { | 1172 const base::ListValue* /*args*/) { |
| 1172 ++manage_printers_dialog_request_count_; | 1173 ++manage_printers_dialog_request_count_; |
| 1173 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); | 1174 printing::PrinterManagerDialog::ShowPrinterManagerDialog(); |
| 1174 } | 1175 } |
| 1175 | 1176 |
| 1176 void PrintPreviewHandler::HandleClosePreviewDialog( | 1177 void PrintPreviewHandler::HandleClosePreviewDialog( |
| 1177 const base::ListValue* /*args*/) { | 1178 const base::ListValue* /*args*/) { |
| 1178 ReportStats(); | 1179 ReportStats(); |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1397 FileSelected(path, 0, nullptr); | 1398 FileSelected(path, 0, nullptr); |
| 1398 } | 1399 } |
| 1399 | 1400 |
| 1400 void PrintPreviewHandler::OnPrintPreviewFailed() { | 1401 void PrintPreviewHandler::OnPrintPreviewFailed() { |
| 1401 if (reported_failed_preview_) | 1402 if (reported_failed_preview_) |
| 1402 return; | 1403 return; |
| 1403 reported_failed_preview_ = true; | 1404 reported_failed_preview_ = true; |
| 1404 ReportUserActionHistogram(PREVIEW_FAILED); | 1405 ReportUserActionHistogram(PREVIEW_FAILED); |
| 1405 } | 1406 } |
| 1406 | 1407 |
| 1407 #if defined(ENABLE_BASIC_PRINTING) | 1408 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
| 1408 void PrintPreviewHandler::ShowSystemDialog() { | 1409 void PrintPreviewHandler::ShowSystemDialog() { |
| 1409 HandleShowSystemDialog(NULL); | 1410 HandleShowSystemDialog(NULL); |
| 1410 } | 1411 } |
| 1411 #endif // ENABLE_BASIC_PRINTING | 1412 #endif |
| 1412 | 1413 |
| 1413 void PrintPreviewHandler::FileSelected(const base::FilePath& path, | 1414 void PrintPreviewHandler::FileSelected(const base::FilePath& path, |
| 1414 int /* index */, | 1415 int /* index */, |
| 1415 void* /* params */) { | 1416 void* /* params */) { |
| 1416 // Update downloads location and save sticky settings. | 1417 // Update downloads location and save sticky settings. |
| 1417 DownloadPrefs* download_prefs = DownloadPrefs::FromBrowserContext( | 1418 DownloadPrefs* download_prefs = DownloadPrefs::FromBrowserContext( |
| 1418 preview_web_contents()->GetBrowserContext()); | 1419 preview_web_contents()->GetBrowserContext()); |
| 1419 download_prefs->SetSaveFilePath(path.DirName()); | 1420 download_prefs->SetSaveFilePath(path.DirName()); |
| 1420 printing::StickySettings* sticky_settings = GetStickySettings(); | 1421 printing::StickySettings* sticky_settings = GetStickySettings(); |
| 1421 sticky_settings->SaveInPrefs(Profile::FromBrowserContext( | 1422 sticky_settings->SaveInPrefs(Profile::FromBrowserContext( |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1758 | 1759 |
| 1759 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1760 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { |
| 1760 if (gaia_cookie_manager_service_) | 1761 if (gaia_cookie_manager_service_) |
| 1761 gaia_cookie_manager_service_->RemoveObserver(this); | 1762 gaia_cookie_manager_service_->RemoveObserver(this); |
| 1762 } | 1763 } |
| 1763 | 1764 |
| 1764 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1765 void PrintPreviewHandler::SetPdfSavedClosureForTesting( |
| 1765 const base::Closure& closure) { | 1766 const base::Closure& closure) { |
| 1766 pdf_file_saved_closure_ = closure; | 1767 pdf_file_saved_closure_ = closure; |
| 1767 } | 1768 } |
| OLD | NEW |