| Index: extensions/browser/api/web_request/web_request_api.h
|
| diff --git a/extensions/browser/api/web_request/web_request_api.h b/extensions/browser/api/web_request/web_request_api.h
|
| index 191005d54a069aedc01fc8a4790e98ffc03b723f..805d11b4668b71ada7cdbf5f1d0add4b7fe1fca7 100644
|
| --- a/extensions/browser/api/web_request/web_request_api.h
|
| +++ b/extensions/browser/api/web_request/web_request_api.h
|
| @@ -57,6 +57,7 @@ class URLRequest;
|
| namespace extensions {
|
|
|
| class InfoMap;
|
| +class WebRequestEventDetails;
|
| class WebRequestRulesRegistry;
|
| class WebRequestEventRouterDelegate;
|
|
|
| @@ -127,22 +128,6 @@ class ExtensionWebRequestEventRouter
|
| int window_id;
|
| };
|
|
|
| - // Internal representation of the extraInfoSpec parameter on webRequest
|
| - // events, used to specify extra information to be included with network
|
| - // events.
|
| - struct ExtraInfoSpec {
|
| - enum Flags {
|
| - REQUEST_HEADERS = 1<<0,
|
| - RESPONSE_HEADERS = 1<<1,
|
| - BLOCKING = 1<<2,
|
| - ASYNC_BLOCKING = 1<<3,
|
| - REQUEST_BODY = 1<<4,
|
| - };
|
| -
|
| - static bool InitFromValue(const base::ListValue& value,
|
| - int* extra_info_spec);
|
| - };
|
| -
|
| // Contains an extension's response to a blocking event.
|
| struct EventResponse {
|
| EventResponse(const std::string& extension_id,
|
| @@ -336,18 +321,15 @@ class ExtensionWebRequestEventRouter
|
| // destroyed safely.
|
| void ClearPendingCallbacks(const net::URLRequest* request);
|
|
|
| - bool DispatchEvent(
|
| - void* browser_context,
|
| - net::URLRequest* request,
|
| - const std::vector<const EventListener*>& listeners,
|
| - const base::ListValue& args);
|
| + bool DispatchEvent(void* browser_context,
|
| + net::URLRequest* request,
|
| + const std::vector<const EventListener*>& listeners,
|
| + scoped_ptr<WebRequestEventDetails> event_details);
|
|
|
| void DispatchEventToListeners(
|
| void* browser_context,
|
| scoped_ptr<std::vector<EventListener>> listeners,
|
| - base::DictionaryValue* dict,
|
| - int extension_api_frame_id,
|
| - int extension_api_parent_frame_id);
|
| + scoped_ptr<WebRequestEventDetails> event_details);
|
|
|
| // Returns a list of event listeners that care about the given event, based
|
| // on their filter parameters. |extra_info_spec| will contain the combined
|
| @@ -434,11 +416,10 @@ class ExtensionWebRequestEventRouter
|
| uint64_t request_id,
|
| extensions::RequestStage request_stage);
|
|
|
| - // Extracts from |request| information for the keys requestId, url, method,
|
| - // frameId, tabId, type, and timeStamp and writes these into |out| to be
|
| - // passed on to extensions.
|
| - void ExtractRequestInfo(const net::URLRequest* request,
|
| - base::DictionaryValue* out);
|
| + // Returns event details for a given request.
|
| + scoped_ptr<WebRequestEventDetails> CreateEventDetails(
|
| + const net::URLRequest* request,
|
| + int extra_info_spec);
|
|
|
| // Sets the flag that |event_type| has been signaled for |request_id|.
|
| // Returns the value of the flag before setting it.
|
|
|