mobile/android/components/SiteSpecificUserAgent.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 const Cu = Components.utils;
     6 const Cc = Components.classes;
     7 const Ci = Components.interfaces;
     9 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
    10 Cu.import("resource://gre/modules/UserAgentOverrides.jsm");
    11 Cu.import("resource://gre/modules/Services.jsm");
    13 const DEFAULT_UA = Cc["@mozilla.org/network/protocol;1?name=http"]
    14                      .getService(Ci.nsIHttpProtocolHandler)
    15                      .userAgent;
    17 function SiteSpecificUserAgent() {}
    19 SiteSpecificUserAgent.prototype = {
    20   getUserAgentForURIAndWindow: function ssua_getUserAgentForURIAndWindow(aURI, aWindow) {
    21     let UA;
    22     let win = Services.wm.getMostRecentWindow("navigator:browser");
    23     if (win && win.DesktopUserAgent) {
    24       UA = win.DesktopUserAgent.getUserAgentForWindow(aWindow);
    25     }
    26     return UA || UserAgentOverrides.getOverrideForURI(aURI) || DEFAULT_UA;
    27   },
    29   classID: Components.ID("{d5234c9d-0ee2-4b3c-9da3-18be9e5cf7e6}"),
    30   QueryInterface: XPCOMUtils.generateQI([Ci.nsISiteSpecificUserAgent])
    31 };
    33 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([SiteSpecificUserAgent]);

mercurial