2011-06-09 Jay Civelli <jcivelli@chromium.org>
[WebKit-https.git] / Source / WebKit / chromium / public / WebData.h
index 5874bed31682395760822957245783c38c75e668..dd72901f3b8034a70a8a8f744e8de8be2b78b6e8 100644 (file)
@@ -76,6 +76,22 @@ public:
     WEBKIT_API void assign(const char* data, size_t size);
 
     WEBKIT_API size_t size() const;
+
+    // Sets |data| to point to the content of the WebData at index |position|
+    // and returns the number of bytes available to be read in |data|.
+    // Return 0 when no more data is left.
+    // Usage:
+    //      const char* segment;
+    //      size_t position = 0;
+    //      while (size_t length = webData.getSomeData(segment, position)) {
+    //          // Use the data. for example: decoder->decode(segment, length);
+    //          position += length;
+    //      }
+    WEBKIT_API size_t getSomeData(const char*& data, size_t position) const;
+
+    // Returns all the data from the SharedBuffer.
+    // Consider using getSomeData() as data() could require flattening the internal buffer
+    // which might be expensive.
     WEBKIT_API const char* data() const;
 
     bool isEmpty() const { return !size(); }