* Electron Version: 3.0.0-beta.1
* Operating System (Platform and Version): macOS 10.13 (but all others seem affected, too)
* Last known working Electron version: 2.0.x

**Expected Behavior**
Spellchecking should work: After calling `webFrame.setSpellCheckProvider` with a given provider, that provider's `spellCheck()` method should be called.

**Actual behavior**
Calling `webFrame.setSpellCheckProvider` seems to have no effect - the provider is simply never called.

**To Reproduce**
Clone the repo below and start the app. The spellcheck provider is configured to log each input word. However, it appears that `spellCheck` is never called.

```sh
git clone https://github.com/felixrieseberg/electron-3-spellcheck
cd electron-3-spellcheck
npm install
npm start || electron .
```


atom/renderer/api/atom_api_spell_check_client.cc
continue;
    
    
    if (SpellCheckWord(scope, word))
      continue;
    
    
    if (IsValidContraction(scope, word))
      continue;
    blink::WebTextCheckingResult result;
    result.location = word_start;
    result.length = word_length;
    results->push_back(result);
    if (stop_at_first_result)
      return;
  }
}
bool SpellCheckClient::SpellCheckWord(
    const SpellCheckScope& scope,
    const base::string16& word_to_check) const {
  DCHECK(!scope.spell_check_.IsEmpty());
  v8::Local<v8::Value> word = mate::ConvertToV8(isolate_, word_to_check);
  v8::Local<v8::Value> result =
      scope.spell_check_->Call(scope.provider_, 1, &word);
  if (!result.IsEmpty() && result->IsBoolean())
    return result->BooleanValue();
  else
    return true;
}
bool SpellCheckClient::IsValidContraction(const SpellCheckScope& scope,