1
+ #include " builtins/worker-location.h"
1
2
#include " builtin.h"
2
3
#include " builtins/url.h"
3
- #include " builtins/worker-location.h"
4
- #include " js-compute-builtins.h"
5
4
#include " host_call.h"
5
+ #include " js-compute-builtins.h"
6
6
7
7
/* *
8
8
* The `WorkerLocation` builtin, added to the global object as the data property
12
12
namespace builtins {
13
13
JS::PersistentRooted<JSObject *> WorkerLocation::url;
14
14
15
- #define WorkerLocation_ACCESSOR_GET (field ) \
16
- bool field##_get(JSContext *cx, unsigned argc, JS::Value *vp) { \
17
- auto result = WorkerLocation::MethodHeaderWithName (0 , cx, argc, vp, __func__); \
18
- if (result.isErr ()) { \
19
- return false ; \
20
- } \
21
- auto [args, self] = result.unwrap (); \
22
- REQUEST_HANDLER_ONLY (" location." #field) \
23
- return URL::field (cx, WorkerLocation::url, args.rval ()); \
15
+ #define WorkerLocation_ACCESSOR_GET (field ) \
16
+ bool field##_get(JSContext *cx, unsigned argc, JS::Value *vp) { \
17
+ auto result = WorkerLocation::MethodHeaderWithName (0 , cx, argc, vp, __func__); \
18
+ if (result.isErr ()) { \
19
+ return false ; \
20
+ } \
21
+ auto [args, self] = result.unwrap (); \
22
+ REQUEST_HANDLER_ONLY (" location." #field) \
23
+ return URL::field (cx, WorkerLocation::url, args.rval ()); \
24
24
}
25
25
26
- WorkerLocation_ACCESSOR_GET (href)
27
- WorkerLocation_ACCESSOR_GET (origin)
28
- WorkerLocation_ACCESSOR_GET (protocol)
29
- WorkerLocation_ACCESSOR_GET (host)
30
- WorkerLocation_ACCESSOR_GET (hostname)
31
- WorkerLocation_ACCESSOR_GET (port)
32
- WorkerLocation_ACCESSOR_GET (pathname)
33
- WorkerLocation_ACCESSOR_GET (search)
34
- WorkerLocation_ACCESSOR_GET (hash)
26
+ WorkerLocation_ACCESSOR_GET (href) WorkerLocation_ACCESSOR_GET(origin)
27
+ WorkerLocation_ACCESSOR_GET (protocol) WorkerLocation_ACCESSOR_GET(host)
28
+ WorkerLocation_ACCESSOR_GET (hostname) WorkerLocation_ACCESSOR_GET(port)
29
+ WorkerLocation_ACCESSOR_GET (pathname) WorkerLocation_ACCESSOR_GET(search)
30
+ WorkerLocation_ACCESSOR_GET (hash)
35
31
36
32
#undef WorkerLocation_ACCESSOR_GET
37
33
38
- bool WorkerLocation::toString (JSContext *cx, unsigned argc, JS::Value *vp) {
34
+ bool WorkerLocation::toString (JSContext *cx, unsigned argc, JS::Value *vp) {
39
35
METHOD_HEADER (0 )
40
36
return href_get (cx, argc, vp);
41
37
}
42
38
39
+ const JSFunctionSpec WorkerLocation::methods[] = {JS_FN (" toString" , toString, 0 , JSPROP_ENUMERATE),
40
+ JS_FS_END};
43
41
44
- const JSFunctionSpec WorkerLocation::methods[] = {JS_FN (" toString" , toString, 0 , JSPROP_ENUMERATE), JS_FS_END};
45
-
46
- const JSPropertySpec WorkerLocation::properties[] = {JS_PSG (" href" , href_get, JSPROP_ENUMERATE),
47
- JS_PSG (" origin" , origin_get, JSPROP_ENUMERATE),
48
- JS_PSG (" protocol" , protocol_get, JSPROP_ENUMERATE),
49
- JS_PSG (" host" , host_get, JSPROP_ENUMERATE),
50
- JS_PSG (" hostname" , hostname_get, JSPROP_ENUMERATE),
51
- JS_PSG (" port" , port_get, JSPROP_ENUMERATE),
52
- JS_PSG (" pathname" , pathname_get, JSPROP_ENUMERATE),
53
- JS_PSG (" search" , search_get, JSPROP_ENUMERATE),
54
- JS_PSG (" hash" , hash_get, JSPROP_ENUMERATE),
55
- JS_STRING_SYM_PS (toStringTag, " Location" , JSPROP_READONLY),
56
- JS_PS_END};
42
+ const JSPropertySpec WorkerLocation::properties[] = {
43
+ JS_PSG (" href" , href_get, JSPROP_ENUMERATE),
44
+ JS_PSG (" origin" , origin_get, JSPROP_ENUMERATE),
45
+ JS_PSG (" protocol" , protocol_get, JSPROP_ENUMERATE),
46
+ JS_PSG (" host" , host_get, JSPROP_ENUMERATE),
47
+ JS_PSG (" hostname" , hostname_get, JSPROP_ENUMERATE),
48
+ JS_PSG (" port" , port_get, JSPROP_ENUMERATE),
49
+ JS_PSG (" pathname" , pathname_get, JSPROP_ENUMERATE),
50
+ JS_PSG (" search" , search_get, JSPROP_ENUMERATE),
51
+ JS_PSG (" hash" , hash_get, JSPROP_ENUMERATE),
52
+ JS_STRING_SYM_PS (toStringTag, " Location" , JSPROP_READONLY),
53
+ JS_PS_END};
57
54
58
55
bool WorkerLocation::constructor (JSContext *cx, unsigned argc, JS::Value *vp) {
59
56
JS_ReportErrorLatin1 (cx, " Illegal constructor WorkerLocation" );
@@ -76,4 +73,3 @@ bool WorkerLocation::init_class(JSContext *cx, JS::HandleObject global) {
76
73
}
77
74
78
75
} // namespace builtins
79
-
0 commit comments