### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/main/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 bug report that matches the one I want to file, without success.

### Electron Version

17.0.0

### What operating system are you using?

Windows

### Operating System Version

Windows 10 Version 21H1

### What arch are you using?

x64

### Last Known Working Electron version

14.2.3

### Expected Behavior

background should transparent if background is #00000000

### Actual Behavior

has a white background

### Testcase Gist URL

_No response_

### Additional Information

_No response_
shell/browser/api/electron_api_web_contents.cc
}
   Calling LoadURLWithParams() can trigger JS which destroys |this|.
  auto weak_this = GetWeakPtr();
  params.transition_type = ui::PageTransitionFromInt(
      ui::PAGE_TRANSITION_TYPED | ui::PAGE_TRANSITION_FROM_ADDRESS_BAR);
  params.override_user_agent = content::NavigationController::UA_OVERRIDE_TRUE;
   Discord non-committed entries to ensure that we don't re-use a pending
   entry
  ontents()->GetController().DiscardNonCommittedEntries();
  ontents()->GetController().LoadURLWithParams(params);
   ⚠️WARNING!⚠️
   LoadURLWithParams() triggers JS events which can call destroy() on |this|.
   It's not safe to assume that |this| points to valid memory at this point.
  if (!weak_this || !ontents())
    return;
   Required to make beforeunload handler work.
  NotifyUserActivation();
}
 TODO(MarshallOfSound): Figure out what we need to do with post data here, I
 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() {