refactor: make util::Promise type safe when chaining in native (#19809)

* refactor: make util::Promise type safe when chaining in native

* fixup! refactor: make util::Promise type safe when chaining in native

* chore: remove spare brackets
This commit is contained in:
Samuel Attard 2019-08-22 17:03:28 -07:00 committed by GitHub
parent f7e3e1f97a
commit 6a3922d330
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 275 additions and 343 deletions

View file

@ -75,12 +75,12 @@ class IPCRenderer : public mate::Wrappable<IPCRenderer> {
v8::Local<v8::Promise> Invoke(mate::Arguments* args,
const std::string& channel,
const base::Value& arguments) {
electron::util::Promise p(args->isolate());
electron::util::Promise<base::Value> p(args->isolate());
auto handle = p.GetHandle();
electron_browser_ptr_->get()->Invoke(
channel, arguments.Clone(),
base::BindOnce([](electron::util::Promise p,
base::BindOnce([](electron::util::Promise<base::Value> p,
base::Value result) { p.Resolve(result); },
std::move(p)));

View file

@ -113,7 +113,8 @@ class RenderFrameStatus : public content::RenderFrameObserver {
class ScriptExecutionCallback : public blink::WebScriptExecutionCallback {
public:
explicit ScriptExecutionCallback(electron::util::Promise promise)
explicit ScriptExecutionCallback(
electron::util::Promise<v8::Local<v8::Value>> promise)
: promise_(std::move(promise)) {}
~ScriptExecutionCallback() override {}
@ -137,7 +138,7 @@ class ScriptExecutionCallback : public blink::WebScriptExecutionCallback {
}
private:
electron::util::Promise promise_;
electron::util::Promise<v8::Local<v8::Value>> promise_;
DISALLOW_COPY_AND_ASSIGN(ScriptExecutionCallback);
};
@ -376,7 +377,7 @@ v8::Local<v8::Promise> ExecuteJavaScript(mate::Arguments* args,
v8::Local<v8::Value> window,
const base::string16& code) {
v8::Isolate* isolate = args->isolate();
util::Promise promise(isolate);
util::Promise<v8::Local<v8::Value>> promise(isolate);
v8::Local<v8::Promise> handle = promise.GetHandle();
bool has_user_gesture = false;
@ -395,7 +396,7 @@ v8::Local<v8::Promise> ExecuteJavaScriptInIsolatedWorld(
int world_id,
const std::vector<mate::Dictionary>& scripts) {
v8::Isolate* isolate = args->isolate();
util::Promise promise(isolate);
util::Promise<v8::Local<v8::Value>> promise(isolate);
v8::Local<v8::Promise> handle = promise.GetHandle();
std::vector<blink::WebScriptSource> sources;