| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -17,9 +17,9 @@ namespace node { | |||
| 17 | 17 | ||
| 18 | 18 | using v8::Context; | |
| 19 | 19 | using v8::FunctionCallbackInfo; | |
| 20 | + using v8::IntegrityLevel; | ||
| 20 | 21 | using v8::Local; | |
| 21 | 22 | using v8::MaybeLocal; | |
| 22 | - using v8::NewStringType; | ||
| 23 | 23 | using v8::Object; | |
| 24 | 24 | using v8::String; | |
| 25 | 25 | using v8::Value; | |
@@ -32,10 +32,9 @@ namespace { | |||
| 32 | 32 | // permission.has('fs.in') | |
| 33 | 33 | static void Has(const FunctionCallbackInfo<Value>& args) { | |
| 34 | 34 | Environment* env = Environment::GetCurrent(args); | |
| 35 | - v8::Isolate* isolate = env->isolate(); | ||
| 36 | 35 | CHECK(args[0]->IsString()); | |
| 37 | 36 | ||
| 38 | - String::Utf8Value utf8_deny_scope(isolate, args[0]); | ||
| 37 | + String::Utf8Value utf8_deny_scope(env->isolate(), args[0]); | ||
| 39 | 38 | if (*utf8_deny_scope == nullptr) { | |
| 40 | 39 | return; | |
| 41 | 40 | } | |
@@ -47,7 +46,7 @@ static void Has(const FunctionCallbackInfo<Value>& args) { | |||
| 47 | 46 | } | |
| 48 | 47 | ||
| 49 | 48 | if (args.Length() > 1 && !args[1]->IsUndefined()) { | |
| 50 | - String::Utf8Value utf8_arg(isolate, args[1]); | ||
| 49 | + String::Utf8Value utf8_arg(env->isolate(), args[1]); | ||
| 51 | 50 | if (*utf8_arg == nullptr) { | |
| 52 | 51 | return; | |
| 53 | 52 | } | |
@@ -111,14 +110,12 @@ MaybeLocal<Value> CreateAccessDeniedError(Environment* env, | |||
| 111 | 110 | PermissionScope perm, | |
| 112 | 111 | const std::string_view& res) { | |
| 113 | 112 | Local<Object> err = ERR_ACCESS_DENIED(env->isolate()); | |
| 114 | - Local<String> perm_string; | ||
| 115 | - Local<String> resource_string; | ||
| 116 | - if (!String::NewFromUtf8(env->isolate(), | ||
| 117 | - Permission::PermissionToString(perm), | ||
| 118 | - NewStringType::kNormal) | ||
| 113 | + Local<Value> perm_string; | ||
| 114 | + Local<Value> resource_string; | ||
| 115 | + std::string_view perm_str = Permission::PermissionToString(perm); | ||
| 116 | + if (!ToV8Value(env->context(), perm_str, env->isolate()) | ||
| 119 | 117 | .ToLocal(&perm_string) || | |
| 120 | - !String::NewFromUtf8( | ||
| 121 | - env->isolate(), std::string(res).c_str(), NewStringType::kNormal) | ||
| 118 | + !ToV8Value(env->context(), res, env->isolate()) | ||
| 122 | 119 | .ToLocal(&resource_string) || | |
| 123 | 120 | err->Set(env->context(), env->permission_string(), perm_string) | |
| 124 | 121 | .IsNothing() || | |
@@ -132,18 +129,24 @@ MaybeLocal<Value> CreateAccessDeniedError(Environment* env, | |||
| 132 | 129 | void Permission::ThrowAccessDenied(Environment* env, | |
| 133 | 130 | PermissionScope perm, | |
| 134 | 131 | const std::string_view& res) { | |
| 135 | - MaybeLocal<Value> err = CreateAccessDeniedError(env, perm, res); | ||
| 136 | - if (err.IsEmpty()) return; | ||
| 137 | - env->isolate()->ThrowException(err.ToLocalChecked()); | ||
| 132 | + Local<Value> err; | ||
| 133 | + if (CreateAccessDeniedError(env, perm, res).ToLocal(&err)) { | ||
| 134 | + env->isolate()->ThrowException(err); | ||
| 135 | + } | ||
| 136 | + // If ToLocal returned false, then v8 will have scheduled a | ||
| 137 | + // superseding error to be thrown. | ||
| 138 | 138 | } | |
| 139 | 139 | ||
| 140 | 140 | void Permission::AsyncThrowAccessDenied(Environment* env, | |
| 141 | 141 | fs::FSReqBase* req_wrap, | |
| 142 | 142 | PermissionScope perm, | |
| 143 | 143 | const std::string_view& res) { | |
| 144 | - MaybeLocal<Value> err = CreateAccessDeniedError(env, perm, res); | ||
| 145 | - if (err.IsEmpty()) return; | ||
| 146 | - return req_wrap->Reject(err.ToLocalChecked()); | ||
| 144 | + Local<Value> err; | ||
| 145 | + if (CreateAccessDeniedError(env, perm, res).ToLocal(&err)) { | ||
| 146 | + return req_wrap->Reject(err); | ||
| 147 | + } | ||
| 148 | + // If ToLocal returned false, then v8 will have scheduled a | ||
| 149 | + // superseding error to be thrown. | ||
| 147 | 150 | } | |
| 148 | 151 | ||
| 149 | 152 | void Permission::EnablePermissions() { | |
@@ -167,7 +170,7 @@ void Initialize(Local<Object> target, | |||
| 167 | 170 | void* priv) { | |
| 168 | 171 | SetMethodNoSideEffect(context, target, "has", Has); | |
| 169 | 172 | ||
| 170 | - target->SetIntegrityLevel(context, v8::IntegrityLevel::kFrozen).FromJust(); | ||
| 173 | + target->SetIntegrityLevel(context, IntegrityLevel::kFrozen).FromJust(); | ||
| 171 | 174 | } | |
| 172 | 175 | ||
| 173 | 176 | void RegisterExternalReferences(ExternalReferenceRegistry* registry) { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments