| Index: chrome/browser/extensions/event_router.cc
|
| diff --git a/chrome/browser/extensions/event_router.cc b/chrome/browser/extensions/event_router.cc
|
| index 8be11a650290ffce2321c1ca1e03c98d52bab06b..325009f0a7193382206244f997414f348ab0fe8d 100644
|
| --- a/chrome/browser/extensions/event_router.cc
|
| +++ b/chrome/browser/extensions/event_router.cc
|
| @@ -13,6 +13,7 @@
|
| #include "chrome/browser/extensions/api/web_request/web_request_api.h"
|
| #include "chrome/browser/extensions/extension_devtools_manager.h"
|
| #include "chrome/browser/extensions/extension_host.h"
|
| +#include "chrome/browser/extensions/extension_tab_util.h"
|
| #include "chrome/browser/extensions/extension_process_manager.h"
|
| #include "chrome/browser/extensions/extension_processes_api.h"
|
| #include "chrome/browser/extensions/extension_processes_api_constants.h"
|
| @@ -443,6 +444,11 @@ void EventRouter::DispatchEventToProcess(const std::string& extension_id,
|
| return;
|
| }
|
|
|
| + // If the "tabs" permission is not present, we need to strip the Tab argument
|
| + // of sensitive data.
|
| + ExtensionTabUtil::MaybeStripEventArgsOfSensitiveData(
|
| + event->event_name, extension, event_args);
|
| +
|
| DispatchExtensionMessage(process, extension_id,
|
| event->event_name, event_args,
|
| event->event_url, event->user_gesture,
|
| @@ -523,9 +529,10 @@ void EventRouter::DispatchPendingEvent(const linked_ptr<Event>& event,
|
| return;
|
|
|
| if (listeners_.HasProcessListener(host->render_process_host(),
|
| - host->extension()->id()))
|
| + host->extension()->id())) {
|
| DispatchEventToProcess(host->extension()->id(),
|
| host->render_process_host(), event);
|
| + }
|
| }
|
|
|
| void EventRouter::Observe(int type,
|
|
|