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

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

Issue 2914793005: [mus+ash] Fixes minimum browser window size (store / retrieve kPreferredSize property) (Closed)
Patch Set: [mus+ash] Fixes minimum browser window size (store / retrieve kMinimumSize property) Created 3 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/browser_non_client_frame_view_mus.h" 5 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "chrome/browser/profiles/profiles_state.h" 9 #include "chrome/browser/profiles/profiles_state.h"
10 #include "chrome/browser/themes/theme_properties.h" 10 #include "chrome/browser/themes/theme_properties.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 int min_width = std::max(min_frame_width, min_client_view_size.width()); 329 int min_width = std::max(min_frame_width, min_client_view_size.width());
330 if (browser_view()->IsTabStripVisible()) { 330 if (browser_view()->IsTabStripVisible()) {
331 // Ensure that the minimum width is enough to hold a minimum width tab strip 331 // Ensure that the minimum width is enough to hold a minimum width tab strip
332 // at its usual insets. 332 // at its usual insets.
333 int min_tabstrip_width = 333 int min_tabstrip_width =
334 browser_view()->tabstrip()->GetMinimumSize().width(); 334 browser_view()->tabstrip()->GetMinimumSize().width();
335 min_width = 335 min_width =
336 std::max(min_width, min_tabstrip_width + GetTabStripLeftInset() + 336 std::max(min_width, min_tabstrip_width + GetTabStripLeftInset() +
337 GetTabStripRightInset()); 337 GetTabStripRightInset());
338 } 338 }
339 return gfx::Size(min_width, min_client_view_size.height()); 339 gfx::Size min_size(min_width, min_client_view_size.height());
340
341 aura::Window* frame_window = frame()->GetNativeWindow();
342 const gfx::Size* min_window_size =
343 frame_window->GetProperty(aura::client::kMinimumSize);
344 if (!min_window_size || *min_window_size != min_size) {
345 frame_window->SetProperty(aura::client::kMinimumSize,
346 new gfx::Size(min_size));
347 }
348 return min_size;
sadrul 2017/06/01 17:14:20 This is the only part that I am a bit worried abou
varkha 2017/06/19 15:57:36 Thanks for the ideas. Did you have something like
340 } 349 }
341 350
342 /////////////////////////////////////////////////////////////////////////////// 351 ///////////////////////////////////////////////////////////////////////////////
343 // TabIconViewModel: 352 // TabIconViewModel:
344 353
345 bool BrowserNonClientFrameViewMus::ShouldTabIconViewAnimate() const { 354 bool BrowserNonClientFrameViewMus::ShouldTabIconViewAnimate() const {
346 // This function is queried during the creation of the window as the 355 // This function is queried during the creation of the window as the
347 // TabIconView we host is initialized, so we need to null check the selected 356 // TabIconView we host is initialized, so we need to null check the selected
348 // WebContents because in this condition there is not yet a selected tab. 357 // WebContents because in this condition there is not yet a selected tab.
349 content::WebContents* current_tab = browser_view()->GetActiveWebContents(); 358 content::WebContents* current_tab = browser_view()->GetActiveWebContents();
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 // TODO: move ash_layout_constants to ash/public/cpp. 525 // TODO: move ash_layout_constants to ash/public/cpp.
517 const bool restored = !frame()->IsMaximized() && !frame()->IsFullscreen(); 526 const bool restored = !frame()->IsMaximized() && !frame()->IsFullscreen();
518 return GetAshLayoutSize(restored 527 return GetAshLayoutSize(restored
519 ? AshLayoutSize::BROWSER_RESTORED_CAPTION_BUTTON 528 ? AshLayoutSize::BROWSER_RESTORED_CAPTION_BUTTON
520 : AshLayoutSize::BROWSER_MAXIMIZED_CAPTION_BUTTON) 529 : AshLayoutSize::BROWSER_MAXIMIZED_CAPTION_BUTTON)
521 .height(); 530 .height();
522 #else 531 #else
523 return views::WindowManagerFrameValues::instance().normal_insets.top(); 532 return views::WindowManagerFrameValues::instance().normal_insets.top();
524 #endif 533 #endif
525 } 534 }
OLDNEW
« no previous file with comments | « ash/public/cpp/mus_property_mirror_ash.cc ('k') | services/ui/public/interfaces/window_manager.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698