Skip to content

Commit 381ccf6

Browse files
committed
feat: add chromium support
use the webextension-polyfill package to target both browser and chrome object when using the browser object.
1 parent 252094e commit 381ccf6

File tree

6 files changed

+53
-10
lines changed

6 files changed

+53
-10
lines changed

browser_extension/manifest.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@
1616
}
1717
],
1818
"permissions": ["storage"],
19-
"options_ui": {
20-
"page": "settings.html",
21-
"open_in_tab": true
22-
},
2319
"web_accessible_resources": [
2420
{
2521
"resources": [
@@ -29,6 +25,7 @@
2925
"matches": ["<all_urls>"]
3026
}
3127
],
28+
"options_page": "settings.html",
3229
"action": {
3330
"default_popup": "popup.html"
3431
},

browser_extension/package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
"@valtown/codemirror-ts": "^2.2.1",
1111
"codemirror": "^6.0.2",
1212
"lz-string": "^1.5.0",
13-
"typescript": "^5.9.2"
13+
"typescript": "^5.9.2",
14+
"webextension-polyfill": "^0.12.0"
1415
},
15-
"devDependencies": {}
16+
"devDependencies": {
17+
"@types/webextension-polyfill": "^0.12.3",
18+
"web-ext-option-types": "^8.9.5"
19+
}
1620
}

browser_extension/popup.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
(browser ?? chrome).tabs.create({ url: "settings.html" });
1+
(window.browser ?? window.chrome).tabs.create({ url: "settings.html" });
2+
setTimeout(() => {
3+
try {
4+
window.close();
5+
} catch (e) {
6+
console.error("Error closing window:", e);
7+
}
8+
}, 100);

browser_extension/settings/content_script.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
/// <reference types="firefox-webext-browser" />
1+
// /// <reference types="firefox-webext-browser" />
22

33
import { compressToUint8Array, decompressFromUint8Array } from "lz-string";
44
import { DEFAULT_SETTINGS_RAW } from "../../src/settings/settings";
55
import * as ts from "typescript";
6+
import browser from "webextension-polyfill";
67

78
async function send_config(): Promise<void> {
89
const config = await get_transpiled_settings();

browser_extension/settings/settings_tab.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { compressToUint8Array, decompressFromUint8Array } from "lz-string";
21
import type { LatexSuitePluginSettingsRaw } from "../../src/settings/settings";
32
import { DEFAULT_SETTINGS_RAW } from "../../src/settings/settings";
43
import { EditorView } from "@codemirror/view";

package-lock.json

Lines changed: 36 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)