[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

paroga at webkit.org paroga at webkit.org
Wed Dec 22 18:28:13 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 24a73d7aaf32b99b257ac8fbbe37b0297c96d466
Author: paroga at webkit.org <paroga at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Dec 11 12:48:50 2010 +0000

    2010-12-11  Patrick Gansterer  <paroga at webkit.org>
    
            Reviewed by Darin Adler.
    
            Add an overload to makeString for Vector<char>
            https://bugs.webkit.org/show_bug.cgi?id=50123
    
            Also cleanup StringTypeAdapter.
    
            * wtf/text/StringConcatenate.h:
    2010-12-11  Patrick Gansterer  <paroga at webkit.org>
    
            Reviewed by Darin Adler.
    
            Add an overload to makeString for Vector<char>
            https://bugs.webkit.org/show_bug.cgi?id=50123
    
            This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
    
            * platform/graphics/cg/ImageBufferCG.cpp:
            (WebCore::ImageBuffer::toDataURL):
            * platform/graphics/gtk/ImageBufferGtk.cpp:
            (WebCore::ImageBuffer::toDataURL):
            * platform/graphics/haiku/ImageBufferHaiku.cpp:
            (WebCore::ImageBuffer::toDataURL):
            * platform/graphics/skia/ImageBufferSkia.cpp:
            (WebCore::ImageBuffer::toDataURL):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73853 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 6cb0bb6..2b808c7 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,14 @@
+2010-12-11  Patrick Gansterer  <paroga at webkit.org>
+
+        Reviewed by Darin Adler.
+
+        Add an overload to makeString for Vector<char>
+        https://bugs.webkit.org/show_bug.cgi?id=50123
+
+        Also cleanup StringTypeAdapter.
+
+        * wtf/text/StringConcatenate.h:
+
 2010-12-10  Siddharth Mathur  <siddharth.mathur at nokia.com>
 
         Reviewed by Eric Seidel.
diff --git a/JavaScriptCore/wtf/text/StringConcatenate.h b/JavaScriptCore/wtf/text/StringConcatenate.h
index b54a108..92a2d06 100644
--- a/JavaScriptCore/wtf/text/StringConcatenate.h
+++ b/JavaScriptCore/wtf/text/StringConcatenate.h
@@ -68,7 +68,7 @@ template<>
 class StringTypeAdapter<char*> {
 public:
     StringTypeAdapter<char*>(char* buffer)
-        : m_buffer((unsigned char*)buffer)
+        : m_buffer(buffer)
         , m_length(strlen(buffer))
     {
     }
@@ -77,12 +77,14 @@ public:
 
     void writeTo(UChar* destination)
     {
-        for (unsigned i = 0; i < m_length; ++i)
-            destination[i] = m_buffer[i];
+        for (unsigned i = 0; i < m_length; ++i) {
+            unsigned char c = m_buffer[i];
+            destination[i] = c;
+        }
     }
 
 private:
-    const unsigned char* m_buffer;
+    const char* m_buffer;
     unsigned m_length;
 };
 
@@ -90,7 +92,7 @@ template<>
 class StringTypeAdapter<const char*> {
 public:
     StringTypeAdapter<const char*>(const char* buffer)
-        : m_buffer((unsigned char*)buffer)
+        : m_buffer(buffer)
         , m_length(strlen(buffer))
     {
     }
@@ -99,35 +101,59 @@ public:
 
     void writeTo(UChar* destination)
     {
-        for (unsigned i = 0; i < m_length; ++i)
-            destination[i] = m_buffer[i];
+        for (unsigned i = 0; i < m_length; ++i) {
+            unsigned char c = m_buffer[i];
+            destination[i] = c;
+        }
     }
 
 private:
-    const unsigned char* m_buffer;
+    const char* m_buffer;
     unsigned m_length;
 };
 
 template<>
+class StringTypeAdapter<Vector<char> > {
+public:
+    StringTypeAdapter<Vector<char> >(const Vector<char>& buffer)
+        : m_buffer(buffer)
+    {
+    }
+
+    size_t length() { return m_buffer.size(); }
+
+    void writeTo(UChar* destination)
+    {
+        for (size_t i = 0; i < m_buffer.size(); ++i) {
+            unsigned char c = m_buffer[i];
+            destination[i] = c;
+        }
+    }
+
+private:
+    const Vector<char>& m_buffer;
+};
+
+template<>
 class StringTypeAdapter<String> {
 public:
-    StringTypeAdapter<String>(String& string)
-        : m_data(string.characters())
-        , m_length(string.length())
+    StringTypeAdapter<String>(const String& string)
+        : m_buffer(string)
     {
     }
 
-    unsigned length() { return m_length; }
+    unsigned length() { return m_buffer.length(); }
 
     void writeTo(UChar* destination)
     {
-        for (unsigned i = 0; i < m_length; ++i)
-            destination[i] = m_data[i];
+        const UChar* data = m_buffer.characters();
+        unsigned length = m_buffer.length();
+        for (unsigned i = 0; i < length; ++i)
+            destination[i] = data[i];
     }
 
 private:
-    const UChar* m_data;
-    unsigned m_length;
+    const String& m_buffer;
 };
 
 inline void sumWithOverflow(unsigned& total, unsigned addend, bool& overflow)
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ef15caf..7575d85 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-12-11  Patrick Gansterer  <paroga at webkit.org>
+
+        Reviewed by Darin Adler.
+
+        Add an overload to makeString for Vector<char>
+        https://bugs.webkit.org/show_bug.cgi?id=50123
+
+        This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
+
+        * platform/graphics/cg/ImageBufferCG.cpp:
+        (WebCore::ImageBuffer::toDataURL):
+        * platform/graphics/gtk/ImageBufferGtk.cpp:
+        (WebCore::ImageBuffer::toDataURL):
+        * platform/graphics/haiku/ImageBufferHaiku.cpp:
+        (WebCore::ImageBuffer::toDataURL):
+        * platform/graphics/skia/ImageBufferSkia.cpp:
+        (WebCore::ImageBuffer::toDataURL):
+
 2010-12-10  Alexey Proskuryakov  <ap at apple.com>
 
         Mac build fix.
diff --git a/WebCore/platform/graphics/cg/ImageBufferCG.cpp b/WebCore/platform/graphics/cg/ImageBufferCG.cpp
index 640692a..f08522c 100644
--- a/WebCore/platform/graphics/cg/ImageBufferCG.cpp
+++ b/WebCore/platform/graphics/cg/ImageBufferCG.cpp
@@ -361,9 +361,8 @@ String ImageBuffer::toDataURL(const String& mimeType, const double* quality) con
 
     Vector<char> out;
     base64Encode(reinterpret_cast<const char*>(CFDataGetBytePtr(data.get())), CFDataGetLength(data.get()), out);
-    out.append('\0');
 
-    return makeString("data:", mimeType, ";base64,", out.data());
+    return makeString("data:", mimeType, ";base64,", out);
 }
 
 } // namespace WebCore
diff --git a/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp b/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp
index 486a317..cf0470f 100644
--- a/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp
+++ b/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp
@@ -66,9 +66,8 @@ String ImageBuffer::toDataURL(const String& mimeType, const double* quality) con
 
     Vector<char> out;
     base64Encode(reinterpret_cast<const char*>(buffer.get()), bufferSize, out);
-    out.append('\0');
 
-    return makeString("data:", mimeType, ";base64,", out.data());
+    return makeString("data:", mimeType, ";base64,", out);
 }
 
 }
diff --git a/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp b/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
index d1b06f3..46ba4ef 100644
--- a/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
+++ b/WebCore/platform/graphics/haiku/ImageBufferHaiku.cpp
@@ -368,7 +368,7 @@ String ImageBuffer::toDataURL(const String& mimeType, const double*) const
     base64Encode(reinterpret_cast<const char*>(translatedStream.Buffer()),
                  translatedStream.BufferLength(), encodedBuffer);
 
-    return makeString("data:", mimeType, ";base64,", encodedBuffer.data());
+    return makeString("data:", mimeType, ";base64,", encodedBuffer);
 }
 
 } // namespace WebCore
diff --git a/WebCore/platform/graphics/skia/ImageBufferSkia.cpp b/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
index b714ef4..66a5aa1 100644
--- a/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
+++ b/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
@@ -339,9 +339,8 @@ String ImageBuffer::toDataURL(const String& mimeType, const double* quality) con
 
     Vector<char> base64Data;
     base64Encode(*reinterpret_cast<Vector<char>*>(&encodedImage), base64Data);
-    base64Data.append('\0');
 
-    return makeString("data:", mimeType, ";base64,", base64Data.data());
+    return makeString("data:", mimeType, ";base64,", base64Data);
 }
 
 } // namespace WebCore

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list