Currently the browser provides user agent string overrides using WebContextDelegateWorker (intercepting onGetUserAgentOverride for accesses to navigator.userAgent and onBeforeSendHeaders for modifying the User-Agent header). However, it's only possible to access these and resolve the user agent string on the IO thread.
There is a requirement for being able to resolve the URL-specific user agent string when not on the IO thread (eg, mediahub), and this is not possible with the current design. As the browser's overrides appear to be a list of simple patterns (using "*" and "?"), there's no reason why we couldn't expose a new API (WebContext.userAgentOverrides) to allow the browser to specify the set of overrides. We would then do the matching inside of Oxide on whatever thread requires it using an API that is thread-safe internally, rather than calling in to an application provided script to do the pattern matching and determine the override.
This would mean that WebContext.userAgentOverrideDelegate would be deprecated (WebContext.networkRequestDelegate wouldn't be, as it has other uses besides setting the User-Agent header in HTTP requests).
This bug was fixed in the package webbrowser-app - 0.23+15. 10.20150913- 0ubuntu1
--------------- 10.20150913- 0ubuntu1) wily; urgency=medium
webbrowser-app (0.23+15.
[ CI Train Bot ]
* New rebuild forced.
* Resync trunk. added: po/mr.po
[ Olivier Tilloy ] userAgentOverri des API (new in Oxide 1.9).
* Allow saving canvas images from the context menu.
* Handle HTTP authentication requests by showing an authentication
dialog. (LP: #1422534)
* Remove the workaround for bug #1471181 now that oxide 1.9 has been
released with a proper fix. (LP: #1471181)
* Set the 'visible' property of actions instead of 'enabled' to ensure
the visibility of the corresponding entries in the drawer menu
matches. (LP: #1495297)
* Use SIGABRT instead of SIGSEGV to crash a renderer process in tests.
(LP: #1493825)
* Use the new WebContext.
(LP: #1410753)
[ Ugo Riboni ]
* Handle HTTP authentication requests by showing an authentication
dialog. (LP: #1422534)
-- Olivier Tilloy <email address hidden> Sun, 13 Sep 2015 21:25:02 +0000