[Webkit-unassigned] [Bug 62108] [Qt] Failing test media/video-document-types.html

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Nov 3 04:37:26 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=62108





--- Comment #7 from Deepak Sherveghar <bpwv64 at motorola.com>  2011-11-03 04:37:26 PST ---
(In reply to comment #6)
> Reopen, because it broke 4 layout tests on the Qt bot:
> http://build.webkit.org/results/Qt%20Linux%20Release/r99073%20%2839226%29/results.html
> 
> Could you check it please?

I spent some time debugging this issue and found the root cause.

The problem is not with my patch, but the enum that we have borrowed from mac

(code from FrameLoaderClientQt.cpp:930)
// This was copied from file "WebKit/Source/WebKit/mac/Misc/WebKitErrors.h".
enum {
    WebKitErrorCannotShowMIMEType =                             100,
    WebKitErrorCannotShowURL =                                  101,
    WebKitErrorFrameLoadInterruptedByPolicyChange =             102,
    WebKitErrorCannotUseRestrictedPort =                        103,
    WebKitErrorCannotFindPlugIn =                               200,
    WebKitErrorCannotLoadPlugIn =                               201,
    WebKitErrorJavaUnavailable =                                202,
    WebKitErrorPluginWillHandleLoad =                           203
};

shouldFallBack() tells the DOM if it should attempt to render the next nested <object> if its parent fails to load. Now when a url fails to load, QNetworkReplyHandler sets the QNetworkReply::NetworkError ( reply->error() any one of all possible error conditions found during the processing of the request) and converts that to ResourceError object setting appropriate fields like domain, error code, description etc.

The QNetworkReply::NetworkError constant values clash with values selected for our enum (listed above).
ie:
QNetworkReply::NetworkError constant values :
Constant            Value    
=====================================
ProxyConnectionRefusedError    101    
ProxyConnectionClosedError    102    
ProxyNotFoundError        103    
ProxyTimeoutError        104    
ProxyAuthenticationRequiredError105    
ContentAccessDenied        201    
ContentOperationNotPermittedError202    
ContentNotFoundError        203    
AuthenticationRequiredError    204    
ContentReSendError        205    
ProtocolUnknownError        301    
ProtocolInvalidOperationError    302    
UnknownNetworkError        99    
UnknownProxyError        199    
UnknownContentError        299    
ProtocolFailure            399

In the failing test case we get error.errorCode() as 203, which with respect to network error is 'ContentNotFoundError' and with respect to our enum is 'WebKitErrorPluginWillHandleLoad'.

Changing the enum values for WebKitError's to some other constant values like WebKitErrorPluginWillHandleLoad = 2003,
Then the failing test cases work fine.

I think to track changes better we should file a separate bug for resolving this enum issue and close the current reopened issue.
Let me know if you have any comments ???? also let me know if I can go ahead and file a separate bug and a patch for that.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list