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

Side by Side Diff: third_party/WebKit/Source/wtf/text/CString.cpp

Issue 2240053002: Replace WTF_LOG() with NETWORK_DVLOG() or RESOURCE_LOADING_DVLOG(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sstream, EXPECT_STREQ Created 4 years, 4 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2003, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights reserv ed.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 26
27 #include "wtf/text/CString.h" 27 #include "wtf/text/CString.h"
28 28
29 #include "wtf/ASCIICType.h"
29 #include "wtf/allocator/PartitionAlloc.h" 30 #include "wtf/allocator/PartitionAlloc.h"
30 #include "wtf/allocator/Partitions.h" 31 #include "wtf/allocator/Partitions.h"
31 #include <string.h> 32 #include <string.h>
32 33
33 using namespace std; 34 using namespace std;
34 35
35 namespace WTF { 36 namespace WTF {
36 37
37 PassRefPtr<CStringBuffer> CStringBuffer::createUninitialized(size_t length) 38 PassRefPtr<CStringBuffer> CStringBuffer::createUninitialized(size_t length)
38 { 39 {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 122
122 bool operator==(const CString& a, const char* b) 123 bool operator==(const CString& a, const char* b)
123 { 124 {
124 if (a.isNull() != !b) 125 if (a.isNull() != !b)
125 return false; 126 return false;
126 if (!b) 127 if (!b)
127 return true; 128 return true;
128 return !strcmp(a.data(), b); 129 return !strcmp(a.data(), b);
129 } 130 }
130 131
132 std::ostream& operator<<(std::ostream& ostream, const CString& string)
133 {
134 if (string.isNull())
135 return ostream << "<null>";
136
137 ostream << '"';
138 for (size_t index = 0; index < string.length(); ++index) {
139 // Print shorthands for select cases.
140 char character = string.data()[index];
141 switch (character) {
142 case '\t':
143 ostream << "\\t";
144 break;
145 case '\n':
146 ostream << "\\n";
147 break;
148 case '\r':
149 ostream << "\\r";
150 break;
151 case '"':
152 ostream << "\\\"";
153 break;
154 case '\\':
155 ostream << "\\\\";
156 break;
157 default:
158 if (isASCIIPrintable(character)) {
159 ostream << character;
160 } else {
161 // Print "\xHH" for control or non-ASCII characters.
162 ostream << "\\x";
163 if (character >= 0 && character < 0x10)
164 ostream << "0";
165 ostream.setf(std::ios_base::hex, std::ios_base::basefield);
166 ostream.setf(std::ios::uppercase);
167 ostream << (character & 0xff);
168 }
169 break;
170 }
171 }
172 return ostream << '"';
173 }
174
131 } // namespace WTF 175 } // namespace WTF
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698