| 300 | } |
| 301 | |
| 302 | private static onColorSchemeMessage(message: MessageCStoBG, sender: chrome.runtime.MessageSender) { |
| 303 | ASSERT('TabManager.onColorSchemeMessage is set', () => Boolean(TabManager.onColorSchemeChange)); |
| 304 | |
| 305 | // We honor only messages which come from tab's top frame |
| 306 | // because sub-frames color scheme can be overridden by style with prefers-color-scheme |
| 307 | // TODO(MV3): instead of dropping these messages, consider making a query to an authoritative source |
| 308 | // like offscreen document |
| 309 | if (sender && sender.frameId === 0) { |
| 310 | TabManager.onColorSchemeChange(message.data.isDark); |
| 311 | } |
| 312 | } |
| 313 | |
| 314 | private static addFrame(tabId: number, frameId: number, documentId: string | null, scriptId: string, url: string, isTop: boolean) { |
| 315 | let frames: {[frameId: number]: DocumentInfo}; |