/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "mozilla/dom/NavigationActivation.h" #include "mozilla/dom/NavigationActivationBinding.h" #include "mozilla/dom/NavigationHistoryEntry.h" namespace mozilla::dom { NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(NavigationActivation, mNewEntry, mOldEntry, mGlobal) NS_IMPL_CYCLE_COLLECTING_ADDREF(NavigationActivation) NS_IMPL_CYCLE_COLLECTING_RELEASE(NavigationActivation) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(NavigationActivation) NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY NS_INTERFACE_MAP_ENTRY(nsISupports) NS_INTERFACE_MAP_END NavigationActivation::NavigationActivation(nsIGlobalObject* aGlobal, NavigationHistoryEntry* aNewEntry, NavigationHistoryEntry* aOldEntry, enum NavigationType aType) : mGlobal(aGlobal), mNewEntry(aNewEntry), mOldEntry(aOldEntry), mType(aType) {} JSObject* NavigationActivation::WrapObject(JSContext* aCx, JS::Handle aGivenProto) { return NavigationActivation_Binding::Wrap(aCx, this, aGivenProto); } // https://html.spec.whatwg.org/#dom-navigationactivation-from already_AddRefed NavigationActivation::GetFrom() const { return do_AddRef(mOldEntry); } // https://html.spec.whatwg.org/#dom-navigationactivation-entry already_AddRefed NavigationActivation::Entry() const { return do_AddRef(mNewEntry); } void NavigationActivation::SetNewEntry(NavigationHistoryEntry* aEntry) { mNewEntry = aEntry; } void NavigationActivation::SetOldEntry(NavigationHistoryEntry* aEntry) { mOldEntry = aEntry; } void NavigationActivation::SetNavigationType(enum NavigationType aType) { mType = aType; } } // namespace mozilla::dom