Add NetworkService support for chrome and chrome-devtools schemes (see issue #2622).

Known behavior changes:
- Unsupported chrome hosts no longer redirect to chrome://version.

To test: All tests pass with NetworkService disabled. WebUITest.* and V8Test.*
tests pass with NetworkService enabled.
This commit is contained in:
Marshall Greenblatt
2019-04-30 16:45:13 -04:00
parent 9fd6c8a1ee
commit 370cc028cb
11 changed files with 460 additions and 331 deletions

View File

@ -8,6 +8,7 @@
#include "libcef/browser/net/chrome_scheme_handler.h"
#include "libcef/browser/net/devtools_scheme_handler.h"
#include "libcef/browser/resource_context.h"
#include "libcef/common/net/scheme_registration.h"
#include "base/memory/ptr_util.h"
@ -72,10 +73,13 @@ void InstallInternalProtectedHandlers(
}
void RegisterInternalHandlers(CefURLRequestManager* request_manager) {
scheme::RegisterChromeHandler(request_manager);
scheme::RegisterChromeDevToolsHandler(request_manager);
}
void RegisterInternalHandlers(CefResourceContext* resource_context) {
scheme::RegisterChromeDevToolsHandler(resource_context);
}
void DidFinishLoad(CefRefPtr<CefFrame> frame, const GURL& validated_url) {
if (validated_url.scheme() == content::kChromeUIScheme)
scheme::DidFinishChromeLoad(frame, validated_url);