1) content::RendererPreferences::enable_do_not_track, which sets what navigator.doNotTrack returns.
2) Manually adding the DNT header to outgoing network requests in oxide::NetworkDelegate.
Because 2) happens on Chromium's IO thread, we can't have a per-WebView setting or a property in WebPreferences for this (as there's no safe way to map a render process ID and render view ID to a WebView on the IO thread, and WebView + everything it encapsulates in Chromium is not thread safe). This would need to be a new property on WebContext, which provides a mechanism to access various properties on the IO thread (via oxide::BrowserContextIOData).
Sorry I've not had a chance to work on this yet.
There are 2 places we need to set DNT settings:
1) content: :RendererPrefer ences:: enable_ do_not_ track, which sets what navigator. doNotTrack returns. NetworkDelegate .
2) Manually adding the DNT header to outgoing network requests in oxide::
Because 2) happens on Chromium's IO thread, we can't have a per-WebView setting or a property in WebPreferences for this (as there's no safe way to map a render process ID and render view ID to a WebView on the IO thread, and WebView + everything it encapsulates in Chromium is not thread safe). This would need to be a new property on WebContext, which provides a mechanism to access various properties on the IO thread (via oxide:: BrowserContextI OData).
This should be fairly simple to implement