Index: chrome/common/extensions/docs/static/webRequest.html |
diff --git a/chrome/common/extensions/docs/static/experimental.webRequest.html b/chrome/common/extensions/docs/static/webRequest.html |
similarity index 93% |
rename from chrome/common/extensions/docs/static/experimental.webRequest.html |
rename to chrome/common/extensions/docs/static/webRequest.html |
index fe0c82ded9c89c33f7322d7ba45d6f200cb5367c..9d2b44dd023acadf295cd5ccacce8c802c1d371e 100644 |
--- a/chrome/common/extensions/docs/static/experimental.webRequest.html |
+++ b/chrome/common/extensions/docs/static/webRequest.html |
@@ -2,23 +2,25 @@ |
<!-- BEGIN AUTHORED CONTENT --> |
<p id="classSummary"> |
-Use the <code>chrome.experimental.webRequest</code> module to intercept, block, |
+Use the <code>chrome.webRequest</code> module to intercept, block, |
or modify requests in-flight. This module is still experimental. For |
information on how to use experimental APIs, see the |
<a href="experimental.html">chrome.experimental.* APIs</a> page. |
</p> |
<h2 id="manifest">Manifest</h2> |
-<p>You must declare the "experimental" permission in the <a |
+<p>You must declare the "webRequest" permission in the <a |
href="manifest.html">extension manifest</a> to use the webRequest settings |
API, along with <a href="manifest.html#permissions">host permissions</a> |
-for any hosts whose network requests you want to access. |
+for any hosts whose network requests you want to access. If you want to |
+use the webRequest API in a blocking fashion, you need to request |
+the "webRequestBlocking" permission in addition. |
For example:</p> |
<pre>{ |
"name": "My extension", |
... |
<b>"permissions": [ |
- "experimental", |
+ "webRequest", |
"*://*.google.com" |
]</b>, |
... |
@@ -155,7 +157,7 @@ HTTP redirection or HTTP authentication.</p> |
<h3 id="subscription">Subscription</h3> |
<p>For each signal XXX of the webRequest API, the API provides a function |
-<code>chrome.experimental.webRequest.XXX.addListener()</code> with the following |
+<code>chrome.webRequest.XXX.addListener()</code> with the following |
signature.</p> |
<pre> |
@@ -163,7 +165,7 @@ var callback = function(details) {...}; |
var opt_filter = {...}; |
var opt_extraInfoSpec = [...]; |
-chrome.experimental.webRequest.XXX.addListener( |
+chrome.webRequest.XXX.addListener( |
callback, opt_filter, opt_extraInfoSpec); |
</pre> |
@@ -224,7 +226,7 @@ process which roughly corresponds to a tab. Requests that are answered from the |
in-memory cache are invisible to the webRequest API. If a request handler |
changes its behavior (for example the behavior according to which requests are |
blocked), a simple page refresh might not respect this changed behavior. |
-<code>chrome.experimental.webRequest.handlerBehaviorChanged()</code> needs to be |
+<code>chrome.webRequest.handlerBehaviorChanged()</code> needs to be |
called to flush the in-memory cache. This is a very expensive operation and |
should not be done often. |
</p> |
@@ -246,7 +248,7 @@ unexpected results. |
<p>The following example illustrates how to block all requests to |
<code>www.evil.com</code>:</p> |
<pre> |
-chrome.experimental.webRequest.onBeforeRequest.addListener( |
+chrome.webRequest.onBeforeRequest.addListener( |
function(details) { |
return {cancel: details.url.indexOf("://www.evil.com/") != -1}; |
}, |
@@ -254,11 +256,14 @@ chrome.experimental.webRequest.onBeforeRequest.addListener( |
["blocking"]); |
</pre> |
+<p>As this function uses a blocking signal handler, it requires the "webRequest" |
+as well as the "webRequestBlocking" permission in the manifest file.</p> |
+ |
<p>The following example achives the same goal in a more efficient way because |
requests that are not targeted to <code>www.evil.com</code> do not need to be |
passed to the extension:</p> |
<pre> |
-chrome.experimental.webRequest.onBeforeRequest.addListener( |
+chrome.webRequest.onBeforeRequest.addListener( |
function(details) { return {cancel: true}; }, |
{urls: ["*://www.evil.com/*"]}, |
["blocking"]); |
@@ -267,7 +272,7 @@ chrome.experimental.webRequest.onBeforeRequest.addListener( |
<p>The following example illustrates how the User-Agent header can be deleted |
from all requests:</p> |
<pre> |
-chrome.experimental.webRequest.onBeforeSendHeaders.addListener( |
+chrome.webRequest.onBeforeSendHeaders.addListener( |
function(details) { |
delete details.requestHeaders['User-Agent']; |
return {requestHeaders: details.requestHeaders}; |
@@ -300,7 +305,7 @@ function getFrameUrl(windowId, tabId, frameId, frameUrl) { |
return (frameUrl[windowId] || {})[tabId + "-" + frameId]; |
} |
-chrome.experimental.webRequest.onBeforeRequest.addListener( |
+chrome.webRequest.onBeforeRequest.addListener( |
function(d) { |
if (d.type == 'main_frame' || d.type == 'sub_frame') { |
recordFrameUrl(d.windowId, d.tabId, d.frameId, d.frameUrl); |