chore: convert more files away from base::Bind (#18121)

* chore: convert more files away from base::Bind

* use BindOnce for JsAsker
This commit is contained in:
Shelley Vohr 2019-05-03 12:08:41 -07:00 committed by John Kleinschmidt
parent c25c31e018
commit 0755857a0c
24 changed files with 86 additions and 71 deletions

View file

@ -9,9 +9,9 @@
#include "atom/browser/api/atom_api_session.h" #include "atom/browser/api/atom_api_session.h"
#include "atom/browser/net/atom_url_request.h" #include "atom/browser/net/atom_url_request.h"
#include "atom/common/api/event_emitter_caller.h" #include "atom/common/api/event_emitter_caller.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/gurl_converter.h" #include "atom/common/native_mate_converters/gurl_converter.h"
#include "atom/common/native_mate_converters/net_converter.h" #include "atom/common/native_mate_converters/net_converter.h"
#include "atom/common/native_mate_converters/once_callback.h"
#include "atom/common/native_mate_converters/string16_converter.h" #include "atom/common/native_mate_converters/string16_converter.h"
#include "atom/common/node_includes.h" #include "atom/common/node_includes.h"
#include "native_mate/dictionary.h" #include "native_mate/dictionary.h"
@ -365,7 +365,7 @@ void URLRequest::OnAuthenticationRequired(
} }
Emit("login", auth_info, Emit("login", auth_info,
base::Bind(&AtomURLRequest::PassLoginInformation, atom_request_)); base::BindOnce(&AtomURLRequest::PassLoginInformation, atom_request_));
} }
void URLRequest::OnResponseStarted( void URLRequest::OnResponseStarted(

View file

@ -346,7 +346,8 @@ WebContents::WebContents(v8::Isolate* isolate,
#if BUILDFLAG(ENABLE_OSR) #if BUILDFLAG(ENABLE_OSR)
if (embedder_ && embedder_->IsOffScreen()) { if (embedder_ && embedder_->IsOffScreen()) {
auto* view = new OffScreenWebContentsView( auto* view = new OffScreenWebContentsView(
false, base::Bind(&WebContents::OnPaint, base::Unretained(this))); false,
base::BindRepeating(&WebContents::OnPaint, base::Unretained(this)));
params.view = view; params.view = view;
params.delegate_view = view; params.delegate_view = view;
@ -363,7 +364,8 @@ WebContents::WebContents(v8::Isolate* isolate,
content::WebContents::CreateParams params(session->browser_context()); content::WebContents::CreateParams params(session->browser_context());
auto* view = new OffScreenWebContentsView( auto* view = new OffScreenWebContentsView(
transparent, base::Bind(&WebContents::OnPaint, base::Unretained(this))); transparent,
base::BindRepeating(&WebContents::OnPaint, base::Unretained(this)));
params.view = view; params.view = view;
params.delegate_view = view; params.delegate_view = view;
@ -640,8 +642,9 @@ void WebContents::EnterFullscreenModeForTab(
const blink::WebFullscreenOptions& options) { const blink::WebFullscreenOptions& options) {
auto* permission_helper = auto* permission_helper =
WebContentsPermissionHelper::FromWebContents(source); WebContentsPermissionHelper::FromWebContents(source);
auto callback = base::Bind(&WebContents::OnEnterFullscreenModeForTab, auto callback =
base::Unretained(this), source, origin, options); base::BindRepeating(&WebContents::OnEnterFullscreenModeForTab,
base::Unretained(this), source, origin, options);
permission_helper->RequestFullscreenPermission(callback); permission_helper->RequestFullscreenPermission(callback);
} }
@ -680,8 +683,9 @@ bool WebContents::HandleContextMenu(content::RenderFrameHost* render_frame_host,
const content::ContextMenuParams& params) { const content::ContextMenuParams& params) {
if (params.custom_context.is_pepper_menu) { if (params.custom_context.is_pepper_menu) {
Emit("pepper-context-menu", std::make_pair(params, web_contents()), Emit("pepper-context-menu", std::make_pair(params, web_contents()),
base::Bind(&content::WebContents::NotifyContextMenuClosed, base::BindOnce(&content::WebContents::NotifyContextMenuClosed,
base::Unretained(web_contents()), params.custom_context)); base::Unretained(web_contents()),
params.custom_context));
} else { } else {
Emit("context-menu", std::make_pair(params, web_contents())); Emit("context-menu", std::make_pair(params, web_contents()));
} }

View file

@ -748,7 +748,7 @@ content::BrowserMainParts* AtomBrowserClient::CreateBrowserMainParts(
void AtomBrowserClient::WebNotificationAllowed( void AtomBrowserClient::WebNotificationAllowed(
int render_process_id, int render_process_id,
const base::Callback<void(bool, bool)>& callback) { const base::RepeatingCallback<void(bool, bool)>& callback) {
content::WebContents* web_contents = content::WebContents* web_contents =
WebContentsPreferences::GetWebContentsFromProcessID(render_process_id); WebContentsPreferences::GetWebContentsFromProcessID(render_process_id);
if (!web_contents) { if (!web_contents) {

View file

@ -151,7 +151,7 @@ void OverrideLinuxAppDataPath() {
int BrowserX11ErrorHandler(Display* d, XErrorEvent* error) { int BrowserX11ErrorHandler(Display* d, XErrorEvent* error) {
if (!g_in_x11_io_error_handler && base::ThreadTaskRunnerHandle::IsSet()) { if (!g_in_x11_io_error_handler && base::ThreadTaskRunnerHandle::IsSet()) {
base::ThreadTaskRunnerHandle::Get()->PostTask( base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&ui::LogErrorEventDescription, d, *error)); FROM_HERE, base::BindOnce(&ui::LogErrorEventDescription, d, *error));
} }
return 0; return 0;
} }
@ -394,8 +394,8 @@ void AtomBrowserMainParts::PreMainMessageLoopRun() {
// Start idle gc. // Start idle gc.
gc_timer_.Start(FROM_HERE, base::TimeDelta::FromMinutes(1), gc_timer_.Start(FROM_HERE, base::TimeDelta::FromMinutes(1),
base::Bind(&v8::Isolate::LowMemoryNotification, base::BindRepeating(&v8::Isolate::LowMemoryNotification,
base::Unretained(js_env_->isolate()))); base::Unretained(js_env_->isolate())));
content::WebUIControllerFactory::RegisterFactory( content::WebUIControllerFactory::RegisterFactory(
AtomWebUIControllerFactory::GetInstance()); AtomWebUIControllerFactory::GetInstance());

View file

@ -76,7 +76,7 @@ using InAppTransactionCallback = base::RepeatingCallback<void(
// Send the callback to the browser thread. // Send the callback to the browser thread.
base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI}, base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI},
base::Bind(callback_, converted)); base::BindOnce(callback_, converted));
} }
/** /**
@ -184,8 +184,9 @@ Transaction::~Transaction() = default;
TransactionObserver::TransactionObserver() : weak_ptr_factory_(this) { TransactionObserver::TransactionObserver() : weak_ptr_factory_(this) {
obeserver_ = [[InAppTransactionObserver alloc] obeserver_ = [[InAppTransactionObserver alloc]
initWithCallback:base::Bind(&TransactionObserver::OnTransactionsUpdated, initWithCallback:base::BindRepeating(
weak_ptr_factory_.GetWeakPtr())]; &TransactionObserver::OnTransactionsUpdated,
weak_ptr_factory_.GetWeakPtr())];
} }
TransactionObserver::~TransactionObserver() { TransactionObserver::~TransactionObserver() {

View file

@ -82,8 +82,8 @@ class CertVerifierRequest : public AtomCertVerifier::Request {
void Start(const net::NetLogWithSource& net_log) { void Start(const net::NetLogWithSource& net_log) {
int error = cert_verifier_->default_verifier()->Verify( int error = cert_verifier_->default_verifier()->Verify(
params_, &result_, params_, &result_,
base::Bind(&CertVerifierRequest::OnDefaultVerificationDone, base::BindOnce(&CertVerifierRequest::OnDefaultVerificationDone,
weak_ptr_factory_.GetWeakPtr()), weak_ptr_factory_.GetWeakPtr()),
&default_verifier_request_, net_log); &default_verifier_request_, net_log);
if (error != net::ERR_IO_PENDING) if (error != net::ERR_IO_PENDING)
OnDefaultVerificationDone(error); OnDefaultVerificationDone(error);
@ -96,20 +96,20 @@ class CertVerifierRequest : public AtomCertVerifier::Request {
request->default_result = net::ErrorToString(error); request->default_result = net::ErrorToString(error);
request->error_code = error; request->error_code = error;
request->certificate = params_.certificate(); request->certificate = params_.certificate();
auto response_callback = base::Bind(&CertVerifierRequest::OnResponseInUI, auto response_callback = base::BindOnce(
weak_ptr_factory_.GetWeakPtr()); &CertVerifierRequest::OnResponseInUI, weak_ptr_factory_.GetWeakPtr());
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::UI}, FROM_HERE, {BrowserThread::UI},
base::BindOnce(&CertVerifierRequest::OnVerifyRequestInUI, base::BindOnce(&CertVerifierRequest::OnVerifyRequestInUI,
cert_verifier_->verify_proc(), std::move(request), cert_verifier_->verify_proc(), std::move(request),
response_callback)); std::move(response_callback)));
} }
static void OnVerifyRequestInUI( static void OnVerifyRequestInUI(
const AtomCertVerifier::VerifyProc& verify_proc, const AtomCertVerifier::VerifyProc& verify_proc,
std::unique_ptr<VerifyRequestParams> request, std::unique_ptr<VerifyRequestParams> request,
const base::Callback<void(int)>& response_callback) { base::OnceCallback<void(int)> response_callback) {
verify_proc.Run(*(request.get()), response_callback); verify_proc.Run(*(request.get()), std::move(response_callback));
} }
static void OnResponseInUI(base::WeakPtr<CertVerifierRequest> self, static void OnResponseInUI(base::WeakPtr<CertVerifierRequest> self,

View file

@ -6,7 +6,7 @@
#include <utility> #include <utility>
#include "atom/common/native_mate_converters/callback.h" #include "atom/common/native_mate_converters/once_callback.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
namespace atom { namespace atom {
@ -29,14 +29,14 @@ void JsAsker::AskForOptions(
v8::Isolate* isolate, v8::Isolate* isolate,
const JavaScriptHandler& handler, const JavaScriptHandler& handler,
std::unique_ptr<base::DictionaryValue> request_details, std::unique_ptr<base::DictionaryValue> request_details,
const BeforeStartCallback& before_start) { BeforeStartCallback before_start) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
v8::Locker locker(isolate); v8::Locker locker(isolate);
v8::HandleScope handle_scope(isolate); v8::HandleScope handle_scope(isolate);
v8::Local<v8::Context> context = isolate->GetCurrentContext(); v8::Local<v8::Context> context = isolate->GetCurrentContext();
v8::Context::Scope context_scope(context); v8::Context::Scope context_scope(context);
handler.Run(*(request_details.get()), handler.Run(*(request_details.get()),
mate::ConvertToV8(isolate, before_start)); mate::ConvertToV8(isolate, std::move(before_start)));
} }
// static // static

View file

@ -17,7 +17,7 @@ namespace atom {
using JavaScriptHandler = using JavaScriptHandler =
base::Callback<void(const base::DictionaryValue&, v8::Local<v8::Value>)>; base::Callback<void(const base::DictionaryValue&, v8::Local<v8::Value>)>;
using BeforeStartCallback = base::Callback<void(mate::Arguments* args)>; using BeforeStartCallback = base::OnceCallback<void(mate::Arguments* args)>;
class JsAsker { class JsAsker {
public: public:
@ -34,7 +34,7 @@ class JsAsker {
v8::Isolate* isolate, v8::Isolate* isolate,
const JavaScriptHandler& handler, const JavaScriptHandler& handler,
std::unique_ptr<base::DictionaryValue> request_details, std::unique_ptr<base::DictionaryValue> request_details,
const BeforeStartCallback& before_start); BeforeStartCallback before_start);
// Test whether the |options| means an error. // Test whether the |options| means an error.
static bool IsErrorOptions(base::Value* value, int* error); static bool IsErrorOptions(base::Value* value, int* error);

View file

@ -58,9 +58,10 @@ void URLRequestAsyncAsarJob::Start() {
FillRequestDetails(request_details.get(), request()); FillRequestDetails(request_details.get(), request());
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&JsAsker::AskForOptions, base::Unretained(isolate()), base::BindOnce(
handler(), std::move(request_details), &JsAsker::AskForOptions, base::Unretained(isolate()), handler(),
base::Bind(&BeforeStartInUI, weak_factory_.GetWeakPtr()))); std::move(request_details),
base::BindOnce(&BeforeStartInUI, weak_factory_.GetWeakPtr())));
} }
void URLRequestAsyncAsarJob::StartAsync(std::unique_ptr<base::Value> options, void URLRequestAsyncAsarJob::StartAsync(std::unique_ptr<base::Value> options,

View file

@ -69,9 +69,10 @@ void URLRequestBufferJob::Start() {
FillRequestDetails(request_details.get(), request()); FillRequestDetails(request_details.get(), request());
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&JsAsker::AskForOptions, base::Unretained(isolate()), base::BindOnce(
handler(), std::move(request_details), &JsAsker::AskForOptions, base::Unretained(isolate()), handler(),
base::Bind(&BeforeStartInUI, weak_factory_.GetWeakPtr()))); std::move(request_details),
base::BindOnce(&BeforeStartInUI, weak_factory_.GetWeakPtr())));
} }
void URLRequestBufferJob::StartAsync(std::unique_ptr<base::Value> options, void URLRequestBufferJob::StartAsync(std::unique_ptr<base::Value> options,

View file

@ -147,9 +147,10 @@ void URLRequestFetchJob::Start() {
FillRequestDetails(request_details.get(), request()); FillRequestDetails(request_details.get(), request());
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&JsAsker::AskForOptions, base::Unretained(isolate()), base::BindOnce(
handler(), std::move(request_details), &JsAsker::AskForOptions, base::Unretained(isolate()), handler(),
base::Bind(&BeforeStartInUI, weak_factory_.GetWeakPtr()))); std::move(request_details),
base::BindOnce(&BeforeStartInUI, weak_factory_.GetWeakPtr())));
} }
void URLRequestFetchJob::StartAsync( void URLRequestFetchJob::StartAsync(

View file

@ -115,9 +115,10 @@ void URLRequestStreamJob::Start() {
FillRequestDetails(request_details.get(), request()); FillRequestDetails(request_details.get(), request());
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&JsAsker::AskForOptions, base::Unretained(isolate()), base::BindOnce(
handler(), std::move(request_details), &JsAsker::AskForOptions, base::Unretained(isolate()), handler(),
base::Bind(&BeforeStartInUI, weak_factory_.GetWeakPtr()))); std::move(request_details),
base::BindOnce(&BeforeStartInUI, weak_factory_.GetWeakPtr())));
} }
void URLRequestStreamJob::StartAsync( void URLRequestStreamJob::StartAsync(

View file

@ -57,9 +57,10 @@ void URLRequestStringJob::Start() {
FillRequestDetails(request_details.get(), request()); FillRequestDetails(request_details.get(), request());
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&JsAsker::AskForOptions, base::Unretained(isolate()), base::BindOnce(
handler(), std::move(request_details), &JsAsker::AskForOptions, base::Unretained(isolate()), handler(),
base::Bind(&BeforeStartInUI, weak_factory_.GetWeakPtr()))); std::move(request_details),
base::BindOnce(&BeforeStartInUI, weak_factory_.GetWeakPtr())));
} }
void URLRequestStringJob::StartAsync(std::unique_ptr<base::Value> options, void URLRequestStringJob::StartAsync(std::unique_ptr<base::Value> options,

View file

@ -92,9 +92,9 @@ void PlatformNotificationService::DisplayNotification(
if (notification) { if (notification) {
browser_client_->WebNotificationAllowed( browser_client_->WebNotificationAllowed(
render_process_host->GetID(), render_process_host->GetID(),
base::Bind(&OnWebNotificationAllowed, notification, base::BindRepeating(&OnWebNotificationAllowed, notification,
notification_resources.notification_icon, notification_resources.notification_icon,
notification_data)); notification_data));
} }
} }

View file

@ -415,7 +415,7 @@ IFACEMETHODIMP ToastEventHandler::Invoke(
IInspectable* args) { IInspectable* args) {
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::Bind(&Notification::NotificationClicked, notification_)); base::BindOnce(&Notification::NotificationClicked, notification_));
if (IsDebuggingNotifications()) if (IsDebuggingNotifications())
LOG(INFO) << "Notification clicked"; LOG(INFO) << "Notification clicked";
@ -427,7 +427,7 @@ IFACEMETHODIMP ToastEventHandler::Invoke(
ABI::Windows::UI::Notifications::IToastDismissedEventArgs* e) { ABI::Windows::UI::Notifications::IToastDismissedEventArgs* e) {
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::Bind(&Notification::NotificationDismissed, notification_)); base::BindOnce(&Notification::NotificationDismissed, notification_));
if (IsDebuggingNotifications()) if (IsDebuggingNotifications())
LOG(INFO) << "Notification dismissed"; LOG(INFO) << "Notification dismissed";
@ -439,7 +439,7 @@ IFACEMETHODIMP ToastEventHandler::Invoke(
ABI::Windows::UI::Notifications::IToastFailedEventArgs* e) { ABI::Windows::UI::Notifications::IToastFailedEventArgs* e) {
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::Bind(&Notification::NotificationFailed, notification_)); base::BindOnce(&Notification::NotificationFailed, notification_));
if (IsDebuggingNotifications()) if (IsDebuggingNotifications())
LOG(INFO) << "Notification failed"; LOG(INFO) << "Notification failed";

View file

@ -15,7 +15,8 @@ namespace atom {
class OffScreenRenderWidgetHostView; class OffScreenRenderWidgetHostView;
typedef base::Callback<void(const gfx::Rect&, const SkBitmap&)> OnPaintCallback; typedef base::RepeatingCallback<void(const gfx::Rect&, const SkBitmap&)>
OnPaintCallback;
class OffScreenVideoConsumer : public viz::mojom::FrameSinkVideoConsumer { class OffScreenVideoConsumer : public viz::mojom::FrameSinkVideoConsumer {
public: public:

View file

@ -726,8 +726,8 @@ void InspectableWebContentsImpl::HandleMessageFromDevToolsFrontend(
int id = 0; int id = 0;
dict->GetInteger(kFrontendHostId, &id); dict->GetInteger(kFrontendHostId, &id);
embedder_message_dispatcher_->Dispatch( embedder_message_dispatcher_->Dispatch(
base::Bind(&InspectableWebContentsImpl::SendMessageAck, base::BindRepeating(&InspectableWebContentsImpl::SendMessageAck,
weak_factory_.GetWeakPtr(), id), weak_factory_.GetWeakPtr(), id),
method, params); method, params);
} }
@ -763,8 +763,9 @@ void InspectableWebContentsImpl::RenderFrameHostChanged(
return; return;
frontend_host_ = content::DevToolsFrontendHost::Create( frontend_host_ = content::DevToolsFrontendHost::Create(
new_host, new_host,
base::Bind(&InspectableWebContentsImpl::HandleMessageFromDevToolsFrontend, base::BindRepeating(
weak_factory_.GetWeakPtr())); &InspectableWebContentsImpl::HandleMessageFromDevToolsFrontend,
weak_factory_.GetWeakPtr()));
} }
void InspectableWebContentsImpl::WebContentsDestroyed() { void InspectableWebContentsImpl::WebContentsDestroyed() {
@ -866,7 +867,7 @@ void InspectableWebContentsImpl::ReadyToCommitNavigation(
} }
frontend_host_ = content::DevToolsFrontendHost::Create( frontend_host_ = content::DevToolsFrontendHost::Create(
web_contents()->GetMainFrame(), web_contents()->GetMainFrame(),
base::Bind( base::BindRepeating(
&InspectableWebContentsImpl::HandleMessageFromDevToolsFrontend, &InspectableWebContentsImpl::HandleMessageFromDevToolsFrontend,
base::Unretained(this))); base::Unretained(this)));
return; return;

View file

@ -132,8 +132,8 @@ views::MenuItemView* MenuDelegate::GetSiblingMenu(
if (!switch_in_progress) { if (!switch_in_progress) {
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::Bind(&views::MenuRunner::Cancel, base::BindOnce(&views::MenuRunner::Cancel,
base::Unretained(menu_runner_.get()))); base::Unretained(menu_runner_.get())));
} }
} }

View file

@ -167,8 +167,8 @@ void NotifyIcon::PopUpContextMenu(const gfx::Point& pos,
menu_runner_.reset(new views::MenuRunner( menu_runner_.reset(new views::MenuRunner(
menu_model != nullptr ? menu_model : menu_model_, menu_model != nullptr ? menu_model : menu_model_,
views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS, views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS,
base::Bind(&NotifyIcon::OnContextMenuClosed, base::BindRepeating(&NotifyIcon::OnContextMenuClosed,
weak_factory_.GetWeakPtr()))); weak_factory_.GetWeakPtr())));
menu_runner_->RunMenuAt(widget_.get(), NULL, rect, menu_runner_->RunMenuAt(widget_.get(), NULL, rect,
views::MenuAnchorPosition::kTopLeft, views::MenuAnchorPosition::kTopLeft,
ui::MENU_SOURCE_MOUSE); ui::MENU_SOURCE_MOUSE);

View file

@ -160,8 +160,9 @@ void ZoomLevelDelegate::InitHostZoomMap(content::HostZoomMap* host_zoom_map) {
// by calls to HostZoomMap::SetZoomLevelForHost(). // by calls to HostZoomMap::SetZoomLevelForHost().
ExtractPerHostZoomLevels(host_zoom_dictionary); ExtractPerHostZoomLevels(host_zoom_dictionary);
} }
zoom_subscription_ = host_zoom_map_->AddZoomLevelChangedCallback(base::Bind( zoom_subscription_ =
&ZoomLevelDelegate::OnZoomLevelChanged, base::Unretained(this))); host_zoom_map_->AddZoomLevelChangedCallback(base::BindRepeating(
&ZoomLevelDelegate::OnZoomLevelChanged, base::Unretained(this)));
} }
} // namespace atom } // namespace atom

View file

@ -51,8 +51,9 @@ void Initialize(v8::Local<v8::Object> exports,
dict.SetMethod("hasSwitch", &HasSwitch); dict.SetMethod("hasSwitch", &HasSwitch);
dict.SetMethod("getSwitchValue", &GetSwitchValue); dict.SetMethod("getSwitchValue", &GetSwitchValue);
dict.SetMethod("appendSwitch", &AppendSwitch); dict.SetMethod("appendSwitch", &AppendSwitch);
dict.SetMethod("appendArgument", base::Bind(&base::CommandLine::AppendArg, dict.SetMethod("appendArgument",
base::Unretained(command_line))); base::BindRepeating(&base::CommandLine::AppendArg,
base::Unretained(command_line)));
} }
} // namespace } // namespace

View file

@ -22,7 +22,7 @@ v8::Local<v8::Function> CreateConstructor(v8::Isolate* isolate,
called = true; called = true;
#endif #endif
v8::Local<v8::FunctionTemplate> templ = CreateFunctionTemplate( v8::Local<v8::FunctionTemplate> templ = CreateFunctionTemplate(
isolate, base::Bind(&mate::internal::InvokeNew<Sig>, func)); isolate, base::BindRepeating(&mate::internal::InvokeNew<Sig>, func));
templ->InstanceTemplate()->SetInternalFieldCount(1); templ->InstanceTemplate()->SetInternalFieldCount(1);
T::BuildPrototype(isolate, templ); T::BuildPrototype(isolate, templ);
return templ->GetFunction(isolate->GetCurrentContext()).ToLocalChecked(); return templ->GetFunction(isolate->GetCurrentContext()).ToLocalChecked();

View file

@ -215,7 +215,8 @@ void SpellCheckClient::SpellCheckWords(
DCHECK(!scope.spell_check_.IsEmpty()); DCHECK(!scope.spell_check_.IsEmpty());
v8::Local<v8::FunctionTemplate> templ = mate::CreateFunctionTemplate( v8::Local<v8::FunctionTemplate> templ = mate::CreateFunctionTemplate(
isolate_, base::Bind(&SpellCheckClient::OnSpellCheckDone, AsWeakPtr())); isolate_,
base::BindRepeating(&SpellCheckClient::OnSpellCheckDone, AsWeakPtr()));
auto context = isolate_->GetCurrentContext(); auto context = isolate_->GetCurrentContext();
v8::Local<v8::Value> args[] = {mate::ConvertToV8(isolate_, words), v8::Local<v8::Value> args[] = {mate::ConvertToV8(isolate_, words),

View file

@ -28,7 +28,7 @@ net::NSSCertDatabase* g_nss_cert_database = nullptr;
net::NSSCertDatabase* GetNSSCertDatabaseForResourceContext( net::NSSCertDatabase* GetNSSCertDatabaseForResourceContext(
content::ResourceContext* context, content::ResourceContext* context,
const base::Callback<void(net::NSSCertDatabase*)>& callback) { base::OnceCallback<void(net::NSSCertDatabase*)> callback) {
// This initialization is not thread safe. This CHECK ensures that this code // This initialization is not thread safe. This CHECK ensures that this code
// is only run on a single thread. // is only run on a single thread.
CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
@ -75,8 +75,8 @@ void CertificateManagerModel::Create(content::BrowserContext* browser_context,
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::Bind(&CertificateManagerModel::GetCertDBOnIOThread, base::BindOnce(&CertificateManagerModel::GetCertDBOnIOThread,
browser_context->GetResourceContext(), callback)); browser_context->GetResourceContext(), callback));
} }
CertificateManagerModel::CertificateManagerModel( CertificateManagerModel::CertificateManagerModel(
@ -148,8 +148,8 @@ void CertificateManagerModel::DidGetCertDBOnIOThread(
bool is_user_db_available = !!cert_db->GetPublicSlot(); bool is_user_db_available = !!cert_db->GetPublicSlot();
base::PostTaskWithTraits( base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::UI}, FROM_HERE, {BrowserThread::UI},
base::Bind(&CertificateManagerModel::DidGetCertDBOnUIThread, cert_db, base::BindOnce(&CertificateManagerModel::DidGetCertDBOnUIThread, cert_db,
is_user_db_available, callback)); is_user_db_available, callback));
} }
// static // static
@ -158,8 +158,8 @@ void CertificateManagerModel::GetCertDBOnIOThread(
const CreationCallback& callback) { const CreationCallback& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
net::NSSCertDatabase* cert_db = GetNSSCertDatabaseForResourceContext( net::NSSCertDatabase* cert_db = GetNSSCertDatabaseForResourceContext(
context, context, base::BindOnce(&CertificateManagerModel::DidGetCertDBOnIOThread,
base::Bind(&CertificateManagerModel::DidGetCertDBOnIOThread, callback)); callback));
if (cert_db) if (cert_db)
DidGetCertDBOnIOThread(callback, cert_db); DidGetCertDBOnIOThread(callback, cert_db);
} }