Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: chrome/browser/ui/views/frame/opaque_browser_frame_view_linux.cc

Issue 117233008: Linux Aura: Hide title bar when browser windows are maximized on Unity. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Avoid NULL dereference on Windows. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_linux.h" 5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_linux.h"
6 6
7 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h" 7 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h"
8 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h" 8 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h"
9 #include "ui/views/linux_ui/linux_ui.h" 9 #include "ui/views/linux_ui/linux_ui.h"
10 10
(...skipping 20 matching lines...) Expand all
31 // OpaqueBrowserFrameViewLinux, 31 // OpaqueBrowserFrameViewLinux,
32 // OpaqueBrowserFrameViewPlatformSpecific implementation: 32 // OpaqueBrowserFrameViewPlatformSpecific implementation:
33 33
34 bool OpaqueBrowserFrameViewLinux::ShouldShowCaptionButtons() const { 34 bool OpaqueBrowserFrameViewLinux::ShouldShowCaptionButtons() const {
35 // On Ubuntu Unity, if the window is maximized, the system will provide 35 // On Ubuntu Unity, if the window is maximized, the system will provide
36 // caption buttons, so Chrome should not add its own. 36 // caption buttons, so Chrome should not add its own.
37 views::LinuxUI* ui = views::LinuxUI::instance(); 37 views::LinuxUI* ui = views::LinuxUI::instance();
38 return !(view_->IsMaximized() && ui && ui->UnityIsRunning()); 38 return !(view_->IsMaximized() && ui && ui->UnityIsRunning());
39 } 39 }
40 40
41 bool OpaqueBrowserFrameViewLinux::ShouldShowTitleBar() const {
42 // On Ubuntu Unity, if the window is maximized, the system will provide
43 // a title bar, so Chrome should not add its own.
44 views::LinuxUI* ui = views::LinuxUI::instance();
45 return !(view_->IsMaximized() && ui && ui->UnityIsRunning());
46 }
47
41 /////////////////////////////////////////////////////////////////////////////// 48 ///////////////////////////////////////////////////////////////////////////////
42 // OpaqueBrowserFrameViewLinux, 49 // OpaqueBrowserFrameViewLinux,
43 // views::WindowButtonOrderObserver implementation: 50 // views::WindowButtonOrderObserver implementation:
44 51
45 void OpaqueBrowserFrameViewLinux::OnWindowButtonOrderingChange( 52 void OpaqueBrowserFrameViewLinux::OnWindowButtonOrderingChange(
46 const std::vector<views::FrameButton>& leading_buttons, 53 const std::vector<views::FrameButton>& leading_buttons,
47 const std::vector<views::FrameButton>& trailing_buttons) { 54 const std::vector<views::FrameButton>& trailing_buttons) {
48 layout_->SetButtonOrdering(leading_buttons, trailing_buttons); 55 layout_->SetButtonOrdering(leading_buttons, trailing_buttons);
49 56
50 // We can receive OnWindowButtonOrderingChange events before we've been added 57 // We can receive OnWindowButtonOrderingChange events before we've been added
51 // to a Widget. We need a Widget because layout crashes due to dependencies 58 // to a Widget. We need a Widget because layout crashes due to dependencies
52 // on a ui::ThemeProvider(). 59 // on a ui::ThemeProvider().
53 if (view_->GetWidget()) { 60 if (view_->GetWidget()) {
54 view_->Layout(); 61 view_->Layout();
55 view_->SchedulePaint(); 62 view_->SchedulePaint();
56 } 63 }
57 } 64 }
58 65
59 /////////////////////////////////////////////////////////////////////////////// 66 ///////////////////////////////////////////////////////////////////////////////
60 // OpaqueBrowserFrameViewObserver: 67 // OpaqueBrowserFrameViewObserver:
61 68
62 // static 69 // static
63 OpaqueBrowserFrameViewPlatformSpecific* 70 OpaqueBrowserFrameViewPlatformSpecific*
64 OpaqueBrowserFrameViewPlatformSpecific::Create( 71 OpaqueBrowserFrameViewPlatformSpecific::Create(
65 OpaqueBrowserFrameView* view, 72 OpaqueBrowserFrameView* view,
66 OpaqueBrowserFrameViewLayout* layout) { 73 OpaqueBrowserFrameViewLayout* layout) {
67 return new OpaqueBrowserFrameViewLinux(view, layout); 74 return new OpaqueBrowserFrameViewLinux(view, layout);
68 } 75 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698