Copy as Markdown

Other Tools

/* THIS FILE IS AUTOGENERATED FROM PlacesEvent.webidl BY Codegen.py - DO NOT EDIT */
#ifndef DOM_PLACESEVENTBINDING_H_
#define DOM_PLACESEVENTBINDING_H_
#include "js/CallAndConstruct.h"
#include "js/RootingAPI.h"
#include "js/TypeDecls.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/EnumTypeTraits.h"
#include "mozilla/Span.h"
#include "mozilla/dom/BindingDeclarations.h"
#include "mozilla/dom/Nullable.h"
#include "mozilla/dom/PrototypeList.h"
namespace mozilla {
namespace dom {
struct NativePropertyHooks;
class PlacesBookmark;
class PlacesBookmarkAddition;
struct PlacesBookmarkAdditionInitAtoms;
class PlacesBookmarkChanged;
class PlacesBookmarkGuid;
struct PlacesBookmarkGuidInitAtoms;
class PlacesBookmarkKeyword;
struct PlacesBookmarkKeywordInitAtoms;
class PlacesBookmarkMoved;
struct PlacesBookmarkMovedInitAtoms;
class PlacesBookmarkRemoved;
struct PlacesBookmarkRemovedInitAtoms;
class PlacesBookmarkTags;
struct PlacesBookmarkTagsInitAtoms;
class PlacesBookmarkTime;
struct PlacesBookmarkTimeInitAtoms;
class PlacesBookmarkTitle;
struct PlacesBookmarkTitleInitAtoms;
class PlacesBookmarkUrl;
struct PlacesBookmarkUrlInitAtoms;
class PlacesEvent;
class PlacesFavicon;
struct PlacesFaviconInitAtoms;
class PlacesHistoryCleared;
class PlacesPurgeCaches;
class PlacesRanking;
class PlacesVisit;
class PlacesVisitRemoved;
struct PlacesVisitRemovedInitAtoms;
class PlacesVisitTitle;
struct PlacesVisitTitleInitAtoms;
class ProtoAndIfaceCache;
} // namespace dom
} // namespace mozilla
namespace mozilla {
namespace dom {
enum class PlacesEventType : uint8_t {
None,
Page_visited,
Bookmark_added,
Bookmark_removed,
Bookmark_moved,
Bookmark_guid_changed,
Bookmark_keyword_changed,
Bookmark_tags_changed,
Bookmark_time_changed,
Bookmark_title_changed,
Bookmark_url_changed,
Favicon_changed,
Page_title_changed,
History_cleared,
Pages_rank_changed,
Page_removed,
Purge_caches,
};
namespace binding_detail {
template <> struct EnumStrings<PlacesEventType> {
static constexpr nsLiteralCString Values[17] {
"none"_ns,
"page-visited"_ns,
"bookmark-added"_ns,
"bookmark-removed"_ns,
"bookmark-moved"_ns,
"bookmark-guid-changed"_ns,
"bookmark-keyword-changed"_ns,
"bookmark-tags-changed"_ns,
"bookmark-time-changed"_ns,
"bookmark-title-changed"_ns,
"bookmark-url-changed"_ns,
"favicon-changed"_ns,
"page-title-changed"_ns,
"history-cleared"_ns,
"pages-rank-changed"_ns,
"page-removed"_ns,
"purge-caches"_ns,
};
};
} // namespace binding_detail
bool
ToJSValue(JSContext* aCx, PlacesEventType aArgument, JS::MutableHandle<JS::Value> aValue);
struct PlacesBookmarkAdditionInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR uint64_t mDateAdded;
MOZ_INIT_OUTSIDE_CTOR int64_t mFrecency;
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR bool mHidden;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR int32_t mIndex;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR Nullable<uint64_t> mLastVisitDate;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mParentId;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mTags;
MOZ_INIT_OUTSIDE_CTOR nsCString mTargetFolderGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mTargetFolderItemId;
MOZ_INIT_OUTSIDE_CTOR nsString mTargetFolderTitle;
MOZ_INIT_OUTSIDE_CTOR nsString mTitle;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
MOZ_INIT_OUTSIDE_CTOR uint32_t mVisitCount;
PlacesBookmarkAdditionInit();
explicit inline PlacesBookmarkAdditionInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkAdditionInit(PlacesBookmarkAdditionInit&& aOther) = default;
explicit inline PlacesBookmarkAdditionInit(const PlacesBookmarkAdditionInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkAdditionInit&
operator=(const PlacesBookmarkAdditionInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkAdditionInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkAdditionInit : public PlacesBookmarkAdditionInit
{
inline FastPlacesBookmarkAdditionInit()
: PlacesBookmarkAdditionInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkGuidInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR int64_t mLastModified;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkGuidInit();
explicit inline PlacesBookmarkGuidInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkGuidInit(PlacesBookmarkGuidInit&& aOther) = default;
explicit inline PlacesBookmarkGuidInit(const PlacesBookmarkGuidInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkGuidInit&
operator=(const PlacesBookmarkGuidInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkGuidInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkGuidInit : public PlacesBookmarkGuidInit
{
inline FastPlacesBookmarkGuidInit()
: PlacesBookmarkGuidInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkKeywordInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR nsCString mKeyword;
MOZ_INIT_OUTSIDE_CTOR int64_t mLastModified;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkKeywordInit();
explicit inline PlacesBookmarkKeywordInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkKeywordInit(PlacesBookmarkKeywordInit&& aOther) = default;
explicit inline PlacesBookmarkKeywordInit(const PlacesBookmarkKeywordInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkKeywordInit&
operator=(const PlacesBookmarkKeywordInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkKeywordInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkKeywordInit : public PlacesBookmarkKeywordInit
{
inline FastPlacesBookmarkKeywordInit()
: PlacesBookmarkKeywordInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkMovedInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR uint64_t mDateAdded;
MOZ_INIT_OUTSIDE_CTOR int64_t mFrecency;
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR bool mHidden;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR int32_t mIndex;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR Nullable<uint64_t> mLastVisitDate;
MOZ_INIT_OUTSIDE_CTOR int32_t mOldIndex;
MOZ_INIT_OUTSIDE_CTOR nsCString mOldParentGuid;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mTags;
MOZ_INIT_OUTSIDE_CTOR nsString mTitle;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
MOZ_INIT_OUTSIDE_CTOR uint32_t mVisitCount;
PlacesBookmarkMovedInit();
explicit inline PlacesBookmarkMovedInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkMovedInit(PlacesBookmarkMovedInit&& aOther) = default;
explicit inline PlacesBookmarkMovedInit(const PlacesBookmarkMovedInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkMovedInit&
operator=(const PlacesBookmarkMovedInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkMovedInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkMovedInit : public PlacesBookmarkMovedInit
{
inline FastPlacesBookmarkMovedInit()
: PlacesBookmarkMovedInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkRemovedInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR int32_t mIndex;
MOZ_INIT_OUTSIDE_CTOR bool mIsDescendantRemoval;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mParentId;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mTitle;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkRemovedInit();
explicit inline PlacesBookmarkRemovedInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkRemovedInit(PlacesBookmarkRemovedInit&& aOther) = default;
explicit inline PlacesBookmarkRemovedInit(const PlacesBookmarkRemovedInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkRemovedInit&
operator=(const PlacesBookmarkRemovedInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkRemovedInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkRemovedInit : public PlacesBookmarkRemovedInit
{
inline FastPlacesBookmarkRemovedInit()
: PlacesBookmarkRemovedInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkTagsInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR int64_t mLastModified;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR Sequence<nsString> mTags;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkTagsInit();
explicit inline PlacesBookmarkTagsInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkTagsInit(PlacesBookmarkTagsInit&& aOther) = default;
explicit inline PlacesBookmarkTagsInit(const PlacesBookmarkTagsInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkTagsInit&
operator=(const PlacesBookmarkTagsInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkTagsInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkTagsInit : public PlacesBookmarkTagsInit
{
inline FastPlacesBookmarkTagsInit()
: PlacesBookmarkTagsInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkTimeInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR int64_t mDateAdded;
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR int64_t mLastModified;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkTimeInit();
explicit inline PlacesBookmarkTimeInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkTimeInit(PlacesBookmarkTimeInit&& aOther) = default;
explicit inline PlacesBookmarkTimeInit(const PlacesBookmarkTimeInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkTimeInit&
operator=(const PlacesBookmarkTimeInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkTimeInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkTimeInit : public PlacesBookmarkTimeInit
{
inline FastPlacesBookmarkTimeInit()
: PlacesBookmarkTimeInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkTitleInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR int64_t mLastModified;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mTitle;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkTitleInit();
explicit inline PlacesBookmarkTitleInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkTitleInit(PlacesBookmarkTitleInit&& aOther) = default;
explicit inline PlacesBookmarkTitleInit(const PlacesBookmarkTitleInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkTitleInit&
operator=(const PlacesBookmarkTitleInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkTitleInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkTitleInit : public PlacesBookmarkTitleInit
{
inline FastPlacesBookmarkTitleInit()
: PlacesBookmarkTitleInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesBookmarkUrlInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mGuid;
MOZ_INIT_OUTSIDE_CTOR int64_t mId;
MOZ_INIT_OUTSIDE_CTOR bool mIsTagging;
MOZ_INIT_OUTSIDE_CTOR uint16_t mItemType;
MOZ_INIT_OUTSIDE_CTOR int64_t mLastModified;
MOZ_INIT_OUTSIDE_CTOR nsCString mParentGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mSource;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesBookmarkUrlInit();
explicit inline PlacesBookmarkUrlInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesBookmarkUrlInit(PlacesBookmarkUrlInit&& aOther) = default;
explicit inline PlacesBookmarkUrlInit(const PlacesBookmarkUrlInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesBookmarkUrlInit&
operator=(const PlacesBookmarkUrlInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesBookmarkUrlInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesBookmarkUrlInit : public PlacesBookmarkUrlInit
{
inline FastPlacesBookmarkUrlInit()
: PlacesBookmarkUrlInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesFaviconInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsString mFaviconUrl;
MOZ_INIT_OUTSIDE_CTOR nsCString mPageGuid;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesFaviconInit();
explicit inline PlacesFaviconInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesFaviconInit(PlacesFaviconInit&& aOther) = default;
explicit inline PlacesFaviconInit(const PlacesFaviconInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesFaviconInit&
operator=(const PlacesFaviconInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesFaviconInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesFaviconInit : public PlacesFaviconInit
{
inline FastPlacesFaviconInit()
: PlacesFaviconInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesVisitRemovedInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR bool mIsPartialVisistsRemoval;
MOZ_INIT_OUTSIDE_CTOR bool mIsRemovedFromStore;
MOZ_INIT_OUTSIDE_CTOR nsCString mPageGuid;
MOZ_INIT_OUTSIDE_CTOR uint16_t mReason;
MOZ_INIT_OUTSIDE_CTOR uint32_t mTransitionType;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesVisitRemovedInit();
explicit inline PlacesVisitRemovedInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesVisitRemovedInit(PlacesVisitRemovedInit&& aOther) = default;
explicit inline PlacesVisitRemovedInit(const PlacesVisitRemovedInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesVisitRemovedInit&
operator=(const PlacesVisitRemovedInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesVisitRemovedInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesVisitRemovedInit : public PlacesVisitRemovedInit
{
inline FastPlacesVisitRemovedInit()
: PlacesVisitRemovedInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
struct PlacesVisitTitleInit : public DictionaryBase
{
MOZ_INIT_OUTSIDE_CTOR nsCString mPageGuid;
MOZ_INIT_OUTSIDE_CTOR nsString mTitle;
MOZ_INIT_OUTSIDE_CTOR nsString mUrl;
PlacesVisitTitleInit();
explicit inline PlacesVisitTitleInit(const FastDictionaryInitializer& )
{
// Do nothing here; this is used by our "Fast" subclass
}
PlacesVisitTitleInit(PlacesVisitTitleInit&& aOther) = default;
explicit inline PlacesVisitTitleInit(const PlacesVisitTitleInit& aOther)
{
*this = aOther;
}
bool
Init(BindingCallContext& cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
bool
Init(JSContext* cx_, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
void
TraceDictionary(JSTracer* trc);
PlacesVisitTitleInit&
operator=(const PlacesVisitTitleInit& aOther);
private:
static bool
InitIds(JSContext* cx, PlacesVisitTitleInitAtoms* atomsCache);
};
namespace binding_detail {
struct FastPlacesVisitTitleInit : public PlacesVisitTitleInit
{
inline FastPlacesVisitTitleInit()
: PlacesVisitTitleInit(FastDictionaryInitializer())
{
// Doesn't matter what int we pass to the parent constructor
}
};
} // namespace binding_detail
namespace PlacesBookmark_Binding {
typedef mozilla::dom::PlacesBookmark NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetProtoObjectHandle(JSContext* aCx);
JSObject*
GetProtoObject(JSContext* aCx);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmark,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmark_Binding
namespace PlacesBookmarkAddition_Binding {
typedef mozilla::dom::PlacesBookmarkAddition NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkAddition* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkAddition,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkAddition_Binding
namespace PlacesBookmarkChanged_Binding {
typedef mozilla::dom::PlacesBookmarkChanged NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetProtoObjectHandle(JSContext* aCx);
JSObject*
GetProtoObject(JSContext* aCx);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkChanged,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkChanged_Binding
namespace PlacesBookmarkGuid_Binding {
typedef mozilla::dom::PlacesBookmarkGuid NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkGuid* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkGuid,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkGuid_Binding
namespace PlacesBookmarkKeyword_Binding {
typedef mozilla::dom::PlacesBookmarkKeyword NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkKeyword* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkKeyword,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkKeyword_Binding
namespace PlacesBookmarkMoved_Binding {
typedef mozilla::dom::PlacesBookmarkMoved NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkMoved* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkMoved,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkMoved_Binding
namespace PlacesBookmarkRemoved_Binding {
typedef mozilla::dom::PlacesBookmarkRemoved NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkRemoved* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkRemoved,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkRemoved_Binding
namespace PlacesBookmarkTags_Binding {
typedef mozilla::dom::PlacesBookmarkTags NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkTags* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkTags,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkTags_Binding
namespace PlacesBookmarkTime_Binding {
typedef mozilla::dom::PlacesBookmarkTime NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkTime* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkTime,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkTime_Binding
namespace PlacesBookmarkTitle_Binding {
typedef mozilla::dom::PlacesBookmarkTitle NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkTitle* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkTitle,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkTitle_Binding
namespace PlacesBookmarkUrl_Binding {
typedef mozilla::dom::PlacesBookmarkUrl NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesBookmarkUrl* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesBookmarkUrl,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesBookmarkUrl_Binding
namespace PlacesEvent_Binding {
typedef mozilla::dom::PlacesEvent NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetProtoObjectHandle(JSContext* aCx);
JSObject*
GetProtoObject(JSContext* aCx);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesEvent,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesEvent_Binding
namespace PlacesFavicon_Binding {
typedef mozilla::dom::PlacesFavicon NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesFavicon* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesFavicon,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesFavicon_Binding
namespace PlacesHistoryCleared_Binding {
typedef mozilla::dom::PlacesHistoryCleared NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesHistoryCleared* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesHistoryCleared,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesHistoryCleared_Binding
namespace PlacesPurgeCaches_Binding {
typedef mozilla::dom::PlacesPurgeCaches NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesPurgeCaches* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesPurgeCaches,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesPurgeCaches_Binding
namespace PlacesRanking_Binding {
typedef mozilla::dom::PlacesRanking NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesRanking* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesRanking,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesRanking_Binding
namespace PlacesVisit_Binding {
typedef mozilla::dom::PlacesVisit NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesVisit* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesVisit,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesVisit_Binding
namespace PlacesVisitRemoved_Binding {
typedef mozilla::dom::PlacesVisitRemoved NativeType;
static const uint16_t REASON_DELETED = 0;
static const uint16_t REASON_EXPIRED = 1;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesVisitRemoved* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesVisitRemoved,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesVisitRemoved_Binding
namespace PlacesVisitTitle_Binding {
typedef mozilla::dom::PlacesVisitTitle NativeType;
bool
ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
bool
Wrap(JSContext* aCx, mozilla::dom::PlacesVisitTitle* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
template <class T>
inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
{
JS::Rooted<JSObject*> reflector(aCx);
return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
}
void
CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, DefineInterfaceProperty aDefineOnGlobal);
JS::Handle<JSObject*>
GetConstructorObjectHandle(JSContext* aCx);
inline bool CreateAndDefineOnGlobal(JSContext* aCx)
{
// Get the interface or namespace object for this class. This will
// create the object as needed and always define the properties for
// it on the global. The caller should make sure the interface or
// namespace is exposed on the global before calling this.
return GetPerInterfaceObjectHandle(aCx, constructors::id::PlacesVisitTitle,
&CreateInterfaceObjects,
DefineInterfaceProperty::Always);
}
} // namespace PlacesVisitTitle_Binding
} // namespace dom
template <>
struct MaxContiguousEnumValue<dom::PlacesEventType>
{
static constexpr dom::PlacesEventType value = dom::PlacesEventType::Purge_caches;
static_assert(static_cast<uint8_t>(dom::PlacesEventType::None) == 0,
"We rely on this in ContiguousEnumValues");
static_assert(std::size(dom::binding_detail::EnumStrings<dom::PlacesEventType>::Values) - 1 == UnderlyingValue(value),
"Mismatch between enum strings and enum count");
};
} // namespace mozilla
#endif // DOM_PLACESEVENTBINDING_H_