gecko/dom/base/nsPerformance.h
Ehsan Akhgari 8c296bbcd4 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00

184 lines
5.0 KiB
C++

/* -*- 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 nsPerformance_h___
#define nsPerformance_h___
#include "nscore.h"
#include "nsCOMPtr.h"
#include "nsAutoPtr.h"
#include "mozilla/Attributes.h"
#include "nsWrapperCache.h"
#include "nsDOMNavigationTiming.h"
class nsIURI;
class nsITimedChannel;
class nsIDOMWindow;
class nsPerformance;
struct JSObject;
struct JSContext;
// Script "performance.timing" object
class nsPerformanceTiming MOZ_FINAL : public nsISupports,
public nsWrapperCache
{
public:
nsPerformanceTiming(nsPerformance* aPerformance,
nsITimedChannel* aChannel);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsPerformanceTiming)
nsDOMNavigationTiming* GetDOMTiming() const;
nsPerformance* GetParentObject() const
{
return mPerformance;
}
JSObject* WrapObject(JSContext *cx, JSObject *scope, bool *triedToWrap);
// PerformanceNavigation WebIDL methods
DOMTimeMilliSec GetNavigationStart() const {
return GetDOMTiming()->GetNavigationStart();
}
DOMTimeMilliSec GetUnloadEventStart() {
return GetDOMTiming()->GetUnloadEventStart();
}
DOMTimeMilliSec GetUnloadEventEnd() {
return GetDOMTiming()->GetUnloadEventEnd();
}
DOMTimeMilliSec GetRedirectStart() {
return GetDOMTiming()->GetRedirectStart();
}
DOMTimeMilliSec GetRedirectEnd() {
return GetDOMTiming()->GetRedirectEnd();
}
DOMTimeMilliSec GetFetchStart() const {
return GetDOMTiming()->GetFetchStart();
}
DOMTimeMilliSec GetDomainLookupStart() const;
DOMTimeMilliSec GetDomainLookupEnd() const;
DOMTimeMilliSec GetConnectStart() const;
DOMTimeMilliSec GetConnectEnd() const;
DOMTimeMilliSec GetRequestStart() const;
DOMTimeMilliSec GetResponseStart() const;
DOMTimeMilliSec GetResponseEnd() const;
DOMTimeMilliSec GetDomLoading() const {
return GetDOMTiming()->GetDomLoading();
}
DOMTimeMilliSec GetDomInteractive() const {
return GetDOMTiming()->GetDomInteractive();
}
DOMTimeMilliSec GetDomContentLoadedEventStart() const {
return GetDOMTiming()->GetDomContentLoadedEventStart();
}
DOMTimeMilliSec GetDomContentLoadedEventEnd() const {
return GetDOMTiming()->GetDomContentLoadedEventEnd();
}
DOMTimeMilliSec GetDomComplete() const {
return GetDOMTiming()->GetDomComplete();
}
DOMTimeMilliSec GetLoadEventStart() const {
return GetDOMTiming()->GetLoadEventStart();
}
DOMTimeMilliSec GetLoadEventEnd() const {
return GetDOMTiming()->GetLoadEventEnd();
}
private:
~nsPerformanceTiming();
nsRefPtr<nsPerformance> mPerformance;
nsCOMPtr<nsITimedChannel> mChannel;
};
// Script "performance.navigation" object
class nsPerformanceNavigation MOZ_FINAL : public nsISupports,
public nsWrapperCache
{
public:
explicit nsPerformanceNavigation(nsPerformance* aPerformance);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsPerformanceNavigation)
nsDOMNavigationTiming* GetDOMTiming() const;
nsPerformance* GetParentObject() const
{
return mPerformance;
}
JSObject* WrapObject(JSContext *cx, JSObject *scope, bool *triedToWrap);
// PerformanceNavigation WebIDL methods
uint16_t GetType() const {
return GetDOMTiming()->GetType();
}
uint16_t GetRedirectCount() const {
return GetDOMTiming()->GetRedirectCount();
}
private:
~nsPerformanceNavigation();
nsRefPtr<nsPerformance> mPerformance;
};
// Script "performance" object
class nsPerformance MOZ_FINAL : public nsISupports,
public nsWrapperCache
{
public:
nsPerformance(nsIDOMWindow* aWindow,
nsDOMNavigationTiming* aDOMTiming,
nsITimedChannel* aChannel);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsPerformance)
nsDOMNavigationTiming* GetDOMTiming() const
{
return mDOMTiming;
}
nsITimedChannel* GetChannel() const
{
return mChannel;
}
nsIDOMWindow* GetParentObject() const
{
return mWindow.get();
}
JSObject* WrapObject(JSContext *cx, JSObject *scope, bool *triedToWrap);
// Performance WebIDL methods
DOMHighResTimeStamp Now();
nsPerformanceTiming* GetTiming();
nsPerformanceNavigation* GetNavigation();
private:
~nsPerformance();
nsCOMPtr<nsIDOMWindow> mWindow;
nsRefPtr<nsDOMNavigationTiming> mDOMTiming;
nsCOMPtr<nsITimedChannel> mChannel;
nsRefPtr<nsPerformanceTiming> mTiming;
nsRefPtr<nsPerformanceNavigation> mNavigation;
};
inline nsDOMNavigationTiming*
nsPerformanceNavigation::GetDOMTiming() const
{
return mPerformance->GetDOMTiming();
}
inline nsDOMNavigationTiming*
nsPerformanceTiming::GetDOMTiming() const
{
return mPerformance->GetDOMTiming();
}
#endif /* nsPerformance_h___ */