Title: [129419] trunk/Source
Revision
129419
Author
[email protected]
Date
2012-09-24 14:59:03 -0700 (Mon, 24 Sep 2012)

Log Message

[BlackBerry] Reverting implementation for 407 error pages
https://bugs.webkit.org/show_bug.cgi?id=97455

Patch by Otto Derek Cheung <[email protected]> on 2012-09-24
Reviewed by Rob Buis.

Source/WebCore:

Revert "[BlackBerry] Reverting implementation for 407 error pages"
This reverts commit fda0a1b6ac40c06c03bb6293b4a7d7353c3ca238.

This revert also reverts commit 0cffe01961fb80204138505bcec29a83818efb73
due to dependency issues.

* PlatformBlackBerry.cmake:
* platform/blackberry/AuthenticationChallengeManager.cpp: Removed.
* platform/blackberry/AuthenticationChallengeManager.h:
* platform/blackberry/PageClientBlackBerry.h:
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
(WebCore::MediaPlayerPrivate::notifyChallengeResult):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::NetworkJob):
(WebCore::NetworkJob::handleNotifyStatusReceived):
(WebCore::NetworkJob::notifyAuthReceived):
(WebCore::NetworkJob::handleNotifyClose):
(WebCore::NetworkJob::sendRequestWithCredentials):
(WebCore::NetworkJob::notifyChallengeResult):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):

Source/WebKit/blackberry:

Revert "[BlackBerry] Really fix bug 95488 that user can get the
authentication challenge dialog while the other tab has focus."
https://bugs.webkit.org/show_bug.cgi?id=97348

This reverts commit 0cffe01961fb80204138505bcec29a83818efb73.

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::globalInitialize):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
(BlackBerry::WebKit::WebPage::setVisible):
* Api/WebPage_p.h:
(WebPagePrivate):

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (129418 => 129419)


--- trunk/Source/WebCore/ChangeLog	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/ChangeLog	2012-09-24 21:59:03 UTC (rev 129419)
@@ -1,3 +1,37 @@
+2012-09-24  Otto Derek Cheung  <[email protected]>
+
+        [BlackBerry] Reverting implementation for 407 error pages
+        https://bugs.webkit.org/show_bug.cgi?id=97455
+
+        Reviewed by Rob Buis.
+
+        Revert "[BlackBerry] Reverting implementation for 407 error pages"
+        This reverts commit fda0a1b6ac40c06c03bb6293b4a7d7353c3ca238.
+
+        This revert also reverts commit 0cffe01961fb80204138505bcec29a83818efb73
+        due to dependency issues.
+
+        * PlatformBlackBerry.cmake:
+        * platform/blackberry/AuthenticationChallengeManager.cpp: Removed.
+        * platform/blackberry/AuthenticationChallengeManager.h:
+        * platform/blackberry/PageClientBlackBerry.h:
+        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
+        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+        (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
+        (WebCore::MediaPlayerPrivate::notifyChallengeResult):
+        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
+        (MediaPlayerPrivate):
+        * platform/network/blackberry/NetworkJob.cpp:
+        (WebCore::NetworkJob::NetworkJob):
+        (WebCore::NetworkJob::handleNotifyStatusReceived):
+        (WebCore::NetworkJob::notifyAuthReceived):
+        (WebCore::NetworkJob::handleNotifyClose):
+        (WebCore::NetworkJob::sendRequestWithCredentials):
+        (WebCore::NetworkJob::notifyChallengeResult):
+        * platform/network/blackberry/NetworkJob.h:
+        (NetworkJob):
+
 2012-09-24  Chris Rogers  <[email protected]>
 
         [REGRESSION] Layout Test webaudio/biquad-getFrequencyResponse.html is failing

Modified: trunk/Source/WebCore/PlatformBlackBerry.cmake (129418 => 129419)


--- trunk/Source/WebCore/PlatformBlackBerry.cmake	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/PlatformBlackBerry.cmake	2012-09-24 21:59:03 UTC (rev 129419)
@@ -61,7 +61,6 @@
     bindings/cpp/WebDOMString.cpp
     bindings/cpp/WebExceptionHandler.cpp
     platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp
-    platform/blackberry/AuthenticationChallengeManager.cpp
     platform/blackberry/CookieManager.cpp
     platform/blackberry/CookieMap.cpp
     platform/blackberry/CookieParser.cpp

Deleted: trunk/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp (129418 => 129419)


--- trunk/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp	2012-09-24 21:59:03 UTC (rev 129419)
@@ -1,253 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#include "config.h"
-#include "AuthenticationChallengeManager.h"
-
-#include "Credential.h"
-#include "KURL.h"
-#include "PageClientBlackBerry.h"
-#include "ProtectionSpace.h"
-
-#include <BlackBerryPlatformAssert.h>
-#include <BlackBerryPlatformLog.h>
-#include <wtf/Assertions.h>
-#include <wtf/HashMap.h>
-#include <wtf/Vector.h>
-#include <wtf/text/CString.h>
-
-namespace WebCore {
-
-typedef HashMap<PageClientBlackBerry*, bool> PageVisibilityMap;
-
-struct ChallengeInfo {
-    ChallengeInfo(const KURL&, const ProtectionSpace&, const Credential&, AuthenticationChallengeClient*, PageClientBlackBerry*);
-
-    KURL url;
-    ProtectionSpace space;
-    Credential credential;
-    AuthenticationChallengeClient* authClient;
-    PageClientBlackBerry* pageClient;
-    bool blocked;
-};
-
-ChallengeInfo::ChallengeInfo(const KURL& aUrl,
-                             const ProtectionSpace& aSpace,
-                             const Credential& aCredential,
-                             AuthenticationChallengeClient* anAuthClient,
-                             PageClientBlackBerry* aPageClient)
-    : url(aUrl)
-    , space(aSpace)
-    , credential(aCredential)
-    , authClient(anAuthClient)
-    , pageClient(aPageClient)
-    , blocked(false)
-{
-}
-
-class AuthenticationChallengeManagerPrivate {
-public:
-    AuthenticationChallengeManagerPrivate();
-
-    bool resumeAuthenticationChallenge(PageClientBlackBerry*);
-    void startAuthenticationChallenge(ChallengeInfo*);
-    bool pageExists(PageClientBlackBerry*);
-
-    ChallengeInfo* m_activeChallenge;
-    PageVisibilityMap m_pageVisibilityMap;
-    Vector<OwnPtr<ChallengeInfo> > m_challenges;
-};
-
-AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate()
-    : m_activeChallenge(0)
-{
-}
-
-bool AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge(PageClientBlackBerry* client)
-{
-    ASSERT(!m_activeChallenge);
-
-    for (size_t i = 0; i < m_challenges.size(); ++i) {
-        if (m_challenges[i]->pageClient == client && m_challenges[i]->blocked) {
-            startAuthenticationChallenge(m_challenges[i].get());
-            return true;
-        }
-    }
-
-    return false;
-}
-
-void AuthenticationChallengeManagerPrivate::startAuthenticationChallenge(ChallengeInfo* info)
-{
-    m_activeChallenge = info;
-    m_activeChallenge->blocked = false;
-    m_activeChallenge->pageClient->authenticationChallenge(m_activeChallenge->url,
-                                                           m_activeChallenge->space,
-                                                           m_activeChallenge->credential);
-}
-
-bool AuthenticationChallengeManagerPrivate::pageExists(PageClientBlackBerry* client)
-{
-    return m_pageVisibilityMap.find(client) != m_pageVisibilityMap.end();
-}
-
-AuthenticationChallengeManager::AuthenticationChallengeManager()
-    : d(adoptPtr(new AuthenticationChallengeManagerPrivate))
-{
-}
-
-void AuthenticationChallengeManager::pageCreated(PageClientBlackBerry* client)
-{
-    d->m_pageVisibilityMap.add(client, true);
-}
-
-void AuthenticationChallengeManager::pageDeleted(PageClientBlackBerry* client)
-{
-    d->m_pageVisibilityMap.remove(client);
-
-    if (d->m_activeChallenge && d->m_activeChallenge->pageClient == client)
-        d->m_activeChallenge = 0;
-
-    Vector<OwnPtr<ChallengeInfo> > existing;
-    d->m_challenges.swap(existing);
-
-    for (size_t i = 0; i < existing.size(); ++i) {
-        if (existing[i]->pageClient != client)
-            d->m_challenges.append(existing[i].release());
-    }
-}
-
-void AuthenticationChallengeManager::pageVisibilityChanged(PageClientBlackBerry* client, bool visible)
-{
-    PageVisibilityMap::iterator iter = d->m_pageVisibilityMap.find(client);
-
-    ASSERT(iter != d->m_pageVisibilityMap.end());
-    if (iter == d->m_pageVisibilityMap.end()) {
-        d->m_pageVisibilityMap.add(client, visible);
-        return;
-    }
-
-    if (iter->second == visible)
-        return;
-
-    iter->second = visible;
-    if (!visible)
-        return;
-
-    if (d->m_activeChallenge)
-        return;
-
-    d->resumeAuthenticationChallenge(client);
-}
-
-void AuthenticationChallengeManager::authenticationChallenge(const KURL& url,
-                                                             const ProtectionSpace& space,
-                                                             const Credential& credential,
-                                                             AuthenticationChallengeClient* authClient,
-                                                             PageClientBlackBerry* pageClient)
-{
-    BLACKBERRY_ASSERT(authClient);
-    BLACKBERRY_ASSERT(pageClient);
-
-    ChallengeInfo* info = new ChallengeInfo(url, space, credential, authClient, pageClient);
-    d->m_challenges.append(adoptPtr(info));
-
-    if (d->m_activeChallenge || !pageClient->isVisible()) {
-        info->blocked = true;
-        return;
-    }
-
-    d->startAuthenticationChallenge(info);
-}
-
-void AuthenticationChallengeManager::cancelAuthenticationChallenge(AuthenticationChallengeClient* client)
-{
-    BLACKBERRY_ASSERT(client);
-
-    if (d->m_activeChallenge && d->m_activeChallenge->authClient == client)
-        d->m_activeChallenge = 0;
-
-    Vector<OwnPtr<ChallengeInfo> > existing;
-    d->m_challenges.swap(existing);
-
-    ChallengeInfo* next = 0;
-    PageClientBlackBerry* page = 0;
-
-    for (size_t i = 0; i < existing.size(); ++i) {
-        if (existing[i]->authClient != client) {
-            if (page && !next && existing[i]->pageClient == page)
-                next = existing[i].get();
-            d->m_challenges.append(existing[i].release());
-        } else if (d->m_activeChallenge == existing[i].get())
-            page = existing[i]->pageClient;
-    }
-
-    if (next)
-        d->startAuthenticationChallenge(next);
-}
-
-void AuthenticationChallengeManager::notifyChallengeResult(const KURL& url,
-                                                           const ProtectionSpace& space,
-                                                           AuthenticationChallengeResult result,
-                                                           const Credential& credential)
-{
-    d->m_activeChallenge = 0;
-
-    Vector<OwnPtr<ChallengeInfo> > existing;
-    d->m_challenges.swap(existing);
-
-    ChallengeInfo* next = 0;
-    PageClientBlackBerry* page = 0;
-
-    for (size_t i = 0; i < existing.size(); ++i) {
-        if (existing[i]->space != space) {
-            if (page && !next && existing[i]->pageClient == page)
-                next = existing[i].get();
-            d->m_challenges.append(existing[i].release());
-        } else {
-            page = existing[i]->pageClient;
-            existing[i]->authClient->notifyChallengeResult(existing[i]->url, space, result, credential);
-
-            // After calling notifyChallengeResult(), page could be destroyed or something.
-            if (!d->pageExists(page) || !page->isVisible())
-                page = 0;
-        }
-    }
-
-    if (next)
-        d->startAuthenticationChallenge(next);
-}
-
-// Keep following code at the end of this file!!!
-static AuthenticationChallengeManager* s_manager = 0;
-
-AuthenticationChallengeManager* AuthenticationChallengeManager::instance()
-{
-    ASSERT(s_manager);
-    return s_manager;
-}
-
-void AuthenticationChallengeManager::init()
-{
-    ASSERT(!s_manager);
-    s_manager = new AuthenticationChallengeManager();
-}
-
-// No more code after this line, all new code should come before s_manager declaration!!!
-
-} // namespace WebCore

Modified: trunk/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h (129418 => 129419)


--- trunk/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h	2012-09-24 21:59:03 UTC (rev 129419)
@@ -19,13 +19,8 @@
 #ifndef AuthenticationChallengeManager_h
 #define AuthenticationChallengeManager_h
 
-#include <wtf/OwnPtr.h>
-
-class PageClientBlackBerry;
-
 namespace WebCore {
 
-class AuthenticationChallengeManagerPrivate;
 class Credential;
 class KURL;
 class ProtectionSpace;
@@ -40,36 +35,6 @@
     virtual void notifyChallengeResult(const KURL&, const ProtectionSpace&, AuthenticationChallengeResult, const Credential&) = 0;
 };
 
-class AuthenticationChallengeManager {
-public:
-    static void init();
-    static AuthenticationChallengeManager* instance();
-
-    void pageCreated(PageClientBlackBerry*);
-    void pageDeleted(PageClientBlackBerry*);
-    void pageVisibilityChanged(PageClientBlackBerry*, bool visible);
-
-    void authenticationChallenge(const KURL&,
-                                 const ProtectionSpace&,
-                                 const Credential&,
-                                 AuthenticationChallengeClient*,
-                                 PageClientBlackBerry*);
-
-    void cancelAuthenticationChallenge(AuthenticationChallengeClient*);
-
-    void notifyChallengeResult(const KURL&,
-                               const ProtectionSpace&,
-                               AuthenticationChallengeResult,
-                               const Credential&);
-
-private:
-    AuthenticationChallengeManager();
-    ~AuthenticationChallengeManager();
-
-    OwnPtr<AuthenticationChallengeManagerPrivate> d;
-};
-
-
 } // namespace WebCore
 
 #endif // AuthenticationChallengeManager_h

Modified: trunk/Source/WebCore/platform/blackberry/PageClientBlackBerry.h (129418 => 129419)


--- trunk/Source/WebCore/platform/blackberry/PageClientBlackBerry.h	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/blackberry/PageClientBlackBerry.h	2012-09-24 21:59:03 UTC (rev 129419)
@@ -72,7 +72,7 @@
     virtual int showAlertDialog(BlackBerry::WebKit::WebPageClient::AlertType) = 0;
     virtual bool isActive() const = 0;
     virtual bool isVisible() const = 0;
-    virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&) = 0;
+    virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&, WebCore::AuthenticationChallengeClient*) = 0;
     virtual SaveCredentialType notifyShouldSaveCredential(bool) = 0;
     virtual void syncProxyCredential(const WebCore::Credential&) = 0;
 };

Modified: trunk/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp (129418 => 129419)


--- trunk/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp	2012-09-24 21:59:03 UTC (rev 129419)
@@ -21,7 +21,6 @@
 #if ENABLE(VIDEO)
 #include "MediaPlayerPrivateBlackBerry.h"
 
-#include "AuthenticationChallengeManager.h"
 #include "CookieManager.h"
 #include "Credential.h"
 #include "CredentialStorage.h"
@@ -115,7 +114,6 @@
     , m_userDrivenSeekTimer(this, &MediaPlayerPrivate::userDrivenSeekTimerFired)
     , m_lastSeekTime(0)
     , m_lastSeekTimePending(false)
-    , m_isAuthenticationChallenging(false)
     , m_waitMetadataTimer(this, &MediaPlayerPrivate::waitMetadataTimerFired)
     , m_waitMetadataPopDialogCounter(0)
 {
@@ -123,9 +121,6 @@
 
 MediaPlayerPrivate::~MediaPlayerPrivate()
 {
-    if (m_isAuthenticationChallenging)
-        AuthenticationChallengeManager::instance()->cancelAuthenticationChallenge(this);
-
     if (isFullscreen()) {
         m_webCorePlayer->mediaPlayerClient()->mediaPlayerExitFullscreen();
     }
@@ -715,18 +710,12 @@
         return;
     }
 
-    m_isAuthenticationChallenging = true;
-    AuthenticationChallengeManager::instance()->authenticationChallenge(url,
-                                                                        protectionSpace,
-                                                                        credential,
-                                                                        this,
-                                                                        m_webCorePlayer->mediaPlayerClient()->mediaPlayerHostWindow()->platformPageClient());
+    if (frameView() && frameView()->hostWindow())
+        frameView()->hostWindow()->platformPageClient()->authenticationChallenge(url, protectionSpace, credential, this);
 }
 
 void MediaPlayerPrivate::notifyChallengeResult(const KURL& url, const ProtectionSpace& protectionSpace, AuthenticationChallengeResult result, const Credential& credential)
 {
-    m_isAuthenticationChallenging = false;
-
     if (result != AuthenticationChallengeSuccess || !url.isValid())
         return;
 

Modified: trunk/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h (129418 => 129419)


--- trunk/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h	2012-09-24 21:59:03 UTC (rev 129419)
@@ -174,7 +174,6 @@
     Timer<MediaPlayerPrivate> m_userDrivenSeekTimer;
     float m_lastSeekTime;
     bool m_lastSeekTimePending;
-    bool m_isAuthenticationChallenging;
     void waitMetadataTimerFired(Timer<MediaPlayerPrivate>*);
     Timer<MediaPlayerPrivate> m_waitMetadataTimer;
     int m_waitMetadataPopDialogCounter;

Modified: trunk/Source/WebCore/platform/network/blackberry/NetworkJob.cpp (129418 => 129419)


--- trunk/Source/WebCore/platform/network/blackberry/NetworkJob.cpp	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/network/blackberry/NetworkJob.cpp	2012-09-24 21:59:03 UTC (rev 129419)
@@ -19,7 +19,6 @@
 #include "config.h"
 #include "NetworkJob.h"
 
-#include "AuthenticationChallengeManager.h"
 #include "Chrome.h"
 #include "ChromeClient.h"
 #include "CookieManager.h"
@@ -85,16 +84,9 @@
     , m_deferredData(*this)
     , m_deferLoadingCount(0)
     , m_frame(0)
-    , m_isAuthenticationChallenging(false)
 {
 }
 
-NetworkJob::~NetworkJob()
-{
-    if (m_isAuthenticationChallenging)
-        AuthenticationChallengeManager::instance()->cancelAuthenticationChallenge(this);
-}
-
 bool NetworkJob::initialize(int playerId,
                             const String& pageGroupName,
                             const KURL& url,
@@ -192,6 +184,12 @@
     if (isInfo(status))
         return; // ignore
 
+    // Load up error page and ask the user to change their wireless proxy settings
+    if (status == 407) {
+        const ResourceError error = ResourceError(ResourceError::httpErrorDomain, BlackBerry::Platform::FilterStream::StatusWifiProxyAuthError, m_response.url().string(), emptyString());
+        m_handle->client()->didFail(m_handle.get(), error);
+    }
+
     m_statusReceived = true;
 
     // Convert non-HTTP status codes to generic HTTP codes.
@@ -205,8 +203,10 @@
 
     m_response.setHTTPStatusText(message);
 
-    if (isUnauthorized(m_extendedStatusCode))
+    if (isUnauthorized(m_extendedStatusCode)) {
         purgeCredentials();
+        BlackBerry::Platform::log(BlackBerry::Platform::LogLevelCritical, "Authentication failed, purge the stored credentials for this site.");
+    }
 }
 
 void NetworkJob::notifyHeadersReceived(BlackBerry::Platform::NetworkRequest::HeaderList& headers)
@@ -294,11 +294,10 @@
         }
         storeCredentials();
         return;
+    } else {
+        purgeCredentials();
+        m_newJobWithCredentialsStarted = sendRequestWithCredentials(serverType, scheme, realm, requireCredentials);
     }
-
-    purgeCredentials();
-    m_newJobWithCredentialsStarted = sendRequestWithCredentials(serverType, scheme, realm, requireCredentials);
-
 }
 
 void NetworkJob::notifyStringHeaderReceived(const String& key, const String& value)
@@ -485,7 +484,6 @@
 #ifndef NDEBUG
     m_isRunning = false;
 #endif
-
     if (!m_cancelled) {
         if (!m_statusReceived) {
             // Connection failed before sending notifyStatusReceived: use generic NetworkError.
@@ -497,7 +495,6 @@
                 m_extendedStatusCode = BlackBerry::Platform::FilterStream::StatusTooManyRedirects;
 
             sendResponseIfNeeded();
-
             if (isClientAvailable()) {
                 if (isError(status))
                     m_extendedStatusCode = status;
@@ -728,15 +725,8 @@
 
     String host;
     int port;
-    if (type == ProtectionSpaceProxyHTTP) {
-        String proxyAddress = BlackBerry::Platform::Client::get()->getProxyAddress(newURL.string().ascii().data()).c_str();
-        KURL proxyURL(KURL(), proxyAddress);
-        host = proxyURL.host();
-        port = proxyURL.port();
-    } else {
-        host = m_response.url().host();
-        port = m_response.url().port();
-    }
+    host = m_response.url().host();
+    port = m_response.url().port();
 
     ProtectionSpace protectionSpace(host, port, type, realm, scheme);
 
@@ -763,37 +753,22 @@
         String username;
         String password;
 
-        if (type == ProtectionSpaceProxyHTTP) {
-            username = BlackBerry::Platform::Client::get()->getProxyUsername().c_str();
-            password = BlackBerry::Platform::Client::get()->getProxyPassword().c_str();
-        }
+        // Before asking the user for credentials, we check if the URL contains that.
+        if (!m_handle->getInternal()->m_user.isEmpty() && !m_handle->getInternal()->m_pass.isEmpty()) {
+            username = m_handle->getInternal()->m_user;
+            password = m_handle->getInternal()->m_pass;
 
-        if (username.isEmpty() || password.isEmpty()) {
-            // Before asking the user for credentials, we check if the URL contains that.
-            if (!m_handle->getInternal()->m_user.isEmpty() && !m_handle->getInternal()->m_pass.isEmpty()) {
-                username = m_handle->getInternal()->m_user;
-                password = m_handle->getInternal()->m_pass;
+            // Prevent them from been used again if they are wrong.
+            // If they are correct, they will the put into CredentialStorage.
+            m_handle->getInternal()->m_user = "";
+            m_handle->getInternal()->m_pass = "";
+        } else {
+            if (m_handle->firstRequest().targetType() != ResourceRequest::TargetIsMainFrame && BlackBerry::Platform::Settings::instance()->isChromeProcess())
+                return false;
 
-                // Prevent them from been used again if they are wrong.
-                // If they are correct, they will the put into CredentialStorage.
-                m_handle->getInternal()->m_user = "";
-                m_handle->getInternal()->m_pass = "";
-            } else {
-                if (m_handle->firstRequest().targetType() != ResourceRequest::TargetIsMainFrame && BlackBerry::Platform::Settings::instance()->isChromeProcess())
-                    return false;
-
-                m_handle->getInternal()->m_currentWebChallenge = AuthenticationChallenge();
-
-                m_isAuthenticationChallenging = true;
-                updateDeferLoadingCount(1);
-
-                AuthenticationChallengeManager::instance()->authenticationChallenge(newURL,
-                                                                                    protectionSpace,
-                                                                                    Credential(),
-                                                                                    this,
-                                                                                    m_frame->page()->chrome()->client()->platformPageClient());
-                return true;
-            }
+            m_handle->getInternal()->m_currentWebChallenge = AuthenticationChallenge();
+            m_frame->page()->chrome()->client()->platformPageClient()->authenticationChallenge(newURL, protectionSpace, Credential(), this);
+            return true;
         }
 
         credential = Credential(username, password, CredentialPersistenceForSession);
@@ -853,17 +828,11 @@
 
 void NetworkJob::notifyChallengeResult(const KURL& url, const ProtectionSpace& protectionSpace, AuthenticationChallengeResult result, const Credential& credential)
 {
-    m_isAuthenticationChallenging = false;
-
     if (result != AuthenticationChallengeSuccess || protectionSpace.host().isEmpty() || !url.isValid()) {
         m_newJobWithCredentialsStarted = false;
-        updateDeferLoadingCount(-1);
         return;
     }
 
-    cancelJob();
-    updateDeferLoadingCount(-1);
-
     if (m_handle->getInternal()->m_currentWebChallenge.isNull())
         m_handle->getInternal()->m_currentWebChallenge = AuthenticationChallenge(protectionSpace, credential, 0, m_response, ResourceError());
 

Modified: trunk/Source/WebCore/platform/network/blackberry/NetworkJob.h (129418 => 129419)


--- trunk/Source/WebCore/platform/network/blackberry/NetworkJob.h	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebCore/platform/network/blackberry/NetworkJob.h	2012-09-24 21:59:03 UTC (rev 129419)
@@ -29,7 +29,6 @@
 #include <network/FilterStream.h>
 #include <wtf/OwnPtr.h>
 #include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
 #include <wtf/text/WTFString.h>
 
 namespace BlackBerry {
@@ -50,8 +49,6 @@
 class NetworkJob : public AuthenticationChallengeClient, public BlackBerry::Platform::FilterStream {
 public:
     NetworkJob();
-    ~NetworkJob();
-
     bool initialize(int playerId,
                     const String& pageGroupName,
                     const KURL&,
@@ -174,8 +171,6 @@
     DeferredData m_deferredData;
     int m_deferLoadingCount;
     const Frame* m_frame;
-
-    bool m_isAuthenticationChallenging;
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp (129418 => 129419)


--- trunk/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp	2012-09-24 21:59:03 UTC (rev 129419)
@@ -20,7 +20,6 @@
 #include "BlackBerryGlobal.h"
 
 #include "ApplicationCacheStorage.h"
-#include "AuthenticationChallengeManager.h"
 #include "CacheClientBlackBerry.h"
 #include "CookieManager.h"
 #include "CrossOriginPreflightResultCache.h"
@@ -81,8 +80,6 @@
     BlackBerry::Platform::Settings* settings = BlackBerry::Platform::Settings::instance();
 
     ImageSource::setMaxPixelsPerDecodedImage(settings->maxPixelsPerDecodedImage());
-
-    AuthenticationChallengeManager::init();
 }
 
 void collectJavascriptGarbageNow()

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (129418 => 129419)


--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-09-24 21:59:03 UTC (rev 129419)
@@ -429,8 +429,6 @@
         BlackBerry::Platform::DeviceInfo::instance();
         defaultUserAgent();
     }
-
-    AuthenticationChallengeManager::instance()->pageCreated(this);
 }
 
 WebPage::WebPage(WebPageClient* client, const WebString& pageGroupName, const Platform::IntRect& rect)
@@ -442,7 +440,6 @@
 
 WebPagePrivate::~WebPagePrivate()
 {
-    AuthenticationChallengeManager::instance()->pageDeleted(this);
     // Hand the backingstore back to another owner if necessary.
     m_webPage->setVisible(false);
     if (BackingStorePrivate::currentBackingStoreOwner() == m_webPage)
@@ -2218,19 +2215,18 @@
     return m_client->isActive();
 }
 
-void WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, const Credential& inputCredential)
+void WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, const Credential& inputCredential, AuthenticationChallengeClient* client)
 {
     WebString username;
     WebString password;
-    AuthenticationChallengeManager* authmgr = AuthenticationChallengeManager::instance();
 
 #if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
     if (m_dumpRenderTree) {
         Credential credential(inputCredential, inputCredential.persistence());
         if (m_dumpRenderTree->didReceiveAuthenticationChallenge(credential))
-            authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+            client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
         else
-            authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
+            client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
         return;
     }
 #endif
@@ -2251,9 +2247,9 @@
 #endif
 
     if (isConfirmed)
-        authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+        client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
     else
-        authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
+        client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
 }
 
 PageClientBlackBerry::SaveCredentialType WebPagePrivate::notifyShouldSaveCredential(bool isNew)
@@ -3253,7 +3249,6 @@
         return;
 
     d->setVisible(visible);
-    AuthenticationChallengeManager::instance()->pageVisibilityChanged(d, visible);
 
     if (!visible) {
         d->suspendBackingStore();

Modified: trunk/Source/WebKit/blackberry/Api/WebPage_p.h (129418 => 129419)


--- trunk/Source/WebKit/blackberry/Api/WebPage_p.h	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebKit/blackberry/Api/WebPage_p.h	2012-09-24 21:59:03 UTC (rev 129419)
@@ -202,7 +202,7 @@
     virtual int showAlertDialog(WebPageClient::AlertType atype);
     virtual bool isActive() const;
     virtual bool isVisible() const { return m_visible; }
-    virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&);
+    virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&, WebCore::AuthenticationChallengeClient*);
     virtual SaveCredentialType notifyShouldSaveCredential(bool);
     virtual void syncProxyCredential(const WebCore::Credential&);
 

Modified: trunk/Source/WebKit/blackberry/ChangeLog (129418 => 129419)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-09-24 21:55:42 UTC (rev 129418)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-09-24 21:59:03 UTC (rev 129419)
@@ -1,3 +1,26 @@
+2012-09-24  Otto Derek Cheung  <[email protected]>
+
+        [BlackBerry] Reverting implementation for 407 error pages
+        https://bugs.webkit.org/show_bug.cgi?id=97455
+
+        Reviewed by Rob Buis.
+
+        Revert "[BlackBerry] Really fix bug 95488 that user can get the 
+        authentication challenge dialog while the other tab has focus."
+        https://bugs.webkit.org/show_bug.cgi?id=97348
+
+        This reverts commit 0cffe01961fb80204138505bcec29a83818efb73.
+
+        * Api/BlackBerryGlobal.cpp:
+        (BlackBerry::WebKit::globalInitialize):
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
+        (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
+        (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
+        (BlackBerry::WebKit::WebPage::setVisible):
+        * Api/WebPage_p.h:
+        (WebPagePrivate):
+
 2012-09-24  Arvid Nilsson  <[email protected]>
 
         [BlackBerry] Add cookie database API
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to