Skip to content

Commit 9475867

Browse files
committed
Add implementation report
1 parent df64beb commit 9475867

File tree

1 file changed

+299
-0
lines changed

1 file changed

+299
-0
lines changed

reports/implementation.html

Lines changed: 299 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,299 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<script
6+
src="https://www.w3.org/Tools/respec/respec-w3c"
7+
async
8+
class="remove"
9+
></script>
10+
<script class="remove">
11+
// All config options at https://respec.org/docs/
12+
var respecConfig = {
13+
// Working Groups ids at https://respec.org/w3c/groups/
14+
specStatus: "base",
15+
editors: [
16+
{
17+
name: "Marcos Cáceres",
18+
},
19+
],
20+
latestVersion: null,
21+
// See https://respec.org/docs/#xref for usage.
22+
xref: "web-platform",
23+
};
24+
</script>
25+
<style>
26+
.pass {
27+
background-color: green;
28+
color: white;
29+
}
30+
.fail {
31+
background-color: red;
32+
color: white;
33+
}
34+
</style>
35+
<title>Geolocation - Implementation Report</title>
36+
</head>
37+
<body>
38+
<section id="abstract">
39+
<p>This is an implementation report for [[Geolocation]].</p>
40+
</section>
41+
<h2>Tested assertions</h2>
42+
<p data-cite="permissions">
43+
As Geolocation requires explicit permission grant to be used (via a
44+
browser UI), the following assertions were tested manually to assure
45+
interoperability across browser engines.
46+
</p>
47+
<p class="note" title="Why we are not using wpt.fyi">
48+
As some of the tests rely on the [[Permissions]] specifications automation
49+
API, which is only partially supported in Chrome, some the test were
50+
modified locally to get them to pass across browser engines. However, the
51+
working group expects that eventually all browser engines will support the
52+
[[Permissions]]'s automation API and wpt.fyi will reflect
53+
<a
54+
href="https://wpt.fyi/results/geolocation?label=experimental&amp;label=master&amp;aligned"
55+
>
56+
accurate results</a
57+
>
58+
for [[Geolocation]].
59+
</p>
60+
<table class="simple data">
61+
<tr>
62+
<th>Test</th>
63+
<th>Chromium</th>
64+
<th>Gecko</th>
65+
<th>WebKit</th>
66+
</tr>
67+
<tr>
68+
<td>
69+
<a href="https://wpt.live/geolocation/PositionOptions.https.html"
70+
>PositionOptions.https.html</a
71+
>
72+
</td>
73+
<td>UNTESTED</td>
74+
<td>UNTESTED</td>
75+
<td>UNTESTED</td>
76+
</tr>
77+
<tr>
78+
<td>
79+
<a href="https://wpt.live/geolocation/clearWatch_TypeError.https.html"
80+
>clearWatch_TypeError.https.html</a
81+
>
82+
</td>
83+
<td class="pass">PASS</td>
84+
<td class="pass">PASS</td>
85+
<td class="pass">PASS</td>
86+
</tr>
87+
<tr>
88+
<td>
89+
<a
90+
href="https://wpt.live/geolocation/disabled-by-permissions-policy.https.sub.html"
91+
>disabled-by-permissions-policy.https.sub.html</a
92+
>
93+
</td>
94+
<td>UNTESTED</td>
95+
<td>UNTESTED</td>
96+
<td>UNTESTED</td>
97+
</tr>
98+
<tr>
99+
<td>
100+
<a
101+
href="https://wpt.live/geolocation/enabled-by-permission-policy-attribute-redirect-on-load.https.sub.html"
102+
>enabled-by-permission-policy-attribute-redirect-on-load.https.sub.html</a
103+
>
104+
</td>
105+
<td>UNTESTED</td>
106+
<td>UNTESTED</td>
107+
<td>UNTESTED</td>
108+
</tr>
109+
<tr>
110+
<td>
111+
<a
112+
href="https://wpt.live/geolocation/enabled-by-permission-policy-attribute.https.sub.html"
113+
>enabled-by-permission-policy-attribute.https.sub.html</a
114+
>
115+
</td>
116+
<td>UNTESTED</td>
117+
<td>UNTESTED</td>
118+
<td>UNTESTED</td>
119+
</tr>
120+
<tr>
121+
<td>
122+
<a
123+
href="https://wpt.live/geolocation/enabled-by-permissions-policy.https.sub.html"
124+
>enabled-by-permissions-policy.https.sub.html</a
125+
>
126+
</td>
127+
<td>UNTESTED</td>
128+
<td>UNTESTED</td>
129+
<td>UNTESTED</td>
130+
</tr>
131+
<tr>
132+
<td>
133+
<a
134+
href="https://wpt.live/geolocation/enabled-on-self-origin-by-permissions-policy.https.sub.html"
135+
>enabled-on-self-origin-by-permissions-policy.https.sub.html</a
136+
>
137+
</td>
138+
<td>UNTESTED</td>
139+
<td>UNTESTED</td>
140+
<td>UNTESTED</td>
141+
</tr>
142+
<tr>
143+
<td>
144+
<a
145+
href="https://wpt.live/geolocation/getCurrentPosition_TypeError.https.html"
146+
>getCurrentPosition_TypeError.https.html</a
147+
>
148+
</td>
149+
<td class="pass">PASS</td>
150+
<td class="pass">PASS</td>
151+
<td class="pass">PASS</td>
152+
</tr>
153+
<tr>
154+
<td>
155+
<a
156+
href="https://wpt.live/geolocation/getCurrentPosition_permission_allow.https.html"
157+
>getCurrentPosition_permission_allow.https.html</a
158+
>
159+
</td>
160+
<td>UNTESTED</td>
161+
<td>UNTESTED</td>
162+
<td>UNTESTED</td>
163+
</tr>
164+
<tr>
165+
<td>
166+
<a
167+
href="https://wpt.live/geolocation/getCurrentPosition_permission_deny.https.html"
168+
>getCurrentPosition_permission_deny.https.html</a
169+
>
170+
</td>
171+
<td>UNTESTED</td>
172+
<td>UNTESTED</td>
173+
<td>UNTESTED</td>
174+
</tr>
175+
<tr>
176+
<td>
177+
<a href="https://wpt.live/geolocation/idlharness.https.window.js"
178+
>idlharness.https.window.js</a
179+
>
180+
</td>
181+
<td>UNTESTED</td>
182+
<td>UNTESTED</td>
183+
<td>UNTESTED</td>
184+
</tr>
185+
<tr>
186+
<td>
187+
<a href="https://wpt.live/geolocation/non-fully-active.https.html"
188+
>non-fully-active.https.html</a
189+
>
190+
</td>
191+
<td class="fail">FAIL</td>
192+
<td class="pass">PASS</td>
193+
<td class="fail">FAIL</td>
194+
</tr>
195+
<tr>
196+
<td>
197+
<a href="https://wpt.live/geolocation/non-secure-contexts.http.html"
198+
>non-secure-contexts.http.html</a
199+
>
200+
</td>
201+
<td class="pass">PASS</td>
202+
<td class="pass">PASS</td>
203+
<td class="pass">PASS</td>
204+
</tr>
205+
<tr>
206+
<td>
207+
<a href="https://wpt.live/geolocation/permission.https.html"
208+
>permission.https.html</a
209+
>
210+
</td>
211+
<td class="pass">PASS</td>
212+
<td class="pass">PASS</td>
213+
<td class="pass">PASS</td>
214+
</tr>
215+
<tr>
216+
<td>
217+
<a
218+
href="https://wpt.live/geolocation/watchPosition_TypeError.https.html"
219+
>watchPosition_TypeError.https.html</a
220+
>
221+
</td>
222+
<td class="pass">PASS</td>
223+
<td class="pass">PASS</td>
224+
<td class="pass">PASS</td>
225+
</tr>
226+
<tr>
227+
<td>
228+
<a
229+
href="https://wpt.live/geolocation/watchPosition_permission_deny.https.html"
230+
>watchPosition_permission_deny.https.html</a
231+
>
232+
</td>
233+
<td class="pass">PASS</td>
234+
<td class="pass">PASS</td>
235+
<td class="pass">PASS</td>
236+
</tr>
237+
</table>
238+
<h2>
239+
Is each feature of the current specification implemented, and how is this
240+
demonstrated?
241+
</h2>
242+
<p>
243+
The current specification features are implemented across major browsers
244+
like Chrome, Firefox, and Safari. This is demonstrated through the
245+
aforementioned web platform tests (WPT), which verify the implementation
246+
of the specification's features, such as obtaining the location, handling
247+
permissions, and responding to errors.
248+
</p>
249+
<h2>
250+
Are there independent interoperable implementations of the current
251+
specification?
252+
</h2>
253+
<p>
254+
Yes, there are independent interoperable implementations of the Major web
255+
browsers such as Chrome, Firefox, and Safari provide their own
256+
implementations, which have been tested to ensure they conform to the
257+
W3C's specifications and work interoperability across different platforms
258+
and operating systems.
259+
</p>
260+
<h2>
261+
Are there implementations created by people other than the authors of the
262+
specification?
263+
</h2>
264+
<p>
265+
Yes, implementations of Geolocation have been created by various browser
266+
vendors who are not necessarily the editors of the specification. This
267+
includes engineers from Google, Mozilla, Microsoft, and Apple, among
268+
others, ensuring a broad base of experience and design input is reflected
269+
in the API.
270+
</p>
271+
<h2>Are implementations publicly deployed?</h2>
272+
<p>
273+
Yes, the implementations of Geolocation are publicly deployed and widely
274+
used in web applications. These are accessible in consumer-level browsers,
275+
allowing developers to incorporate geolocation features into their
276+
websites and applications, enhancing user experience with location-based
277+
services.
278+
</p>
279+
<h2>
280+
Is there implementation experience at all levels of the specification's
281+
ecosystem (authoring, consuming, publishing…)?
282+
</h2>
283+
<p>
284+
There is substantial implementation experience at all levels of the
285+
specification's ecosystem. Developers use the API to author location-based
286+
services, consumers use these features in daily web interactions, and
287+
publishers integrate these capabilities into various applications for
288+
enhanced contextual experiences.
289+
</p>
290+
<h2>Are there reports of difficulties or problems with implementation?</h2>
291+
<p>
292+
While the core functionality of Geolocation is well-supported, developers
293+
occasionally report difficulties related to privacy concerns, varying
294+
accuracy levels, and handling user permissions across different browsers
295+
and devices. These issues are typically addressed through updates to the
296+
specification and improvements in browser implementations.
297+
</p>
298+
</body>
299+
</html>

0 commit comments

Comments
 (0)