* 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.h
#ifndef ATOM_RENDERER_API_ATOM_API_SPELL_CHECK_CLIENT_H_
#define ATOM_RENDERER_API_ATOM_API_SPELL_CHECK_CLIENT_H_
#include <string>
#include <vector>
#include "base/callback.h"
#include "base/memory/weak_ptr.h"
#include "chrome/renderer/spellchecker/spellcheck_worditerator.h"
#include "native_mate/scoped_persistent.h"
#include "third_party/WebKit/public/platform/WebSpellCheckPanelHostClient.h"
#include "third_party/WebKit/public/platform/WebVector.h"
#include "third_party/WebKit/public/web/WebTextCheckClient.h"
namespace blink {
struct WebTextCheckingResult;
class WebTextCheckingCompletion;
}  
namespace atom {
namespace api {
class SpellCheckClient : public blink::WebSpellCheckPanelHostClient,
                         public blink::WebTextCheckClient,
                         public base::SupportsWeakPtr<SpellCheckClient> {
 public:
  SpellCheckClient(const std::string& language,
                   bool auto_spell_correct_turned_on,
                   v8::Isolate* isolate,
                   v8::Local<v8::Object> provider);
  ~SpellCheckClient() override;
 private:
  class SpellcheckRequest;