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 b04ee7656142448910ea7ca0946aa93a77449397..c85846a3267d1ff5a9eb2cac5f706c3f866315a6 100644 |
--- a/extensions/browser/api/web_request/web_request_api.cc |
+++ b/extensions/browser/api/web_request/web_request_api.cc |
@@ -458,7 +458,7 @@ struct ExtensionWebRequestEventRouter::EventListener { |
RequestFilter filter; |
int extra_info_spec; |
int embedder_process_id; |
- int webview_instance_id; |
+ int web_view_instance_id; |
Devlin
2015/01/21 22:31:45
why the change? It looks like webview is more pop
Fady Samuel
2015/01/21 23:05:41
This matches the naming in extensions/browser/gues
|
base::WeakPtr<IPC::Sender> ipc_sender; |
mutable std::set<uint64> blocked_requests; |
@@ -466,9 +466,25 @@ struct ExtensionWebRequestEventRouter::EventListener { |
bool operator<(const EventListener& that) const { |
if (extension_id < that.extension_id) |
Devlin
2015/01/21 22:31:45
instead, do:
if (extension_id != that.extension_id
Fady Samuel
2015/01/21 23:05:41
Done.
|
return true; |
+ |
+ if (extension_id == that.extension_id && |
+ sub_event_name < that.sub_event_name) { |
+ return true; |
+ } |
+ |
if (extension_id == that.extension_id && |
- sub_event_name < that.sub_event_name) |
+ sub_event_name == that.sub_event_name && |
+ embedder_process_id < that.embedder_process_id) { |
return true; |
+ } |
+ |
+ if (extension_id == that.extension_id && |
+ sub_event_name == that.sub_event_name && |
+ embedder_process_id == that.embedder_process_id && |
+ web_view_instance_id < that.web_view_instance_id) { |
+ return true; |
+ } |
+ |
return false; |
} |
@@ -1279,7 +1295,7 @@ bool ExtensionWebRequestEventRouter::AddEventListener( |
const RequestFilter& filter, |
int extra_info_spec, |
int embedder_process_id, |
- int webview_instance_id, |
+ int web_view_instance_id, |
base::WeakPtr<IPC::Sender> ipc_sender) { |
if (!IsWebRequestEvent(event_name)) |
return false; |
@@ -1292,8 +1308,8 @@ bool ExtensionWebRequestEventRouter::AddEventListener( |
listener.extra_info_spec = extra_info_spec; |
listener.ipc_sender = ipc_sender; |
listener.embedder_process_id = embedder_process_id; |
- listener.webview_instance_id = webview_instance_id; |
- if (listener.webview_instance_id) { |
+ listener.web_view_instance_id = web_view_instance_id; |
+ if (listener.web_view_instance_id) { |
content::RecordAction( |
base::UserMetricsAction("WebView.WebRequest.AddListener")); |
} |
@@ -1344,7 +1360,7 @@ void ExtensionWebRequestEventRouter::RemoveWebViewEventListeners( |
void* browser_context, |
const std::string& extension_id, |
int embedder_process_id, |
- int webview_instance_id) { |
+ int web_view_instance_id) { |
// Iterate over all listeners of all WebRequest events to delete |
// any listeners that belong to the provided <webview>. |
ListenerMapForBrowserContext& map_for_browser_context = |
@@ -1358,7 +1374,7 @@ void ExtensionWebRequestEventRouter::RemoveWebViewEventListeners( |
listener_iter != listeners.end(); ++listener_iter) { |
const EventListener& listener = *listener_iter; |
if (listener.embedder_process_id == embedder_process_id && |
- listener.webview_instance_id == webview_instance_id) |
+ listener.web_view_instance_id == web_view_instance_id) |
listeners_to_delete.push_back(listener); |
} |
for (size_t i = 0; i < listeners_to_delete.size(); ++i) { |
@@ -1482,7 +1498,7 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl( |
if (is_web_view_guest && |
(it->embedder_process_id != web_view_info.embedder_process_id || |
- it->webview_instance_id != web_view_info.instance_id)) |
+ it->web_view_instance_id != web_view_info.instance_id)) |
continue; |
if (!it->filter.urls.is_empty() && !it->filter.urls.MatchesURL(url)) |
@@ -2205,8 +2221,8 @@ bool WebRequestInternalAddEventListenerFunction::RunSync() { |
std::string sub_event_name; |
EXTENSION_FUNCTION_VALIDATE(args_->GetString(4, &sub_event_name)); |
- int webview_instance_id = 0; |
- EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(5, &webview_instance_id)); |
+ int web_view_instance_id = 0; |
+ EXTENSION_FUNCTION_VALIDATE(args_->GetInteger(5, &web_view_instance_id)); |
base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender = |
ipc_sender_weak(); |
@@ -2218,7 +2234,7 @@ bool WebRequestInternalAddEventListenerFunction::RunSync() { |
std::string extension_name = |
extension ? extension->name() : extension_id_safe(); |
- if (webview_instance_id == 0) { |
+ if (web_view_instance_id == 0) { |
// We check automatically whether the extension has the 'webRequest' |
// permission. For blocking calls we require the additional permission |
// 'webRequestBlocking'. |
@@ -2249,7 +2265,7 @@ bool WebRequestInternalAddEventListenerFunction::RunSync() { |
ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
profile_id(), extension_id_safe(), extension_name, |
event_name, sub_event_name, filter, extra_info_spec, |
- embedder_process_id, webview_instance_id, ipc_sender_weak()); |
+ embedder_process_id, web_view_instance_id, ipc_sender_weak()); |
EXTENSION_FUNCTION_VALIDATE(success); |
helpers::ClearCacheOnNavigation(); |