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 1155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1166 base::Value(printer_name)); | 1166 base::Value(printer_name)); |
1167 return; | 1167 return; |
1168 } | 1168 } |
1169 | 1169 |
1170 printer_backend_proxy()->ConfigurePrinterAndFetchCapabilities( | 1170 printer_backend_proxy()->ConfigurePrinterAndFetchCapabilities( |
1171 printer_name, | 1171 printer_name, |
1172 base::Bind(&PrintPreviewHandler::SendPrinterSetup, | 1172 base::Bind(&PrintPreviewHandler::SendPrinterSetup, |
1173 weak_factory_.GetWeakPtr(), callback_id, printer_name)); | 1173 weak_factory_.GetWeakPtr(), callback_id, printer_name)); |
1174 } | 1174 } |
1175 | 1175 |
1176 void PrintPreviewHandler::OnSigninComplete() { | 1176 void PrintPreviewHandler::OnSigninComplete(const std::string& callback_id) { |
1177 if (print_preview_ui()) | 1177 ResolveJavascriptCallback(base::Value(callback_id), base::Value()); |
1178 print_preview_ui()->OnReloadPrintersList(); | |
1179 } | 1178 } |
1180 | 1179 |
1181 void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { | 1180 void PrintPreviewHandler::HandleSignin(const base::ListValue* args) { |
| 1181 std::string callback_id; |
1182 bool add_account = false; | 1182 bool add_account = false; |
1183 bool success = args->GetBoolean(0, &add_account); | 1183 CHECK(args->GetString(0, &callback_id)); |
1184 DCHECK(success); | 1184 CHECK(!callback_id.empty()); |
| 1185 CHECK(args->GetBoolean(1, &add_account)); |
1185 | 1186 |
1186 Profile* profile = Profile::FromBrowserContext( | 1187 Profile* profile = Profile::FromBrowserContext( |
1187 preview_web_contents()->GetBrowserContext()); | 1188 preview_web_contents()->GetBrowserContext()); |
1188 chrome::ScopedTabbedBrowserDisplayer displayer(profile); | 1189 chrome::ScopedTabbedBrowserDisplayer displayer(profile); |
1189 print_dialog_cloud::CreateCloudPrintSigninTab( | 1190 print_dialog_cloud::CreateCloudPrintSigninTab( |
1190 displayer.browser(), | 1191 displayer.browser(), add_account, |
1191 add_account, | |
1192 base::Bind(&PrintPreviewHandler::OnSigninComplete, | 1192 base::Bind(&PrintPreviewHandler::OnSigninComplete, |
1193 weak_factory_.GetWeakPtr())); | 1193 weak_factory_.GetWeakPtr(), callback_id)); |
1194 } | 1194 } |
1195 | 1195 |
1196 void PrintPreviewHandler::HandleGetAccessToken(const base::ListValue* args) { | 1196 void PrintPreviewHandler::HandleGetAccessToken(const base::ListValue* args) { |
1197 std::string callback_id; | 1197 std::string callback_id; |
1198 std::string type; | 1198 std::string type; |
1199 | 1199 |
1200 bool ok = args->GetString(0, &callback_id) && args->GetString(1, &type) && | 1200 bool ok = args->GetString(0, &callback_id) && args->GetString(1, &type) && |
1201 !callback_id.empty(); | 1201 !callback_id.empty(); |
1202 DCHECK(ok); | 1202 DCHECK(ok); |
1203 | 1203 |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1453 printing::PrintPreviewDialogController* dialog_controller = | 1453 printing::PrintPreviewDialogController* dialog_controller = |
1454 printing::PrintPreviewDialogController::GetInstance(); | 1454 printing::PrintPreviewDialogController::GetInstance(); |
1455 if (!dialog_controller) | 1455 if (!dialog_controller) |
1456 return NULL; | 1456 return NULL; |
1457 return dialog_controller->GetInitiator(preview_web_contents()); | 1457 return dialog_controller->GetInitiator(preview_web_contents()); |
1458 } | 1458 } |
1459 | 1459 |
1460 void PrintPreviewHandler::OnAddAccountToCookieCompleted( | 1460 void PrintPreviewHandler::OnAddAccountToCookieCompleted( |
1461 const std::string& account_id, | 1461 const std::string& account_id, |
1462 const GoogleServiceAuthError& error) { | 1462 const GoogleServiceAuthError& error) { |
1463 OnSigninComplete(); | 1463 FireWebUIListener("reload-printer-list"); |
1464 } | 1464 } |
1465 | 1465 |
1466 void PrintPreviewHandler::SelectFile(const base::FilePath& default_filename, | 1466 void PrintPreviewHandler::SelectFile(const base::FilePath& default_filename, |
1467 bool prompt_user) { | 1467 bool prompt_user) { |
1468 if (prompt_user) { | 1468 if (prompt_user) { |
1469 ChromeSelectFilePolicy policy(GetInitiator()); | 1469 ChromeSelectFilePolicy policy(GetInitiator()); |
1470 if (!policy.CanOpenSelectFileDialog()) { | 1470 if (!policy.CanOpenSelectFileDialog()) { |
1471 policy.SelectFileDenied(); | 1471 policy.SelectFileDenied(); |
1472 RejectJavascriptCallback(base::Value(pdf_callback_id_), base::Value()); | 1472 RejectJavascriptCallback(base::Value(pdf_callback_id_), base::Value()); |
1473 pdf_callback_id_.clear(); | 1473 pdf_callback_id_.clear(); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1550 preview_callbacks_.pop(); | 1550 preview_callbacks_.pop(); |
1551 } | 1551 } |
1552 | 1552 |
1553 void PrintPreviewHandler::OnInvalidPrinterSettings() { | 1553 void PrintPreviewHandler::OnInvalidPrinterSettings() { |
1554 CHECK(!preview_callbacks_.empty()); | 1554 CHECK(!preview_callbacks_.empty()); |
1555 RejectJavascriptCallback(base::Value(preview_callbacks_.front()), | 1555 RejectJavascriptCallback(base::Value(preview_callbacks_.front()), |
1556 base::Value("SETTINGS_INVALID")); | 1556 base::Value("SETTINGS_INVALID")); |
1557 preview_callbacks_.pop(); | 1557 preview_callbacks_.pop(); |
1558 } | 1558 } |
1559 | 1559 |
| 1560 void PrintPreviewHandler::SendPrintPresetOptions(bool disable_scaling, |
| 1561 int copies, |
| 1562 int duplex) { |
| 1563 FireWebUIListener("print-preset-options", base::Value(disable_scaling), |
| 1564 base::Value(copies), base::Value(duplex)); |
| 1565 } |
| 1566 |
| 1567 void PrintPreviewHandler::SendPageCountReady(int page_count, |
| 1568 int request_id, |
| 1569 int fit_to_page_scaling) { |
| 1570 FireWebUIListener("page-count-ready", base::Value(page_count), |
| 1571 base::Value(request_id), base::Value(fit_to_page_scaling)); |
| 1572 } |
| 1573 |
| 1574 void PrintPreviewHandler::SendPageLayoutReady( |
| 1575 const base::DictionaryValue& layout, |
| 1576 bool has_custom_page_size_style) { |
| 1577 FireWebUIListener("page-layout-ready", layout, |
| 1578 base::Value(has_custom_page_size_style)); |
| 1579 } |
| 1580 |
| 1581 void PrintPreviewHandler::SendPagePreviewReady(int page_index, |
| 1582 int preview_uid, |
| 1583 int preview_response_id) { |
| 1584 FireWebUIListener("page-preview-ready", base::Value(page_index), |
| 1585 base::Value(preview_uid), base::Value(preview_response_id)); |
| 1586 } |
| 1587 |
1560 void PrintPreviewHandler::OnPrintPreviewCancelled() { | 1588 void PrintPreviewHandler::OnPrintPreviewCancelled() { |
1561 CHECK(!preview_callbacks_.empty()); | 1589 CHECK(!preview_callbacks_.empty()); |
1562 RejectJavascriptCallback(base::Value(preview_callbacks_.front()), | 1590 RejectJavascriptCallback(base::Value(preview_callbacks_.front()), |
1563 base::Value("CANCELLED")); | 1591 base::Value("CANCELLED")); |
1564 preview_callbacks_.pop(); | 1592 preview_callbacks_.pop(); |
1565 } | 1593 } |
1566 | 1594 |
1567 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) | 1595 #if BUILDFLAG(ENABLE_BASIC_PRINT_DIALOG) |
1568 void PrintPreviewHandler::ShowSystemDialog() { | 1596 void PrintPreviewHandler::ShowSystemDialog() { |
1569 HandleShowSystemDialog(NULL); | 1597 HandleShowSystemDialog(NULL); |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1922 | 1950 |
1923 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1951 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { |
1924 if (gaia_cookie_manager_service_) | 1952 if (gaia_cookie_manager_service_) |
1925 gaia_cookie_manager_service_->RemoveObserver(this); | 1953 gaia_cookie_manager_service_->RemoveObserver(this); |
1926 } | 1954 } |
1927 | 1955 |
1928 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1956 void PrintPreviewHandler::SetPdfSavedClosureForTesting( |
1929 const base::Closure& closure) { | 1957 const base::Closure& closure) { |
1930 pdf_file_saved_closure_ = closure; | 1958 pdf_file_saved_closure_ = closure; |
1931 } | 1959 } |
OLD | NEW |