feat: promisify contentTracing.getTraceBufferUsage() (#16600)

* feat: promsify contentTracing.getTraceBufferUsage()

* deprecate getTraceBufferUsage

* address feedback from review

* properly deprecate
This commit is contained in:
Shelley Vohr 2019-02-13 13:24:57 -08:00 committed by GitHub
parent 9b29befdc8
commit fed5b99a9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 72 additions and 7 deletions

View file

@ -115,10 +115,25 @@ v8::Local<v8::Promise> StartTracing(
return promise->GetHandle();
}
bool GetTraceBufferUsage(
const base::RepeatingCallback<void(float, size_t)>& callback) {
return TracingController::GetInstance()->GetTraceBufferUsage(
base::BindOnce(callback));
void OnTraceBufferUsageAvailable(scoped_refptr<atom::util::Promise> promise,
float percent_full,
size_t approximate_count) {
mate::Dictionary dict = mate::Dictionary::CreateEmpty(promise->isolate());
dict.Set("percentage", percent_full);
dict.Set("value", approximate_count);
promise->Resolve(dict.GetHandle());
}
v8::Local<v8::Promise> GetTraceBufferUsage(v8::Isolate* isolate) {
scoped_refptr<atom::util::Promise> promise = new atom::util::Promise(isolate);
bool success = TracingController::GetInstance()->GetTraceBufferUsage(
base::BindOnce(&OnTraceBufferUsageAvailable, promise));
if (!success)
promise->RejectWithErrorMessage("Could not get trace buffer usage.");
return promise->GetHandle();
}
void Initialize(v8::Local<v8::Object> exports,