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

Side by Side Diff: printing/backend/print_backend_win.cc

Issue 121123002: Update uses of UTF conversions in ppapi/, printing/, remoting/, rlz/, sandbox/, skia/, sql/, sync/,… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 12 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 | Annotate | Revision Log
« no previous file with comments | « ppapi/shared_impl/file_ref_util.cc ('k') | printing/backend/win_helper.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "printing/backend/print_backend.h" 5 #include "printing/backend/print_backend.h"
6 6
7 #include <objidl.h> 7 #include <objidl.h>
8 #include <winspool.h> 8 #include <winspool.h>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 } 88 }
89 } 89 }
90 return true; 90 return true;
91 } 91 }
92 92
93 std::string PrintBackendWin::GetDefaultPrinterName() { 93 std::string PrintBackendWin::GetDefaultPrinterName() {
94 DWORD size = MAX_PATH; 94 DWORD size = MAX_PATH;
95 TCHAR default_printer_name[MAX_PATH]; 95 TCHAR default_printer_name[MAX_PATH];
96 if (!::GetDefaultPrinter(default_printer_name, &size)) 96 if (!::GetDefaultPrinter(default_printer_name, &size))
97 return std::string(); 97 return std::string();
98 return WideToUTF8(default_printer_name); 98 return base::WideToUTF8(default_printer_name);
99 } 99 }
100 100
101 bool PrintBackendWin::GetPrinterSemanticCapsAndDefaults( 101 bool PrintBackendWin::GetPrinterSemanticCapsAndDefaults(
102 const std::string& printer_name, 102 const std::string& printer_name,
103 PrinterSemanticCapsAndDefaults* printer_info) { 103 PrinterSemanticCapsAndDefaults* printer_info) {
104 ScopedPrinterHandle printer_handle; 104 ScopedPrinterHandle printer_handle;
105 if (!printer_handle.OpenPrinter(UTF8ToWide(printer_name).c_str())) { 105 if (!printer_handle.OpenPrinter(base::UTF8ToWide(printer_name).c_str())) {
106 LOG(WARNING) << "Failed to open printer, error = " << GetLastError(); 106 LOG(WARNING) << "Failed to open printer, error = " << GetLastError();
107 return false; 107 return false;
108 } 108 }
109 109
110 PrinterInfo5 info_5; 110 PrinterInfo5 info_5;
111 if (!info_5.Init(printer_handle)) { 111 if (!info_5.Init(printer_handle)) {
112 return false; 112 return false;
113 } 113 }
114 DCHECK_EQ(info_5.get()->pPrinterName, UTF8ToUTF16(printer_name)); 114 DCHECK_EQ(info_5.get()->pPrinterName, base::UTF8ToUTF16(printer_name));
115 115
116 PrinterSemanticCapsAndDefaults caps; 116 PrinterSemanticCapsAndDefaults caps;
117 117
118 // Get printer capabilities. For more info see here: 118 // Get printer capabilities. For more info see here:
119 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd183552(v=vs.85).a spx 119 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd183552(v=vs.85).a spx
120 caps.color_changeable = (::DeviceCapabilities(info_5.get()->pPrinterName, 120 caps.color_changeable = (::DeviceCapabilities(info_5.get()->pPrinterName,
121 info_5.get()->pPortName, 121 info_5.get()->pPortName,
122 DC_COLORDEVICE, 122 DC_COLORDEVICE,
123 NULL, 123 NULL,
124 NULL) == 1); 124 NULL) == 1);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 ScopedXPSInitializer xps_initializer; 166 ScopedXPSInitializer xps_initializer;
167 if (!xps_initializer.initialized()) { 167 if (!xps_initializer.initialized()) {
168 // TODO(sanjeevr): Handle legacy proxy case (with no prntvpt.dll) 168 // TODO(sanjeevr): Handle legacy proxy case (with no prntvpt.dll)
169 return false; 169 return false;
170 } 170 }
171 if (!IsValidPrinter(printer_name)) { 171 if (!IsValidPrinter(printer_name)) {
172 return false; 172 return false;
173 } 173 }
174 DCHECK(printer_info); 174 DCHECK(printer_info);
175 HPTPROVIDER provider = NULL; 175 HPTPROVIDER provider = NULL;
176 std::wstring printer_name_wide = UTF8ToWide(printer_name); 176 std::wstring printer_name_wide = base::UTF8ToWide(printer_name);
177 HRESULT hr = XPSModule::OpenProvider(printer_name_wide, 1, &provider); 177 HRESULT hr = XPSModule::OpenProvider(printer_name_wide, 1, &provider);
178 if (provider) { 178 if (provider) {
179 base::win::ScopedComPtr<IStream> print_capabilities_stream; 179 base::win::ScopedComPtr<IStream> print_capabilities_stream;
180 hr = CreateStreamOnHGlobal(NULL, TRUE, 180 hr = CreateStreamOnHGlobal(NULL, TRUE,
181 print_capabilities_stream.Receive()); 181 print_capabilities_stream.Receive());
182 DCHECK(SUCCEEDED(hr)); 182 DCHECK(SUCCEEDED(hr));
183 if (print_capabilities_stream) { 183 if (print_capabilities_stream) {
184 base::win::ScopedBstr error; 184 base::win::ScopedBstr error;
185 hr = XPSModule::GetPrintCapabilities(provider, 185 hr = XPSModule::GetPrintCapabilities(provider,
186 NULL, 186 NULL,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 } 229 }
230 XPSModule::CloseProvider(provider); 230 XPSModule::CloseProvider(provider);
231 } 231 }
232 return true; 232 return true;
233 } 233 }
234 234
235 // Gets the information about driver for a specific printer. 235 // Gets the information about driver for a specific printer.
236 std::string PrintBackendWin::GetPrinterDriverInfo( 236 std::string PrintBackendWin::GetPrinterDriverInfo(
237 const std::string& printer_name) { 237 const std::string& printer_name) {
238 ScopedPrinterHandle printer; 238 ScopedPrinterHandle printer;
239 if (!printer.OpenPrinter(UTF8ToWide(printer_name).c_str())) { 239 if (!printer.OpenPrinter(base::UTF8ToWide(printer_name).c_str())) {
240 return std::string(); 240 return std::string();
241 } 241 }
242 return GetDriverInfo(printer); 242 return GetDriverInfo(printer);
243 } 243 }
244 244
245 bool PrintBackendWin::IsValidPrinter(const std::string& printer_name) { 245 bool PrintBackendWin::IsValidPrinter(const std::string& printer_name) {
246 ScopedPrinterHandle printer_handle; 246 ScopedPrinterHandle printer_handle;
247 return printer_handle.OpenPrinter(UTF8ToWide(printer_name).c_str()); 247 return printer_handle.OpenPrinter(base::UTF8ToWide(printer_name).c_str());
248 } 248 }
249 249
250 scoped_refptr<PrintBackend> PrintBackend::CreateInstance( 250 scoped_refptr<PrintBackend> PrintBackend::CreateInstance(
251 const base::DictionaryValue* print_backend_settings) { 251 const base::DictionaryValue* print_backend_settings) {
252 return new PrintBackendWin; 252 return new PrintBackendWin;
253 } 253 }
254 254
255 } // namespace printing 255 } // namespace printing
OLDNEW
« no previous file with comments | « ppapi/shared_impl/file_ref_util.cc ('k') | printing/backend/win_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698