Make WhatsApp follow the system theme
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/base-test.sh"
|
||||
|
||||
require_command jq
|
||||
require_command node
|
||||
|
||||
EXT_DIR="$ROOT/default/chromium/extensions/whatsapp-slim"
|
||||
|
||||
jq -e '
|
||||
.content_scripts[0].js == ["system-theme.js"] and
|
||||
.content_scripts[0].run_at == "document_start"
|
||||
' "$EXT_DIR/manifest.json" >/dev/null || fail "WhatsApp enables system theming before startup"
|
||||
|
||||
mode=$(node - "$EXT_DIR/system-theme.js" <<'JS'
|
||||
const fs = require("fs")
|
||||
const values = new Map()
|
||||
let reloaded = false
|
||||
global.localStorage = {
|
||||
getItem: key => values.get(key),
|
||||
setItem: (key, value) => values.set(key, value),
|
||||
}
|
||||
global.location = { reload: () => { reloaded = true } }
|
||||
eval(fs.readFileSync(process.argv[2], "utf8"))
|
||||
process.stdout.write(`${values.get("system-theme-mode")}:${reloaded}`)
|
||||
JS
|
||||
)
|
||||
|
||||
[[ $mode == "true:true" ]] || fail "WhatsApp selects its system theme mode" "$mode"
|
||||
pass "WhatsApp follows the system theme through its existing slim extension"
|
||||
Reference in New Issue
Block a user