[Sugar-devel] [PATCH browse] Append the current Sugar (Sucrose) version to the user agent

Manuel Quiñones manuq at laptop.org
Mon Jan 23 10:07:33 EST 2012


El día 16 de enero de 2012 08:52, Simon Schampijer
<simon at schampijer.de> escribió:
> This identifier is used in ASLO to determine which activities
> can be downloaded (ASLO is parsing the user agent of the Browser
> to provide an appropriate activity version, if it fails to get
> the Sugar version from the agent string, it uses the last stable version,
> which is 0.94 at the moment).

Tested, previously I got:

Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.4+ (KHTML, like Gecko)
Version/5.0 Safari/535.4+

Now I got:

Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.4+ (KHTML, like Gecko)
Version/5.0 Safari/535.4+ Sugar Labs/0.96

And works in activities.sugarlabs.org .

>
> One thing that is not perfectly handled by this patch is that we
> need to modify the user agent for every WebView (see [1]).

I don't find a problem adding the user agent to each webview, at least
until the webkit hackers add a global setting.

>
> Furthermore we need to modify the Sugar version in Browse accordingly
> with each Sugar release as the Sugar version is only availble in the
> shell and not in the toolkit.

I hope the tookit changes accordingly so we don't have to hardcore
that in activities.

Acked-by: Manuel Quiñones <manuq at laptop.org>

>
> [1] https://lists.webkit.org/pipermail/webkit-gtk/2012-January/000893.html
>
> Signed-off-by: Simon Schampijer <simon at laptop.org>
> ---
>  browser.py |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/browser.py b/browser.py
> index 83cc7ea..c5165db 100644
> --- a/browser.py
> +++ b/browser.py
> @@ -383,9 +383,16 @@ class Browser(WebKit.WebView):
>                     ([str])),
>     }
>
> +    CURRENT_SUGAR_VERSION = '0.96'
> +
>     def __init__(self):
>         WebKit.WebView.__init__(self)
>
> +        web_settings = self.get_settings()
> +        identifier = ' Sugar Labs/' + self.CURRENT_SUGAR_VERSION
> +        web_settings.props.user_agent += identifier
> +        self.set_settings(web_settings)
> +
>         # Reference to the global history and callbacks to handle it:
>         self._global_history = globalhistory.get_global_history()
>         self.connect('notify::load-status', self.__load_status_changed_cb)
> --
> 1.7.7.5
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel



-- 
.. manuq ..


More information about the Sugar-devel mailing list