From c3c0bb5fef8452b10bfaf38fe45fb29a606483b2 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 2 Jun 2011 10:17:54 -0300 Subject: Updated WebKit to efbf910ad7c49e8cdf81411b4ac0abeea0efd8f8 Reviewed by: Andreas Kling --- src/3rdparty/webkit/.tag | 2 +- .../webkit/Source/JavaScriptCore/ChangeLog | 21 +++ .../Source/JavaScriptCore/runtime/JSFunction.cpp | 25 +++- .../Source/JavaScriptCore/runtime/JSFunction.h | 1 + .../Source/JavaScriptCore/runtime/JSObject.cpp | 6 + .../Source/JavaScriptCore/runtime/JSObject.h | 2 +- src/3rdparty/webkit/Source/WebCore/ChangeLog | 29 +++++ .../webkit/Source/WebCore/fileapi/DOMFileSystem.h | 4 +- .../WebCore/platform/qt/ScrollbarThemeQt.cpp | 7 +- src/3rdparty/webkit/Source/WebKit/qt/ChangeLog | 141 +++++++++++++++++++++ .../qt/WebCoreSupport/DumpRenderTreeSupportQt.h | 2 + .../qdeclarativewebview/resources/newwindows.html | 4 + .../qdeclarativewebview/resources/newwindows.qml | 37 ++++-- .../tst_qdeclarativewebview.cpp | 21 ++- .../qt/tests/qwebelement/tst_qwebelement.cpp | 1 + .../WebKit/qt/tests/qwebframe/tst_qwebframe.cpp | 19 ++- .../WebKit/qt/tests/qwebpage/tst_qwebpage.cpp | 38 ++++-- .../webkit/Tools/QtTestBrowser/useragentlist.txt | 20 +-- src/3rdparty/webkit/VERSION | 2 +- 19 files changed, 324 insertions(+), 58 deletions(-) diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 7993dd6..3103954 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -9b4474ac44ee2f3311b435bd45630f5c2c357217 +efbf910ad7c49e8cdf81411b4ac0abeea0efd8f8 diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog index 0fba3dd..fc937e8 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog @@ -1,3 +1,24 @@ +2011-05-31 Oliver Hunt + + Reviewed by Geoffrey Garen. + + Freezing a function and its prototype causes browser to crash. + https://bugs.webkit.org/show_bug.cgi?id=61758 + + Make JSObject::preventExtensions virtual so that we can override it + and instantiate all lazy + + * JavaScriptCore.exp: + * runtime/JSFunction.cpp: + (JSC::createPrototypeProperty): + (JSC::JSFunction::preventExtensions): + (JSC::JSFunction::getOwnPropertySlot): + * runtime/JSFunction.h: + * runtime/JSObject.h: + * runtime/JSObject.cpp: + (JSC::JSObject::seal): + (JSC::JSObject::seal): + 2011-05-12 Maciej Stachowiak Reviewed by Darin Adler. diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.cpp index 639cea8..407b3b1 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.cpp +++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.cpp @@ -174,6 +174,23 @@ JSValue JSFunction::lengthGetter(ExecState*, JSValue slotBase, const Identifier& return jsNumber(thisObj->jsExecutable()->parameterCount()); } +static inline WriteBarrierBase* createPrototypeProperty(JSGlobalData& globalData, JSGlobalObject* globalObject, JSFunction* function) +{ + ExecState* exec = globalObject->globalExec(); + if (WriteBarrierBase* location = function->getDirectLocation(globalData, exec->propertyNames().prototype)) + return location; + JSObject* prototype = constructEmptyObject(exec, globalObject->emptyObjectStructure()); + prototype->putDirect(globalData, exec->propertyNames().constructor, function, DontEnum); + function->putDirect(globalData, exec->propertyNames().prototype, prototype, DontDelete | DontEnum); + return function->getDirectLocation(exec->globalData(), exec->propertyNames().prototype); +} + +void JSFunction::preventExtensions(JSGlobalData& globalData) +{ + createPrototypeProperty(globalData, scope()->globalObject.get(), this); + JSObject::preventExtensions(globalData); +} + bool JSFunction::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot) { if (isHostFunction()) @@ -182,12 +199,8 @@ bool JSFunction::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN if (propertyName == exec->propertyNames().prototype) { WriteBarrierBase* location = getDirectLocation(exec->globalData(), propertyName); - if (!location) { - JSObject* prototype = constructEmptyObject(exec, scope()->globalObject->emptyObjectStructure()); - prototype->putDirect(exec->globalData(), exec->propertyNames().constructor, this, DontEnum); - putDirect(exec->globalData(), exec->propertyNames().prototype, prototype, DontDelete | DontEnum); - location = getDirectLocation(exec->globalData(), propertyName); - } + if (!location) + location = createPrototypeProperty(exec->globalData(), scope()->globalObject.get(), this); slot.setValue(this, location->get(), offsetForLocation(location)); } diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.h index ba0a792..42fd62a 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSFunction.h @@ -91,6 +91,7 @@ namespace JSC { bool isHostFunctionNonInline() const; + virtual void preventExtensions(JSGlobalData&); virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties); diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.cpp index ae29a7b..ce21703 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.cpp +++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.cpp @@ -508,11 +508,17 @@ JSObject* JSObject::unwrappedObject() void JSObject::seal(JSGlobalData& globalData) { + if (isSealed(globalData)) + return; + preventExtensions(globalData); setStructure(globalData, Structure::sealTransition(globalData, m_structure.get())); } void JSObject::freeze(JSGlobalData& globalData) { + if (isFrozen(globalData)) + return; + preventExtensions(globalData); setStructure(globalData, Structure::freezeTransition(globalData, m_structure.get())); } diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.h index a6b78bd..768c457 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/JSObject.h @@ -211,7 +211,7 @@ namespace JSC { void seal(JSGlobalData&); void freeze(JSGlobalData&); - void preventExtensions(JSGlobalData&); + virtual void preventExtensions(JSGlobalData&); bool isSealed(JSGlobalData& globalData) { return m_structure->isSealed(globalData); } bool isFrozen(JSGlobalData& globalData) { return m_structure->isFrozen(globalData); } bool isExtensible() { return m_structure->isExtensible(); } diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog index 91c8025..55f0c77 100644 --- a/src/3rdparty/webkit/Source/WebCore/ChangeLog +++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog @@ -1,3 +1,32 @@ +2011-05-31 Rafael Brandao + + Reviewed by Andreas Kling. + + [Qt] tst_QWebFrame::render() failing + https://bugs.webkit.org/show_bug.cgi?id=60893 + + Due a problem on QPicture (http://bugreports.qt.nokia.com/browse/QTBUG-19496), + this test was calculating the final geometry incorrectly. As the order between + a translate and a draw operation could be relevant for it, but not for the + final rendered result, they were changed on ScrollbarThemeQt::paint. + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::ScrollbarThemeQt::paint): + +2011-05-31 B.J. Wever + + Reviewed by Adam Barth. + + requestFileSystem and resolveLocalFileSystemURI are not checking if + errorCallback is NULL before scheduling a callback on error. + https://bugs.webkit.org/show_bug.cgi?id=49539 + + Test: fast/filesystem/filesystem-no-callback-null-ptr-crash.html + + * fileapi/DOMFileSystem.cpp: + (WebCore::DOMFileSystem::scheduleCallback): Only call callback if + one is supplied. + 2011-05-31 Abhishek Arya Reviewed by Dimitri Glazkov. diff --git a/src/3rdparty/webkit/Source/WebCore/fileapi/DOMFileSystem.h b/src/3rdparty/webkit/Source/WebCore/fileapi/DOMFileSystem.h index 1d820f1..38a054a 100644 --- a/src/3rdparty/webkit/Source/WebCore/fileapi/DOMFileSystem.h +++ b/src/3rdparty/webkit/Source/WebCore/fileapi/DOMFileSystem.h @@ -101,8 +101,8 @@ template void DOMFileSystem::scheduleCallback(ScriptExecutionContext* scriptExecutionContext, PassRefPtr callback, PassRefPtr arg) { ASSERT(scriptExecutionContext->isContextThread()); - ASSERT(callback); - scriptExecutionContext->postTask(new DispatchCallbackTask(callback, arg)); + if (callback) + scriptExecutionContext->postTask(new DispatchCallbackTask(callback, arg)); } } // namespace diff --git a/src/3rdparty/webkit/Source/WebCore/platform/qt/ScrollbarThemeQt.cpp b/src/3rdparty/webkit/Source/WebCore/platform/qt/ScrollbarThemeQt.cpp index bc574f7..676dd8e 100644 --- a/src/3rdparty/webkit/Source/WebCore/platform/qt/ScrollbarThemeQt.cpp +++ b/src/3rdparty/webkit/Source/WebCore/platform/qt/ScrollbarThemeQt.cpp @@ -163,13 +163,12 @@ bool ScrollbarThemeQt::paint(Scrollbar* scrollbar, GraphicsContext* graphicsCont else #endif { - const QPoint topLeft = opt->rect.topLeft(); - p.painter->translate(topLeft); - opt->rect.moveTo(QPoint(0, 0)); - // The QStyle expects the background to be already filled. p.painter->fillRect(opt->rect, opt->palette.background()); + const QPoint topLeft = opt->rect.topLeft(); + p.painter->translate(topLeft); + opt->rect.moveTo(QPoint(0, 0)); p.drawComplexControl(QStyle::CC_ScrollBar, *opt); opt->rect.moveTo(topLeft); } diff --git a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog index 0c38ef0..57f79be 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog @@ -1,3 +1,144 @@ +2011-06-02 Andreas Kling + + Unreviewed build fix. + + To support building namespaced Qt, we require that forward-declarations + of Qt classes be wrapped in QT_BEGIN_NAMESPACE and QT_END_NAMESPACE. + + * WebCoreSupport/DumpRenderTreeSupportQt.h: + +2011-06-01 Caio Marcelo de Oliveira Filho + + Reviewed by Kenneth Rohde Christiansen. + + [Qt]Fix tst_QWebFrame::setUrlToInvalid() autotest after r84762 + https://bugs.webkit.org/show_bug.cgi?id=59345 + + KURL and QUrl disagree whether certain URLs are valid or not. The regression here + was caused by the fact that now KURL accepts "http:/example.com" (note only one + slash) and our test case used a strange edge case that's transformed into a + "one-slash" URL that now KURL can handle. + + QtWebKit approach in this case is to do a best effort and accept the QUrl if KURL + can understand it. So I've updated the test to use a more meaningful example and + show that an invalid URL gets converted to a valid URL if possible. + + * tests/qwebframe/tst_qwebframe.cpp: + (tst_QWebFrame::setUrlToInvalid): + +2011-06-01 Caio Marcelo de Oliveira Filho + + Reviewed by Tor Arne Vestbø. + + [Qt] Rewrite tst_QDeclarativeWebView::multipleWindows() to not depend on Grid internals + https://bugs.webkit.org/show_bug.cgi?id=61739 + + The skipped test was imported from Qt source repository, and used private headers + to peek in the QML Grid element. This patch changes the QML used to expose the + information we want to test: number of pages opened and the first page opened. + + * tests/qdeclarativewebview/resources/newwindows.html: + Added tags. We have no reason to not use them in the test. + + * tests/qdeclarativewebview/resources/newwindows.qml: + Moved the timer out of the page component, used anchors for setting webview size, + changed the way we count pages opened. Also changed coding style a bit. + + * tests/qdeclarativewebview/tst_qdeclarativewebview.cpp: + (tst_QDeclarativeWebView::multipleWindows): + We now look for properties with the information we want in the rootItem: pagesOpened and + firstPageOpened. + +2011-05-31 Rafael Brandao + + Reviewed by Andreas Kling. + + [Qt] tst_QWebFrame::render() failing + https://bugs.webkit.org/show_bug.cgi?id=60893 + + The test was expecting the frame contents to be already loaded + before rendering it into a QPicture. Renamed the test to fit + its real purpose more accordingly. + + * tests/qwebframe/tst_qwebframe.cpp: + (tst_QWebFrame::renderGeometry): + +2011-05-30 Caio Marcelo de Oliveira Filho + + Reviewed by Andreas Kling. + + [Qt] Fix unnecessary wait in API autotest tst_QWebFrame::scrollbarsOff + https://bugs.webkit.org/show_bug.cgi?id=61711 + + The loadFinished() signal was emitted directly inside the call for setHtml, so + the test was waiting the loadFinished() signal with a big timeout. Change this by + a very small timeout and a verification with signal spy. + + In practice, setHtml() will either directly call loadFinished() or queue it to + the next event loop run, and test will work for both situations. + + * tests/qwebframe/tst_qwebframe.cpp: + (tst_QWebFrame::scrollbarsOff): + +2011-05-20 Csaba Osztrogonác + + Reviewed by Benjamin Poulain. + + [Qt] tst_QWebElement::style() fails because QWebElement::InlineStyle doesn't work as expected + https://bugs.webkit.org/show_bug.cgi?id=60372 + + * tests/qwebelement/tst_qwebelement.cpp: Mark failing test case as expected fail. + (tst_QWebElement::style): + +2011-05-20 Csaba Osztrogonác + + Reviewed by Benjamin Poulain. + + [Qt] Fix tst_QDeclarativeWebView::basicProperties() and historyNav() autotests + https://bugs.webkit.org/show_bug.cgi?id=61042 + + * tests/qdeclarativewebview/tst_qdeclarativewebview.cpp: Mark failing test cases as expected fails. + (tst_QDeclarativeWebView::basicProperties): + (tst_QDeclarativeWebView::historyNav): + +2011-05-20 Csaba Osztrogonác + + Reviewed by Benjamin Poulain. + + [Qt] Fix tst_QWebPage::testOptionalJSObjects() autotest + https://bugs.webkit.org/show_bug.cgi?id=61045 + + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::testOptionalJSObjects): Mark failing test cases as expected fails. + +2011-05-20 Csaba Osztrogonác + + Reviewed by Benjamin Poulain. + + [Qt]Fix tst_QWebFrame::setUrlToInvalid() autotest after r84762 + https://bugs.webkit.org/show_bug.cgi?id=59345 + + * tests/qwebframe/tst_qwebframe.cpp: + (tst_QWebFrame::setUrlToInvalid): Mark failing test cases as expected fails. + +2011-05-10 Ademar de Souza Reis Jr. + + Reviewed by Csaba Osztrogonác. + + [Qt] tst_QWebPage creates temporary files in the current working dir + https://bugs.webkit.org/show_bug.cgi?id=60497 + + tst_QWebPage was using QDir::currentPath when creating temporary dirs + and leaving them after the test was run. I basically borrowed the fix + from tst_QDeclarativeWebView. + + * tests/qwebpage/tst_qwebpage.cpp: + (removeRecursive): + (tst_QWebPage::tmpDirPath): + (tst_QWebPage::cleanupFiles): + (tst_QWebPage::database): + (tst_QWebPage::multiplePageGroupsAndLocalStorage): + 2011-05-27 Alexis Menard Reviewed by Csaba Osztrogonác. diff --git a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h index d40e096..82e5539 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h +++ b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h @@ -46,12 +46,14 @@ class QtDRTNodeRuntime; } #endif +QT_BEGIN_NAMESPACE class QWebElement; class QWebFrame; class QWebPage; class QWebHistoryItem; class QWebScriptWorld; class QUrl; +QT_END_NAMESPACE extern QMap m_worldMap; diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.html b/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.html index dd541f9..4252d9a 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.html +++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.html @@ -1,3 +1,4 @@ + +

Multiple windows...

Popup! + + diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.qml b/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.qml index e66631d..166722d 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.qml +++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/resources/newwindows.qml @@ -7,28 +7,45 @@ Grid { columns: 3 id: pages height: 300; width: 600 - property int total: 0 + property int pagesOpened: 0 + property Item firstPageOpened: null Component { id: webViewPage Rectangle { - width: webView.width - height: webView.height - border.color: "gray" + id: thisPage + width: 150 + height: 150 + property WebView webView: wv WebView { - id: webView - width: 150 // force predictable for test + id: wv + anchors.fill: parent newWindowComponent: webViewPage newWindowParent: pages url: "newwindows.html" - Timer { - interval: 10; running: total<4; repeat: false; - onTriggered: { if (webView.status==WebView.Ready) { total++; webView.evaluateJavaScript("clickTheLink()") } } + Component.onCompleted: { + if (pagesOpened == 1) { + pages.firstPageOpened = thisPage; + } } } } } - Loader { sourceComponent: webViewPage } + Loader { + id: originalPage + sourceComponent: webViewPage + property bool ready: status == Loader.Ready && item.webView.status == WebView.Ready + } + + Timer { + interval: 10 + running: originalPage.ready && pagesOpened < 4 + repeat: true + onTriggered: { + pagesOpened++; + originalPage.item.webView.evaluateJavaScript("clickTheLink()"); + } + } } diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/tst_qdeclarativewebview.cpp b/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/tst_qdeclarativewebview.cpp index fff1f2d..5ce1eb1 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/tst_qdeclarativewebview.cpp +++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qdeclarativewebview/tst_qdeclarativewebview.cpp @@ -101,6 +101,7 @@ void tst_QDeclarativeWebView::basicProperties() QVERIFY(wv); QTRY_COMPARE(wv->property("progress").toDouble(), 1.0); QCOMPARE(wv->property("title").toString(), QLatin1String("Basic")); + QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=61042", Continue); QTRY_COMPARE(qvariant_cast(wv->property("icon")).width(), 48); QEXPECT_FAIL("", "'icon' property isn't working", Continue); QCOMPARE(qvariant_cast(wv->property("icon")), QPixmap("qrc:///resources/basic.png")); @@ -178,6 +179,7 @@ void tst_QDeclarativeWebView::historyNav() for (int i = 1; i <= 2; ++i) { QTRY_COMPARE(wv->property("progress").toDouble(), 1.0); QCOMPARE(wv->property("title").toString(), QLatin1String("Basic")); + QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=61042", Continue); QTRY_COMPARE(qvariant_cast(wv->property("icon")).width(), 48); QEXPECT_FAIL("", "'icon' property isn't working", Continue); QCOMPARE(qvariant_cast(wv->property("icon")), QPixmap("qrc:///data/basic.png")); @@ -197,6 +199,7 @@ void tst_QDeclarativeWebView::historyNav() wv->setProperty("url", QUrl("qrc:///resources/forward.html")); QTRY_COMPARE(wv->property("progress").toDouble(), 1.0); QCOMPARE(wv->property("title").toString(), QLatin1String("Forward")); + QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=61042", Continue); QTRY_COMPARE(qvariant_cast(wv->property("icon")).width(), 32); QEXPECT_FAIL("", "'icon' property isn't working", Continue); QCOMPARE(qvariant_cast(wv->property("icon")), QPixmap("qrc:///resources/forward.png")); @@ -269,17 +272,21 @@ void tst_QDeclarativeWebView::loadError() void tst_QDeclarativeWebView::multipleWindows() { - QSKIP("Rework this test to not depend on QDeclarativeGrid", SkipAll); QDeclarativeEngine engine; QDeclarativeComponent component(&engine, QUrl("qrc:///resources/newwindows.qml")); checkNoErrors(component); -// QDeclarativeGrid *grid = qobject_cast(component.create()); -// QVERIFY(grid != 0); -// QTRY_COMPARE(grid->children().count(), 2+4); // Component, Loader (with 1 WebView), 4 new-window WebViews -// QDeclarativeItem* popup = qobject_cast(grid->children().at(2)); // first popup after Component and Loader. -// QVERIFY(popup != 0); -// QTRY_COMPARE(popup->x(), 150.0); + QDeclarativeItem* rootItem = qobject_cast(component.create()); + QVERIFY(rootItem); + + QTRY_COMPARE(rootItem->property("pagesOpened").toInt(), 4); + + QDeclarativeProperty prop(rootItem, "firstPageOpened"); + QObject* firstPageOpened = qvariant_cast(prop.read()); + QVERIFY(firstPageOpened); + + QDeclarativeProperty xProp(firstPageOpened, "x"); + QTRY_COMPARE(xProp.read().toReal(), qreal(150.0)); } void tst_QDeclarativeWebView::newWindowComponent() diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp index 9e9948a..0f05b2b 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp +++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp @@ -483,6 +483,7 @@ void tst_QWebElement::style() QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("green")); p.setStyleProperty("color", "blue"); + QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=60372", Continue); QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("blue")); QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("green")); diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp index a982119..b567784 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp +++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp @@ -637,7 +637,7 @@ private slots: void baseUrl_data(); void baseUrl(); void hasSetFocus(); - void render(); + void renderGeometry(); void renderHints(); void scrollPosition(); void scrollToAnchor(); @@ -2881,7 +2881,7 @@ void tst_QWebFrame::hasSetFocus() QTRY_VERIFY(m_page->mainFrame()->hasFocus()); } -void tst_QWebFrame::render() +void tst_QWebFrame::renderGeometry() { QString html("" \ "