Jacek Caban : mshtml: Added IHTMLWindow6:: postMessage semi-stub implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Apr 5 11:07:33 CDT 2016
Module: wine
Branch: master
Commit: 6fd383e8dfd7d2253f26a7a6462fd06e10c0c1c0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6fd383e8dfd7d2253f26a7a6462fd06e10c0c1c0
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Apr 4 18:01:57 2016 +0200
mshtml: Added IHTMLWindow6::postMessage semi-stub implementation.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmlwindow.c | 12 ++++++++++--
dlls/mshtml/tests/jstest.html | 10 ++++++++++
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index ec333bc..9092b47 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -2134,8 +2134,16 @@ static HRESULT WINAPI HTMLWindow6_get_maxConnectionsPerServer(IHTMLWindow6 *ifac
static HRESULT WINAPI HTMLWindow6_postMessage(IHTMLWindow6 *iface, BSTR msg, VARIANT targetOrigin)
{
HTMLWindow *This = impl_from_IHTMLWindow6(iface);
- FIXME("(%p)->(%s %s)\n", This, debugstr_w(msg), debugstr_variant(&targetOrigin));
- return E_NOTIMPL;
+
+ FIXME("(%p)->(%s %s) semi-stub\n", This, debugstr_w(msg), debugstr_variant(&targetOrigin));
+
+ if(!This->inner_window->doc) {
+ FIXME("No document\n");
+ return E_FAIL;
+ }
+
+ fire_event(This->inner_window->doc, EVENTID_MESSAGE, TRUE, &This->inner_window->doc->node, NULL, NULL);
+ return S_OK;
}
static HRESULT WINAPI HTMLWindow6_toStaticHTML(IHTMLWindow6 *iface, BSTR bstrHTML, BSTR *pbstrStaticHTML)
diff --git a/dlls/mshtml/tests/jstest.html b/dlls/mshtml/tests/jstest.html
index 2a5a447..00dd35d 100644
--- a/dlls/mshtml/tests/jstest.html
+++ b/dlls/mshtml/tests/jstest.html
@@ -362,6 +362,15 @@ function test_xhr() {
ok(typeof(xhr) === "object", "typeof(xhr) = " + typeof(xhr));
}
+function test_sendMessage() {
+ var onmessage_called = false;
+ window.onmessage = function() {
+ onmessage_called = true;
+ }
+ window.postMessage("test", "*");
+ ok(onmessage_called, "onmessage not called");
+}
+
var globalVar = false;
function runTests() {
@@ -388,6 +397,7 @@ function runTests() {
test_language_attribute();
test_text_node();
test_xhr();
+ test_sendMessage();
var r = window.execScript("globalVar = true;");
ok(r === undefined, "execScript returned " + r);
More information about the wine-cvs
mailing list