Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Side by Side Diff: chrome/browser/ui/webui/print_preview/print_preview_handler.cc

Issue 1148383002: Add onGetUsbPrinterInfoRequested event to printerProvider API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only include the permission granting part in this patch. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinters, 669 base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinters,
670 base::Unretained(this))); 670 base::Unretained(this)));
671 web_ui()->RegisterMessageCallback( 671 web_ui()->RegisterMessageCallback(
672 "getExtensionUsbPrinters", 672 "getExtensionUsbPrinters",
673 base::Bind(&PrintPreviewHandler::HandleGetExtensionUsbPrinters, 673 base::Bind(&PrintPreviewHandler::HandleGetExtensionUsbPrinters,
674 base::Unretained(this))); 674 base::Unretained(this)));
675 web_ui()->RegisterMessageCallback( 675 web_ui()->RegisterMessageCallback(
676 "getExtensionPrinterCapabilities", 676 "getExtensionPrinterCapabilities",
677 base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinterCapabilities, 677 base::Bind(&PrintPreviewHandler::HandleGetExtensionPrinterCapabilities,
678 base::Unretained(this))); 678 base::Unretained(this)));
679 web_ui()->RegisterMessageCallback(
680 "grantExtensionUsbPrinterAccess",
681 base::Bind(&PrintPreviewHandler::HandleGrantExtensionUsbPrinterAccess,
682 base::Unretained(this)));
679 RegisterForGaiaCookieChanges(); 683 RegisterForGaiaCookieChanges();
680 } 684 }
681 685
682 bool PrintPreviewHandler::PrivetPrintingEnabled() { 686 bool PrintPreviewHandler::PrivetPrintingEnabled() {
683 #if defined(ENABLE_SERVICE_DISCOVERY) 687 #if defined(ENABLE_SERVICE_DISCOVERY)
684 return true; 688 return true;
685 #else 689 #else
686 return false; 690 return false;
687 #endif 691 #endif
688 } 692 }
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 extension_printer_handler_->StartGetPrinters(base::Bind( 753 extension_printer_handler_->StartGetPrinters(base::Bind(
750 &PrintPreviewHandler::OnGotPrintersForExtension, base::Unretained(this))); 754 &PrintPreviewHandler::OnGotPrintersForExtension, base::Unretained(this)));
751 } 755 }
752 756
753 void PrintPreviewHandler::HandleGetExtensionUsbPrinters( 757 void PrintPreviewHandler::HandleGetExtensionUsbPrinters(
754 const base::ListValue* args) { 758 const base::ListValue* args) {
755 extension_printer_handler_->StartGetUsbPrinters(base::Bind( 759 extension_printer_handler_->StartGetUsbPrinters(base::Bind(
756 &PrintPreviewHandler::OnGotExtensionUsbPrinters, base::Unretained(this))); 760 &PrintPreviewHandler::OnGotExtensionUsbPrinters, base::Unretained(this)));
757 } 761 }
758 762
763 void PrintPreviewHandler::HandleGrantExtensionUsbPrinterAccess(
764 const base::ListValue* args) {
765 std::string extension_id;
766 bool ok = args->GetString(0, &extension_id);
767 DCHECK(ok);
768 int device_id;
769 ok = args->GetInteger(1, &device_id);
770 DCHECK(ok);
771
772 EnsureExtensionPrinterHandlerSet();
773 extension_printer_handler_->StartGrantUsbPrinterAccess(
774 extension_id, device_id,
775 base::Bind(&PrintPreviewHandler::OnGotExtensionUsbPrinterInfo,
776 base::Unretained(this), extension_id, device_id));
777 }
778
759 void PrintPreviewHandler::HandleGetExtensionPrinterCapabilities( 779 void PrintPreviewHandler::HandleGetExtensionPrinterCapabilities(
760 const base::ListValue* args) { 780 const base::ListValue* args) {
761 std::string printer_id; 781 std::string printer_id;
762 bool ok = args->GetString(0, &printer_id); 782 bool ok = args->GetString(0, &printer_id);
763 DCHECK(ok); 783 DCHECK(ok);
764 784
765 EnsureExtensionPrinterHandlerSet(); 785 EnsureExtensionPrinterHandlerSet();
766 extension_printer_handler_->StartGetCapability( 786 extension_printer_handler_->StartGetCapability(
767 printer_id, 787 printer_id,
768 base::Bind(&PrintPreviewHandler::OnGotExtensionPrinterCapabilities, 788 base::Bind(&PrintPreviewHandler::OnGotExtensionPrinterCapabilities,
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after
1706 bool done) { 1726 bool done) {
1707 web_ui()->CallJavascriptFunction("onExtensionPrintersAdded", printers, 1727 web_ui()->CallJavascriptFunction("onExtensionPrintersAdded", printers,
1708 base::FundamentalValue(done)); 1728 base::FundamentalValue(done));
1709 } 1729 }
1710 1730
1711 void PrintPreviewHandler::OnGotExtensionUsbPrinters( 1731 void PrintPreviewHandler::OnGotExtensionUsbPrinters(
1712 const base::ListValue& printers) { 1732 const base::ListValue& printers) {
1713 web_ui()->CallJavascriptFunction("onExtensionUsbPrintersAdded", printers); 1733 web_ui()->CallJavascriptFunction("onExtensionUsbPrintersAdded", printers);
1714 } 1734 }
1715 1735
1736 void PrintPreviewHandler::OnGotExtensionUsbPrinterInfo(
1737 const std::string& extension_id,
1738 int device_id,
1739 const base::DictionaryValue& printer_info) {
1740 if (printer_info.empty()) {
1741 web_ui()->CallJavascriptFunction("failedToGetExtensionUsbPrinterInfo",
1742 base::StringValue(extension_id),
1743 base::FundamentalValue(device_id));
1744 return;
1745 }
1746
1747 web_ui()->CallJavascriptFunction("onExtensionUsbPrinterAdded", printer_info);
1748 }
1749
1716 void PrintPreviewHandler::OnGotExtensionPrinterCapabilities( 1750 void PrintPreviewHandler::OnGotExtensionPrinterCapabilities(
1717 const std::string& printer_id, 1751 const std::string& printer_id,
1718 const base::DictionaryValue& capabilities) { 1752 const base::DictionaryValue& capabilities) {
1719 if (capabilities.empty()) { 1753 if (capabilities.empty()) {
1720 web_ui()->CallJavascriptFunction("failedToGetExtensionPrinterCapabilities", 1754 web_ui()->CallJavascriptFunction("failedToGetExtensionPrinterCapabilities",
1721 base::StringValue(printer_id)); 1755 base::StringValue(printer_id));
1722 return; 1756 return;
1723 } 1757 }
1724 1758
1725 web_ui()->CallJavascriptFunction("onExtensionCapabilitiesSet", 1759 web_ui()->CallJavascriptFunction("onExtensionCapabilitiesSet",
(...skipping 26 matching lines...) Expand all
1752 1786
1753 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { 1787 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() {
1754 if (gaia_cookie_manager_service_) 1788 if (gaia_cookie_manager_service_)
1755 gaia_cookie_manager_service_->RemoveObserver(this); 1789 gaia_cookie_manager_service_->RemoveObserver(this);
1756 } 1790 }
1757 1791
1758 void PrintPreviewHandler::SetPdfSavedClosureForTesting( 1792 void PrintPreviewHandler::SetPdfSavedClosureForTesting(
1759 const base::Closure& closure) { 1793 const base::Closure& closure) {
1760 pdf_file_saved_closure_ = closure; 1794 pdf_file_saved_closure_ = closure;
1761 } 1795 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698