| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="../resources/inspector-test.js"></script> |
| <script> |
| function test() |
| { |
| let suite = InspectorTest.createAsyncSuite("Network.interceptRequestWithResponse"); |
| |
| suite.addTestCase({ |
| name: "Network.interceptRequest.Subresource with response", |
| description: "Subresource uses request interception with response", |
| async test() { |
| await NetworkAgent.addInterception.invoke({ |
| url: "http://127.0.0.1:8000/inspector/network/resources/override.js", |
| stage: InspectorBackend.Enum.Network.NetworkStage.Request, |
| }); |
| |
| WI.networkManager.singleFireEventListener(WI.NetworkManager.Event.RequestIntercepted, (event) => { |
| let {target, requestId, request} = event.data; |
| NetworkAgent.interceptRequestWithResponse.invoke({ |
| requestId, |
| mimeType: "text/javascript", |
| content: `alert("OVERRIDDEN override.js TEXT"); TestPage.dispatchEventToFrontend("OverrideContentDidLoad");`, |
| base64Encoded: false, |
| status: 200, |
| statusText: "OK", |
| headers: {}, |
| }); |
| }); |
| |
| await InspectorTest.reloadPage({ignoreCache: false, revalidateAllResources: true}); |
| await InspectorTest.awaitEvent("OverrideContentDidLoad"); |
| } |
| }); |
| |
| suite.runTestCasesAndFinish(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Test request interception with response for the subresource load.</p> |
| <script src="resources/override.js"></script> |
| </body> |
| </html> |