[Autotest] updating policy_DefaultGeoLocationSetting js call to promise

Updating the JS call to a promise to remove the flake in the case the
variable is not set prior to call

BUG=None
TEST=this

Change-Id: I8a64984c836631a66c461cbcc468ee139f2c9859
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1960428
Tested-by: Derek Beckett <dbeckett@chromium.org>
Reviewed-by: Ruben Zakarian <rzakarian@chromium.org>
Commit-Queue: Derek Beckett <dbeckett@chromium.org>
diff --git a/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py b/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py
index 53a6851..a039c81 100644
--- a/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py
+++ b/client/site_tests/policy_DefaultGeolocationSetting/policy_DefaultGeolocationSetting.py
@@ -33,14 +33,13 @@
 
         """
         tab = self.navigate_to_url('chrome://policy')
+        f = """new Promise(function(resolve, reject) {
+                navigator.permissions.query({name:"geolocation"})
+                    .then(function(geoloc) {
+                        resolve(geoloc.state)});
+            })"""
 
-        geo_status = """navigator.permissions.query({name:'geolocation'})
-                          .then(function(permissionStatus) {
-                            geo_result = permissionStatus.state;
-                           });"""
-
-        tab.EvaluateJavaScript(geo_status)
-        content = tab.EvaluateJavaScript('geo_result')
+        content = tab.EvaluateJavaScript(f, promise=True)
 
         # prompt is the default setting
         if case == 'not_set':