NavigatorIsLoggedIn.cpp [plain text]
#include "config.h"
#include "NavigatorIsLoggedIn.h"
#include "JSDOMPromiseDeferred.h"
#include "Navigator.h"
namespace WebCore {
NavigatorIsLoggedIn* NavigatorIsLoggedIn::from(Navigator& navigator)
{
auto* supplement = static_cast<NavigatorIsLoggedIn*>(Supplement<Navigator>::from(&navigator, supplementName()));
if (!supplement) {
auto newSupplement = makeUnique<NavigatorIsLoggedIn>(navigator);
supplement = newSupplement.get();
provideTo(&navigator, supplementName(), WTFMove(newSupplement));
}
return supplement;
}
const char* NavigatorIsLoggedIn::supplementName()
{
return "NavigatorIsLoggedIn";
}
void NavigatorIsLoggedIn::setLoggedIn(Navigator& navigator, Ref<DeferredPromise>&& promise)
{
NavigatorIsLoggedIn::from(navigator)->setLoggedIn(WTFMove(promise));
}
void NavigatorIsLoggedIn::setLoggedOut(Navigator& navigator, Ref<DeferredPromise>&& promise)
{
NavigatorIsLoggedIn::from(navigator)->setLoggedOut(WTFMove(promise));
}
void NavigatorIsLoggedIn::isLoggedIn(Navigator& navigator, Ref<DeferredPromise>&& promise)
{
NavigatorIsLoggedIn::from(navigator)->isLoggedIn(WTFMove(promise));
}
void NavigatorIsLoggedIn::setLoggedIn(Ref<DeferredPromise>&& promise)
{
if (m_navigator.cookieEnabled())
promise->resolve();
else
promise->reject();
}
void NavigatorIsLoggedIn::setLoggedOut(Ref<DeferredPromise>&& promise)
{
promise->resolve();
}
void NavigatorIsLoggedIn::isLoggedIn(Ref<DeferredPromise>&& promise)
{
if (m_navigator.cookieEnabled())
promise->resolve<IDLBoolean>(true);
else
promise->resolve<IDLBoolean>(false);
}
}