Fix issues encounted when porting Flutter
Change-Id: I14a1b3c59d32c45e5ef5293f4a66d74fa0f4b3f6
diff --git a/dart_binding_macros.h b/dart_binding_macros.h
index 85bb3f7..2d4488d 100644
--- a/dart_binding_macros.h
+++ b/dart_binding_macros.h
@@ -9,25 +9,27 @@
#define DART_NATIVE_CALLBACK(CLASS, METHOD) \
static void CLASS##_##METHOD(Dart_NativeArguments args) { \
- blink::DartCall(&CLASS::METHOD, args); \
+ tonic::DartCall(&CLASS::METHOD, args); \
}
#define DART_NATIVE_CALLBACK_STATIC(CLASS, METHOD) \
static void CLASS##_##METHOD(Dart_NativeArguments args) { \
- blink::DartCallStatic(&CLASS::METHOD, args); \
+ tonic::DartCallStatic(&CLASS::METHOD, args); \
}
#define DART_REGISTER_NATIVE(CLASS, METHOD) \
{#CLASS "_" #METHOD, CLASS##_##METHOD, \
- blink::IndicesForSignature<decltype(&CLASS::METHOD)>::count + 1, true},
+ tonic::IndicesForSignature<decltype(&CLASS::METHOD)>::count + 1, true},
-#define DART_REGISTER_NATIVE_STATIC(CLASS, METHOD) \
- {#CLASS "_" #METHOD, CLASS##_##METHOD, \
- blink::IndicesForSignature<decltype(&CLASS::METHOD)>::count, true},
+#define DART_REGISTER_NATIVE_STATIC(CLASS, METHOD) \
+ { \
+ #CLASS "_" #METHOD, CLASS##_##METHOD, \
+ tonic::IndicesForSignature < decltype(&CLASS::METHOD) > ::count, true \
+ }
#define DART_BIND_ALL(CLASS, FOR_EACH) \
FOR_EACH(DART_NATIVE_CALLBACK) \
- void CLASS::RegisterNatives(blink::DartLibraryNatives* natives) { \
+ void CLASS::RegisterNatives(tonic::DartLibraryNatives* natives) { \
natives->Register({FOR_EACH(DART_REGISTER_NATIVE)}); \
}
diff --git a/dart_state.cc b/dart_state.cc
index 0e90fcb..e8829a7 100644
--- a/dart_state.cc
+++ b/dart_state.cc
@@ -43,4 +43,7 @@
return weak_factory_.GetWeakPtr();
}
+void DartState::DidSetIsolate() {
+}
+
} // namespace tonic
diff --git a/dart_state.h b/dart_state.h
index 000c5f8..e0984a2 100644
--- a/dart_state.h
+++ b/dart_state.h
@@ -16,7 +16,6 @@
namespace tonic {
class DartClassLibrary;
-class DartTimerHeap;
class DartMessageHandler;
// DartState represents the state associated with a given Dart isolate. The
@@ -50,7 +49,7 @@
DartClassLibrary& class_library() { return *class_library_; }
DartMessageHandler& message_handler() { return *message_handler_; }
- virtual void DidSetIsolate() {}
+ virtual void DidSetIsolate();
private:
Dart_Isolate isolate_;
diff --git a/dart_wrappable.h b/dart_wrappable.h
index d0350fa..c518646 100644
--- a/dart_wrappable.h
+++ b/dart_wrappable.h
@@ -16,7 +16,6 @@
#include <type_traits>
namespace tonic {
-struct DartWrapperInfo;
// DartWrappable is a base class that you can inherit from in order to be
// exposed to Dart code as an interface.
@@ -53,33 +52,36 @@
FTL_DISALLOW_COPY_AND_ASSIGN(DartWrappable);
};
-#define DEFINE_WRAPPERTYPEINFO() \
- public: \
- const DartWrapperInfo& GetDartWrapperInfo() const override { \
- return dart_wrapper_info_; \
- } \
- \
- private: \
- static const DartWrapperInfo& dart_wrapper_info_
+#define DEFINE_WRAPPERTYPEINFO() \
+ public: \
+ const tonic::DartWrapperInfo& GetDartWrapperInfo() const override { \
+ return dart_wrapper_info_; \
+ } \
+ \
+ private: \
+ static const tonic::DartWrapperInfo& dart_wrapper_info_
-#define IMPLEMENT_WRAPPERTYPEINFO(LibraryName, ClassName) \
- static void RefObject_##LibraryName_##ClassName(DartWrappable* impl) { \
- static_cast<ClassName*>(impl)->AddRef(); \
- } \
- static void DerefObject_##LibraryName_##ClassName(DartWrappable* impl) { \
- static_cast<ClassName*>(impl)->Release(); \
- } \
- static const DartWrapperInfo kDartWrapperInfo_##LibraryName_##ClassName = { \
- #LibraryName, \
- #ClassName, \
- sizeof(ClassName), \
- &RefObject_##LibraryName_##ClassName, \
- &DerefObject_##LibraryName_##ClassName, \
- }; \
- const DartWrapperInfo& ClassName::dart_wrapper_info_ = \
- kDartWrapperInfo_##LibraryName_##ClassName; \
- static_assert(std::is_base_of<ftl::internal::RefCountedThreadSafeBase, \
- ClassName>::value, \
+#define IMPLEMENT_WRAPPERTYPEINFO(LibraryName, ClassName) \
+ static void RefObject_##LibraryName_##ClassName( \
+ tonic::DartWrappable* impl) { \
+ static_cast<ClassName*>(impl)->AddRef(); \
+ } \
+ static void DerefObject_##LibraryName_##ClassName( \
+ tonic::DartWrappable* impl) { \
+ static_cast<ClassName*>(impl)->Release(); \
+ } \
+ static const tonic::DartWrapperInfo \
+ kDartWrapperInfo_##LibraryName_##ClassName = { \
+ #LibraryName, \
+ #ClassName, \
+ sizeof(ClassName), \
+ &RefObject_##LibraryName_##ClassName, \
+ &DerefObject_##LibraryName_##ClassName, \
+ }; \
+ const tonic::DartWrapperInfo& ClassName::dart_wrapper_info_ = \
+ kDartWrapperInfo_##LibraryName_##ClassName; \
+ static_assert(std::is_base_of<ftl::internal::RefCountedThreadSafeBase, \
+ ClassName>::value, \
#ClassName " must be thread-safe reference-countable.");
struct DartConverterWrappable {