mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
browser(webkit): give access to intercepted response body (#7954)
This commit is contained in:
parent
29f6dd3090
commit
961724d704
@ -1,2 +1,2 @@
|
||||
1523
|
||||
Changed: max@schmitt.mx Wed Jul 28 20:26:16 UTC 2021
|
||||
1524
|
||||
Changed: yurys@chromium.org Mon 02 Aug 2021 03:47:03 PM PDT
|
||||
|
@ -20303,10 +20303,39 @@ index ca2349958666a801b0e0a6bd767dbbcccfb716ae..b5529ff5a2e2fa97bccc21f88689624b
|
||||
|
||||
} // namespace WebKit
|
||||
diff --git a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp
|
||||
index ecd4052eac038028255a786236e1969853afa1d8..2adc87a59c12d15c651909e67670ac354b59092b 100644
|
||||
index ecd4052eac038028255a786236e1969853afa1d8..67953f6ed903afe668ce67538834f2fee6a2f449 100644
|
||||
--- a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp
|
||||
+++ b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp
|
||||
@@ -196,6 +196,7 @@ void WebResourceLoader::didReceiveData(const IPC::DataReference& data, int64_t e
|
||||
@@ -155,17 +155,14 @@ void WebResourceLoader::didReceiveResponse(const ResourceResponse& response, boo
|
||||
if (InspectorInstrumentationWebKit::shouldInterceptResponse(m_coreLoader->frame(), response)) {
|
||||
unsigned long interceptedRequestIdentifier = m_coreLoader->identifier();
|
||||
m_interceptController.beginInterceptingResponse(interceptedRequestIdentifier);
|
||||
- InspectorInstrumentationWebKit::interceptResponse(m_coreLoader->frame(), response, interceptedRequestIdentifier, [this, protectedThis = makeRef(*this), interceptedRequestIdentifier, policyDecisionCompletionHandler = WTFMove(policyDecisionCompletionHandler)](const ResourceResponse& inspectorResponse, RefPtr<SharedBuffer> overrideData) mutable {
|
||||
+ InspectorInstrumentationWebKit::interceptResponse(m_coreLoader->frame(), response, interceptedRequestIdentifier, [this, protectedThis = makeRef(*this), interceptedRequestIdentifier](const ResourceResponse& inspectorResponse, RefPtr<SharedBuffer> overrideData) mutable {
|
||||
if (!m_coreLoader || !m_coreLoader->identifier()) {
|
||||
WEBRESOURCELOADER_RELEASE_LOG("didReceiveResponse: not continuing intercept load because no coreLoader or no ID");
|
||||
m_interceptController.continueResponse(interceptedRequestIdentifier);
|
||||
return;
|
||||
}
|
||||
|
||||
- m_coreLoader->didReceiveResponse(inspectorResponse, [this, protectedThis = WTFMove(protectedThis), interceptedRequestIdentifier, policyDecisionCompletionHandler = WTFMove(policyDecisionCompletionHandler), overrideData = WTFMove(overrideData)]() mutable {
|
||||
- if (policyDecisionCompletionHandler)
|
||||
- policyDecisionCompletionHandler();
|
||||
-
|
||||
+ m_coreLoader->didReceiveResponse(inspectorResponse, [this, protectedThis = WTFMove(protectedThis), interceptedRequestIdentifier, overrideData = WTFMove(overrideData)]() mutable {
|
||||
if (!m_coreLoader || !m_coreLoader->identifier()) {
|
||||
m_interceptController.continueResponse(interceptedRequestIdentifier);
|
||||
return;
|
||||
@@ -183,6 +180,8 @@ void WebResourceLoader::didReceiveResponse(const ResourceResponse& response, boo
|
||||
}
|
||||
});
|
||||
});
|
||||
+ if (policyDecisionCompletionHandler)
|
||||
+ policyDecisionCompletionHandler();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -196,6 +195,7 @@ void WebResourceLoader::didReceiveData(const IPC::DataReference& data, int64_t e
|
||||
|
||||
if (UNLIKELY(m_interceptController.isIntercepting(m_coreLoader->identifier()))) {
|
||||
auto buffer = SharedBuffer::create(data.data(), data.size());
|
||||
@ -20314,7 +20343,7 @@ index ecd4052eac038028255a786236e1969853afa1d8..2adc87a59c12d15c651909e67670ac35
|
||||
m_interceptController.defer(m_coreLoader->identifier(), [this, protectedThis = makeRef(*this), buffer = WTFMove(buffer), encodedDataLength]() mutable {
|
||||
if (m_coreLoader)
|
||||
didReceiveData({ buffer->data(), buffer->size() }, encodedDataLength);
|
||||
@@ -216,6 +217,7 @@ void WebResourceLoader::didFinishResourceLoad(const NetworkLoadMetrics& networkL
|
||||
@@ -216,6 +216,7 @@ void WebResourceLoader::didFinishResourceLoad(const NetworkLoadMetrics& networkL
|
||||
WEBRESOURCELOADER_RELEASE_LOG("didFinishResourceLoad: (length=%zd)", m_numBytesReceived);
|
||||
|
||||
if (UNLIKELY(m_interceptController.isIntercepting(m_coreLoader->identifier()))) {
|
||||
@ -20322,7 +20351,7 @@ index ecd4052eac038028255a786236e1969853afa1d8..2adc87a59c12d15c651909e67670ac35
|
||||
m_interceptController.defer(m_coreLoader->identifier(), [this, protectedThis = makeRef(*this), networkLoadMetrics]() mutable {
|
||||
if (m_coreLoader)
|
||||
didFinishResourceLoad(networkLoadMetrics);
|
||||
@@ -259,6 +261,7 @@ void WebResourceLoader::didFailResourceLoad(const ResourceError& error)
|
||||
@@ -259,6 +260,7 @@ void WebResourceLoader::didFailResourceLoad(const ResourceError& error)
|
||||
WEBRESOURCELOADER_RELEASE_LOG("didFailResourceLoad:");
|
||||
|
||||
if (UNLIKELY(m_interceptController.isIntercepting(m_coreLoader->identifier()))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user