<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

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

### Problem Description

Recent builds of Windows 10 support a "dark mode" that changes the chrome and context menus to fit better with the rest of the OS. https://www.digitaltrends.com/computing/how-to-enable-dark-mode-in-windows-10/ has a write up of how to enable this.

Here's a side-by-side of Explorer and the Quick Start app on Windows `10.0.17763.437`:

![](https://user-images.githubusercontent.com/359239/57080976-2b782b00-6cca-11e9-8c41-5097e39526d1.png)

This is complementary to #15316 but not the whole solution:

 - it'd be great if the defaults "just worked" based on this setting, so app developers and users would get this benefit without needing to manage configuration themselves
 - some apps choose to roll their own themes, but they don't have control over the main menu or context menu without also rolling their own implementations of those and hiding the default chrome

To go into more detail, here's what a context menu looks like that respects the dark mode setting:

![](https://user-images.githubusercontent.com/359239/57081074-5ebaba00-6cca-11e9-97f7-d30fc030c759.png)

And here's the equivalent main menu and context menu in the Electron Quick Start when using Electron 5:

![](https://user-images.githubusercontent.com/359239/57081076-5ebaba00-6cca-11e9-926b-9a18be540bef.png)
![](https://user-images.githubusercontent.com/359239/57081077-5ebaba00-6cca-11e9-8f3e-d3b0d61d3e72.png)

### Proposed Solution

I'm not familiar with how this works under the hood, but happy to go spelunking if this is something that interests the maintainers to gather more information.

### Alternatives Considered

As mentioned above, app developers can roll their own dark theme for menus and switch to use a chromeless `BrowserWindow`. That's fine for people who want to invest in that, but if there's lots of interest in the default chrome working better then maybe this is worth diving into?

### Additional Information
<!-- Add any other context about the problem here. -->

shell/browser/win/dark_mode.h
#ifndef ELECTRON_SHELL_BROWSER_WIN_DARK_MODE_H_
#define ELECTRON_SHELL_BROWSER_WIN_DARK_MODE_H_
#ifdef WIN32_LEAN_AND_MEAN
#include <Windows.h>
#else
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#undef WIN32_LEAN_AND_MEAN
#endif
#include "ui/native_theme/native_theme.h"
namespace electron {
namespace win {
void SetDarkModeForWindow(HWND hWnd, ui::NativeTheme::ThemeSource theme_source);
}  
}  
#endif