<!--  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 an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:**
  * <!-- (output of `node_modules/.bin/electron --version`) e.g. 4.0.3 -->
v7.0.0-beta.6
* **Operating System:**
  * <!-- (Platform and Version) e.g. macOS 10.13.6 / Windows 10 (1803) / Ubuntu 18.04 x64 -->
macOS 10.14.6
* **Last Known Working Electron version:**
  * <!-- (if applicable) e.g. 3.1.0 -->
the bug exists in all recent betas

### Expected Behavior
<!-- A clear and concise description of what you expected to happen. -->
a color value as a string
no exception thrown

### Actual Behavior
<!-- A clear and concise description of what actually happened. -->
exception thrown
```
"Error: Unknown color: disabled-control-text
    at Function.updateAppearanceTheme (/Users/iac/Desktop/gluon/dist/App.js:138:54)
    at App.createWindow (/Users/iac/Desktop/gluon/dist/App.js:9:13)
    at App.emit (events.js:208:15)"
```

### To Reproduce

```
systemPreferences.getColor('disabled-control-text');
systemPreferences.getColor('scrubber-textured-background');
systemPreferences.getColor('selected-menu-item');
```

For reference, here are the macOS headers for these colors and their availability in the macOS 10.14 SDK

```
@property (class, strong, readonly) NSColor *disabledControlTextColor;                     // Text on disabled controls

@property (class, strong, readonly) NSColor *scrubberTexturedBackgroundColor NS_AVAILABLE_MAC(10_12_2); // Patterned background color for use in NSScrubber

@property (class, strong, readonly) NSColor *selectedMenuItemColor NS_DEPRECATED_MAC(10_0, API_TO_BE_DEPRECATED, "Use NSVisualEffectMaterialSelection");
```

All three are available in macOS 10.14 (one is deprecated, but still available).

But even if they weren't, the Electron docs don't specify limitations on the macOS version for this function. Shouldn't I expect *some* value rather than throwing an exception even when colors are not available on the user's system.

Or perhaps the documentation should reflect that in some cases the function will throw an exception -- and what those cases are.


A fiddle for such basic stuff seems overkill, but it also took me about 1 minute -- so why not. 😃 

https://gist.github.com/yourhead/1db43ba064651648c673d686775b7afc


shell/browser/api/atom_api_system_preferences_win.cc
UINT message,
                                                  WPARAM wparam,
                                                  LPARAM lparam) {
  SystemPreferences* msg_wnd = reinterpret_cast<SystemPreferences*>(
      GetWindowLongPtr(hwnd, GWLP_USERDATA));
  if (msg_wnd)
    return msg_wnd->WndProc(hwnd, message, wparam, lparam);
  else
    return ::DefWindowProc(hwnd, message, wparam, lparam);
}
LRESULT CALLBACK SystemPreferences::WndProc(HWND hwnd,
                                            UINT message,
                                            WPARAM wparam,
                                            LPARAM lparam) {
  if (message == WM_DWMCOLORIZATIONCOLORCHANGED) {
    DWORD new_color = (DWORD)wparam;
    std::string new_color_string = hexColorDWORDToRGBA(new_color);
    if (new_color_string != current_color_) {
      Emit("accent-color-changed", hexColorDWORDToRGBA(new_color));
      current_color_ = new_color_string;
    }
  }
  return ::DefWindowProc(hwnd, message, wparam, lparam);
}
void SystemPreferences::OnSysColorChange() {