Bug 48502

Summary: [Qt] Qt WebKit 2.1 doesn't support resource qrc indicator in URL
Product: WebKit Reporter: Oleh Vasyura <ext-oleh.2.vasyura>
Component: WebKit QtAssignee: qi <qi.2.zhang>
Status: RESOLVED INVALID    
Severity: Normal CC: benjamin, cshu, ext-oleh.2.vasyura, suresh.voruganti
Priority: P3 Keywords: Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: S60 Hardware   
OS: S60 3rd edition   
Attachments:
Description Flags
Test project none

Description Oleh Vasyura 2010-10-28 00:38:26 PDT
Created attachment 72153 [details]
Test project

Regression bug
Qt WebKit 2.1 with Qt 4.7 doesn't support qrc in the URL on Symbian 3 and N8 phone.
It worked with Qt 4.6 and QtWebKit 2.0. Also it works on Windows platform.
This error is reproduced as for emulator as for hardware.

Test environment.
 - Symbian 3 wk41 release
 - Qt 4.7 and QtWebkit 2.1

Test case:
 - add test.html file in the resource
 - create QWebView and try to load test html from the resource  
  QWebView *view = new QWebView();
  view->load(QUrl("qrc:///test.html"));

-Actual result
  nothing is displayed on the screen. 

-Expected result
 page is displayed on the screen. At least it is described in the documentation: 
 http://doc.trolltech.com/4.7/resources.html

The test project is attached.
Comment 1 Suresh Voruganti 2010-11-04 13:16:35 PDT
Top error for Servcies, Fix required for Qtwebkit 2.1
Comment 2 qi 2010-11-05 13:04:24 PDT
I think the issue is in qnetworkreplyimpl.cpp, function _q_startOperation()

missed one line code:

  backend->open();

before:

    if (state != Finished) {
        if (operation == QNetworkAccessManager::GetOperation)
            pendingNotifications.append(NotifyDownstreamReadyWrite);
..

this cause QNetworkAccessFileBackend::open() never be called in symbian.

Because it is not qtwebkit issue, it is qt issue, I think we need to create a Qt bug.
Comment 3 Suresh Voruganti 2010-11-08 06:19:30 PST
Marking the bug as Invalid, as it is not Qtwebkit issue.
Comment 4 Oleh Vasyura 2010-11-10 01:02:57 PST
This statement:
I think the issue is in qnetworkreplyimpl.cpp, function _q_startOperation()

missed one line code:

  backend->open();

before:

is incorrect. This code doesn't fix the problem and should not be there. During debugging I discovered that code under if (!backend->start()) condition is executed. But in Windows version of the same Qt with QtWebKit 2.0 this condition is false and backend is started.
Comment 5 Benjamin Poulain 2011-01-14 11:00:23 PST
Please follow this to report bugs on QtWebKit: http://trac.webkit.org/wiki/QtWebKitBugs

Why is this reopened?