Changeset 232819 in webkit


Ignore:
Timestamp:
Jun 13, 2018 4:46:06 PM (6 years ago)
Author:
Kocsen Chung
Message:

Revert r231850. rdar://problem/39111626

Location:
branches/safari-606.1.20.20-branch
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-606.1.20.20-branch/Source/WebKit/ChangeLog

    r232631 r232819  
     12018-06-13  Kocsen Chung  <kocsen_chung@apple.com>
     2
     3        Revert r231850. rdar://problem/39111626
     4
    152018-06-08  Kocsen Chung  <kocsen_chung@apple.com>
    26
  • branches/safari-606.1.20.20-branch/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm

    r231850 r232819  
    3737#import <WebCore/NetworkStorageSession.h>
    3838#import <WebCore/ResourceError.h>
    39 #import <pal/SessionID.h>
    4039#import <wtf/MainThread.h>
    4140
     
    4746{
    4847    auto sessionID = parameters.networkSessionParameters.sessionID;
    49     if (auto* session = NetworkStorageSession::storageSession(sessionID)) {
    50         ASSERT(parameters.pendingCookies.isEmpty() || sessionID == PAL::SessionID::defaultSessionID());
    51         for (const auto& cookie : parameters.pendingCookies)
    52             session->setCookie(cookie);
     48    if (NetworkStorageSession::storageSession(sessionID))
    5349        return;
    54     }
    5550
    5651    String base;
  • branches/safari-606.1.20.20-branch/Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp

    r232522 r232819  
    5555}
    5656
    57 void HTTPCookieStore::cookies(Function<void(const Vector<WebCore::Cookie>&)>&& completionHandler)
     57void HTTPCookieStore::cookies(Function<void (const Vector<WebCore::Cookie>&)>&& completionHandler)
    5858{
    5959    auto* pool = m_owningDataStore->processPoolForCookieStorageOperations();
     
    6262        if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID())
    6363            allCookies = WebCore::NetworkStorageSession::defaultStorageSession().getAllCookies();
    64         allCookies.appendVector(m_owningDataStore->pendingCookies());
     64        else
     65            allCookies = m_owningDataStore->pendingCookies();
    6566
    6667        callOnMainThread([completionHandler = WTFMove(completionHandler), allCookies]() {
     
    8081    auto* pool = m_owningDataStore->processPoolForCookieStorageOperations();
    8182    if (!pool) {
    82         // FIXME: pendingCookies used for defaultSession because session cookies cannot be propagated to Network Process with uiProcessCookieStorageIdentifier.
    83         if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID() && !cookie.session)
     83        if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID())
    8484            WebCore::NetworkStorageSession::defaultStorageSession().setCookie(cookie);
    8585        else
     
    102102    auto* pool = m_owningDataStore->processPoolForCookieStorageOperations();
    103103    if (!pool) {
    104         if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID() && !cookie.session)
     104        if (m_owningDataStore->sessionID() == PAL::SessionID::defaultSessionID())
    105105            WebCore::NetworkStorageSession::defaultStorageSession().deleteCookie(cookie);
    106106        else
    107107            m_owningDataStore->removePendingCookie(cookie);
    108 
    109108        callOnMainThread([completionHandler = WTFMove(completionHandler)]() {
    110109            completionHandler();
  • branches/safari-606.1.20.20-branch/Source/WebKit/UIProcess/WebProcessPool.cpp

    r232535 r232819  
    448448{
    449449    if (m_networkProcess) {
    450         if (withWebsiteDataStore) {
     450        if (withWebsiteDataStore)
    451451            m_networkProcess->send(Messages::NetworkProcess::AddWebsiteDataStore(withWebsiteDataStore->parameters()), 0);
    452             withWebsiteDataStore->clearPendingCookies();
    453         }
    454452        return *m_networkProcess;
    455453    }
     
    537535    }
    538536
    539     if (m_websiteDataStore) {
    540         m_networkProcess->send(Messages::NetworkProcess::AddWebsiteDataStore(m_websiteDataStore->websiteDataStore().parameters()), 0);
    541         m_websiteDataStore->websiteDataStore().clearPendingCookies();
    542     }
    543    
    544     if (withWebsiteDataStore) {
     537    if (withWebsiteDataStore)
    545538        m_networkProcess->send(Messages::NetworkProcess::AddWebsiteDataStore(withWebsiteDataStore->parameters()), 0);
    546         withWebsiteDataStore->clearPendingCookies();
    547     }
    548539
    549540    return *m_networkProcess;
     
    12001191        sendToNetworkingProcess(Messages::NetworkProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()));
    12011192        page.process().send(Messages::WebProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::privateSessionParameters(sessionID)), 0);
    1202         page.websiteDataStore().clearPendingCookies();
    12031193    } else if (sessionID != PAL::SessionID::defaultSessionID()) {
    12041194        sendToNetworkingProcess(Messages::NetworkProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()));
    12051195        page.process().send(Messages::WebProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()), 0);
    1206         page.websiteDataStore().clearPendingCookies();
    12071196
    12081197#if ENABLE(INDEXED_DATABASE)
  • branches/safari-606.1.20.20-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp

    r232423 r232819  
    15351535    m_pendingCookies.remove(cookie);
    15361536}
    1537    
    1538 void WebsiteDataStore::clearPendingCookies()
    1539 {
    1540     m_pendingCookies.clear();
    1541 }
    15421537
    15431538#if !PLATFORM(COCOA)
  • branches/safari-606.1.20.20-branch/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h

    r232423 r232819  
    163163    void addPendingCookie(const WebCore::Cookie&);
    164164    void removePendingCookie(const WebCore::Cookie&);
    165     void clearPendingCookies();
    166165
    167166    void enableResourceLoadStatisticsAndSetTestingCallback(Function<void (const String&)>&& callback);
  • branches/safari-606.1.20.20-branch/Tools/ChangeLog

    r232818 r232819  
     12018-06-13  Kocsen Chung  <kocsen_chung@apple.com>
     2
     3        Revert r231850. rdar://problem/39111626
     4
    152018-06-06  Kocsen Chung  <kocsen_chung@apple.com>
    26
  • branches/safari-606.1.20.20-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm

    r232357 r232819  
    469469- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler
    470470{
    471     EXPECT_STREQ("PersistentCookieName=CookieValue; SessionCookieName=CookieValue", message.UTF8String);
     471    EXPECT_STREQ("cookie:cookiename=cookievalue", message.UTF8String);
    472472    finished = true;
    473473    completionHandler();
     
    475475@end
    476476
     477// FIXME: This should be removed once <rdar://problem/35344202> is resolved and bots are updated.
     478#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED <= 101301) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MAX_ALLOWED <= 110102)
    477479TEST(WebKit, WKHTTPCookieStoreWithoutProcessPool)
    478480{
    479     RetainPtr<NSHTTPCookie> sessionCookie = [NSHTTPCookie cookieWithProperties:@{
    480         NSHTTPCookiePath: @"/",
    481         NSHTTPCookieName: @"SessionCookieName",
    482         NSHTTPCookieValue: @"CookieValue",
    483         NSHTTPCookieDomain: @"127.0.0.1",
    484     }];
    485     RetainPtr<NSHTTPCookie> persistentCookie = [NSHTTPCookie cookieWithProperties:@{
    486         NSHTTPCookiePath: @"/",
    487         NSHTTPCookieName: @"PersistentCookieName",
    488         NSHTTPCookieValue: @"CookieValue",
    489         NSHTTPCookieDomain: @"127.0.0.1",
    490         NSHTTPCookieExpires: [NSDate distantFuture],
    491     }];
    492     NSString *alertCookieHTML = @"<script>var cookies = document.cookie.split(';'); for (let i = 0; i < cookies.length; i ++) { cookies[i] = cookies[i].trim(); } cookies.sort(); alert(cookies.join('; '));</script>";
    493 
    494     // NonPersistentDataStore
    495     RetainPtr<WKWebsiteDataStore> ephemeralStoreWithCookies = [WKWebsiteDataStore nonPersistentDataStore];
    496 
     481    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:@"127.0.0.1", NSHTTPCookieDomain, @"/", NSHTTPCookiePath, @"cookiename", NSHTTPCookieName, @"cookievalue", NSHTTPCookieValue, [NSDate distantFuture], NSHTTPCookieExpires, nil]];
     482    NSString *alertCookieHTML = @"<script>alert('cookie:'+document.cookie);</script>";
     483   
    497484    finished = false;
    498     [ephemeralStoreWithCookies.get().httpCookieStore setCookie:persistentCookie.get() completionHandler:^{
     485    WKWebsiteDataStore *ephemeralStoreWithCookies = [WKWebsiteDataStore nonPersistentDataStore];
     486    [ephemeralStoreWithCookies.httpCookieStore setCookie:cookie completionHandler:^ {
    499487        WKWebsiteDataStore *ephemeralStoreWithIndependentCookieStorage = [WKWebsiteDataStore nonPersistentDataStore];
    500488        [ephemeralStoreWithIndependentCookieStorage.httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
    501             ASSERT_EQ(0u, cookies.count);
     489            ASSERT_EQ(cookies.count, 0u);
     490           
     491            WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
     492            configuration.websiteDataStore = ephemeralStoreWithCookies;
     493            WKWebView *view = [[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration];
     494            view.UIDelegate = [[CookieUIDelegate alloc] init];
     495
     496            [view loadHTMLString:alertCookieHTML baseURL:[NSURL URLWithString:@"http://127.0.0.1/"]];
     497        }];
     498    }];
     499    TestWebKitAPI::Util::run(&finished);
     500   
     501    // FIXME: Get this to work on iOS. <rdar://problem/32260156>
     502#if !PLATFORM(IOS)
     503    finished = false;
     504    WKWebsiteDataStore *defaultStore = [WKWebsiteDataStore defaultDataStore];
     505    [defaultStore.httpCookieStore setCookie:cookie completionHandler:^ {
     506        [defaultStore.httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
     507            ASSERT_EQ(cookies.count, 1u);
     508           
     509            WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
     510            configuration.websiteDataStore = defaultStore;
     511            WKWebView *view = [[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration];
     512            view.UIDelegate = [[CookieUIDelegate alloc] init];
     513           
     514            [view loadHTMLString:alertCookieHTML baseURL:[NSURL URLWithString:@"http://127.0.0.1/"]];
     515        }];
     516    }];
     517    TestWebKitAPI::Util::run(&finished);
     518   
     519    [defaultStore.httpCookieStore deleteCookie:cookie completionHandler:^ {
     520        [defaultStore.httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
     521            ASSERT_EQ(cookies.count, 0u);
    502522            finished = true;
    503523        }];
    504524    }];
    505525    TestWebKitAPI::Util::run(&finished);
    506 
    507     finished = false;
    508     [ephemeralStoreWithCookies.get().httpCookieStore setCookie:sessionCookie.get() completionHandler:^{
    509         [ephemeralStoreWithCookies.get().httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
    510             ASSERT_EQ(2u, cookies.count);
    511             finished = true;
    512         }];
    513     }];
    514     TestWebKitAPI::Util::run(&finished);
    515 
    516     finished = false;
    517     auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
    518     configuration.get().websiteDataStore = ephemeralStoreWithCookies.get();
    519     auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
    520     auto delegate = adoptNS([[CookieUIDelegate alloc] init]);
    521     webView.get().UIDelegate = delegate.get();
    522     [webView loadHTMLString:alertCookieHTML baseURL:[NSURL URLWithString:@"http://127.0.0.1"]];
    523     TestWebKitAPI::Util::run(&finished);
    524 
    525     finished = false;
    526     [ephemeralStoreWithCookies.get().httpCookieStore deleteCookie:sessionCookie.get() completionHandler:^{
    527         [ephemeralStoreWithCookies.get().httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
    528             ASSERT_EQ(1u, cookies.count);
    529             finished = true;
    530         }];
    531     }];
    532     TestWebKitAPI::Util::run(&finished);
    533    
    534     // DefaultDataStore
    535     auto defaultStore = [WKWebsiteDataStore defaultDataStore];
    536     finished = false;
    537     [defaultStore removeDataOfTypes:[WKWebsiteDataStore allWebsiteDataTypes] modifiedSince:[NSDate distantPast] completionHandler:[] {
    538         finished = true;
    539     }];
    540     TestWebKitAPI::Util::run(&finished);
    541 
    542     finished = false;
    543     [defaultStore.httpCookieStore setCookie:persistentCookie.get() completionHandler:^{
    544         [defaultStore.httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
    545             ASSERT_EQ(1u, cookies.count);
    546             finished = true;
    547         }];
    548     }];
    549     TestWebKitAPI::Util::run(&finished);
    550 
    551     finished = false;
    552     [defaultStore.httpCookieStore setCookie:sessionCookie.get() completionHandler:^{
    553         [defaultStore.httpCookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *cookies) {
    554             ASSERT_EQ(2u, cookies.count);
    555             finished = true;
    556         }];
    557     }];
    558     TestWebKitAPI::Util::run(&finished);
    559 
    560     finished = false;
    561     configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
    562     configuration.get().websiteDataStore = defaultStore;
    563     webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
    564     webView.get().UIDelegate = delegate.get();
    565     [webView loadHTMLString:alertCookieHTML baseURL:[NSURL URLWithString:@"http://127.0.0.1"]];
    566     TestWebKitAPI::Util::run(&finished);
    567 }
    568526#endif
     527}
     528#endif // (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED <= 101301) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MAX_ALLOWED <= 110102)
     529#endif
Note: See TracChangeset for help on using the changeset viewer.