chore: update base::Bind in app module (#17925)

* chore: update base::Bind in app module

* fix lint
This commit is contained in:
Shelley Vohr 2019-04-26 21:42:56 -07:00 committed by GitHub
parent 68f448ee73
commit e7ef374899
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 101 additions and 81 deletions

View file

@ -51,25 +51,25 @@ class EventEmitter : public Wrappable<T> {
template <typename... Args>
bool EmitCustomEvent(const base::StringPiece& name,
v8::Local<v8::Object> event,
const Args&... args) {
Args&&... args) {
return EmitWithEvent(
name, internal::CreateCustomEvent(isolate(), GetWrapper(), event),
args...);
std::forward<Args>(args)...);
}
// this.emit(name, new Event(flags), args...);
template <typename... Args>
bool EmitWithFlags(const base::StringPiece& name,
int flags,
const Args&... args) {
return EmitCustomEvent(
name, internal::CreateEventFromFlags(isolate(), flags), args...);
bool EmitWithFlags(const base::StringPiece& name, int flags, Args&&... args) {
return EmitCustomEvent(name,
internal::CreateEventFromFlags(isolate(), flags),
std::forward<Args>(args)...);
}
// this.emit(name, new Event(), args...);
template <typename... Args>
bool Emit(const base::StringPiece& name, const Args&... args) {
return EmitWithSender(name, nullptr, base::nullopt, args...);
bool Emit(const base::StringPiece& name, Args&&... args) {
return EmitWithSender(name, nullptr, base::nullopt,
std::forward<Args>(args)...);
}
// this.emit(name, new Event(sender, message), args...);
@ -79,7 +79,7 @@ class EventEmitter : public Wrappable<T> {
content::RenderFrameHost* sender,
base::Optional<atom::mojom::ElectronBrowser::MessageSyncCallback>
callback,
const Args&... args) {
Args&&... args) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
v8::Local<v8::Object> wrapper = GetWrapper();
@ -88,7 +88,7 @@ class EventEmitter : public Wrappable<T> {
}
v8::Local<v8::Object> event = internal::CreateJSEvent(
isolate(), wrapper, sender, std::move(callback));
return EmitWithEvent(name, event, args...);
return EmitWithEvent(name, event, std::forward<Args>(args)...);
}
protected:
@ -99,11 +99,12 @@ class EventEmitter : public Wrappable<T> {
template <typename... Args>
bool EmitWithEvent(const base::StringPiece& name,
v8::Local<v8::Object> event,
const Args&... args) {
Args&&... args) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
EmitEvent(isolate(), GetWrapper(), name, event, args...);
EmitEvent(isolate(), GetWrapper(), name, event,
std::forward<Args>(args)...);
return event->Get(StringToV8(isolate(), "defaultPrevented"))
->BooleanValue(isolate());
}