1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_REQUEST_STAGE_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_REQUEST_STAGE_H_
10 // The stages of the web request during which a condition could be tested and
11 // an action could be applied. This is required because for example the response
12 // headers cannot be tested before a request has been sent. Note that currently
13 // not all stages are supported in declarative Web Request, only those marked
14 // as "active" in |kActiveStages| below.
16 ON_BEFORE_REQUEST = 1 << 0,
17 ON_BEFORE_SEND_HEADERS = 1 << 1,
18 ON_SEND_HEADERS = 1 << 2,
19 ON_HEADERS_RECEIVED = 1 << 3,
20 ON_AUTH_REQUIRED = 1 << 4,
21 ON_BEFORE_REDIRECT = 1 << 5,
22 ON_RESPONSE_STARTED = 1 << 6,
23 ON_COMPLETED = 1 << 7,
27 // The bitmap with active stages.
28 extern const unsigned int kActiveStages;
30 // The highest bit in |kActiveStages|. This allows to iterate over all active
31 // stages in a "for" loop.
32 extern const unsigned int kLastActiveStage;
34 } // namespace extensions
36 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_REQUEST_STAGE_H_