Index: extensions/browser/api/web_request/web_request_api.cc |
diff --git a/extensions/browser/api/web_request/web_request_api.cc b/extensions/browser/api/web_request/web_request_api.cc |
index 88212320ef6a97acc281b35745777b37af4836ee..ad112574ec5d681ad18c0bae10ac37e97d878e23 100644 |
--- a/extensions/browser/api/web_request/web_request_api.cc |
+++ b/extensions/browser/api/web_request/web_request_api.cc |
@@ -69,20 +69,15 @@ using content::BrowserMessageFilter; |
using content::BrowserThread; |
using content::ResourceRequestInfo; |
using content::ResourceType; |
-using extensions::ErrorUtils; |
-using extensions::Extension; |
-using extensions::InfoMap; |
-using extensions::Feature; |
-using extensions::RulesRegistryService; |
-using extensions::Warning; |
-using extensions::WarningService; |
-using extensions::WarningSet; |
- |
-namespace activitylog = activity_log_web_request_constants; |
+ |
+namespace activity_log = activity_log_web_request_constants; |
namespace helpers = extension_web_request_api_helpers; |
namespace keys = extension_web_request_api_constants; |
-namespace web_request = extensions::core_api::web_request; |
-namespace declarative_keys = extensions::declarative_webrequest_constants; |
+ |
+namespace extensions { |
+ |
+namespace declarative_keys = declarative_webrequest_constants; |
+namespace web_request = core_api::web_request; |
namespace { |
@@ -181,14 +176,13 @@ void ExtractRequestRoutingInfo(net::URLRequest* request, |
// a <webview> guest process or not. If it is from a <webview> guest process, |
// then |web_view_info| is returned with information about the instance ID |
// that uniquely identifies the <webview> and its embedder. |
-bool GetWebViewInfo( |
- net::URLRequest* request, |
- extensions::WebViewRendererState::WebViewInfo* web_view_info) { |
+bool GetWebViewInfo(net::URLRequest* request, |
+ WebViewRendererState::WebViewInfo* web_view_info) { |
int render_process_host_id = -1; |
int routing_id = -1; |
ExtractRequestRoutingInfo(request, &render_process_host_id, &routing_id); |
- return extensions::WebViewRendererState::GetInstance()-> |
- GetInfo(render_process_host_id, routing_id, web_view_info); |
+ return WebViewRendererState::GetInstance()->GetInfo( |
+ render_process_host_id, routing_id, web_view_info); |
} |
void ExtractRequestInfoDetails(net::URLRequest* request, |
@@ -229,11 +223,11 @@ void ExtractRequestInfoBody(const net::URLRequest* request, |
out->Set(keys::kRequestBodyKey, request_body); |
// Get the data presenters, ordered by how specific they are. |
- extensions::ParsedDataPresenter parsed_data_presenter(*request); |
- extensions::RawDataPresenter raw_data_presenter; |
- extensions::UploadDataPresenter* const presenters[] = { |
- &parsed_data_presenter, // 1: any parseable forms? (Specific to forms.) |
- &raw_data_presenter // 2: any data at all? (Non-specific.) |
+ ParsedDataPresenter parsed_data_presenter(*request); |
+ RawDataPresenter raw_data_presenter; |
+ UploadDataPresenter* const presenters[] = { |
+ &parsed_data_presenter, // 1: any parseable forms? (Specific to forms.) |
+ &raw_data_presenter // 2: any data at all? (Non-specific.) |
}; |
// Keys for the results of the corresponding presenters. |
static const char* const kKeys[] = { |
@@ -330,39 +324,39 @@ void SendOnMessageEventOnUI( |
void* browser_context_id, |
const std::string& extension_id, |
bool is_web_view_guest, |
- const extensions::WebViewRendererState::WebViewInfo& web_view_info, |
+ const WebViewRendererState::WebViewInfo& web_view_info, |
scoped_ptr<base::DictionaryValue> event_argument) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
content::BrowserContext* browser_context = |
reinterpret_cast<content::BrowserContext*>(browser_context_id); |
- if (!extensions::ExtensionsBrowserClient::Get()->IsValidContext( |
- browser_context)) |
+ if (!ExtensionsBrowserClient::Get()->IsValidContext(browser_context)) |
return; |
scoped_ptr<base::ListValue> event_args(new base::ListValue); |
event_args->Append(event_argument.release()); |
- extensions::EventRouter* event_router = |
- extensions::EventRouter::Get(browser_context); |
+ EventRouter* event_router = EventRouter::Get(browser_context); |
- extensions::EventFilteringInfo event_filtering_info; |
+ EventFilteringInfo event_filtering_info; |
+ events::HistogramValue histogram_value = events::UNKNOWN; |
std::string event_name; |
// The instance ID uniquely identifies a <webview> instance within an embedder |
// process. We use a filter here so that only event listeners for a particular |
// <webview> will fire. |
if (is_web_view_guest) { |
event_filtering_info.SetInstanceID(web_view_info.instance_id); |
+ histogram_value = events::WEB_VIEW_INTERNAL_ON_MESSAGE; |
event_name = webview::kEventMessage; |
} else { |
+ histogram_value = events::DECLARATIVE_WEB_REQUEST_ON_MESSAGE; |
event_name = declarative_keys::kOnMessage; |
} |
- scoped_ptr<extensions::Event> event(new extensions::Event( |
- extensions::events::UNKNOWN, event_name, event_args.Pass(), |
- browser_context, GURL(), extensions::EventRouter::USER_GESTURE_UNKNOWN, |
- event_filtering_info)); |
+ scoped_ptr<Event> event(new Event( |
+ histogram_value, event_name, event_args.Pass(), browser_context, GURL(), |
+ EventRouter::USER_GESTURE_UNKNOWN, event_filtering_info)); |
event_router->DispatchEventToExtension(extension_id, event.Pass()); |
} |
@@ -380,8 +374,6 @@ void RemoveEventListenerOnIOThread( |
} // namespace |
-namespace extensions { |
- |
WebRequestAPI::WebRequestAPI(content::BrowserContext* context) |
: browser_context_(context) { |
EventRouter* event_router = EventRouter::Get(browser_context_); |
@@ -428,8 +420,6 @@ void WebRequestAPI::OnListenerRemoved(const EventListenerInfo& details) { |
0 /* web_view_instance_id */)); |
} |
-} // namespace extensions |
- |
// Represents a single unique listener to an event, along with whatever filter |
// parameters and extra_info_spec were specified at the time the listener was |
// added. |
@@ -648,8 +638,7 @@ ExtensionWebRequestEventRouter* ExtensionWebRequestEventRouter::GetInstance() { |
ExtensionWebRequestEventRouter::ExtensionWebRequestEventRouter() |
: request_time_tracker_(new ExtensionWebRequestTimeTracker) { |
web_request_event_router_delegate_.reset( |
- extensions::ExtensionsAPIClient::Get()-> |
- CreateWebRequestEventRouterDelegate()); |
+ ExtensionsAPIClient::Get()->CreateWebRequestEventRouterDelegate()); |
} |
ExtensionWebRequestEventRouter::~ExtensionWebRequestEventRouter() { |
@@ -658,7 +647,7 @@ ExtensionWebRequestEventRouter::~ExtensionWebRequestEventRouter() { |
void ExtensionWebRequestEventRouter::RegisterRulesRegistry( |
void* browser_context, |
int rules_registry_id, |
- scoped_refptr<extensions::WebRequestRulesRegistry> rules_registry) { |
+ scoped_refptr<WebRequestRulesRegistry> rules_registry) { |
RulesRegistryKey key(browser_context, rules_registry_id); |
if (rules_registry.get()) |
rules_registries_[key] = rules_registry; |
@@ -724,7 +713,7 @@ int ExtensionWebRequestEventRouter::OnBeforeRequest( |
initialize_blocked_requests |= |
ProcessDeclarativeRules(browser_context, extension_info_map, |
web_request::OnBeforeRequest::kEventName, request, |
- extensions::ON_BEFORE_REQUEST, NULL); |
+ ON_BEFORE_REQUEST, NULL); |
int extra_info_spec = 0; |
std::vector<const EventListener*> listeners = |
@@ -778,10 +767,9 @@ int ExtensionWebRequestEventRouter::OnBeforeSendHeaders( |
bool initialize_blocked_requests = false; |
- initialize_blocked_requests |= |
- ProcessDeclarativeRules(browser_context, extension_info_map, |
- keys::kOnBeforeSendHeadersEvent, request, |
- extensions::ON_BEFORE_SEND_HEADERS, NULL); |
+ initialize_blocked_requests |= ProcessDeclarativeRules( |
+ browser_context, extension_info_map, keys::kOnBeforeSendHeadersEvent, |
+ request, ON_BEFORE_SEND_HEADERS, NULL); |
int extra_info_spec = 0; |
std::vector<const EventListener*> listeners = |
@@ -870,11 +858,9 @@ int ExtensionWebRequestEventRouter::OnHeadersReceived( |
bool initialize_blocked_requests = false; |
- initialize_blocked_requests |= |
- ProcessDeclarativeRules(browser_context, extension_info_map, |
- keys::kOnHeadersReceivedEvent, request, |
- extensions::ON_HEADERS_RECEIVED, |
- original_response_headers); |
+ initialize_blocked_requests |= ProcessDeclarativeRules( |
+ browser_context, extension_info_map, keys::kOnHeadersReceivedEvent, |
+ request, ON_HEADERS_RECEIVED, original_response_headers); |
int extra_info_spec = 0; |
std::vector<const EventListener*> listeners = |
@@ -1210,12 +1196,10 @@ bool ExtensionWebRequestEventRouter::DispatchEvent( |
if (!((*it)->extra_info_spec & ExtraInfoSpec::RESPONSE_HEADERS)) |
dict->Remove(keys::kResponseHeadersKey, NULL); |
- extensions::EventRouter::DispatchEvent( |
- (*it)->ipc_sender.get(), browser_context, |
- (*it)->extension_id, (*it)->sub_event_name, |
- args_filtered.Pass(), |
- extensions::EventRouter::USER_GESTURE_UNKNOWN, |
- extensions::EventFilteringInfo()); |
+ EventRouter::DispatchEvent( |
+ (*it)->ipc_sender.get(), browser_context, (*it)->extension_id, |
+ (*it)->sub_event_name, args_filtered.Pass(), |
+ EventRouter::USER_GESTURE_UNKNOWN, EventFilteringInfo()); |
if ((*it)->extra_info_spec & |
(ExtraInfoSpec::BLOCKING | ExtraInfoSpec::ASYNC_BLOCKING)) { |
(*it)->blocked_requests.insert(request->identifier()); |
@@ -1311,8 +1295,7 @@ void ExtensionWebRequestEventRouter::RemoveEventListener( |
const std::string& sub_event_name, |
int embedder_process_id, |
int web_view_instance_id) { |
- std::string event_name = |
- extensions::EventRouter::GetBaseEventName(sub_event_name); |
+ std::string event_name = EventRouter::GetBaseEventName(sub_event_name); |
DCHECK(IsWebRequestEvent(event_name)); |
EventListener listener; |
@@ -1464,9 +1447,9 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl( |
std::vector<const ExtensionWebRequestEventRouter::EventListener*>* |
matching_listeners) { |
std::string web_request_event_name(event_name); |
- extensions::WebViewRendererState::WebViewInfo web_view_info; |
- bool is_web_view_guest = extensions::WebViewRendererState::GetInstance()-> |
- GetInfo(render_process_host_id, routing_id, &web_view_info); |
+ WebViewRendererState::WebViewInfo web_view_info; |
+ bool is_web_view_guest = WebViewRendererState::GetInstance()->GetInfo( |
+ render_process_host_id, routing_id, &web_view_info); |
if (is_web_view_guest) { |
web_request_event_name.replace( |
0, sizeof(kWebRequestEventPrefix) - 1, webview::kWebViewEventPrefix); |
@@ -1645,32 +1628,32 @@ base::ListValue* SummarizeCookieModifications( |
const CookieType& mod = *i->get(); |
switch (mod.type) { |
case helpers::ADD: |
- summary->SetString(activitylog::kCookieModificationTypeKey, |
- activitylog::kCookieModificationAdd); |
+ summary->SetString(activity_log::kCookieModificationTypeKey, |
+ activity_log::kCookieModificationAdd); |
break; |
case helpers::EDIT: |
- summary->SetString(activitylog::kCookieModificationTypeKey, |
- activitylog::kCookieModificationEdit); |
+ summary->SetString(activity_log::kCookieModificationTypeKey, |
+ activity_log::kCookieModificationEdit); |
break; |
case helpers::REMOVE: |
- summary->SetString(activitylog::kCookieModificationTypeKey, |
- activitylog::kCookieModificationRemove); |
+ summary->SetString(activity_log::kCookieModificationTypeKey, |
+ activity_log::kCookieModificationRemove); |
break; |
} |
if (mod.filter) { |
if (mod.filter->name) |
- summary->SetString(activitylog::kCookieFilterNameKey, |
+ summary->SetString(activity_log::kCookieFilterNameKey, |
*mod.modification->name); |
if (mod.filter->domain) |
- summary->SetString(activitylog::kCookieFilterDomainKey, |
+ summary->SetString(activity_log::kCookieFilterDomainKey, |
*mod.modification->name); |
} |
if (mod.modification) { |
if (mod.modification->name) |
- summary->SetString(activitylog::kCookieModDomainKey, |
+ summary->SetString(activity_log::kCookieModDomainKey, |
*mod.modification->name); |
if (mod.modification->domain) |
- summary->SetString(activitylog::kCookieModDomainKey, |
+ summary->SetString(activity_log::kCookieModDomainKey, |
*mod.modification->name); |
} |
cookie_modifications->Append(summary.release()); |
@@ -1685,10 +1668,10 @@ scoped_ptr<base::DictionaryValue> SummarizeResponseDelta( |
const helpers::EventResponseDelta& delta) { |
scoped_ptr<base::DictionaryValue> details(new base::DictionaryValue()); |
if (delta.cancel) { |
- details->SetBoolean(activitylog::kCancelKey, true); |
+ details->SetBoolean(activity_log::kCancelKey, true); |
} |
if (!delta.new_url.is_empty()) { |
- details->SetString(activitylog::kNewUrlKey, delta.new_url.spec()); |
+ details->SetString(activity_log::kNewUrlKey, delta.new_url.spec()); |
} |
scoped_ptr<base::ListValue> modified_headers(new base::ListValue()); |
@@ -1698,34 +1681,34 @@ scoped_ptr<base::DictionaryValue> SummarizeResponseDelta( |
helpers::CreateHeaderDictionary(iter.name(), iter.value())); |
} |
if (!modified_headers->empty()) { |
- details->Set(activitylog::kModifiedRequestHeadersKey, |
+ details->Set(activity_log::kModifiedRequestHeadersKey, |
modified_headers.release()); |
} |
scoped_ptr<base::ListValue> deleted_headers(new base::ListValue()); |
deleted_headers->AppendStrings(delta.deleted_request_headers); |
if (!deleted_headers->empty()) { |
- details->Set(activitylog::kDeletedRequestHeadersKey, |
+ details->Set(activity_log::kDeletedRequestHeadersKey, |
deleted_headers.release()); |
} |
if (!delta.added_response_headers.empty()) { |
- details->Set(activitylog::kAddedRequestHeadersKey, |
+ details->Set(activity_log::kAddedRequestHeadersKey, |
SerializeResponseHeaders(delta.added_response_headers)); |
} |
if (!delta.deleted_response_headers.empty()) { |
- details->Set(activitylog::kDeletedResponseHeadersKey, |
+ details->Set(activity_log::kDeletedResponseHeadersKey, |
SerializeResponseHeaders(delta.deleted_response_headers)); |
} |
if (delta.auth_credentials) { |
- details->SetString(activitylog::kAuthCredentialsKey, |
- base::UTF16ToUTF8( |
- delta.auth_credentials->username()) + ":*"); |
+ details->SetString( |
+ activity_log::kAuthCredentialsKey, |
+ base::UTF16ToUTF8(delta.auth_credentials->username()) + ":*"); |
} |
if (!delta.response_cookie_modifications.empty()) { |
details->Set( |
- activitylog::kResponseCookieModificationsKey, |
+ activity_log::kResponseCookieModificationsKey, |
SummarizeCookieModifications(delta.response_cookie_modifications)); |
} |
@@ -1838,7 +1821,7 @@ void ExtensionWebRequestEventRouter::SendMessages( |
message != messages.end(); ++message) { |
scoped_ptr<base::DictionaryValue> argument(new base::DictionaryValue); |
ExtractRequestInfo(blocked_request.request, argument.get()); |
- extensions::WebViewRendererState::WebViewInfo web_view_info; |
+ WebViewRendererState::WebViewInfo web_view_info; |
bool is_web_view_guest = GetWebViewInfo(blocked_request.request, |
&web_view_info); |
argument->SetString(keys::kMessageKey, *message); |
@@ -1965,9 +1948,9 @@ bool ExtensionWebRequestEventRouter::ProcessDeclarativeRules( |
InfoMap* extension_info_map, |
const std::string& event_name, |
net::URLRequest* request, |
- extensions::RequestStage request_stage, |
+ RequestStage request_stage, |
const net::HttpResponseHeaders* original_response_headers) { |
- extensions::WebViewRendererState::WebViewInfo web_view_info; |
+ WebViewRendererState::WebViewInfo web_view_info; |
bool is_web_view_guest = GetWebViewInfo(request, &web_view_info); |
int rules_registry_id = is_web_view_guest |
? web_view_info.rules_registry_id |
@@ -1976,7 +1959,7 @@ bool ExtensionWebRequestEventRouter::ProcessDeclarativeRules( |
RulesRegistryKey rules_key(browser_context, rules_registry_id); |
// If this check fails, check that the active stages are up-to-date in |
// extensions/browser/api/declarative_webrequest/request_stage.h . |
- DCHECK(request_stage & extensions::kActiveStages); |
+ DCHECK(request_stage & kActiveStages); |
// Rules of the current |browser_context| may apply but we need to check also |
// whether there are applicable rules from extensions whose background page |
@@ -1984,8 +1967,7 @@ bool ExtensionWebRequestEventRouter::ProcessDeclarativeRules( |
// First parameter identifies the registry, the second indicates whether the |
// registry belongs to the cross browser_context. |
- typedef std::pair<extensions::WebRequestRulesRegistry*, bool> |
- RelevantRegistry; |
+ typedef std::pair<WebRequestRulesRegistry*, bool> RelevantRegistry; |
typedef std::vector<RelevantRegistry> RelevantRegistries; |
RelevantRegistries relevant_registries; |
@@ -2009,7 +1991,7 @@ bool ExtensionWebRequestEventRouter::ProcessDeclarativeRules( |
// logged with UMA Extensions.NetworkDelayRegistryLoad. crbug.com/175961 |
for (RelevantRegistries::iterator i = relevant_registries.begin(); |
i != relevant_registries.end(); ++i) { |
- extensions::WebRequestRulesRegistry* rules_registry = i->first; |
+ WebRequestRulesRegistry* rules_registry = i->first; |
if (!rules_registry->ready().is_signaled()) { |
// The rules registry is still loading. Block this request until it |
// finishes. |
@@ -2040,14 +2022,11 @@ bool ExtensionWebRequestEventRouter::ProcessDeclarativeRules( |
bool deltas_created = false; |
for (RelevantRegistries::iterator i = relevant_registries.begin(); |
i != relevant_registries.end(); ++i) { |
- extensions::WebRequestRulesRegistry* rules_registry = |
- i->first; |
- helpers::EventResponseDeltas result = |
- rules_registry->CreateDeltas( |
- extension_info_map, |
- extensions::WebRequestData( |
- request, request_stage, original_response_headers), |
- i->second); |
+ WebRequestRulesRegistry* rules_registry = i->first; |
+ helpers::EventResponseDeltas result = rules_registry->CreateDeltas( |
+ extension_info_map, |
+ WebRequestData(request, request_stage, original_response_headers), |
+ i->second); |
if (!result.empty()) { |
helpers::EventResponseDeltas& deltas = |
@@ -2068,7 +2047,7 @@ void ExtensionWebRequestEventRouter::OnRulesRegistryReady( |
void* browser_context, |
const std::string& event_name, |
uint64 request_id, |
- extensions::RequestStage request_stage) { |
+ RequestStage request_stage) { |
// It's possible that this request was deleted, or cancelled by a previous |
// event handler. If so, ignore this response. |
if (blocked_requests_.find(request_id) == blocked_requests_.end()) |
@@ -2124,7 +2103,7 @@ void ExtensionWebRequestEventRouter::ClearSignaled(uint64 request_id, |
// webRequest.handlerBehaviorChanged() should trigger a quota violation at the |
// time it is called. Instead we only decrement the bucket counter at the time |
// when the cache is cleared (when page loads happen). |
-class ClearCacheQuotaHeuristic : public extensions::QuotaLimitHeuristic { |
+class ClearCacheQuotaHeuristic : public QuotaLimitHeuristic { |
public: |
ClearCacheQuotaHeuristic(const Config& config, BucketMapper* map) |
: QuotaLimitHeuristic( |
@@ -2210,8 +2189,7 @@ bool WebRequestInternalAddEventListenerFunction::RunSync() { |
int web_view_instance_id = 0; |
EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(5, &web_view_instance_id)); |
- base::WeakPtr<extensions::IOThreadExtensionMessageFilter> ipc_sender = |
- ipc_sender_weak(); |
+ base::WeakPtr<IOThreadExtensionMessageFilter> ipc_sender = ipc_sender_weak(); |
int embedder_process_id = |
ipc_sender.get() && web_view_instance_id > 0 ? |
ipc_sender->render_process_id() : 0; |
@@ -2229,7 +2207,7 @@ bool WebRequestInternalAddEventListenerFunction::RunSync() { |
(ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING | |
ExtensionWebRequestEventRouter::ExtraInfoSpec::ASYNC_BLOCKING)) && |
!extension->permissions_data()->HasAPIPermission( |
- extensions::APIPermission::kWebRequestBlocking)) { |
+ APIPermission::kWebRequestBlocking)) { |
error_ = keys::kBlockingPermissionRequired; |
return false; |
} |
@@ -2434,13 +2412,13 @@ bool WebRequestInternalEventHandledFunction::RunSync() { |
} |
void WebRequestHandlerBehaviorChangedFunction::GetQuotaLimitHeuristics( |
- extensions::QuotaLimitHeuristics* heuristics) const { |
- extensions::QuotaLimitHeuristic::Config config = { |
+ QuotaLimitHeuristics* heuristics) const { |
+ QuotaLimitHeuristic::Config config = { |
// See web_request.json for current value. |
web_request::MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES, |
base::TimeDelta::FromMinutes(10)}; |
- extensions::QuotaLimitHeuristic::BucketMapper* bucket_mapper = |
- new extensions::QuotaLimitHeuristic::SingletonBucketMapper(); |
+ QuotaLimitHeuristic::BucketMapper* bucket_mapper = |
+ new QuotaLimitHeuristic::SingletonBucketMapper(); |
ClearCacheQuotaHeuristic* heuristic = |
new ClearCacheQuotaHeuristic(config, bucket_mapper); |
heuristics->push_back(heuristic); |
@@ -2465,3 +2443,5 @@ bool WebRequestHandlerBehaviorChangedFunction::RunSync() { |
helpers::ClearCacheOnNavigation(); |
return true; |
} |
+ |
+} // namespace extensions |