Bug 1322292 - Some fixes for the Performance API in workers - part 3 - TimeStampToDOMHighRes() in workerPrivate, r=bz

This commit is contained in:
Andrea Marchesini
2016-12-16 09:08:05 +01:00
parent 2c14915e3c
commit 442accf015
3 changed files with 9 additions and 9 deletions

View File

@@ -1335,10 +1335,7 @@ Console::MethodInternal(JSContext* aCx, MethodName aMethodName,
WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate();
MOZ_ASSERT(workerPrivate);
TimeDuration duration =
mozilla::TimeStamp::Now() - workerPrivate->CreationTimeStamp();
monotonicTimer = duration.ToMilliseconds();
monotonicTimer = workerPrivate->TimeStampToDOMHighRes(TimeStamp::Now());
}
}

View File

@@ -1094,15 +1094,11 @@ Event::TimeStamp() const
return perf->GetDOMTiming()->TimeStampToDOMHighRes(mEvent->mTimeStamp);
}
// For dedicated workers, we should make times relative to the creation time
// of the worker, which is the same as the timebase for performance.now().
workers::WorkerPrivate* workerPrivate =
workers::GetCurrentThreadWorkerPrivate();
MOZ_ASSERT(workerPrivate);
TimeDuration duration =
mEvent->mTimeStamp - workerPrivate->CreationTimeStamp();
return duration.ToMilliseconds();
return workerPrivate->TimeStampToDOMHighRes(mEvent->mTimeStamp);
}
bool

View File

@@ -572,6 +572,13 @@ public:
return mCreationTimeHighRes;
}
DOMHighResTimeStamp TimeStampToDOMHighRes(const TimeStamp& aTimeStamp) const
{
MOZ_ASSERT(!aTimeStamp.IsNull());
TimeDuration duration = aTimeStamp - mCreationTimeStamp;
return duration.ToMilliseconds();
}
nsIPrincipal*
GetPrincipal() const
{