MenuBar::MenuBar()
: background_color_(kDefaultColor),
menu_model_(NULL) {
-#if defined(OS_WIN)
- background_color_ = color_utils::GetSysSkColor(COLOR_MENUBAR);
-#elif defined(USE_X11)
- GetMenuBarColor(&enabled_color_, &disabled_color_, &highlight_color_,
- &hover_color_, &background_color_);
-#endif
-
- set_background(views::Background::CreateSolidBackground(background_color_));
+ UpdateMenuBarColor();
SetLayoutManager(new views::BoxLayout(
views::BoxLayout::kHorizontal, 0, 0, 0));
}
menu_delegate.RunMenu(menu_model_->GetSubmenuModelAt(id), source);
}
+void MenuBar::OnNativeThemeChanged(const ui::NativeTheme* theme) {
+ UpdateMenuBarColor();
+}
+
+void MenuBar::UpdateMenuBarColor() {
+#if defined(OS_WIN)
+ background_color_ = color_utils::GetSysSkColor(COLOR_MENUBAR);
+#elif defined(USE_X11)
+ GetMenuBarColor(&enabled_color_, &disabled_color_, &highlight_color_,
+ &hover_color_, &background_color_);
+#endif
+ set_background(views::Background::CreateSolidBackground(background_color_));
+}
+
} // namespace atom
void OnMenuButtonClicked(views::MenuButton* source,
const gfx::Point& point,
const ui::Event* event) override;
-
+ void OnNativeThemeChanged(const ui::NativeTheme* theme) override;
private:
+ void UpdateMenuBarColor();
+
SkColor background_color_;
#if defined(USE_X11)