1/* 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: 7 * 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 13 * distribution. 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. 17 * 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. 29 */ 30 31#include "config.h" 32#include "public/platform/WebURLLoadTiming.h" 33 34#include "core/platform/network/ResourceLoadTiming.h" 35#include "public/platform/WebString.h" 36 37using namespace WebCore; 38 39namespace WebKit { 40 41void WebURLLoadTiming::initialize() 42{ 43 m_private = ResourceLoadTiming::create(); 44} 45 46void WebURLLoadTiming::reset() 47{ 48 m_private.reset(); 49} 50 51void WebURLLoadTiming::assign(const WebURLLoadTiming& other) 52{ 53 m_private = other.m_private; 54} 55 56double WebURLLoadTiming::requestTime() const 57{ 58 return m_private->requestTime; 59} 60 61void WebURLLoadTiming::setRequestTime(double time) 62{ 63 m_private->requestTime = time; 64} 65 66double WebURLLoadTiming::proxyStart() const 67{ 68 return m_private->proxyStart; 69} 70 71void WebURLLoadTiming::setProxyStart(double start) 72{ 73 m_private->proxyStart = start; 74} 75 76double WebURLLoadTiming::proxyEnd() const 77{ 78 return m_private->proxyEnd; 79} 80 81void WebURLLoadTiming::setProxyEnd(double end) 82{ 83 m_private->proxyEnd = end; 84} 85 86double WebURLLoadTiming::dnsStart() const 87{ 88 return m_private->dnsStart; 89} 90 91void WebURLLoadTiming::setDNSStart(double start) 92{ 93 m_private->dnsStart = start; 94} 95 96double WebURLLoadTiming::dnsEnd() const 97{ 98 return m_private->dnsEnd; 99} 100 101void WebURLLoadTiming::setDNSEnd(double end) 102{ 103 m_private->dnsEnd = end; 104} 105 106double WebURLLoadTiming::connectStart() const 107{ 108 return m_private->connectStart; 109} 110 111void WebURLLoadTiming::setConnectStart(double start) 112{ 113 m_private->connectStart = start; 114} 115 116double WebURLLoadTiming::connectEnd() const 117{ 118 return m_private->connectEnd; 119} 120 121void WebURLLoadTiming::setConnectEnd(double end) 122{ 123 m_private->connectEnd = end; 124} 125 126double WebURLLoadTiming::sendStart() const 127{ 128 return m_private->sendStart; 129} 130 131void WebURLLoadTiming::setSendStart(double start) 132{ 133 m_private->sendStart = start; 134} 135 136double WebURLLoadTiming::sendEnd() const 137{ 138 return m_private->sendEnd; 139} 140 141void WebURLLoadTiming::setSendEnd(double end) 142{ 143 m_private->sendEnd = end; 144} 145 146double WebURLLoadTiming::receiveHeadersEnd() const 147{ 148 return m_private->receiveHeadersEnd; 149} 150 151void WebURLLoadTiming::setReceiveHeadersEnd(double end) 152{ 153 m_private->receiveHeadersEnd = end; 154} 155 156double WebURLLoadTiming::sslStart() const 157{ 158 return m_private->sslStart; 159} 160 161void WebURLLoadTiming::setSSLStart(double start) 162{ 163 m_private->sslStart = start; 164} 165 166double WebURLLoadTiming::sslEnd() const 167{ 168 return m_private->sslEnd; 169} 170 171void WebURLLoadTiming::setSSLEnd(double end) 172{ 173 m_private->sslEnd = end; 174} 175 176WebURLLoadTiming::WebURLLoadTiming(const PassRefPtr<ResourceLoadTiming>& value) 177 : m_private(value) 178{ 179} 180 181WebURLLoadTiming& WebURLLoadTiming::operator=(const PassRefPtr<ResourceLoadTiming>& value) 182{ 183 m_private = value; 184 return *this; 185} 186 187WebURLLoadTiming::operator PassRefPtr<ResourceLoadTiming>() const 188{ 189 return m_private.get(); 190} 191 192} // namespace WebKit 193