// 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"
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) {
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";
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_) {
#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"
void Init();
void SetBrowserInstance(Browser* browser);
+ void SetAccountManagerInstance();
Browser* GetBrowserInstance();
samsung_input_manager::InputManager* InputManager() {
return m_input_manager.get();
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();
}
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;
};
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;
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;