From 1de2c937ba4af9d4859aaea62985ee5e34913d14 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Mon, 20 Jun 2016 01:52:32 -0700 Subject: [PATCH] Fix issue with disabling native extension on Pale Moon with cookies disabled on 4chan. #938 --- src/General/Settings.coffee | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/General/Settings.coffee b/src/General/Settings.coffee index a38d2375d..684a4bb38 100644 --- a/src/General/Settings.coffee +++ b/src/General/Settings.coffee @@ -23,10 +23,16 @@ Settings = if Conf['Disable Native Extension'] if $.hasStorage - settings = JSON.parse(localStorage.getItem '4chan-settings') or {} - return if settings.disableAll - settings.disableAll = true - localStorage.setItem '4chan-settings', JSON.stringify settings + # Run in page context to handle case where 4chan X has localStorage access but not the page. + # (e.g. Pale Moon 26.2.2, GM 3.8, cookies disabled for 4chan only) + $.global -> + try + settings = JSON.parse(localStorage.getItem '4chan-settings') or {} + return if settings.disableAll + settings.disableAll = true + localStorage.setItem '4chan-settings', JSON.stringify settings + catch + Object.defineProperty window, 'Config', {value: {disableAll: true}} else $.global -> Object.defineProperty window, 'Config', {value: {disableAll: true}}