Changeset 73853 in webkit
- Timestamp:
- Dec 11, 2010 4:48:50 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r73842 r73853 1 2010-12-11 Patrick Gansterer <paroga@webkit.org> 2 3 Reviewed by Darin Adler. 4 5 Add an overload to makeString for Vector<char> 6 https://bugs.webkit.org/show_bug.cgi?id=50123 7 8 Also cleanup StringTypeAdapter. 9 10 * wtf/text/StringConcatenate.h: 11 1 12 2010-12-10 Siddharth Mathur <siddharth.mathur@nokia.com> 2 13 -
trunk/JavaScriptCore/wtf/text/StringConcatenate.h
r69850 r73853 69 69 public: 70 70 StringTypeAdapter<char*>(char* buffer) 71 : m_buffer( (unsigned char*)buffer)71 : m_buffer(buffer) 72 72 , m_length(strlen(buffer)) 73 73 { … … 78 78 void writeTo(UChar* destination) 79 79 { 80 for (unsigned i = 0; i < m_length; ++i) 81 destination[i] = m_buffer[i]; 82 } 83 84 private: 85 const unsigned char* m_buffer; 80 for (unsigned i = 0; i < m_length; ++i) { 81 unsigned char c = m_buffer[i]; 82 destination[i] = c; 83 } 84 } 85 86 private: 87 const char* m_buffer; 86 88 unsigned m_length; 87 89 }; … … 91 93 public: 92 94 StringTypeAdapter<const char*>(const char* buffer) 93 : m_buffer( (unsigned char*)buffer)95 : m_buffer(buffer) 94 96 , m_length(strlen(buffer)) 95 97 { … … 100 102 void writeTo(UChar* destination) 101 103 { 102 for (unsigned i = 0; i < m_length; ++i) 103 destination[i] = m_buffer[i]; 104 } 105 106 private: 107 const unsigned char* m_buffer; 104 for (unsigned i = 0; i < m_length; ++i) { 105 unsigned char c = m_buffer[i]; 106 destination[i] = c; 107 } 108 } 109 110 private: 111 const char* m_buffer; 108 112 unsigned m_length; 109 113 }; 110 114 111 115 template<> 116 class StringTypeAdapter<Vector<char> > { 117 public: 118 StringTypeAdapter<Vector<char> >(const Vector<char>& buffer) 119 : m_buffer(buffer) 120 { 121 } 122 123 size_t length() { return m_buffer.size(); } 124 125 void writeTo(UChar* destination) 126 { 127 for (size_t i = 0; i < m_buffer.size(); ++i) { 128 unsigned char c = m_buffer[i]; 129 destination[i] = c; 130 } 131 } 132 133 private: 134 const Vector<char>& m_buffer; 135 }; 136 137 template<> 112 138 class StringTypeAdapter<String> { 113 139 public: 114 StringTypeAdapter<String>(String& string) 115 : m_data(string.characters()) 116 , m_length(string.length()) 117 { 118 } 119 120 unsigned length() { return m_length; } 140 StringTypeAdapter<String>(const String& string) 141 : m_buffer(string) 142 { 143 } 144 145 unsigned length() { return m_buffer.length(); } 121 146 122 147 void writeTo(UChar* destination) 123 148 { 124 for (unsigned i = 0; i < m_length; ++i) 125 destination[i] = m_data[i]; 126 } 127 128 private: 129 const UChar* m_data; 130 unsigned m_length; 149 const UChar* data = m_buffer.characters(); 150 unsigned length = m_buffer.length(); 151 for (unsigned i = 0; i < length; ++i) 152 destination[i] = data[i]; 153 } 154 155 private: 156 const String& m_buffer; 131 157 }; 132 158 -
trunk/WebCore/ChangeLog
r73844 r73853 1 2010-12-11 Patrick Gansterer <paroga@webkit.org> 2 3 Reviewed by Darin Adler. 4 5 Add an overload to makeString for Vector<char> 6 https://bugs.webkit.org/show_bug.cgi?id=50123 7 8 This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port. 9 10 * platform/graphics/cg/ImageBufferCG.cpp: 11 (WebCore::ImageBuffer::toDataURL): 12 * platform/graphics/gtk/ImageBufferGtk.cpp: 13 (WebCore::ImageBuffer::toDataURL): 14 * platform/graphics/haiku/ImageBufferHaiku.cpp: 15 (WebCore::ImageBuffer::toDataURL): 16 * platform/graphics/skia/ImageBufferSkia.cpp: 17 (WebCore::ImageBuffer::toDataURL): 18 1 19 2010-12-10 Alexey Proskuryakov <ap@apple.com> 2 20 -
trunk/WebCore/platform/graphics/cg/ImageBufferCG.cpp
r70143 r73853 362 362 Vector<char> out; 363 363 base64Encode(reinterpret_cast<const char*>(CFDataGetBytePtr(data.get())), CFDataGetLength(data.get()), out); 364 out.append('\0'); 365 366 return makeString("data:", mimeType, ";base64,", out.data()); 364 365 return makeString("data:", mimeType, ";base64,", out); 367 366 } 368 367 -
trunk/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp
r69798 r73853 67 67 Vector<char> out; 68 68 base64Encode(reinterpret_cast<const char*>(buffer.get()), bufferSize, out); 69 out.append('\0');70 69 71 return makeString("data:", mimeType, ";base64,", out .data());70 return makeString("data:", mimeType, ";base64,", out); 72 71 } 73 72 -
trunk/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
r69798 r73853 369 369 translatedStream.BufferLength(), encodedBuffer); 370 370 371 return makeString("data:", mimeType, ";base64,", encodedBuffer .data());371 return makeString("data:", mimeType, ";base64,", encodedBuffer); 372 372 } 373 373 -
trunk/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
r73173 r73853 340 340 Vector<char> base64Data; 341 341 base64Encode(*reinterpret_cast<Vector<char>*>(&encodedImage), base64Data); 342 base64Data.append('\0'); 343 344 return makeString("data:", mimeType, ";base64,", base64Data.data()); 342 343 return makeString("data:", mimeType, ";base64,", base64Data); 345 344 } 346 345
Note: See TracChangeset
for help on using the changeset viewer.