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

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

Issue 2935303003: Print Preview: Remove global onPrivetPrintFailed (Closed)
Patch Set: Fix annotations Created 3 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 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 899 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 910
911 int width = 0; 911 int width = 0;
912 int height = 0; 912 int height = 0;
913 if (!settings->GetString(printing::kSettingDeviceName, &printer_name) || 913 if (!settings->GetString(printing::kSettingDeviceName, &printer_name) ||
914 !settings->GetString(printing::kSettingTicket, &print_ticket) || 914 !settings->GetString(printing::kSettingTicket, &print_ticket) ||
915 !settings->GetString(printing::kSettingCapabilities, &capabilities) || 915 !settings->GetString(printing::kSettingCapabilities, &capabilities) ||
916 !settings->GetInteger(printing::kSettingPageWidth, &width) || 916 !settings->GetInteger(printing::kSettingPageWidth, &width) ||
917 !settings->GetInteger(printing::kSettingPageHeight, &height) || 917 !settings->GetInteger(printing::kSettingPageHeight, &height) ||
918 width <= 0 || height <= 0) { 918 width <= 0 || height <= 0) {
919 NOTREACHED(); 919 NOTREACHED();
920 base::Value http_code_value(-1); 920 FireWebUIListener("print-failed", base::Value(-1));
921 web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrintFailed",
922 http_code_value);
923 return; 921 return;
924 } 922 }
925 923
926 PrintToPrivetPrinter( 924 PrintToPrivetPrinter(
927 printer_name, print_ticket, capabilities, gfx::Size(width, height)); 925 printer_name, print_ticket, capabilities, gfx::Size(width, height));
928 return; 926 return;
929 } 927 }
930 #endif 928 #endif
931 929
932 if (print_with_extension) { 930 if (print_with_extension) {
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after
1601 weak_factory_.GetWeakPtr(), callback_id)); 1599 weak_factory_.GetWeakPtr(), callback_id));
1602 privet_capabilities_operation_->Start(); 1600 privet_capabilities_operation_->Start();
1603 } 1601 }
1604 1602
1605 bool PrintPreviewHandler::PrivetUpdateClient( 1603 bool PrintPreviewHandler::PrivetUpdateClient(
1606 const std::string& callback_id, 1604 const std::string& callback_id,
1607 std::unique_ptr<cloud_print::PrivetHTTPClient> http_client) { 1605 std::unique_ptr<cloud_print::PrivetHTTPClient> http_client) {
1608 if (!http_client) { 1606 if (!http_client) {
1609 if (callback_id.empty()) { 1607 if (callback_id.empty()) {
1610 // This was an attempt to print to a privet printer and has failed. 1608 // This was an attempt to print to a privet printer and has failed.
1611 base::Value http_code_value(-1); 1609 FireWebUIListener("print-failed", base::Value(-1));
1612 web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrintFailed",
1613 http_code_value);
1614 } else { // Capabilities update failed 1610 } else { // Capabilities update failed
1615 RejectJavascriptCallback(base::Value(callback_id), base::Value()); 1611 RejectJavascriptCallback(base::Value(callback_id), base::Value());
1616 } 1612 }
1617 privet_http_resolution_.reset(); 1613 privet_http_resolution_.reset();
1618 return false; 1614 return false;
1619 } 1615 }
1620 1616
1621 privet_local_print_operation_.reset(); 1617 privet_local_print_operation_.reset();
1622 privet_capabilities_operation_.reset(); 1618 privet_capabilities_operation_.reset();
1623 privet_http_client_ = cloud_print::PrivetV1HTTPClient::CreateDefault( 1619 privet_http_client_ = cloud_print::PrivetV1HTTPClient::CreateDefault(
(...skipping 21 matching lines...) Expand all
1645 privet_local_print_operation_ = 1641 privet_local_print_operation_ =
1646 privet_http_client_->CreateLocalPrintOperation(this); 1642 privet_http_client_->CreateLocalPrintOperation(this);
1647 1643
1648 privet_local_print_operation_->SetTicket(print_ticket); 1644 privet_local_print_operation_->SetTicket(print_ticket);
1649 privet_local_print_operation_->SetCapabilities(capabilities); 1645 privet_local_print_operation_->SetCapabilities(capabilities);
1650 1646
1651 scoped_refptr<base::RefCountedBytes> data; 1647 scoped_refptr<base::RefCountedBytes> data;
1652 base::string16 title; 1648 base::string16 title;
1653 1649
1654 if (!GetPreviewDataAndTitle(&data, &title)) { 1650 if (!GetPreviewDataAndTitle(&data, &title)) {
1655 base::Value http_code_value(-1); 1651 FireWebUIListener("print-failed", base::Value(-1));
1656 web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrintFailed",
1657 http_code_value);
1658 return; 1652 return;
1659 } 1653 }
1660 1654
1661 privet_local_print_operation_->SetJobname(base::UTF16ToUTF8(title)); 1655 privet_local_print_operation_->SetJobname(base::UTF16ToUTF8(title));
1662 privet_local_print_operation_->SetPageSize(page_size); 1656 privet_local_print_operation_->SetPageSize(page_size);
1663 privet_local_print_operation_->SetData(data.get()); 1657 privet_local_print_operation_->SetData(data.get());
1664 1658
1665 Profile* profile = Profile::FromWebUI(web_ui()); 1659 Profile* profile = Profile::FromWebUI(web_ui());
1666 SigninManagerBase* signin_manager = 1660 SigninManagerBase* signin_manager =
1667 SigninManagerFactory::GetForProfileIfExists(profile); 1661 SigninManagerFactory::GetForProfileIfExists(profile);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1709 1703
1710 void PrintPreviewHandler::PrintToPrivetPrinter(const std::string& device_name, 1704 void PrintPreviewHandler::PrintToPrivetPrinter(const std::string& device_name,
1711 const std::string& ticket, 1705 const std::string& ticket,
1712 const std::string& capabilities, 1706 const std::string& capabilities,
1713 const gfx::Size& page_size) { 1707 const gfx::Size& page_size) {
1714 if (!CreatePrivetHTTP( 1708 if (!CreatePrivetHTTP(
1715 device_name, 1709 device_name,
1716 base::Bind(&PrintPreviewHandler::PrivetLocalPrintUpdateClient, 1710 base::Bind(&PrintPreviewHandler::PrivetLocalPrintUpdateClient,
1717 weak_factory_.GetWeakPtr(), ticket, capabilities, 1711 weak_factory_.GetWeakPtr(), ticket, capabilities,
1718 page_size))) { 1712 page_size))) {
1719 base::Value http_code_value(-1); 1713 FireWebUIListener("print-failed", base::Value(-1));
1720 web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrintFailed",
1721 http_code_value);
1722 } 1714 }
1723 } 1715 }
1724 1716
1725 bool PrintPreviewHandler::CreatePrivetHTTP( 1717 bool PrintPreviewHandler::CreatePrivetHTTP(
1726 const std::string& name, 1718 const std::string& name,
1727 const cloud_print::PrivetHTTPAsynchronousFactory::ResultCallback& 1719 const cloud_print::PrivetHTTPAsynchronousFactory::ResultCallback&
1728 callback) { 1720 callback) {
1729 const cloud_print::DeviceDescription* device_description = 1721 const cloud_print::DeviceDescription* device_description =
1730 printer_lister_ ? printer_lister_->GetDeviceDescription(name) : NULL; 1722 printer_lister_ ? printer_lister_->GetDeviceDescription(name) : NULL;
1731 1723
(...skipping 10 matching lines...) Expand all
1742 } 1734 }
1743 1735
1744 void PrintPreviewHandler::OnPrivetPrintingDone( 1736 void PrintPreviewHandler::OnPrivetPrintingDone(
1745 const cloud_print::PrivetLocalPrintOperation* print_operation) { 1737 const cloud_print::PrivetLocalPrintOperation* print_operation) {
1746 ClosePreviewDialog(); 1738 ClosePreviewDialog();
1747 } 1739 }
1748 1740
1749 void PrintPreviewHandler::OnPrivetPrintingError( 1741 void PrintPreviewHandler::OnPrivetPrintingError(
1750 const cloud_print::PrivetLocalPrintOperation* print_operation, 1742 const cloud_print::PrivetLocalPrintOperation* print_operation,
1751 int http_code) { 1743 int http_code) {
1752 base::Value http_code_value(http_code); 1744 FireWebUIListener("print-failed", base::Value(http_code));
1753 web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrintFailed",
1754 http_code_value);
1755 } 1745 }
1756 1746
1757 void PrintPreviewHandler::FillPrinterDescription( 1747 void PrintPreviewHandler::FillPrinterDescription(
1758 const std::string& name, 1748 const std::string& name,
1759 const cloud_print::DeviceDescription& description, 1749 const cloud_print::DeviceDescription& description,
1760 bool has_local_printing, 1750 bool has_local_printing,
1761 base::DictionaryValue* printer_value) { 1751 base::DictionaryValue* printer_value) {
1762 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 1752 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
1763 1753
1764 printer_value->SetString("serviceName", name); 1754 printer_value->SetString("serviceName", name);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1814 } 1804 }
1815 ResolveJavascriptCallback(base::Value(callback_id), capabilities); 1805 ResolveJavascriptCallback(base::Value(callback_id), capabilities);
1816 } 1806 }
1817 1807
1818 void PrintPreviewHandler::OnExtensionPrintResult(bool success, 1808 void PrintPreviewHandler::OnExtensionPrintResult(bool success,
1819 const std::string& status) { 1809 const std::string& status) {
1820 if (success) { 1810 if (success) {
1821 ClosePreviewDialog(); 1811 ClosePreviewDialog();
1822 return; 1812 return;
1823 } 1813 }
1824 1814 FireWebUIListener("print-failed", base::Value(status));
1825 // TODO(tbarzic): This function works for extension printers case too, but it
1826 // should be renamed to something more generic.
1827 web_ui()->CallJavascriptFunctionUnsafe("onPrivetPrintFailed",
1828 base::Value(status));
1829 } 1815 }
1830 1816
1831 void PrintPreviewHandler::RegisterForGaiaCookieChanges() { 1817 void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
1832 DCHECK(!gaia_cookie_manager_service_); 1818 DCHECK(!gaia_cookie_manager_service_);
1833 Profile* profile = Profile::FromWebUI(web_ui()); 1819 Profile* profile = Profile::FromWebUI(web_ui());
1834 if (switches::IsAccountConsistencyMirrorEnabled() && 1820 if (switches::IsAccountConsistencyMirrorEnabled() &&
1835 !profile->IsOffTheRecord()) { 1821 !profile->IsOffTheRecord()) {
1836 gaia_cookie_manager_service_ = 1822 gaia_cookie_manager_service_ =
1837 GaiaCookieManagerServiceFactory::GetForProfile(profile); 1823 GaiaCookieManagerServiceFactory::GetForProfile(profile);
1838 if (gaia_cookie_manager_service_) 1824 if (gaia_cookie_manager_service_)
1839 gaia_cookie_manager_service_->AddObserver(this); 1825 gaia_cookie_manager_service_->AddObserver(this);
1840 } 1826 }
1841 } 1827 }
1842 1828
1843 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { 1829 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() {
1844 if (gaia_cookie_manager_service_) 1830 if (gaia_cookie_manager_service_)
1845 gaia_cookie_manager_service_->RemoveObserver(this); 1831 gaia_cookie_manager_service_->RemoveObserver(this);
1846 } 1832 }
1847 1833
1848 void PrintPreviewHandler::SetPdfSavedClosureForTesting( 1834 void PrintPreviewHandler::SetPdfSavedClosureForTesting(
1849 const base::Closure& closure) { 1835 const base::Closure& closure) {
1850 pdf_file_saved_closure_ = closure; 1836 pdf_file_saved_closure_ = closure;
1851 } 1837 }
OLDNEW
« no previous file with comments | « chrome/browser/resources/print_preview/print_preview.js ('k') | ui/webui/resources/html/webui_listener_tracker.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698