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

Side by Side Diff: Source/web/GeolocationClientProxy.h

Issue 490143002: Move GeolocationClient to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Provide default empty impl of WebGeolocationClient::geolocationDestroyed() virtual Created 6 years, 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google 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 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 19 matching lines...) Expand all
30 #include "platform/heap/Handle.h" 30 #include "platform/heap/Handle.h"
31 #include "public/web/WebGeolocationController.h" 31 #include "public/web/WebGeolocationController.h"
32 32
33 namespace blink { 33 namespace blink {
34 34
35 class GeolocationPosition; 35 class GeolocationPosition;
36 class WebGeolocationClient; 36 class WebGeolocationClient;
37 37
38 class GeolocationClientProxy FINAL : public GeolocationClient { 38 class GeolocationClientProxy FINAL : public GeolocationClient {
39 public: 39 public:
40 GeolocationClientProxy(WebGeolocationClient* client); 40 static PassOwnPtrWillBeRawPtr<GeolocationClientProxy> create(WebGeolocationC lient* client)
41 {
42 return adoptPtrWillBeNoop(new GeolocationClientProxy(client));
43 }
44
41 virtual ~GeolocationClientProxy(); 45 virtual ~GeolocationClientProxy();
42 void setController(GeolocationController*); 46 void setController(GeolocationController*);
43 virtual void geolocationDestroyed() OVERRIDE;
44 virtual void startUpdating() OVERRIDE; 47 virtual void startUpdating() OVERRIDE;
45 virtual void stopUpdating() OVERRIDE; 48 virtual void stopUpdating() OVERRIDE;
46 virtual void setEnableHighAccuracy(bool) OVERRIDE; 49 virtual void setEnableHighAccuracy(bool) OVERRIDE;
47 virtual GeolocationPosition* lastPosition() OVERRIDE; 50 virtual GeolocationPosition* lastPosition() OVERRIDE;
48 51
49 virtual void requestPermission(Geolocation*) OVERRIDE; 52 virtual void requestPermission(Geolocation*) OVERRIDE;
50 virtual void cancelPermissionRequest(Geolocation*) OVERRIDE; 53 virtual void cancelPermissionRequest(Geolocation*) OVERRIDE;
51 54
55 virtual void trace(Visitor*) OVERRIDE;
56
52 private: 57 private:
58 explicit GeolocationClientProxy(WebGeolocationClient*);
59
53 WebGeolocationClient* m_client; 60 WebGeolocationClient* m_client;
54 Persistent<GeolocationPosition> m_lastPosition; 61 PersistentWillBeMember<GeolocationPosition> m_lastPosition;
55 }; 62 };
56 63
57 } // namespace blink 64 } // namespace blink
58 65
59 #endif // GeolocationClientProxy_h 66 #endif // GeolocationClientProxy_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698