Bumping gaia.json for 8 gaia revision(s) a=gaia-bump
[gecko.git] / dom / base / PerformanceResourceTiming.cpp
blob646358e491e5e3395a480d431c7390b51e27b829
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "PerformanceResourceTiming.h"
7 #include "mozilla/dom/PerformanceResourceTimingBinding.h"
9 using namespace mozilla::dom;
11 NS_IMPL_CYCLE_COLLECTION_INHERITED(PerformanceResourceTiming,
12 PerformanceEntry,
13 mTiming)
15 NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(PerformanceResourceTiming,
16 PerformanceEntry)
17 NS_IMPL_CYCLE_COLLECTION_TRACE_END
19 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(PerformanceResourceTiming)
20 NS_INTERFACE_MAP_END_INHERITING(PerformanceEntry)
22 NS_IMPL_ADDREF_INHERITED(PerformanceResourceTiming, PerformanceEntry)
23 NS_IMPL_RELEASE_INHERITED(PerformanceResourceTiming, PerformanceEntry)
25 PerformanceResourceTiming::PerformanceResourceTiming(nsPerformanceTiming* aPerformanceTiming,
26 nsPerformance* aPerformance,
27 const nsAString& aName)
28 : PerformanceEntry(aPerformance, aName, NS_LITERAL_STRING("resource")),
29 mTiming(aPerformanceTiming)
31 MOZ_ASSERT(aPerformance, "Parent performance object should be provided");
34 PerformanceResourceTiming::~PerformanceResourceTiming()
38 DOMHighResTimeStamp
39 PerformanceResourceTiming::StartTime() const
41 DOMHighResTimeStamp startTime = mTiming->RedirectStartHighRes();
42 return startTime ? startTime : mTiming->FetchStartHighRes();
45 JSObject*
46 PerformanceResourceTiming::WrapObject(JSContext* aCx)
48 return PerformanceResourceTimingBinding::Wrap(aCx, this);