Squash 2 commits and apply to dev branch 47/248647/1
authorGajendra N <gajendra.n@samsung.com>
Tue, 1 Dec 2020 06:47:54 +0000 (12:17 +0530)
committerGajendra N <gajendra.n@samsung.com>
Tue, 1 Dec 2020 06:54:56 +0000 (12:24 +0530)
1) Trigger "url,changed" callback only on actual url change
   https://review.tizen.org/gerrit/248352

2) Remove EWK_BRINGUP in URLRequestContextGetterEfl
   https://review.tizen.org/gerrit/248600

Change-Id: Id75cc238cb2db474ee28343dfb0354c69a52359f
Signed-off-by: Gajendra N <gajendra.n@samsung.com>
content/renderer/BUILD.gn
tizen_src/ewk/efl_integration/url_request_context_getter_efl.cc
tizen_src/ewk/efl_integration/web_contents_delegate_efl.cc
tizen_src/ewk/efl_integration/web_contents_delegate_efl.h

index c7b780e..813861f 100644 (file)
@@ -695,9 +695,11 @@ target(link_target_type, "renderer") {
     configs += [ "//tools/ipc_fuzzer:ipc_fuzzer_config" ]
   }
 
-  if (is_tizen) {
+  if (use_efl) {
     sources += external_content_renderer_efl_sources
+  }
 
+  if (is_tizen) {
     set_sources_assignment_filter([])
     sources += [
       "render_view_linux.cc",
index dcceca7..7b07758 100644 (file)
@@ -32,6 +32,7 @@
 #include "net/url_request/static_http_user_agent_settings.h"
 #include "net/url_request/url_request_job_factory_impl.h"
 #include "network_delegate_efl.h"
+#include "services/network/public/cpp/network_switches.h"
 #include "wrt/wrt_file_protocol_handler.h"
 
 using net::SQLitePersistentCookieStore;
@@ -107,11 +108,11 @@ net::URLRequestContext* URLRequestContextGetterEfl::GetURLRequestContext() {
     storage_->set_http_user_agent_settings(
         base::WrapUnique(new HttpUserAgentSettingsEfl()));
 
-#if !defined(EWK_BRINGUP)  // FIXME: m76 bringup
     std::unique_ptr<net::HostResolver> host_resolver(
-        net::HostResolver::CreateDefaultResolver(
-            url_request_context_->net_log()));
-#endif
+        net::HostResolver::CreateStandaloneResolver(
+            url_request_context_->net_log(), net::HostResolver::ManagerOptions(),
+            command_line.GetSwitchValueASCII(network::switches::kHostResolverRules)));
+    storage_->set_host_resolver(std::move(host_resolver));
 
     storage_->set_cert_verifier(
         net::CertVerifier::CreateDefault(/*cert_net_fetcher=*/nullptr));
@@ -148,19 +149,6 @@ net::URLRequestContext* URLRequestContextGetterEfl::GetURLRequestContext() {
           /*max_bytes=*/0, /*hard_reset=*/false);
     }
 
-#if !defined(EWK_BRINGUP)  // FIXME: m67 bringup
-    if (command_line.HasSwitch(switches::kHostResolverRules)) {
-      std::unique_ptr<net::MappedHostResolver> mapped_host_resolver(
-          new net::MappedHostResolver(std::move(host_resolver)));
-      mapped_host_resolver->SetRulesFromString(
-          command_line.GetSwitchValueASCII(switches::kHostResolverRules));
-      host_resolver = std::move(mapped_host_resolver);
-    }
-#endif
-    // Give |storage_| ownership at the end in case it's |mapped_host_resolver|.
-#if !defined(EWK_BRINGUP)  // FIXME: m76 bringup
-    storage_->set_host_resolver(std::move(host_resolver));
-#endif
     net::HttpNetworkSession::Context network_session_context;
     network_session_context.cert_verifier =
         url_request_context_->cert_verifier();
@@ -170,10 +158,6 @@ net::URLRequestContext* URLRequestContextGetterEfl::GetURLRequestContext() {
         url_request_context_->cert_transparency_verifier();
     network_session_context.ct_policy_enforcer =
         url_request_context_->ct_policy_enforcer();
-#if !defined(EWK_BRINGUP)  // FIXME: m76 bringup
-    network_session_context.channel_id_service =
-        url_request_context_->channel_id_service();
-#endif
     network_session_context.ssl_config_service =
         url_request_context_->ssl_config_service();
     network_session_context.http_auth_handler_factory =
index 7037692..0bdb952 100644 (file)
@@ -155,10 +155,15 @@ WebContents* WebContentsDelegateEfl::OpenURLFromTab(
 }
 
 void WebContentsDelegateEfl::NavigationStateChanged(
-    WebContents* source,
-    InvalidateTypes changed_flags) {
-  if (changed_flags & INVALIDATE_TYPE_URL) {
-    const char* url = source->GetVisibleURL().spec().c_str();
+    WebContents* source, InvalidateTypes changed_flags) {
+  // We only notify clients if visible url actually changed, because on some
+  // pages we would get notifications with flag INVALIDATE_TYPE_URL even when
+  // visible url did not change.
+  if ((changed_flags & INVALIDATE_TYPE_URL) &&
+       last_visible_url_ != source->GetVisibleURL()) {
+    last_visible_url_ = source->GetVisibleURL();
+    const char* url = last_visible_url_.spec().c_str();
+
     web_view_->SmartCallback<EWebViewCallbacks::URLChanged>().call(url);
     web_view_->SmartCallback<EWebViewCallbacks::URIChanged>().call(url);
   }
index 0686418..654eb6a 100644 (file)
@@ -218,6 +218,8 @@ class WebContentsDelegateEfl : public WebContentsDelegate,
     Ewk_CSP_Header_Type header_type;
   };
 
+  GURL last_visible_url_;
+
   std::unique_ptr<ContentSecurityPolicy> pending_content_security_policy_;
   bool document_created_;
   JavaScriptDialogManagerEfl* dialog_manager_;