Changeset 294692 in webkit
- Timestamp:
- May 23, 2022, 4:25:36 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/loader/cache/CachedRawResource.cpp
r292801 r294692 151 151 return completionHandler({ }); 152 152 auto redirectPair = redirectsInReverseOrder.takeLast(); 153 client.redirectReceived(*handle, WTFMove(redirectPair.first), WTFMove(redirectPair.second), [handle = WTFMove(handle), client = &client, redirectsInReverseOrder = WTFMove(redirectsInReverseOrder), completionHandler = WTFMove(completionHandler)] (ResourceRequest&&) mutable {153 client.redirectReceived(*handle, WTFMove(redirectPair.first), WTFMove(redirectPair.second), [handle = WTFMove(handle), client = WeakPtr { client }, redirectsInReverseOrder = WTFMove(redirectsInReverseOrder), completionHandler = WTFMove(completionHandler)] (ResourceRequest&&) mutable { 154 154 // Ignore the new request because we can't do anything with it. 155 155 // We're just replying a redirect chain that has already happened. 156 if (!client) 157 return completionHandler({ }); 156 158 iterateRedirects(WTFMove(handle), *client, WTFMove(redirectsInReverseOrder), WTFMove(completionHandler)); 157 159 }); … … 168 170 redirectsInReverseOrder.uncheckedAppend(std::make_pair(pair.m_request, pair.m_redirectResponse)); 169 171 } 170 iterateRedirects(CachedResourceHandle<CachedRawResource>(this), client, WTFMove(redirectsInReverseOrder), [this, protectedThis = CachedResourceHandle<CachedRawResource>(this), client = &client] (ResourceRequest&&) mutable {171 if (! hasClient(*client))172 iterateRedirects(CachedResourceHandle<CachedRawResource>(this), client, WTFMove(redirectsInReverseOrder), [this, protectedThis = CachedResourceHandle<CachedRawResource>(this), client = WeakPtr { client }] (ResourceRequest&&) mutable { 173 if (!client || !hasClient(*client)) 172 174 return; 173 175 auto responseProcessedHandler = [this, protectedThis = WTFMove(protectedThis), client] { 174 if (! hasClient(*client))176 if (!client || !hasClient(*client)) 175 177 return; 176 178 if (m_data) { 177 179 m_data->forEachSegmentAsSharedBuffer([&](auto&& buffer) { 178 if ( hasClient(*client))180 if (!client || hasClient(*client)) 179 181 client->dataReceived(*this, buffer); 180 182 }); 181 183 } 182 if (! hasClient(*client))184 if (!client || !hasClient(*client)) 183 185 return; 184 186 CachedResource::didAddClient(*client);
Note:
See TracChangeset
for help on using the changeset viewer.