Gabriel Ivăncescu : mshtml: Implement MediaQueryList's media prop.

Alexandre Julliard julliard at winehq.org
Tue Aug 2 14:54:39 CDT 2022


Module: wine
Branch: master
Commit: 09b73c89c430b62b17c8b8e769054e93cfd3fdc1
URL:    https://gitlab.winehq.org/wine/wine/-/commit/09b73c89c430b62b17c8b8e769054e93cfd3fdc1

Author: Gabriel Ivăncescu <gabrielopcode at gmail.com>
Date:   Mon Aug  1 17:52:35 2022 +0300

mshtml: Implement MediaQueryList's media prop.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>

---

 dlls/mshtml/omnavigator.c |  6 ++++--
 dlls/mshtml/tests/es5.js  | 13 ++++++++++++-
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index 1dcd77ac11e..00f6c72894e 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -2742,10 +2742,12 @@ static HRESULT WINAPI media_query_list_Invoke(IWineMSHTMLMediaQueryList *iface,
 static HRESULT WINAPI media_query_list_get_media(IWineMSHTMLMediaQueryList *iface, BSTR *p)
 {
     struct media_query_list *media_query_list = impl_from_IWineMSHTMLMediaQueryList(iface);
+    nsAString nsstr;
 
-    FIXME("(%p)->(%p)\n", media_query_list, p);
+    TRACE("(%p)->(%p)\n", media_query_list, p);
 
-    return E_NOTIMPL;
+    nsAString_InitDepend(&nsstr, NULL);
+    return return_nsstr(nsIDOMMediaQueryList_GetMedia(media_query_list->nsquerylist, &nsstr), &nsstr, p);
 }
 
 static HRESULT WINAPI media_query_list_get_matches(IWineMSHTMLMediaQueryList *iface, VARIANT_BOOL *p)
diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js
index 25883bf5757..5f9202b13c6 100644
--- a/dlls/mshtml/tests/es5.js
+++ b/dlls/mshtml/tests/es5.js
@@ -2019,7 +2019,7 @@ sync_test("console", function() {
 });
 
 sync_test("matchMedia", function() {
-    var mql;
+    var i, r, mql;
 
     try {
         mql = window.matchMedia("");
@@ -2027,4 +2027,15 @@ sync_test("matchMedia", function() {
         var n = ex.number >>> 0;
         ok(n === E_INVALIDARG, "matchMedia('') threw " + n);
     }
+    r = [
+        [ undefined, "unknown" ],
+        [ null,      "unknown" ],
+        [ 42,        "not all" ],
+        [{ toString: function() { return "(max-width: 0px)"; }}, "all and (max-width:0px)" ]
+    ];
+    for(i = 0; i < r.length; i++) {
+        mql = window.matchMedia(r[i][0]);
+        todo_wine_if(r[i][0] !== 42).
+        ok(mql.media === r[i][1], r[i][0] + " media = " + mql.media);
+    }
 });




More information about the wine-cvs mailing list