Add support to control ambient auth

This change also adds support to disable ambient auth in incognito and guest profiles.

Aside from incognito/guest scenarios, this change also applies to:
  - the http proxy code (which already seems to opt out of default authentication)
  - and the headless request context (which wants ambient auth)

I have updated http proxy and headless code accordingly to preserve their existing behaviors.

Bug:458508

Change-Id: Id0eb81f902edaeb1659cf927e09328af05f29dd2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1707459
Commit-Queue: Ramin Halavati <[email protected]>
Reviewed-by: Ramin Halavati <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Ryan Sleevi <[email protected]>
Reviewed-by: Sami Kyöstilä <[email protected]>
Cr-Commit-Position: refs/heads/master@{#685973}
diff --git a/net/quic/quic_proxy_client_socket_unittest.cc b/net/quic/quic_proxy_client_socket_unittest.cc
index 75b361d2..682982a 100644
--- a/net/quic/quic_proxy_client_socket_unittest.cc
+++ b/net/quic/quic_proxy_client_socket_unittest.cc
@@ -265,7 +265,8 @@
         new HttpAuthController(
             HttpAuth::AUTH_PROXY,
             GURL("https://" + proxy_host_port_.ToString()), &http_auth_cache_,
-            http_auth_handler_factory_.get(), host_resolver_.get())));
+            http_auth_handler_factory_.get(), host_resolver_.get(),
+            HttpAuthPreferences::ALLOW_DEFAULT_CREDENTIALS)));
 
     session_->StartReading();
   }