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

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

Issue 723743003: Remove implicit conversions from scoped_refptr to T* in printing/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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
« no previous file with comments | « no previous file | 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 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 } 297 }
298 DCHECK(printer_info); 298 DCHECK(printer_info);
299 HPTPROVIDER provider = NULL; 299 HPTPROVIDER provider = NULL;
300 std::wstring printer_name_wide = base::UTF8ToWide(printer_name); 300 std::wstring printer_name_wide = base::UTF8ToWide(printer_name);
301 HRESULT hr = XPSModule::OpenProvider(printer_name_wide, 1, &provider); 301 HRESULT hr = XPSModule::OpenProvider(printer_name_wide, 1, &provider);
302 if (provider) { 302 if (provider) {
303 base::win::ScopedComPtr<IStream> print_capabilities_stream; 303 base::win::ScopedComPtr<IStream> print_capabilities_stream;
304 hr = CreateStreamOnHGlobal(NULL, TRUE, 304 hr = CreateStreamOnHGlobal(NULL, TRUE,
305 print_capabilities_stream.Receive()); 305 print_capabilities_stream.Receive());
306 DCHECK(SUCCEEDED(hr)); 306 DCHECK(SUCCEEDED(hr));
307 if (print_capabilities_stream) { 307 if (print_capabilities_stream.get()) {
308 base::win::ScopedBstr error; 308 base::win::ScopedBstr error;
309 hr = XPSModule::GetPrintCapabilities(provider, 309 hr = XPSModule::GetPrintCapabilities(
310 NULL, 310 provider, NULL, print_capabilities_stream.get(), error.Receive());
311 print_capabilities_stream,
312 error.Receive());
313 DCHECK(SUCCEEDED(hr)); 311 DCHECK(SUCCEEDED(hr));
314 if (FAILED(hr)) { 312 if (FAILED(hr)) {
315 return false; 313 return false;
316 } 314 }
317 hr = StreamOnHGlobalToString(print_capabilities_stream.get(), 315 hr = StreamOnHGlobalToString(print_capabilities_stream.get(),
318 &printer_info->printer_capabilities); 316 &printer_info->printer_capabilities);
319 DCHECK(SUCCEEDED(hr)); 317 DCHECK(SUCCEEDED(hr));
320 printer_info->caps_mime_type = "text/xml"; 318 printer_info->caps_mime_type = "text/xml";
321 } 319 }
322 ScopedPrinterHandle printer_handle; 320 ScopedPrinterHandle printer_handle;
323 if (printer_handle.OpenPrinter(printer_name_wide.c_str())) { 321 if (printer_handle.OpenPrinter(printer_name_wide.c_str())) {
324 scoped_ptr<DEVMODE, base::FreeDeleter> devmode_out( 322 scoped_ptr<DEVMODE, base::FreeDeleter> devmode_out(
325 CreateDevMode(printer_handle.Get(), NULL)); 323 CreateDevMode(printer_handle.Get(), NULL));
326 if (!devmode_out) 324 if (!devmode_out)
327 return false; 325 return false;
328 base::win::ScopedComPtr<IStream> printer_defaults_stream; 326 base::win::ScopedComPtr<IStream> printer_defaults_stream;
329 hr = CreateStreamOnHGlobal(NULL, TRUE, 327 hr = CreateStreamOnHGlobal(NULL, TRUE,
330 printer_defaults_stream.Receive()); 328 printer_defaults_stream.Receive());
331 DCHECK(SUCCEEDED(hr)); 329 DCHECK(SUCCEEDED(hr));
332 if (printer_defaults_stream) { 330 if (printer_defaults_stream.get()) {
333 DWORD dm_size = devmode_out->dmSize + devmode_out->dmDriverExtra; 331 DWORD dm_size = devmode_out->dmSize + devmode_out->dmDriverExtra;
334 hr = XPSModule::ConvertDevModeToPrintTicket(provider, dm_size, 332 hr = XPSModule::ConvertDevModeToPrintTicket(
335 devmode_out.get(), kPTJobScope, printer_defaults_stream); 333 provider, dm_size, devmode_out.get(), kPTJobScope,
334 printer_defaults_stream.get());
336 DCHECK(SUCCEEDED(hr)); 335 DCHECK(SUCCEEDED(hr));
337 if (SUCCEEDED(hr)) { 336 if (SUCCEEDED(hr)) {
338 hr = StreamOnHGlobalToString(printer_defaults_stream.get(), 337 hr = StreamOnHGlobalToString(printer_defaults_stream.get(),
339 &printer_info->printer_defaults); 338 &printer_info->printer_defaults);
340 DCHECK(SUCCEEDED(hr)); 339 DCHECK(SUCCEEDED(hr));
341 printer_info->defaults_mime_type = "text/xml"; 340 printer_info->defaults_mime_type = "text/xml";
342 } 341 }
343 } 342 }
344 } 343 }
345 XPSModule::CloseProvider(provider); 344 XPSModule::CloseProvider(provider);
(...skipping 15 matching lines...) Expand all
361 ScopedPrinterHandle printer_handle; 360 ScopedPrinterHandle printer_handle;
362 return printer_handle.OpenPrinter(base::UTF8ToWide(printer_name).c_str()); 361 return printer_handle.OpenPrinter(base::UTF8ToWide(printer_name).c_str());
363 } 362 }
364 363
365 scoped_refptr<PrintBackend> PrintBackend::CreateInstance( 364 scoped_refptr<PrintBackend> PrintBackend::CreateInstance(
366 const base::DictionaryValue* print_backend_settings) { 365 const base::DictionaryValue* print_backend_settings) {
367 return new PrintBackendWin; 366 return new PrintBackendWin;
368 } 367 }
369 368
370 } // namespace printing 369 } // namespace printing
OLDNEW
« no previous file with comments | « no previous file | printing/backend/win_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698