Changeset 74648 in webkit


Ignore:
Timestamp:
Dec 24, 2010 12:24:37 PM (13 years ago)
Author:
mitz@apple.com
Message:

<rdar://problem/8758386> The web process uses its own credential storage
https://bugs.webkit.org/show_bug.cgi?id=51599

Reviewed by Anders Carlsson.

WebCore:

  • WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),

and Credential::isEmpty().

WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using
the UI process’s credential storage first.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using
its own credential storage.

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain): Ditto.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r74646 r74648  
     12010-12-24  Dan Bernstein  <mitz@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        <rdar://problem/8758386> The web process uses its own credential storage
     6        https://bugs.webkit.org/show_bug.cgi?id=51599
     7
     8        * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
     9        and Credential::isEmpty().
     10
    1112010-12-24  Yury Semikhatsky  <yurys@chromium.org>
    212
  • trunk/WebCore/WebCore.exp.in

    r74597 r74648  
    436436__ZN7WebCore16isEndOfParagraphERKNS_15VisiblePositionENS_27EditingBoundaryCrossingRuleE
    437437__ZN7WebCore16jsStringSlowCaseEPN3JSC9ExecStateERNS0_9WeakGCMapIPN3WTF10StringImplEPNS0_8JSStringEEES6_
     438__ZN7WebCore17CredentialStorage24getFromPersistentStorageERKNS_15ProtectionSpaceE
    438439__ZN7WebCore17CredentialStorage3getERKNS_15ProtectionSpaceE
    439440__ZN7WebCore17DOMImplementation13isXMLMIMETypeERKN3WTF6StringE
     
    934935__ZNK3JSC8Bindings10RootObject12globalObjectEv
    935936__ZNK3WTF6String14createCFStringEv
     937__ZNK7WebCore10Credential11hasPasswordEv
    936938__ZNK7WebCore10Credential11persistenceEv
    937939__ZNK7WebCore10Credential4userEv
     940__ZNK7WebCore10Credential7isEmptyEv
    938941__ZNK7WebCore10Credential8passwordEv
    939942__ZNK7WebCore10FloatPointcv8_NSPointEv
  • trunk/WebKit2/ChangeLog

    r74615 r74648  
     12010-12-24  Dan Bernstein  <mitz@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        <rdar://problem/8758386> The web process uses its own credential storage
     6        https://bugs.webkit.org/show_bug.cgi?id=51599
     7
     8        * UIProcess/WebPageProxy.cpp:
     9        (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using
     10        the UI process’s credential storage first.
     11        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
     12        (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using
     13        its own credential storage.
     14        * WebProcess/mac/WebProcessMainMac.mm:
     15        (WebKit::WebProcessMain): Ditto.
     16
    1172010-12-23  Dan Bernstein  <mitz@apple.com>
    218
  • trunk/WebKit2/UIProcess/WebPageProxy.cpp

    r74615 r74648  
    2828#include "AuthenticationChallengeProxy.h"
    2929#include "AuthenticationDecisionListener.h"
     30#include "AuthenticationManagerMessages.h"
    3031#include "DataReference.h"
    3132#include "DrawingAreaProxy.h"
     
    6263#include "WebSecurityOrigin.h"
    6364#include "WebURLRequest.h"
     65#include <WebCore/CredentialStorage.h>
    6466#include <WebCore/FloatRect.h>
    6567#include <WebCore/MIMETypeRegistry.h>
     
    19831985    MESSAGE_CHECK(frame);
    19841986
     1987    if (!coreChallenge.previousFailureCount()) {
     1988        Credential defaultCredential = CredentialStorage::getFromPersistentStorage(coreChallenge.protectionSpace());
     1989        if (!defaultCredential.isEmpty() && defaultCredential.hasPassword() && !defaultCredential.password().isEmpty()) {
     1990            process()->send(Messages::AuthenticationManager::UseCredentialForChallenge(challengeID, defaultCredential), pageID());
     1991            return;
     1992        }
     1993    }
     1994
    19851995    RefPtr<AuthenticationChallengeProxy> authenticationChallenge = AuthenticationChallengeProxy::create(coreChallenge, challengeID, this);
    19861996   
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

    r74571 r74648  
    162162bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier)
    163163{
    164     return true;
     164    return false;
    165165}
    166166
  • trunk/WebKit2/WebProcess/mac/WebProcessMainMac.mm

    r74219 r74648  
    105105    }
    106106
     107    // Disallow access to the user keychain.
     108    SecKeychainSetPreferenceDomain(kSecPreferencesDomainSystem);
     109
    107110#if !SHOW_CRASH_REPORTER
    108111    // Installs signal handlers that exit on a crash so that CrashReporter does not show up.
Note: See TracChangeset for help on using the changeset viewer.