Skip to content

Commit c42b140

Browse files
author
sheepzh
committed
Fix bugs in fullscreen (#234)
1 parent b41a506 commit c42b140

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

src/background/timer/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ async function sendLimitedMessage(item: timer.limit.Item[]) {
4242
const tabs = await listTabs({ status: 'complete' })
4343
tabs.forEach(tab => sendMsg2Tab(tab.id, 'limitTimeMeet', item)
4444
.then(() => console.log(`Processed limit rules: rule=${JSON.stringify(item)}`))
45-
.catch(err => console.error(`Failed to execute limit rule: rule=${JSON.stringify(item)}, msg=${err.msg}`))
45+
.catch(() => {/*Ignored*/ })
4646
)
4747
}
4848

src/content-script/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ import printInfo from "./printer"
1414
const host = document?.location?.host
1515
const url = document?.location?.href
1616

17+
const FLAG_ID = '__TIMER_INJECTION_FLAG__' + chrome.runtime.id
18+
1719
function getOrSetFlag(): boolean {
18-
const flagId = '__TIMER_INJECTION_FLAG__'
19-
const pre = document?.getElementById(flagId)
20+
const pre = document?.getElementById(FLAG_ID)
2021
if (!pre) {
2122
const flag = document?.createElement('a')
22-
flag.style.visibility = 'hidden'
23-
flag && (flag.id = flagId)
23+
flag.style && (flag.style.visibility = 'hidden')
24+
flag && (flag.id = FLAG_ID)
2425
document?.body?.appendChild(flag)
2526
}
2627
return !!pre

src/content-script/limit.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class _Modal {
3030
...maskStyle,
3131
...filterStyle[filterType || 'translucent']
3232
}
33-
Object.assign(this.mask.style, realMaskStyle)
33+
Object.assign(this.mask.style || {}, realMaskStyle)
3434
}
3535

3636
showModal(showDelay: boolean) {
@@ -50,7 +50,7 @@ class _Modal {
5050
// Only delay-allowed rules exist, can delay
5151
// @since 0.4.0
5252
const link = document.createElement('a')
53-
Object.assign(link.style, linkStyle)
53+
Object.assign(link.style || {}, linkStyle)
5454
link.setAttribute('href', 'javascript:void(0)')
5555
const text = t(msg => msg.more5Minutes)
5656
link.innerText = text
@@ -131,9 +131,10 @@ function exitScreen(): Promise<void> {
131131
return Promise.resolve()
132132
}
133133
return new Promise<void>(resolve => {
134-
const exitFullscreen = document.exitFullscreen
135-
if (exitFullscreen) {
136-
exitFullscreen().then(resolve).catch(() => console.log("Failed to exit fullscreen"))
134+
if (document.exitFullscreen) {
135+
document.exitFullscreen()
136+
.then(resolve)
137+
.catch(e => console.warn("Failed to exit fullscreen", e))
137138
} else {
138139
resolve()
139140
}
@@ -142,7 +143,7 @@ function exitScreen(): Promise<void> {
142143

143144
function link2Setup(url: string): HTMLParagraphElement {
144145
const link = document.createElement('a')
145-
Object.assign(link.style, linkStyle)
146+
Object.assign(link.style || {}, linkStyle)
146147
link.setAttribute('href', 'javascript:void(0)')
147148
const text = t(msg => msg.timeLimitMsg)
148149
.replace('{appName}', t2Chrome(msg => msg.meta.name))

0 commit comments

Comments
 (0)