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_