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

Unified Diff: chrome/test/data/extensions/api_test/webrequest/test_post.js

Issue 10694055: Add read-only access to POST data for webRequest's onBeforeRequest (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Adding an example value of formData to the docs Created 8 years, 5 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: chrome/test/data/extensions/api_test/webrequest/test_post.js
diff --git a/chrome/test/data/extensions/api_test/webrequest/test_post.js b/chrome/test/data/extensions/api_test/webrequest/test_post.js
new file mode 100644
index 0000000000000000000000000000000000000000..344711771979e01d3ffb97d1c6dd296a41d559ed
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/webrequest/test_post.js
@@ -0,0 +1,132 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function postData(formFile, includePostData) {
+ var formData = {
+ check: ["option_A"],
+ password: ["password"],
+ radio: ["Yes"],
+ select: ["one"],
+ text1: ["TEST_TEXT_1"],
+ text2: ["TEST_TEXT_2"],
+ text3: ["TEST_TEXT_3"],
+ txtarea: ["Text"]
+ };
+ return function submitForm() {
+ expect(
+ [ // events
+ { label: "a-onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ method: "GET",
+ type: "main_frame",
+ url: getURL("postData/" + formFile),
+ frameUrl: getURL("postData/" + formFile)
+ }
+ },
+ { label: "a-onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ fromCache: false,
+ method: "GET",
+ statusCode: 200,
+ statusLine: "HTTP/1.1 200 OK",
+ type: "main_frame",
+ url: getURL("postData/" + formFile)
+ }
+ },
+ { label: "a-onCompleted",
+ event: "onCompleted",
+ details: {
+ fromCache: false,
+ method: "GET",
+ statusCode: 200,
+ statusLine: "HTTP/1.1 200 OK",
+ type: "main_frame",
+ url: getURL("postData/" + formFile)
+ }
+ },
+ { label: "s-onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ method: "GET",
+ type: "script",
+ url: getURL("postData/submit.js"),
+ frameUrl: getURL("postData/" + formFile)
+ }
+ },
+ { label: "s-onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ fromCache: false,
+ method: "GET",
+ statusCode: 200,
+ statusLine: "HTTP/1.1 200 OK",
+ type: "script",
+ url: getURL("postData/submit.js")
+ }
+ },
+ { label: "s-onCompleted",
+ event: "onCompleted",
+ details: {
+ fromCache: false,
+ method: "GET",
+ statusCode: 200,
+ statusLine: "HTTP/1.1 200 OK",
+ type: "script",
+ url: getURL("postData/submit.js")
+ }
+ },
+ // b-onBeforeRequest with postData included...
+ (includePostData) ? { label: "b-onBeforeRequest",
Matt Perry 2012/07/23 21:19:01 I think you could make this more succinct like so:
vabr (Chromium) 2012/07/30 16:05:57 I tried that but it did not work. Even if the expe
+ event: "onBeforeRequest",
+ details: {
+ method: "POST",
+ type: "main_frame",
+ url: getURL("postData/nonExistingTarget.html"),
+ frameUrl: getURL("postData/nonExistingTarget.html"),
+ experimentalPostData: {
+ formData: formData
+ }
+ }
+ // or else b-onBeforeRequest without postData.
+ } : { label: "b-onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ method: "POST",
+ type: "main_frame",
+ url: getURL("postData/nonExistingTarget.html"),
+ frameUrl: getURL("postData/nonExistingTarget.html"),
+ }
+ },
+ { label: "b-onErrorOccurred",
+ event: "onErrorOccurred",
+ details: {
+ error: "net::ERR_FILE_NOT_FOUND",
+ fromCache: false,
+ method: "POST",
+ type: "main_frame",
+ url: getURL("postData/nonExistingTarget.html")
+ }
+ }
+ ],
+ [ // event order
+ ["a-onBeforeRequest", "a-onResponseStarted", "a-onCompleted",
+ "s-onBeforeRequest", "s-onResponseStarted", "s-onCompleted",
+ "b-onBeforeRequest", "b-onErrorOccurred"]
+ ],
+ {urls: ["<all_urls>"]}, // filter
+ ["requestPostData"]);
+ navigateAndWait(getURL("postData/" + formFile));
+ close();
+ }
+}
+
+runTests([
+ // Navigates to a page with a form and submits it.
+ postData('no-enctype.html', true),
+ postData('urlencoded.html', true),
+ postData('multipart.html', true),
+ postData('plaintext.html', false),
+]);

Powered by Google App Engine
This is Rietveld 408576698