[NextBrowser] Added reference of AccountManager to Samsung Browser Core 98/317098/3
authorjmroman <jm.roman@samsung.com>
Wed, 4 Sep 2024 03:00:31 +0000 (11:00 +0800)
committerBot Blink <blinkbot@samsung.com>
Mon, 9 Sep 2024 07:27:54 +0000 (07:27 +0000)
Change-Id: I2f2e9b4781f25c9bfb255c658dba489122dd1b90
Signed-off-by: jmroman <jm.roman@samsung.com>
chrome/browser/ui/samsung/samsung_browser_core.cc
chrome/browser/ui/samsung/samsung_browser_core.h
chrome/browser/ui/views/profiles/avatar_toolbar_button.h
chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h

index 51fe3de868bb17a2626ba2a77a8f862ccc4925f3..60c3bb3250ff12738e705b77ee16eb099d18c245 100644 (file)
@@ -3,6 +3,10 @@
 // found in the LICENSE file.
 
 #include "chrome/browser/ui/samsung/samsung_browser_core.h"
+#include "chrome/browser/ui/views/frame/browser_view.h"
+#include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
+#include "chrome/browser/ui/views/profiles/avatar_toolbar_button.h"
+#include "chrome/browser/ui/views/profiles/avatar_toolbar_button_delegate.h"
 
 #include "base/logging.h"
 #include "chrome/browser/ui/browser_window.h"
@@ -15,7 +19,8 @@ SamsungBrowserCore::SamsungBrowserCore()
       m_cursor_controller(nullptr),
       m_system_configuration_(nullptr),
       m_hybrid_navigation_controller(nullptr),
-      m_high_contrast_controller(nullptr) {}
+      m_high_contrast_controller(nullptr),
+      m_samsung_account_manager(nullptr) {}
 
 SamsungBrowserCore* SamsungBrowserCore::instance() {
   if (!m_instance) {
@@ -27,6 +32,7 @@ SamsungBrowserCore* SamsungBrowserCore::instance() {
 
 void SamsungBrowserCore::Init() {
   SetWindowInstance();
+  SetAccountManagerInstance();
   m_input_manager = std::make_unique<samsung_input_manager::InputManager>();
   m_input_manager->Init();
   LOG(INFO) << "samsung_browser_configuration::SystemConfiguration create";
@@ -64,6 +70,21 @@ void SamsungBrowserCore::SetBrowserInstance(Browser* browser) {
   browser_ = browser;
 }
 
+void SamsungBrowserCore::SetAccountManagerInstance() {
+  LOG(INFO) << "SRPH Setting Samsung Account Manager Instance";
+  auto browser_view = BrowserView::GetBrowserViewForBrowser(browser_);
+  auto toolbar_button_provider = browser_view->toolbar_button_provider();
+  auto avatar_toolbar_button =
+      toolbar_button_provider->GetAvatarToolbarButton();
+  auto avatar_toolbar_button_delegate =
+      avatar_toolbar_button->GetAvatarToolbarButtonDelegate();
+
+  m_samsung_account_manager =
+      avatar_toolbar_button_delegate->GetSamsungAccountManager();
+  if (m_samsung_account_manager)
+    LOG(INFO) << "SRPH Successfully set Samsung Account Manager Instance";
+}
+
 void SamsungBrowserCore::SetWindowInstance() {
   LOG(INFO) << "";
   if (browser_) {
index 7de08ed982bfbfe13888ea9f3d14284a1ff64b3a..301fc194a3f0513081636a31e67f802b7eed0713 100644 (file)
@@ -6,6 +6,7 @@
 #include "chrome/browser/ui/samsung/high_contrast_controller.h"
 #include "chrome/browser/ui/samsung/hybrid_navigation_controller.h"
 #include "chrome/browser/ui/samsung/input_manager.h"
+#include "chrome/browser/ui/samsung/samsung_account_manager.h"
 #include "chrome/browser/ui/samsung/samsung_web_server_downloader.h"
 #include "chrome/browser/ui/samsung/storage_manager.h"
 #include "components/samsung/public/system_configuration/samsung_system_configuration.h"
@@ -19,6 +20,7 @@ class SamsungBrowserCore {
 
   void Init();
   void SetBrowserInstance(Browser* browser);
+  void SetAccountManagerInstance();
   Browser* GetBrowserInstance();
   samsung_input_manager::InputManager* InputManager() {
     return m_input_manager.get();
@@ -33,7 +35,9 @@ class SamsungBrowserCore {
   samsung_browser_configuration::SystemConfiguration* SystemConfiguration() {
     return m_system_configuration_.get();
   };
-
+  samsung_account_manager::SamsungAccountManager* SamsungAccountManager() {
+    return m_samsung_account_manager.get();
+  }
   samsung_browser_fw_core::StorageManager* StorageManager() {
     return m_storage_manager_.get();
   }
@@ -65,6 +69,8 @@ class SamsungBrowserCore {
       m_hybrid_navigation_controller;
   std::unique_ptr<samsung_browser_controller::HighContrastController>
       m_high_contrast_controller;
+  raw_ptr<samsung_account_manager::SamsungAccountManager>
+      m_samsung_account_manager;
   raw_ptr<Browser> browser_;
   aura::WindowTreeHost* window_host;
 };
index e3cb0d5f69294a720fbe16f86089b51d78aad78a..76ebe6669ff10f4b20b64b44bb9a8359735aa38d 100644 (file)
@@ -45,6 +45,12 @@ class AvatarToolbarButton : public ToolbarButton {
   AvatarToolbarButton& operator=(const AvatarToolbarButton&) = delete;
   ~AvatarToolbarButton() override;
 
+#ifdef SAMSUNG_TOOLBAR_UI
+  AvatarToolbarButtonDelegate* GetAvatarToolbarButtonDelegate() {
+    return delegate_.get();
+  };
+#endif
+
   void UpdateText();
   absl::optional<SkColor> GetHighlightTextColor() const override;
   absl::optional<SkColor> GetHighlightBorderColor() const override;
index f0e211b81e414aaab9dd3ad239250bcc2b4e538a..bc22d36156d34b71099016d7231c80dc3ad20a48 100644 (file)
@@ -46,7 +46,11 @@ class AvatarToolbarButtonDelegate :
       delete;
 
   ~AvatarToolbarButtonDelegate() override;
-
+#ifdef SAMSUNG_TOOLBAR_UI
+  samsung_account_manager::SamsungAccountManager* GetSamsungAccountManager() {
+    return account_manager_.get();
+  }
+#endif
   // Methods called by the AvatarToolbarButton to get profile information.
   std::u16string GetProfileName() const;
   std::u16string GetShortProfileName() const;