Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/chromeos/frame/browser_frame_chromeos.h" | 5 #include "chrome/browser/chromeos/frame/browser_frame_chromeos.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "chrome/browser/views/frame/browser_view.h" | 8 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 9 #include "chrome/browser/views/frame/opaque_browser_frame_view.h" | 9 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" |
| 10 #include "chrome/browser/views/frame/popup_non_client_frame_view.h" | |
| 11 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
| 12 | 11 |
| 13 // static (Factory method.) | 12 // static (Factory method.) |
| 14 BrowserFrame* BrowserFrame::Create(BrowserView* browser_view, | 13 BrowserFrame* BrowserFrame::Create(BrowserView* browser_view, |
| 15 Profile* profile) { | 14 Profile* profile) { |
| 16 chromeos::BrowserFrameChromeos* frame = | 15 chromeos::BrowserFrameChromeos* frame = |
| 17 new chromeos::BrowserFrameChromeos(browser_view, profile); | 16 new chromeos::BrowserFrameChromeos(browser_view, profile); |
| 18 frame->Init(); | 17 frame->Init(); |
| 19 return frame; | 18 return frame; |
| 20 } | 19 } |
| 21 | 20 |
| 22 namespace chromeos { | 21 namespace chromeos { |
| 23 | 22 |
| 24 BrowserFrameChromeos::BrowserFrameChromeos( | 23 BrowserFrameChromeos::BrowserFrameChromeos( |
| 25 BrowserView* browser_view, Profile* profile) | 24 BrowserView* browser_view, Profile* profile) |
| 26 : BrowserFrameGtk(browser_view, profile) { | 25 : BrowserFrameGtk(browser_view, profile) { |
| 27 } | 26 } |
| 28 | 27 |
| 29 BrowserFrameChromeos::~BrowserFrameChromeos() { | 28 BrowserFrameChromeos::~BrowserFrameChromeos() { |
| 30 } | 29 } |
| 31 | 30 |
| 32 void BrowserFrameChromeos::Init() { | 31 void BrowserFrameChromeos::Init() { |
| 33 // NOTE: This logic supersedes the logic in BrowserFrameGtk::Init() | 32 // NOTE: This logic supersedes the logic in BrowserFrameGtk::Init() |
| 34 // by always setting browser_frame_view_. | 33 // by always setting browser_frame_view_. |
| 35 bool is_popup = browser_view()->IsBrowserTypePopup(); | 34 bool is_popup = browser_view()->IsBrowserTypePanel(); |
|
sky
2010/12/10 18:18:20
This doesn't match the old code. Does it matter?
bryeung
2010/12/10 23:58:59
Good catch! Silly copy-paste error.
| |
| 36 if (is_popup) { | 35 set_browser_frame_view( |
| 37 // ChromeOS Panels should always use PopupNonClientFrameView. | 36 browser::CreateBrowserNonClientFrameView(is_popup, this, browser_view())); |
| 38 set_browser_frame_view(new PopupNonClientFrameView()); | |
| 39 } else { | |
| 40 // Default FrameView. | |
| 41 set_browser_frame_view(new OpaqueBrowserFrameView(this, browser_view())); | |
| 42 } | |
| 43 | 37 |
| 44 BrowserFrameGtk::Init(); | 38 BrowserFrameGtk::Init(); |
| 45 | 39 |
| 46 if (!is_popup) { | 40 if (!is_popup) { |
| 47 // On chromeos we want windows to always render as active. | 41 // On chromeos we want windows to always render as active. |
| 48 GetNonClientView()->DisableInactiveRendering(true); | 42 GetNonClientView()->DisableInactiveRendering(true); |
| 49 } | 43 } |
| 50 } | 44 } |
| 51 | 45 |
| 52 bool BrowserFrameChromeos::IsMaximized() const { | 46 bool BrowserFrameChromeos::IsMaximized() const { |
| 53 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kChromeosFrame)) | 47 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kChromeosFrame)) |
| 54 return WindowGtk::IsMaximized(); | 48 return WindowGtk::IsMaximized(); |
| 55 bool is_popup = browser_view()->IsBrowserTypePopup(); | 49 bool is_popup = browser_view()->IsBrowserTypePopup(); |
| 56 return !IsFullscreen() && (!is_popup || WindowGtk::IsMaximized()); | 50 return !IsFullscreen() && (!is_popup || WindowGtk::IsMaximized()); |
| 57 } | 51 } |
| 58 | 52 |
| 59 } // namespace chromeos | 53 } // namespace chromeos |
| OLD | NEW |