* Electron Version: 2.0.0 - 2.0.2
* Operating System (Platform and Version): tested on Mac OS X 10.13.4
* Last known working Electron version: 1.8.7

**Expected Behavior**
Setting Webview tag "partition" attribute should not trigger error before its first navigation and load the session partition.

**Actual behavior**
In 2.0.0 - 2.0.2 versions, when setting "partition" attribute before the first navigation, it throws 

> "The object has already navigated, so its partition cannot be changed."

 and doesn't load the partition. When attribute is set directly in HTML, it works but if it is done via code after some time even before first navigation, it doesn't. It seems something changed in Electron Webview initialisation in versions after 1.8.7.

**To Reproduce**
- Git clone https://github.com/Evoks/electron-webview-bug
- launch commands `npm install ; npm start`

1.8.7 version throws 1 error, 2.0.x versions throws 2 errors.

See file `renderer.js` for code and `package.json` to change Electron version. I added timeouts to simulate execution delay in big application.

atom/common/api/atom_api_v8_util.cc
isolate->RequestGarbageCollectionForTesting(
      v8::Isolate::GarbageCollectionType::kFullGarbageCollection);
}
bool IsSameOrigin(const GURL& l, const GURL& r) {
  return url::Origin::Create(l).IsSameOriginWith(url::Origin::Create(r));
}
void Initialize(v8::Local<v8::Object> exports,
                v8::Local<v8::Value> unused,
                v8::Local<v8::Context> context,
                void* priv) {
  mate::Dictionary dict(context->GetIsolate(), exports);
  dict.SetMethod("getHiddenValue", &GetHiddenValue);
  dict.SetMethod("setHiddenValue", &SetHiddenValue);
  dict.SetMethod("deleteHiddenValue", &DeleteHiddenValue);
  dict.SetMethod("getObjectHash", &GetObjectHash);
  dict.SetMethod("takeHeapSnapshot", &TakeHeapSnapshot);
  dict.SetMethod("setRemoteCallbackFreer", &atom::RemoteCallbackFreer::BindTo);
  dict.SetMethod("setRemoteObjectFreer", &atom::RemoteObjectFreer::BindTo);
  dict.SetMethod("createIDWeakMap", &atom::api::KeyWeakMap<int32_t>::Create);
  dict.SetMethod("createDoubleIDWeakMap",
                 &atom::api::KeyWeakMap<std::pair<int64_t, int32_t>>::Create);
  dict.SetMethod("requestGarbageCollectionForTesting",
                 &RequestGarbageCollectionForTesting);
  dict.SetMethod("isSameOrigin", &IsSameOrigin);
}
}  
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_v8_util, Initialize)