### 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 feature request that matches the one I want to file, without success.

### Electron Version

15, 16

### What operating system are you using?

Windows

### Operating System Version

Windows 10 19042.985

### What arch are you using?

x64

### Last Known Working Electron version

14

### Expected Behavior

Cookie setting succeeds

### Actual Behavior

It is no longer possible to set an insecure cookie
```
session.cookies.set({
	name: "testcookie",
	value: "testvalue",
	domain: ".testdomain.com",
	path: "/",
	url: "http://testdomain.com",
	secure: false,
}).then(() => {
	console.log("setting cookie success");
}).catch((e) => {
	console.error(e);
});
```
returns: [Error: Setting cookie failed]
Removing the "secure: false" returns: [Error: Cannot create a secure cookie from an insecure URL]


### Testcase Gist URL

https://gist.github.com/t57ser/a34dfe9579b856e6e765b59fb8d215cb

### Additional Information

_No response_
shell/browser/api/electron_api_cookies.cc
const base::DictionaryValue& details) {
  gin_helper::Promise<void> promise(isolate);
  v8::Local<v8::Promise> handle = promise.GetHandle();
  const std::string* url_string = details.FindStringKey("url");
  if (!url_string) {
    promise.RejectWithErrorMessage("Missing required option 'url'");
    return handle;
  }
  const std::string* name = details.FindStringKey("name");
  const std::string* value = details.FindStringKey("value");
  const std::string* domain = details.FindStringKey("domain");
  const std::string* path = details.FindStringKey("path");
  bool http_only = details.FindBoolKey("httpOnly").value_or(false);
  const std::string* same_site_string = details.FindStringKey("sameSite");
  net::CookieSameSite same_site;
  std::string error = StringToCookieSameSite(same_site_string, &same_site);
  if (!error.empty()) {