Changeset 70400 in webkit


Ignore:
Timestamp:
Oct 23, 2010 3:17:20 PM (14 years ago)
Author:
ap@apple.com
Message:

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=48083
<rdar://problem/8489082> Need WebKit2 API for private browsing (48083)

Location:
trunk
Files:
2 added
30 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r70399 r70400  
     12010-10-23  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=48083
     6        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
     7
     8        * GNUmakefile.am:
     9        * WebCore.gypi:
     10        * WebCore.pro:
     11        * WebCore.vcproj/WebCore.vcproj:
     12        Added CookieStorage.h to build files that contain headers.
     13
     14        * WebCore.xcodeproj/project.pbxproj: Added CookieStorage.h and CookieStorageMac.mm.
     15
     16        * WebCore.exp.in: Export _wkSetCookieStoragePrivateBrowsingEnabled (WebKit initializes WKSI
     17        on WebCore's behalf).
     18
     19        * platform/mac/WebCoreSystemInterface.h:
     20        * platform/mac/WebCoreSystemInterface.mm:
     21        More work for passing the function pointer down to WebCore.
     22
     23        * page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): Tell cookie manager to
     24        when to use private browsing mode. Note that although this is a per-page setting, it
     25        actually has global effect.
     26
     27        * page/Settings.h: Extended a comment about what private browsing does.
     28
     29        * platform/android/TemporaryLinkStubs.cpp: (setCookieStoragePrivateBrowsingEnabled):
     30        * platform/chromium/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
     31        * platform/efl/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
     32        * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
     33        * platform/haiku/TemporaryLinkStubs.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
     34        * platform/qt/TemporaryLinkStubsQt.cpp: (WebCore::setCookieStoragePrivateBrowsingEnabled):
     35        Added an empty implementation for ports that don't implement private browsing, or implement
     36        it in ways I cannot discover.
     37
     38        * platform/network/CookieStorage.h: Added. I'm not entirely sure how this is different from
     39        CookieJar.h, just following a precedent already set by Windows port with CookieStorageWin.h.
     40
     41        * platform/network/mac/CookieStorageMac.mm: Added.
     42        (WebCore::setCookieStoragePrivateBrowsingEnabled): Call a WKSI function to enable private
     43        browsing mode for cookies.
     44
     45        * platform/network/cf/CookieStorageCFNet.cpp:
     46        (WebCore::currentCookieStorage): Added ASSERT(isMainThread()).
     47        (WebCore::setCurrentCookieStorage): Ditto.
     48        (WebCore::setCookieStoragePrivateBrowsingEnabled): Set cookie storage to a private one
     49        when in private browsing mode. ResourceHandle applies the storage to each individual request.
     50
     51        * platform/network/cf/CookieStorageCFNet.h: Added a comment explaining that these functions
     52        are only for WebKit1.
     53
    1542010-10-23  David Kilzer  <ddkilzer@apple.com>
    255
  • trunk/WebCore/GNUmakefile.am

    r70300 r70400  
    23732373        WebCore/platform/network/BlobResourceHandle.h \
    23742374        WebCore/platform/network/BlobStorageData.h \
     2375        WebCore/platform/network/CookieStorage.h \
    23752376        WebCore/platform/network/Credential.cpp \
    23762377        WebCore/platform/network/Credential.h \
  • trunk/WebCore/WebCore.exp.in

    r70333 r70400  
    11791179_wkSetCONNECTProxyAuthorizationForStream
    11801180_wkSetCONNECTProxyForStream
     1181_wkSetCookieStoragePrivateBrowsingEnabled
    11811182_wkSetDragImage
    11821183_wkSetNSURLConnectionDefersCallbacks
  • trunk/WebCore/WebCore.gypi

    r70394 r70400  
    30153015            'platform/network/BlobRegistry.h',
    30163016            'platform/network/BlobStorageData.h',
     3017            'platform/network/CookieStorage.h',
    30173018            'platform/network/Credential.cpp',
    30183019            'platform/network/Credential.h',
  • trunk/WebCore/WebCore.pro

    r70300 r70400  
    21042104    platform/network/BlobResourceHandle.h \
    21052105    platform/network/BlobStorageData.h \
     2106    platform/network/CookieStorage.h \
    21062107    platform/network/Credential.h \
    21072108    platform/network/FormDataBuilder.h \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r70339 r70400  
    2750727507                                </File>
    2750827508                                <File
     27509                                        RelativePath="..\platform\network\CookieStorage.h"
     27510                                        >
     27511                                </File>
     27512                                <File
    2750927513                                        RelativePath="..\platform\network\Credential.cpp"
    2751027514                                        >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r70317 r70400  
    53345334                E12EDB7B0B308A78002704B6 /* EventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = E12EDB7A0B308A78002704B6 /* EventTarget.h */; settings = {ATTRIBUTES = (Private, ); }; };
    53355335                E12EDBEA0B308E0B002704B6 /* EventTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E12EDBE90B308E0B002704B6 /* EventTarget.cpp */; };
     5336                E13F01EB1270E10D00DFBA71 /* CookieStorage.h in Resources */ = {isa = PBXBuildFile; fileRef = E13F01EA1270E10D00DFBA71 /* CookieStorage.h */; };
     5337                E13F01F11270E19000DFBA71 /* CookieStorageMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E13F01F01270E19000DFBA71 /* CookieStorageMac.mm */; };
    53365338                E15A36D71104572000B7B639 /* XMLNSNames.h in Headers */ = {isa = PBXBuildFile; fileRef = E15A36D61104572000B7B639 /* XMLNSNames.h */; };
    53375339                E15A36D91104572700B7B639 /* XMLNSNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E15A36D81104572700B7B639 /* XMLNSNames.cpp */; };
     
    1134811350                E12EDB7A0B308A78002704B6 /* EventTarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventTarget.h; sourceTree = "<group>"; };
    1134911351                E12EDBE90B308E0B002704B6 /* EventTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventTarget.cpp; sourceTree = "<group>"; };
     11352                E13F01EA1270E10D00DFBA71 /* CookieStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CookieStorage.h; sourceTree = "<group>"; };
     11353                E13F01F01270E19000DFBA71 /* CookieStorageMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CookieStorageMac.mm; sourceTree = "<group>"; };
    1135011354                E15A36D61104572000B7B639 /* XMLNSNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLNSNames.h; sourceTree = "<group>"; };
    1135111355                E15A36D81104572700B7B639 /* XMLNSNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLNSNames.cpp; sourceTree = "<group>"; };
     
    1295512959                                2EDEF1F2121B0EFC00726DB2 /* BlobStorageData.h */,
    1295612960                                514C76580CE923A1007EF3CD /* Credential.cpp */,
     12961                                E13F01EA1270E10D00DFBA71 /* CookieStorage.h */,
    1295712962                                514C76590CE923A1007EF3CD /* Credential.h */,
    1295812963                                51A052321058774F00CC9E95 /* CredentialStorage.cpp */,
     
    1300213007                                514C76420CE9234E007EF3CD /* AuthenticationMac.h */,
    1300313008                                514C76430CE9234E007EF3CD /* AuthenticationMac.mm */,
     13009                                E13F01F01270E19000DFBA71 /* CookieStorageMac.mm */,
    1300413010                                E1B4CD2410B322E200BFFD7E /* CredentialStorageMac.mm */,
    1300513011                                514C76440CE9234E007EF3CD /* FormDataStreamMac.h */,
     
    2126821274                                1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */,
    2126921275                                1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */,
     21276                                E13F01EB1270E10D00DFBA71 /* CookieStorage.h in Resources */,
    2127021277                        );
    2127121278                        runOnlyForDeploymentPostprocessing = 0;
     
    2369723704                                E18772F1126E2629003DD586 /* Language.cpp in Sources */,
    2369823705                                7A1F2B52126C61B20006A7E6 /* InspectorClient.cpp in Sources */,
     23706                                E13F01F11270E19000DFBA71 /* CookieStorageMac.mm in Sources */,
    2369923707                        );
    2370023708                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/page/Settings.cpp

    r68222 r70400  
    2929#include "BackForwardList.h"
    3030#include "CachedResourceLoader.h"
     31#include "CookieStorage.h"
    3132#include "DOMTimer.h"
    3233#include "Database.h"
     
    313314        return;
    314315
     316    // FIXME: We can only enable cookie private browsing mode globally, so it's misleading to have it as a per-page setting.
     317    setCookieStoragePrivateBrowsingEnabled(privateBrowsingEnabled);
     318
    315319    m_privateBrowsingEnabled = privateBrowsingEnabled;
    316320    m_page->privateBrowsingStateChanged();
  • trunk/WebCore/page/Settings.h

    r68222 r70400  
    148148        //  - Back/Forward Page History
    149149        //  - Page Search Results
     150        //  - HTTP Cookies
     151        //  - Plug-ins (that support NPNVprivateModeBool)
    150152        void setPrivateBrowsingEnabled(bool);
    151153        bool privateBrowsingEnabled() const { return m_privateBrowsingEnabled; }
  • trunk/WebCore/platform/android/TemporaryLinkStubs.cpp

    r66963 r70400  
    3737#include "ContextMenuItem.h"
    3838#include "CookieJar.h"
     39#include "CookieStorage.h"
    3940#include "Cursor.h"
    4041#include "Database.h"
     
    501502}
    502503
     504void setCookieStoragePrivateBrowsingEnabled(bool)
     505{
     506    notImplemented();
     507}
     508
    503509#endif
  • trunk/WebCore/platform/chromium/TemporaryLinkStubs.cpp

    r49947 r70400  
    3131#include "config.h"
    3232
     33#include "CookieStorage.h"
    3334#include "KURL.h"
    3435#include "NotImplemented.h"
     
    4950}
    5051
     52void setCookieStoragePrivateBrowsingEnabled(bool)
     53{
     54    notImplemented();
     55}
     56
    5157} // namespace WebCore
  • trunk/WebCore/platform/efl/TemporaryLinkStubs.cpp

    r55342 r70400  
    3131
    3232#include "AXObjectCache.h"
     33#include "CookieStorage.h"
    3334#include "Editor.h"
    3435#include "FTPDirectoryDocument.h"
     
    6263}
    6364
     65void setCookieStoragePrivateBrowsingEnabled(bool)
     66{
     67    notImplemented();
    6468}
    6569
     70}
     71
  • trunk/WebCore/platform/gtk/TemporaryLinkStubs.cpp

    r43955 r70400  
    2929
    3030#include "AXObjectCache.h"
     31#include "CookieStorage.h"
    3132#include "DNS.h"
    3233#include "Editor.h"
     
    4748String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String &challengeString, const KURL &url) { return String(); }
    4849float userIdleTime() { notImplemented(); return FLT_MAX; } // return an arbitrarily high userIdleTime so that releasing pages from the page cache isn't postponed
     50void setCookieStoragePrivateBrowsingEnabled(bool) { notImplemented(); }
    4951
    5052}
  • trunk/WebCore/platform/haiku/TemporaryLinkStubs.cpp

    r47295 r70400  
    3434#include "config.h"
    3535
     36#include "CookieStorage.h"
    3637#include "KURL.h"
    3738#include "NotImplemented.h"
     
    7778}
    7879
     80void setCookieStoragePrivateBrowsingEnabled(bool)
     81{
     82    notImplemented();
     83}
     84
    7985} // namespace WebCore
    8086
  • trunk/WebCore/platform/mac/WebCoreSystemInterface.h

    r70095 r70400  
    133133extern void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL);
    134134extern void (*wkSetCGFontRenderingMode)(CGContextRef, NSFont*);
     135extern void (*wkSetCookieStoragePrivateBrowsingEnabled)(BOOL);
    135136extern void (*wkSetDragImage)(NSImage*, NSPoint offset);
    136137extern void (*wkSetNSURLConnectionDefersCallbacks)(NSURLConnection *, BOOL);
  • trunk/WebCore/platform/mac/WebCoreSystemInterface.mm

    r70095 r70400  
    6868void (*wkQTMovieViewSetDrawSynchronously)(QTMovieView*, BOOL);
    6969void (*wkSetCGFontRenderingMode)(CGContextRef, NSFont*);
     70void (*wkSetCookieStoragePrivateBrowsingEnabled)(BOOL);
    7071void (*wkSetDragImage)(NSImage*, NSPoint offset);
    7172void (*wkSetPatternBaseCTM)(CGContextRef, CGAffineTransform);
  • trunk/WebCore/platform/network/cf/CookieStorageCFNet.cpp

    r70339 r70400  
    3737CFHTTPCookieStorageRef currentCookieStorage()
    3838{
     39    ASSERT(isMainThread());
     40
    3941    if (s_cookieStorage)
    4042        return s_cookieStorage.get();
     
    4446void setCurrentCookieStorage(CFHTTPCookieStorageRef cookieStorage)
    4547{
     48    ASSERT(isMainThread());
     49
    4650    s_cookieStorage = cookieStorage;
    4751}
    4852
     53void setCookieStoragePrivateBrowsingEnabled(bool enabled)
     54{
     55    ASSERT(isMainThread());
     56
     57    if (enabled)
     58        s_cookieStorage.adoptPtr(wkCreatePrivateHTTPCookieStorage());
     59    else
     60        s_cookieStorage = 0;
    4961}
     62
     63}
  • trunk/WebCore/platform/network/cf/CookieStorageCFNet.h

    r70339 r70400  
    3232
    3333    CFHTTPCookieStorageRef currentCookieStorage();
    34    
     34
     35    // Needed for WebKit1 API only.
    3536    void setCurrentCookieStorage(CFHTTPCookieStorageRef cookieStorage);
    3637
  • trunk/WebCore/platform/qt/TemporaryLinkStubsQt.cpp

    r68377 r70400  
    3636#include "CachedResource.h"
    3737#include "CookieJar.h"
     38#include "CookieStorage.h"
    3839#include "Cursor.h"
    3940#include "DNS.h"
     
    124125#endif
    125126
     127void setCookieStoragePrivateBrowsingEnabled(bool)
     128{
     129    notImplemented();
     130}
     131
    126132}
    127133
  • trunk/WebKit/mac/ChangeLog

    r70333 r70400  
     12010-10-23  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=48083
     6        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
     7
     8        * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize the new method.
     9
    1102010-10-22  Sam Weinig  <sam@webkit.org>
    211
  • trunk/WebKit/mac/WebCoreSupport/WebSystemInterface.mm

    r70095 r70400  
    7474    INIT(SetCONNECTProxyAuthorizationForStream);
    7575    INIT(SetCONNECTProxyForStream);
     76    INIT(SetCookieStoragePrivateBrowsingEnabled);
    7677    INIT(SetDragImage);
    7778    INIT(SetNSURLConnectionDefersCallbacks);
  • trunk/WebKit2/ChangeLog

    r70387 r70400  
     12010-10-23  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=48083
     6        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
     7
     8        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
     9        Initialize the new method.
     10
    1112010-10-21  Timothy Hatcher  <timothy@apple.com>
    212
  • trunk/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm

    r70095 r70400  
    8080        INIT(SetCONNECTProxyAuthorizationForStream);
    8181        INIT(SetCONNECTProxyForStream);
     82        INIT(SetCookieStoragePrivateBrowsingEnabled);
    8283        INIT(SetDragImage);
    8384        INIT(SetNSURLConnectionDefersCallbacks);
  • trunk/WebKitLibraries/ChangeLog

    r70320 r70400  
     12010-10-23  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=48083
     6        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
     7
     8        * WebKitSystemInterface.h:
     9        * libWebKitSystemInterfaceLeopard.a:
     10        * libWebKitSystemInterfaceSnowLeopard.a:
     11        * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
     12        * win/lib/WebKitSystemInterface.lib:
     13        * win/lib/WebKitSystemInterface_debug.lib:
     14        Updated WebKitSystemInterface with necessary methods.
     15
    1162010-10-22  Adam Roben  <aroben@apple.com>
    217
  • trunk/WebKitLibraries/WebKitSystemInterface.h

    r69511 r70400  
    6060Class WKNSURLProtocolClassForRequest(NSURLRequest *request);
    6161void WKSetNSURLRequestShouldContentSniff(NSMutableURLRequest *request, BOOL shouldContentSniff);
     62
     63void WKSetCookieStoragePrivateBrowsingEnabled(BOOL enabled);
    6264
    6365unsigned WKGetNSAutoreleasePoolCount(void);
  • trunk/WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h

    r70131 r70400  
    8686void* wkGetSSLCertificateChainContext(CFDictionaryRef);
    8787CFHTTPCookieStorageRef wkGetDefaultHTTPCookieStorage();
     88CFHTTPCookieStorageRef wkCreatePrivateHTTPCookieStorage();
    8889void wkSetCFURLRequestShouldContentSniff(CFMutableURLRequestRef, bool);
    8990CFStringRef wkCopyFoundationCacheDirectory();
Note: See TracChangeset for help on using the changeset viewer.