|did-frame-rendered| used for optimize launching time 39/184639/11
authork2.nagaraju <k2.nagaraju@samsung.com>
Thu, 19 Jul 2018 12:35:53 +0000 (18:05 +0530)
committerjaekuk lee <juku1999@samsung.com>
Tue, 24 Jul 2018 00:09:37 +0000 (00:09 +0000)
Change-Id: I22de24a81b98401f02be6cb53bdd08a8e1db2de3
Signed-off-by: k2.nagaraju <k2.nagaraju@samsung.com>
atom/browser/api/atom_api_web_contents.cc
atom/browser/api/atom_api_web_contents.h
wrt/src/web_window.js

index 99cb90a..fccae5a 100644 (file)
@@ -283,7 +283,8 @@ WebContents::WebContents(v8::Isolate* isolate,
       type_(type),
       request_id_(0),
       background_throttling_(true),
-      enable_devtools_(true) {
+      enable_devtools_(true),
+      notify_ready_state_(false) {
   if (type == REMOTE) {
     web_contents->SetUserAgentOverride(GetBrowserContext()->GetUserAgent());
     Init(isolate);
@@ -746,7 +747,15 @@ void WebContents::DidFailLoad(content::RenderFrameHost* render_frame_host,
   Emit("did-fail-load", error_code, error_description, url, is_main_frame);
 }
 
+void WebContents::DidRenderFrame() {
+  if (!notify_ready_state_) {
+    notify_ready_state_ = true;
+    Emit("did-frame-rendered");
+  }
+}
+
 void WebContents::DidStartLoading() {
+  notify_ready_state_ = false;
 #if defined(OS_TIZEN)
   if (owner_window() && !owner_window()->IsVisible()) {
     std::string scheme = web_contents()->GetURL().scheme();
index 6d50694..48d23e8 100644 (file)
@@ -352,7 +352,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
   void DevToolsFocused() override;
   void DevToolsOpened() override;
   void DevToolsClosed() override;
-
+  void DidRenderFrame() override;
  private:
   struct LoadURLParams {
     LoadURLParams() : params(GURL()), id(0) {}
@@ -412,6 +412,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
 
   // Whether to enable devtools.
   bool enable_devtools_;
+  bool notify_ready_state_;
 
   // Container to hold url parms for deferred load when
   // there is a pending navigation entry.
index 039b294..cb1f8ee 100644 (file)
@@ -129,13 +129,17 @@ class WebWindow {
         });
         this.mainWindow.webContents.on('did-finish-load', function() {
             webwindow_debug('WebWindow : webContents did-finish-load');
+            app.emit(IPC_MESSAGE.WEBCONTENTS.DID_FINISH_LOAD, self.mainWindow.id);
+        });
+        this.mainWindow.webContents.on('did-frame-rendered', function() {
+            webwindow_debug('WebWindow : webContents did-frame-rendered');
             wrt.hideSplashScreen(1);
 
             if(!options.show){
                 webwindow_debug('WebWindow : browserWindow show options is ',options.show);
+                options.show = true;
                 self.show();
             }
-            app.emit(IPC_MESSAGE.WEBCONTENTS.DID_FINISH_LOAD, self.mainWindow.id);
         });
         this.mainWindow.webContents.on('did-fail-load', function(event, errorCode, errorDescription, validatedUrl) {
             webwindow_debug('WebWindow : webContents did-fail-load');