### 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

12.0.5

### What operating system are you using?

macOS

### Operating System Version

11.2.3

### What arch are you using?

arm64 (including Apple Silicon)

### Last Known Working Electron version

_No response_

### Expected Behavior

`document.hasFocus()` is only `true` for the window that has focus.

### Actual Behavior

Ever window reports `document.hasFocus()` to be `true` right after opening.

### Testcase Gist URL

https://gist.github.com/16e6fc829febd0cab115dfd0850a31be

### Additional Information

_No response_
shell/browser/api/electron_api_web_contents.cc
believe the default behavior when we pass "true" is to phone out to the
 delegate and then the controller expects this method to be called again with
 "false" if the user approves the reload.  For now this would result in
 ".reload()" calls on POST data domains failing silently.  Passing false would
 result in them succeeding, but reposting which although more correct could be
 considering a breaking change.
void WebContents::Reload() {
  ontents()->GetController().Reload(content::ReloadType::NORMAL,
                                         /* check_for_repost */ true);
}
void WebContents::ReloadIgnoringCache() {