remote/network/RemoteResourceRequestHandler.h (44 lines of code) (raw):

#ifndef JCEF_REMOTERESOURCEREQUESTHANDLER_H #define JCEF_REMOTERESOURCEREQUESTHANDLER_H #include "../RemoteObjects.h" #include "RemoteCookieAccessFilter.h" #include "include/cef_request_handler.h" // All methods of this class will be called on the IO thread. class RemoteResourceRequestHandler : public CefResourceRequestHandler, public RemoteJavaObject<RemoteResourceRequestHandler> { public: explicit RemoteResourceRequestHandler(int bid, std::shared_ptr<ServerHandlerContext> serviceIO, thrift_codegen::RObject peerd); // All methods of this 'sub-class' will be called on the IO thread. CefRefPtr<CefCookieAccessFilter> GetCookieAccessFilter( CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request) override; ReturnValue OnBeforeResourceLoad(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefCallback> callback) override; // All methods of this 'sub-class' will be called on the IO thread. CefRefPtr<CefResourceHandler> GetResourceHandler( CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request) override; void OnResourceRedirect(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response, CefString& new_url) override; bool OnResourceResponse(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response) override; // NOTE: use default (empty) GetResourceResponseFilter (as in JCEF impl) void OnResourceLoadComplete(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, CefRefPtr<CefResponse> response, URLRequestStatus status, int64_t received_content_length) override; void OnProtocolExecution(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, bool& allow_os_execution) override; private: const int myBid; IMPLEMENT_REFCOUNTING(RemoteResourceRequestHandler); }; #endif // JCEF_REMOTERESOURCEREQUESTHANDLER_H