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 |