Fix SVACE issue 39/290139/12
authorv-saha <v.saha@samsung.com>
Tue, 21 Mar 2023 10:11:30 +0000 (15:41 +0530)
committerBot Blink <blinkbot@samsung.com>
Wed, 22 Mar 2023 12:38:16 +0000 (12:38 +0000)
This patch fixes some critical and major SVACE issues.

Reference: https://review.tizen.org/gerrit/270771

Change-Id: Id233b87b29072a7138b0294ae3336e0c1a1af4c2
Signed-off-by: v-saha <v.saha@samsung.com>
13 files changed:
tizen_src/chromium_impl/content/browser/renderer_host/rwhv_aura_offscreen_helper_efl.cc
tizen_src/ewk/efl_integration/browser/autofill/autofill_client_efl.cc
tizen_src/ewk/efl_integration/browser/password_manager/password_helper_efl.cc
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/permission_controller_delegate_efl.cc
tizen_src/ewk/efl_integration/renderer/web_view_observer_efl.cc
tizen_src/ewk/efl_integration/url_request_interceptor_efl.cc
tizen_src/ewk/efl_integration/web_contents_delegate_efl.cc
tizen_src/ewk/efl_integration/wrt/wrt_widget_host.cc
tizen_src/ewk/efl_webview_app/mini_browser.c
tizen_src/ewk/ubrowser/window_ui.cc

index e0a273d..1baf3ee 100644 (file)
@@ -656,7 +656,8 @@ void RWHVAuraOffscreenHelperEfl::OnHostFocusOut(void* data,
                                                 void*) {
   RWHVAuraOffscreenHelperEfl* thiz =
       static_cast<RWHVAuraOffscreenHelperEfl*>(data);
-  thiz->GetRenderWidgetHostImpl()->Blur();
+  if (thiz && thiz->GetRenderWidgetHostImpl())
+    thiz->GetRenderWidgetHostImpl()->Blur();
 }
 
 void RWHVAuraOffscreenHelperEfl::OnMouseOrTouchEvent(ui::Event* event) {
@@ -1060,12 +1061,12 @@ ui::IMContextEfl* RWHVAuraOffscreenHelperEfl::GetIMContextEfl() {
   // im_context_efl_ is always nullptr on desktop efl.
 #if BUILDFLAG(IS_TIZEN)
   if (!im_context_efl_) {
-    if (GetEventHandler() && GetEventHandler()->GetIMContextEfl()) {
-      im_context_efl_ = GetEventHandler()->GetIMContextEfl();
+    im_context_efl_ =
+        GetEventHandler() ? GetEventHandler()->GetIMContextEfl() : nullptr;
+    if (im_context_efl_)
       im_context_efl_->SetRWHHelper(rwh_helper_.get());
-      return im_context_efl_;
-    }
-    LOG(ERROR) << "im_context_efl_ is not set";
+    else
+      LOG(ERROR) << "im_context_efl_ is not set";
   }
 #endif
   return im_context_efl_;
index 8268f6a..9829a8f 100644 (file)
@@ -274,7 +274,7 @@ void AutofillClientEfl::ShowLocalCardMigrationResults(
 }
 
 AutocompleteHistoryManager* AutofillClientEfl::GetAutocompleteHistoryManager() {
-  if (!webview_)
+  if (!webview_ || !webview_->context())
     return nullptr;
 
   content::BrowserContextEfl* ctx =
index 55781f0..2a6ed8d 100644 (file)
@@ -56,10 +56,12 @@ class PasswordFormRemover : public password_manager::PasswordStoreConsumer {
   void OnGetPasswordStoreResults(
       std::vector<std::unique_ptr<password_manager::PasswordForm>> results)
       override {
-    for (const auto& form : results) {
-      if (form->url == origin_) {
-        store_->RemoveLogin(*form);
-        break;
+    if (store_) {
+      for (const auto& form : results) {
+        if (form->url == origin_) {
+          store_->RemoveLogin(*form);
+          break;
+        }
       }
     }
 
index 458d050..40463e5 100644 (file)
@@ -608,8 +608,11 @@ bool ContentBrowserClientEfl::WillCreateURLLoaderFactory(
   auto* resource_context_efl =
       static_cast<content::BrowserContextEfl*>(browser_context)
           ->GetResourceContextEfl();
-  if (!resource_context_efl->HasInterceptRequestCallback())
+
+  if (!resource_context_efl ||
+      !resource_context_efl->HasInterceptRequestCallback()) {
     return false;
+  }
 
   auto proxied_receiver = std::move(*factory_receiver);
   mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory_remote;
index 61e654b..48136a4 100644 (file)
@@ -819,13 +819,11 @@ void EWebView::ExecuteEditCommand(const char* command, const char* value) {
   EINA_SAFETY_ON_NULL_RETURN(command);
 
   absl::optional<std::u16string> optional_value;
-  if (value == nullptr)
-    optional_value = absl::nullopt;
-  else
+  if (value)
     optional_value = absl::make_optional(base::ASCIIToUTF16(value));
 
   WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents_.get());
-  if (wc) {
+  if (wc && wc->GetFocusedFrameWidgetInputHandler()) {
     wc->GetFocusedFrameWidgetInputHandler()->ExecuteEditCommand(
         std::string(command), optional_value);
   }
index 1a8a6b0..05c7ef4 100644 (file)
@@ -914,7 +914,8 @@ class EWebView {
       quota_permission_request_map_;
 
 #if BUILDFLAG(IS_TIZEN)
-  blink::mojom::FileChooserParams::Mode filechooser_mode_;
+  blink::mojom::FileChooserParams::Mode filechooser_mode_ =
+      blink::mojom::FileChooserParams::Mode::kOpen;
   Ecore_Event_Handler* window_rotate_handler_ = nullptr;
 #endif
 
index deb1a6a..95a098a 100644 (file)
@@ -291,6 +291,7 @@ PermissionControllerDelegateEfl::GetPermissionStatusForWorker(
     RenderProcessHost* render_process_host,
     const GURL& worker_origin) {
   NOTIMPLEMENTED();
+  return blink::mojom::PermissionStatus::DENIED;
 }
 
 void PermissionControllerDelegateEfl::ResetPermission(PermissionType permission,
index ef54c77..8879c21 100644 (file)
@@ -38,6 +38,9 @@ void WebViewObserverEfl::DidUpdateMainFrameLayout() {
 
   content::RenderFrame* render_frame =
       content::RenderFrame::FromWebFrame(main_frame->ToWebLocalFrame());
+  if (!render_frame)
+    return;
+
   render_frame->Send(new EwkHostMsg_DidChangeContentsSize(
       render_frame->GetRoutingID(), contents_size.width(),
       contents_size.height()));
index 284e0ac..15c1cb6 100644 (file)
@@ -41,8 +41,10 @@ URLRequestInterceptorEFL::MaybeInterceptRequest(
   auto network_delegate_efl =
       static_cast<net::NetworkDelegateEfl*>(request->network_delegate());
 
-  if (!network_delegate_efl->HasInterceptRequestCallback())
+  if (!network_delegate_efl ||
+      !network_delegate_efl->HasInterceptRequestCallback()) {
     return nullptr;
+  }
 
   InterceptRequestParams params;
   params.url = request->url();
index 19a2a08..cf71a9c 100644 (file)
@@ -138,7 +138,8 @@ WebContentsDelegateEfl::WebContentsDelegateEfl(EWebView* view)
     AutofillClientEfl::CreateForWebContents(&web_contents_);
     AutofillClientEfl* autofill_client =
         AutofillClientEfl::FromWebContents(&web_contents_);
-    autofill_client->SetEWebView(view);
+    if (autofill_client)
+      autofill_client->SetEWebView(view);
     PasswordManagerClientEfl::CreateForWebContentsWithAutofillClient(
         &web_contents_, autofill_client);
     ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
index 1513e10..cf488f7 100644 (file)
@@ -78,6 +78,8 @@ WrtWidgetHost* WrtWidgetHost::Get() {
   if (!g_wrt_widget_host.Get().get())
     g_wrt_widget_host.Get().reset(new WrtWidgetHost);
   return g_wrt_widget_host.Get().get();
+#else
+  return nullptr;
 #endif
 }
 
index 974f505..d569c22 100644 (file)
@@ -1474,9 +1474,11 @@ void show_context_menu_text_only(app_data *data, Ewk_Context_Menu *menu)
   if (selected_text && strlen(selected_text) > 0)
     text_selected = EINA_TRUE;
 
-  Ewk_Context_Menu_Item_Tag *original_ctx_item = NULL;
-  original_ctx_item = (Ewk_Context_Menu_Item_Tag *)malloc(sizeof(Ewk_Context_Menu_Item_Tag) * count);
-  //RET_MSG_IF(original_ctx_item == NULL, "Failed to allocate memory for ctx menu reordering");
+  Ewk_Context_Menu_Item_Tag *original_ctx_item = (Ewk_Context_Menu_Item_Tag *)malloc(sizeof(Ewk_Context_Menu_Item_Tag) * count);
+  if (!original_ctx_item) {
+    LOGE("Failed to allocate memory for ctx menu reordering");
+    return;
+  }
 
   memset(original_ctx_item, 0x00, sizeof(Ewk_Context_Menu_Item_Tag) * count);
 
index dd30408..7946def 100644 (file)
@@ -40,7 +40,8 @@ WindowUI::WindowUI(Window& window, Browser& browser)
 #else
       should_show_label_(browser_.IsDesktop()),
 #endif
-      is_loading_(false) {
+      is_loading_(false),
+      url_entry_color_() {
   if (browser_.GetGUILevel() >= Browser::UBROWSER_GUI_LEVEL_URL_ONLY)
     CreateTopBar();
   if (browser_.GetGUILevel() >= Browser::UBROWSER_GUI_LEVEL_MINIMAL)