[Webkit-unassigned] [Bug 84527] New: [Qt][WK2] Define clear split between QtWebPageLoadClient and QQuickWebViewPrivate for loading tasks.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Apr 21 03:51:40 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=84527
Summary: [Qt][WK2] Define clear split between
QtWebPageLoadClient and QQuickWebViewPrivate for
loading tasks.
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Minor
Priority: P2
Component: WebKit Qt
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: zbujtas at gmail.com
Right now QtWebPageLoadClient does 4 different things
1, emits signals on webview: emit m_webView->loadingChanged(&loadRequest);
2, calls into QQuickWebViewPrivate. m_webView->d_func()->loadDidCommit(); where there's no implementation whatsoever.
3, calls into QQuickWebViewPrivate. m_webView->d_func()->loadDidSucceed(); where the implementation could be completely omitted.
4, calls into QQuickWebViewPrivate: m_webView->d_func()->didChangeBackForwardList(); where there's some proxy implementation.
They should be harmonized in some ways, either push back more implementation to QtWebPageLoadClient so that it needs no access to QQuickWebViewPrivate, or just use it truly as a proxy class. Right now it's a mixture.
(case 3, loadDidSucceed() implements some deferred loading success dispatching due to the delayed interaction engine construction. I looked at the original patch (bug 77111) and don't see any reasoning why success() is special in that case, and for example failed() is not. Commit log also states that page is suspended while I don't think it is, it's just that the suspend flag is turned on by default, so not sure why success() is treated differently here, unless I miss something, which could very well be the case. If this delaying logic could be omitted, we would end up even less d_func() calls in QtWebPageLoadClient(), provided that's the preferred direction.)
--
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