Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: Source/modules/geolocation/GeolocationController.cpp

Issue 307943002: Oilpan: Prepare moving InspectorController and InspectorAgents to oilpan. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 29 matching lines...) Expand all
40 : PageLifecycleObserver(frame.page()) 40 : PageLifecycleObserver(frame.page())
41 , m_client(client) 41 , m_client(client)
42 , m_hasClientForTest(false) 42 , m_hasClientForTest(false)
43 , m_isClientUpdating(false) 43 , m_isClientUpdating(false)
44 , m_inspectorAgent() 44 , m_inspectorAgent()
45 { 45 {
46 // FIXME: Once GeolocationInspectorAgent is per frame, there will be a 1:1 r elationship between 46 // FIXME: Once GeolocationInspectorAgent is per frame, there will be a 1:1 r elationship between
47 // it and this class. Until then, there's one GeolocationInspectorAgent per page that the main 47 // it and this class. Until then, there's one GeolocationInspectorAgent per page that the main
48 // frame is responsible for creating. 48 // frame is responsible for creating.
49 if (frame.isMainFrame()) { 49 if (frame.isMainFrame()) {
50 OwnPtr<GeolocationInspectorAgent> geolocationAgent(GeolocationInspectorA gent::create()); 50 OwnPtrWillBeRawPtr<GeolocationInspectorAgent> geolocationAgent(Geolocati onInspectorAgent::create());
51 m_inspectorAgent = geolocationAgent.get(); 51 m_inspectorAgent = geolocationAgent.get();
52 frame.page()->inspectorController().registerModuleAgent(geolocationAgent .release()); 52 frame.page()->inspectorController().registerModuleAgent(geolocationAgent .release());
53 } else { 53 } else {
54 m_inspectorAgent = GeolocationController::from(frame.page()->deprecatedL ocalMainFrame())->m_inspectorAgent; 54 m_inspectorAgent = GeolocationController::from(frame.page()->deprecatedL ocalMainFrame())->m_inspectorAgent;
55 } 55 }
56 56
57 m_inspectorAgent->AddController(this); 57 m_inspectorAgent->addController(this);
58 58
59 if (!frame.isMainFrame()) { 59 if (!frame.isMainFrame()) {
60 // internals.setGeolocationClientMock is per page. 60 // internals.setGeolocationClientMock is per page.
61 GeolocationController* mainController = GeolocationController::from(fram e.page()->deprecatedLocalMainFrame()); 61 GeolocationController* mainController = GeolocationController::from(fram e.page()->deprecatedLocalMainFrame());
62 if (mainController->hasClientForTest()) 62 if (mainController->hasClientForTest())
63 setClientForTest(mainController->client()); 63 setClientForTest(mainController->client());
64 } 64 }
65 } 65 }
66 66
67 void GeolocationController::startUpdatingIfNeeded() 67 void GeolocationController::startUpdatingIfNeeded()
(...skipping 13 matching lines...) Expand all
81 } 81 }
82 82
83 GeolocationController::~GeolocationController() 83 GeolocationController::~GeolocationController()
84 { 84 {
85 ASSERT(m_observers.isEmpty()); 85 ASSERT(m_observers.isEmpty());
86 detach(); 86 detach();
87 } 87 }
88 88
89 void GeolocationController::detach() 89 void GeolocationController::detach()
90 { 90 {
91 #if !ENABLE(OILPAN)
91 if (page() && m_inspectorAgent) { 92 if (page() && m_inspectorAgent) {
92 m_inspectorAgent->RemoveController(this); 93 m_inspectorAgent->removeController(this);
93 m_inspectorAgent = 0; 94 m_inspectorAgent = nullptr;
94 } 95 }
96 #endif
95 97
96 if (m_hasClientForTest) { 98 if (m_hasClientForTest) {
97 m_client->controllerForTestRemoved(this); 99 m_client->controllerForTestRemoved(this);
98 m_hasClientForTest = false; 100 m_hasClientForTest = false;
99 } 101 }
100 } 102 }
101 103
102 // FIXME: Oilpan: Once GeolocationClient is on-heap m_client should be a strong 104 // FIXME: Oilpan: Once GeolocationClient is on-heap m_client should be a strong
103 // pointer and |willBeDestroyed| can potentially be removed from Supplement. 105 // pointer and |willBeDestroyed| can potentially be removed from Supplement.
104 void GeolocationController::willBeDestroyed() 106 void GeolocationController::willBeDestroyed()
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 const char* GeolocationController::supplementName() 224 const char* GeolocationController::supplementName()
223 { 225 {
224 return "GeolocationController"; 226 return "GeolocationController";
225 } 227 }
226 228
227 void GeolocationController::trace(Visitor* visitor) 229 void GeolocationController::trace(Visitor* visitor)
228 { 230 {
229 visitor->trace(m_lastPosition); 231 visitor->trace(m_lastPosition);
230 visitor->trace(m_observers); 232 visitor->trace(m_observers);
231 visitor->trace(m_highAccuracyObservers); 233 visitor->trace(m_highAccuracyObservers);
234 visitor->trace(m_inspectorAgent);
232 WillBeHeapSupplement<LocalFrame>::trace(visitor); 235 WillBeHeapSupplement<LocalFrame>::trace(visitor);
233 } 236 }
234 237
235 void provideGeolocationTo(LocalFrame& frame, GeolocationClient* client) 238 void provideGeolocationTo(LocalFrame& frame, GeolocationClient* client)
236 { 239 {
237 WillBeHeapSupplement<LocalFrame>::provideTo(frame, GeolocationController::su pplementName(), GeolocationController::create(frame, client)); 240 WillBeHeapSupplement<LocalFrame>::provideTo(frame, GeolocationController::su pplementName(), GeolocationController::create(frame, client));
238 } 241 }
239 242
240 } // namespace WebCore 243 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698