Title: [88860] trunk/Source/WebKit2
Revision
88860
Author
[email protected]
Date
2011-06-14 15:57:22 -0700 (Tue, 14 Jun 2011)

Log Message

2011-06-14  Anders Carlsson  <[email protected]>

        Reviewed by Sam Weinig.

        Add functions for converting between DataReferences and vectors
        https://bugs.webkit.org/show_bug.cgi?id=62671

        * Platform/CoreIPC/DataReference.h:
        (CoreIPC::DataReference::DataReference):
        New implicit constructor that takes a vector.

        (CoreIPC::DataReference::vector):
        New function that returns a new vector.

        * Shared/WebBackForwardListItem.cpp:
        (WebKit::WebBackForwardListItem::encode):
        Use implicit constructor.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::runJavaScriptInMainFrame):
        Ditto.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (88859 => 88860)


--- trunk/Source/WebKit2/ChangeLog	2011-06-14 22:57:15 UTC (rev 88859)
+++ trunk/Source/WebKit2/ChangeLog	2011-06-14 22:57:22 UTC (rev 88860)
@@ -1,3 +1,25 @@
+2011-06-14  Anders Carlsson  <[email protected]>
+
+        Reviewed by Sam Weinig.
+
+        Add functions for converting between DataReferences and vectors
+        https://bugs.webkit.org/show_bug.cgi?id=62671
+
+        * Platform/CoreIPC/DataReference.h:
+        (CoreIPC::DataReference::DataReference):
+        New implicit constructor that takes a vector.
+
+        (CoreIPC::DataReference::vector):
+        New function that returns a new vector.
+
+        * Shared/WebBackForwardListItem.cpp:
+        (WebKit::WebBackForwardListItem::encode):
+        Use implicit constructor.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::runJavaScriptInMainFrame):
+        Ditto.
+
 2011-06-14  John Sullivan  <[email protected]>
 
         Reviewed by Dan Bernstein.

Modified: trunk/Source/WebKit2/Platform/CoreIPC/DataReference.h (88859 => 88860)


--- trunk/Source/WebKit2/Platform/CoreIPC/DataReference.h	2011-06-14 22:57:15 UTC (rev 88859)
+++ trunk/Source/WebKit2/Platform/CoreIPC/DataReference.h	2011-06-14 22:57:22 UTC (rev 88860)
@@ -26,7 +26,7 @@
 #ifndef DataReference_h
 #define DataReference_h
 
-#include <inttypes.h>
+#include <wtf/Vector.h>
 
 namespace CoreIPC {
 
@@ -47,6 +47,13 @@
     {
     }
 
+    template<size_t inlineCapacity>
+    DataReference(const Vector<uint8_t, inlineCapacity>& vector)
+        : m_data(vector.data())
+        , m_size(vector.size())
+    {
+    }
+
     bool isEmpty() const { return size() == 0; }
 
     size_t size() const { return m_size; }
@@ -57,6 +64,14 @@
         return m_data; 
     }
 
+    Vector<uint8_t> vector()
+    {
+        Vector<uint8_t> result;
+        result.append(m_data, m_size);
+
+        return result;
+    }
+
     void encode(ArgumentEncoder* encoder) const;
     static bool decode(ArgumentDecoder* decoder, DataReference& dataReference);
 

Modified: trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp (88859 => 88860)


--- trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp	2011-06-14 22:57:15 UTC (rev 88859)
+++ trunk/Source/WebKit2/Shared/WebBackForwardListItem.cpp	2011-06-14 22:57:22 UTC (rev 88860)
@@ -67,7 +67,7 @@
     encoder.encode(m_url);
     encoder.encode(m_title);
     encoder.encode(m_itemID);
-    encoder.encode(CoreIPC::DataReference(m_backForwardData.data(), m_backForwardData.size()));
+    encoder.encode(CoreIPC::DataReference(m_backForwardData));
 }
 
 PassRefPtr<WebBackForwardListItem> WebBackForwardListItem::decode(CoreIPC::ArgumentDecoder& decoder)

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (88859 => 88860)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2011-06-14 22:57:15 UTC (rev 88859)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2011-06-14 22:57:22 UTC (rev 88860)
@@ -1416,9 +1416,8 @@
 
     JSLock lock(SilenceAssertionsOnly);
     if (JSValue resultValue = m_mainFrame->coreFrame()->script()->executeScript(script, true).jsValue()) {
-        if ((serializedResultValue = SerializedScriptValue::create(m_mainFrame->jsContext(), 
-            toRef(m_mainFrame->coreFrame()->script()->globalObject(mainThreadNormalWorld())->globalExec(), resultValue), 0)))
-            dataReference = CoreIPC::DataReference(serializedResultValue->data().data(), serializedResultValue->data().size());
+        if ((serializedResultValue = SerializedScriptValue::create(m_mainFrame->jsContext(), toRef(m_mainFrame->coreFrame()->script()->globalObject(mainThreadNormalWorld())->globalExec(), resultValue), 0)))
+            dataReference = serializedResultValue->data();
     }
 
     send(Messages::WebPageProxy::ScriptValueCallback(dataReference, callbackID));
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to