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

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

Issue 2585673002: Replace ASSERT, ENABLE(ASSERT), and ASSERT_NOT_REACHED in wtf (Closed)
Patch Set: Fix an Asan issue with LinkedHashSetNodeBase::unlink Created 4 years 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) 2004, 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2006 Alexey Proskuryakov <ap@nypop.com> 3 * Copyright (C) 2006 Alexey Proskuryakov <ap@nypop.com>
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 else if (!strcasecmp(standardName, "iso-8859-9")) 106 else if (!strcasecmp(standardName, "iso-8859-9"))
107 // This name is returned in different case by ICU 3.2 and 3.6. 107 // This name is returned in different case by ICU 3.2 and 3.6.
108 standardName = "windows-1254"; 108 standardName = "windows-1254";
109 else if (!strcmp(standardName, "TIS-620")) 109 else if (!strcmp(standardName, "TIS-620"))
110 standardName = "windows-874"; 110 standardName = "windows-874";
111 #endif 111 #endif
112 112
113 registrar(standardName, standardName); 113 registrar(standardName, standardName);
114 114
115 uint16_t numAliases = ucnv_countAliases(name, &error); 115 uint16_t numAliases = ucnv_countAliases(name, &error);
116 ASSERT(U_SUCCESS(error)); 116 DCHECK(U_SUCCESS(error));
117 if (U_SUCCESS(error)) 117 if (U_SUCCESS(error))
118 for (uint16_t j = 0; j < numAliases; ++j) { 118 for (uint16_t j = 0; j < numAliases; ++j) {
119 error = U_ZERO_ERROR; 119 error = U_ZERO_ERROR;
120 const char* alias = ucnv_getAlias(name, j, &error); 120 const char* alias = ucnv_getAlias(name, j, &error);
121 ASSERT(U_SUCCESS(error)); 121 DCHECK(U_SUCCESS(error));
122 if (U_SUCCESS(error) && alias != standardName) 122 if (U_SUCCESS(error) && alias != standardName)
123 registrar(alias, standardName); 123 registrar(alias, standardName);
124 } 124 }
125 } 125 }
126 126
127 // These two entries have to be added here because ICU's converter table 127 // These two entries have to be added here because ICU's converter table
128 // cannot have both ISO-8859-8-I and ISO-8859-8. 128 // cannot have both ISO-8859-8-I and ISO-8859-8.
129 registrar("csISO88598I", "ISO-8859-8-I"); 129 registrar("csISO88598I", "ISO-8859-8-I");
130 registrar("logical", "ISO-8859-8-I"); 130 registrar("logical", "ISO-8859-8-I");
131 131
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 if (m_converterICU) { 262 if (m_converterICU) {
263 UConverter*& cachedConverter = cachedConverterICU(); 263 UConverter*& cachedConverter = cachedConverterICU();
264 if (cachedConverter) 264 if (cachedConverter)
265 ucnv_close(cachedConverter); 265 ucnv_close(cachedConverter);
266 cachedConverter = m_converterICU; 266 cachedConverter = m_converterICU;
267 m_converterICU = 0; 267 m_converterICU = 0;
268 } 268 }
269 } 269 }
270 270
271 void TextCodecICU::createICUConverter() const { 271 void TextCodecICU::createICUConverter() const {
272 ASSERT(!m_converterICU); 272 DCHECK(!m_converterICU);
273 273
274 #if defined(USING_SYSTEM_ICU) 274 #if defined(USING_SYSTEM_ICU)
275 const char* name = m_encoding.name(); 275 const char* name = m_encoding.name();
276 m_needsGBKFallbacks = 276 m_needsGBKFallbacks =
277 name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3]; 277 name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3];
278 #endif 278 #endif
279 279
280 UErrorCode err; 280 UErrorCode err;
281 281
282 UConverter*& cachedConverter = cachedConverterICU(); 282 UConverter*& cachedConverter = cachedConverterICU();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 }; 346 };
347 347
348 String TextCodecICU::decode(const char* bytes, 348 String TextCodecICU::decode(const char* bytes,
349 size_t length, 349 size_t length,
350 FlushBehavior flush, 350 FlushBehavior flush,
351 bool stopOnError, 351 bool stopOnError,
352 bool& sawError) { 352 bool& sawError) {
353 // Get a converter for the passed-in encoding. 353 // Get a converter for the passed-in encoding.
354 if (!m_converterICU) { 354 if (!m_converterICU) {
355 createICUConverter(); 355 createICUConverter();
356 ASSERT(m_converterICU); 356 DCHECK(m_converterICU);
357 if (!m_converterICU) { 357 if (!m_converterICU) {
358 DLOG(ERROR) 358 DLOG(ERROR)
359 << "error creating ICU encoder even though encoding was in table"; 359 << "error creating ICU encoder even though encoding was in table";
360 return String(); 360 return String();
361 } 361 }
362 } 362 }
363 363
364 ErrorCallbackSetter callbackSetter(m_converterICU, stopOnError); 364 ErrorCallbackSetter callbackSetter(m_converterICU, stopOnError);
365 365
366 StringBuilder result; 366 StringBuilder result;
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 &err); 651 &err);
652 #else 652 #else
653 ucnv_setFromUCallBack(m_converterICU, 653 ucnv_setFromUCallBack(m_converterICU,
654 m_needsGBKFallbacks ? gbkCssEscapedEntityCallack 654 m_needsGBKFallbacks ? gbkCssEscapedEntityCallack
655 : cssEscapedEntityCallback, 655 : cssEscapedEntityCallback,
656 0, 0, 0, &err); 656 0, 0, 0, &err);
657 #endif 657 #endif
658 break; 658 break;
659 } 659 }
660 660
661 ASSERT(U_SUCCESS(err)); 661 DCHECK(U_SUCCESS(err));
662 if (U_FAILURE(err)) 662 if (U_FAILURE(err))
663 return CString(); 663 return CString();
664 664
665 Vector<char> result; 665 Vector<char> result;
666 size_t size = 0; 666 size_t size = 0;
667 do { 667 do {
668 char buffer[ConversionBufferSize]; 668 char buffer[ConversionBufferSize];
669 char* target = buffer; 669 char* target = buffer;
670 char* targetLimit = target + ConversionBufferSize; 670 char* targetLimit = target + ConversionBufferSize;
671 err = U_ZERO_ERROR; 671 err = U_ZERO_ERROR;
(...skipping 30 matching lines...) Expand all
702 return encodeCommon(characters, length, handling); 702 return encodeCommon(characters, length, handling);
703 } 703 }
704 704
705 CString TextCodecICU::encode(const LChar* characters, 705 CString TextCodecICU::encode(const LChar* characters,
706 size_t length, 706 size_t length,
707 UnencodableHandling handling) { 707 UnencodableHandling handling) {
708 return encodeCommon(characters, length, handling); 708 return encodeCommon(characters, length, handling);
709 } 709 }
710 710
711 } // namespace WTF 711 } // namespace WTF
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/wtf/text/TextCodec.cpp ('k') | third_party/WebKit/Source/wtf/text/TextCodecUTF16.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698