Merge pull request #3259 from jianhan-he/master

[weex] support call weex component method
diff --git a/weex_core/Source/core/render/page/reactor_page.cpp b/weex_core/Source/core/render/page/reactor_page.cpp
index f151dae..ff2116c 100644
--- a/weex_core/Source/core/render/page/reactor_page.cpp
+++ b/weex_core/Source/core/render/page/reactor_page.cpp
@@ -89,6 +89,22 @@
       ->CallNativeModule(page_id_.c_str(), module.c_str(), method.c_str(), arguments.c_str(), static_cast<int>(arguments_length), options.c_str(), options_length);
 }
 
+void ReactorPage::CallNativeComponent(const std::string& ref,
+                                      const std::string& method,
+                                      const std::string& arguments,
+                                      size_t arguments_length,
+                                      const std::string& options,
+                                      int options_length) {
+    WeexCoreManager::Instance()->getPlatformBridge()
+    ->platform_side()->CallNativeComponent(page_id_.c_str(),
+                                           ref.c_str(),
+                                           method.c_str(),
+                                           arguments.c_str(),
+                                           static_cast<int>(arguments_length),
+                                           options.c_str(),
+                                           options_length);
+}
+
 RenderObject* ReactorPage::CreateRenderObject(const std::string& ref,
                                               const std::string& type,
                                               unsigned index,
diff --git a/weex_core/Source/core/render/page/reactor_page.h b/weex_core/Source/core/render/page/reactor_page.h
index 577f7e0..3386238 100644
--- a/weex_core/Source/core/render/page/reactor_page.h
+++ b/weex_core/Source/core/render/page/reactor_page.h
@@ -66,6 +66,13 @@
                           const std::string& options,
                           int options_length);
 
+    void CallNativeComponent(const std::string& ref,
+                             const std::string& method,
+                             const std::string& arguments,
+                             size_t arguments_length,
+                             const std::string& options,
+                             int options_length);
+
 private:
     RenderObject* CreateRenderObject(const std::string& ref, const std::string& type, unsigned index, const std::map<std::string, std::string>& styles, const std::map<std::string, std::string>& attrs, const std::vector<std::string>& events, bool reserve_styles, WeexCore::RenderObject* parent);