summaryrefslogtreecommitdiff
path: root/ext/js/accessibility/google-docs.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2023-12-29 00:01:11 -0500
committerGitHub <noreply@github.com>2023-12-29 05:01:11 +0000
commit0a68020771fc5b9dd437a90d5aac5e8a0c66719b (patch)
tree48a0c4c25977343dd15da06e19807f332ca62ddb /ext/js/accessibility/google-docs.js
parentd90d408279938d389019a8bed15c5eb95af7c8bc (diff)
Fix google docs (#473)
* Add support for content script execution world * Update manifest version to support world parameter in Chromium browsers * Update google docs injection * Reuse code for registration * Add info
Diffstat (limited to 'ext/js/accessibility/google-docs.js')
-rw-r--r--ext/js/accessibility/google-docs.js61
1 files changed, 4 insertions, 57 deletions
diff --git a/ext/js/accessibility/google-docs.js b/ext/js/accessibility/google-docs.js
index 4bc398ff..00266bb6 100644
--- a/ext/js/accessibility/google-docs.js
+++ b/ext/js/accessibility/google-docs.js
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2023 Yomitan Authors
- * Copyright (C) 2021-2022 Yomichan Authors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,59 +15,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-(async () => {
- // Reentrant check
- // @ts-expect-error - Checking a property to the global object
- if (self.googleDocsAccessibilitySetup) { return; }
- // @ts-expect-error - Adding a property to the global object
- self.googleDocsAccessibilitySetup = true;
-
- /**
- * @template {import('api').ApiNames} TAction
- * @template {import('api').ApiParams<TAction>} TParams
- * @param {TAction} action
- * @param {TParams} params
- * @returns {Promise<import('api').ApiReturn<TAction>>}
- */
- const invokeApi = (action, params) => {
- return new Promise((resolve, reject) => {
- chrome.runtime.sendMessage({action, params}, (response) => {
- void chrome.runtime.lastError;
- if (typeof response !== 'object' || response === null) {
- reject(new Error('Unexpected response'));
- } else if (typeof response.error !== 'undefined') {
- reject(new Error('Invalid response'));
- } else {
- resolve(response.result);
- }
- });
- });
- };
-
- const optionsContext = {depth: 0, url: location.href};
- /** @type {import('api').ApiReturn<'optionsGet'>} */
- let options;
- try {
- options = await invokeApi('optionsGet', {optionsContext});
- } catch (e) {
- return;
- }
-
- if (!options.accessibility.forceGoogleDocsHtmlRendering) { return; }
-
- // The extension ID below is on an allow-list that is used on the Google Docs webpage.
- /* eslint-disable */
- // @ts-expect-error : Adding a property to the global object
- const inject = () => { window._docs_annotate_canvas_by_ext = 'ogmnaimimemjmbakcfefmnahgdfhfami'; };
- /* eslint-enable */
-
- let parent = document.head;
- if (parent === null) {
- parent = document.documentElement;
- if (parent === null) { return; }
- }
- const script = document.createElement('script');
- script.textContent = `(${inject.toString()})();`;
- parent.appendChild(script);
- parent.removeChild(script);
-})();
+// The extension ID below is on an allow-list that is used on the Google Docs webpage.
+// @ts-expect-error - Adding a property to the global object
+// eslint-disable-next-line no-underscore-dangle
+window._docs_annotate_canvas_by_ext = 'ogmnaimimemjmbakcfefmnahgdfhfami';