In version 2, the app was updated to use the CefRequestContext::SetPreference method to allow changing the settings at runtime. Based on http://stackoverflow.com/questions/3609 ... at-runtime, the preference "proxy" was set to a dictionary with a key "mode" containing a string "fixed_servers" and a key "server" containing the proxy address. The bypass exceptions were still passed as command line arguments like in version 1. The proxy settings could now be updated at runtime, but the proxy bypass list was ignored.
In version 3, the app was updated to set the preferences according to the Chrome docs (https://developer.chrome.com/extensions/proxy). The code block below describes the structure used, "" indicates CEF strings and {} are CEF dictionaries. This way, the settings are completely ignored.
- Code: Select all
proxy: {
mode: "fixed_servers",
rules: {
singleProxy: {
host: "<ADDRESS>",
port: <PORT>,
scheme: "socks5"
}
}
}
I took a look at 'libcef\browser\prefs\browser_prefs.cc' and here are my questions:
- It seems like there is an attempt to forward the command line preferences to Chromium. Am I misunderstanding something? Shouldn't the method described in version 2 work?
- The structure used in version 2 fits none of the official source / documentation I could find. Is there a link to official documentation somewhere that I may have missed? Failing documentation, where is this structure parsed in the source?
- Should the preferences structure follow the ones described in the Chromium documentation? Is there a CEF specific structure?
I am using Windows 10 with CEF Branch 2623 / Chromium 49 (cef_binary_3.2623.1397.gaf139d7_windows32, latest stable on CEFBuilds.com at this time).