From f793110c80893d8ae4205923799e3c4c5e64d936 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Fri, 1 Nov 2019 21:59:04 -0400 Subject: [PATCH] Add "Ignore Opt-Out" option --- web/extension/build/popup.html | 10 ++++++++-- web/extension/js/popup.js | 1 + web/packages/extension/build/js/lv0.js | 14 +++++++++----- web/packages/extension/js/index.js | 2 +- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/web/extension/build/popup.html b/web/extension/build/popup.html index f9703db50..59ca4edcc 100644 --- a/web/extension/build/popup.html +++ b/web/extension/build/popup.html @@ -58,12 +58,13 @@ .RufflePopup-checkbox_slider { display: inline-block; position: relative; - vertical-align: middle; + flex-grow: 0; + flex-shrink: 0; width: 30px; height: 7px; border-radius: 5px; - margin: auto 7px; + margin: 4px 7px auto 15px; background-color: #966214; } @@ -102,5 +103,10 @@ Play Flash content in Ruffle
+ \ No newline at end of file diff --git a/web/extension/js/popup.js b/web/extension/js/popup.js index fb1ee0f53..f777c5511 100644 --- a/web/extension/js/popup.js +++ b/web/extension/js/popup.js @@ -68,6 +68,7 @@ function tab_sendmessage() { document.addEventListener("DOMContentLoaded", async function (e) { bind_boolean_setting(document.getElementById("ruffle_enable")); + bind_boolean_setting(document.getElementById("ignore_optout")); let ruffle_status = document.getElementById("ruffle_status"); if (ruffle_status === null) { diff --git a/web/packages/extension/build/js/lv0.js b/web/packages/extension/build/js/lv0.js index bc7ecf74d..78bd417c8 100644 --- a/web/packages/extension/build/js/lv0.js +++ b/web/packages/extension/build/js/lv0.js @@ -19,7 +19,7 @@ * prefix that is only shared within the injected closure. This isn't entirely * foolproof, but is designed to */ -chrome.storage.sync.get(['ruffle_enable'], async function (data) { +chrome.storage.sync.get(['ruffle_enable', 'ignore_optout'], async function (data) { let page_optout = document.documentElement.hasAttribute("data-ruffle-optout"); try { if ( @@ -37,7 +37,7 @@ chrome.storage.sync.get(['ruffle_enable'], async function (data) { console.log("Unable to check top-level optout: " + e.message); } - let should_load_untrusted_world = data.ruffle_enable === "on" && !(page_optout || window.RufflePlayer); + let should_load_untrusted_world = data.ruffle_enable === "on" && !(page_optout || data.ignore_optout === "on" || window.RufflePlayer); let obfuscated_event_prefix = "rufEvent" + Math.floor(Math.random() * 100000000000); let next_response_promise = null; let next_response_promise_resolve = null; @@ -93,6 +93,7 @@ chrome.storage.sync.get(['ruffle_enable'], async function (data) { response_callback({ "loaded": true, "data": data, + "optout": page_optout, "untrusted_response": response }); }).catch(function(e) { @@ -100,12 +101,15 @@ chrome.storage.sync.get(['ruffle_enable'], async function (data) { throw e; }); - return response_promise; + return true; } else { response_callback({ "loaded": false, - "data": data + "data": data, + "optout": page_optout }); + + return false; } }); @@ -119,7 +123,7 @@ chrome.storage.sync.get(['ruffle_enable'], async function (data) { .getURL("dist/ruffle.js") .replace("dist/ruffle.js", ""); } - + if (should_load_untrusted_world) { let setup_scriptelem = document.createElement("script"); let setup_src = diff --git a/web/packages/extension/js/index.js b/web/packages/extension/js/index.js index 4754c3a28..ed642349d 100644 --- a/web/packages/extension/js/index.js +++ b/web/packages/extension/js/index.js @@ -12,7 +12,7 @@ if (obfuscated_event_prefix) { let response = {}; if (body.action === "get_page_options") { - response.page_options = page_options; + //response.page_options = page_options; } let event = new CustomEvent(obfuscated_event_prefix + "_response", {"detail": JSON.stringify(response)});