Changeset 232083 in webkit


Ignore:
Timestamp:
May 22, 2018 4:20:50 PM (6 years ago)
Author:
sihui_liu@apple.com
Message:

Source/WebKit:
[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies use different files with/without processpool
https://bugs.webkit.org/show_bug.cgi?id=185831

Reviewed by Chris Dumez.

Started to use uiProcessCookieStorageIdentifier for iOS: make sure cookies handled without
processpool would use the same storage file as when processpool exists.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Tools:
[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool is crashing with reason: 'Completion handler passed to -[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:] was not called'
https://bugs.webkit.org/show_bug.cgi?id=185831

Reviewed by Chris Dumez.

Updated the test to prevent crash after assertion fails.

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r232082 r232083  
     12018-05-22  Sihui Liu  <sihui_liu@apple.com>
     2
     3        [iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies use different files with/without processpool
     4        https://bugs.webkit.org/show_bug.cgi?id=185831
     5
     6        Reviewed by Chris Dumez.
     7
     8        Started to use uiProcessCookieStorageIdentifier for iOS: make sure cookies handled without
     9        processpool would use the same storage file as when processpool exists.
     10
     11        * NetworkProcess/NetworkProcess.h:
     12        * NetworkProcess/NetworkProcessCreationParameters.cpp:
     13        (WebKit::NetworkProcessCreationParameters::encode const):
     14        (WebKit::NetworkProcessCreationParameters::decode):
     15        * NetworkProcess/NetworkProcessCreationParameters.h:
     16        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
     17        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
     18        * Shared/WebProcessCreationParameters.cpp:
     19        (WebKit::WebProcessCreationParameters::encode const):
     20        (WebKit::WebProcessCreationParameters::decode):
     21        * Shared/WebProcessCreationParameters.h:
     22        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     23        (WebKit::WebProcessPool::platformInitializeWebProcess):
     24        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
     25
    1262018-05-22  Chris Dumez  <cdumez@apple.com>
    227
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r232077 r232083  
    247247    void platformSetURLCacheSize(unsigned urlCacheMemoryCapacity, uint64_t urlCacheDiskCapacity);
    248248
    249 #if PLATFORM(MAC)
     249#if PLATFORM(COCOA)
    250250    static void setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier);
    251251#endif
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp

    r231966 r232083  
    5757    encoder << shouldEnableNetworkCacheSpeculativeRevalidation;
    5858#endif
    59 #if PLATFORM(MAC)
     59#if PLATFORM(COCOA)
    6060    encoder << uiProcessCookieStorageIdentifier;
    6161#endif
     
    168168        return false;
    169169#endif
    170 #if PLATFORM(MAC)
     170#if PLATFORM(COCOA)
    171171    if (!decoder.decode(result.uiProcessCookieStorageIdentifier))
    172172        return false;
  • trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h

    r231966 r232083  
    6868    bool shouldEnableNetworkCacheSpeculativeRevalidation { false };
    6969#endif
    70 #if PLATFORM(MAC)
     70#if PLATFORM(COCOA)
    7171    Vector<uint8_t> uiProcessCookieStorageIdentifier;
    7272#endif
  • trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm

    r232077 r232083  
    9696    initializeNetworkSettings();
    9797
    98 #if PLATFORM(MAC)
     98#if PLATFORM(COCOA)
    9999    setSharedHTTPCookieStorage(parameters.uiProcessCookieStorageIdentifier);
    100100#endif
     
    216216}
    217217
    218 #if PLATFORM(MAC)
     218#if PLATFORM(COCOA)
    219219void NetworkProcess::setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier)
    220220{
  • trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp

    r229869 r232083  
    5858    encoder << javaScriptConfigurationDirectory;
    5959    encoder << javaScriptConfigurationDirectoryExtensionHandle;
    60 #if PLATFORM(MAC)
     60#if PLATFORM(COCOA)
    6161    encoder << uiProcessCookieStorageIdentifier;
    6262#endif
     
    210210    parameters.javaScriptConfigurationDirectoryExtensionHandle = WTFMove(*javaScriptConfigurationDirectoryExtensionHandle);
    211211
    212 #if PLATFORM(MAC)
     212#if PLATFORM(COCOA)
    213213    if (!decoder.decode(parameters.uiProcessCookieStorageIdentifier))
    214214        return false;
  • trunk/Source/WebKit/Shared/WebProcessCreationParameters.h

    r230269 r232083  
    8080    String javaScriptConfigurationDirectory;
    8181    SandboxExtension::Handle javaScriptConfigurationDirectoryExtensionHandle;
    82 #if PLATFORM(MAC)
     82#if PLATFORM(COCOA)
    8383    Vector<uint8_t> uiProcessCookieStorageIdentifier;
    8484#endif
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r231980 r232083  
    247247    parameters.networkATSContext = adoptCF(_CFNetworkCopyATSContext());
    248248
    249 #if PLATFORM(MAC)
     249#if PLATFORM(COCOA)
    250250    ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty());
    251251    ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies));
     
    310310    parameters.loadThrottleLatency = Seconds { [defaults integerForKey:WebKitNetworkLoadThrottleLatencyMillisecondsDefaultsKey] / 1000. };
    311311
    312 #if PLATFORM(MAC)
     312#if PLATFORM(COCOA)
    313313    ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty());
    314314    ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies));
  • trunk/Tools/ChangeLog

    r232082 r232083  
     12018-05-22  Sihui Liu  <sihui_liu@apple.com>
     2
     3        [iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool is crashing with reason: 'Completion handler passed to -[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:] was not called'
     4        https://bugs.webkit.org/show_bug.cgi?id=185831
     5
     6        Reviewed by Chris Dumez.
     7
     8        Updated the test to prevent crash after assertion fails.
     9
     10        * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
     11        (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
     12
    1132018-05-22  Chris Dumez  <cdumez@apple.com>
    214
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm

    r231999 r232083  
    379379{
    380380    auto cookies = String(message.UTF8String);
    381     ASSERT_TRUE(cookies == "PersistentCookieName=CookieValue; SessionCookieName=CookieValue" || cookies == "SessionCookieName=CookieValue; PersistentCookieName=CookieValue");
     381    EXPECT_TRUE(cookies == "PersistentCookieName=CookieValue; SessionCookieName=CookieValue" || cookies == "SessionCookieName=CookieValue; PersistentCookieName=CookieValue");
    382382    finished = true;
    383383    completionHandler();
Note: See TracChangeset for help on using the changeset viewer.