[NextBrowser] launch url with a new tab 68/324268/2
authorHarshit Rai <r.harshit@partner.samsung.com>
Thu, 8 May 2025 06:59:35 +0000 (12:29 +0530)
committerBot Blink <blinkbot@samsung.com>
Thu, 15 May 2025 08:02:09 +0000 (08:02 +0000)
Change-Id: Ic5c7fc7ab85e8af61cab08a1751f78256039e22e

chrome/app/chrome_main.cc
chrome/browser/ui/browser_commands.cc
chrome/browser/ui/browser_commands.h
chrome/browser/ui/samsung/samsung_browser_core.cc
chrome/browser/ui/samsung/samsung_browser_core.h
tizen_src/downloadable/browser_app_interface.cc

index 4ec525261b967b4c4aa766d172be01aaf30fd666..9d75fc029503bb23a1bf6ef04c3eb9adc82b523a 100644 (file)
@@ -234,7 +234,11 @@ void ChromeAppControl(const std::map<std::string, std::string>& keyValuePairs) {
           samsung_browser_main::SamsungBrowserCore::BrowserState::Loaded);
     }
   }
-
+  auto iter_1 = keyValuePairs.find("URL");
+  if (iter_1 != keyValuePairs.end()) {
+    samsung_browser_main::SamsungBrowserCore::instance()->launch(
+        iter_1->second);
+  }
   LOG(INFO) << "ChromeAppControl end";
 }
 
@@ -260,4 +264,4 @@ void SystemLowMemoryHandler() {
   LOG(INFO) << "SystemLowMemoryHandler";
   samsung_browser_main::SamsungBrowserCore::instance()->SystemLowMemoryState();
 }
-#endif
+#endif
\ No newline at end of file
index 7b5f108a71cd4cb82fd9690edeeb92d72820e0e7..6194bd1e7a02b726bfab0b3be40b61d37543adbf 100644 (file)
 #include "components/translate/core/browser/language_state.h"
 #include "components/translate/core/browser/translate_manager.h"
 #include "components/translate/core/common/translate_constants.h"
+#include "components/url_formatter/url_fixer.h"
 #include "components/user_education/common/feature_promo_controller.h"
 #include "components/web_modal/web_contents_modal_dialog_manager.h"
 #include "components/webapps/common/web_app_id.h"
@@ -927,7 +928,7 @@ void CloseWindow(Browser* browser) {
   browser->window()->Close();
 }
 
-#if defined(SAMSUNG_MENU_TREE_UI)
+#if defined(SAMSUNG_NEXT_BROWSER)
 void NewTabWithURL(Browser* browser, std::string url) {
   base::RecordAction(UserMetricsAction("NewTab"));
   // TODO(asvitkine): This is invoked programmatically from several places.
@@ -935,13 +936,12 @@ void NewTabWithURL(Browser* browser, std::string url) {
   // user-initiated commands.
   UMA_HISTOGRAM_ENUMERATION("Tab.NewTab", NewTabTypes::NEW_TAB_COMMAND,
                             NewTabTypes::NEW_TAB_ENUM_COUNT);
-
   if (browser->SupportsWindowFeature(Browser::FEATURE_TABSTRIP)) {
-    AddTabAt(browser, GURL(url), -1, true);
+    AddTabAt(browser, url_formatter::FixupURL(url, ""), -1, true);
   } else {
     ScopedTabbedBrowserDisplayer displayer(browser->profile());
     Browser* b = displayer.browser();
-    AddTabAt(b, GURL(url), -1, true);
+    AddTabAt(b, url_formatter::FixupURL(url, ""), -1, true);
     b->window()->Show();
     // The call to AddBlankTabAt above did not set the focus to the tab as its
     // window was not active, so we have to do it explicitly.
index a10137b8e38e6e810cf96c79c88fa5e4ae778034..f788ee9a1f8f17055d42fcf3963bf319bd09af8a 100644 (file)
@@ -95,7 +95,7 @@ void NewWindow(Browser* browser);
 void NewIncognitoWindow(Profile* profile);
 void CloseWindow(Browser* browser);
 void NewTab(Browser* browser);
-#if defined(SAMSUNG_MENU_TREE_UI)
+#if defined(SAMSUNG_NEXT_BROWSER)
 void NewTabWithURL(Browser* browser, std::string url);
 #endif
 void NewTabToRight(Browser* browser);
index 6e5b877a4189d6815a18fc3a4313da4716e91694..edf082130dcf04495d32a8b9761878a57fb6e41c 100644 (file)
@@ -21,6 +21,7 @@
 #include "base/command_line.h"
 #include "base/logging.h"
 #include "chrome/browser/browser_process.h"
+#include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/samsung/mcf_controller.h"
 #include "chrome/browser/ui/samsung/samsung_web_contents_controller.h"
@@ -347,4 +348,9 @@ void SamsungBrowserCore::RemoveLowMemoryStateObserver(
   m_low_memory_observer_list.RemoveObserver(observer);
 }
 
+void SamsungBrowserCore::launch(std::string url) {
+  if (browser_) {
+    chrome::NewTabWithURL(browser_, url);
+  }
+}
 }  // namespace samsung_browser_main
index c91a0f79433727b6a4ae8f5210c53262df4fc547..881ad52b26e72a91bfd87197866e2781abf93504 100644 (file)
@@ -176,6 +176,7 @@ class SamsungBrowserCore : public BrowserListObserver {
   // BrowserListObserver
   void OnBrowserAdded(Browser* browser) override;
   void OnBrowserRemoved(Browser* browser) override;
+  void launch(std::string url);
 
  private:
   explicit SamsungBrowserCore();
index 9bad6184b6ac2bf37934e870d5d2bcd87278fc58..f9ce01b3972f39ed682e3bac1b260afc8bb0b558 100644 (file)
@@ -154,6 +154,12 @@ static void browser_control(app_control_h app_control, void* user_data) {
 
   if (browser_received_control) {
     LOG(INFO) << "Browser control already received";
+    if (checker.requestURI.length()) {
+      std::map<std::string, std::string> keyValuePairs = {
+          {"URL", checker.requestURI}};
+      chromeAppControlPtr(keyValuePairs);
+    }
+
     if (!browser_window_shown) {
       LOG(INFO) << "Showing Preloaded browser";
       browser_window_shown = true;