[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
andersca at apple.com
andersca at apple.com
Wed Dec 22 13:55:42 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 31c35fc2d6144d483e1c255049f49eab766daefd
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Sep 29 21:39:41 2010 +0000
Implement more of PluginProxy and PLuginControllerProxy.
Reviewed by Sam Weinig.
* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::decodeBytes):
* Platform/CoreIPC/ArgumentDecoder.h:
Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG.
* Platform/CoreIPC/ArgumentEncoder.cpp:
* Platform/CoreIPC/ArgumentEncoder.h:
Wrap the debug function in #ifndef NDEBUG.
* Platform/CoreIPC/Arguments.h:
Add new typedefs.
* Platform/CoreIPC/DataReference.cpp:
* Platform/CoreIPC/DataReference.h:
Add a DataReference class.
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::handleMessage):
Add new overload.
* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::didEvaluateJavaScript):
(WebKit::PluginControllerProxy::streamDidReceiveResponse):
(WebKit::PluginControllerProxy::streamDidReceiveData):
(WebKit::PluginControllerProxy::streamDidFinishLoading):
(WebKit::PluginControllerProxy::streamDidFail):
call Plugin member functions.
* PluginProcess/PluginControllerProxy.messages.in:
Add new messages.
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:
Add DataReference.cpp and DataReference.h
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::didEvaluateJavaScript):
(WebKit::PluginProxy::streamDidReceiveResponse):
(WebKit::PluginProxy::streamDidReceiveData):
(WebKit::PluginProxy::streamDidFinishLoading):
(WebKit::PluginProxy::streamDidFail):
Send messages.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index aa1baa8..f0a3c06 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,55 @@
2010-09-29 Anders Carlsson <andersca at apple.com>
+ Reviewed by Sam Weinig.
+
+ Implement more of PluginProxy and PLuginControllerProxy.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::decodeBytes):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ Wrap the debug function in #ifndef NDEBUG.
+
+ * Platform/CoreIPC/Arguments.h:
+ Add new typedefs.
+
+ * Platform/CoreIPC/DataReference.cpp:
+ * Platform/CoreIPC/DataReference.h:
+ Add a DataReference class.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::didEvaluateJavaScript):
+ (WebKit::PluginControllerProxy::streamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::streamDidReceiveData):
+ (WebKit::PluginControllerProxy::streamDidFinishLoading):
+ (WebKit::PluginControllerProxy::streamDidFail):
+ call Plugin member functions.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add DataReference.cpp and DataReference.h
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::didEvaluateJavaScript):
+ (WebKit::PluginProxy::streamDidReceiveResponse):
+ (WebKit::PluginProxy::streamDidReceiveData):
+ (WebKit::PluginProxy::streamDidFinishLoading):
+ (WebKit::PluginProxy::streamDidFail):
+ Send messages.
+
+2010-09-29 Anders Carlsson <andersca at apple.com>
+
Update expected results.
* Scripts/webkit2/messages_unittest.py:
diff --git a/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp b/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp
index f8bf34b..336f72f 100644
--- a/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp
+++ b/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp
@@ -25,6 +25,7 @@
#include "ArgumentDecoder.h"
+#include "DataReference.h"
#include <stdio.h>
namespace CoreIPC {
@@ -98,6 +99,22 @@ bool ArgumentDecoder::decodeBytes(Vector<uint8_t>& buffer)
return true;
}
+bool ArgumentDecoder::decodeBytes(DataReference& dataReference)
+{
+ uint64_t size;
+ if (!decodeUInt64(size))
+ return false;
+
+ if (!alignBufferPosition(1, size))
+ return false;
+
+ uint8_t* data = m_bufferPos;
+ m_bufferPos += size;
+
+ dataReference = DataReference(data, size);
+ return true;
+}
+
bool ArgumentDecoder::decodeBytes(uint8_t* buffer, size_t bufferSize)
{
// FIXME: Decoding the size is not strictly necessary here since we know the size upfront.
@@ -196,11 +213,13 @@ bool ArgumentDecoder::removeAttachment(Attachment& attachment)
return true;
}
+#ifndef NDEBUG
void ArgumentDecoder::debug()
{
printf("ArgumentDecoder::debug()\n");
printf("Number of Attachments: %d\n", (int)m_attachments.size());
printf("Size of buffer: %d\n", (int)(m_bufferEnd - m_buffer));
}
+#endif
} // namespace CoreIPC
diff --git a/WebKit2/Platform/CoreIPC/ArgumentDecoder.h b/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
index dee0152..9283e4f 100644
--- a/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
+++ b/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
@@ -34,6 +34,8 @@
namespace CoreIPC {
+class DataReference;
+
class ArgumentDecoder {
public:
ArgumentDecoder(const uint8_t* buffer, size_t bufferSize);
@@ -48,6 +50,9 @@ public:
bool decodeBytes(Vector<uint8_t>&);
bool decodeBytes(uint8_t*, size_t);
+ // The data in the data reference here will only be valid for the lifetime of the ArgumentDecoder object.
+ bool decodeBytes(DataReference&);
+
bool decodeBool(bool&);
bool decodeUInt32(uint32_t&);
bool decodeUInt64(uint64_t&);
@@ -82,7 +87,9 @@ public:
bool removeAttachment(Attachment&);
+#ifndef NDEBUG
void debug();
+#endif
private:
ArgumentDecoder(const ArgumentDecoder*);
diff --git a/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp b/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp
index 4b469d9..ed3057f 100644
--- a/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp
+++ b/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp
@@ -145,11 +145,13 @@ Vector<Attachment> ArgumentEncoder::releaseAttachments()
return newList;
}
+#ifndef NDEBUG
void ArgumentEncoder::debug()
{
printf("ArgumentEncoder::debug()\n");
printf("Number of Attachments: %d\n", (int)m_attachments.size());
printf("Size of buffer: %d\n", (int)m_bufferSize);
}
+#endif
} // namespace CoreIPC
diff --git a/WebKit2/Platform/CoreIPC/ArgumentEncoder.h b/WebKit2/Platform/CoreIPC/ArgumentEncoder.h
index b30fbab..e45aa5d 100644
--- a/WebKit2/Platform/CoreIPC/ArgumentEncoder.h
+++ b/WebKit2/Platform/CoreIPC/ArgumentEncoder.h
@@ -62,7 +62,9 @@ public:
void addAttachment(const Attachment&);
Vector<Attachment> releaseAttachments();
+#ifndef NDEBUG
void debug();
+#endif
private:
uint8_t* grow(unsigned alignment, size_t size);
diff --git a/WebKit2/Platform/CoreIPC/Arguments.h b/WebKit2/Platform/CoreIPC/Arguments.h
index 3c8d8d9..b2fa428 100644
--- a/WebKit2/Platform/CoreIPC/Arguments.h
+++ b/WebKit2/Platform/CoreIPC/Arguments.h
@@ -239,6 +239,13 @@ template<typename T1, typename T2, typename T3, typename T4, typename T5> Argume
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> class Arguments6 : Arguments5<T1, T2, T3, T4, T5> {
public:
+ typedef T1 FirstArgumentType;
+ typedef T2 SecondArgumentType;
+ typedef T3 ThirdArgumentType;
+ typedef T4 FourthArgumentType;
+ typedef T5 FifthArgumentType;
+ typedef T6 SixthArgumentType;
+
Arguments6(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
: Arguments5<T1, T2, T3, T4, T5>(t1, t2, t3, t4, t5)
, m_value(t6)
diff --git a/WebKit2/Platform/CoreIPC/DataReference.cpp b/WebKit2/Platform/CoreIPC/DataReference.cpp
new file mode 100644
index 0000000..308fd6e
--- /dev/null
+++ b/WebKit2/Platform/CoreIPC/DataReference.cpp
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "DataReference.h"
+
+#include "ArgumentDecoder.h"
+#include "ArgumentEncoder.h"
+
+namespace CoreIPC {
+
+void DataReference::encode(ArgumentEncoder* encoder) const
+{
+ encoder->encodeBytes(m_data, m_size);
+}
+
+bool DataReference::decode(ArgumentDecoder* decoder, DataReference& dataReference)
+{
+ return decoder->decodeBytes(dataReference);
+}
+
+} // namespace CoreIPC
+
+
diff --git a/WebKit2/Platform/CoreIPC/DataReference.h b/WebKit2/Platform/CoreIPC/DataReference.h
new file mode 100644
index 0000000..244cdbd
--- /dev/null
+++ b/WebKit2/Platform/CoreIPC/DataReference.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DataReference_h
+#define DataReference_h
+
+namespace CoreIPC {
+
+class ArgumentDecoder;
+class ArgumentEncoder;
+
+class DataReference {
+public:
+ DataReference()
+ : m_data(0)
+ , m_size(0)
+ {
+ }
+
+ DataReference(const uint8_t* data, size_t size)
+ : m_data(data)
+ , m_size(size)
+ {
+ }
+
+ bool isEmpty() const { return size() == 0; }
+
+ size_t size() const { return m_size; }
+ const uint8_t* data() const
+ {
+ ASSERT(!isEmpty());
+
+ return m_data;
+ }
+
+ void encode(ArgumentEncoder* encoder) const;
+ static bool decode(ArgumentDecoder* decoder, DataReference& dataReference);
+
+private:
+ const uint8_t* m_data;
+ size_t m_size;
+};
+
+} // namespace CoreIPC
+
+#endif // DataReference_h
diff --git a/WebKit2/Platform/CoreIPC/HandleMessage.h b/WebKit2/Platform/CoreIPC/HandleMessage.h
index 8b169b8..a01a01a 100644
--- a/WebKit2/Platform/CoreIPC/HandleMessage.h
+++ b/WebKit2/Platform/CoreIPC/HandleMessage.h
@@ -48,6 +48,30 @@ void handleMessage(ArgumentDecoder* arguments, C* object, void (C::*function)(P1
(object->*function)(firstArgument, secondArgument, thirdArgument);
}
+template<typename T, typename C, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
+void handleMessage(ArgumentDecoder* arguments, C* object, void (C::*function)(P1, P2, P3, P4, P5, P6))
+{
+ typename RemoveReference<typename T::FirstArgumentType>::Type firstArgument;
+ if (!arguments->decode(firstArgument))
+ return;
+ typename RemoveReference<typename T::SecondArgumentType>::Type secondArgument;
+ if (!arguments->decode(secondArgument))
+ return;
+ typename RemoveReference<typename T::ThirdArgumentType>::Type thirdArgument;
+ if (!arguments->decode(thirdArgument))
+ return;
+ typename RemoveReference<typename T::FourthArgumentType>::Type fourthArgument;
+ if (!arguments->decode(fourthArgument))
+ return;
+ typename RemoveReference<typename T::FifthArgumentType>::Type fifthArgument;
+ if (!arguments->decode(fifthArgument))
+ return;
+ typename RemoveReference<typename T::SixthArgumentType>::Type sixthArgument;
+ if (!arguments->decode(sixthArgument))
+ return;
+ (object->*function)(firstArgument, secondArgument, thirdArgument, fourthArgument, fifthArgument, sixthArgument);
+}
+
template<typename T, typename C, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
void handleMessage(ArgumentDecoder* arguments, C* object, void (C::*function)(P1, P2, P3, P4, P5, P6, P7))
{
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.cpp b/WebKit2/PluginProcess/PluginControllerProxy.cpp
index dd69e3e..a7e9e19 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.cpp
+++ b/WebKit2/PluginProcess/PluginControllerProxy.cpp
@@ -28,6 +28,7 @@
#include "PluginControllerProxy.h"
#include "BackingStore.h"
+#include "DataReference.h"
#include "NetscapePlugin.h"
#include "NotImplemented.h"
#include "PluginProcess.h"
@@ -194,6 +195,31 @@ void PluginControllerProxy::geometryDidChange(const IntRect& frameRect, const In
m_plugin->geometryDidChange(frameRect, clipRect);
}
+void PluginControllerProxy::didEvaluateJavaScript(uint64_t requestID, const String& requestURLString, const String& result)
+{
+ m_plugin->didEvaluateJavaScript(requestID, requestURLString, result);
+}
+
+void PluginControllerProxy::streamDidReceiveResponse(uint64_t streamID, const String& responseURLString, uint32_t streamLength, uint32_t lastModifiedTime, const String& mimeType, const String& headers)
+{
+ m_plugin->streamDidReceiveResponse(streamID, KURL(ParsedURLString, responseURLString), streamLength, lastModifiedTime, mimeType, headers);
+}
+
+void PluginControllerProxy::streamDidReceiveData(uint64_t streamID, const CoreIPC::DataReference& data)
+{
+ m_plugin->streamDidReceiveData(streamID, reinterpret_cast<const char*>(data.data()), data.size());
+}
+
+void PluginControllerProxy::streamDidFinishLoading(uint64_t streamID)
+{
+ m_plugin->streamDidFinishLoading(streamID);
+}
+
+void PluginControllerProxy::streamDidFail(uint64_t streamID, bool wasCancelled)
+{
+ m_plugin->streamDidFail(streamID, wasCancelled);
+}
+
void PluginControllerProxy::handleMouseEvent(const WebMouseEvent& mouseEvent, bool& handled)
{
handled = m_plugin->handleMouseEvent(mouseEvent);
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.h b/WebKit2/PluginProcess/PluginControllerProxy.h
index bec4043..38a5dc0 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.h
+++ b/WebKit2/PluginProcess/PluginControllerProxy.h
@@ -35,6 +35,10 @@
#include "SharedMemory.h"
#include <wtf/Noncopyable.h>
+namespace CoreIPC {
+ class DataReference;
+}
+
namespace WebKit {
class BackingStore;
@@ -75,6 +79,11 @@ private:
// Message handlers.
void geometryDidChange(const WebCore::IntRect& frameRect, const WebCore::IntRect& clipRect, const SharedMemory::Handle& backingStoreHandle);
+ void didEvaluateJavaScript(uint64_t requestID, const String& requestURLString, const String& result);
+ void streamDidReceiveResponse(uint64_t streamID, const String& responseURLString, uint32_t streamLength, uint32_t lastModifiedTime, const String& mimeType, const String& headers);
+ void streamDidReceiveData(uint64_t streamID, const CoreIPC::DataReference& data);
+ void streamDidFinishLoading(uint64_t streamID);
+ void streamDidFail(uint64_t streamID, bool wasCancelled);
void handleMouseEvent(const WebMouseEvent&, bool& handled);
void handleWheelEvent(const WebWheelEvent&, bool& handled);
void handleMouseEnterEvent(const WebMouseEvent&, bool& handled);
diff --git a/WebKit2/PluginProcess/PluginControllerProxy.messages.in b/WebKit2/PluginProcess/PluginControllerProxy.messages.in
index 30333eb..cc6abf0 100644
--- a/WebKit2/PluginProcess/PluginControllerProxy.messages.in
+++ b/WebKit2/PluginProcess/PluginControllerProxy.messages.in
@@ -26,6 +26,21 @@ messages -> PluginControllerProxy {
# Sent when the plug-in geometry changes.
GeometryDidChange(WebCore::IntRect frameRect, WebCore::IntRect clipRect, WebKit::SharedMemory::Handle backingStoreHandle)
+ # Sent when JavaScript that the plug-in asked to be evaluated has been evaluated.
+ DidEvaluateJavaScript(uint64_t requestID, WTF::String requestURLString, WTF::String result)
+
+ # Sent when the plug-in receives a response for a stream.
+ StreamDidReceiveResponse(uint64_t streamID, WTF::String responseURLString, uint32_t streamLength, uint32_t lastModifiedTime, WTF::String mimeType, WTF::String headers)
+
+ # Sent when the plug-in receives data for a stream.
+ StreamDidReceiveData(uint64_t streamID, CoreIPC::DataReference data)
+
+ # Sent when a plug-in stream has finishes loading.
+ StreamDidFinishLoading(uint64_t streamID)
+
+ # Sent when a plug-in stream has failed to load.
+ StreamDidFail(uint64_t streamID, bool wasCancelled)
+
# Sent when a mouse event (that isn't a mouse enter/leave event or a wheel event) should be processed.
HandleMouseEvent(WebKit::WebMouseEvent mouseEvent) -> (bool handled)
diff --git a/WebKit2/WebKit2.pro b/WebKit2/WebKit2.pro
index c038c70..5f1731b 100644
--- a/WebKit2/WebKit2.pro
+++ b/WebKit2/WebKit2.pro
@@ -152,6 +152,7 @@ HEADERS += \
Platform/CoreIPC/Attachment.h \
Platform/CoreIPC/Connection.h \
Platform/CoreIPC/CoreIPCMessageKinds.h \
+ Platform/CoreIPC/DataReference.h \
Platform/CoreIPC/HandleMessage.h \
Platform/CoreIPC/MessageID.h \
Platform/Module.h \
@@ -291,6 +292,7 @@ SOURCES += \
Platform/CoreIPC/ArgumentEncoder.cpp \
Platform/CoreIPC/Attachment.cpp \
Platform/CoreIPC/Connection.cpp \
+ Platform/CoreIPC/DataReference.cpp \
Platform/CoreIPC/qt/ConnectionQt.cpp \
Platform/Module.cpp \
Platform/RunLoop.cpp \
diff --git a/WebKit2/WebKit2.xcodeproj/project.pbxproj b/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 8295fff..8327a3b 100644
--- a/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -116,6 +116,8 @@
1A8EFA5C1252B7CE00F7067F /* PluginProxy.messages.in in Resources */ = {isa = PBXBuildFile; fileRef = 1A8EFA5B1252B7CE00F7067F /* PluginProxy.messages.in */; };
1A8EFA701252B84100F7067F /* PluginProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A8EFA6E1252B84100F7067F /* PluginProxyMessageReceiver.cpp */; };
1A8EFA711252B84100F7067F /* PluginProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8EFA6F1252B84100F7067F /* PluginProxyMessages.h */; };
+ 1A8EFDFA1253CAA200F7067F /* DataReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8EFDF91253CAA200F7067F /* DataReference.h */; };
+ 1A8EFDFE1253CB6E00F7067F /* DataReference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A8EFDFD1253CB6E00F7067F /* DataReference.cpp */; };
1AA1CC5D100FA1A10078DEBC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1CC5C100FA1A10078DEBC /* QuartzCore.framework */; };
1AA1CD07100FA1BA0078DEBC /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1CD06100FA1BA0078DEBC /* Carbon.framework */; };
1AA56F2911E92BC80061B882 /* PluginController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA56F2811E92BC80061B882 /* PluginController.h */; };
@@ -553,6 +555,8 @@
1A8EFA5B1252B7CE00F7067F /* PluginProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PluginProxy.messages.in; sourceTree = "<group>"; };
1A8EFA6E1252B84100F7067F /* PluginProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginProxyMessageReceiver.cpp; sourceTree = "<group>"; };
1A8EFA6F1252B84100F7067F /* PluginProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginProxyMessages.h; sourceTree = "<group>"; };
+ 1A8EFDF91253CAA200F7067F /* DataReference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataReference.h; sourceTree = "<group>"; };
+ 1A8EFDFD1253CB6E00F7067F /* DataReference.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DataReference.cpp; sourceTree = "<group>"; };
1AA1C79A100E7FC50078DEBC /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1AA1C7DE100E846E0078DEBC /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1AA1CC5C100FA1A10078DEBC /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
@@ -1148,6 +1152,8 @@
BCEE966B112FAF57006BCC24 /* Attachment.h */,
BC032DA210F437D10058C15A /* Connection.cpp */,
BC032DA310F437D10058C15A /* Connection.h */,
+ 1A8EFDFD1253CB6E00F7067F /* DataReference.cpp */,
+ 1A8EFDF91253CAA200F7067F /* DataReference.h */,
BC131BC811726C2800B69727 /* CoreIPCMessageKinds.h */,
C0CE72AC1247E78D00BC0EC4 /* HandleMessage.h */,
BC032DA410F437D10058C15A /* MessageID.h */,
@@ -1907,6 +1913,7 @@
C09AE5E9125257C20025825D /* WKNativeEvent.h in Headers */,
1A8EF96F1252AF6B00F7067F /* PluginControllerProxyMessages.h in Headers */,
1A8EFA711252B84100F7067F /* PluginProxyMessages.h in Headers */,
+ 1A8EFDFA1253CAA200F7067F /* DataReference.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2201,6 +2208,7 @@
C02BFF1E1251502E009CCBEA /* NativeWebKeyboardEventMac.mm in Sources */,
1A8EF96E1252AF6B00F7067F /* PluginControllerProxyMessageReceiver.cpp in Sources */,
1A8EFA701252B84100F7067F /* PluginProxyMessageReceiver.cpp in Sources */,
+ 1A8EFDFE1253CB6E00F7067F /* DataReference.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.cpp b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
index 72ad959..46dee53 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
@@ -28,6 +28,7 @@
#include "PluginProxy.h"
#include "BackingStore.h"
+#include "DataReference.h"
#include "NotImplemented.h"
#include "PluginController.h"
#include "PluginControllerProxyMessages.h"
@@ -179,27 +180,27 @@ void PluginProxy::frameDidFail(uint64_t requestID, bool wasCancelled)
void PluginProxy::didEvaluateJavaScript(uint64_t requestID, const WTF::String& requestURLString, const WTF::String& result)
{
- notImplemented();
+ m_connection->connection()->send(Messages::PluginControllerProxy::DidEvaluateJavaScript(requestID, requestURLString, result), m_pluginInstanceID);
}
void PluginProxy::streamDidReceiveResponse(uint64_t streamID, const KURL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const WTF::String& mimeType, const WTF::String& headers)
{
- notImplemented();
+ m_connection->connection()->send(Messages::PluginControllerProxy::StreamDidReceiveResponse(streamID, responseURL.string(), streamLength, lastModifiedTime, mimeType, headers), m_pluginInstanceID);
}
void PluginProxy::streamDidReceiveData(uint64_t streamID, const char* bytes, int length)
{
- notImplemented();
+ m_connection->connection()->send(Messages::PluginControllerProxy::StreamDidReceiveData(streamID, CoreIPC::DataReference(reinterpret_cast<const uint8_t*>(bytes), length)), m_pluginInstanceID);
}
void PluginProxy::streamDidFinishLoading(uint64_t streamID)
{
- notImplemented();
+ m_connection->connection()->send(Messages::PluginControllerProxy::StreamDidFinishLoading(streamID), m_pluginInstanceID);
}
void PluginProxy::streamDidFail(uint64_t streamID, bool wasCancelled)
{
- notImplemented();
+ m_connection->connection()->send(Messages::PluginControllerProxy::StreamDidFail(streamID, wasCancelled), m_pluginInstanceID);
}
void PluginProxy::manualStreamDidReceiveResponse(const KURL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const WTF::String& mimeType, const WTF::String& headers)
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index 29636ba..a36094f 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -1860,6 +1860,14 @@
>
</File>
<File
+ RelativePath="..\Platform\CoreIPC\DataReference.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\DataReference.h"
+ >
+ </File>
+ <File
RelativePath="..\Platform\CoreIPC\CoreIPCMessageKinds.h"
>
</File>
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list