Index: extensions/test/data/web_view/apitest/main.js |
diff --git a/extensions/test/data/web_view/apitest/main.js b/extensions/test/data/web_view/apitest/main.js |
index 29d692009481a2f1ee019ba66eaa6c06166ce59c..60ff1fe25d7e221b700dd42e2cb5d91486ebb1b6 100644 |
--- a/extensions/test/data/web_view/apitest/main.js |
+++ b/extensions/test/data/web_view/apitest/main.js |
@@ -1549,6 +1549,52 @@ function testWebRequestAPI() { |
document.body.appendChild(webview); |
} |
+// This test verifies that the WebRequest API onBeforeSendHeaders event fires on |
+// webview and supports headers. This tests verifies that we can modify HTTP |
+// headers via the WebRequest API and those modified headers will be sent to the |
+// HTTP server. |
+function testWebRequestAPIWithHeaders() { |
+ var webview = new WebView(); |
+ var requestFilter = { |
+ urls: ['<all_urls>'] |
+ }; |
+ var extraInfoSpec = ['requestHeaders', 'blocking']; |
+ webview.request.onBeforeSendHeaders.addListener(function(details) { |
+ var headers = details.requestHeaders; |
+ for( var i = 0, l = headers.length; i < l; ++i ) { |
+ if (headers[i].name == 'User-Agent') { |
+ headers[i].value = 'foobar'; |
+ break; |
+ } |
+ } |
+ var blockingResponse = {}; |
+ blockingResponse.requestHeaders = headers; |
+ return blockingResponse; |
+ }, requestFilter, extraInfoSpec); |
+ |
+ var loadstartCalled = false; |
+ webview.addEventListener('loadstart', function(e) { |
+ embedder.test.assertTrue(e.isTopLevel); |
+ embedder.test.assertEq(embedder.detectUserAgentURL, e.url); |
+ loadstartCalled = true; |
+ }); |
+ |
+ webview.addEventListener('loadredirect', function(e) { |
+ embedder.test.assertTrue(e.isTopLevel); |
+ embedder.test.assertEq(embedder.detectUserAgentURL, |
+ e.oldUrl.replace('127.0.0.1', 'localhost')); |
+ embedder.test.assertEq(embedder.redirectGuestURLDest, |
+ e.newUrl.replace('127.0.0.1', 'localhost')); |
+ if (loadstartCalled) { |
+ embedder.test.succeed(); |
+ } else { |
+ embedder.test.fail(); |
+ } |
+ }); |
+ webview.src = embedder.detectUserAgentURL; |
lfg
2014/10/08 17:23:31
This needs to be defined on top of this file.
Fady Samuel
2014/10/08 19:18:50
Done.
|
+ document.body.appendChild(webview); |
+} |
+ |
function testWebRequestAPIExistence() { |
var apiPropertiesToCheck = [ |
// Declarative WebRequest API. |