This is an automated email from the ASF dual-hosted git repository.

jianhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new a0aae4f  Fix heron event (#2747)
a0aae4f is described below

commit a0aae4ff7a2e6552c6fcbb3bc726d4a401cb8070
Author: wqyfavor <[email protected]>
AuthorDate: Fri Jul 26 08:40:24 2019 +0800

    Fix heron event (#2747)
    
    * Do not check page in CreateFinish and RenderSuccess.
    
    * Send create finish event to heron page vir dom module.
---
 ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm | 24 ++++++++++++------------
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m   | 11 ++++++++---
 2 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm 
b/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm
index 9c95482..5b9d9e3 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm
@@ -757,9 +757,6 @@ break; \
     int IOSSide::CreateFinish(const char* pageId)
     {
         RenderPageBase *page = RenderManager::GetInstance()->GetPage(pageId);
-        if (page == nullptr) {
-            return -1;
-        }
         
         long long startTime = getCurrentTime();
         
@@ -776,16 +773,15 @@ break; \
         [manager startComponentTasks];
         [manager createFinish];
 
-        page->CallBridgeTime(getCurrentTime() - startTime);
+        if (page) {
+            page->CallBridgeTime(getCurrentTime() - startTime);
+        }
         return 0;
     }
     
     int IOSSide::RenderSuccess(const char* pageId)
     {
         RenderPageBase *page = RenderManager::GetInstance()->GetPage(pageId);
-        if (page == nullptr) {
-            return -1;
-        }
         
         long long startTime = getCurrentTime();
         
@@ -802,7 +798,9 @@ break; \
         [manager startComponentTasks];
         [manager renderFinish];
         
-        page->CallBridgeTime(getCurrentTime() - startTime);
+        if (page) {
+            page->CallBridgeTime(getCurrentTime() - startTime);
+        }
         return 0;
     }
         
@@ -1261,10 +1259,12 @@ break; \
 
 - (void)callCreateFinish:(NSString*)pageId
 {
-    RenderPageCustom* page = [self getPage:pageId];
-    if (page && page->IsValid()) {
-        page->CreateFinish();
-    }
+    WXPerformBlockOnComponentThread(^{
+        RenderPageCustom* page = [self getPage:pageId];
+        if (page && page->IsValid()) {
+            page->CreateFinish();
+        }
+    });
 }
 
 - (void)callRefreshFinish:(NSString*)pageId
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m 
b/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
index dd4c51e..4b3607b 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
@@ -155,9 +155,14 @@ WX_EXPORT_METHOD(@selector(endBatchMark))
 - (void)createFinish
 {
     NSString* instanceId = self.weexInstance.instanceId;
-    WXPerformBlockOnComponentThread(^{
-        [WXCoreBridge callCreateFinish:instanceId];
-    });
+    if ([WXCustomPageBridge isCustomPage:instanceId]) {
+        [[WXCustomPageBridge sharedInstance] callCreateFinish:instanceId];
+    }
+    else {
+        WXPerformBlockOnComponentThread(^{
+            [WXCoreBridge callCreateFinish:instanceId];
+        });
+    }
 }
 
 - (void)updateFinish

Reply via email to