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 "WebGeolocationError.h"
284576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
294576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "GeolocationError.h"
304576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "WebString.h"
314576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
324576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangusing namespace WebCore;
334576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
344576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangnamespace WebKit {
354576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
364576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangvoid WebGeolocationError::assign(Error code, const WebString& message)
374576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
384576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = GeolocationError::create(static_cast<GeolocationError::ErrorCode>(code), message);
394576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
404576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
414576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangvoid WebGeolocationError::assign(const WebGeolocationError& other)
424576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
434576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = other.m_private;
444576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
454576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
464576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangvoid WebGeolocationError::reset()
474576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
484576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private.reset();
494576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
504576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
514576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangWebGeolocationError::WebGeolocationError(PassRefPtr<GeolocationError> error)
524576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
534576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = error;
544576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
554576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
564576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangWebGeolocationError& WebGeolocationError::operator=(PassRefPtr<GeolocationError> error)
574576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
584576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    m_private = error;
594576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return *this;
604576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
614576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
624576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) WangWebGeolocationError::operator PassRefPtr<GeolocationError>() const
634576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang{
644576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang    return m_private.get();
654576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
664576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
674576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}
68