dom/base/PerformanceRenderTiming.h
author Nicholas Nethercote <nnethercote@mozilla.com>
Mon, 05 Oct 2015 16:59:32 -0700
changeset 301715 3897da20e42dec0bcf73987af1eaac4f8ce950b8
parent 292860 32adb36cf86301bdfcb1df40c7b6ea0de09e73ca
permissions -rw-r--r--
Bug 1211324 (part 3) - Remove GraphicsFilter::FILTER_FAST and replace it with FILTER_BEST. r=mattwoodrow. This may sound like an odd change but it's what the current code effectively already does due to the way ToFilter() and ThebesFilter() are defined.

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */

#ifndef mozilla_dom_performancerendertiming_h___
#define mozilla_dom_performancerendertiming_h___

#include "mozilla/dom/PerformanceEntry.h"

namespace mozilla {
namespace dom {

// http://www.w3.org/TR/frame-timing/#performancerendertiming
class PerformanceRenderTiming final : public PerformanceEntry
{
public:
  PerformanceRenderTiming(nsISupports* aParent,
                          const nsAString& aName,
                          const DOMHighResTimeStamp& aStartTime,
                          const DOMHighResTimeStamp& aDuration,
                          uint32_t aSourceFrameNumber);

  virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;

  virtual DOMHighResTimeStamp StartTime() const override
  {
    return mStartTime;
  }

  virtual DOMHighResTimeStamp Duration() const override
  {
    return mDuration;
  }

  uint32_t SourceFrameNumber() const
  {
    return mSourceFrameNumber;
  }

protected:
  virtual ~PerformanceRenderTiming();
  DOMHighResTimeStamp mStartTime;
  DOMHighResTimeStamp mDuration;
  uint32_t mSourceFrameNumber;
};

} // namespace dom
} // namespace mozilla

#endif /* mozilla_dom_performancerendertiming_h___ */