chore: remove native_mate (Part 9) (#20645)

* refactor: remove a few uses of native_mate/gfx_converter.h

* refactor: deprecate mate::EventEmitter

* refactor: add gin_helper::EventEmitter

* refactor: convert a few classes to use gin_helper::EventEmitter

* refactor: get rid of native_mate_converters/gfx_converter.h

* fix: follow native_mate on reporting errors

* fix: gin is weak at guessing parameter types

* fix: incorrect full class name

* fix: gin::Handle does not accept null
This commit is contained in:
Cheng Zhao 2019-10-21 16:05:40 +09:00 committed by GitHub
parent b155ebeeb3
commit eb0e55c514
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 532 additions and 326 deletions

View file

@ -5,6 +5,8 @@
#ifndef SHELL_COMMON_GIN_HELPER_ARGUMENTS_H_
#define SHELL_COMMON_GIN_HELPER_ARGUMENTS_H_
#include "gin/arguments.h"
namespace gin_helper {
// Provides additional APIs to the gin::Arguments class.
@ -25,6 +27,21 @@ class Arguments : public gin::Arguments {
return true;
}
// Gin always returns true when converting V8 value to boolean, we do not want
// this behavior when parsing parameters.
bool GetNext(bool* out) {
v8::Local<v8::Value> val = PeekNext();
if (val.IsEmpty() || !val->IsBoolean())
return false;
*out = val->BooleanValue(isolate());
Skip();
return true;
}
// Throw error with custom error message.
void ThrowError() const;
void ThrowError(base::StringPiece message) const;
private:
// MUST NOT ADD ANY DATA MEMBER.
};