| 331 | } |
| 332 | |
| 333 | private static async removeFrame(tabId: number, frameId: number) { |
| 334 | await TabManager.stateManager.loadState(); |
| 335 | |
| 336 | if (frameId === 0) { |
| 337 | delete TabManager.tabs[tabId]; |
| 338 | } |
| 339 | |
| 340 | if (TabManager.tabs[tabId] && TabManager.tabs[tabId][frameId]) { |
| 341 | // We need to use delete here because Object.entries() |
| 342 | // in sendMessage() would enumerate undefined as well. |
| 343 | delete TabManager.tabs[tabId][frameId]; |
| 344 | } |
| 345 | |
| 346 | TabManager.stateManager.saveState(); |
| 347 | } |
| 348 | |
| 349 | static async cleanState() { |
| 350 | await TabManager.stateManager.loadState(); |