summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-04-18 22:15:18 +0200
committerLiang Qi <liang.qi@qt.io>2017-04-18 22:15:27 +0200
commitf27089657a207ef8c5c9d27d661d3d12c3af8df2 (patch)
treec3ff29d73bbe20cb307649367cb97eb15b6989ed
parentce29c5f019ffe0ceec6eb9be3d82e1c061d0d530 (diff)
parent0b48569e2bf9afc1b6ca5e359c3a948dd8c77619 (diff)
downloadqtwebkit-5.9.0.tar.gz
Merge remote-tracking branch 'origin/5.8' into 5.95.9.0
Change-Id: Ib8d14ead6c781186d2519366552b896327d4f715
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp5
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml38
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_webchannel.qml2
-rw-r--r--Tools/qmake/mkspecs/features/icc.prf2
4 files changed, 44 insertions, 3 deletions
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 720b4cd04..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
@@ -78,7 +78,43 @@ Item {
resultSpy.wait()
compare(JSON.stringify(webView.lastResult),
- '{"child":{"level":2},"level":"1"}')
+ '{"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() {
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
}
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