// Copyright (c) 2015 GitHub, Inc. // Use of this source code is governed by the MIT license that can be // found in the LICENSE file. #include "atom/browser/api/atom_api_session.h" #include "atom/browser/api/atom_api_cookies.h" #include "native_mate/callback.h" #include "native_mate/dictionary.h" #include "native_mate/object_template_builder.h" #include "atom/common/node_includes.h" namespace atom { namespace api { Session::Session() { } Session::~Session() { } v8::Local Session::Cookies(v8::Isolate* isolate) { if (cookies_.IsEmpty()) { auto handle = atom::api::Cookies::Create(isolate); cookies_.Reset(isolate, handle.ToV8()); } return v8::Local::New(isolate, cookies_); } mate::ObjectTemplateBuilder Session::GetObjectTemplateBuilder( v8::Isolate* isolate) { return mate::ObjectTemplateBuilder(isolate) .SetProperty("cookies", &Session::Cookies); } // static mate::Handle Session::Create(v8::Isolate* isolate) { return CreateHandle(isolate, new Session); } } // namespace api } // namespace atom