1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_EVENT_ROUTER_DELEGATE_H_
6 #define EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_EVENT_ROUTER_DELEGATE_H_
10 #include "base/values.h"
15 class DictionaryValue
;
20 } // namespace content
26 namespace extensions
{
28 // A delegate class of WebRequestApi that are not a part of chrome.
29 class WebRequestEventRouterDelegate
{
31 WebRequestEventRouterDelegate();
32 virtual ~WebRequestEventRouterDelegate();
34 // Looks up the tab and window ID for a given request.
35 // Called on the IO thread.
36 virtual void ExtractExtraRequestDetails(
37 net::URLRequest
* request
, base::DictionaryValue
* out
);
39 // Called to check extra parameters (e.g., tab_id, windown_id) when filtering
41 virtual bool OnGetMatchingListenersImplCheck(
42 int tab_id
, int window_id
, net::URLRequest
* request
);
44 // Logs an extension action.
45 virtual void LogExtensionActivity(
46 content::BrowserContext
* browser_context
,
48 const std::string
& extension_id
,
50 const std::string
& api_call
,
51 scoped_ptr
<base::DictionaryValue
> details
) {};
53 DISALLOW_COPY_AND_ASSIGN(WebRequestEventRouterDelegate
);
56 } // namespace extensions
58 #endif // EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_EVENT_ROUTER_DELEGATE_H_