From 64f830beec03cd4ccf5ad586f2db21d38dcd85b2 Mon Sep 17 00:00:00 2001 From: Konstantin Tokarev Date: Sat, 1 Apr 2017 11:57:54 +0300 Subject: Fix some QML tests Change-Id: If478dd4aa9fc4492c3999f03e5f66811c9e6b41f Reviewed-by: Allan Sandfeld Jensen --- .../UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml | 2 +- .../WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_webchannel.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml index 720b4cd04..ea903f328 100644 --- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml +++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml @@ -78,7 +78,7 @@ Item { resultSpy.wait() compare(JSON.stringify(webView.lastResult), - '{"child":{"level":2},"level":"1"}') + '{"level":"1","child":{"level":2}}') } function test_booleanValue() { diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_webchannel.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_webchannel.qml index 26f30eedd..5b2e08cfd 100644 --- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_webchannel.qml +++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_webchannel.qml @@ -64,7 +64,7 @@ Item { TestWebView { id: webView - experimental.windowObjects: [testObject] + experimental.webChannel.registeredObjects: [testObject] experimental.preferences.developerExtrasEnabled: true } -- cgit v1.2.1 From 689348d71bd31adc669a67f9f840d31b63fff333 Mon Sep 17 00:00:00 2001 From: Konstantin Tokarev Date: Mon, 3 Apr 2017 20:43:59 +0300 Subject: [QML] evaluateJavaScript should preserve null values in result We should not convert null to undefined when returning JS values from JSC to QJSEngine. Change-Id: I20f5638fe9104341e1a0878fdbdbc49e5fa8d2e1 Reviewed-by: Simon Hausmann --- Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp | 5 +++ .../qmltests/WebView/tst_evaluateJavaScript.qml | 36 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp index bc2d5d21c..5300a40ff 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp @@ -131,6 +131,11 @@ static QJSValue buildQJSValue(QJSEngine* engine, JSGlobalContextRef context, JSV return var; switch (JSValueGetType(context, value)) { + case kJSTypeUndefined: + break; + case kJSTypeNull: + var = QJSValue(QJSValue::NullValue); + break; case kJSTypeBoolean: var = QJSValue(JSValueToBoolean(context, value)); break; diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml index ea903f328..b4576af36 100644 --- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml +++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml @@ -81,6 +81,42 @@ Item { '{"level":"1","child":{"level":2}}') } + function test_undefinedValue() { + resultSpy.clear() + webView.url = "about:blank" + verify(webView.waitForLoadSucceeded()) + + webView.experimental.evaluateJavaScript( + "(function() { })()", + + function(result) { + webView.lastResult = result + }) + + resultSpy.wait() + verify(typeof webView.lastResult === "undefined") + compare(webView.lastResult, undefined) + } + + function test_nullValue() { + resultSpy.clear() + + webView.url = "about:blank" + verify(webView.waitForLoadSucceeded()) + + webView.experimental.evaluateJavaScript( + "(function() { return { value: null } })()", + + function(result) { + webView.lastResult = result + }) + + resultSpy.wait() + verify(typeof webView.lastResult === "object") + verify(typeof webView.lastResult.value === "object") + compare(webView.lastResult.value, null) + } + function test_booleanValue() { resultSpy.clear() webView.url = "about:blank" -- cgit v1.2.1 From 0b48569e2bf9afc1b6ca5e359c3a948dd8c77619 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 2 Apr 2017 22:12:28 -0700 Subject: Suppress ICC warning about floating-point comparisons qrect.h(670): error #1572: floating-point equality and inequality comparisons are unreliable Change-Id: I27b55fdf514247549455fffd14b1cb335fe33f63 Reviewed-by: Konstantin Tokarev --- Tools/qmake/mkspecs/features/icc.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/qmake/mkspecs/features/icc.prf b/Tools/qmake/mkspecs/features/icc.prf index e9bfddd1c..088d42f0f 100644 --- a/Tools/qmake/mkspecs/features/icc.prf +++ b/Tools/qmake/mkspecs/features/icc.prf @@ -5,4 +5,4 @@ # See 'Tools/qmake/README' for an overview of the build system # ------------------------------------------------------------------- -QMAKE_CXXFLAGS += -wd68,161,175,177,239,411,654,864,873,1125,2089,2196 +QMAKE_CXXFLAGS += -wd68,161,175,177,239,411,654,864,873,1125,1572,2089,2196 -- cgit v1.2.1