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

Unified Diff: chrome/browser/ui/views/frame/browser_frame.cc

Issue 146363002: Linux Aura: Use system title bar is now set by preference, not flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename BrowserView pref registration functions. Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/frame/browser_frame.cc
diff --git a/chrome/browser/ui/views/frame/browser_frame.cc b/chrome/browser/ui/views/frame/browser_frame.cc
index e8f05e81fc21141faef468db88c386927979ce24..dbee5f5b5cb0f9c3ef55511325bf0f6717280f99 100644
--- a/chrome/browser/ui/views/frame/browser_frame.cc
+++ b/chrome/browser/ui/views/frame/browser_frame.cc
@@ -24,6 +24,7 @@
#include "chrome/browser/ui/views/frame/top_container_view.h"
#include "chrome/browser/web_applications/web_app.h"
#include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
#include "ui/aura/root_window.h"
#include "ui/aura/window.h"
#include "ui/base/hit_test.h"
@@ -82,6 +83,12 @@ const gfx::FontList& BrowserFrame::GetTitleFontList() {
}
void BrowserFrame::InitBrowserFrame() {
+ use_custom_frame_pref_.Init(
+ prefs::kUseCustomChromeFrame,
+ browser_view_->browser()->profile()->GetPrefs(),
+ base::Bind(&BrowserFrame::OnUseCustomChromeFrameChanged,
+ base::Unretained(this)));
+
native_browser_frame_ =
NativeBrowserFrameFactory::CreateNativeBrowserFrame(this, browser_view_);
views::Widget::InitParams params;
@@ -131,8 +138,9 @@ void BrowserFrame::InitBrowserFrame() {
params.wm_role_name = browser_view_->browser()->is_type_tabbed() ?
std::string(kX11WindowRoleBrowser) : std::string(kX11WindowRolePopup);
- params.remove_standard_frame =
- !command_line.HasSwitch(switches::kUseSystemTitleBar);
+ params.remove_standard_frame = UseCustomFrame();
+ set_frame_type(UseCustomFrame() ? Widget::FRAME_TYPE_FORCE_CUSTOM
+ : Widget::FRAME_TYPE_FORCE_NATIVE);
#endif // defined(OS_LINUX)
Init(params);
@@ -172,6 +180,10 @@ views::View* BrowserFrame::GetFrameView() const {
return browser_frame_view_;
}
+bool BrowserFrame::UseCustomFrame() const {
+ return use_custom_frame_pref_.GetValue();
+}
+
///////////////////////////////////////////////////////////////////////////////
// BrowserFrame, views::Widget overrides:
@@ -279,3 +291,10 @@ bool BrowserFrame::ShouldLeaveOffsetNearTopBorder() {
return !IsMaximized();
}
#endif // OS_WIN
+
+void BrowserFrame::OnUseCustomChromeFrameChanged() {
+ // Tell the window manager to add or remove system borders.
+ set_frame_type(UseCustomFrame() ? Widget::FRAME_TYPE_FORCE_CUSTOM
+ : Widget::FRAME_TYPE_FORCE_NATIVE);
+ FrameTypeChanged();
+}
« no previous file with comments | « chrome/browser/ui/views/frame/browser_frame.h ('k') | chrome/browser/ui/views/frame/opaque_browser_frame_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698