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

Unified Diff: third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/data-xfer-resource.php

Issue 2167853003: [DevTools] Always report encodedDataLength in Network.ResponseReceived. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Quic Tests Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/data-xfer-resource.php
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/data-xfer-resource.php b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/data-xfer-resource.php
new file mode 100644
index 0000000000000000000000000000000000000000..01ab1d7c861b896c51425b068f48bf1f5affc8a9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/data-xfer-resource.php
@@ -0,0 +1,74 @@
+<?php
+header_remove("X-Powered-By");
+
+$redirect = (bool) $_GET["redirect"];
+$cached = (bool) $_GET["cached"];
+$chunked = (bool) $_GET["chunked"];
+$size = (int) $_GET["size"];
+$gzip = (bool) $_GET["gzip"];
+$flush_header_with_x_bytes = (int) $_GET["flush_header_with_x_bytes"];
+$wait_after_headers_packet = (int) $_GET["wait_after_headers_packet"];
+$flush_every_x_bytes = ((int) $_GET["flush_every"])?:1;
+$wait_every_x_bytes = ((int) $_GET["wait_every_x_bytes"])?:0xFFFFF;
+$wait_duration_every_x_bytes = ((int) $_GET["wait_duration_every_x_bytes"])?:50;
+
+$sent_data_size = 0;
+
+if ($redirect) {
+ unset($_GET["redirect"]);
+ header("Location: ?" . http_build_query($_GET));
+ exit;
+}
+
+// This is done because it should force netstack to handle data as it comes.
+header("Content-Type: application/json");
+
+if ($cached) {
+ header("HTTP/1.0 304 Not Modified");
+ exit;
+}
+
+if ($gzip)
+ ob_start("ob_gzhandler");
+else
+ ob_start();
+
+if (!$chunked)
+ header("Content-Length: " . $size);
+
+if ($flush_header_with_x_bytes) {
+ send_data($flush_header_with_x_bytes);
+ doFlush();
+}
+
+if ($wait_after_headers_packet)
+ usleep($wait_after_headers_packet * 1000);
+
+while ($sent_data_size < $size) {
+ $flush_size = $flush_every_x_bytes - ($sent_data_size % $flush_every_x_bytes);
+ $wait_size = $wait_every_x_bytes - ($sent_data_size % $wait_every_x_bytes);
+ if ($flush_size === $wait_size) {
Adam Rice 2016/09/01 08:57:28 This seems a bit convoluted. How about send_data(
allada 2016/09/07 06:01:12 Done.
+ send_data($flush_size);
+ doFlush();
+ usleep($wait_duration_every_x_bytes * 1000);
+ } else if ($flush_size < $wait_size) {
+ send_data($flush_size);
+ doFlush();
+ } else {
+ send_data($wait_size);
+ usleep($wait_duration_every_x_bytes * 1000);
+ }
+}
+
+function send_data($size)
+{
+ global $sent_data_size;
+ echo str_repeat("a", $size);
+ $sent_data_size += $size;
+}
+
+function doFlush()
+{
+ ob_flush();
+ flush();
+}

Powered by Google App Engine
This is Rietveld 408576698