From 0327cc5be743872a814f9f584fd65611b3b4c07b Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Wed, 2 Oct 2019 03:43:10 +0000 Subject: [PATCH] Bug 1404917 - Fetch response content only on-demand. r=Honza Response content should only be fetched whenever it is strictly needed as it is the response body. A possibly very large string. So, netmonitor UI should only retrieve it when users select the Response Panel or do any other action that require having access to it (like "Copy response" context menu). MozReview-Commit-ID: CtpJ8PKsCsm UltraBlame original commit: 291c051b786140efc73bb0f617cf4c07316492d8 --- .../src/components/RequestListContent.js | 5 + .../src/components/RequestListItem.js | 3 - .../src/components/ResponsePanel.js | 86 ++ .../netmonitor/src/components/TabboxPanel.js | 1 + .../src/connector/firefox-connector.js | 31 + .../src/connector/firefox-data-provider.js | 1023 ++++++++--------- .../client/netmonitor/src/connector/index.js | 31 + devtools/client/netmonitor/src/constants.js | 2 +- .../netmonitor/src/har/har-automation.js | 3 + .../client/netmonitor/src/har/har-builder.js | 52 +- .../netmonitor/src/har/test/browser.ini | 30 + .../test/browser_net_har_copy_all_as_har.js | 2 + .../src/har/test/browser_net_har_post_data.js | 2 + .../test/browser_net_har_post_data_on_get.js | 2 + .../test/browser_net_har_throttle_upload.js | 2 + .../netmonitor/src/reducers/requests.js | 3 + .../src/request-list-context-menu.js | 127 +- devtools/client/netmonitor/test/browser.ini | 5 + .../netmonitor/test/browser_net_autoscroll.js | 26 + .../netmonitor/test/browser_net_brotli.js | 17 + .../netmonitor/test/browser_net_clear.js | 48 +- .../test/browser_net_content-type.js | 163 +-- .../test/browser_net_headers-alignment.js | 27 + .../test/browser_net_resend_cors.js | 47 +- .../test/browser_net_security-error.js | 9 - .../test/browser_net_security-state.js | 35 - .../browser_net_security-tab-visibility.js | 9 - .../test/browser_net_simple-request-data.js | 119 +- .../test/browser_net_streaming-response.js | 134 +-- devtools/client/netmonitor/test/head.js | 291 ++++- .../test/html_infinite-get-page.html | 33 + .../client/netmonitor/test/shared-head.js | 219 ++++ devtools/client/styleeditor/test/browser.ini | 15 + .../browser_styleeditor_fetch-from-cache.js | 40 + .../message-types/NetworkEventMessage.js | 19 + .../new-console-output-wrapper.js | 20 + .../webconsole/new-console-output/store.js | 6 + ...ser_netmonitor_shows_reqs_in_webconsole.js | 6 + .../browser_webconsole_network_attach.js | 6 + ...r_webconsole_network_messages_openinnet.js | 15 + .../new-console-output/test/mochitest/head.js | 34 + ...ser_netmonitor_shows_reqs_in_webconsole.js | 40 + .../browser_webconsole_netlogging_panel.js | 44 +- ...wser_webconsole_netlogging_reset_filter.js | 44 +- 44 files changed, 1757 insertions(+), 1119 deletions(-) create mode 100644 devtools/client/netmonitor/test/shared-head.js diff --git a/devtools/client/netmonitor/src/components/RequestListContent.js b/devtools/client/netmonitor/src/components/RequestListContent.js index 0389938b65e9f..f4e251237578f 100644 --- a/devtools/client/netmonitor/src/components/RequestListContent.js +++ b/devtools/client/netmonitor/src/components/RequestListContent.js @@ -448,6 +448,11 @@ connector open ) ) +requestData +: +connector +. +requestData } ) ; diff --git a/devtools/client/netmonitor/src/components/RequestListItem.js b/devtools/client/netmonitor/src/components/RequestListItem.js index d999db0442f58..d3ccde4cce8f0 100644 --- a/devtools/client/netmonitor/src/components/RequestListItem.js +++ b/devtools/client/netmonitor/src/components/RequestListItem.js @@ -399,9 +399,6 @@ eventTimings securityState " " -responseContentDataUri -" -" status " " diff --git a/devtools/client/netmonitor/src/components/ResponsePanel.js b/devtools/client/netmonitor/src/components/ResponsePanel.js index f1b56c077f7e1..49bcccafbffa4 100644 --- a/devtools/client/netmonitor/src/components/ResponsePanel.js +++ b/devtools/client/netmonitor/src/components/ResponsePanel.js @@ -242,6 +242,13 @@ openLink PropTypes . func +connector +: +PropTypes +. +object +. +isRequired } ; } @@ -299,6 +306,85 @@ this ) ; } +componentDidMount +( +) +{ +this +. +maybeFetchResponseContent +( +this +. +props +) +; +} +componentWillReceiveProps +( +nextProps +) +{ +this +. +maybeFetchResponseContent +( +nextProps +) +; +} +maybeFetchResponseContent +( +props +) +{ +if +( +props +. +request +. +responseContentAvailable +& +& +( +! +props +. +request +. +responseContent +| +| +! +props +. +request +. +responseContent +. +content +) +) +{ +props +. +connector +. +requestData +( +props +. +request +. +id +" +responseContent +" +) +; +} +} updateImageDimemsions ( { diff --git a/devtools/client/netmonitor/src/components/TabboxPanel.js b/devtools/client/netmonitor/src/components/TabboxPanel.js index 85e4d8fcaed95..4b0e46e91a39d 100644 --- a/devtools/client/netmonitor/src/components/TabboxPanel.js +++ b/devtools/client/netmonitor/src/components/TabboxPanel.js @@ -476,6 +476,7 @@ ResponsePanel { request openLink +connector } ) ) diff --git a/devtools/client/netmonitor/src/connector/firefox-connector.js b/devtools/client/netmonitor/src/connector/firefox-connector.js index 6d561338c464c..eb296f11fec75 100644 --- a/devtools/client/netmonitor/src/connector/firefox-connector.js +++ b/devtools/client/netmonitor/src/connector/firefox-connector.js @@ -202,6 +202,19 @@ this ; this . +requestData += +this +. +requestData +. +bind +( +this +) +; +this +. getLongString = this @@ -1255,6 +1268,24 @@ sourceLine ; } } +requestData +( +request +type +) +{ +return +this +. +dataProvider +. +requestData +( +request +type +) +; +} } module . diff --git a/devtools/client/netmonitor/src/connector/firefox-data-provider.js b/devtools/client/netmonitor/src/connector/firefox-data-provider.js index 25f2959da222e..20a4c7ee71c59 100644 --- a/devtools/client/netmonitor/src/connector/firefox-data-provider.js +++ b/devtools/client/netmonitor/src/connector/firefox-data-provider.js @@ -97,6 +97,15 @@ Map ; this . +lazyRequestData += +new +Map +( +) +; +this +. getLongString = this @@ -303,6 +312,9 @@ id payload ) ; +return +payload +; } async fetchResponseContent @@ -905,31 +917,79 @@ false ; } let -props +{ +payload +} = -Object +this . -getOwnPropertyNames +getRequestFromQueue ( -record +id ) ; return -props +record +. +requestHeaders +& +& +record +. +requestCookies +& +& +record +. +eventTimings +& +& +( +record . -every +securityInfo +| +| +record +. +fromServiceWorker +) +& +& +( ( -prop -= -> record -[ -prop -] -= +. +responseHeaders +& +& +record +. +responseCookies +) +| +| +payload +. +securityState = = -true +" +broken +" +| +| +( +payload +. +responseContentAvailable +& +& +! +payload +. +status +) ) ; } @@ -1085,12 +1145,19 @@ false requestCookies : false -eventTimings +responseHeaders : false -responseContent +responseCookies +: +false +securityInfo : false +eventTimings +: +false +fromServiceWorker } ) ; @@ -1147,6 +1214,22 @@ updateType = packet ; +if +( +! +this +. +rdpRequestMap +. +has +( +actor +) +) +{ +return +; +} switch ( updateType @@ -1157,79 +1240,53 @@ case requestHeaders " : +case +" +requestCookies +" +: +case +" +requestPostData +" +: +case +" +responseHeaders +" +: +case +" +responseCookies +" +: this . -requestData -( -actor -updateType -) -. -then -( -response -= -> -{ -this -. -onRequestHeaders -( -response -) -. -then -( -( -) -= -> -this -. -onDataReceived +requestPayloadData ( actor updateType ) -) -; -emit -( -EVENTS -. -UPDATING_REQUEST_HEADERS -actor -) -; -} -) ; break ; case " -requestCookies +securityInfo " : this . -requestData +updateRequest ( actor -updateType -) -. -then -( -response -= -> { -this +securityState +: +networkInfo . -onRequestCookies -( -response +securityInfo +} ) . then @@ -1238,22 +1295,14 @@ then ) = > +{ this . -onDataReceived +requestPayloadData ( actor updateType ) -) -; -emit -( -EVENTS -. -UPDATING_REQUEST_COOKIES -actor -) ; } ) @@ -1262,28 +1311,58 @@ break ; case " -requestPostData +responseStart " : this . -requestData +updateRequest ( actor -updateType -) +{ +httpVersion +: +networkInfo . -then -( response -= -> -{ -this . -onRequestPostData -( +httpVersion +remoteAddress +: +networkInfo +. +response +. +remoteAddress +remotePort +: +networkInfo +. +response +. +remotePort +status +: +networkInfo +. response +. +status +statusText +: +networkInfo +. +response +. +statusText +headersSize +: +networkInfo +. +response +. +headersSize +} ) . then @@ -1292,20 +1371,12 @@ then ) = > -this -. -onDataReceived -( -actor -updateType -) -) -; +{ emit ( EVENTS . -UPDATING_REQUEST_POST_DATA +STARTED_RECEIVING_RESPONSE actor ) ; @@ -1316,7 +1387,7 @@ break ; case " -securityInfo +responseContent " : this @@ -1325,68 +1396,32 @@ updateRequest ( actor { -securityState +contentSize : networkInfo . -securityInfo -} -) -. -then -( -( -) -= -> -{ -this +response . -requestData -( -actor -updateType -) +bodySize +transferredSize +: +networkInfo . -then -( response -= -> -{ -this . -onSecurityInfo -( -response -) +transferredSize +mimeType +: +networkInfo . -then -( -( -) -= -> -this +response . -onDataReceived -( -actor -updateType -) -) -; -emit -( -EVENTS +content . -UPDATING_SECURITY_INFO -actor -) -; -} -) -; +mimeType +responseContentAvailable +: +true } ) ; @@ -1394,28 +1429,21 @@ break ; case " -responseHeaders +eventTimings " : this . -requestData +updateRequest ( actor -updateType -) -. -then -( -response -= -> { -this +totalTime +: +networkInfo . -onResponseHeaders -( -response +totalTime +} ) . then @@ -1424,137 +1452,71 @@ then ) = > +{ this . -onDataReceived +requestPayloadData ( actor updateType ) +; +} ) ; +break +; +} emit ( EVENTS . -UPDATING_RESPONSE_HEADERS +NETWORK_EVENT_UPDATED actor ) ; } -) -; -break -; -case -" -responseCookies -" -: -this -. -requestData +requestPayloadData ( actor -updateType +method ) -. -then -( -response -= -> { -this -. -onResponseCookies -( -response -) -. -then -( -( -) +let +record = -> this . -onDataReceived +rdpRequestMap +. +get ( actor -updateType -) ) ; -emit +if ( -EVENTS -. -UPDATING_RESPONSE_COOKIES -actor +record +[ +method +] ) +{ +return ; } -) -; -break -; -case -" -responseStart -" -: +let +promise += this . -updateRequest +_requestData ( actor -{ -httpVersion -: -networkInfo -. -response -. -httpVersion -remoteAddress -: -networkInfo -. -response -. -remoteAddress -remotePort -: -networkInfo -. -response -. -remotePort -status -: -networkInfo -. -response -. -status -statusText -: -networkInfo -. -response -. -statusText -headersSize -: -networkInfo -. -response -. -headersSize -} +method ) +; +promise . then ( @@ -1563,234 +1525,262 @@ then = > { -emit -( -EVENTS +record +[ +method +] += +true +; +this . -STARTED_RECEIVING_RESPONSE +onPayloadDataReceived +( actor +method +! +record ) ; } ) ; -break -; -case -" -responseContent -" -: -this -. -requestData +} +async +onPayloadDataReceived ( actor -updateType +type ) -. -then -( -response -= -> { +if +( this . -onResponseContent +isRequestPayloadReady ( +actor +) +) { -contentSize -: -networkInfo -. -response -. -bodySize -transferredSize -: -networkInfo -. -response -. -transferredSize -mimeType -: -networkInfo +let +payloadFromQueue += +this . -response +getRequestFromQueue +( +actor +) . -content +payload +; +this . -mimeType -} -response +cleanUpQueue +( +actor ) +; +this . -then -( +rdpRequestMap +. +delete ( +actor ) +; +let +{ +updateRequest +} = -> this . -onDataReceived +actions +; +if ( -actor -updateType +updateRequest ) +{ +await +updateRequest +( +actor +payloadFromQueue +true ) ; +} emit ( EVENTS . -UPDATING_RESPONSE_CONTENT +PAYLOAD_READY actor ) ; } +} +requestData +( +actor +method ) -; -break -; -case +{ +let +key += +actor ++ " -eventTimings +- " -: ++ +method +; +let +promise += this . -updateRequest -( -actor -{ -totalTime -: -networkInfo -. -totalTime -} -) +lazyRequestData . -then +get ( +key +) +; +if ( +promise ) -= -> { +return +promise +; +} +promise += this . -requestData +_requestData ( actor -updateType +method ) -. -then -( -response -= -> -{ +; this . -onEventTimings +lazyRequestData +. +set ( -response +key +promise ) +; +promise . then ( +async ( ) = > +{ this . -onDataReceived +lazyRequestData +. +delete ( -actor -updateType -) +key +promise ) ; -emit -( -EVENTS +let +payloadFromQueue += +this . -UPDATING_EVENT_TIMINGS -actor -) -; -} -) -; -} -) -; -break -; -} -emit +getRequestFromQueue ( -EVENTS -. -NETWORK_EVENT_UPDATED actor ) +. +payload ; -} -requestData -( -actor -method -) -{ let -record +{ +updateRequest +} = this . -rdpRequestMap -. -get -( -actor -) +actions ; if ( -! -record +updateRequest +) +{ +await +updateRequest +( +actor +payloadFromQueue +true ) -{ -record -= -{ +; } +} +) +; +return +promise ; } -if +async +_requestData ( -record -. +actor method ) { -return -record +let +clientMethodName += +" +get +" ++ +method +. +charAt +( +0 +) . +toUpperCase +( +) ++ method +. +slice +( +1 +) ; -} let -realMethodName +callbackMethodName = " -get +on " + method @@ -1812,18 +1802,36 @@ slice ) ; let -promise +updatingEventName = -new -Promise +" +UPDATING_ +" ++ +method +. +replace ( +/ ( -resolve -reject +[ +A +- +Z +] ) -= -> -{ +/ +g +" +_ +1 +" +) +. +toUpperCase +( +) +; if ( typeof @@ -1831,7 +1839,7 @@ this . webConsoleClient [ -realMethodName +clientMethodName ] = = @@ -1840,31 +1848,45 @@ function " ) { +emit +( +EVENTS +[ +updatingEventName +] +actor +) +; +let +response += +await this . webConsoleClient [ -realMethodName +clientMethodName ] ( actor +) +; response = -> -{ -resolve +await +this +[ +callbackMethodName +] ( response ) ; -} -) +return +response ; } -else -{ -reject -( +throw new Error ( @@ -1875,129 +1897,18 @@ No such client method +' +" ++ +clientMethodName ++ +" +' ! " ) -) -; -} -} -) -; -record -[ -method -] -= -promise -; -return -promise -; -} -async -onDataReceived -( -actor -type -) -{ -let -record -= -this -. -rdpRequestMap -. -get -( -actor -) -; -if -( -record -) -{ -record -[ -type -] -= -true -; -} -if -( -this -. -isRequestPayloadReady -( -actor -) -) -{ -let -payloadFromQueue -= -this -. -getRequestFromQueue -( -actor -) -. -payload -; -this -. -cleanUpQueue -( -actor -) -; -this -. -rdpRequestMap -. -delete -( -actor -) -; -let -{ -updateRequest -} -= -this -. -actions -; -if -( -updateRequest -) -{ -await -updateRequest -( -actor -payloadFromQueue -true -) -; -} -emit -( -EVENTS -. -PAYLOAD_READY -actor -) ; } -} onRequestHeaders ( response @@ -2246,28 +2157,16 @@ from ) ; } +async onResponseContent ( -data response ) { let payload = -Object -. -assign -( -{ -responseContent -: -response -} -data -) -; -return +await this . updateRequest @@ -2275,16 +2174,20 @@ updateRequest response . from -payload -) +{ +mimeType +: +response . -then -( -( +content +. +mimeType +responseContent +: +response +} ) -= -> -{ +; emit ( EVENTS @@ -2295,8 +2198,10 @@ response from ) ; -} -) +return +payload +. +responseContent ; } onEventTimings diff --git a/devtools/client/netmonitor/src/connector/index.js b/devtools/client/netmonitor/src/connector/index.js index 97000ba4dc2c1..922689dfc166a 100644 --- a/devtools/client/netmonitor/src/connector/index.js +++ b/devtools/client/netmonitor/src/connector/index.js @@ -159,6 +159,19 @@ bind this ) ; +this +. +requestData += +this +. +requestData +. +bind +( +this +) +; } connect ( @@ -478,6 +491,24 @@ arguments ) ; } +requestData +( +) +{ +return +this +. +connector +. +requestData +( +. +. +. +arguments +) +; +} } module . diff --git a/devtools/client/netmonitor/src/constants.js b/devtools/client/netmonitor/src/constants.js index c5555b6424c9d..1f7c6997d139a 100644 --- a/devtools/client/netmonitor/src/constants.js +++ b/devtools/client/netmonitor/src/constants.js @@ -432,7 +432,7 @@ responseCookies responseContent " " -responseContentDataUri +responseContentAvailable " " formDataSections diff --git a/devtools/client/netmonitor/src/har/har-automation.js b/devtools/client/netmonitor/src/har/har-automation.js index 9f690ecf5e82a..0ac8c4da83a6d 100644 --- a/devtools/client/netmonitor/src/har/har-automation.js +++ b/devtools/client/netmonitor/src/har/har-automation.js @@ -572,6 +572,9 @@ let options = { +requestData +: +null getString : this diff --git a/devtools/client/netmonitor/src/har/har-builder.js b/devtools/client/netmonitor/src/har/har-builder.js index bfb3bbe74e2e2..5383e3094685c 100644 --- a/devtools/client/netmonitor/src/har/har-builder.js +++ b/devtools/client/netmonitor/src/har/har-builder.js @@ -133,6 +133,7 @@ prototype { build : +async function ( ) @@ -171,6 +172,7 @@ entries . push ( +await this . buildEntry @@ -181,7 +183,7 @@ file ) ; } -return +await Promise . all @@ -190,19 +192,11 @@ this . promises ) -. -then -( -( -) -= -> -( +; +return { log } -) -) ; } buildLog @@ -369,6 +363,7 @@ page } buildEntry : +async function ( log @@ -442,6 +437,7 @@ entry . response = +await this . buildResponse @@ -1167,6 +1163,7 @@ postData } buildResponse : +async function ( file @@ -1260,6 +1257,7 @@ response . content = +await this . buildContent @@ -1357,6 +1355,7 @@ response } buildContent : +async function ( file @@ -1386,6 +1385,37 @@ responseContent ; if ( +! +responseContent +& +& +this +. +_options +. +requestData +) +{ +responseContent += +await +this +. +_options +. +requestData +( +file +. +id +" +responseContent +" +) +; +} +if +( responseContent & & diff --git a/devtools/client/netmonitor/src/har/test/browser.ini b/devtools/client/netmonitor/src/har/test/browser.ini index a70a0febc23e7..116c2cd672988 100644 --- a/devtools/client/netmonitor/src/har/test/browser.ini +++ b/devtools/client/netmonitor/src/har/test/browser.ini @@ -72,6 +72,36 @@ devtools / client / +framework +/ +test +/ +shared +- +head +. +js +! +/ +devtools +/ +client +/ +netmonitor +/ +test +/ +shared +- +head +. +js +! +/ +devtools +/ +client +/ netmonitor / test diff --git a/devtools/client/netmonitor/src/har/test/browser_net_har_copy_all_as_har.js b/devtools/client/netmonitor/src/har/test/browser_net_har_copy_all_as_har.js index d9a82e66038ce..4720773f43a94 100644 --- a/devtools/client/netmonitor/src/har/test/browser_net_har_copy_all_as_har.js +++ b/devtools/client/netmonitor/src/har/test/browser_net_har_copy_all_as_har.js @@ -108,6 +108,7 @@ let { getLongString getTabTarget +requestData } = connector @@ -153,6 +154,7 @@ RequestListContextMenu { getTabTarget getLongString +requestData } ) ; diff --git a/devtools/client/netmonitor/src/har/test/browser_net_har_post_data.js b/devtools/client/netmonitor/src/har/test/browser_net_har_post_data.js index c9da37fc8f7c8..4df6b74130a51 100644 --- a/devtools/client/netmonitor/src/har/test/browser_net_har_post_data.js +++ b/devtools/client/netmonitor/src/har/test/browser_net_har_post_data.js @@ -104,6 +104,7 @@ let { getLongString getTabTarget +requestData } = connector @@ -168,6 +169,7 @@ RequestListContextMenu { getTabTarget getLongString +requestData } ) ; diff --git a/devtools/client/netmonitor/src/har/test/browser_net_har_post_data_on_get.js b/devtools/client/netmonitor/src/har/test/browser_net_har_post_data_on_get.js index bcc20cc42ec98..7e81f059fe004 100644 --- a/devtools/client/netmonitor/src/har/test/browser_net_har_post_data_on_get.js +++ b/devtools/client/netmonitor/src/har/test/browser_net_har_post_data_on_get.js @@ -104,6 +104,7 @@ let { getLongString getTabTarget +requestData } = connector @@ -167,6 +168,7 @@ RequestListContextMenu { getTabTarget getLongString +requestData } ) ; diff --git a/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js b/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js index 1c7cc1c1b5e04..3d02fb294839d 100644 --- a/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js +++ b/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js @@ -136,6 +136,7 @@ let getLongString getTabTarget setPreferences +requestData } = connector @@ -292,6 +293,7 @@ RequestListContextMenu { getTabTarget getLongString +requestData } ) ; diff --git a/devtools/client/netmonitor/src/reducers/requests.js b/devtools/client/netmonitor/src/reducers/requests.js index 9f8ead9c117e3..a01b5e9633399 100644 --- a/devtools/client/netmonitor/src/reducers/requests.js +++ b/devtools/client/netmonitor/src/reducers/requests.js @@ -172,6 +172,9 @@ undefined responseContent : undefined +responseContentAvailable +: +false responseContentDataUri : undefined diff --git a/devtools/client/netmonitor/src/request-list-context-menu.js b/devtools/client/netmonitor/src/request-list-context-menu.js index 5d7e95d8441d2..20b5c14f01d54 100644 --- a/devtools/client/netmonitor/src/request-list-context-menu.js +++ b/devtools/client/netmonitor/src/request-list-context-menu.js @@ -165,6 +165,7 @@ const getUrlQuery parseQueryString getUrlBaseName +formDataURI } = require @@ -188,6 +189,7 @@ cloneSelectedRequest getLongString getTabTarget openStatistics +requestData } ) { @@ -215,6 +217,12 @@ openStatistics = openStatistics ; +this +. +requestData += +requestData +; } RequestListContextMenu . @@ -803,31 +811,7 @@ selectedRequest & selectedRequest . -responseContent -& -& -selectedRequest -. -responseContent -. -content -. -text -& -& -selectedRequest -. -responseContent -. -content -. -text -. -length -! -= -= -0 +responseContentAvailable ) click : @@ -2202,34 +2186,93 @@ rawHeaders ) ; } +async copyImageAsDataUri ( ) { -copyString +let +responseContent += +await +this +. +requestData ( this . selectedRequest . -responseContentDataUri +id +" +responseContent +" ) ; -} -saveImageAs -( -) +let { +mimeType +} += +this +. +selectedRequest +; let { encoding text } = +responseContent +. +content +; +let +src += +formDataURI +( +mimeType +encoding +text +) +; +copyString +( +src +) +; +} +async +saveImageAs +( +) +{ +let +responseContent += +await +this +. +requestData +( this . selectedRequest . +id +" +responseContent +" +) +; +let +{ +encoding +text +} += responseContent . content @@ -2331,16 +2374,31 @@ document ) ; } +async copyResponse ( ) { -copyString +let +responseContent += +await +this +. +requestData ( this . selectedRequest . +id +" +responseContent +" +) +; +copyString +( responseContent . content @@ -2412,6 +2470,11 @@ url ; return { +requestData +: +this +. +requestData getString : this diff --git a/devtools/client/netmonitor/test/browser.ini b/devtools/client/netmonitor/test/browser.ini index 77eb9d9acb3a1..ca9eea3ed82a4 100644 --- a/devtools/client/netmonitor/test/browser.ini +++ b/devtools/client/netmonitor/test/browser.ini @@ -17,6 +17,11 @@ svg head . js +shared +- +head +. +js html_cause - test diff --git a/devtools/client/netmonitor/test/browser_net_autoscroll.js b/devtools/client/netmonitor/test/browser_net_autoscroll.js index 077469201a713..4a69a9c2599f9 100644 --- a/devtools/client/netmonitor/test/browser_net_autoscroll.js +++ b/devtools/client/netmonitor/test/browser_net_autoscroll.js @@ -17,6 +17,7 @@ requestLongerTimeout ; let { +tab monitor } = @@ -288,6 +289,31 @@ scroll " ) ; +yield +ContentTask +. +spawn +( +tab +. +linkedBrowser +{ +} +function +( +) +{ +content +. +wrappedJSObject +. +stopRequests +( +) +; +} +) +; return teardown ( diff --git a/devtools/client/netmonitor/test/browser_net_brotli.js b/devtools/client/netmonitor/test/browser_net_brotli.js index d66b72be5dfcc..bd1a5fecdf0dc 100644 --- a/devtools/client/netmonitor/test/browser_net_brotli.js +++ b/devtools/client/netmonitor/test/browser_net_brotli.js @@ -340,6 +340,20 @@ code " ) ; +let +onResponseContent += +monitor +. +panelWin +. +once +( +EVENTS +. +RECEIVED_RESPONSE_CONTENT +) +; EventUtils . sendMouseEvent @@ -396,6 +410,9 @@ yield wait ; yield +onResponseContent +; +yield testResponse ( " diff --git a/devtools/client/netmonitor/test/browser_net_clear.js b/devtools/client/netmonitor/test/browser_net_clear.js index 138eee235f780..c9967b476c7f4 100644 --- a/devtools/client/netmonitor/test/browser_net_clear.js +++ b/devtools/client/netmonitor/test/browser_net_clear.js @@ -65,26 +65,6 @@ index ) ; let -{ -EVENTS -} -= -windowRequire -( -" -devtools -/ -client -/ -netmonitor -/ -src -/ -constants -" -) -; -let detailsPanelToggleButton = document @@ -139,17 +119,11 @@ assertNoRequestState ) ; let -networkEvent +onMonitorUpdated = -monitor -. -panelWin -. -once +waitForAllRequestsFinished ( -EVENTS -. -NETWORK_EVENT +monitor ) ; tab @@ -161,7 +135,7 @@ reload ) ; yield -networkEvent +onMonitorUpdated ; assertSingleRequestState ( @@ -185,17 +159,11 @@ assertNoRequestState ( ) ; -networkEvent +onMonitorUpdated = -monitor -. -panelWin -. -once +waitForAllRequestsFinished ( -EVENTS -. -NETWORK_EVENT +monitor ) ; tab @@ -207,7 +175,7 @@ reload ) ; yield -networkEvent +onMonitorUpdated ; assertSingleRequestState ( diff --git a/devtools/client/netmonitor/test/browser_net_content-type.js b/devtools/client/netmonitor/test/browser_net_content-type.js index fad93ed40ae44..6da48941d2169 100644 --- a/devtools/client/netmonitor/test/browser_net_content-type.js +++ b/devtools/client/netmonitor/test/browser_net_content-type.js @@ -141,7 +141,6 @@ linkedBrowser { } function -* ( ) { @@ -799,6 +798,7 @@ true yield selectIndexAndWaitForSourceEditor ( +monitor 0 ) ; @@ -813,6 +813,7 @@ xml yield selectIndexAndWaitForSourceEditor ( +monitor 1 ) ; @@ -827,6 +828,7 @@ css yield selectIndexAndWaitForSourceEditor ( +monitor 2 ) ; @@ -855,6 +857,7 @@ json yield selectIndexAndWaitForSourceEditor ( +monitor 4 ) ; @@ -883,6 +886,7 @@ png yield selectIndexAndWaitForSourceEditor ( +monitor 6 ) ; @@ -1784,143 +1788,25 @@ break } function * -selectIndexAndWaitForSourceEditor +selectIndexAndWaitForJSONView ( index ) { let -editor -= -document -. -querySelector -( -" -# -response -- -panel -. -CodeMirror -- -code -" -) -; -if -( -! -editor -) -{ -let -waitDOM +onResponseContent = -waitForDOM -( -document -" -# -response -- -panel -. -CodeMirror -- -code -" -) -; -EventUtils -. -sendMouseEvent -( -{ -type -: -" -mousedown -" -} -document -. -querySelectorAll -( -" -. -request -- -list -- -item -" -) -[ -index -] -) -; -document -. -querySelector -( -" -# -response -- -tab -" -) -. -click -( -) -; -yield -waitDOM -; -} -else -{ -EventUtils +monitor . -sendMouseEvent -( -{ -type -: -" -mousedown -" -} -document +panelWin . -querySelectorAll +once ( -" +EVENTS . -request -- -list -- -item -" -) -[ -index -] +RECEIVED_RESPONSE_CONTENT ) ; -} -} -function -* -selectIndexAndWaitForJSONView -( -index -) -{ let tabpanel = @@ -1963,6 +1849,14 @@ index yield waitDOM ; +yield +onResponseContent +; +yield +waitForTick +( +) +; } function * @@ -1972,6 +1866,20 @@ index ) { let +onResponseContent += +monitor +. +panelWin +. +once +( +EVENTS +. +RECEIVED_RESPONSE_CONTENT +) +; +let tabpanel = document @@ -2029,6 +1937,9 @@ load " ) ; +yield +onResponseContent +; } } ) diff --git a/devtools/client/netmonitor/test/browser_net_headers-alignment.js b/devtools/client/netmonitor/test/browser_net_headers-alignment.js index a73c7bb2db50a..dffafc130af23 100644 --- a/devtools/client/netmonitor/test/browser_net_headers-alignment.js +++ b/devtools/client/netmonitor/test/browser_net_headers-alignment.js @@ -17,6 +17,7 @@ requestLongerTimeout ; let { +tab monitor } = @@ -226,6 +227,32 @@ aligned ) ; } +yield +ContentTask +. +spawn +( +tab +. +linkedBrowser +{ +} +function +* +( +) +{ +content +. +wrappedJSObject +. +stopRequests +( +) +; +} +) +; return teardown ( diff --git a/devtools/client/netmonitor/test/browser_net_resend_cors.js b/devtools/client/netmonitor/test/browser_net_resend_cors.js index 9fa73a766228c..ae15175f09e92 100644 --- a/devtools/client/netmonitor/test/browser_net_resend_cors.js +++ b/devtools/client/netmonitor/test/browser_net_resend_cors.js @@ -385,17 +385,32 @@ requests yield onRequests ; +for +( +let +i += +0 +; +i +< ITEMS . -forEach -( -( -item +length +; i ++ ++ ) -= -> { +let +item += +ITEMS +[ +i +] +; is ( item @@ -469,6 +484,22 @@ POST " ) { +let +responseContent += +yield +connector +. +requestData +( +item +. +id +" +responseContent +" +) +; is ( item @@ -497,8 +528,6 @@ data ; is ( -item -. responseContent . content @@ -528,8 +557,6 @@ content ; } } -) -; info ( " diff --git a/devtools/client/netmonitor/test/browser_net_security-error.js b/devtools/client/netmonitor/test/browser_net_security-error.js index 78d85ebd14003..e24d79763dd9d 100644 --- a/devtools/client/netmonitor/test/browser_net_security-error.js +++ b/devtools/client/netmonitor/test/browser_net_security-error.js @@ -301,15 +301,6 @@ UPDATING_REQUEST_COOKIES RECEIVED_REQUEST_COOKIES " " -STARTED_RECEIVING_RESPONSE -" -" -UPDATING_RESPONSE_CONTENT -" -" -RECEIVED_RESPONSE_CONTENT -" -" UPDATING_EVENT_TIMINGS " " diff --git a/devtools/client/netmonitor/test/browser_net_security-state.js b/devtools/client/netmonitor/test/browser_net_security-state.js index b49a0db75c7fb..de42c077c3a30 100644 --- a/devtools/client/netmonitor/test/browser_net_security-state.js +++ b/devtools/client/netmonitor/test/browser_net_security-state.js @@ -489,7 +489,6 @@ done = waitForSecurityBrokenNetworkEvent ( -true ) ; info @@ -563,7 +562,6 @@ logged function waitForSecurityBrokenNetworkEvent ( -networkError ) { let @@ -583,15 +581,6 @@ UPDATING_REQUEST_COOKIES RECEIVED_REQUEST_COOKIES " " -STARTED_RECEIVING_RESPONSE -" -" -UPDATING_RESPONSE_CONTENT -" -" -RECEIVED_RESPONSE_CONTENT -" -" UPDATING_EVENT_TIMINGS " " @@ -599,30 +588,6 @@ RECEIVED_EVENT_TIMINGS " ] ; -if -( -networkError -) -{ -awaitedEvents -= -awaitedEvents -. -filter -( -e -= -> -e -! -= -= -" -STARTED_RECEIVING_RESPONSE -" -) -; -} let promises = diff --git a/devtools/client/netmonitor/test/browser_net_security-tab-visibility.js b/devtools/client/netmonitor/test/browser_net_security-tab-visibility.js index 7c65e0c8a131a..4b0d27a48b754 100644 --- a/devtools/client/netmonitor/test/browser_net_security-tab-visibility.js +++ b/devtools/client/netmonitor/test/browser_net_security-tab-visibility.js @@ -645,15 +645,6 @@ UPDATING_REQUEST_COOKIES RECEIVED_REQUEST_COOKIES " " -STARTED_RECEIVING_RESPONSE -" -" -UPDATING_RESPONSE_CONTENT -" -" -RECEIVED_RESPONSE_CONTENT -" -" UPDATING_EVENT_TIMINGS " " diff --git a/devtools/client/netmonitor/test/browser_net_simple-request-data.js b/devtools/client/netmonitor/test/browser_net_simple-request-data.js index f56cb254fdaed..509176d83c2c7 100644 --- a/devtools/client/netmonitor/test/browser_net_simple-request-data.js +++ b/devtools/client/netmonitor/test/browser_net_simple-request-data.js @@ -1593,7 +1593,7 @@ expectEvent ( EVENTS . -RECEIVED_RESPONSE_CONTENT +PAYLOAD_READY async ( ) @@ -1642,11 +1642,6 @@ contentSize requestItem . mimeType -& -& -requestItem -. -responseContent ; } ) @@ -1736,118 +1731,6 @@ value " ) ; -ok -( -requestItem -. -responseContent -" -There -should -be -a -responseContent -data -available -. -" -) -; -is -( -requestItem -. -responseContent -. -content -. -mimeType -" -text -/ -plain -; -charset -= -utf -- -8 -" -" -The -responseContent -data -has -an -incorrect -| -content -. -mimeType -| -property -. -" -) -; -is -( -requestItem -. -responseContent -. -content -. -text -" -Hello -world -! -" -" -The -responseContent -data -has -an -incorrect -| -content -. -text -| -property -. -" -) -; -is -( -requestItem -. -responseContent -. -content -. -size -12 -" -The -responseContent -data -has -an -incorrect -| -content -. -size -| -property -. -" -) -; verifyRequestItemTarget ( document diff --git a/devtools/client/netmonitor/test/browser_net_streaming-response.js b/devtools/client/netmonitor/test/browser_net_streaming-response.js index 88dcf01139085..1c4b35afb8c8f 100644 --- a/devtools/client/netmonitor/test/browser_net_streaming-response.js +++ b/devtools/client/netmonitor/test/browser_net_streaming-response.js @@ -423,6 +423,7 @@ null yield selectIndexAndWaitForSourceEditor ( +monitor 0 ) ; @@ -437,6 +438,7 @@ REQUESTS yield selectIndexAndWaitForSourceEditor ( +monitor 1 ) ; @@ -455,138 +457,6 @@ monitor ) ; function -* -selectIndexAndWaitForSourceEditor -( -index -) -{ -let -editor -= -document -. -querySelector -( -" -# -response -- -panel -. -CodeMirror -- -code -" -) -; -if -( -! -editor -) -{ -let -waitDOM -= -waitForDOM -( -document -" -# -response -- -panel -. -CodeMirror -- -code -" -) -; -EventUtils -. -sendMouseEvent -( -{ -type -: -" -mousedown -" -} -document -. -querySelectorAll -( -" -. -request -- -list -- -item -" -) -[ -index -] -) -; -document -. -querySelector -( -" -# -response -- -tab -" -) -. -click -( -) -; -yield -waitDOM -; -} -else -{ -EventUtils -. -sendMouseEvent -( -{ -type -: -" -mousedown -" -} -document -. -querySelectorAll -( -" -. -request -- -list -- -item -" -) -[ -index -] -) -; -} -} -function testEditorContent ( [ diff --git a/devtools/client/netmonitor/test/head.js b/devtools/client/netmonitor/test/head.js index 55651e2a7cb97..6db4b05322f07 100644 --- a/devtools/client/netmonitor/test/head.js +++ b/devtools/client/netmonitor/test/head.js @@ -37,24 +37,38 @@ js this ) ; -const -{ -EVENTS -} -= -require +Services +. +scriptloader +. +loadSubScript ( " +chrome +: +/ +/ +mochitests +/ +content +/ +browser +/ devtools / client / netmonitor / -src +test / -constants +shared +- +head +. +js " +this ) ; const @@ -2051,6 +2065,40 @@ target . tab ; +info +( +" +Wait +for +completion +of +all +pending +RDP +requests +. +. +. +" +) +; +yield +waitForExistingRequests +( +monitor +) +; +info +( +" +All +pending +requests +finished +. +" +) +; let onDestroyed = @@ -2199,24 +2247,6 @@ onGenericEvent ] [ " -STARTED_RECEIVING_RESPONSE -" -onGenericEvent -] -[ -" -UPDATING_RESPONSE_CONTENT -" -onGenericEvent -] -[ -" -RECEIVED_RESPONSE_CONTENT -" -onGenericEvent -] -[ -" UPDATING_EVENT_TIMINGS " onGenericEvent @@ -2235,6 +2265,50 @@ onPayloadReady ] ] ; +let +expectedGenericEvents += +awaitedEventsToListeners +. +filter +( +( +[ +listener +] +) += +> +listener += += +onGenericEvent +) +. +length +; +let +expectedPostEvents += +awaitedEventsToListeners +. +filter +( +( +[ +listener +] +) += +> +listener += += +onPostEvent +) +. +length +; function initProgressForURL ( @@ -2453,6 +2527,31 @@ progress : " + +" +Payload +: +" ++ +payloadReady ++ +" +/ +" ++ +( +getRequests ++ +postRequests +) ++ +" +" ++ +" +Generic +: +" ++ genericEvents + " @@ -2466,12 +2565,17 @@ getRequests postRequests ) * -13 +expectedGenericEvents ) + " " + +" +Post +: +" ++ postEvents + " @@ -2481,7 +2585,7 @@ postEvents ( postRequests * -2 +expectedPostEvents ) + " @@ -2536,7 +2640,7 @@ getRequests postRequests ) * -13 +expectedGenericEvents & & postEvents @@ -2544,7 +2648,7 @@ postEvents = postRequests * -2 +expectedPostEvents ) { awaitedEventsToListeners @@ -4937,3 +5041,130 @@ msg ) ; } +async +function +selectIndexAndWaitForSourceEditor +( +monitor +index +) +{ +let +document += +monitor +. +panelWin +. +document +; +let +onResponseContent += +monitor +. +panelWin +. +once +( +EVENTS +. +RECEIVED_RESPONSE_CONTENT +) +; +EventUtils +. +sendMouseEvent +( +{ +type +: +" +mousedown +" +} +document +. +querySelectorAll +( +" +. +request +- +list +- +item +" +) +[ +index +] +) +; +let +editor += +document +. +querySelector +( +" +# +response +- +panel +. +CodeMirror +- +code +" +) +; +if +( +! +editor +) +{ +let +waitDOM += +waitForDOM +( +document +" +# +response +- +panel +. +CodeMirror +- +code +" +) +; +document +. +querySelector +( +" +# +response +- +tab +" +) +. +click +( +) +; +await +waitDOM +; +} +await +onResponseContent +; +} diff --git a/devtools/client/netmonitor/test/html_infinite-get-page.html b/devtools/client/netmonitor/test/html_infinite-get-page.html index ed6abeec15a8b..5e33fc45b1582 100644 --- a/devtools/client/netmonitor/test/html_infinite-get-page.html +++ b/devtools/client/netmonitor/test/html_infinite-get-page.html @@ -198,6 +198,33 @@ = 0 ; +let +doRequests += +true +; +function +stopRequests +( +) +{ +/ +/ +eslint +- +disable +- +line +no +- +unused +- +vars +doRequests += +false +; +} ( function performRequests @@ -219,6 +246,11 @@ ( ) { +if +( +doRequests +) +{ setTimeout ( performRequests @@ -226,6 +258,7 @@ ) ; } +} ) ; } diff --git a/devtools/client/netmonitor/test/shared-head.js b/devtools/client/netmonitor/test/shared-head.js new file mode 100644 index 0000000000000..e0d9290d916b2 --- /dev/null +++ b/devtools/client/netmonitor/test/shared-head.js @@ -0,0 +1,219 @@ +" +use +strict +" +; +const +{ +EVENTS +} += +require +( +" +devtools +/ +client +/ +netmonitor +/ +src +/ +constants +" +) +; +async +function +waitForExistingRequests +( +monitor +) +{ +let +{ +store +} += +monitor +. +panelWin +; +function +getRequests +( +) +{ +return +store +. +getState +( +) +. +requests +. +requests +; +} +function +areAllRequestsFullyLoaded +( +) +{ +let +requests += +getRequests +( +) +. +valueSeq +( +) +; +for +( +let +request +of +requests +) +{ +if +( +request +. +id +. +includes +( +" +- +clone +" +) +) +{ +continue +; +} +if +( +! +request +. +requestHeaders +| +| +! +request +. +requestCookies +| +| +! +request +. +eventTimings +| +| +( +! +request +. +securityInfo +& +& +! +request +. +fromServiceWorker +) +| +| +( +( +! +request +. +responseHeaders +| +| +! +request +. +responseCookies +) +& +& +request +. +securityState +! += +" +broken +" +& +& +( +! +request +. +responseContentAvailable +| +| +request +. +status +) +) +) +{ +return +false +; +} +} +return +true +; +} +if +( +getRequests +( +) +. +size += += +0 +) +{ +return +; +} +while +( +! +areAllRequestsFullyLoaded +( +) +) +{ +await +monitor +. +panelWin +. +once +( +EVENTS +. +PAYLOAD_READY +) +; +} +} diff --git a/devtools/client/styleeditor/test/browser.ini b/devtools/client/styleeditor/test/browser.ini index db8101dd3852d..40860cbd624e5 100644 --- a/devtools/client/styleeditor/test/browser.ini +++ b/devtools/client/styleeditor/test/browser.ini @@ -339,6 +339,21 @@ devtools / client / +netmonitor +/ +test +/ +shared +- +head +. +js +! +/ +devtools +/ +client +/ responsive . html diff --git a/devtools/client/styleeditor/test/browser_styleeditor_fetch-from-cache.js b/devtools/client/styleeditor/test/browser_styleeditor_fetch-from-cache.js index 6b7954a58d6e1..e076903bb0b9a 100644 --- a/devtools/client/styleeditor/test/browser_styleeditor_fetch-from-cache.js +++ b/devtools/client/styleeditor/test/browser_styleeditor_fetch-from-cache.js @@ -3,6 +3,40 @@ use strict " ; +Services +. +scriptloader +. +loadSubScript +( +" +chrome +: +/ +/ +mochitests +/ +content +/ +browser +/ +devtools +/ +client +/ +netmonitor +/ +test +/ +shared +- +head +. +js +" +this +) +; const TEST_URL = @@ -223,6 +257,12 @@ getSourceEditor ( ) ; +yield +waitForExistingRequests +( +monitor +) +; info ( " diff --git a/devtools/client/webconsole/new-console-output/components/message-types/NetworkEventMessage.js b/devtools/client/webconsole/new-console-output/components/message-types/NetworkEventMessage.js index 524dc60b774be..869bf16679b65 100644 --- a/devtools/client/webconsole/new-console-output/components/message-types/NetworkEventMessage.js +++ b/devtools/client/webconsole/new-console-output/components/message-types/NetworkEventMessage.js @@ -530,6 +530,25 @@ triggerActivity > { } +requestData +: +( +requestId +dataType +) += +> +{ +return +serviceContainer +. +requestData +( +requestId +dataType +) +; +} } ; const diff --git a/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js b/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js index 0731da0f9b10b..e6beb128391b3 100644 --- a/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js +++ b/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js @@ -612,6 +612,26 @@ grip ) ; } +requestData +( +id +type +) +{ +return +hud +. +proxy +. +networkDataProvider +. +requestData +( +id +type +) +; +} } ; serviceContainer diff --git a/devtools/client/webconsole/new-console-output/store.js b/devtools/client/webconsole/new-console-output/store.js index 01da76f800781..ab7dff62b80db 100644 --- a/devtools/client/webconsole/new-console-output/store.js +++ b/devtools/client/webconsole/new-console-output/store.js @@ -931,6 +931,12 @@ webConsoleClient } ) ; +proxy +. +networkDataProvider += +dataProvider +; } let type diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/browser_netmonitor_shows_reqs_in_webconsole.js b/devtools/client/webconsole/new-console-output/test/mochitest/browser_netmonitor_shows_reqs_in_webconsole.js index d209800d51612..1a56beee00f5a 100644 --- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_netmonitor_shows_reqs_in_webconsole.js +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_netmonitor_shows_reqs_in_webconsole.js @@ -435,4 +435,10 @@ correct " ) ; +await +waitForExistingRequests +( +monitor +) +; } diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_attach.js b/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_attach.js index 84c17e395f03a..43a539cd1b985 100644 --- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_attach.js +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_attach.js @@ -330,6 +330,12 @@ testNetworkMessage messageNode ) ; +await +waitForExistingRequests +( +monitor +) +; } ) ; diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_messages_openinnet.js b/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_messages_openinnet.js index 01dcfd0e9d22a..11cedc4325346 100644 --- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_messages_openinnet.js +++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_network_messages_openinnet.js @@ -559,4 +559,19 @@ correct " ) ; +let +monitor += +toolbox +. +getCurrentPanel +( +) +; +await +waitForExistingRequests +( +monitor +) +; } diff --git a/devtools/client/webconsole/new-console-output/test/mochitest/head.js b/devtools/client/webconsole/new-console-output/test/mochitest/head.js index 5dbba56bfddaf..306c0dd5f12d3 100644 --- a/devtools/client/webconsole/new-console-output/test/mochitest/head.js +++ b/devtools/client/webconsole/new-console-output/test/mochitest/head.js @@ -37,6 +37,40 @@ js this ) ; +Services +. +scriptloader +. +loadSubScript +( +" +chrome +: +/ +/ +mochitests +/ +content +/ +browser +/ +devtools +/ +client +/ +netmonitor +/ +test +/ +shared +- +head +. +js +" +this +) +; var { HUDService diff --git a/devtools/client/webconsole/test/browser_netmonitor_shows_reqs_in_webconsole.js b/devtools/client/webconsole/test/browser_netmonitor_shows_reqs_in_webconsole.js index 7f7fcd2556758..5a76401fbc3ac 100644 --- a/devtools/client/webconsole/test/browser_netmonitor_shows_reqs_in_webconsole.js +++ b/devtools/client/webconsole/test/browser_netmonitor_shows_reqs_in_webconsole.js @@ -3,6 +3,40 @@ use strict " ; +Services +. +scriptloader +. +loadSubScript +( +" +chrome +: +/ +/ +mochitests +/ +content +/ +browser +/ +devtools +/ +client +/ +netmonitor +/ +test +/ +shared +- +head +. +js +" +this +) +; const TEST_URI = @@ -494,4 +528,10 @@ correct " ) ; +yield +waitForExistingRequests +( +monitor +) +; } diff --git a/devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js b/devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js index 68b8efac72cea..284659cd70e19 100644 --- a/devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js +++ b/devtools/client/webconsole/test/browser_webconsole_netlogging_panel.js @@ -37,6 +37,40 @@ request html " ; +Services +. +scriptloader +. +loadSubScript +( +" +chrome +: +/ +/ +mochitests +/ +content +/ +browser +/ +devtools +/ +client +/ +netmonitor +/ +test +/ +shared +- +head +. +js +" +this +) +; add_task ( function @@ -134,7 +168,7 @@ opened ) ; let -panel +monitor = toolbox . @@ -148,7 +182,7 @@ store windowRequire } = -panel +monitor . panelWin ; @@ -225,6 +259,12 @@ selected " ) ; +yield +waitForExistingRequests +( +monitor +) +; } ) ; diff --git a/devtools/client/webconsole/test/browser_webconsole_netlogging_reset_filter.js b/devtools/client/webconsole/test/browser_webconsole_netlogging_reset_filter.js index d7a7600dda875..f47a6102f5725 100644 --- a/devtools/client/webconsole/test/browser_webconsole_netlogging_reset_filter.js +++ b/devtools/client/webconsole/test/browser_webconsole_netlogging_reset_filter.js @@ -56,6 +56,40 @@ file URI " ; +Services +. +scriptloader +. +loadSubScript +( +" +chrome +: +/ +/ +mochitests +/ +content +/ +browser +/ +devtools +/ +client +/ +netmonitor +/ +test +/ +shared +- +head +. +js +" +this +) +; var hud ; @@ -221,7 +255,7 @@ opened ) ; let -panel +monitor = toolbox . @@ -235,7 +269,7 @@ store windowRequire } = -panel +monitor . panelWin ; @@ -452,6 +486,12 @@ hud = null ; +yield +waitForExistingRequests +( +monitor +) +; } ) ;