OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condit
ion_attribute.h" | 5 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_condit
ion_attribute.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
11 #include "base/values.h" | 11 #include "base/values.h" |
12 #include "chrome/browser/extensions/api/declarative_webrequest/request_stages.h" | 12 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h" |
13 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta
nts.h" | 13 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta
nts.h" |
14 #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" | 14 #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" |
15 #include "content/public/browser/resource_request_info.h" | 15 #include "content/public/browser/resource_request_info.h" |
16 #include "net/url_request/url_request.h" | 16 #include "net/url_request/url_request.h" |
17 | 17 |
18 namespace { | 18 namespace { |
19 // Error messages. | 19 // Error messages. |
20 const char kUnknownConditionAttribute[] = "Unknown matching condition: '%s'"; | 20 const char kUnknownConditionAttribute[] = "Unknown matching condition: '%s'"; |
21 const char kInvalidValue[] = "Condition '%s' has an invalid value"; | 21 const char kInvalidValue[] = "Condition '%s' has an invalid value"; |
22 } | 22 } |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 new WebRequestConditionAttributeResourceType(passed_types)); | 107 new WebRequestConditionAttributeResourceType(passed_types)); |
108 } | 108 } |
109 | 109 |
110 int WebRequestConditionAttributeResourceType::GetStages() const { | 110 int WebRequestConditionAttributeResourceType::GetStages() const { |
111 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_SEND_HEADERS | | 111 return ON_BEFORE_REQUEST | ON_BEFORE_SEND_HEADERS | ON_SEND_HEADERS | |
112 ON_HEADERS_RECEIVED | ON_AUTH_REQUIRED | ON_BEFORE_REDIRECT | | 112 ON_HEADERS_RECEIVED | ON_AUTH_REQUIRED | ON_BEFORE_REDIRECT | |
113 ON_RESPONSE_STARTED | ON_COMPLETED | ON_ERROR; | 113 ON_RESPONSE_STARTED | ON_COMPLETED | ON_ERROR; |
114 } | 114 } |
115 | 115 |
116 bool WebRequestConditionAttributeResourceType::IsFulfilled( | 116 bool WebRequestConditionAttributeResourceType::IsFulfilled( |
117 net::URLRequest* request, | 117 const WebRequestRule::RequestData& request_data) { |
118 RequestStages request_stage) { | 118 if (!(request_data.stage & GetStages())) |
119 if (!(request_stage & GetStages())) | |
120 return false; | 119 return false; |
121 const content::ResourceRequestInfo* info = | 120 const content::ResourceRequestInfo* info = |
122 content::ResourceRequestInfo::ForRequest(request); | 121 content::ResourceRequestInfo::ForRequest(request_data.request); |
123 if (!info) | 122 if (!info) |
124 return false; | 123 return false; |
125 return std::find(types_.begin(), types_.end(), info->GetResourceType()) != | 124 return std::find(types_.begin(), types_.end(), info->GetResourceType()) != |
126 types_.end(); | 125 types_.end(); |
127 } | 126 } |
128 | 127 |
129 WebRequestConditionAttribute::Type | 128 WebRequestConditionAttribute::Type |
130 WebRequestConditionAttributeResourceType::GetType() const { | 129 WebRequestConditionAttributeResourceType::GetType() const { |
131 return CONDITION_RESOURCE_TYPE; | 130 return CONDITION_RESOURCE_TYPE; |
132 } | 131 } |
133 | 132 |
134 } // namespace extensions | 133 } // namespace extensions |
OLD | NEW |