}
void App::OnFinishLaunching() {
+ // Create the defaultSession.
+ v8::Locker locker(isolate());
+ v8::HandleScope handle_scope(isolate());
+ auto browser_context = static_cast<AtomBrowserContext*>(
+ AtomBrowserMainParts::Get()->browser_context());
+ auto handle = Session::CreateFrom(isolate(), browser_context);
+ default_session_.Reset(isolate(), handle.ToV8());
+
Emit("ready");
}
}
v8::Local<v8::Value> App::DefaultSession(v8::Isolate* isolate) {
- if (default_session_.IsEmpty()) {
- auto browser_context = static_cast<AtomBrowserContext*>(
- AtomBrowserMainParts::Get()->browser_context());
- auto handle = Session::CreateFrom(isolate, browser_context);
- default_session_.Reset(isolate, handle.ToV8());
- }
- return v8::Local<v8::Value>::New(isolate, default_session_);
+ if (default_session_.IsEmpty())
+ return v8::Null(isolate);
+ else
+ return v8::Local<v8::Value>::New(isolate, default_session_);
}
mate::ObjectTemplateBuilder App::GetObjectTemplateBuilder(