-
commit-queue@webkit.org authored
[BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus. https://bugs.webkit.org/show_bug.cgi?id=95488 PR: 186597. Internally reviewed by Joe Mason. Patch by Lianghui Chen <liachen@rim.com> on 2012-09-07 Reviewed by Yong Li. Source/WebCore: The fix for this PR will come as 2 patches. This is the first patch which will make the authentication challenge asynchronous inside WebKit. The bext patch will add an AuthenticationChallengeManager that manages these authentication requests asynchronously. This patch add AuthenticationChallengeClient interface to define asynchronous authentication challenge callback. And MediaPlayerPrivateBlackBerry and NetworkJob are changed to inherit from AuthenticationChallengeClient to support asynchronous authentication challenge. Note: there is also an accompanying platform patch to make our PlatformPlayer to support asychronous authentication, see PR 186597 for details. No new tests as this is platform specific change. * platform/blackberry/AuthenticationChallengeManager.h: Added. (WebCore): (AuthenticationChallengeClient): * platform/blackberry/PageClientBlackBerry.h: (WebCore): * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: (WebCore::MediaPlayerPrivate::onAuthenticationNeeded): (WebCore::MediaPlayerPrivate::notifyChallengeResult): * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: (MediaPlayerPrivate): * platform/network/blackberry/NetworkJob.cpp: (WebCore::NetworkJob::sendRequestWithCredentials): (WebCore::NetworkJob::notifyChallengeResult): (WebCore): * platform/network/blackberry/NetworkJob.h: (WebCore): (NetworkJob): Source/WebKit/blackberry: Use new AuthenticationChallengeClient interface to make authentication challenge asynchronous to NetworkJob, MediaPlayerPrivateBlackBerry, and other module that will use HTTP authentication. WebPage itself still use synchronous authentication though. Switching to asynchronous authentication in WebPage will require bigger platform layer change and not very necessary at the moment for this bug. * Api/WebPage.cpp: (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge): * Api/WebPage_p.h: (WebCore): (WebPagePrivate): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ea5358c7