2 * Copyright (C) 2010 Google Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 #include "WebURLLoadTiming.h"
34 #include "ResourceLoadTiming.h"
35 #include "WebString.h"
37 using namespace WebCore;
41 void WebURLLoadTiming::initialize()
43 m_private = ResourceLoadTiming::create();
46 void WebURLLoadTiming::reset()
51 void WebURLLoadTiming::assign(const WebURLLoadTiming& other)
53 m_private = other.m_private;
56 double WebURLLoadTiming::requestTime() const
58 return m_private->requestTime;
61 void WebURLLoadTiming::setRequestTime(double time)
63 m_private->requestTime = time;
66 int WebURLLoadTiming::proxyStart() const
68 return m_private->proxyStart;
71 void WebURLLoadTiming::setProxyStart(int start)
73 m_private->proxyStart = start;
76 int WebURLLoadTiming::proxyEnd() const
78 return m_private->proxyEnd;
81 void WebURLLoadTiming::setProxyEnd(int end)
83 m_private->proxyEnd = end;
86 int WebURLLoadTiming::dnsStart() const
88 return m_private->dnsStart;
91 void WebURLLoadTiming::setDNSStart(int start)
93 m_private->dnsStart = start;
96 int WebURLLoadTiming::dnsEnd() const
98 return m_private->dnsEnd;
101 void WebURLLoadTiming::setDNSEnd(int end)
103 m_private->dnsEnd = end;
106 int WebURLLoadTiming::connectStart() const
108 return m_private->connectStart;
111 void WebURLLoadTiming::setConnectStart(int start)
113 m_private->connectStart = start;
116 int WebURLLoadTiming::connectEnd() const
118 return m_private->connectEnd;
121 void WebURLLoadTiming::setConnectEnd(int end)
123 m_private->connectEnd = end;
126 int WebURLLoadTiming::sendStart() const
128 return m_private->sendStart;
131 void WebURLLoadTiming::setSendStart(int start)
133 m_private->sendStart = start;
136 int WebURLLoadTiming::sendEnd() const
138 return m_private->sendEnd;
141 void WebURLLoadTiming::setSendEnd(int end)
143 m_private->sendEnd = end;
146 int WebURLLoadTiming::receiveHeadersEnd() const
148 return m_private->receiveHeadersEnd;
151 void WebURLLoadTiming::setReceiveHeadersEnd(int end)
153 m_private->receiveHeadersEnd = end;
156 int WebURLLoadTiming::sslStart() const
158 return m_private->sslStart;
161 void WebURLLoadTiming::setSSLStart(int start)
163 m_private->sslStart = start;
166 int WebURLLoadTiming::sslEnd() const
168 return m_private->sslEnd;
171 void WebURLLoadTiming::setSSLEnd(int end)
173 m_private->sslEnd = end;
176 WebURLLoadTiming::WebURLLoadTiming(const PassRefPtr<ResourceLoadTiming>& value)
181 WebURLLoadTiming& WebURLLoadTiming::operator=(const PassRefPtr<ResourceLoadTiming>& value)
187 WebURLLoadTiming::operator PassRefPtr<ResourceLoadTiming>() const
189 return m_private.get();
192 } // namespace WebKit