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

Side by Side Diff: chrome/browser/ui/cocoa/browser_window_layout.mm

Issue 607603003: Mac: Minor fullscreen adjustments. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix presentation mode unit test. Created 6 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #import "chrome/browser/ui/cocoa/browser_window_layout.h" 5 #import "chrome/browser/ui/cocoa/browser_window_layout.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 namespace chrome { 9 namespace chrome {
10 10
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 // Lay out the backing bar in fullscreen mode. 188 // Lay out the backing bar in fullscreen mode.
189 if (parameters_.inAnyFullscreen) { 189 if (parameters_.inAnyFullscreen) {
190 output_.fullscreenBackingBarFrame = 190 output_.fullscreenBackingBarFrame =
191 NSMakeRect(0, maxY, width, [self fullscreenBackingBarHeight]); 191 NSMakeRect(0, maxY, width, [self fullscreenBackingBarHeight]);
192 } 192 }
193 193
194 // Place the find bar immediately below the toolbar/attached bookmark bar. 194 // Place the find bar immediately below the toolbar/attached bookmark bar.
195 output_.findBarMaxY = maxY; 195 output_.findBarMaxY = maxY;
196 output_.fullscreenExitButtonMaxY = maxY; 196 output_.fullscreenExitButtonMaxY = maxY;
197 197
198 if (parameters_.inAnyFullscreen) { 198 if (parameters_.inAnyFullscreen &&
199 switch (parameters_.slidingStyle) { 199 parameters_.slidingStyle == fullscreen_mac::OMNIBOX_TABS_HIDDEN) {
200 case fullscreen_mac::OMNIBOX_TABS_PRESENT: 200 // If in presentation mode, reset |maxY| to top of screen, so that the
201 // Do nothing in Canonical Fullscreen. All content slides. 201 // floating bar slides over the things which appear to be in the content
202 break; 202 // area.
203 case fullscreen_mac::OMNIBOX_TABS_HIDDEN: 203 maxY = parameters_.windowSize.height;
204 // If in presentation mode, reset |maxY| to top of screen, so that the
205 // floating bar slides over the things which appear to be in the content
206 // area.
207 maxY = parameters_.contentViewSize.height;
208 break;
209 }
210 } 204 }
211 205
212 // Lay out the info bar. It is never hidden. The frame needs to be high 206 // Lay out the info bar. It is never hidden. The frame needs to be high
213 // enough to accomodate the top arrow, which might stretch all the way to the 207 // enough to accomodate the top arrow, which might stretch all the way to the
214 // page info bubble icon. 208 // page info bubble icon.
215 if (parameters_.infoBarHeight != 0) { 209 if (parameters_.infoBarHeight != 0) {
216 CGFloat infoBarMaxY = 210 CGFloat infoBarMaxY =
217 NSMinY(output_.toolbarFrame) + parameters.pageInfoBubblePointY; 211 NSMinY(output_.toolbarFrame) + parameters.pageInfoBubblePointY;
218 CGFloat infoBarMinY = maxY - parameters_.infoBarHeight; 212 CGFloat infoBarMinY = maxY - parameters_.infoBarHeight;
219 output_.infoBarFrame = 213 output_.infoBarFrame =
(...skipping 18 matching lines...) Expand all
238 } 232 }
239 233
240 // Layout the download shelf at the bottom of the content view. 234 // Layout the download shelf at the bottom of the content view.
241 CGFloat minY = 0; 235 CGFloat minY = 0;
242 if (parameters.hasDownloadShelf) { 236 if (parameters.hasDownloadShelf) {
243 output_.downloadShelfFrame = 237 output_.downloadShelfFrame =
244 NSMakeRect(0, 0, width, parameters.downloadShelfHeight); 238 NSMakeRect(0, 0, width, parameters.downloadShelfHeight);
245 minY = NSMaxY(output_.downloadShelfFrame); 239 minY = NSMaxY(output_.downloadShelfFrame);
246 } 240 }
247 241
242 if (parameters_.inAnyFullscreen &&
243 parameters_.slidingStyle == fullscreen_mac::OMNIBOX_TABS_PRESENT) {
244 // If in Canonical Fullscreen, content should be shifted down by an amount
245 // equal to all the widgets and views at the top of the window. It should
246 // not be further shifted by the appearance/disappearance of the AppKit
247 // menu bar.
248 maxY = parameters_.windowSize.height;
249 maxY -= NSHeight(output_.toolbarFrame) + NSHeight(output_.tabStripFrame) +
250 NSHeight(output_.bookmarkFrame) + parameters.infoBarHeight;
251 }
252
248 // All the remaining space becomes the frame of the content area. 253 // All the remaining space becomes the frame of the content area.
249 output_.contentAreaFrame = NSMakeRect(0, minY, width, maxY - minY); 254 output_.contentAreaFrame = NSMakeRect(0, minY, width, maxY - minY);
250 } 255 }
251 256
252 - (CGFloat)fullscreenBackingBarHeight { 257 - (CGFloat)fullscreenBackingBarHeight {
253 if (!parameters_.inAnyFullscreen) 258 if (!parameters_.inAnyFullscreen)
254 return 0; 259 return 0;
255 260
256 CGFloat totalHeight = 0; 261 CGFloat totalHeight = 0;
257 if (parameters_.hasTabStrip) 262 if (parameters_.hasTabStrip)
258 totalHeight += chrome::kTabStripHeight; 263 totalHeight += chrome::kTabStripHeight;
259 264
260 if (parameters_.hasToolbar) { 265 if (parameters_.hasToolbar) {
261 totalHeight += parameters_.toolbarHeight; 266 totalHeight += parameters_.toolbarHeight;
262 } else if (parameters_.hasLocationBar) { 267 } else if (parameters_.hasLocationBar) {
263 totalHeight += 268 totalHeight +=
264 parameters_.toolbarHeight + kLocBarTopInset + kLocBarBottomInset; 269 parameters_.toolbarHeight + kLocBarTopInset + kLocBarBottomInset;
265 } 270 }
266 271
267 if (!parameters_.bookmarkBarHidden && 272 if (!parameters_.bookmarkBarHidden &&
268 !parameters_.placeBookmarkBarBelowInfoBar) 273 !parameters_.placeBookmarkBarBelowInfoBar)
269 totalHeight += parameters_.bookmarkBarHeight; 274 totalHeight += parameters_.bookmarkBarHeight;
270 275
271 return totalHeight; 276 return totalHeight;
272 } 277 }
273 278
274 @end 279 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698