m_high_contrast_controller(nullptr),
m_samsung_pass(nullptr),
m_data_sync_controller(nullptr),
- m_samsung_account_manager(nullptr) {}
+ m_samsung_account_manager(nullptr),
+ m_initialized(false) {}
SamsungBrowserCore* SamsungBrowserCore::instance() {
if (!m_instance) {
return m_instance;
}
-void SamsungBrowserCore::Init() {
+bool SamsungBrowserCore::Init() {
LOG(INFO) << "SamsungBrowserCore::Init() ";
+ if (m_initialized) {
+ LOG(INFO) << "Already Initialized";
+ return true;
+ }
SetWindowInstance();
SetAccountManagerInstance();
m_input_manager = std::make_unique<samsung_input_manager::InputManager>();
m_data_sync_controller->Init();
m_opened_tabs_controller =
std::make_unique<samsung_browser_controller::OpenedTabsController>();
+ m_initialized = true;
+ return true;
}
SamsungBrowserCore::~SamsungBrowserCore() {}
public:
static SamsungBrowserCore* instance();
- void Init();
+ bool Init();
void SetBrowserInstance(Browser* browser);
void SetAccountManagerInstance();
Browser* GetBrowserInstance();
std::unique_ptr<SamsungPass> m_samsung_pass;
raw_ptr<Browser> browser_;
aura::WindowTreeHost* window_host;
+ bool m_initialized;
};
} // namespace samsung_browser_main