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

Side by Side Diff: chrome/browser/chromeos/frame/browser_frame_chromeos.cc

Issue 3133001: Issue 4448: Hide the address bar for popups in ChromeOS (Closed)
Patch Set: Merge fix. Created 10 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/frame/browser_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/browser/chromeos/frame/normal_browser_frame_view.h" 7 #include "chrome/browser/chromeos/frame/normal_browser_frame_view.h"
8 #include "chrome/browser/views/frame/browser_view.h" 8 #include "chrome/browser/views/frame/browser_view.h"
9 #include "chrome/browser/views/frame/opaque_browser_frame_view.h"
10 #include "chrome/browser/views/frame/popup_non_client_frame_view.h"
9 11
10 // static (Factory method.) 12 // static (Factory method.)
11 BrowserFrame* BrowserFrame::Create(BrowserView* browser_view, 13 BrowserFrame* BrowserFrame::Create(BrowserView* browser_view,
12 Profile* profile) { 14 Profile* profile) {
13 chromeos::BrowserFrameChromeos* frame = 15 chromeos::BrowserFrameChromeos* frame =
14 new chromeos::BrowserFrameChromeos(browser_view, profile); 16 new chromeos::BrowserFrameChromeos(browser_view, profile);
15 frame->Init(); 17 frame->Init();
16 return frame; 18 return frame;
17 } 19 }
18 20
19 namespace chromeos { 21 namespace chromeos {
20 22
21 BrowserFrameChromeos::BrowserFrameChromeos( 23 BrowserFrameChromeos::BrowserFrameChromeos(
22 BrowserView* browser_view, Profile* profile) 24 BrowserView* browser_view, Profile* profile)
23 : BrowserFrameGtk(browser_view, profile) { 25 : BrowserFrameGtk(browser_view, profile) {
24 } 26 }
25 27
26 BrowserFrameChromeos::~BrowserFrameChromeos() { 28 BrowserFrameChromeos::~BrowserFrameChromeos() {
27 } 29 }
28 30
29 void BrowserFrameChromeos::Init() { 31 void BrowserFrameChromeos::Init() {
30 // Excludes a browser intance that requires icon/title. This is typically true 32 // NOTE: This logic supersedes the logic in BrowserFrameGtk::Init()
31 // for dev tools and javascript console. 33 // by always setting browser_frame_view_.
32 // TODO(oshima): handle app panels. This currently uses the default 34 if (IsPanel()) {
33 // implementation, which opens Chrome's app panel instead of 35 // ChromeOS Panels should always use PopupNonClientFrameView.
34 // ChromeOS's panel. 36 set_browser_frame_view(new PopupNonClientFrameView());
35 if (!IsPanel() && 37 } else if (!browser_view()->ShouldShowWindowIcon() &&
36 !browser_view()->ShouldShowWindowIcon() && 38 !browser_view()->ShouldShowWindowTitle()) {
37 !browser_view()->ShouldShowWindowTitle()) { 39 // Excludes a browser intance that requires icon/title.
40 // This is typically true for dev tools and javascript console.
38 set_browser_frame_view(new NormalBrowserFrameView(this, browser_view())); 41 set_browser_frame_view(new NormalBrowserFrameView(this, browser_view()));
42 } else {
43 // Default FrameView.
44 set_browser_frame_view(new OpaqueBrowserFrameView(this, browser_view()));
39 } 45 }
40 46
41 BrowserFrameGtk::Init(); 47 BrowserFrameGtk::Init();
42 48
43 if (!IsPanel()) { 49 if (!IsPanel()) {
44 // On chromeos we want windows to always render as active. 50 // On chromeos we want windows to always render as active.
45 GetNonClientView()->DisableInactiveRendering(true); 51 GetNonClientView()->DisableInactiveRendering(true);
46 } 52 }
47 } 53 }
48 54
49 bool BrowserFrameChromeos::IsMaximized() const { 55 bool BrowserFrameChromeos::IsMaximized() const {
50 return !IsPanel() || WindowGtk::IsMaximized(); 56 return !IsPanel() || WindowGtk::IsMaximized();
51 } 57 }
52 58
53 bool BrowserFrameChromeos::IsPanel() const { 59 bool BrowserFrameChromeos::IsPanel() const {
54 return browser_view()->IsBrowserTypePanel() || 60 return browser_view()->IsBrowserTypePanel() ||
55 browser_view()->IsBrowserTypePopup(); 61 browser_view()->IsBrowserTypePopup();
56 } 62 }
57 63
58 } // namespace chromeos 64 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/frame/browser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698