/* THIS FILE IS AUTOGENERATED FROM AppInfo.webidl BY Codegen.py - DO NOT EDIT */

#include <type_traits>
#include "AppInfoBinding.h"
#include "AtomList.h"
#include "MainThreadUtils.h"
#include "js/CallAndConstruct.h"
#include "js/Exception.h"
#include "js/MapAndSet.h"
#include "js/Object.h"
#include "js/PropertyAndElement.h"
#include "js/PropertyDescriptor.h"
#include "js/experimental/JitInfo.h"
#include "mozilla/OwningNonNull.h"
#include "mozilla/dom/BindingUtils.h"
#include "mozilla/dom/NonRefcountedDOMObject.h"
#include "mozilla/dom/PrimitiveConversions.h"
#include "mozilla/dom/ScriptSettings.h"
#include "mozilla/dom/SimpleGlobalObject.h"

namespace mozilla::dom {

namespace binding_detail {}; // Just to make sure it's known as a namespace
using namespace mozilla::dom::binding_detail;



AppInfo::AppInfo()
{
  // Safe to pass a null context if we pass a null value
  Init();
}




bool
AppInfo::InitIds(JSContext* cx, AppInfoAtoms* atomsCache)
{
  MOZ_ASSERT(reinterpret_cast<jsid*>(atomsCache)->isVoid());

  // Initialize these in reverse order so that any failure leaves the first one
  // uninitialized.
  if (!atomsCache->path_id.init(cx, "path") ||
      !atomsCache->isCoreApp_id.init(cx, "isCoreApp")) {
    return false;
  }
  return true;
}

bool
AppInfo::Init(const char* sourceDescription, bool passedToJSImpl)
{
  {
    // scope for any temporaries our default value setting needs.
    mIsCoreApp = false;
  }
  mIsAnyMemberPresent = true;

  {
    // scope for any temporaries our default value setting needs.
    mPath.AssignLiteral(u"");
  }
  mIsAnyMemberPresent = true;
  return true;
}

void
AppInfo::TraceDictionary(JSTracer* trc)
{
}

AppInfo&
AppInfo::operator=(const AppInfo& aOther)
{
  DictionaryBase::operator=(aOther);
  mIsCoreApp = aOther.mIsCoreApp;
  mPath = aOther.mPath;
  return *this;
}


} // namespace mozilla::dom
