Bug 49429 - [Qt] script-clone tests added in r71895 fails on Qt platform
Summary: [Qt] script-clone tests added in r71895 fails on Qt platform
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: QtWebKit Unassigned
URL:
Keywords: Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2010-11-11 23:58 PST by Ryosuke Niwa
Modified: 2010-11-12 12:19 PST (History)
7 users (show)

See Also:


Attachments
Patch (2.69 KB, patch)
2010-11-12 00:13 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2010-11-11 23:58:15 PST
The failure is due to the fact Qt platform use its own XML parser, and this parser was not fixed in http://trac.webkit.org/changeset/71895.
Comment 1 Ryosuke Niwa 2010-11-12 00:13:36 PST
Created attachment 73708 [details]
Patch
Comment 2 Ryosuke Niwa 2010-11-12 00:16:01 PST
I made this patch without building or running tests on qt platform.  Please build & run the tests (particularly the ones I'm enabling) before you r+ this patch.
Comment 3 Csaba Osztrogonác 2010-11-12 00:36:51 PST
Comment on attachment 73708 [details]
Patch

It works for me, r=me
Comment 4 WebKit Commit Bot 2010-11-12 01:27:18 PST
Comment on attachment 73708 [details]
Patch

Clearing flags on attachment: 73708

Committed r71899: <http://trac.webkit.org/changeset/71899>
Comment 5 WebKit Commit Bot 2010-11-12 01:27:24 PST
All reviewed patches have been landed.  Closing bug.
Comment 6 Csaba Osztrogonác 2010-11-12 04:15:06 PST
Reopen, because unfortunately r71895 broke a Qt API test too:
http://build.webkit.org/builders/Qt%20Linux%20Release/builds/23620/steps/API%20tests/logs/stdio

FAIL!  : tst_QWebFrame::javaScriptWindowObjectCleared(with <script>) Compared values are not the same
   Actual (spy.count()): 0
   Expected (signalCount): 1
   Loc: [/home/webkitbuildbot/slaves/release32bit/buildslave/qt-linux-release/build/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp(2405)]
Comment 7 Ryosuke Niwa 2010-11-12 10:13:37 PST
Test content:
2396	void tst_QWebFrame::javaScriptWindowObjectCleared()
2397	{
2398	    QWebPage page;
2399	    QWebFrame* frame = page.mainFrame();
2400	    QSignalSpy spy(frame, SIGNAL(javaScriptWindowObjectCleared()));
2401	    QFETCH(QString, html);
2402	    frame->setHtml(html);
2403	
2404	    QFETCH(int, signalCount);
2405	    QCOMPARE(spy.count(), signalCount);
2406	}

I don't really understand what this test is testing though.  Can someone explain what it's testing?
This test is added in http://trac.webkit.org/changeset/48166.
Comment 8 Andreas Kling 2010-11-12 10:29:10 PST
(In reply to comment #7)
> I don't really understand what this test is testing though.  Can someone explain what it's testing?

http://doc.qt.nokia.com/4.7/qwebframe.html#javaScriptWindowObjectCleared

"This signal is emitted whenever the global window object of the JavaScript environment is cleared, e.g., before starting a new load."

We emit this signal when FrameLoader::dispatchDidClearWindowObjectInWorld() is called.

The failing test checks that loading the following HTML causes one emission of that signal:
"<html><body><script></script><p>hello world</p></body></html>"
Comment 9 Ryosuke Niwa 2010-11-12 11:25:53 PST
On Mac, dispatchDidClearWindowObjectInWorld is called when loading:
<html><body><script></script><p>hello world</p></body></html>

#0	0x101865b54 in WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds at FrameLoader.cpp:3348
#1	0x101869ac6 in WebCore::FrameLoader::receivedFirstData at FrameLoader.cpp:617
#2	0x101869cee in WebCore::FrameLoader::willSetEncoding at FrameLoader.cpp:1089
#3	0x101710989 in WebCore::DocumentWriter::setEncoding at DocumentWriter.cpp:236
#4	0x1017016d0 in WebCore::DocumentLoader::commitData at DocumentLoader.cpp:306
#5	0x100f34f76 in -[WebFrame(WebInternal) _commitData:] at WebFrame.mm:957
#6	0x100f5d8d6 in -[WebHTMLRepresentation receivedData:withDataSource:] at WebHTMLRepresentation.mm:173
#7	0x100f1d8c8 in -[WebDataSource(WebInternal) _receivedData:] at WebDataSource.mm:239
#8	0x100f407eb in WebFrameLoaderClient::committedLoad at WebFrameLoaderClient.mm:856
#9	0x101701825 in WebCore::DocumentLoader::commitLoad at DocumentLoader.cpp:293
#10	0x10170187e in WebCore::DocumentLoader::receivedData at DocumentLoader.cpp:320
#11	0x101d61d2e in WebCore::MainResourceLoader::addData at MainResourceLoader.cpp:157
#12	0x101f762c4 in WebCore::ResourceLoader::didReceiveData at ResourceLoader.cpp:276
#13	0x101d6147f in WebCore::MainResourceLoader::didReceiveData at MainResourceLoader.cpp:436
#14	0x101f75ab6 in WebCore::ResourceLoader::didReceiveData at ResourceLoader.cpp:429
Comment 10 Ryosuke Niwa 2010-11-12 12:17:20 PST
Let's file another bug for the API test.
Comment 11 Ryosuke Niwa 2010-11-12 12:19:49 PST
API test failure filed as https://bugs.webkit.org/show_bug.cgi?id=49466, closing this bug.