1d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// found in the LICENSE file. 4d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 5d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_LINUX_H_ 6d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#define CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_LINUX_H_ 7d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 8d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "base/basictypes.h" 9d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "base/compiler_specific.h" 10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.h" 11d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ui/views/linux_ui/window_button_order_observer.h" 12d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class ThemeService; 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 15d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// Plumbs button change events from views::LinuxUI to 16d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)// OpaqueBrowserFrameViewLayout. 17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)class OpaqueBrowserFrameViewLinux 18d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) : public OpaqueBrowserFrameViewPlatformSpecific, 19d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) public views::WindowButtonOrderObserver { 20d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) public: 21d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) OpaqueBrowserFrameViewLinux( 22d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) OpaqueBrowserFrameView* view, 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) OpaqueBrowserFrameViewLayout* layout, 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Profile* profile); 25d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) virtual ~OpaqueBrowserFrameViewLinux(); 26d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 27a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) // Overridden from OpaqueBrowserFrameViewPlatformSpecific: 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual bool IsUsingSystemTheme() OVERRIDE; 29a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 30d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) // Overridden from views::WindowButtonOrderObserver: 31d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) virtual void OnWindowButtonOrderingChange( 32d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) const std::vector<views::FrameButton>& leading_buttons, 33d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) const std::vector<views::FrameButton>& trailing_buttons) OVERRIDE; 34d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 35d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) private: 36d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) OpaqueBrowserFrameView* view_; 37d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) OpaqueBrowserFrameViewLayout* layout_; 38d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ThemeService* theme_service_; 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 41d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(OpaqueBrowserFrameViewLinux); 42d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}; 43d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 44d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#endif // CHROME_BROWSER_UI_VIEWS_FRAME_OPAQUE_BROWSER_FRAME_VIEW_LINUX_H_ 45