It's hard to test it, because I would need to test it in our client's environment. So, I have to find a fix that I'm pretty sure that should work, and send the fixed product to the client to test it.
If I get the browser host's host->GetRequestContext()->GetAllPreferences(true), I should get all the prefs values including those with default values, right? When I recursively iterate over the dictionary, I see a lot of prefs values:
- Code: Select all
accessibility
show_internal_accessibility_tree = false
account_id_migration_state = 0
account_info =
account_tracker_service_last_update = 0
alternate_error_pages
enabled = true
apps
fullscreen
allowed = true
auth
allow_cross_origin_prompt = false
ambient_auth_in_private_modes = 0
globally_scoped_http_auth_cache_enabled = false
autogenerated
theme
color = 0
policy
color = 0
...and so on...
However, grepping this list for "scheme" yields no result, and, interestingly, grepping for "whitelist" only yields "native_messaging.whitelist" and "safebrowsing.safe_browsing_whitelist_domains". So, either there is no such preference any more, or GetAllPreferences does not return all preferences.
In Chromium source, I found in chrome/browser/policy/configuration_policy_handler_list_factory.cc:
- Code: Select all
{ key::kAuthSchemes,
prefs::kAuthSchemes,
base::Value::Type::STRING }
In chrome/common/pref_names.cc, prefs::kAuthSchemes is defined as "auth.schemes". So, I'm going to try setting this and "auth.server_whitelist" even though both don't appear in GetAllPreferences...