Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(951)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/inspector/network-test.js

Issue 2838673003: [Devtools][Regression] Fixed websocket frame selection loss on frame received (Closed)
Patch Set: changes Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/inspector/websocket/network-preserve-selection-on-frame-receive.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // This goes before everything else to keep console message line number invarian t. 1 // This goes before everything else to keep console message line number invarian t.
2 var lastXHRIndex = 0; 2 var lastXHRIndex = 0;
3 function xhrLoadedCallback() 3 function xhrLoadedCallback()
4 { 4 {
5 // We need to make sure the console message text is unique so that we don't end up with repeat count update only. 5 // We need to make sure the console message text is unique so that we don't end up with repeat count update only.
6 console.log("XHR loaded: " + (++lastXHRIndex)); 6 console.log("XHR loaded: " + (++lastXHRIndex));
7 } 7 }
8 8
9 function makeSimpleXHR(method, url, async, callback) 9 function makeSimpleXHR(method, url, async, callback)
10 { 10 {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 // Call text(). Otherwise the backpressure mechanism may block loading. 49 // Call text(). Otherwise the backpressure mechanism may block loading.
50 res.text(); 50 res.text();
51 return res; 51 return res;
52 }).catch(e => e); 52 }).catch(e => e);
53 } 53 }
54 54
55 var initialize_NetworkTest = function() { 55 var initialize_NetworkTest = function() {
56 56
57 InspectorTest.preloadPanel("network"); 57 InspectorTest.preloadPanel("network");
58 58
59 /**
60 * @param {!SDK.NetworkRequest} request
61 * @return {!Promise<!SDK.NetworkRequest>}
62 */
63 InspectorTest.waitForRequestResponse = function(request)
64 {
65 return new Promise(resolve => {
66 if (request.responseReceivedTime !== -1) {
67 resolve(request);
68 return;
69 }
70 InspectorTest.networkManager.addEventListener(SDK.NetworkManager.Events. RequestUpdated, checkRequestUpdated);
71
72 function checkRequestUpdated(data)
73 {
74 if (data.data !== request || request.responseReceivedTime === -1)
75 return;
76 InspectorTest.networkManager.removeEventListener(SDK.NetworkManager. Events.RequestUpdated, checkRequestUpdated);
77 resolve(request);
78 }
79 });
80 }
81
82 /**
83 * @param {!SDK.NetworkRequest} request
84 * @return {!Promise<!Network.NetworkRequestNode>}
85 */
86 InspectorTest.waitForNetworkLogViewNodeForRequest = function(request)
87 {
88 var networkLogView = UI.panels.network._networkLogView;
89 var node = networkLogView._nodesByRequestId.get(request.requestId());
90 if (node)
91 return Promise.resolve(node);
92 return new Promise(resolve => {
93 networkLogView.addEventToListeners(Network.NetworkLogView.Events.UpdateR equest, requestUpdated);
94 networkLogView._appendRequest;
95
96 function requestUpdated(data) {
97 if (data.data !== request)
98 return;
99 networkLogView.removeEventToListeners(Network.NetworkLogView.Events. UpdateRequest, requestUpdated);
100 var node = networkLogView._nodesByRequestId.get(request.requestId()) ;
101 console.assert(node);
102 resolve(node);
103 }
104 });
105 }
106
107 /**
108 * @param {!SDK.NetworkRequest} wsRequest
109 * @param {string} message
110 * @return {!Promise<!SDK.NetworkRequest.WebSocketFrame>}
111 */
112 InspectorTest.waitForWebsocketFrameReceived = function(wsRequest, message)
113 {
114 return new Promise(resolve => {
115 for (var frame of wsRequest.frames()) {
116 if (resolveIfNeeded(frame))
117 return;
118 }
119 wsRequest.addEventListener(SDK.NetworkRequest.Events.WebsocketFrameAdded , handleFrameReceived);
120
121 function handleFrameReceived(data)
122 {
123 if (resolveIfNeeded(/** @type {!SDK.NetworkRequest.WebSocketFrame} * / (data.data)))
124 wsRequest.removeEventListener(SDK.NetworkRequest.Events.Websocke tFrameAdded, handleFrameReceived);
125 }
126
127 function resolveIfNeeded(frame)
128 {
129 if (frame.type !== SDK.NetworkRequest.WebSocketFrameType.Receive || frame.text !== message)
130 return false;
131 resolve(frame);
132 return true;
133 }
134 });
135 }
136
59 InspectorTest.recordNetwork = function() 137 InspectorTest.recordNetwork = function()
60 { 138 {
61 UI.panels.network._networkLogView.setRecording(true); 139 UI.panels.network._networkLogView.setRecording(true);
62 } 140 }
63 141
64 InspectorTest.networkRequests = function() 142 InspectorTest.networkRequests = function()
65 { 143 {
66 return NetworkLog.networkLog.requests().slice(); 144 return NetworkLog.networkLog.requests().slice();
67 } 145 }
68 146
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 version: "formatAsTypeName", 227 version: "formatAsTypeName",
150 wait: "formatAsTypeName", 228 wait: "formatAsTypeName",
151 _transferSize: "formatAsTypeName", 229 _transferSize: "formatAsTypeName",
152 _error: "skip" 230 _error: "skip"
153 }; 231 };
154 // addObject checks own properties only, so make a deep copy rather than use pro totype. 232 // addObject checks own properties only, so make a deep copy rather than use pro totype.
155 InspectorTest.HARPropertyFormattersWithSize = JSON.parse(JSON.stringify(Inspecto rTest.HARPropertyFormatters)); 233 InspectorTest.HARPropertyFormattersWithSize = JSON.parse(JSON.stringify(Inspecto rTest.HARPropertyFormatters));
156 InspectorTest.HARPropertyFormattersWithSize.size = "formatAsTypeName"; 234 InspectorTest.HARPropertyFormattersWithSize.size = "formatAsTypeName";
157 235
158 }; 236 };
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/http/tests/inspector/websocket/network-preserve-selection-on-frame-receive.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698