Changeset 240247 in webkit
- Timestamp:
- Jan 21, 2019 5:55:47 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r240243 r240247 1 2019-01-21 Brent Fulgham <bfulgham@apple.com> 2 3 Unreviewed test fix after r240243 4 Nhttps://bugs.webkit.org/show_bug.cgi?id=193660 5 <rdar://problem/47433602> 6 7 The new ResourceLoadStatistics section of 'removeData' was incrementing the 8 pending callback count before deciding whether to send a message to delete 9 data. This left the count out-of-balance leading to the operation never 10 completing. 11 12 This patch also prevents sending a second message to the NetworkProcess 13 requesting data be deleted if the message was already sent in an earlier 14 section of the method (e.g., as typically happens when all website data 15 is being deleted). 16 17 * UIProcess/WebsiteData/WebsiteDataStore.cpp: 18 (WebKit::WebsiteDataStore::removeData): 19 1 20 2019-01-21 Brent Fulgham <bfulgham@apple.com> 2 21 -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
r240243 r240247 758 758 #endif 759 759 760 bool didNotifyNetworkProcessToDeleteWebsiteData = false; 760 761 auto networkProcessAccessType = computeNetworkProcessAccessTypeForDataRemoval(dataTypes, !isPersistent()); 761 762 if (networkProcessAccessType != ProcessAccessType::None) { … … 779 780 callbackAggregator->removePendingCallback(); 780 781 }); 782 didNotifyNetworkProcessToDeleteWebsiteData = true; 781 783 } 782 784 } … … 939 941 auto shouldGrandfather = ((monitoredTypesRaw & deletedTypesRaw) == monitoredTypesRaw) ? ShouldGrandfather::No : ShouldGrandfather::Yes; 940 942 941 callbackAggregator->addPendingCallback();942 943 943 if (m_resourceLoadStatistics) { 944 callbackAggregator->addPendingCallback(); 944 945 m_resourceLoadStatistics->scheduleClearInMemoryAndPersistent(modifiedSince, shouldGrandfather, [callbackAggregator] { 945 946 callbackAggregator->removePendingCallback(); 946 947 }); 947 } else {948 } else if (!didNotifyNetworkProcessToDeleteWebsiteData) { 948 949 for (auto& processPool : processPools()) { 949 950 if (auto* process = processPool->networkProcess()) { 951 callbackAggregator->addPendingCallback(); 950 952 process->deleteWebsiteData(m_sessionID, dataTypes, modifiedSince, [callbackAggregator] { 951 953 callbackAggregator->removePendingCallback();
Note: See TracChangeset
for help on using the changeset viewer.