| 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 17 matching lines...) Expand all Loading... |
| 28 #include "core/frame/Navigator.h" | 28 #include "core/frame/Navigator.h" |
| 29 #include "modules/geolocation/Geolocation.h" | 29 #include "modules/geolocation/Geolocation.h" |
| 30 | 30 |
| 31 namespace blink { | 31 namespace blink { |
| 32 | 32 |
| 33 NavigatorGeolocation::NavigatorGeolocation(LocalFrame* frame) | 33 NavigatorGeolocation::NavigatorGeolocation(LocalFrame* frame) |
| 34 : DOMWindowProperty(frame) | 34 : DOMWindowProperty(frame) |
| 35 { | 35 { |
| 36 } | 36 } |
| 37 | 37 |
| 38 DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(NavigatorGeolocation); | 38 NavigatorGeolocation::~NavigatorGeolocation() |
| 39 { |
| 40 } |
| 39 | 41 |
| 40 const char* NavigatorGeolocation::supplementName() | 42 const char* NavigatorGeolocation::supplementName() |
| 41 { | 43 { |
| 42 return "NavigatorGeolocation"; | 44 return "NavigatorGeolocation"; |
| 43 } | 45 } |
| 44 | 46 |
| 45 NavigatorGeolocation& NavigatorGeolocation::from(Navigator& navigator) | 47 NavigatorGeolocation& NavigatorGeolocation::from(Navigator& navigator) |
| 46 { | 48 { |
| 47 NavigatorGeolocation* supplement = static_cast<NavigatorGeolocation*>(WillBe
HeapSupplement<Navigator>::from(navigator, supplementName())); | 49 NavigatorGeolocation* supplement = static_cast<NavigatorGeolocation*>(HeapSu
pplement<Navigator>::from(navigator, supplementName())); |
| 48 if (!supplement) { | 50 if (!supplement) { |
| 49 supplement = new NavigatorGeolocation(navigator.frame()); | 51 supplement = new NavigatorGeolocation(navigator.frame()); |
| 50 provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement)); | 52 provideTo(navigator, supplementName(), supplement); |
| 51 } | 53 } |
| 52 return *supplement; | 54 return *supplement; |
| 53 } | 55 } |
| 54 | 56 |
| 55 Geolocation* NavigatorGeolocation::geolocation(Navigator& navigator) | 57 Geolocation* NavigatorGeolocation::geolocation(Navigator& navigator) |
| 56 { | 58 { |
| 57 return NavigatorGeolocation::from(navigator).geolocation(); | 59 return NavigatorGeolocation::from(navigator).geolocation(); |
| 58 } | 60 } |
| 59 | 61 |
| 60 Geolocation* NavigatorGeolocation::geolocation() | 62 Geolocation* NavigatorGeolocation::geolocation() |
| 61 { | 63 { |
| 62 if (!m_geolocation && frame()) | 64 if (!m_geolocation && frame()) |
| 63 m_geolocation = Geolocation::create(frame()->document()); | 65 m_geolocation = Geolocation::create(frame()->document()); |
| 64 return m_geolocation.get(); | 66 return m_geolocation.get(); |
| 65 } | 67 } |
| 66 | 68 |
| 67 DEFINE_TRACE(NavigatorGeolocation) | 69 DEFINE_TRACE(NavigatorGeolocation) |
| 68 { | 70 { |
| 69 visitor->trace(m_geolocation); | 71 visitor->trace(m_geolocation); |
| 70 WillBeHeapSupplement<Navigator>::trace(visitor); | 72 HeapSupplement<Navigator>::trace(visitor); |
| 71 DOMWindowProperty::trace(visitor); | 73 DOMWindowProperty::trace(visitor); |
| 72 } | 74 } |
| 73 | 75 |
| 74 } // namespace blink | 76 } // namespace blink |
| OLD | NEW |