| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 90ff714 commit 342c324
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -18,6 +18,8 @@ namespace node { | |||
| 18 | 18 | using v8::Context; | |
| 19 | 19 | using v8::FunctionCallbackInfo; | |
| 20 | 20 | using v8::Local; | |
| 21 | + using v8::MaybeLocal; | ||
| 22 | + using v8::NewStringType; | ||
| 21 | 23 | using v8::Object; | |
| 22 | 24 | using v8::String; | |
| 23 | 25 | using v8::Value; | |
@@ -105,46 +107,43 @@ Permission::Permission() : enabled_(false) { | |||
| 105 | 107 | #undef V | |
| 106 | 108 | } | |
| 107 | 109 | ||
| 108 | - Local<Value> CreateAccessDeniedError(Environment* env, | ||
| 109 | - PermissionScope perm, | ||
| 110 | - const std::string_view& res) { | ||
| 111 | - Local<Value> err = ERR_ACCESS_DENIED(env->isolate()); | ||
| 112 | - CHECK(err->IsObject()); | ||
| 113 | - if (err.As<Object>() | ||
| 114 | - ->Set(env->context(), | ||
| 115 | - env->permission_string(), | ||
| 116 | - v8::String::NewFromUtf8(env->isolate(), | ||
| 117 | - Permission::PermissionToString(perm), | ||
| 118 | - v8::NewStringType::kNormal) | ||
| 119 | - .ToLocalChecked()) | ||
| 110 | + MaybeLocal<Value> CreateAccessDeniedError(Environment* env, | ||
| 111 | + PermissionScope perm, | ||
| 112 | + const std::string_view& res) { | ||
| 113 | + 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) | ||
| 119 | + .ToLocal(&perm_string) || | ||
| 120 | + !String::NewFromUtf8( | ||
| 121 | + env->isolate(), std::string(res).c_str(), NewStringType::kNormal) | ||
| 122 | + .ToLocal(&resource_string) || | ||
| 123 | + err->Set(env->context(), env->permission_string(), perm_string) | ||
| 120 | 124 | .IsNothing() || | |
| 121 | - err.As<Object>() | ||
| 122 | - ->Set(env->context(), | ||
| 123 | - env->resource_string(), | ||
| 124 | - v8::String::NewFromUtf8(env->isolate(), | ||
| 125 | - std::string(res).c_str(), | ||
| 126 | - v8::NewStringType::kNormal) | ||
| 127 | - .ToLocalChecked()) | ||
| 128 | - .IsNothing()) | ||
| 129 | - return Local<Value>(); | ||
| 125 | + err->Set(env->context(), env->resource_string(), resource_string) | ||
| 126 | + .IsNothing()) { | ||
| 127 | + return MaybeLocal<Value>(); | ||
| 128 | + } | ||
| 130 | 129 | return err; | |
| 131 | 130 | } | |
| 132 | 131 | ||
| 133 | 132 | void Permission::ThrowAccessDenied(Environment* env, | |
| 134 | 133 | PermissionScope perm, | |
| 135 | 134 | const std::string_view& res) { | |
| 136 | - Local<Value> err = CreateAccessDeniedError(env, perm, res); | ||
| 135 | + MaybeLocal<Value> err = CreateAccessDeniedError(env, perm, res); | ||
| 137 | 136 | if (err.IsEmpty()) return; | |
| 138 | - env->isolate()->ThrowException(err); | ||
| 137 | + env->isolate()->ThrowException(err.ToLocalChecked()); | ||
| 139 | 138 | } | |
| 140 | 139 | ||
| 141 | 140 | void Permission::AsyncThrowAccessDenied(Environment* env, | |
| 142 | 141 | fs::FSReqBase* req_wrap, | |
| 143 | 142 | PermissionScope perm, | |
| 144 | 143 | const std::string_view& res) { | |
| 145 | - Local<Value> err = CreateAccessDeniedError(env, perm, res); | ||
| 144 | + MaybeLocal<Value> err = CreateAccessDeniedError(env, perm, res); | ||
| 146 | 145 | if (err.IsEmpty()) return; | |
| 147 | - return req_wrap->Reject(err); | ||
| 146 | + return req_wrap->Reject(err.ToLocalChecked()); | ||
| 148 | 147 | } | |
| 149 | 148 | ||
| 150 | 149 | void Permission::EnablePermissions() { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments