Reviewed by Adele
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Dec 2007 18:19:13 +0000 (18:19 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Dec 2007 18:19:13 +0000 (18:19 +0000)
commit367d583d035ad9a91fb775f37ea8330a18e6c9a3
tree3a1ef8f3f8792b9628287629f7c4ecc3953a097c
parentf923f55c6b32272782a1caf0a7f67e52f7b01395
    Reviewed by Adele

        <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet

        Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
        protected by authentication.  Occasionally one can view the main page of a site but the favicon
        is behind the iron curtain - in these cases, we should *not* prompt for a username and password
        solely for the favicon.

        * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
          is virtual from ResourceLoader, SubresourceLoader can override.  First call to the
          SubresourceLoaderClient.  If they cancel the resource load, return early. Otherwise, let
          ResourceLoader work its magic (resulting in the auth sheet coming down)
        * loader/SubresourceLoader.h:

        * loader/SubresourceLoaderClient.h:
        (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
          never prompt the user for credentials just for a favicon.
        * loader/icon/IconLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/loader/ResourceLoader.h
WebCore/loader/SubresourceLoader.cpp
WebCore/loader/SubresourceLoader.h
WebCore/loader/SubresourceLoaderClient.h
WebCore/loader/icon/IconLoader.cpp
WebCore/loader/icon/IconLoader.h