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