| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Harri Porten (porten@kde.org) | 2 * Copyright (C) 2000 Harri Porten (porten@kde.org) |
| 3 * Copyright (c) 2000 Daniel Molkentin (molkentin@kde.org) | 3 * Copyright (c) 2000 Daniel Molkentin (molkentin@kde.org) |
| 4 * Copyright (c) 2000 Stefan Schimanski (schimmi@kde.org) | 4 * Copyright (c) 2000 Stefan Schimanski (schimmi@kde.org) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. | 5 * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. |
| 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Lesser General Public | 9 * modify it under the terms of the GNU Lesser General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 { | 39 { |
| 40 } | 40 } |
| 41 | 41 |
| 42 const char* NavigatorGeolocation::supplementName() | 42 const char* NavigatorGeolocation::supplementName() |
| 43 { | 43 { |
| 44 return "NavigatorGeolocation"; | 44 return "NavigatorGeolocation"; |
| 45 } | 45 } |
| 46 | 46 |
| 47 NavigatorGeolocation& NavigatorGeolocation::from(Navigator& navigator) | 47 NavigatorGeolocation& NavigatorGeolocation::from(Navigator& navigator) |
| 48 { | 48 { |
| 49 NavigatorGeolocation* supplement = static_cast<NavigatorGeolocation*>(Supple
ment<Navigator>::from(navigator, supplementName())); | 49 NavigatorGeolocation* supplement = static_cast<NavigatorGeolocation*>(WillBe
HeapSupplement<Navigator>::from(navigator, supplementName())); |
| 50 if (!supplement) { | 50 if (!supplement) { |
| 51 supplement = new NavigatorGeolocation(navigator.frame()); | 51 supplement = new NavigatorGeolocation(navigator.frame()); |
| 52 provideTo(navigator, supplementName(), adoptPtr(supplement)); | 52 provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement)); |
| 53 } | 53 } |
| 54 return *supplement; | 54 return *supplement; |
| 55 } | 55 } |
| 56 | 56 |
| 57 Geolocation* NavigatorGeolocation::geolocation(Navigator& navigator) | 57 Geolocation* NavigatorGeolocation::geolocation(Navigator& navigator) |
| 58 { | 58 { |
| 59 return NavigatorGeolocation::from(navigator).geolocation(); | 59 return NavigatorGeolocation::from(navigator).geolocation(); |
| 60 } | 60 } |
| 61 | 61 |
| 62 Geolocation* NavigatorGeolocation::geolocation() const | 62 Geolocation* NavigatorGeolocation::geolocation() const |
| 63 { | 63 { |
| 64 if (!m_geolocation && frame()) | 64 if (!m_geolocation && frame()) |
| 65 m_geolocation = Geolocation::create(frame()->document()); | 65 m_geolocation = Geolocation::create(frame()->document()); |
| 66 return m_geolocation.get(); | 66 return m_geolocation.get(); |
| 67 } | 67 } |
| 68 | 68 |
| 69 void NavigatorGeolocation::trace(Visitor* visitor) |
| 70 { |
| 71 visitor->trace(m_geolocation); |
| 72 } |
| 73 |
| 69 } // namespace WebCore | 74 } // namespace WebCore |
| OLD | NEW |