chore: update base::Bind in app module (#17925)
* chore: update base::Bind in app module * fix lint
This commit is contained in:
parent
68f448ee73
commit
e7ef374899
4 changed files with 101 additions and 81 deletions
|
@ -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());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue