flutter_flutter/engine/tonic/dart_invoke.cc
Rafael Weinstein e53bba60a5 Add dart_invoke to tonic for calls into App code.
This patch adds utility functions which provide a single choke point for calling into sky application code. For now this is only serving the purpose of having a common trace event for calls into app code.

R=abarth@chromium.org, abarth
BUG=

Review URL: https://codereview.chromium.org/941153003
2015-02-24 12:11:19 -08:00

30 lines
1007 B
C++

// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "sky/engine/config.h"
#include "sky/engine/tonic/dart_invoke.h"
#include "base/logging.h"
#include "base/trace_event/trace_event.h"
#include "sky/engine/tonic/dart_error.h"
namespace blink {
bool DartInvokeAppField(Dart_Handle target, Dart_Handle name,
int number_of_arguments,
Dart_Handle* arguments) {
TRACE_EVENT0("sky", "DartInvoke::DartInvokeAppField");
return LogIfError(Dart_Invoke(target, name, number_of_arguments, arguments));
}
bool DartInvokeAppClosure(Dart_Handle closure,
int number_of_arguments,
Dart_Handle* arguments) {
TRACE_EVENT0("sky", "DartInvoke::DartInvokeAppClosure");
return LogIfError(
Dart_InvokeClosure(closure, number_of_arguments, arguments));
}
} // namespace blink