// Copyright (c) 2012 The Chromium Embedded Framework 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 CEF_LIBCEF_BROWSER_NET_SERVICE_BROWSER_URLREQUEST_IMPL_H_ #define CEF_LIBCEF_BROWSER_NET_SERVICE_BROWSER_URLREQUEST_IMPL_H_ #include #include "include/cef_urlrequest.h" class CefBrowserURLRequest : public CefURLRequest { public: class Context; // If |frame| is nullptr requests can still be intercepted but no // browser/frame will be associated with them. CefBrowserURLRequest(CefRefPtr frame, CefRefPtr request, CefRefPtr client, CefRefPtr request_context); ~CefBrowserURLRequest() override; bool Start(); // CefURLRequest methods. CefRefPtr GetRequest() override; CefRefPtr GetClient() override; Status GetRequestStatus() override; ErrorCode GetRequestError() override; CefRefPtr GetResponse() override; bool ResponseWasCached() override; void Cancel() override; private: bool VerifyContext(); std::unique_ptr context_; IMPLEMENT_REFCOUNTING(CefBrowserURLRequest); }; #endif // CEF_LIBCEF_BROWSER_NET_SERVICE_BROWSER_URLREQUEST_IMPL_H_