Diff
Modified: trunk/LayoutTests/ChangeLog (128748 => 128749)
--- trunk/LayoutTests/ChangeLog 2012-09-17 12:52:19 UTC (rev 128748)
+++ trunk/LayoutTests/ChangeLog 2012-09-17 13:27:45 UTC (rev 128749)
@@ -1,3 +1,14 @@
+2012-09-17 Vsevolod Vlasov <[email protected]>
+
+ Web Inspector: XHR replay fixes: should remove replayed xhr from memory cache, should not assert.
+ https://bugs.webkit.org/show_bug.cgi?id=96904
+
+ Reviewed by Yury Semikhatsky.
+
+ Re-enabled http/tests/inspector/network/network-xhr-replay.html test.
+
+ * http/tests/inspector/network/network-xhr-replay.html: Renamed from LayoutTests/http/tests/inspector/network/network-xhr-replay.html_disabled.
+
2012-09-17 Alejandro Piñeiro <[email protected]>
AX: Regression (r126369) - toggle buttons no longer return accessible titles
Copied: trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html (from rev 128748, trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html_disabled) (0 => 128749)
--- trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html 2012-09-17 13:27:45 UTC (rev 128749)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<script src=""
+<script src=""
+<script>
+
+function test()
+{
+ var networkPanel = WebInspector.showPanel("network");
+
+ function lastRequest()
+ {
+ return networkPanel.requests[networkPanel.requests.length - 1];
+ }
+
+ function dumpRequest(request)
+ {
+ InspectorTest.addResult("Dumping request: ");
+ InspectorTest.addResult(" url: " + request.url);
+ if (request.requestFormData)
+ InspectorTest.addResult(" requestFormData: " + request.requestFormData);
+ InspectorTest.addResult(" requestMethod: " + request.requestMethod);
+ InspectorTest.addResult(" test request header value: " + request.requestHeaderValue("headerName"));
+ }
+
+ function assertRequestEqual(request1, request2)
+ {
+ InspectorTest.assertEquals(request1.url, request2.url, "Requests have different url");
+ InspectorTest.assertEquals(request1.requestFormData, request2.requestFormData, "Requests have different requestFormData");
+ InspectorTest.assertEquals(request1.requestMethod, request2.requestMethod, "Requests have different requestMethod");
+ InspectorTest.assertEquals(request1.requestHeadersText, request2.requestHeadersText, "Requests have different requestHeadersText");
+ }
+
+ function testXHRReplay(method, url, async, user, password, headers, withCredentials, payload, callback)
+ {
+ InspectorTest.resetInspectorResourcesData(step1);
+
+ function step1()
+ {
+ InspectorTest.makeXHR(method, url, async, user, password, headers, withCredentials, payload, step2);
+ }
+
+ var originalRequest;
+ function step2()
+ {
+ originalRequest = lastRequest();
+ dumpRequest(originalRequest);
+ NetworkAgent.replayXHR(originalRequest.requestId);
+ InspectorTest.addSniffer(WebInspector.NetworkLogView.prototype, "_appendRequest", step3);
+ }
+
+ function step3()
+ {
+ var replayedRequest = lastRequest();
+ assertRequestEqual(originalRequest, replayedRequest);
+ callback();
+ }
+ }
+
+
+ InspectorTest.runTestSuite([
+ function testGetStaticAsync(next)
+ {
+ testXHRReplay("GET", "resources/empty.html", true, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
+ },
+
+ function testGetStaticSync(next)
+ {
+ testXHRReplay("GET", "resources/empty.html", false, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
+ },
+
+ function testGetCachedAsync(next)
+ {
+ testXHRReplay("GET", "resources/random-cached.php", true, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
+ },
+
+ function testGetCachedSync(next)
+ {
+ testXHRReplay("GET", "resources/random-cached.php", false, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
+ },
+
+ function testGetRandomAsync(next)
+ {
+ testXHRReplay("GET", "resources/random.php", true, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
+ },
+
+ function testGetRandomSync(next)
+ {
+ testXHRReplay("GET", "resources/random.php", false, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
+ },
+
+ function testPostAsync(next)
+ {
+ testXHRReplay("POST", "resources/random.php", true, "user", "password", [["headerName", "headerValue"]], false, "payload", next);
+ },
+
+ function testPostSync(next)
+ {
+ testXHRReplay("POST", "resources/random.php", false, "user", "password", [["headerName", "headerValue"]], false, "payload", next);
+ }
+ ]);
+}
+</script>
+</head>
+<body _onload_="runTest()">
+Tests XHR replaying.
+<a href="" 95187</a>
+</body>
+</html>
Property changes: trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html
Added: svn:eol-style
Deleted: trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html_disabled (128748 => 128749)
--- trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html_disabled 2012-09-17 12:52:19 UTC (rev 128748)
+++ trunk/LayoutTests/http/tests/inspector/network/network-xhr-replay.html_disabled 2012-09-17 13:27:45 UTC (rev 128749)
@@ -1,109 +0,0 @@
-<html>
-<head>
-<script src=""
-<script src=""
-<script>
-
-function test()
-{
- var networkPanel = WebInspector.showPanel("network");
-
- function lastRequest()
- {
- return networkPanel.requests[networkPanel.requests.length - 1];
- }
-
- function dumpRequest(request)
- {
- InspectorTest.addResult("Dumping request: ");
- InspectorTest.addResult(" url: " + request.url);
- if (request.requestFormData)
- InspectorTest.addResult(" requestFormData: " + request.requestFormData);
- InspectorTest.addResult(" requestMethod: " + request.requestMethod);
- InspectorTest.addResult(" test request header value: " + request.requestHeaderValue("headerName"));
- }
-
- function assertRequestEqual(request1, request2)
- {
- InspectorTest.assertEquals(request1.url, request2.url, "Requests have different url");
- InspectorTest.assertEquals(request1.requestFormData, request2.requestFormData, "Requests have different requestFormData");
- InspectorTest.assertEquals(request1.requestMethod, request2.requestMethod, "Requests have different requestMethod");
- InspectorTest.assertEquals(request1.requestHeadersText, request2.requestHeadersText, "Requests have different requestHeadersText");
- }
-
- function testXHRReplay(method, url, async, user, password, headers, withCredentials, payload, callback)
- {
- InspectorTest.resetInspectorResourcesData(step1);
-
- function step1()
- {
- InspectorTest.makeXHR(method, url, async, user, password, headers, withCredentials, payload, step2);
- }
-
- var originalRequest;
- function step2()
- {
- originalRequest = lastRequest();
- dumpRequest(originalRequest);
- NetworkAgent.replayXHR(originalRequest.requestId);
- InspectorTest.addSniffer(WebInspector.NetworkLogView.prototype, "_appendRequest", step3);
- }
-
- function step3()
- {
- var replayedRequest = lastRequest();
- assertRequestEqual(originalRequest, replayedRequest);
- callback();
- }
- }
-
-
- InspectorTest.runTestSuite([
- function testGetStaticAsync(next)
- {
- testXHRReplay("GET", "resources/empty.html", true, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
- },
-
- function testGetStaticSync(next)
- {
- testXHRReplay("GET", "resources/empty.html", false, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
- },
-
- function testGetCachedAsync(next)
- {
- testXHRReplay("GET", "resources/random-cached.php", true, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
- },
-
- function testGetCachedSync(next)
- {
- testXHRReplay("GET", "resources/random-cached.php", false, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
- },
-
- function testGetRandomAsync(next)
- {
- testXHRReplay("GET", "resources/random.php", true, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
- },
-
- function testGetRandomSync(next)
- {
- testXHRReplay("GET", "resources/random.php", false, "user", "password", [["headerName", "headerValue"]], false, undefined, next);
- },
-
- function testPostAsync(next)
- {
- testXHRReplay("POST", "resources/random.php", true, "user", "password", [["headerName", "headerValue"]], false, "payload", next);
- },
-
- function testPostSync(next)
- {
- testXHRReplay("POST", "resources/random.php", false, "user", "password", [["headerName", "headerValue"]], false, "payload", next);
- }
- ]);
-}
-</script>
-</head>
-<body _onload_="runTest()">
-Tests XHR replaying.
-<a href="" 95187</a>
-</body>
-</html>
Modified: trunk/Source/WebCore/ChangeLog (128748 => 128749)
--- trunk/Source/WebCore/ChangeLog 2012-09-17 12:52:19 UTC (rev 128748)
+++ trunk/Source/WebCore/ChangeLog 2012-09-17 13:27:45 UTC (rev 128749)
@@ -1,3 +1,20 @@
+2012-09-17 Vsevolod Vlasov <[email protected]>
+
+ Web Inspector: XHR replay fixes: should remove replayed xhr from memory cache, should not assert.
+ https://bugs.webkit.org/show_bug.cgi?id=96904
+
+ Reviewed by Yury Semikhatsky.
+
+ Replayed request is now removed from meory cache before replaying.
+ Request body is now set to 0 when it was not present in original request.
+
+ Test: http/tests/inspector/network/network-xhr-replay.html
+
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::replayXHR):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::sendFromInspector):
+
2012-09-17 Alejandro Piñeiro <[email protected]>
AX: Regression (r126369) - toggle buttons no longer return accessible titles
Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (128748 => 128749)
--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp 2012-09-17 12:52:19 UTC (rev 128748)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp 2012-09-17 13:27:45 UTC (rev 128749)
@@ -617,6 +617,10 @@
if (!xhrReplayData)
return;
+ CachedResource* cachedResource = memoryCache()->resourceForURL(xhrReplayData->url());
+ if (cachedResource)
+ memoryCache()->remove(cachedResource);
+
xhr->open(xhrReplayData->method(), xhrReplayData->url(), xhrReplayData->async(), code);
HTTPHeaderMap::const_iterator end = xhrReplayData->headers().end();
for (HTTPHeaderMap::const_iterator it = xhrReplayData->headers().begin(); it!= end; ++it)
Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (128748 => 128749)
--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2012-09-17 12:52:19 UTC (rev 128748)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2012-09-17 13:27:45 UTC (rev 128749)
@@ -684,7 +684,7 @@
void XMLHttpRequest::sendFromInspector(PassRefPtr<FormData> formData, ExceptionCode& ec)
{
- m_requestEntityBody = formData ? formData->deepCopy() : FormData::create();
+ m_requestEntityBody = formData ? formData->deepCopy() : 0;
createRequest(ec);
m_exceptionCode = ec;
}