Chromium Code Reviews| 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. |