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