OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 TextEncoder* TextEncoder::create(const String& utfLabel, ExceptionState& excepti
onState) | 41 TextEncoder* TextEncoder::create(const String& utfLabel, ExceptionState& excepti
onState) |
42 { | 42 { |
43 WTF::TextEncoding encoding(utfLabel); | 43 WTF::TextEncoding encoding(utfLabel); |
44 if (!encoding.isValid()) { | 44 if (!encoding.isValid()) { |
45 exceptionState.throwRangeError("The encoding label provided ('" + utfLab
el + "') is invalid."); | 45 exceptionState.throwRangeError("The encoding label provided ('" + utfLab
el + "') is invalid."); |
46 return 0; | 46 return 0; |
47 } | 47 } |
48 | 48 |
49 String name(encoding.name()); | 49 String name(encoding.name()); |
50 if (name != "UTF-8" && name != "UTF-16LE" && name != "UTF-16BE") { | 50 if (name != "UTF-8" && name != "utf-16le" && name != "utf-16be") { |
51 exceptionState.throwRangeError("The encoding provided ('" + utfLabel + "
') is not one of 'utf-8', 'utf-16', or 'utf-16be'."); | 51 exceptionState.throwRangeError("The encoding provided ('" + utfLabel + "
') is not one of 'utf-8', 'utf-16', or 'utf-16be'."); |
52 return 0; | 52 return 0; |
53 } | 53 } |
54 | 54 |
55 return new TextEncoder(encoding); | 55 return new TextEncoder(encoding); |
56 } | 56 } |
57 | 57 |
58 TextEncoder::TextEncoder(const WTF::TextEncoding& encoding) | 58 TextEncoder::TextEncoder(const WTF::TextEncoding& encoding) |
59 : m_encoding(encoding) | 59 : m_encoding(encoding) |
60 , m_codec(newTextCodec(encoding)) | 60 , m_codec(newTextCodec(encoding)) |
(...skipping 19 matching lines...) Expand all Loading... |
80 else | 80 else |
81 result = m_codec->encode(input.characters16(), input.length(), WTF::Ques
tionMarksForUnencodables); | 81 result = m_codec->encode(input.characters16(), input.length(), WTF::Ques
tionMarksForUnencodables); |
82 | 82 |
83 const char* buffer = result.data(); | 83 const char* buffer = result.data(); |
84 const unsigned char* unsignedBuffer = reinterpret_cast<const unsigned char*>
(buffer); | 84 const unsigned char* unsignedBuffer = reinterpret_cast<const unsigned char*>
(buffer); |
85 | 85 |
86 return DOMUint8Array::create(unsignedBuffer, result.length()); | 86 return DOMUint8Array::create(unsignedBuffer, result.length()); |
87 } | 87 } |
88 | 88 |
89 } // namespace blink | 89 } // namespace blink |
OLD | NEW |