#include "chrome/browser/ui/views/frame/opaque_browser_frame_view_linux.h"
+#include "chrome/browser/themes/theme_service.h"
+#include "chrome/browser/themes/theme_service_factory.h"
#include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h"
#include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h"
#include "ui/views/linux_ui/linux_ui.h"
OpaqueBrowserFrameViewLinux::OpaqueBrowserFrameViewLinux(
OpaqueBrowserFrameView* view,
- OpaqueBrowserFrameViewLayout* layout)
+ OpaqueBrowserFrameViewLayout* layout,
+ Profile* profile)
: view_(view),
- layout_(layout) {
+ layout_(layout),
+ theme_service_(ThemeServiceFactory::GetForProfile(profile)) {
views::LinuxUI* ui = views::LinuxUI::instance();
if (ui)
ui->AddWindowButtonOrderObserver(this);
ui->RemoveWindowButtonOrderObserver(this);
}
+bool OpaqueBrowserFrameViewLinux::IsUsingNativeTheme() {
+ // On X11, this does the correct thing. On Windows, UsingNativeTheme() will
+ // return true when using the default blue theme too.
+ return theme_service_->UsingNativeTheme();
+}
+
///////////////////////////////////////////////////////////////////////////////
// OpaqueBrowserFrameViewLinux,
// views::WindowButtonOrderObserver implementation:
OpaqueBrowserFrameViewPlatformSpecific*
OpaqueBrowserFrameViewPlatformSpecific::Create(
OpaqueBrowserFrameView* view,
- OpaqueBrowserFrameViewLayout* layout) {
- return new OpaqueBrowserFrameViewLinux(view, layout);
+ OpaqueBrowserFrameViewLayout* layout,
+ Profile* profile) {
+ return new OpaqueBrowserFrameViewLinux(view, layout, profile);
}