summaryrefslogtreecommitdiffstats
path: root/browser/extensions/webcompat/injections/js/bug1570856-medium.com-menu-isTier1.js
blob: f8bb926b60d0c99b37f50040900a9d36aa2aa5b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"use strict";

/**
 * medium.com - Override window.GLOBALS.useragent.isTier1 to be true
 * WebCompat issue #25844 - https://webcompat.com/issues/25844
 *
 * This site is not showing main menu when scrolling. There is a GLOBALS variable
 * at the bottom of the template being defined based on a server side UA detection.
 * Setting window.GLOBALS.useragent.isTier1 to true makes the menu appear when scrolling
 */

/* globals exportFunction */

console.info(
  "window.GLOBALS.useragent.isTier1 has been set to true for compatibility reasons. See https://webcompat.com/issues/25844 for details."
);

let globals = {};

Object.defineProperty(window.wrappedJSObject, "GLOBALS", {
  get: exportFunction(function() {
    return globals;
  }, window),

  set: exportFunction(function(value = {}) {
    globals = value;

    if (!globals.useragent) {
      globals.useragent = {};
    }

    globals.useragent.isTier1 = true;
  }, window),
});