Comment 4 for bug 1178002

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Sorry I've not had a chance to work on this yet.

There are 2 places we need to set DNT settings:

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).

This should be fairly simple to implement