blob: 45fb669da1b2ac05a6609fb21098ff09a8b891b8 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {sendWebKitMessage} from '//ios/web/public/js_messaging/resources/utils.js';
if (typeof navigator === 'object' && 'geolocation' in navigator) {
if ('getCurrentPosition' in navigator.geolocation) {
const originalFunc = navigator.geolocation.getCurrentPosition;
navigator.geolocation.getCurrentPosition = function(...args) {
sendWebKitMessage(
'GeolocationAPIAccessedHandler', {'api': 'getCurrentPosition'});
return originalFunc.apply(this, args);
};
}
if ('watchPosition' in navigator.geolocation) {
const originalFunc = navigator.geolocation.watchPosition;
navigator.geolocation.watchPosition = function(...args) {
sendWebKitMessage(
'GeolocationAPIAccessedHandler', {'api': 'watchPosition'});
return originalFunc.apply(this, args);
};
}
if ('clearWatch' in navigator.geolocation) {
const originalFunc = navigator.geolocation.clearWatch;
navigator.geolocation.clearWatch = function(...args) {
sendWebKitMessage('GeolocationAPIAccessedHandler', {'api': 'clearWatch'});
return originalFunc.apply(this, args);
};
}
}