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 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
702 DCHECK(success); | 702 DCHECK(success); |
703 | 703 |
704 CreatePrivetHTTP( | 704 CreatePrivetHTTP( |
705 name, base::Bind(&PrintPreviewHandler::PrivetCapabilitiesUpdateClient, | 705 name, base::Bind(&PrintPreviewHandler::PrivetCapabilitiesUpdateClient, |
706 weak_factory_.GetWeakPtr())); | 706 weak_factory_.GetWeakPtr())); |
707 #endif | 707 #endif |
708 } | 708 } |
709 | 709 |
710 void PrintPreviewHandler::HandleGetExtensionPrinters( | 710 void PrintPreviewHandler::HandleGetExtensionPrinters( |
711 const base::ListValue* args) { | 711 const base::ListValue* args) { |
712 std::string callback_id; | |
713 CHECK(args->GetString(0, &callback_id)); | |
714 CHECK(!callback_id.empty()); | |
715 | |
716 AllowJavascript(); | |
712 EnsureExtensionPrinterHandlerSet(); | 717 EnsureExtensionPrinterHandlerSet(); |
713 // Make sure all in progress requests are canceled before new printer search | 718 // Make sure all in progress requests are canceled before new printer search |
714 // starts. | 719 // starts. |
715 extension_printer_handler_->Reset(); | 720 extension_printer_handler_->Reset(); |
716 extension_printer_handler_->StartGetPrinters( | 721 extension_printer_handler_->StartGetPrinters( |
717 base::Bind(&PrintPreviewHandler::OnGotPrintersForExtension, | 722 base::Bind(&PrintPreviewHandler::OnGotPrintersForExtension, |
718 weak_factory_.GetWeakPtr())); | 723 weak_factory_.GetWeakPtr(), callback_id)); |
719 } | 724 } |
720 | 725 |
721 void PrintPreviewHandler::HandleGrantExtensionPrinterAccess( | 726 void PrintPreviewHandler::HandleGrantExtensionPrinterAccess( |
722 const base::ListValue* args) { | 727 const base::ListValue* args) { |
723 std::string printer_id; | 728 std::string printer_id; |
724 bool ok = args->GetString(0, &printer_id); | 729 bool ok = args->GetString(0, &printer_id); |
725 DCHECK(ok); | 730 DCHECK(ok); |
726 | 731 |
727 EnsureExtensionPrinterHandlerSet(); | 732 EnsureExtensionPrinterHandlerSet(); |
728 extension_printer_handler_->StartGrantPrinterAccess( | 733 extension_printer_handler_->StartGrantPrinterAccess( |
(...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1728 | 1733 |
1729 void PrintPreviewHandler::EnsureExtensionPrinterHandlerSet() { | 1734 void PrintPreviewHandler::EnsureExtensionPrinterHandlerSet() { |
1730 if (extension_printer_handler_) | 1735 if (extension_printer_handler_) |
1731 return; | 1736 return; |
1732 | 1737 |
1733 extension_printer_handler_ = | 1738 extension_printer_handler_ = |
1734 PrinterHandler::CreateForExtensionPrinters(Profile::FromWebUI(web_ui())); | 1739 PrinterHandler::CreateForExtensionPrinters(Profile::FromWebUI(web_ui())); |
1735 } | 1740 } |
1736 | 1741 |
1737 void PrintPreviewHandler::OnGotPrintersForExtension( | 1742 void PrintPreviewHandler::OnGotPrintersForExtension( |
1743 const std::string& callback_id, | |
1738 const base::ListValue& printers, | 1744 const base::ListValue& printers, |
1739 bool done) { | 1745 bool done) { |
1740 web_ui()->CallJavascriptFunctionUnsafe("onExtensionPrintersAdded", printers, | 1746 AllowJavascript(); |
1741 base::Value(done)); | 1747 |
1748 FireWebUIListener("extension-printers-added", printers); | |
1749 if (done) { | |
1750 ResolveJavascriptCallback(base::Value(callback_id), base::Value(true)); | |
dpapad
2017/06/07 03:20:11
Is the boolean passed here needed? It seems that w
rbpotter
2017/06/07 03:46:42
Done.
| |
1751 } | |
1742 } | 1752 } |
1743 | 1753 |
1744 void PrintPreviewHandler::OnGotExtensionPrinterInfo( | 1754 void PrintPreviewHandler::OnGotExtensionPrinterInfo( |
1745 const std::string& printer_id, | 1755 const std::string& printer_id, |
1746 const base::DictionaryValue& printer_info) { | 1756 const base::DictionaryValue& printer_info) { |
1747 if (printer_info.empty()) { | 1757 if (printer_info.empty()) { |
1748 web_ui()->CallJavascriptFunctionUnsafe("failedToResolveProvisionalPrinter", | 1758 web_ui()->CallJavascriptFunctionUnsafe("failedToResolveProvisionalPrinter", |
1749 base::Value(printer_id)); | 1759 base::Value(printer_id)); |
1750 return; | 1760 return; |
1751 } | 1761 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1794 | 1804 |
1795 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1805 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { |
1796 if (gaia_cookie_manager_service_) | 1806 if (gaia_cookie_manager_service_) |
1797 gaia_cookie_manager_service_->RemoveObserver(this); | 1807 gaia_cookie_manager_service_->RemoveObserver(this); |
1798 } | 1808 } |
1799 | 1809 |
1800 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1810 void PrintPreviewHandler::SetPdfSavedClosureForTesting( |
1801 const base::Closure& closure) { | 1811 const base::Closure& closure) { |
1802 pdf_file_saved_closure_ = closure; | 1812 pdf_file_saved_closure_ = closure; |
1803 } | 1813 } |
OLD | NEW |