diff options
author | vitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 08:54:57 +0000 |
---|---|---|
committer | vitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 08:54:57 +0000 |
commit | 4f9dd83ebff74183730af6c0f1b4b8f67703b06e (patch) | |
tree | 7b1df04c06c6970d4efbeef20d6f877f27c454de /printing/backend/print_backend_win.cc | |
parent | 4b6ebd93159d5b4f1ea9151ab59fefaf7db725cb (diff) | |
download | chromium_src-4f9dd83ebff74183730af6c0f1b4b8f67703b06e.zip chromium_src-4f9dd83ebff74183730af6c0f1b4b8f67703b06e.tar.gz chromium_src-4f9dd83ebff74183730af6c0f1b4b8f67703b06e.tar.bz2 |
ScopedPrinterInfoSetter sets printer related information to be available for breakpad. This CL inserts ScopedPrinterInfoSetter in places where Cloud print accesses printers and crash is possible.
BUG=108194
TEST=none
Review URL: http://codereview.chromium.org/9693064
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127131 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/backend/print_backend_win.cc')
-rw-r--r-- | printing/backend/print_backend_win.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/printing/backend/print_backend_win.cc b/printing/backend/print_backend_win.cc index 9e3c98e..30da70e 100644 --- a/printing/backend/print_backend_win.cc +++ b/printing/backend/print_backend_win.cc @@ -50,8 +50,7 @@ class PrintBackendWin : public PrintBackend { virtual bool GetPrinterCapsAndDefaults(const std::string& printer_name, PrinterCapsAndDefaults* printer_info); - virtual bool GetPrinterDriverInfo(const std::string& printer_name, - std::string* driver_info); + virtual std::string GetPrinterDriverInfo(const std::string& printer_name); virtual bool IsValidPrinter(const std::string& printer_name); }; @@ -178,9 +177,9 @@ bool PrintBackendWin::GetPrinterCapsAndDefaults( } // Gets the information about driver for a specific printer. -bool PrintBackendWin::GetPrinterDriverInfo(const std::string& printer_name, - std::string* driver_info) { - DCHECK(driver_info); +std::string PrintBackendWin::GetPrinterDriverInfo( + const std::string& printer_name) { + std::string driver_info; ScopedPrinterHandle printer_handle; if (!::OpenPrinter(const_cast<LPTSTR>(UTF8ToWide(printer_name).c_str()), printer_handle.Receive(), NULL)) { @@ -217,11 +216,11 @@ bool PrintBackendWin::GetPrinterDriverInfo(const std::string& printer_name, for (size_t i = 0; i < arraysize(info); ++i) { std::replace(info[i].begin(), info[i].end(), ';', ','); - driver_info->append(info[i]); - driver_info->append(";"); + driver_info.append(info[i]); + driver_info.append(";"); } - return true; + return driver_info; } bool PrintBackendWin::IsValidPrinter(const std::string& printer_name) { |