Changeset 219052 in webkit
- Timestamp:
- Jul 1, 2017 2:37:54 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r219051 r219052 1 2017-07-01 Brady Eidson <beidson@apple.com> 2 3 When setting a custom cookie storage location on a WKWebsiteDataStore, cookies aren't actually removed. 4 <rdar://problem/32410662> and https://bugs.webkit.org/show_bug.cgi?id=174035 5 6 Reviewed by Alex Christensen. 7 8 * UIProcess/API/Cocoa/WKProcessPool.mm: 9 (-[WKProcessPool _terminateNetworkProcess]): 10 * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: 11 12 * UIProcess/WebProcessPool.cpp: 13 (WebKit::WebProcessPool::ensureNetworkProcess): Take an optional WebsiteDataStore. If one is passed in, 14 send it to either the existing or new network process. 15 * UIProcess/WebProcessPool.h: 16 17 * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: 18 (WebKit::WebsiteDataStore::parameters): Resolve paths first. 19 20 * UIProcess/WebsiteData/WebsiteDataStore.cpp: 21 (WebKit::WebsiteDataStore::fetchDataAndApply): 22 (WebKit::WebsiteDataStore::removeData): 23 1 24 2017-07-01 Ryosuke Niwa <rniwa@webkit.org> 2 25 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm
r218760 r219052 390 390 } 391 391 392 - (void)_terminateNetworkProcess 393 { 394 _processPool->terminateNetworkProcess(); 395 } 396 392 397 - (void)_syncNetworkProcessCookies 393 398 { -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
r218760 r219052 74 74 // Test only. Should be called only while no web content processes are running. 75 75 - (void)_terminateDatabaseProcess; 76 - (void)_terminateNetworkProcess; 76 77 77 78 // Test only. -
trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp
r218499 r219052 416 416 } 417 417 418 NetworkProcessProxy& WebProcessPool::ensureNetworkProcess() 419 { 420 if (m_networkProcess) 418 NetworkProcessProxy& WebProcessPool::ensureNetworkProcess(WebsiteDataStore* withWebsiteDataStore) 419 { 420 if (m_networkProcess) { 421 if (withWebsiteDataStore) 422 m_networkProcess->send(Messages::NetworkProcess::AddWebsiteDataStore(withWebsiteDataStore->parameters()), 0); 421 423 return *m_networkProcess; 424 } 422 425 423 426 m_networkProcess = NetworkProcessProxy::create(*this); … … 481 484 process->reinstateNetworkProcessAssertionState(*m_networkProcess); 482 485 } 486 487 if (withWebsiteDataStore) 488 m_networkProcess->send(Messages::NetworkProcess::AddWebsiteDataStore(withWebsiteDataStore->parameters()), 0); 483 489 484 490 return *m_networkProcess; -
trunk/Source/WebKit2/UIProcess/WebProcessPool.h
r218499 r219052 314 314 315 315 // Network Process Management 316 NetworkProcessProxy& ensureNetworkProcess( );316 NetworkProcessProxy& ensureNetworkProcess(WebsiteDataStore* withWebsiteDataStore = nullptr); 317 317 NetworkProcessProxy* networkProcess() { return m_networkProcess.get(); } 318 318 void networkProcessCrashed(NetworkProcessProxy*); -
trunk/Source/WebKit2/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
r216977 r219052 52 52 WebsiteDataStoreParameters WebsiteDataStore::parameters() 53 53 { 54 resolveDirectoriesIfNecessary(); 55 54 56 WebsiteDataStoreParameters parameters; 55 56 57 parameters.sessionID = m_sessionID; 57 58 -
trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp
r219025 r219052 329 329 330 330 case ProcessAccessType::Launch: 331 processPool->ensureNetworkProcess( );331 processPool->ensureNetworkProcess(this); 332 332 break; 333 333 … … 648 648 649 649 case ProcessAccessType::Launch: 650 processPool->ensureNetworkProcess( );650 processPool->ensureNetworkProcess(this); 651 651 break; 652 652 … … 897 897 898 898 case ProcessAccessType::Launch: 899 processPool->ensureNetworkProcess( );899 processPool->ensureNetworkProcess(this); 900 900 break; 901 901 -
trunk/Tools/ChangeLog
r219050 r219052 1 2017-07-01 Brady Eidson <beidson@apple.com> 2 3 When setting a custom cookie storage location on a WKWebsiteDataStore, cookies aren't actually removed. 4 <rdar://problem/32410662> and https://bugs.webkit.org/show_bug.cgi?id=174035 5 6 Reviewed by Alex Christensen. 7 8 * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: 9 1 10 2017-07-01 Dan Bernstein <mitz@apple.com> 2 11 -
trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm
r216711 r219052 171 171 172 172 EXPECT_FALSE([[NSFileManager defaultManager] fileExistsAtPath:fileIDBPath.get().path]); 173 174 // Now, with brand new WKWebsiteDataStores pointing at the same custom cookie storage location, 175 // in newly fired up NetworkProcesses, verify that the fetch and delete APIs work as expected. 176 177 [processPool _terminateNetworkProcess]; 178 auto newCustomDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration:websiteDataStoreConfiguration.get()]); 179 180 [newCustomDataStore fetchDataRecordsOfTypes:[NSSet setWithObjects:WKWebsiteDataTypeCookies, nil] completionHandler:^(NSArray<WKWebsiteDataRecord *> * records) { 181 EXPECT_GT([records count], (unsigned long)0); 182 receivedScriptMessage = true; 183 }]; 184 185 receivedScriptMessage = false; 186 TestWebKitAPI::Util::run(&receivedScriptMessage); 187 188 [processPool _terminateNetworkProcess]; 189 newCustomDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration:websiteDataStoreConfiguration.get()]); 190 191 [newCustomDataStore removeDataOfTypes:[NSSet setWithObjects:WKWebsiteDataTypeCookies, nil] modifiedSince:[NSDate distantPast] completionHandler:^ { 192 receivedScriptMessage = true; 193 }]; 194 195 receivedScriptMessage = false; 196 TestWebKitAPI::Util::run(&receivedScriptMessage); 197 198 // This time, reuse the same network process but still do a new websitedatastore, to make sure even an existing network process 199 // gets the new datastore. 200 newCustomDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration:websiteDataStoreConfiguration.get()]); 201 202 [newCustomDataStore fetchDataRecordsOfTypes:[NSSet setWithObjects:WKWebsiteDataTypeCookies, nil] completionHandler:^(NSArray<WKWebsiteDataRecord *> * records) { 203 EXPECT_EQ([records count], (unsigned long)0); 204 receivedScriptMessage = true; 205 }]; 206 207 receivedScriptMessage = false; 208 TestWebKitAPI::Util::run(&receivedScriptMessage); 173 209 } 174 210
Note: See TracChangeset
for help on using the changeset viewer.