- Electron version: 1.2.7
- Operating system: Mac OSX El Capitan
- Widevine CDM version: 1.4.8.885

I'm trying to build an app which play widevine-encrypted video. My prototype works only if I type `navigator.plugins` in console or if I execute `console.log(navigator.plugins);` (with console open). Otherwise it won't work.

I tried it with shaka player demo page and with local dashjs-based player.

atom/renderer/atom_renderer_client.cc
v8::Isolate* isolate = context->GetIsolate();
    
    
    std::string bundle(node::isolated_bundle_data,
        node::isolated_bundle_data + sizeof(node::isolated_bundle_data));
    std::string wrapper = "(function (binding) {\n" + bundle + "\n})";
    auto script = v8::Script::Compile(
        mate::ConvertToV8(isolate, wrapper)->ToString());
    auto func = v8::Handle<v8::Function>::Cast(
        script->Run(context).ToLocalChecked());
    auto binding = v8::Object::New(isolate);
    api::Initialize(binding, v8::Null(isolate), context, nullptr);
    
    base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
    mate::Dictionary dict(isolate, binding);
    if (command_line->HasSwitch(switches::kGuestInstanceID))
      dict.Set(options::kGuestInstanceID,
               command_line->GetSwitchValueASCII(switches::kGuestInstanceID));
    if (command_line->HasSwitch(switches::kOpenerID))
      dict.Set(options::kOpenerID,
               command_line->GetSwitchValueASCII(switches::kOpenerID));
    dict.Set("hiddenPage", command_line->HasSwitch(switches::kHiddenPage));
    v8::Local<v8::Value> args[] = { binding };
    ignore_result(func->Call(context, v8::Null(isolate), 1, args));
  }
  bool IsMainWorld(int world_id) {