// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_RENDERER_WEB_REQUEST_HOOKS_H_ #define EXTENSIONS_RENDERER_WEB_REQUEST_HOOKS_H_ #include #include "base/macros.h" #include "extensions/renderer/bindings/api_binding_hooks_delegate.h" #include "v8/include/v8.h" namespace extensions { // Custom hooks for the WebRequest API. class WebRequestHooks : public APIBindingHooksDelegate { public: WebRequestHooks(); ~WebRequestHooks() override; // APIBindingHooksDelegate: // Creates a new WebRequest event. // TODO(devlin): WebRequest events are a very unfortunate implementation // detail, but refactoring means changing a few parts of the internal API. // It's not impossible, but it's a bit involved. However, as we move more // towards native bindings, it's definitely something we'll want to do. bool CreateCustomEvent(v8::Local context, const std::string& event_name, v8::Local* event_out) override; private: DISALLOW_COPY_AND_ASSIGN(WebRequestHooks); }; } // namespace extensions #endif // EXTENSIONS_RENDERER_WEB_REQUEST_HOOKS_H_