Home | History | Annotate | Download | only in declarative_webrequest
      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.
      4 
      5 #ifndef CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_REQUEST_STAGE_H_
      6 #define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_REQUEST_STAGE_H_
      7 
      8 namespace extensions {
      9 
     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.
     15 enum RequestStage {
     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,
     24   ON_ERROR = 1 << 8
     25 };
     26 
     27 // The bitmap with active stages.
     28 extern const unsigned int kActiveStages;
     29 
     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;
     33 
     34 }  // namespace extensions
     35 
     36 #endif  // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_WEBREQUEST_REQUEST_STAGE_H_
     37