diff options
author | thestig <thestig@chromium.org> | 2016-02-03 13:46:31 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-03 21:48:00 +0000 |
commit | 3ccfd1fef6b8cd897682e26cb07ea182349b3747 (patch) | |
tree | 18e0a76dac60cbefcdaabff709f360a6a388b8b2 /printing | |
parent | 4ce19b8ce692bf6c1b885a5e07e7737c485bf591 (diff) | |
download | chromium_src-3ccfd1fef6b8cd897682e26cb07ea182349b3747.zip chromium_src-3ccfd1fef6b8cd897682e26cb07ea182349b3747.tar.gz chromium_src-3ccfd1fef6b8cd897682e26cb07ea182349b3747.tar.bz2 |
Printing: Remove backslashes from print job names.
Backslashes can cause printers to barf up paper.
BUG=581708
Review URL: https://codereview.chromium.org/1656933004
Cr-Commit-Position: refs/heads/master@{#373347}
Diffstat (limited to 'printing')
-rw-r--r-- | printing/printing_utils.cc | 6 | ||||
-rw-r--r-- | printing/printing_utils_unittest.cc | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/printing/printing_utils.cc b/printing/printing_utils.cc index b0544e4..353a0aa 100644 --- a/printing/printing_utils.cc +++ b/printing/printing_utils.cc @@ -9,7 +9,7 @@ #include <algorithm> #include "base/logging.h" - +#include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "third_party/icu/source/common/unicode/uchar.h" #include "ui/gfx/text_elider.h" @@ -28,6 +28,8 @@ base::string16 SimplifyDocumentTitleWithLength(const base::string16& title, no_controls.erase( std::remove_if(no_controls.begin(), no_controls.end(), &u_iscntrl), no_controls.end()); + base::ReplaceChars(no_controls, base::ASCIIToUTF16("\\"), + base::ASCIIToUTF16("_"), &no_controls); base::string16 result; gfx::ElideString(no_controls, length, &result); return result; @@ -38,7 +40,7 @@ base::string16 FormatDocumentTitleWithOwnerAndLength( const base::string16& title, size_t length) { const base::string16 separator = base::ASCIIToUTF16(": "); - DCHECK(separator.size() < length); + DCHECK_LT(separator.size(), length); base::string16 short_title = SimplifyDocumentTitleWithLength(owner, length - separator.size()); diff --git a/printing/printing_utils_unittest.cc b/printing/printing_utils_unittest.cc index 1bfba64..4a04427 100644 --- a/printing/printing_utils_unittest.cc +++ b/printing/printing_utils_unittest.cc @@ -31,6 +31,7 @@ TEST(PrintingUtilsTest, SimplifyDocumentTitle) { EXPECT_EQ("abcdefgh", Simplify("abcdefgh")); EXPECT_EQ("abc...ij", Simplify("abcdefghij")); EXPECT_EQ("Controls", Simplify("C\ron\nt\15rols")); + EXPECT_EQ("C:_foo_", Simplify("C:\\foo\\")); EXPECT_EQ("", Simplify("\n\r\n\r\t\r")); } @@ -41,8 +42,8 @@ TEST(PrintingUtilsTest, FormatDocumentTitleWithOwner) { EXPECT_EQ("abc: 123", Format("abc", "123")); EXPECT_EQ("abc: 0.9", Format("abc", "0123456789")); EXPECT_EQ("ab...j: ", Format("abcdefghij", "123")); + EXPECT_EQ("xyz: _.o", Format("xyz", "\\f\\oo")); EXPECT_EQ("ab...j: ", Format("abcdefghij", "0123456789")); } } // namespace printing - |