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

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

Issue 11414230: Declarative Web Request: firstPartyForCookiesUrl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added event order Created 8 years 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_declarative.js
diff --git a/chrome/test/data/extensions/api_test/webrequest/test_declarative.js b/chrome/test/data/extensions/api_test/webrequest/test_declarative.js
index 92709cfb1a15ad0e6f9f5d3ae24488591d4807bd..5dd122045873fe791a85c05759936f49343e0aa4 100644
--- a/chrome/test/data/extensions/api_test/webrequest/test_declarative.js
+++ b/chrome/test/data/extensions/api_test/webrequest/test_declarative.js
@@ -277,6 +277,121 @@ runTests([
);
},
+ // Tests "firstPartyForCookiesUrl" by using it to override a cancelling rule.
+ function testFirstPartyForCookiesUrl() {
+ ignoreUnexpected = false;
+ expect(
Jeffrey Yasskin 2012/12/18 03:09:58 Where is expect() defined? What do its parameters
vabr (Chromium) 2013/01/21 10:57:48 The function expect is part of the test framework:
+ [
+ { label: "onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ url: getURLThirdParty(),
+ frameUrl: getURLThirdParty()
+ }
+ },
+ { label: "onBeforeSendHeaders",
Jeffrey Yasskin 2012/12/18 03:09:58 If the label is the same as the event in almost al
vabr (Chromium) 2013/01/21 10:57:48 I can understand your concerns, but I believe thos
+ event: "onBeforeSendHeaders",
+ details: {url: getURLThirdParty()}
+ },
+ { label: "onSendHeaders",
+ event: "onSendHeaders",
+ details: {url: getURLThirdParty()}
+ },
+ { label: "onHeadersReceived",
+ event: "onHeadersReceived",
+ details: {
+ url: getURLThirdParty(),
+ statusLine: "HTTP/1.0 200 OK"
+ }
+ },
+ { label: "onResponseStarted",
+ event: "onResponseStarted",
+ details: {
+ url: getURLThirdParty(),
+ fromCache: false,
+ ip: "127.0.0.1",
+ statusCode: 200,
+ statusLine: "HTTP/1.0 200 OK"
+ }
+ },
+ { label: "onCompleted",
+ event: "onCompleted",
+ details: {
+ fromCache: false,
+ ip: "127.0.0.1",
+ url: getURLThirdParty(),
+ statusCode: 200,
+ statusLine: "HTTP/1.0 200 OK"
+ }
+ },
+ { label: "img-onBeforeRequest",
+ event: "onBeforeRequest",
+ details: {
+ type: "image",
+ url: "http://non_existing_third_party.com/image.png",
+ frameUrl: getURLThirdParty()
+ }
+ },
+ { label: "img-onBeforeSendHeaders",
+ event: "onBeforeSendHeaders",
+ details: {
+ type: "image",
+ url: "http://non_existing_third_party.com/image.png",
+ }
+ },
+ { label: "img-onErrorOccurred",
+ event: "onErrorOccurred",
+ details: {
+ url: "http://non_existing_third_party.com/image.png",
+ type: "image",
+ fromCache: false,
+ error: "net::ERR_BLOCKED_BY_CLIENT"
+ }
+ },
+ ],
+ [ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
+ "onHeadersReceived", "onResponseStarted", "onCompleted"],
+ ["img-onBeforeRequest", "img-onBeforeSendHeaders",
+ "img-onErrorOccurred"] ]);
+ onRequest.addRules(
+ [ // This rule cancels the request with a 3rd party URL just before it is
+ // sent. This is necessary, because sending it would generate different
+ // HTTP 4xx codes on different platforms, making it impossible to
+ // present a single list of expected events.
+ {'priority': 3,
+ 'conditions': [new RequestMatcher({
+ 'url': { 'hostEquals': 'non_existing_third_party.com' },
+ 'stages': ["onBeforeSendHeaders"]
+ })],
+ 'actions': [new chrome.declarativeWebRequest.CancelRequest()]
+ },
+ {'priority': 2,
+ 'conditions': [
+ new RequestMatcher({
+ firstPartyForCookiesUrl: {
+ hostEquals: testServer
+ }
+ })
+ ],
+ 'actions': [
+ new chrome.declarativeWebRequest.IgnoreRules({
+ lowerPriorityThan: 2 })
+ ]
+ },
+ // This rule cancels everyhting, and sooner that the very first rule
Jeffrey Yasskin 2012/12/18 03:09:58 sp: everyhting. s/that/than/
vabr (Chromium) 2013/01/21 10:57:48 Done.
+ // would. The test is reduced to making sure this (3rd) rule was ignored
+ // as a consequence of the 2nd rule.
+ {'priority': 1,
+ 'conditions': [new RequestMatcher({
+ 'stages': ["onBeforeRequest"]
+ })],
+ 'actions': [new chrome.declarativeWebRequest.CancelRequest()]
+ },
+ ],
+ function() {navigateAndWait(getURLThirdParty());}
+ );
+ },
+
function testRedirectRequest() {
ignoreUnexpected = true;
expect(

Powered by Google App Engine
This is Rietveld 408576698