Mypal68/dom/performance/PerformanceNavigation.cpp
2025-04-19 19:12:25 +03:00

35 lines
1.2 KiB
C++

/* 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 "PerformanceNavigation.h"
#include "PerformanceTiming.h"
#include "mozilla/dom/PerformanceNavigationBinding.h"
namespace mozilla {
namespace dom {
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(PerformanceNavigation, mPerformance)
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(PerformanceNavigation, AddRef)
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(PerformanceNavigation, Release)
PerformanceNavigation::PerformanceNavigation(Performance* aPerformance)
: mPerformance(aPerformance) {
MOZ_ASSERT(aPerformance, "Parent performance object should be provided");
}
PerformanceNavigation::~PerformanceNavigation() = default;
JSObject* PerformanceNavigation::WrapObject(JSContext* cx,
JS::Handle<JSObject*> aGivenProto) {
return PerformanceNavigation_Binding::Wrap(cx, this, aGivenProto);
}
uint16_t PerformanceNavigation::RedirectCount() const {
return GetPerformanceTiming()->Data()->GetRedirectCount();
}
} // namespace dom
} // namespace mozilla