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