INNER CODE UNIT · JavaScript

menuUpdateLock

jatinkrmalik/LLMFeeder · extension/background.js:149

let menuUpdateLock = Promise.resolve(); // Mutex lock for menu operations

// Browser-specific contexts ('tab' is Firefox-only)
// Detect Firefox by checking for browser.menus API
// Chrome doesn't support "menus" permission, so browser.menus will be undefined
const isFirefox = typeof browser !== 'undefined' &&
                  typeof browser.menus !== 'undefined';

const PAGE_CONTEXTS = isFirefox
  ? ['page', 'selection', 'link', 'tab']  // Firefox supports 'tab' context
  : ['page', 'selection', 'link'];        // Chrome doesn't support 'tab'

// Helper to run menu operations with mutex lock
async function withMenuLock(operation) {
  menuUpdateLock = menuUpdateLock.then(async () => {
    await operation();
  }).catch(err => {
    console.error('Menu operation error:', err);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…