* Electron Version: 3.0.0-beta.3
* Operating System Ubuntu 18.04
* Last known working Electron version: none  ... still fails on 2.0.5

**Expected Behavior**

Font Subpixel AA should work... only works when rendering a .HTML file, not via BrowserWindow.

**Actual behavior**

Subpixel AA only works when I load a .html file.. not a .js file.

**To Reproduce**

https://github.com/burtonator/electron3-fuzzy-text

Here is a repo.

This works:

```
./node_modules/.bin/electron test.html
```

This will fail:

```
./node_modules/.bin/electron index.js
```
The only way to actually see that it's failing is to use a zoom tool like ```kmag```

**Screenshots**

Here's loading the .html file on the command line. Notice the AA is working by the orange color on the outside of the text:

![image](https://user-images.githubusercontent.com/45447/43037663-8731acd2-8cc4-11e8-99bf-f2adfbfdecc4.png)

Here is the SAME text and same test.html file but I loaded it via BrowserWindow in my index.js script.

![image](https://user-images.githubusercontent.com/45447/43037676-a22fa30e-8cc4-11e8-8bee-4d20bdfde57f.png)

Electron fails to use AA text rendering in the new window.  

Hopefully this might help track down the bug.  


atom/browser/web_contents_preferences.cc
const base::StringPiece& key,
    bool val) {
  auto* current_value =
      preference_.FindKeyOfType(key, base::Value::Type::BOOLEAN);
  if (current_value) {
    return current_value->GetBool();
  } else {
    preference_.SetKey(key, base::Value(val));
    return val;
  }
}
bool WebContentsPreferences::IsEnabled(const base::StringPiece& name,
                                       bool default_value) const {
  auto* current_value =
      preference_.FindKeyOfType(name, base::Value::Type::BOOLEAN);
  if (current_value)
    return current_value->GetBool();
  return default_value;
}
void WebContentsPreferences::Merge(const base::DictionaryValue& extend) {
  if (preference_.is_dict())
    static_cast<base::DictionaryValue*>(&preference_)->MergeDictionary(&extend);
}
void WebContentsPreferences::Clear() {
  if (preference_.is_dict())
    static_cast<base::DictionaryValue*>(&preference_)->Clear();
}
bool WebContentsPreferences::GetPreference(const base::StringPiece& name,