summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/mock/GeolocationClientMock.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/mock/GeolocationClientMock.h')
-rw-r--r--WebCore/platform/mock/GeolocationClientMock.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/WebCore/platform/mock/GeolocationClientMock.h b/WebCore/platform/mock/GeolocationClientMock.h
index f57afa9..df35316 100644
--- a/WebCore/platform/mock/GeolocationClientMock.h
+++ b/WebCore/platform/mock/GeolocationClientMock.h
@@ -37,6 +37,7 @@
#include "PlatformString.h"
#include "Timer.h"
+#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
@@ -57,6 +58,7 @@ public:
void setError(PassRefPtr<GeolocationError>);
void setPosition(PassRefPtr<GeolocationPosition>);
+ void setPermission(bool allowed);
// GeolocationClient
virtual void geolocationDestroyed();
@@ -64,17 +66,30 @@ public:
virtual void stopUpdating();
virtual void setEnableHighAccuracy(bool);
virtual GeolocationPosition* lastPosition();
+ virtual void requestPermission(Geolocation*);
+ virtual void cancelPermissionRequest(Geolocation*);
private:
- void timerFired(Timer<GeolocationClientMock>*);
void asyncUpdateController();
- void updateController();
+ void controllerTimerFired(Timer<GeolocationClientMock>*);
+
+ void asyncUpdatePermission();
+ void permissionTimerFired(Timer<GeolocationClientMock>*);
GeolocationController* m_controller;
RefPtr<GeolocationPosition> m_lastPosition;
RefPtr<GeolocationError> m_lastError;
- Timer<GeolocationClientMock> m_timer;
+ Timer<GeolocationClientMock> m_controllerTimer;
+ Timer<GeolocationClientMock> m_permissionTimer;
bool m_isActive;
+
+ enum PermissionState {
+ PermissionStateUnset,
+ PermissionStateAllowed,
+ PermissionStateDenied,
+ } m_permissionState;
+ typedef WTF::HashSet<RefPtr<Geolocation> > GeolocationSet;
+ GeolocationSet m_pendingPermission;
};
}