summaryrefslogtreecommitdiffstats
path: root/printing
diff options
context:
space:
mode:
authorthestig <thestig@chromium.org>2016-02-03 13:46:31 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-03 21:48:00 +0000
commit3ccfd1fef6b8cd897682e26cb07ea182349b3747 (patch)
tree18e0a76dac60cbefcdaabff709f360a6a388b8b2 /printing
parent4ce19b8ce692bf6c1b885a5e07e7737c485bf591 (diff)
downloadchromium_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.cc6
-rw-r--r--printing/printing_utils_unittest.cc3
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
-