[M108 Migration] Migrate changes related to RenderViewReady and RenderViewCreated 89/287689/6
authorBakka Uday Kiran <b.kiran@samsung.com>
Thu, 2 Feb 2023 08:38:57 +0000 (14:08 +0530)
committerBot Blink <blinkbot@samsung.com>
Thu, 2 Feb 2023 12:47:37 +0000 (12:47 +0000)
This patch contains the following the changes
1)Handle RenderViewReady in WebContentsObserverEfl.
2)Invoke EWebView::RenderViewReady manually for window.open case.
3)Replaces RenderViewCreated with RenderViewReady and removes
unused RenderViewCreated methods.

Reference: https://review.tizen.org/gerrit/c/279685

Change-Id: I87e6a122c5b4b04fc6b3e69cded3d7f1d7dea918
Signed-off-by: Bakka Uday Kiran <b.kiran@samsung.com>
tizen_src/ewk/efl_integration/content_browser_client_efl.cc
tizen_src/ewk/efl_integration/eweb_view.cc
tizen_src/ewk/efl_integration/eweb_view.h
tizen_src/ewk/efl_integration/web_contents_observer_efl.cc
tizen_src/ewk/efl_integration/web_contents_observer_efl.h

index 5d7bd3d..13a6a06 100644 (file)
@@ -404,7 +404,7 @@ void ContentBrowserClientEfl::OverrideWebkitPrefs(
     EWebView* wv = WebViewFromWebContents(contents);
     if (wv->GetSettings()) {
       // Since Ewk_Settings has a separate store for EFL specific preferences
-      // they are handled by EWebView::RenderViewCreated to make sure they will
+      // they are handled by EWebView::RenderViewReady to make sure they will
       // not go to outgoing process.
       *prefs = wv->GetSettings()->getPreferences();
     }
index a3f0cc3..52bdd4f 100644 (file)
@@ -250,6 +250,14 @@ void EWebView::Initialize() {
       base::BindOnce(&EWebView::SyncAcceptLanguages, base::Unretained(this));
   cbce->AddAcceptLangsChangedCallback(
       std::move(accept_langs_changed_callback_));
+
+  // If EWebView is created by window.open, RenderView is already created
+  // before initializing WebContents. So we should manually invoke
+  // EWebView::RenderViewReady here.
+  if (web_contents_->GetPrimaryMainFrame() &&
+      web_contents_->GetPrimaryMainFrame()->IsRenderFrameLive()) {
+    RenderViewReady();
+  }
 }
 
 EWebView::~EWebView() {
@@ -1614,15 +1622,18 @@ void EWebView::OnFocusOut() {
   SmartCallback<EWebViewCallbacks::FocusOut>().call();
 }
 
-void EWebView::RenderViewCreated(RenderViewHost* render_view_host) {
-  SendDelayedMessages(render_view_host);
-  UpdateWebkitPreferencesEfl(render_view_host);
+void EWebView::RenderViewReady() {
   if (rwhva()) {
     rwhva()->offscreen_helper()->SetFocusInOutCallbacks(
         base::BindRepeating(&EWebView::OnFocusIn, base::Unretained(this)),
         base::BindRepeating(&EWebView::OnFocusOut, base::Unretained(this)));
   }
 
+  RenderViewHost* render_view_host = web_contents_->GetRenderViewHost();
+
+  SendDelayedMessages(render_view_host);
+  UpdateWebkitPreferencesEfl(render_view_host);
+
   if (render_view_host) {
     WebContents* content = WebContents::FromRenderViewHost(render_view_host);
     if (content) {
index f193ff5..133cc57 100755 (executable)
@@ -345,7 +345,7 @@ class EWebView {
   void OnFocusIn();
   void OnFocusOut();
 
-  void RenderViewCreated(content::RenderViewHost* render_view_host);
+  void RenderViewReady();
 
   /**
    * Creates a snapshot of given rectangle from EWebView
index 338bd14..bca966f 100644 (file)
@@ -174,9 +174,8 @@ void WebContentsObserverEfl::PrimaryMainFrameRenderProcessGone(
   }
 }
 
-void WebContentsObserverEfl::RenderViewCreated(
-    RenderViewHost* render_view_host) {
-  web_view_->RenderViewCreated(render_view_host);
+void WebContentsObserverEfl::RenderViewReady() {
+  web_view_->RenderViewReady();
 }
 
 void WebContentsObserverEfl::DidUpdateFaviconURL(
index ac7cb56..6dac0d7 100644 (file)
@@ -58,7 +58,7 @@ class WebContentsObserverEfl : public WebContentsObserver, public IPC::Sender {
       const LoadCommittedDetails& load_details) override;
   void PrimaryMainFrameRenderProcessGone(
       base::TerminationStatus status) override;
-  void RenderViewCreated(RenderViewHost* render_view_host);
+  void RenderViewReady() override;
   void DidUpdateFaviconURL(
       RenderFrameHost* render_frame_host,
       const std::vector<blink::mojom::FaviconURLPtr>& candidates) override;