### Preflight Checklist

- [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Electron Version

15.0.0-alpha.10

### What operating system are you using?

macOS

### Operating System Version

macOS Big Sur 11.5.2

### What arch are you using?

x64

### Last Known Working Electron version

This feature never worked before

### Expected Behavior

`navigator.fonts.query()` should return a promise which in turn should resolve with a list of fonts provided by the operating system.

### Actual Behavior

`navigator.fonts.query()` causes the renderer process to crash (the window becomes gray and the dev tools are disconnected).

### Testcase Gist URL

_No response_

### Additional Information

`navigator.fonts.query()` is part of the experimental [Local Font Access API](https://www.chromestatus.com/feature/6234451761692672) and it must be first enabled by adding `FontAccess` to `webPreferences.enableBlinkFeatures`.

I was also able to reproduce this bug with Electron 13.2.3. I was unable to reproduce it with Chrome 92.
shell/browser/electron_browser_client.cc
command_line->AppendSwitch("profile-electron-init");
    }
    
    
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
    content::RenderProcessHost* process =
        content::RenderProcessHost::FromID(process_id);
    if (extensions::ProcessMap::Get(process->GetBrowserContext())
            ->Contains(process_id))
      command_line->AppendSwitch(switches::kEnableWebSQL);
#endif
    content::WebContents* web_contents =
        GetWebContentsFromProcessID(process_id);
    if (web_contents) {
      auto* web_preferences = WebContentsPreferences::From(web_contents);
      if (web_preferences)
        web_preferences->AppendCommandLineSwitches(
            command_line, IsRendererSubFrame(process_id));
    }
  }
}
void ElectronBrowserClient::DidCreatePpapiPlugin(
    content::BrowserPpapiHost* host) {}
std::string ElectronBrowserClient::GetGeolocationApiKey() {
  auto env = base::Environment::Create();
  std::string api_key;
  env->GetVar("GOOGLE_API_KEY", &api_key);
  return api_key;
}
scoped_refptr<content::QuotaPermissionContext>