summaryrefslogtreecommitdiffstats
path: root/printing/backend/print_backend_win.cc
diff options
context:
space:
mode:
authorvitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-16 08:54:57 +0000
committervitalybuka@chromium.org <vitalybuka@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-16 08:54:57 +0000
commit4f9dd83ebff74183730af6c0f1b4b8f67703b06e (patch)
tree7b1df04c06c6970d4efbeef20d6f877f27c454de /printing/backend/print_backend_win.cc
parent4b6ebd93159d5b4f1ea9151ab59fefaf7db725cb (diff)
downloadchromium_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.cc15
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) {