From 584d3928cea357d33d02ffe3762081af1dc82caa Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Fri, 10 Jun 2016 16:32:53 -0700 Subject: [PATCH] Remove dependency from tonic to wtf (#2740) This patch paves the way to untangling a large amount of code from the engine. --- sky/engine/bindings/jni/dart_jni.cc | 3 +- sky/engine/bindings/jni/dart_jni.h | 3 +- sky/engine/bindings/jni/jni_api.cc | 8 +- sky/engine/bindings/jni/jni_api.h | 4 +- sky/engine/bindings/jni/jni_array.cc | 94 ++++++++++---------- sky/engine/bindings/jni/jni_array.h | 20 ++--- sky/engine/bindings/jni/jni_class.cc | 86 +++++++++--------- sky/engine/bindings/jni/jni_class.h | 13 ++- sky/engine/bindings/jni/jni_object.cc | 70 +++++++-------- sky/engine/bindings/jni/jni_object.h | 15 ++-- sky/engine/bindings/jni/jni_string.cc | 8 +- sky/engine/bindings/jni/jni_string.h | 2 +- sky/engine/core/compositing/Scene.cpp | 4 +- sky/engine/core/compositing/Scene.h | 7 +- sky/engine/core/compositing/SceneBuilder.cpp | 6 +- sky/engine/core/compositing/SceneBuilder.h | 11 +-- sky/engine/core/painting/Canvas.cpp | 14 +-- sky/engine/core/painting/Canvas.h | 17 ++-- sky/engine/core/painting/CanvasGradient.cpp | 4 +- sky/engine/core/painting/CanvasGradient.h | 2 +- sky/engine/core/painting/CanvasImage.h | 7 +- sky/engine/core/painting/CanvasPath.cpp | 6 +- sky/engine/core/painting/CanvasPath.h | 12 +-- sky/engine/core/painting/ColorFilter.cpp | 6 +- sky/engine/core/painting/ColorFilter.h | 9 +- sky/engine/core/painting/ImageFilter.cpp | 4 +- sky/engine/core/painting/ImageFilter.h | 7 +- sky/engine/core/painting/ImageShader.cpp | 4 +- sky/engine/core/painting/ImageShader.h | 2 +- sky/engine/core/painting/MaskFilter.cpp | 6 +- sky/engine/core/painting/MaskFilter.h | 7 +- sky/engine/core/painting/Picture.cpp | 4 +- sky/engine/core/painting/Picture.h | 7 +- sky/engine/core/painting/PictureRecorder.cpp | 10 +-- sky/engine/core/painting/PictureRecorder.h | 16 ++-- sky/engine/core/painting/Shader.h | 5 +- sky/engine/core/painting/painting.cc | 2 +- sky/engine/core/text/Paragraph.h | 9 +- sky/engine/core/text/ParagraphBuilder.cpp | 2 +- sky/engine/core/text/ParagraphBuilder.h | 11 +-- sky/engine/tonic/BUILD.gn | 1 - sky/engine/tonic/dart_wrappable.cc | 3 - sky/engine/tonic/dart_wrappable.h | 28 ++---- 43 files changed, 259 insertions(+), 300 deletions(-) diff --git a/sky/engine/bindings/jni/dart_jni.cc b/sky/engine/bindings/jni/dart_jni.cc index 563805f73..d7a049fc6 100644 --- a/sky/engine/bindings/jni/dart_jni.cc +++ b/sky/engine/bindings/jni/dart_jni.cc @@ -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(DartState::Current())->set_jni_data( - WTF::MakeUnique()); + std::unique_ptr(new DartJniIsolateData())); } DartJniIsolateData* IsolateData() { diff --git a/sky/engine/bindings/jni/dart_jni.h b/sky/engine/bindings/jni/dart_jni.h index d9ee55dd4..04653e89a 100644 --- a/sky/engine/bindings/jni/dart_jni.h +++ b/sky/engine/bindings/jni/dart_jni.h @@ -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(); \ diff --git a/sky/engine/bindings/jni/jni_api.cc b/sky/engine/bindings/jni/jni_api.cc index 325bafd48..211cf114f 100644 --- a/sky/engine/bindings/jni/jni_api.cc +++ b/sky/engine/bindings/jni/jni_api.cc @@ -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 JniApi::GetApplicationContext() { +scoped_refptr JniApi::GetApplicationContext() { ENTER_JNI(); return JniObject::Create(env, base::android::GetApplicationContext()); } -PassRefPtr JniApi::GetClassLoader() { +scoped_refptr JniApi::GetClassLoader() { ENTER_JNI(); return JniObject::Create(env, DartJni::class_loader()); } diff --git a/sky/engine/bindings/jni/jni_api.h b/sky/engine/bindings/jni/jni_api.h index d339b89ad..49a4a82b4 100644 --- a/sky/engine/bindings/jni/jni_api.h +++ b/sky/engine/bindings/jni/jni_api.h @@ -15,8 +15,8 @@ class JniApi { public: static int64_t FromReflectedField(const JniObject* field); static int64_t FromReflectedMethod(const JniObject* method); - static PassRefPtr GetApplicationContext(); - static PassRefPtr GetClassLoader(); + static scoped_refptr GetApplicationContext(); + static scoped_refptr GetClassLoader(); }; } // namespace blink diff --git a/sky/engine/bindings/jni/jni_array.cc b/sky/engine/bindings/jni/jni_array.cc index fe17e34e5..f0498a136 100644 --- a/sky/engine/bindings/jni/jni_array.cc +++ b/sky/engine/bindings/jni/jni_array.cc @@ -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::Create(const JniClass* clazz, +scoped_refptr JniObjectArray::Create(const JniClass* clazz, jsize length) { Dart_Handle exception = nullptr; { @@ -55,15 +55,15 @@ PassRefPtr 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 JniObjectArray::GetArrayElement(jsize index) { +scoped_refptr JniObjectArray::GetArrayElement(jsize index) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -76,7 +76,7 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniBooleanArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -113,11 +113,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniByteArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -172,11 +172,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniCharArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -231,11 +231,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniShortArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -290,11 +290,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniIntArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -349,11 +349,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniLongArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -408,11 +408,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniFloatArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -467,11 +467,11 @@ PassRefPtr 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::Create(jsize length) { +scoped_refptr JniDoubleArray::Create(jsize length) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -526,11 +526,11 @@ PassRefPtr 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; } diff --git a/sky/engine/bindings/jni/jni_array.h b/sky/engine/bindings/jni/jni_array.h index 3ad6c39a7..4793738dd 100644 --- a/sky/engine/bindings/jni/jni_array.h +++ b/sky/engine/bindings/jni/jni_array.h @@ -33,8 +33,8 @@ class JniObjectArray : public JniArray { public: ~JniObjectArray() override; - static PassRefPtr Create(const JniClass* clazz, jsize length); - PassRefPtr GetArrayElement(jsize index); + static scoped_refptr Create(const JniClass* clazz, jsize length); + scoped_refptr GetArrayElement(jsize index); void SetArrayElement(jsize index, const JniObject* value); private: @@ -48,7 +48,7 @@ class JniBooleanArray : public JniArray { public: ~JniBooleanArray() override; - static PassRefPtr Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr 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 Create(jsize length); + static scoped_refptr Create(jsize length); double GetArrayElement(jsize index); void SetArrayElement(jsize index, double value); diff --git a/sky/engine/bindings/jni/jni_class.cc b/sky/engine/bindings/jni/jni_class.cc index c42bdbcda..77d2e6fb3 100644 --- a/sky/engine/bindings/jni/jni_class.cc +++ b/sky/engine/bindings/jni/jni_class.cc @@ -18,7 +18,7 @@ JniClass::JniClass(JNIEnv* env, jclass clazz) JniClass::~JniClass() { } -PassRefPtr JniClass::FromName(const char* name) { +scoped_refptr JniClass::FromName(const char* name) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -28,15 +28,15 @@ PassRefPtr JniClass::FromName(const char* name) { ScopedJavaLocalRef 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::FromClassObject(const JniObject* clazz) { +scoped_refptr JniClass::FromClassObject(const JniObject* clazz) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -49,11 +49,11 @@ PassRefPtr JniClass::FromClassObject(const JniObject* clazz) { goto fail; } - return adoptRef(new JniClass(env, static_cast(class_object))); + return new JniClass(env, static_cast(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 JniClass::NewObject( +scoped_refptr JniClass::NewObject( jmethodID methodId, const std::vector& args) { Dart_Handle exception = nullptr; { @@ -138,7 +138,7 @@ PassRefPtr 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 JniClass::GetStaticObjectField(jfieldID fieldId) { +scoped_refptr JniClass::GetStaticObjectField(jfieldID fieldId) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -170,7 +170,7 @@ PassRefPtr 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 JniClass::CallStaticObjectMethod( +scoped_refptr JniClass::CallStaticObjectMethod( jmethodID methodId, const std::vector& args) { Dart_Handle exception = nullptr; { @@ -466,7 +466,7 @@ PassRefPtr 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; } diff --git a/sky/engine/bindings/jni/jni_class.h b/sky/engine/bindings/jni/jni_class.h index 19428fe8f..497037a50 100644 --- a/sky/engine/bindings/jni/jni_class.h +++ b/sky/engine/bindings/jni/jni_class.h @@ -8,10 +8,9 @@ #include #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 FromName(const char* className); - static PassRefPtr FromClassObject(const JniObject* clazz); + static scoped_refptr FromName(const char* className); + static scoped_refptr FromClassObject(const JniObject* clazz); jclass java_class() const { return static_cast(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 NewObject(jmethodID methodId, + scoped_refptr NewObject(jmethodID methodId, const std::vector& args); bool IsAssignable(const JniClass* clazz); - PassRefPtr GetStaticObjectField(jfieldID fieldId); + scoped_refptr 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 CallStaticObjectMethod( + scoped_refptr CallStaticObjectMethod( jmethodID methodId, const std::vector& args); bool CallStaticBooleanMethod(jmethodID methodId, const std::vector& args); diff --git a/sky/engine/bindings/jni/jni_object.cc b/sky/engine/bindings/jni/jni_object.cc index 90ec07354..8dfe3a1c4 100644 --- a/sky/engine/bindings/jni/jni_object.cc +++ b/sky/engine/bindings/jni/jni_object.cc @@ -21,7 +21,7 @@ JniObject::JniObject(JNIEnv* env, jobject object) JniObject::~JniObject() { } -PassRefPtr JniObject::Create(JNIEnv* env, jobject object) { +scoped_refptr JniObject::Create(JNIEnv* env, jobject object) { if (object == nullptr) return nullptr; @@ -55,10 +55,10 @@ PassRefPtr JniObject::Create(JNIEnv* env, jobject object) { result = new JniObject(env, object); } - return adoptRef(result); + return result; } -PassRefPtr JniObject::GetObjectClass() { +scoped_refptr JniObject::GetObjectClass() { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -66,15 +66,15 @@ PassRefPtr 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::GetObjectField(jfieldID fieldId) { +scoped_refptr JniObject::GetObjectField(jfieldID fieldId) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -86,7 +86,7 @@ PassRefPtr 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::CallObjectMethod( +scoped_refptr JniObject::CallObjectMethod( jmethodID methodId, const std::vector& args) { Dart_Handle exception = nullptr; @@ -383,7 +383,7 @@ PassRefPtr 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; } diff --git a/sky/engine/bindings/jni/jni_object.h b/sky/engine/bindings/jni/jni_object.h index 67018538c..afa20d242 100644 --- a/sky/engine/bindings/jni/jni_object.h +++ b/sky/engine/bindings/jni/jni_object.h @@ -8,28 +8,27 @@ #include #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, public DartWrappable { +class JniObject : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~JniObject() override; - static PassRefPtr Create(JNIEnv* env, jobject object); + static scoped_refptr Create(JNIEnv* env, jobject object); jobject java_object() const { return object_.obj(); } - PassRefPtr GetObjectClass(); + scoped_refptr GetObjectClass(); - PassRefPtr GetObjectField(jfieldID fieldId); + scoped_refptr 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, public DartWrappable { void SetFloatField(jfieldID fieldId, double value); void SetDoubleField(jfieldID fieldId, double value); - PassRefPtr CallObjectMethod(jmethodID methodId, - const std::vector& args); + scoped_refptr CallObjectMethod(jmethodID methodId, + const std::vector& args); bool CallBooleanMethod(jmethodID methodId, const std::vector& args); int64_t CallByteMethod(jmethodID methodId, diff --git a/sky/engine/bindings/jni/jni_string.cc b/sky/engine/bindings/jni/jni_string.cc index edd0722c6..f4265723a 100644 --- a/sky/engine/bindings/jni/jni_string.cc +++ b/sky/engine/bindings/jni/jni_string.cc @@ -18,7 +18,7 @@ jstring JniString::java_string() { return static_cast(java_object()); } -PassRefPtr JniString::Create(Dart_Handle dart_string) { +scoped_refptr JniString::Create(Dart_Handle dart_string) { Dart_Handle exception = nullptr; { ENTER_JNI(); @@ -27,11 +27,11 @@ PassRefPtr 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(); } diff --git a/sky/engine/bindings/jni/jni_string.h b/sky/engine/bindings/jni/jni_string.h index 16f241983..cb9896f24 100644 --- a/sky/engine/bindings/jni/jni_string.h +++ b/sky/engine/bindings/jni/jni_string.h @@ -18,7 +18,7 @@ class JniString : public JniObject { public: ~JniString() override; - static PassRefPtr Create(Dart_Handle dart_string); + static scoped_refptr Create(Dart_Handle dart_string); Dart_Handle GetText(); private: diff --git a/sky/engine/core/compositing/Scene.cpp b/sky/engine/core/compositing/Scene.cpp index 2e1feea67..937b10c32 100644 --- a/sky/engine/core/compositing/Scene.cpp +++ b/sky/engine/core/compositing/Scene.cpp @@ -20,10 +20,10 @@ IMPLEMENT_WRAPPERTYPEINFO(ui, Scene); DART_BIND_ALL(Scene, FOR_EACH_BINDING) -PassRefPtr Scene::create( +scoped_refptr Scene::create( std::unique_ptr rootLayer, uint32_t rasterizerTracingThreshold) { - return adoptRef(new Scene(std::move(rootLayer), rasterizerTracingThreshold)); + return new Scene(std::move(rootLayer), rasterizerTracingThreshold); } Scene::Scene(std::unique_ptr rootLayer, diff --git a/sky/engine/core/compositing/Scene.h b/sky/engine/core/compositing/Scene.h index 1f49ee1a6..ed72269c2 100644 --- a/sky/engine/core/compositing/Scene.h +++ b/sky/engine/core/compositing/Scene.h @@ -8,21 +8,20 @@ #include #include +#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, public DartWrappable { +class Scene : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~Scene() override; - static PassRefPtr create( + static scoped_refptr create( std::unique_ptr rootLayer, uint32_t rasterizerTracingThreshold); diff --git a/sky/engine/core/compositing/SceneBuilder.cpp b/sky/engine/core/compositing/SceneBuilder.cpp index 6b6340583..defed6dd7 100644 --- a/sky/engine/core/compositing/SceneBuilder.cpp +++ b/sky/engine/core/compositing/SceneBuilder.cpp @@ -214,14 +214,14 @@ void SceneBuilder::setRasterizerTracingThreshold(uint32_t frameInterval) m_currentRasterizerTracingThreshold = frameInterval; } -PassRefPtr SceneBuilder::build() +scoped_refptr SceneBuilder::build() { m_currentLayer = nullptr; int32_t threshold = m_currentRasterizerTracingThreshold; m_currentRasterizerTracingThreshold = 0; - RefPtr scene = Scene::create(std::move(m_rootLayer), threshold); + scoped_refptr scene = Scene::create(std::move(m_rootLayer), threshold); ClearDartWrapper(); - return scene.release(); + return std::move(scene); } } // namespace blink diff --git a/sky/engine/core/compositing/SceneBuilder.h b/sky/engine/core/compositing/SceneBuilder.h index 33e7916a5..4f1912655 100644 --- a/sky/engine/core/compositing/SceneBuilder.h +++ b/sky/engine/core/compositing/SceneBuilder.h @@ -8,6 +8,7 @@ #include #include +#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, public DartWrappable { +class SceneBuilder : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: - static PassRefPtr create() { - return adoptRef(new SceneBuilder()); - } + static scoped_refptr create() { return new SceneBuilder(); } ~SceneBuilder() override; @@ -65,7 +62,7 @@ public: void setRasterizerTracingThreshold(uint32_t frameInterval); - PassRefPtr build(); + scoped_refptr build(); static void RegisterNatives(DartLibraryNatives* natives); diff --git a/sky/engine/core/painting/Canvas.cpp b/sky/engine/core/painting/Canvas.cpp index 0a0f07e0e..e5ac0accd 100644 --- a/sky/engine/core/painting/Canvas.cpp +++ b/sky/engine/core/painting/Canvas.cpp @@ -66,15 +66,15 @@ FOR_EACH_BINDING(DART_REGISTER_NATIVE) }); } -PassRefPtr Canvas::create(PictureRecorder* recorder, - double left, - double top, - double right, - double bottom) { +scoped_refptr Canvas::create(PictureRecorder* recorder, + double left, + double top, + double right, + double bottom) { ASSERT(recorder); ASSERT(!recorder->isRecording()); - PassRefPtr canvas = adoptRef(new Canvas(recorder->beginRecording( - SkRect::MakeLTRB(left, top, right, bottom)))); + scoped_refptr canvas = new Canvas(recorder->beginRecording( + SkRect::MakeLTRB(left, top, right, bottom))); recorder->set_canvas(canvas.get()); return canvas; } diff --git a/sky/engine/core/painting/Canvas.h b/sky/engine/core/painting/Canvas.h index 58058423e..f31f7c244 100644 --- a/sky/engine/core/painting/Canvas.h +++ b/sky/engine/core/painting/Canvas.h @@ -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 : public DartConverterInteger {}; -class Canvas : public ThreadSafeRefCounted, public DartWrappable { +class Canvas : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: - static PassRefPtr create(PictureRecorder* recorder, - double left, - double top, - double right, - double bottom); + static scoped_refptr create(PictureRecorder* recorder, + double left, + double top, + double right, + double bottom); ~Canvas() override; diff --git a/sky/engine/core/painting/CanvasGradient.cpp b/sky/engine/core/painting/CanvasGradient.cpp index 3aef5805b..b6a4d14ea 100644 --- a/sky/engine/core/painting/CanvasGradient.cpp +++ b/sky/engine/core/painting/CanvasGradient.cpp @@ -32,8 +32,8 @@ FOR_EACH_BINDING(DART_REGISTER_NATIVE) }); } -PassRefPtr CanvasGradient::create() { - return adoptRef(new CanvasGradient()); +scoped_refptr CanvasGradient::create() { + return new CanvasGradient(); } void CanvasGradient::initLinear(const std::vector& end_points, diff --git a/sky/engine/core/painting/CanvasGradient.h b/sky/engine/core/painting/CanvasGradient.h index 8ac6c3d6e..fc3619d77 100644 --- a/sky/engine/core/painting/CanvasGradient.h +++ b/sky/engine/core/painting/CanvasGradient.h @@ -23,7 +23,7 @@ class CanvasGradient : public Shader { DEFINE_WRAPPERTYPEINFO(); public: ~CanvasGradient() override; - static PassRefPtr create(); + static scoped_refptr create(); void initLinear(const std::vector& end_points, const std::vector& colors, diff --git a/sky/engine/core/painting/CanvasImage.h b/sky/engine/core/painting/CanvasImage.h index b0418500e..6a0c12521 100644 --- a/sky/engine/core/painting/CanvasImage.h +++ b/sky/engine/core/painting/CanvasImage.h @@ -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, +class CanvasImage final : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~CanvasImage() override; - static PassRefPtr create() { return adoptRef(new CanvasImage); } + static scoped_refptr create() { return new CanvasImage(); } int width(); int height(); diff --git a/sky/engine/core/painting/CanvasPath.cpp b/sky/engine/core/painting/CanvasPath.cpp index 991e3941a..fa920648a 100644 --- a/sky/engine/core/painting/CanvasPath.cpp +++ b/sky/engine/core/painting/CanvasPath.cpp @@ -57,10 +57,10 @@ CanvasPath::~CanvasPath() { } -PassRefPtr CanvasPath::shift(const Offset& offset) { - RefPtr path = CanvasPath::create(); +scoped_refptr CanvasPath::shift(const Offset& offset) { + scoped_refptr 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 diff --git a/sky/engine/core/painting/CanvasPath.h b/sky/engine/core/painting/CanvasPath.h index 510d3c6a6..0008a2d3f 100644 --- a/sky/engine/core/painting/CanvasPath.h +++ b/sky/engine/core/painting/CanvasPath.h @@ -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, public DartWrappable { +class CanvasPath : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~CanvasPath() override; - static PassRefPtr create() - { - return adoptRef(new CanvasPath); - } + static scoped_refptr 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 shift(const Offset& offset); + scoped_refptr shift(const Offset& offset); static void RegisterNatives(DartLibraryNatives* natives); diff --git a/sky/engine/core/painting/ColorFilter.cpp b/sky/engine/core/painting/ColorFilter.cpp index 6a4baf308..466288789 100644 --- a/sky/engine/core/painting/ColorFilter.cpp +++ b/sky/engine/core/painting/ColorFilter.cpp @@ -23,9 +23,9 @@ void ColorFilter::RegisterNatives(DartLibraryNatives* natives) { }); } -PassRefPtr ColorFilter::create(CanvasColor color, - TransferMode transfer_mode) { - return adoptRef(new ColorFilter(SkColorFilter::MakeModeFilter(color, transfer_mode))); +scoped_refptr ColorFilter::create(CanvasColor color, + TransferMode transfer_mode) { + return new ColorFilter(SkColorFilter::MakeModeFilter(color, transfer_mode)); } ColorFilter::ColorFilter(sk_sp filter) diff --git a/sky/engine/core/painting/ColorFilter.h b/sky/engine/core/painting/ColorFilter.h index b974db031..8acaaf0cc 100644 --- a/sky/engine/core/painting/ColorFilter.h +++ b/sky/engine/core/painting/ColorFilter.h @@ -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, public DartWrappable { +class ColorFilter : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~ColorFilter() override; - static PassRefPtr create(CanvasColor color, - TransferMode transfer_mode); + static scoped_refptr create(CanvasColor color, + TransferMode transfer_mode); sk_sp filter() { return filter_; } diff --git a/sky/engine/core/painting/ImageFilter.cpp b/sky/engine/core/painting/ImageFilter.cpp index e00d57823..4c2490aa6 100644 --- a/sky/engine/core/painting/ImageFilter.cpp +++ b/sky/engine/core/painting/ImageFilter.cpp @@ -34,8 +34,8 @@ FOR_EACH_BINDING(DART_REGISTER_NATIVE) }); } -PassRefPtr ImageFilter::create() { - return adoptRef(new ImageFilter()); +scoped_refptr ImageFilter::create() { + return new ImageFilter(); } ImageFilter::ImageFilter() { diff --git a/sky/engine/core/painting/ImageFilter.h b/sky/engine/core/painting/ImageFilter.h index 0bee4c96b..d2c8d89f9 100644 --- a/sky/engine/core/painting/ImageFilter.h +++ b/sky/engine/core/painting/ImageFilter.h @@ -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, public DartWrappable { +class ImageFilter : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~ImageFilter() override; - static PassRefPtr create(); + static scoped_refptr create(); void initImage(CanvasImage* image); void initPicture(Picture*); diff --git a/sky/engine/core/painting/ImageShader.cpp b/sky/engine/core/painting/ImageShader.cpp index bc84c57bf..9eaf16463 100644 --- a/sky/engine/core/painting/ImageShader.cpp +++ b/sky/engine/core/painting/ImageShader.cpp @@ -38,8 +38,8 @@ void ImageShader::RegisterNatives(DartLibraryNatives* natives) { }); } -PassRefPtr ImageShader::create() { - return adoptRef(new ImageShader()); +scoped_refptr ImageShader::create() { + return new ImageShader(); } void ImageShader::initWithImage(CanvasImage* image, diff --git a/sky/engine/core/painting/ImageShader.h b/sky/engine/core/painting/ImageShader.h index 7eefda7f9..c49141f8f 100644 --- a/sky/engine/core/painting/ImageShader.h +++ b/sky/engine/core/painting/ImageShader.h @@ -22,7 +22,7 @@ class ImageShader : public Shader { DEFINE_WRAPPERTYPEINFO(); public: ~ImageShader() override; - static PassRefPtr create(); + static scoped_refptr create(); void initWithImage(CanvasImage* image, SkShader::TileMode tmx, diff --git a/sky/engine/core/painting/MaskFilter.cpp b/sky/engine/core/painting/MaskFilter.cpp index d63d6a941..a7e845079 100644 --- a/sky/engine/core/painting/MaskFilter.cpp +++ b/sky/engine/core/painting/MaskFilter.cpp @@ -24,10 +24,10 @@ void MaskFilter::RegisterNatives(DartLibraryNatives* natives) { }); } -PassRefPtr MaskFilter::create( +scoped_refptr MaskFilter::create( unsigned style, double sigma, unsigned flags) { - return adoptRef(new MaskFilter(SkBlurMaskFilter::Make( - static_cast(style), sigma, flags))); + return new MaskFilter(SkBlurMaskFilter::Make( + static_cast(style), sigma, flags)); } MaskFilter::MaskFilter(sk_sp filter) diff --git a/sky/engine/core/painting/MaskFilter.h b/sky/engine/core/painting/MaskFilter.h index bf1752317..6bffb04a9 100644 --- a/sky/engine/core/painting/MaskFilter.h +++ b/sky/engine/core/painting/MaskFilter.h @@ -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, public DartWrappable { +class MaskFilter : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~MaskFilter() override; - static PassRefPtr create( + static scoped_refptr create( unsigned style, double sigma, unsigned flags); sk_sp filter() { return filter_; } diff --git a/sky/engine/core/painting/Picture.cpp b/sky/engine/core/painting/Picture.cpp index 045d2d5db..ad1fc8111 100644 --- a/sky/engine/core/painting/Picture.cpp +++ b/sky/engine/core/painting/Picture.cpp @@ -19,10 +19,10 @@ IMPLEMENT_WRAPPERTYPEINFO(ui, Picture); DART_BIND_ALL(Picture, FOR_EACH_BINDING) -PassRefPtr Picture::create(sk_sp skPicture) +scoped_refptr Picture::create(sk_sp skPicture) { ASSERT(skPicture); - return adoptRef(new Picture(skPicture)); + return new Picture(skPicture); } Picture::Picture(sk_sp skPicture) diff --git a/sky/engine/core/painting/Picture.h b/sky/engine/core/painting/Picture.h index a46cb0eba..63c4362d0 100644 --- a/sky/engine/core/painting/Picture.h +++ b/sky/engine/core/painting/Picture.h @@ -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, public DartWrappable { +class Picture : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~Picture() override; - static PassRefPtr create(sk_sp skPicture); + static scoped_refptr create(sk_sp skPicture); sk_sp toSkia() const { return m_picture; } diff --git a/sky/engine/core/painting/PictureRecorder.cpp b/sky/engine/core/painting/PictureRecorder.cpp index 007a60492..4da963f3a 100644 --- a/sky/engine/core/painting/PictureRecorder.cpp +++ b/sky/engine/core/painting/PictureRecorder.cpp @@ -50,22 +50,22 @@ SkCanvas* PictureRecorder::beginRecording(SkRect bounds) &m_rtreeFactory, SkPictureRecorder::kComputeSaveLayerInfo_RecordFlag); } -PassRefPtr PictureRecorder::endRecording() +scoped_refptr PictureRecorder::endRecording() { if (!isRecording()) return nullptr; - RefPtr picture = Picture::create( + scoped_refptr 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) +void PictureRecorder::set_canvas(scoped_refptr canvas) { - m_canvas = canvas; + m_canvas = std::move(canvas); } } // namespace blink diff --git a/sky/engine/core/painting/PictureRecorder.h b/sky/engine/core/painting/PictureRecorder.h index 2758eaa1d..1d95e84ce 100644 --- a/sky/engine/core/painting/PictureRecorder.h +++ b/sky/engine/core/painting/PictureRecorder.h @@ -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, +class PictureRecorder : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: - static PassRefPtr create() - { - return adoptRef(new PictureRecorder()); - } + static scoped_refptr create() { return new PictureRecorder(); } ~PictureRecorder(); SkCanvas* beginRecording(SkRect bounds); - PassRefPtr endRecording(); + scoped_refptr endRecording(); bool isRecording(); - void set_canvas(PassRefPtr canvas); + void set_canvas(scoped_refptr canvas); static void RegisterNatives(DartLibraryNatives* natives); @@ -40,7 +36,7 @@ private: SkRTreeFactory m_rtreeFactory; SkPictureRecorder m_pictureRecorder; - RefPtr m_canvas; + scoped_refptr m_canvas; }; } // namespace blink diff --git a/sky/engine/core/painting/Shader.h b/sky/engine/core/painting/Shader.h index 450160bd1..3423d0117 100644 --- a/sky/engine/core/painting/Shader.h +++ b/sky/engine/core/painting/Shader.h @@ -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, public DartWrappable { +class Shader : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: ~Shader() override; diff --git a/sky/engine/core/painting/painting.cc b/sky/engine/core/painting/painting.cc index f42b0db5b..072fca5d9 100644 --- a/sky/engine/core/painting/painting.cc +++ b/sky/engine/core/painting/painting.cc @@ -46,7 +46,7 @@ void InvokeImageCallback(sk_sp image, if (!image) { DartInvoke(callback->value(), {Dart_Null()}); } else { - RefPtr resultImage = CanvasImage::create(); + scoped_refptr resultImage = CanvasImage::create(); resultImage->setImage(std::move(image)); DartInvoke(callback->value(), {ToDart(resultImage)}); } diff --git a/sky/engine/core/text/Paragraph.h b/sky/engine/core/text/Paragraph.h index 06893e510..a23c221d5 100644 --- a/sky/engine/core/text/Paragraph.h +++ b/sky/engine/core/text/Paragraph.h @@ -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, public DartWrappable { +class Paragraph : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: - static PassRefPtr create(PassOwnPtr renderView) { - return adoptRef(new Paragraph(renderView)); + static scoped_refptr create(PassOwnPtr renderView) { + return new Paragraph(renderView); } ~Paragraph() override; diff --git a/sky/engine/core/text/ParagraphBuilder.cpp b/sky/engine/core/text/ParagraphBuilder.cpp index 95e275048..e40dd89ed 100644 --- a/sky/engine/core/text/ParagraphBuilder.cpp +++ b/sky/engine/core/text/ParagraphBuilder.cpp @@ -231,7 +231,7 @@ void ParagraphBuilder::addText(const std::string& text) m_currentRenderObject->addChild(renderText); } -PassRefPtr ParagraphBuilder::build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight) +scoped_refptr ParagraphBuilder::build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight) { DCHECK(encoded.num_elements() == 5); int32_t mask = encoded[0]; diff --git a/sky/engine/core/text/ParagraphBuilder.h b/sky/engine/core/text/ParagraphBuilder.h index 3de56ea6f..7f2362dad 100644 --- a/sky/engine/core/text/ParagraphBuilder.h +++ b/sky/engine/core/text/ParagraphBuilder.h @@ -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, public DartWrappable { +class ParagraphBuilder : public base::RefCountedThreadSafe, public DartWrappable { DEFINE_WRAPPERTYPEINFO(); public: - static PassRefPtr create() { - return adoptRef(new ParagraphBuilder()); - } + static scoped_refptr create() { return new ParagraphBuilder(); } ~ParagraphBuilder() override; @@ -28,7 +25,7 @@ public: void addText(const std::string& text); - PassRefPtr build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight); + scoped_refptr build(Int32List& encoded, const std::string& fontFamily, double fontSize, double lineHeight); static void RegisterNatives(DartLibraryNatives* natives); diff --git a/sky/engine/tonic/BUILD.gn b/sky/engine/tonic/BUILD.gn index 82be21601..684b3ba34 100644 --- a/sky/engine/tonic/BUILD.gn +++ b/sky/engine/tonic/BUILD.gn @@ -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 = [ diff --git a/sky/engine/tonic/dart_wrappable.cc b/sky/engine/tonic/dart_wrappable.cc index 413d60a6b..16c3a2dea 100644 --- a/sky/engine/tonic/dart_wrappable.cc +++ b/sky/engine/tonic/dart_wrappable.cc @@ -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(); diff --git a/sky/engine/tonic/dart_wrappable.h b/sky/engine/tonic/dart_wrappable.h index 8308d51a6..967ee2a66 100644 --- a/sky/engine/tonic/dart_wrappable.h +++ b/sky/engine/tonic/dart_wrappable.h @@ -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 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(impl)->ref(); \ + static_cast(impl)->AddRef(); \ } \ static void DerefObject_##LibraryName_##ClassName(DartWrappable* impl) { \ - static_cast(impl)->deref(); \ + static_cast(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::value,\ +static_assert(std::is_base_of::value, \ #ClassName " must be thread-safe reference-countable."); struct DartConverterWrappable { @@ -136,20 +129,17 @@ struct DartConverter< }; template -struct DartConverter> { - static Dart_Handle ToDart(RefPtr val) { +struct DartConverter> { + static Dart_Handle ToDart(const scoped_refptr& val) { return DartConverter::ToDart(val.get()); } - static RefPtr FromDart(Dart_Handle handle) { + static scoped_refptr FromDart(Dart_Handle handle) { return DartConverter::FromDart(handle); } -}; -template -struct DartConverter> { static void SetReturnValue(Dart_NativeArguments args, - PassRefPtr val, + const scoped_refptr& val, bool auto_scope = true) { DartConverter::SetReturnValue(args, val.get()); } -- GitLab