summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/linux_ui/linux_ui.h5
-rw-r--r--ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc4
2 files changed, 9 insertions, 0 deletions
diff --git a/ui/linux_ui/linux_ui.h b/ui/linux_ui/linux_ui.h
index 85decc8..1f58e11 100644
--- a/ui/linux_ui/linux_ui.h
+++ b/ui/linux_ui/linux_ui.h
@@ -47,10 +47,15 @@ class LINUX_UI_EXPORT LinuxUI : public LinuxShellDialog {
virtual bool UseNativeTheme() const = 0;
virtual gfx::Image GetThemeImageNamed(int id) const = 0;
virtual bool GetColor(int id, SkColor* color) const = 0;
+ virtual bool HasCustomImage(int id) const = 0;
// Returns a NativeTheme that will provide system colors and draw system
// style widgets.
virtual NativeTheme* GetNativeTheme() const = 0;
+
+ // Returns whether we should be using the native theme provided by this
+ // object by default.
+ virtual bool GetDefaultUsesSystemTheme() const = 0;
};
} // namespace ui
diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc b/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc
index ea98a9c..78d3e9d 100644
--- a/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc
+++ b/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc
@@ -619,6 +619,10 @@ bool DesktopRootWindowHostX11::ShouldUseNativeFrame() {
}
void DesktopRootWindowHostX11::FrameTypeChanged() {
+ // Replace the frame and layout the contents. Even though we don't have a
+ // swapable glass frame like on Windows, we still replace the frame because
+ // the button assets don't update otherwise.
+ native_widget_delegate_->AsWidget()->non_client_view()->UpdateFrame(true);
}
NonClientFrameView* DesktopRootWindowHostX11::CreateNonClientFrameView() {