#ifndef WebPerformance_h
#define WebPerformance_h
#include "../platform/WebCommon.h"
#include "../platform/WebPrivatePtr.h"
#include "WebNavigationType.h"
#if BLINK_IMPLEMENTATION
#include "heap/Handle.h"
#endif
namespace WebCore { class Performance; }
namespace blink {
class WebPerformance {
public:
~WebPerformance() { reset(); }
WebPerformance() { }
WebPerformance(const WebPerformance& p) { assign(p); }
WebPerformance& operator=(const WebPerformance& p)
{
assign(p);
return *this;
}
BLINK_EXPORT void reset();
BLINK_EXPORT void assign(const WebPerformance&);
BLINK_EXPORT WebNavigationType navigationType() const;
BLINK_EXPORT double navigationStart() const;
BLINK_EXPORT double unloadEventEnd() const;
BLINK_EXPORT double redirectStart() const;
BLINK_EXPORT double redirectEnd() const;
BLINK_EXPORT unsigned short redirectCount() const;
BLINK_EXPORT double fetchStart() const;
BLINK_EXPORT double domainLookupStart() const;
BLINK_EXPORT double domainLookupEnd() const;
BLINK_EXPORT double connectStart() const;
BLINK_EXPORT double connectEnd() const;
BLINK_EXPORT double requestStart() const;
BLINK_EXPORT double responseStart() const;
BLINK_EXPORT double responseEnd() const;
BLINK_EXPORT double domLoading() const;
BLINK_EXPORT double domInteractive() const;
BLINK_EXPORT double domContentLoadedEventStart() const;
BLINK_EXPORT double domContentLoadedEventEnd() const;
BLINK_EXPORT double domComplete() const;
BLINK_EXPORT double loadEventStart() const;
BLINK_EXPORT double loadEventEnd() const;
#if BLINK_IMPLEMENTATION
WebPerformance(const PassRefPtrWillBeRawPtr<WebCore::Performance>&);
WebPerformance& operator=(const PassRefPtrWillBeRawPtr<WebCore::Performance>&);
#endif
private:
WebPrivatePtr<WebCore::Performance> m_private;
};
}
#endif