chrome: Fix callbacks for different Profile types (see issue #2969)

- Only install network intercepts for Profiles that have an associated
  CefBrowserContext. For incognito windows the CefBrowserContext is
  associated with the OffTheRecordProfileImpl's original Profile.
- cefsimple: Return the default CefClient instance for browser windows
  created via the Chrome UI, and allow Chrome to show error pages.
This commit is contained in:
Marshall Greenblatt
2021-02-15 16:40:07 -05:00
parent bf3b7b2c62
commit ec7067c55e
6 changed files with 41 additions and 6 deletions

View File

@@ -260,8 +260,10 @@ class InterceptedRequestHandlerWrapper : public InterceptedRequestHandler {
CEF_REQUIRE_UIT();
browser_context_ = browser_context;
auto profile = Profile::FromBrowserContext(browser_context);
auto cef_browser_context =
CefBrowserContext::FromBrowserContext(browser_context);
CefBrowserContext::FromBrowserContext(profile->GetOriginalProfile());
iothread_state_ = cef_browser_context->iothread_state();
DCHECK(iothread_state_);
cookieable_schemes_ = cef_browser_context->GetCookieableSchemes();