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

Side by Side Diff: chrome/browser/ui/views/toolbar/browser_actions_container.cc

Issue 273223002: views: Make view::Views::GetPreferredSize() const. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More compile fix for ToT Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/toolbar/browser_actions_container.h" 5 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "chrome/browser/extensions/extension_service.h" 10 #include "chrome/browser/extensions/extension_service.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 void BrowserActionsContainer::AddObserver( 200 void BrowserActionsContainer::AddObserver(
201 BrowserActionsContainerObserver* observer) { 201 BrowserActionsContainerObserver* observer) {
202 observers_.AddObserver(observer); 202 observers_.AddObserver(observer);
203 } 203 }
204 204
205 void BrowserActionsContainer::RemoveObserver( 205 void BrowserActionsContainer::RemoveObserver(
206 BrowserActionsContainerObserver* observer) { 206 BrowserActionsContainerObserver* observer) {
207 observers_.RemoveObserver(observer); 207 observers_.RemoveObserver(observer);
208 } 208 }
209 209
210 gfx::Size BrowserActionsContainer::GetPreferredSize() { 210 gfx::Size BrowserActionsContainer::GetPreferredSize() const {
211 // We calculate the size of the view by taking the current width and 211 // We calculate the size of the view by taking the current width and
212 // subtracting resize_amount_ (the latter represents how far the user is 212 // subtracting resize_amount_ (the latter represents how far the user is
213 // resizing the view or, if animating the snapping, how far to animate it). 213 // resizing the view or, if animating the snapping, how far to animate it).
214 // But we also clamp it to a minimum size and the maximum size, so that the 214 // But we also clamp it to a minimum size and the maximum size, so that the
215 // container can never shrink too far or take up more space than it needs. In 215 // container can never shrink too far or take up more space than it needs. In
216 // other words: MinimumNonemptyWidth() < width() - resize < ClampTo(MAX). 216 // other words: MinimumNonemptyWidth() < width() - resize < ClampTo(MAX).
217 int preferred_width = std::min( 217 int preferred_width = std::min(
218 std::max(MinimumNonemptyWidth(), container_width_ - resize_amount_), 218 std::max(MinimumNonemptyWidth(), container_width_ - resize_amount_),
219 IconCountToWidth(-1, false)); 219 IconCountToWidth(-1, false));
220 // Height will be ignored by the ToolbarView. 220 // Height will be ignored by the ToolbarView.
221 return gfx::Size(preferred_width, 0); 221 return gfx::Size(preferred_width, 0);
222 } 222 }
223 223
224 gfx::Size BrowserActionsContainer::GetMinimumSize() { 224 gfx::Size BrowserActionsContainer::GetMinimumSize() const {
225 int min_width = std::min(MinimumNonemptyWidth(), IconCountToWidth(-1, false)); 225 int min_width = std::min(MinimumNonemptyWidth(), IconCountToWidth(-1, false));
226 // Height will be ignored by the ToolbarView. 226 // Height will be ignored by the ToolbarView.
227 return gfx::Size(min_width, 0); 227 return gfx::Size(min_width, 0);
228 } 228 }
229 229
230 void BrowserActionsContainer::Layout() { 230 void BrowserActionsContainer::Layout() {
231 if (browser_action_views_.empty()) { 231 if (browser_action_views_.empty()) {
232 SetVisible(false); 232 SetVisible(false);
233 return; 233 return;
234 } 234 }
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 views::BubbleBorder::TOP_RIGHT, 926 views::BubbleBorder::TOP_RIGHT,
927 show_action); 927 show_action);
928 popup_->GetWidget()->AddObserver(this); 928 popup_->GetWidget()->AddObserver(this);
929 popup_button_ = button; 929 popup_button_ = button;
930 930
931 // Only set button as pushed if it was triggered by a user click. 931 // Only set button as pushed if it was triggered by a user click.
932 if (should_grant) 932 if (should_grant)
933 popup_button_->SetButtonPushed(); 933 popup_button_->SetButtonPushed();
934 return true; 934 return true;
935 } 935 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/toolbar/browser_actions_container.h ('k') | chrome/browser/ui/views/toolbar/toolbar_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698