14576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang/*
24576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * Copyright (C) 2010 Google Inc. All rights reserved.
34576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *
44576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * Redistribution and use in source and binary forms, with or without
54576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * modification, are permitted provided that the following conditions
64576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * are met:
74576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *
84576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * 1.  Redistributions of source code must retain the above copyright
94576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *     notice, this list of conditions and the following disclaimer.
104576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * 2.  Redistributions in binary form must reproduce the above copyright
114576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *     notice, this list of conditions and the following disclaimer in the
124576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *     documentation and/or other materials provided with the distribution.
134576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang *
144576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
154576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
164576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
174576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
184576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
194576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
204576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
214576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
224576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
234576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
244576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang */
254576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
264576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "config.h"
274576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "WebGeolocationPosition.h"
284576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
294576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "GeolocationPosition.h"
304576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
314576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangusing namespace WebCore;
324576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
334576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangnamespace WebKit {
344576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
354576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangvoid WebGeolocationPosition::assign(double timestamp, double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed)
364576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
374576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = GeolocationPosition::create(timestamp, latitude, longitude, accuracy, providesAltitude, altitude, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed);
384576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
394576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
404576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangvoid WebGeolocationPosition::assign(const WebGeolocationPosition& other)
414576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
424576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = other.m_private;
434576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
444576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
454576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangvoid WebGeolocationPosition::reset()
464576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
474576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private.reset();
484576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
494576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
504576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangWebGeolocationPosition& WebGeolocationPosition::operator=(PassRefPtr<GeolocationPosition> position)
514576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
524576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = position;
534576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return *this;
544576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
554576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
564576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangWebGeolocationPosition::operator PassRefPtr<GeolocationPosition>() const
574576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
584576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return m_private.get();
594576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
604576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
614576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang} // namespace WebKit
62