提交 584d3928 编写于 作者: A Adam Barth 提交者: GitHub

Remove dependency from tonic to wtf (#2740)

This patch paves the way to untangling a large amount of code from the engine.
上级 c6f77f17
......@@ -16,7 +16,6 @@
#include "sky/engine/tonic/dart_args.h"
#include "sky/engine/tonic/dart_binding_macros.h"
#include "sky/engine/tonic/dart_converter.h"
#include "sky/engine/wtf/MakeUnique.h"
namespace blink {
......@@ -49,7 +48,7 @@ DartJniJvmData* g_jvm_data = nullptr;
void CreateIsolateData() {
static_cast<FlutterDartState*>(DartState::Current())->set_jni_data(
WTF::MakeUnique<DartJniIsolateData>());
std::unique_ptr<DartJniIsolateData>(new DartJniIsolateData()));
}
DartJniIsolateData* IsolateData() {
......
......@@ -9,10 +9,9 @@
#include "base/android/jni_android.h"
#include "base/android/jni_utils.h"
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_library_natives.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/RefCounted.h"
#define ENTER_JNI() \
JNIEnv* env = base::android::AttachCurrentThread(); \
......
......@@ -20,7 +20,7 @@ int64_t JniApi::FromReflectedField(const JniObject* field) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -36,16 +36,16 @@ int64_t JniApi::FromReflectedMethod(const JniObject* method) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
PassRefPtr<JniObject> JniApi::GetApplicationContext() {
scoped_refptr<JniObject> JniApi::GetApplicationContext() {
ENTER_JNI();
return JniObject::Create(env, base::android::GetApplicationContext());
}
PassRefPtr<JniObject> JniApi::GetClassLoader() {
scoped_refptr<JniObject> JniApi::GetClassLoader() {
ENTER_JNI();
return JniObject::Create(env, DartJni::class_loader());
}
......
......@@ -15,8 +15,8 @@ class JniApi {
public:
static int64_t FromReflectedField(const JniObject* field);
static int64_t FromReflectedMethod(const JniObject* method);
static PassRefPtr<JniObject> GetApplicationContext();
static PassRefPtr<JniObject> GetClassLoader();
static scoped_refptr<JniObject> GetApplicationContext();
static scoped_refptr<JniObject> GetClassLoader();
};
} // namespace blink
......
......@@ -28,7 +28,7 @@ jsize JniArray::GetLength() {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -45,7 +45,7 @@ JniObjectArray::JniObjectArray(JNIEnv* env, jobjectArray array)
JniObjectArray::~JniObjectArray() {
}
PassRefPtr<JniObjectArray> JniObjectArray::Create(const JniClass* clazz,
scoped_refptr<JniObjectArray> JniObjectArray::Create(const JniClass* clazz,
jsize length) {
Dart_Handle exception = nullptr;
{
......@@ -55,15 +55,15 @@ PassRefPtr<JniObjectArray> JniObjectArray::Create(const JniClass* clazz,
nullptr);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniObjectArray(env, array));
return new JniObjectArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
PassRefPtr<JniObject> JniObjectArray::GetArrayElement(jsize index) {
scoped_refptr<JniObject> JniObjectArray::GetArrayElement(jsize index) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -76,7 +76,7 @@ PassRefPtr<JniObject> JniObjectArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -93,7 +93,7 @@ void JniObjectArray::SetArrayElement(jsize index, const JniObject* value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -105,7 +105,7 @@ JniBooleanArray::JniBooleanArray(JNIEnv* env, jbooleanArray array)
JniBooleanArray::~JniBooleanArray() {
}
PassRefPtr<JniBooleanArray> JniBooleanArray::Create(jsize length) {
scoped_refptr<JniBooleanArray> JniBooleanArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -113,11 +113,11 @@ PassRefPtr<JniBooleanArray> JniBooleanArray::Create(jsize length) {
jbooleanArray array = env->NewBooleanArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniBooleanArray(env, array));
return new JniBooleanArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -134,7 +134,7 @@ bool JniBooleanArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -152,7 +152,7 @@ void JniBooleanArray::SetArrayElement(jsize index, bool value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -164,7 +164,7 @@ JniByteArray::JniByteArray(JNIEnv* env, jbyteArray array)
JniByteArray::~JniByteArray() {
}
PassRefPtr<JniByteArray> JniByteArray::Create(jsize length) {
scoped_refptr<JniByteArray> JniByteArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -172,11 +172,11 @@ PassRefPtr<JniByteArray> JniByteArray::Create(jsize length) {
jbyteArray array = env->NewByteArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniByteArray(env, array));
return new JniByteArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -193,7 +193,7 @@ int64_t JniByteArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -211,7 +211,7 @@ void JniByteArray::SetArrayElement(jsize index, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -223,7 +223,7 @@ JniCharArray::JniCharArray(JNIEnv* env, jcharArray array)
JniCharArray::~JniCharArray() {
}
PassRefPtr<JniCharArray> JniCharArray::Create(jsize length) {
scoped_refptr<JniCharArray> JniCharArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -231,11 +231,11 @@ PassRefPtr<JniCharArray> JniCharArray::Create(jsize length) {
jcharArray array = env->NewCharArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniCharArray(env, array));
return new JniCharArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -252,7 +252,7 @@ int64_t JniCharArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -270,7 +270,7 @@ void JniCharArray::SetArrayElement(jsize index, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -282,7 +282,7 @@ JniShortArray::JniShortArray(JNIEnv* env, jshortArray array)
JniShortArray::~JniShortArray() {
}
PassRefPtr<JniShortArray> JniShortArray::Create(jsize length) {
scoped_refptr<JniShortArray> JniShortArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -290,11 +290,11 @@ PassRefPtr<JniShortArray> JniShortArray::Create(jsize length) {
jshortArray array = env->NewShortArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniShortArray(env, array));
return new JniShortArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -311,7 +311,7 @@ int64_t JniShortArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -329,7 +329,7 @@ void JniShortArray::SetArrayElement(jsize index, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -341,7 +341,7 @@ JniIntArray::JniIntArray(JNIEnv* env, jintArray array)
JniIntArray::~JniIntArray() {
}
PassRefPtr<JniIntArray> JniIntArray::Create(jsize length) {
scoped_refptr<JniIntArray> JniIntArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -349,11 +349,11 @@ PassRefPtr<JniIntArray> JniIntArray::Create(jsize length) {
jintArray array = env->NewIntArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniIntArray(env, array));
return new JniIntArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -370,7 +370,7 @@ int64_t JniIntArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -388,7 +388,7 @@ void JniIntArray::SetArrayElement(jsize index, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -400,7 +400,7 @@ JniLongArray::JniLongArray(JNIEnv* env, jlongArray array)
JniLongArray::~JniLongArray() {
}
PassRefPtr<JniLongArray> JniLongArray::Create(jsize length) {
scoped_refptr<JniLongArray> JniLongArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -408,11 +408,11 @@ PassRefPtr<JniLongArray> JniLongArray::Create(jsize length) {
jlongArray array = env->NewLongArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniLongArray(env, array));
return new JniLongArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -429,7 +429,7 @@ int64_t JniLongArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -447,7 +447,7 @@ void JniLongArray::SetArrayElement(jsize index, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -459,7 +459,7 @@ JniFloatArray::JniFloatArray(JNIEnv* env, jfloatArray array)
JniFloatArray::~JniFloatArray() {
}
PassRefPtr<JniFloatArray> JniFloatArray::Create(jsize length) {
scoped_refptr<JniFloatArray> JniFloatArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -467,11 +467,11 @@ PassRefPtr<JniFloatArray> JniFloatArray::Create(jsize length) {
jfloatArray array = env->NewFloatArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniFloatArray(env, array));
return new JniFloatArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -488,7 +488,7 @@ double JniFloatArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -506,7 +506,7 @@ void JniFloatArray::SetArrayElement(jsize index, double value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -518,7 +518,7 @@ JniDoubleArray::JniDoubleArray(JNIEnv* env, jdoubleArray array)
JniDoubleArray::~JniDoubleArray() {
}
PassRefPtr<JniDoubleArray> JniDoubleArray::Create(jsize length) {
scoped_refptr<JniDoubleArray> JniDoubleArray::Create(jsize length) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -526,11 +526,11 @@ PassRefPtr<JniDoubleArray> JniDoubleArray::Create(jsize length) {
jdoubleArray array = env->NewDoubleArray(length);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniDoubleArray(env, array));
return new JniDoubleArray(env, array);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -547,7 +547,7 @@ double JniDoubleArray::GetArrayElement(jsize index) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -564,7 +564,7 @@ void JniDoubleArray::SetArrayElement(jsize index, double value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......
......@@ -33,8 +33,8 @@ class JniObjectArray : public JniArray {
public:
~JniObjectArray() override;
static PassRefPtr<JniObjectArray> Create(const JniClass* clazz, jsize length);
PassRefPtr<JniObject> GetArrayElement(jsize index);
static scoped_refptr<JniObjectArray> Create(const JniClass* clazz, jsize length);
scoped_refptr<JniObject> GetArrayElement(jsize index);
void SetArrayElement(jsize index, const JniObject* value);
private:
......@@ -48,7 +48,7 @@ class JniBooleanArray : public JniArray {
public:
~JniBooleanArray() override;
static PassRefPtr<JniBooleanArray> Create(jsize length);
static scoped_refptr<JniBooleanArray> Create(jsize length);
bool GetArrayElement(jsize index);
void SetArrayElement(jsize index, bool value);
......@@ -63,7 +63,7 @@ class JniByteArray : public JniArray {
public:
~JniByteArray() override;
static PassRefPtr<JniByteArray> Create(jsize length);
static scoped_refptr<JniByteArray> Create(jsize length);
int64_t GetArrayElement(jsize index);
void SetArrayElement(jsize index, int64_t value);
......@@ -78,7 +78,7 @@ class JniCharArray : public JniArray {
public:
~JniCharArray() override;
static PassRefPtr<JniCharArray> Create(jsize length);
static scoped_refptr<JniCharArray> Create(jsize length);
int64_t GetArrayElement(jsize index);
void SetArrayElement(jsize index, int64_t value);
......@@ -93,7 +93,7 @@ class JniShortArray : public JniArray {
public:
~JniShortArray() override;
static PassRefPtr<JniShortArray> Create(jsize length);
static scoped_refptr<JniShortArray> Create(jsize length);
int64_t GetArrayElement(jsize index);
void SetArrayElement(jsize index, int64_t value);
......@@ -108,7 +108,7 @@ class JniIntArray : public JniArray {
public:
~JniIntArray() override;
static PassRefPtr<JniIntArray> Create(jsize length);
static scoped_refptr<JniIntArray> Create(jsize length);
int64_t GetArrayElement(jsize index);
void SetArrayElement(jsize index, int64_t value);
......@@ -123,7 +123,7 @@ class JniLongArray : public JniArray {
public:
~JniLongArray() override;
static PassRefPtr<JniLongArray> Create(jsize length);
static scoped_refptr<JniLongArray> Create(jsize length);
int64_t GetArrayElement(jsize index);
void SetArrayElement(jsize index, int64_t value);
......@@ -138,7 +138,7 @@ class JniFloatArray : public JniArray {
public:
~JniFloatArray() override;
static PassRefPtr<JniFloatArray> Create(jsize length);
static scoped_refptr<JniFloatArray> Create(jsize length);
double GetArrayElement(jsize index);
void SetArrayElement(jsize index, double value);
......@@ -153,7 +153,7 @@ class JniDoubleArray : public JniArray {
public:
~JniDoubleArray() override;
static PassRefPtr<JniDoubleArray> Create(jsize length);
static scoped_refptr<JniDoubleArray> Create(jsize length);
double GetArrayElement(jsize index);
void SetArrayElement(jsize index, double value);
......
......@@ -18,7 +18,7 @@ JniClass::JniClass(JNIEnv* env, jclass clazz)
JniClass::~JniClass() {
}
PassRefPtr<JniClass> JniClass::FromName(const char* name) {
scoped_refptr<JniClass> JniClass::FromName(const char* name) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -28,15 +28,15 @@ PassRefPtr<JniClass> JniClass::FromName(const char* name) {
ScopedJavaLocalRef<jclass> clazz = DartJni::GetClass(env, name);
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniClass(env, clazz.obj()));
return new JniClass(env, clazz.obj());
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
PassRefPtr<JniClass> JniClass::FromClassObject(const JniObject* clazz) {
scoped_refptr<JniClass> JniClass::FromClassObject(const JniObject* clazz) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -49,11 +49,11 @@ PassRefPtr<JniClass> JniClass::FromClassObject(const JniObject* clazz) {
goto fail;
}
return adoptRef(new JniClass(env, static_cast<jclass>(class_object)));
return new JniClass(env, static_cast<jclass>(class_object));
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -69,7 +69,7 @@ intptr_t JniClass::GetFieldId(const char* name, const char* sig) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -85,7 +85,7 @@ intptr_t JniClass::GetStaticFieldId(const char* name, const char* sig) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -101,7 +101,7 @@ intptr_t JniClass::GetMethodId(const char* name, const char* sig) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -117,11 +117,11 @@ intptr_t JniClass::GetStaticMethodId(const char* name, const char* sig) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
PassRefPtr<JniObject> JniClass::NewObject(
scoped_refptr<JniObject> JniClass::NewObject(
jmethodID methodId, const std::vector<Dart_Handle>& args) {
Dart_Handle exception = nullptr;
{
......@@ -138,7 +138,7 @@ PassRefPtr<JniObject> JniClass::NewObject(
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -154,11 +154,11 @@ bool JniClass::IsAssignable(const JniClass* clazz) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
PassRefPtr<JniObject> JniClass::GetStaticObjectField(jfieldID fieldId) {
scoped_refptr<JniObject> JniClass::GetStaticObjectField(jfieldID fieldId) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -170,7 +170,7 @@ PassRefPtr<JniObject> JniClass::GetStaticObjectField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -186,7 +186,7 @@ bool JniClass::GetStaticBooleanField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -202,7 +202,7 @@ int64_t JniClass::GetStaticByteField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -218,7 +218,7 @@ int64_t JniClass::GetStaticCharField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -234,7 +234,7 @@ int64_t JniClass::GetStaticShortField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -250,7 +250,7 @@ int64_t JniClass::GetStaticIntField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -266,7 +266,7 @@ int64_t JniClass::GetStaticLongField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -282,7 +282,7 @@ double JniClass::GetStaticFloatField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -298,7 +298,7 @@ double JniClass::GetStaticDoubleField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -315,7 +315,7 @@ void JniClass::SetStaticObjectField(jfieldID fieldId, const JniObject* value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -332,7 +332,7 @@ void JniClass::SetStaticBooleanField(jfieldID fieldId, bool value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -348,7 +348,7 @@ void JniClass::SetStaticByteField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -364,7 +364,7 @@ void JniClass::SetStaticCharField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -380,7 +380,7 @@ void JniClass::SetStaticShortField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -396,7 +396,7 @@ void JniClass::SetStaticIntField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -412,7 +412,7 @@ void JniClass::SetStaticLongField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -428,7 +428,7 @@ void JniClass::SetStaticFloatField(jfieldID fieldId, double value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -444,11 +444,11 @@ void JniClass::SetStaticDoubleField(jfieldID fieldId, double value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
PassRefPtr<JniObject> JniClass::CallStaticObjectMethod(
scoped_refptr<JniObject> JniClass::CallStaticObjectMethod(
jmethodID methodId, const std::vector<Dart_Handle>& args) {
Dart_Handle exception = nullptr;
{
......@@ -466,7 +466,7 @@ PassRefPtr<JniObject> JniClass::CallStaticObjectMethod(
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -488,7 +488,7 @@ bool JniClass::CallStaticBooleanMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -510,7 +510,7 @@ int64_t JniClass::CallStaticByteMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -532,7 +532,7 @@ int64_t JniClass::CallStaticCharMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -554,7 +554,7 @@ int64_t JniClass::CallStaticShortMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -576,7 +576,7 @@ int64_t JniClass::CallStaticIntMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -598,7 +598,7 @@ int64_t JniClass::CallStaticLongMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -620,7 +620,7 @@ double JniClass::CallStaticFloatMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -642,7 +642,7 @@ double JniClass::CallStaticDoubleMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -663,7 +663,7 @@ void JniClass::CallStaticVoidMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......
......@@ -8,10 +8,9 @@
#include <jni.h>
#include "base/android/jni_android.h"
#include "base/memory/ref_counted.h"
#include "sky/engine/bindings/jni/jni_object.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/RefCounted.h"
namespace blink {
......@@ -23,8 +22,8 @@ class JniClass : public JniObject {
public:
~JniClass() override;
static PassRefPtr<JniClass> FromName(const char* className);
static PassRefPtr<JniClass> FromClassObject(const JniObject* clazz);
static scoped_refptr<JniClass> FromName(const char* className);
static scoped_refptr<JniClass> FromClassObject(const JniObject* clazz);
jclass java_class() const { return static_cast<jclass>(object_.obj()); }
......@@ -33,12 +32,12 @@ class JniClass : public JniObject {
intptr_t GetMethodId(const char* name, const char* sig);
intptr_t GetStaticMethodId(const char* name, const char* sig);
PassRefPtr<JniObject> NewObject(jmethodID methodId,
scoped_refptr<JniObject> NewObject(jmethodID methodId,
const std::vector<Dart_Handle>& args);
bool IsAssignable(const JniClass* clazz);
PassRefPtr<JniObject> GetStaticObjectField(jfieldID fieldId);
scoped_refptr<JniObject> GetStaticObjectField(jfieldID fieldId);
bool GetStaticBooleanField(jfieldID fieldId);
int64_t GetStaticByteField(jfieldID fieldId);
int64_t GetStaticCharField(jfieldID fieldId);
......@@ -58,7 +57,7 @@ class JniClass : public JniObject {
void SetStaticFloatField(jfieldID fieldId, double value);
void SetStaticDoubleField(jfieldID fieldId, double value);
PassRefPtr<JniObject> CallStaticObjectMethod(
scoped_refptr<JniObject> CallStaticObjectMethod(
jmethodID methodId, const std::vector<Dart_Handle>& args);
bool CallStaticBooleanMethod(jmethodID methodId,
const std::vector<Dart_Handle>& args);
......
......@@ -21,7 +21,7 @@ JniObject::JniObject(JNIEnv* env, jobject object)
JniObject::~JniObject() {
}
PassRefPtr<JniObject> JniObject::Create(JNIEnv* env, jobject object) {
scoped_refptr<JniObject> JniObject::Create(JNIEnv* env, jobject object) {
if (object == nullptr)
return nullptr;
......@@ -55,10 +55,10 @@ PassRefPtr<JniObject> JniObject::Create(JNIEnv* env, jobject object) {
result = new JniObject(env, object);
}
return adoptRef(result);
return result;
}
PassRefPtr<JniClass> JniObject::GetObjectClass() {
scoped_refptr<JniClass> JniObject::GetObjectClass() {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -66,15 +66,15 @@ PassRefPtr<JniClass> JniObject::GetObjectClass() {
jclass clazz = env->GetObjectClass(java_object());
if (CheckJniException(env, &exception)) goto fail;
return adoptRef(new JniClass(env, clazz));
return new JniClass(env, clazz);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
PassRefPtr<JniObject> JniObject::GetObjectField(jfieldID fieldId) {
scoped_refptr<JniObject> JniObject::GetObjectField(jfieldID fieldId) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -86,7 +86,7 @@ PassRefPtr<JniObject> JniObject::GetObjectField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -102,7 +102,7 @@ bool JniObject::GetBooleanField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -118,7 +118,7 @@ int64_t JniObject::GetByteField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -134,7 +134,7 @@ int64_t JniObject::GetCharField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -150,7 +150,7 @@ int64_t JniObject::GetShortField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -166,7 +166,7 @@ int64_t JniObject::GetIntField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -182,7 +182,7 @@ int64_t JniObject::GetLongField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -198,7 +198,7 @@ double JniObject::GetFloatField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -214,7 +214,7 @@ double JniObject::GetDoubleField(jfieldID fieldId) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -231,7 +231,7 @@ void JniObject::SetObjectField(jfieldID fieldId, const JniObject* value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -248,7 +248,7 @@ void JniObject::SetBooleanField(jfieldID fieldId, bool value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -264,7 +264,7 @@ void JniObject::SetByteField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -280,7 +280,7 @@ void JniObject::SetCharField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -296,7 +296,7 @@ void JniObject::SetShortField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -312,7 +312,7 @@ void JniObject::SetIntField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -328,7 +328,7 @@ void JniObject::SetLongField(jfieldID fieldId, int64_t value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -344,7 +344,7 @@ void JniObject::SetFloatField(jfieldID fieldId, double value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......@@ -360,11 +360,11 @@ void JniObject::SetDoubleField(jfieldID fieldId, double value) {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
PassRefPtr<JniObject> JniObject::CallObjectMethod(
scoped_refptr<JniObject> JniObject::CallObjectMethod(
jmethodID methodId,
const std::vector<Dart_Handle>& args) {
Dart_Handle exception = nullptr;
......@@ -383,7 +383,7 @@ PassRefPtr<JniObject> JniObject::CallObjectMethod(
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -405,7 +405,7 @@ bool JniObject::CallBooleanMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return false;
}
......@@ -427,7 +427,7 @@ int64_t JniObject::CallByteMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -449,7 +449,7 @@ int64_t JniObject::CallCharMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -471,7 +471,7 @@ int64_t JniObject::CallShortMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -493,7 +493,7 @@ int64_t JniObject::CallIntMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -515,7 +515,7 @@ int64_t JniObject::CallLongMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -537,7 +537,7 @@ double JniObject::CallFloatMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -559,7 +559,7 @@ double JniObject::CallDoubleMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return 0;
}
......@@ -580,7 +580,7 @@ void JniObject::CallVoidMethod(jmethodID methodId,
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return;
}
......
......@@ -8,28 +8,27 @@
#include <jni.h>
#include "base/android/jni_android.h"
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/RefCounted.h"
namespace blink {
class JniClass;
// Wrapper that exposes a JNI jobject to Dart
class JniObject : public ThreadSafeRefCounted<JniObject>, public DartWrappable {
class JniObject : public base::RefCountedThreadSafe<JniObject>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~JniObject() override;
static PassRefPtr<JniObject> Create(JNIEnv* env, jobject object);
static scoped_refptr<JniObject> Create(JNIEnv* env, jobject object);
jobject java_object() const { return object_.obj(); }
PassRefPtr<JniClass> GetObjectClass();
scoped_refptr<JniClass> GetObjectClass();
PassRefPtr<JniObject> GetObjectField(jfieldID fieldId);
scoped_refptr<JniObject> GetObjectField(jfieldID fieldId);
bool GetBooleanField(jfieldID fieldId);
int64_t GetByteField(jfieldID fieldId);
int64_t GetCharField(jfieldID fieldId);
......@@ -49,8 +48,8 @@ class JniObject : public ThreadSafeRefCounted<JniObject>, public DartWrappable {
void SetFloatField(jfieldID fieldId, double value);
void SetDoubleField(jfieldID fieldId, double value);
PassRefPtr<JniObject> CallObjectMethod(jmethodID methodId,
const std::vector<Dart_Handle>& args);
scoped_refptr<JniObject> CallObjectMethod(jmethodID methodId,
const std::vector<Dart_Handle>& args);
bool CallBooleanMethod(jmethodID methodId,
const std::vector<Dart_Handle>& args);
int64_t CallByteMethod(jmethodID methodId,
......
......@@ -18,7 +18,7 @@ jstring JniString::java_string() {
return static_cast<jstring>(java_object());
}
PassRefPtr<JniString> JniString::Create(Dart_Handle dart_string) {
scoped_refptr<JniString> JniString::Create(Dart_Handle dart_string) {
Dart_Handle exception = nullptr;
{
ENTER_JNI();
......@@ -27,11 +27,11 @@ PassRefPtr<JniString> JniString::Create(Dart_Handle dart_string) {
&exception);
if (exception) goto fail;
return adoptRef(new JniString(env, java_string));
return new JniString(env, java_string);
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return nullptr;
}
......@@ -53,7 +53,7 @@ Dart_Handle JniString::GetText() {
}
fail:
Dart_ThrowException(exception);
ASSERT_NOT_REACHED();
NOTREACHED();
return Dart_Null();
}
......
......@@ -18,7 +18,7 @@ class JniString : public JniObject {
public:
~JniString() override;
static PassRefPtr<JniString> Create(Dart_Handle dart_string);
static scoped_refptr<JniString> Create(Dart_Handle dart_string);
Dart_Handle GetText();
private:
......
......@@ -20,10 +20,10 @@ IMPLEMENT_WRAPPERTYPEINFO(ui, Scene);
DART_BIND_ALL(Scene, FOR_EACH_BINDING)
PassRefPtr<Scene> Scene::create(
scoped_refptr<Scene> Scene::create(
std::unique_ptr<flow::Layer> rootLayer,
uint32_t rasterizerTracingThreshold) {
return adoptRef(new Scene(std::move(rootLayer), rasterizerTracingThreshold));
return new Scene(std::move(rootLayer), rasterizerTracingThreshold);
}
Scene::Scene(std::unique_ptr<flow::Layer> rootLayer,
......
......@@ -8,21 +8,20 @@
#include <stdint.h>
#include <memory>
#include "base/memory/ref_counted.h"
#include "flow/layers/layer_tree.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkPicture.h"
namespace blink {
class DartLibraryNatives;
class Scene : public ThreadSafeRefCounted<Scene>, public DartWrappable {
class Scene : public base::RefCountedThreadSafe<Scene>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~Scene() override;
static PassRefPtr<Scene> create(
static scoped_refptr<Scene> create(
std::unique_ptr<flow::Layer> rootLayer,
uint32_t rasterizerTracingThreshold);
......
......@@ -214,14 +214,14 @@ void SceneBuilder::setRasterizerTracingThreshold(uint32_t frameInterval)
m_currentRasterizerTracingThreshold = frameInterval;
}
PassRefPtr<Scene> SceneBuilder::build()
scoped_refptr<Scene> SceneBuilder::build()
{
m_currentLayer = nullptr;
int32_t threshold = m_currentRasterizerTracingThreshold;
m_currentRasterizerTracingThreshold = 0;
RefPtr<Scene> scene = Scene::create(std::move(m_rootLayer), threshold);
scoped_refptr<Scene> scene = Scene::create(std::move(m_rootLayer), threshold);
ClearDartWrapper();
return scene.release();
return std::move(scene);
}
} // namespace blink
......@@ -8,6 +8,7 @@
#include <stdint.h>
#include <memory>
#include "base/memory/ref_counted.h"
#include "flow/layers/container_layer.h"
#include "sky/engine/bindings/exception_state.h"
#include "sky/engine/core/compositing/Scene.h"
......@@ -21,17 +22,13 @@
#include "sky/engine/core/painting/RRect.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/tonic/float64_list.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
namespace blink {
class SceneBuilder : public ThreadSafeRefCounted<SceneBuilder>, public DartWrappable {
class SceneBuilder : public base::RefCountedThreadSafe<SceneBuilder>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static PassRefPtr<SceneBuilder> create() {
return adoptRef(new SceneBuilder());
}
static scoped_refptr<SceneBuilder> create() { return new SceneBuilder(); }
~SceneBuilder() override;
......@@ -65,7 +62,7 @@ public:
void setRasterizerTracingThreshold(uint32_t frameInterval);
PassRefPtr<Scene> build();
scoped_refptr<Scene> build();
static void RegisterNatives(DartLibraryNatives* natives);
......
......@@ -66,15 +66,15 @@ FOR_EACH_BINDING(DART_REGISTER_NATIVE)
});
}
PassRefPtr<Canvas> Canvas::create(PictureRecorder* recorder,
double left,
double top,
double right,
double bottom) {
scoped_refptr<Canvas> Canvas::create(PictureRecorder* recorder,
double left,
double top,
double right,
double bottom) {
ASSERT(recorder);
ASSERT(!recorder->isRecording());
PassRefPtr<Canvas> canvas = adoptRef(new Canvas(recorder->beginRecording(
SkRect::MakeLTRB(left, top, right, bottom))));
scoped_refptr<Canvas> canvas = new Canvas(recorder->beginRecording(
SkRect::MakeLTRB(left, top, right, bottom)));
recorder->set_canvas(canvas.get());
return canvas;
}
......
......@@ -5,6 +5,7 @@
#ifndef SKY_ENGINE_CORE_PAINTING_CANVAS_H_
#define SKY_ENGINE_CORE_PAINTING_CANVAS_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/bindings/exception_state.h"
#include "sky/engine/core/painting/CanvasPath.h"
#include "sky/engine/core/painting/Offset.h"
......@@ -12,13 +13,11 @@
#include "sky/engine/core/painting/Picture.h"
#include "sky/engine/core/painting/PictureRecorder.h"
#include "sky/engine/core/painting/Point.h"
#include "sky/engine/core/painting/RRect.h"
#include "sky/engine/core/painting/Rect.h"
#include "sky/engine/core/painting/RRect.h"
#include "sky/engine/core/painting/RSTransform.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/tonic/float64_list.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkCanvas.h"
namespace blink {
......@@ -29,14 +28,14 @@ class Paragraph;
template <>
struct DartConverter<SkCanvas::VertexMode> : public DartConverterInteger<SkCanvas::VertexMode> {};
class Canvas : public ThreadSafeRefCounted<Canvas>, public DartWrappable {
class Canvas : public base::RefCountedThreadSafe<Canvas>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static PassRefPtr<Canvas> create(PictureRecorder* recorder,
double left,
double top,
double right,
double bottom);
static scoped_refptr<Canvas> create(PictureRecorder* recorder,
double left,
double top,
double right,
double bottom);
~Canvas() override;
......
......@@ -32,8 +32,8 @@ FOR_EACH_BINDING(DART_REGISTER_NATIVE)
});
}
PassRefPtr<CanvasGradient> CanvasGradient::create() {
return adoptRef(new CanvasGradient());
scoped_refptr<CanvasGradient> CanvasGradient::create() {
return new CanvasGradient();
}
void CanvasGradient::initLinear(const std::vector<Point>& end_points,
......
......@@ -23,7 +23,7 @@ class CanvasGradient : public Shader {
DEFINE_WRAPPERTYPEINFO();
public:
~CanvasGradient() override;
static PassRefPtr<CanvasGradient> create();
static scoped_refptr<CanvasGradient> create();
void initLinear(const std::vector<Point>& end_points,
const std::vector<CanvasColor>& colors,
......
......@@ -5,20 +5,19 @@
#ifndef SKY_ENGINE_CORE_PAINTING_CANVASIMAGE_H_
#define SKY_ENGINE_CORE_PAINTING_CANVASIMAGE_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkImage.h"
namespace blink {
class DartLibraryNatives;
class CanvasImage final : public ThreadSafeRefCounted<CanvasImage>,
class CanvasImage final : public base::RefCountedThreadSafe<CanvasImage>,
public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~CanvasImage() override;
static PassRefPtr<CanvasImage> create() { return adoptRef(new CanvasImage); }
static scoped_refptr<CanvasImage> create() { return new CanvasImage(); }
int width();
int height();
......
......@@ -57,10 +57,10 @@ CanvasPath::~CanvasPath()
{
}
PassRefPtr<CanvasPath> CanvasPath::shift(const Offset& offset) {
RefPtr<CanvasPath> path = CanvasPath::create();
scoped_refptr<CanvasPath> CanvasPath::shift(const Offset& offset) {
scoped_refptr<CanvasPath> path = CanvasPath::create();
m_path.offset(offset.sk_size.width(), offset.sk_size.height(), &path->m_path);
return path.release();
return std::move(path);
}
} // namespace blink
......@@ -7,13 +7,12 @@
#include "math.h"
#include "base/memory/ref_counted.h"
#include "sky/engine/core/painting/Offset.h"
#include "sky/engine/core/painting/Point.h"
#include "sky/engine/core/painting/RRect.h"
#include "sky/engine/core/painting/Rect.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkPath.h"
// Note: There's a very similar class in ../../platform/graphics/Path.h
......@@ -25,14 +24,11 @@
namespace blink {
class DartLibraryNatives;
class CanvasPath : public ThreadSafeRefCounted<CanvasPath>, public DartWrappable {
class CanvasPath : public base::RefCountedThreadSafe<CanvasPath>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~CanvasPath() override;
static PassRefPtr<CanvasPath> create()
{
return adoptRef(new CanvasPath);
}
static scoped_refptr<CanvasPath> create() { return new CanvasPath(); }
void moveTo(float x, float y) { m_path.moveTo(x, y); }
void relativeMoveTo(float x, float y) { m_path.rMoveTo(x, y); }
......@@ -68,7 +64,7 @@ public:
const SkPath& path() const { return m_path; }
PassRefPtr<CanvasPath> shift(const Offset& offset);
scoped_refptr<CanvasPath> shift(const Offset& offset);
static void RegisterNatives(DartLibraryNatives* natives);
......
......@@ -23,9 +23,9 @@ void ColorFilter::RegisterNatives(DartLibraryNatives* natives) {
});
}
PassRefPtr<ColorFilter> ColorFilter::create(CanvasColor color,
TransferMode transfer_mode) {
return adoptRef(new ColorFilter(SkColorFilter::MakeModeFilter(color, transfer_mode)));
scoped_refptr<ColorFilter> ColorFilter::create(CanvasColor color,
TransferMode transfer_mode) {
return new ColorFilter(SkColorFilter::MakeModeFilter(color, transfer_mode));
}
ColorFilter::ColorFilter(sk_sp<SkColorFilter> filter)
......
......@@ -5,22 +5,21 @@
#ifndef SKY_ENGINE_CORE_PAINTING_COLORFILTER_H_
#define SKY_ENGINE_CORE_PAINTING_COLORFILTER_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/core/painting/CanvasColor.h"
#include "sky/engine/core/painting/TransferMode.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkColorFilter.h"
namespace blink {
class DartLibraryNatives;
class ColorFilter : public ThreadSafeRefCounted<ColorFilter>, public DartWrappable {
class ColorFilter : public base::RefCountedThreadSafe<ColorFilter>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~ColorFilter() override;
static PassRefPtr<ColorFilter> create(CanvasColor color,
TransferMode transfer_mode);
static scoped_refptr<ColorFilter> create(CanvasColor color,
TransferMode transfer_mode);
sk_sp<SkColorFilter> filter() { return filter_; }
......
......@@ -34,8 +34,8 @@ FOR_EACH_BINDING(DART_REGISTER_NATIVE)
});
}
PassRefPtr<ImageFilter> ImageFilter::create() {
return adoptRef(new ImageFilter());
scoped_refptr<ImageFilter> ImageFilter::create() {
return new ImageFilter();
}
ImageFilter::ImageFilter() {
......
......@@ -5,20 +5,19 @@
#ifndef SKY_ENGINE_CORE_PAINTING_IMAGE_FILTER_H_
#define SKY_ENGINE_CORE_PAINTING_IMAGE_FILTER_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/core/painting/CanvasImage.h"
#include "sky/engine/core/painting/Picture.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkImageFilter.h"
namespace blink {
class ImageFilter : public ThreadSafeRefCounted<ImageFilter>, public DartWrappable {
class ImageFilter : public base::RefCountedThreadSafe<ImageFilter>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~ImageFilter() override;
static PassRefPtr<ImageFilter> create();
static scoped_refptr<ImageFilter> create();
void initImage(CanvasImage* image);
void initPicture(Picture*);
......
......@@ -38,8 +38,8 @@ void ImageShader::RegisterNatives(DartLibraryNatives* natives) {
});
}
PassRefPtr<ImageShader> ImageShader::create() {
return adoptRef(new ImageShader());
scoped_refptr<ImageShader> ImageShader::create() {
return new ImageShader();
}
void ImageShader::initWithImage(CanvasImage* image,
......
......@@ -22,7 +22,7 @@ class ImageShader : public Shader {
DEFINE_WRAPPERTYPEINFO();
public:
~ImageShader() override;
static PassRefPtr<ImageShader> create();
static scoped_refptr<ImageShader> create();
void initWithImage(CanvasImage* image,
SkShader::TileMode tmx,
......
......@@ -24,10 +24,10 @@ void MaskFilter::RegisterNatives(DartLibraryNatives* natives) {
});
}
PassRefPtr<MaskFilter> MaskFilter::create(
scoped_refptr<MaskFilter> MaskFilter::create(
unsigned style, double sigma, unsigned flags) {
return adoptRef(new MaskFilter(SkBlurMaskFilter::Make(
static_cast<SkBlurStyle>(style), sigma, flags)));
return new MaskFilter(SkBlurMaskFilter::Make(
static_cast<SkBlurStyle>(style), sigma, flags));
}
MaskFilter::MaskFilter(sk_sp<SkMaskFilter> filter)
......
......@@ -5,9 +5,8 @@
#ifndef SKY_ENGINE_CORE_PAINTING_MASKFILTER_H_
#define SKY_ENGINE_CORE_PAINTING_MASKFILTER_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkMaskFilter.h"
class SkMaskFilter;
......@@ -15,11 +14,11 @@ class SkMaskFilter;
namespace blink {
class DartLibraryNatives;
class MaskFilter : public ThreadSafeRefCounted<MaskFilter>, public DartWrappable {
class MaskFilter : public base::RefCountedThreadSafe<MaskFilter>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~MaskFilter() override;
static PassRefPtr<MaskFilter> create(
static scoped_refptr<MaskFilter> create(
unsigned style, double sigma, unsigned flags);
sk_sp<SkMaskFilter> filter() { return filter_; }
......
......@@ -19,10 +19,10 @@ IMPLEMENT_WRAPPERTYPEINFO(ui, Picture);
DART_BIND_ALL(Picture, FOR_EACH_BINDING)
PassRefPtr<Picture> Picture::create(sk_sp<SkPicture> skPicture)
scoped_refptr<Picture> Picture::create(sk_sp<SkPicture> skPicture)
{
ASSERT(skPicture);
return adoptRef(new Picture(skPicture));
return new Picture(skPicture);
}
Picture::Picture(sk_sp<SkPicture> skPicture)
......
......@@ -5,20 +5,19 @@
#ifndef SKY_ENGINE_CORE_PAINTING_PICTURE_H_
#define SKY_ENGINE_CORE_PAINTING_PICTURE_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkPicture.h"
namespace blink {
class Canvas;
class DartLibraryNatives;
class Picture : public ThreadSafeRefCounted<Picture>, public DartWrappable {
class Picture : public base::RefCountedThreadSafe<Picture>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~Picture() override;
static PassRefPtr<Picture> create(sk_sp<SkPicture> skPicture);
static scoped_refptr<Picture> create(sk_sp<SkPicture> skPicture);
sk_sp<SkPicture> toSkia() const { return m_picture; }
......
......@@ -50,22 +50,22 @@ SkCanvas* PictureRecorder::beginRecording(SkRect bounds)
&m_rtreeFactory, SkPictureRecorder::kComputeSaveLayerInfo_RecordFlag);
}
PassRefPtr<Picture> PictureRecorder::endRecording()
scoped_refptr<Picture> PictureRecorder::endRecording()
{
if (!isRecording())
return nullptr;
RefPtr<Picture> picture = Picture::create(
scoped_refptr<Picture> picture = Picture::create(
m_pictureRecorder.finishRecordingAsPicture());
m_canvas->clearSkCanvas();
m_canvas->ClearDartWrapper();
m_canvas = nullptr;
ClearDartWrapper();
return picture.release();
return std::move(picture);
}
void PictureRecorder::set_canvas(PassRefPtr<Canvas> canvas)
void PictureRecorder::set_canvas(scoped_refptr<Canvas> canvas)
{
m_canvas = canvas;
m_canvas = std::move(canvas);
}
} // namespace blink
......@@ -5,10 +5,9 @@
#ifndef SKY_ENGINE_CORE_PAINTING_PICTURERECORDER_H_
#define SKY_ENGINE_CORE_PAINTING_PICTURERECORDER_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/core/painting/Rect.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkPictureRecorder.h"
namespace blink {
......@@ -16,22 +15,19 @@ class Canvas;
class DartLibraryNatives;
class Picture;
class PictureRecorder : public ThreadSafeRefCounted<PictureRecorder>,
class PictureRecorder : public base::RefCountedThreadSafe<PictureRecorder>,
public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static PassRefPtr<PictureRecorder> create()
{
return adoptRef(new PictureRecorder());
}
static scoped_refptr<PictureRecorder> create() { return new PictureRecorder(); }
~PictureRecorder();
SkCanvas* beginRecording(SkRect bounds);
PassRefPtr<Picture> endRecording();
scoped_refptr<Picture> endRecording();
bool isRecording();
void set_canvas(PassRefPtr<Canvas> canvas);
void set_canvas(scoped_refptr<Canvas> canvas);
static void RegisterNatives(DartLibraryNatives* natives);
......@@ -40,7 +36,7 @@ private:
SkRTreeFactory m_rtreeFactory;
SkPictureRecorder m_pictureRecorder;
RefPtr<Canvas> m_canvas;
scoped_refptr<Canvas> m_canvas;
};
} // namespace blink
......
......@@ -5,14 +5,13 @@
#ifndef SKY_ENGINE_CORE_PAINTING_SHADER_H_
#define SKY_ENGINE_CORE_PAINTING_SHADER_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "third_party/skia/include/core/SkShader.h"
namespace blink {
class Shader : public ThreadSafeRefCounted<Shader>, public DartWrappable {
class Shader : public base::RefCountedThreadSafe<Shader>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
~Shader() override;
......
......@@ -46,7 +46,7 @@ void InvokeImageCallback(sk_sp<SkImage> image,
if (!image) {
DartInvoke(callback->value(), {Dart_Null()});
} else {
RefPtr<CanvasImage> resultImage = CanvasImage::create();
scoped_refptr<CanvasImage> resultImage = CanvasImage::create();
resultImage->setImage(std::move(image));
DartInvoke(callback->value(), {ToDart(resultImage)});
}
......
......@@ -5,9 +5,8 @@
#ifndef SKY_ENGINE_CORE_TEXT_PARAGRAPH_H_
#define SKY_ENGINE_CORE_TEXT_PARAGRAPH_H_
#include "base/memory/ref_counted.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "sky/engine/core/painting/Canvas.h"
#include "sky/engine/core/painting/Offset.h"
#include "sky/engine/core/rendering/RenderView.h"
......@@ -16,11 +15,11 @@
namespace blink {
class DartLibraryNatives;
class Paragraph : public ThreadSafeRefCounted<Paragraph>, public DartWrappable {
class Paragraph : public base::RefCountedThreadSafe<Paragraph>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static PassRefPtr<Paragraph> create(PassOwnPtr<RenderView> renderView) {
return adoptRef(new Paragraph(renderView));
static scoped_refptr<Paragraph> create(PassOwnPtr<RenderView> renderView) {
return new Paragraph(renderView);
}
~Paragraph() override;
......
......@@ -231,7 +231,7 @@ void ParagraphBuilder::addText(const std::string& text)
m_currentRenderObject->addChild(renderText);
}
PassRefPtr<Paragraph> ParagraphBuilder::build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight)
scoped_refptr<Paragraph> ParagraphBuilder::build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight)
{
DCHECK(encoded.num_elements() == 5);
int32_t mask = encoded[0];
......
......@@ -8,18 +8,15 @@
#include "sky/engine/core/text/Paragraph.h"
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/tonic/int32_list.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include "base/memory/ref_counted.h"
namespace blink {
class DartLibraryNatives;
class ParagraphBuilder : public ThreadSafeRefCounted<ParagraphBuilder>, public DartWrappable {
class ParagraphBuilder : public base::RefCountedThreadSafe<ParagraphBuilder>, public DartWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static PassRefPtr<ParagraphBuilder> create() {
return adoptRef(new ParagraphBuilder());
}
static scoped_refptr<ParagraphBuilder> create() { return new ParagraphBuilder(); }
~ParagraphBuilder() override;
......@@ -28,7 +25,7 @@ public:
void addText(const std::string& text);
PassRefPtr<Paragraph> build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight);
scoped_refptr<Paragraph> build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight);
static void RegisterNatives(DartLibraryNatives* natives);
......
......@@ -62,7 +62,6 @@ source_set("tonic") {
"//dart/runtime/bin:embedded_dart_io",
"//mojo/data_pipe_utils",
"//mojo/public/cpp/system",
"//sky/engine/wtf",
]
public_deps = [
......
......@@ -16,9 +16,6 @@ DartWrappable::~DartWrappable() {
CHECK(!dart_wrapper_);
}
void DartWrappable::AcceptDartGCVisitor(DartGCVisitor& visitor) const {
}
Dart_Handle DartWrappable::CreateDartWrapper(DartState* dart_state) {
DCHECK(!dart_wrapper_);
const DartWrapperInfo& info = GetDartWrapperInfo();
......
......@@ -6,20 +6,17 @@
#define SKY_ENGINE_TONIC_DART_WRAPPABLE_H_
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/template_util.h"
#include "dart/runtime/include/dart_api.h"
#include "sky/engine/tonic/dart_converter.h"
#include "sky/engine/tonic/dart_error.h"
#include "sky/engine/tonic/dart_state.h"
#include "sky/engine/tonic/dart_wrapper_info.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/RefPtr.h"
#include "sky/engine/wtf/ThreadSafeRefCounted.h"
#include <type_traits>
namespace blink {
class DartGCVisitor;
struct DartWrapperInfo;
// DartWrappable is a base class that you can inherit from in order to be
......@@ -39,11 +36,6 @@ class DartWrappable {
// base class's implementation of this function.
virtual const DartWrapperInfo& GetDartWrapperInfo() const = 0;
// Subclasses that wish to integrate with the Dart garbage collector should
// override this function. Please call your base class's AcceptDartGCVisitor
// at the end of your override.
virtual void AcceptDartGCVisitor(DartGCVisitor& visitor) const;
Dart_Handle CreateDartWrapper(DartState* dart_state);
void AssociateWithDartWrapper(Dart_NativeArguments args);
void ClearDartWrapper(); // Warning: Might delete this.
......@@ -72,10 +64,10 @@ class DartWrappable {
#define IMPLEMENT_WRAPPERTYPEINFO(LibraryName, ClassName) \
static void RefObject_##LibraryName_##ClassName(DartWrappable* impl) { \
static_cast<ClassName*>(impl)->ref(); \
static_cast<ClassName*>(impl)->AddRef(); \
} \
static void DerefObject_##LibraryName_##ClassName(DartWrappable* impl) { \
static_cast<ClassName*>(impl)->deref(); \
static_cast<ClassName*>(impl)->Release(); \
} \
static const DartWrapperInfo kDartWrapperInfo_##LibraryName_##ClassName = { \
#LibraryName, \
......@@ -86,7 +78,8 @@ static const DartWrapperInfo kDartWrapperInfo_##LibraryName_##ClassName = { \
}; \
const DartWrapperInfo& ClassName::dart_wrapper_info_ = \
kDartWrapperInfo_##LibraryName_##ClassName; \
static_assert(std::is_base_of<WTF::ThreadSafeRefCountedBase, ClassName>::value,\
static_assert(std::is_base_of<base::subtle::RefCountedThreadSafeBase, \
ClassName>::value, \
#ClassName " must be thread-safe reference-countable.");
struct DartConverterWrappable {
......@@ -136,20 +129,17 @@ struct DartConverter<
};
template<typename T>
struct DartConverter<RefPtr<T>> {
static Dart_Handle ToDart(RefPtr<T> val) {
struct DartConverter<scoped_refptr<T>> {
static Dart_Handle ToDart(const scoped_refptr<T>& val) {
return DartConverter<T*>::ToDart(val.get());
}
static RefPtr<T> FromDart(Dart_Handle handle) {
static scoped_refptr<T> FromDart(Dart_Handle handle) {
return DartConverter<T*>::FromDart(handle);
}
};
template<typename T>
struct DartConverter<PassRefPtr<T>> {
static void SetReturnValue(Dart_NativeArguments args,
PassRefPtr<T> val,
const scoped_refptr<T>& val,
bool auto_scope = true) {
DartConverter<T*>::SetReturnValue(args, val.get());
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册