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

Side by Side Diff: chrome/browser/ui/panels/panel_browser_window_gtk.cc

Issue 8775022: Add Panel::SetPanelBoundsInstantly for all platforms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix per feedback Created 9 years 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/panels/panel_browser_window_gtk.h" 5 #include "chrome/browser/ui/panels/panel_browser_window_gtk.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "chrome/browser/ui/browser_list.h" 8 #include "chrome/browser/ui/browser_list.h"
9 #include "chrome/browser/ui/panels/panel.h" 9 #include "chrome/browser/ui/panels/panel.h"
10 #include "chrome/browser/ui/panels/panel_manager.h" 10 #include "chrome/browser/ui/panels/panel_manager.h"
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 238
239 void PanelBrowserWindowGtk::ShowPanelInactive() { 239 void PanelBrowserWindowGtk::ShowPanelInactive() {
240 ShowInactive(); 240 ShowInactive();
241 } 241 }
242 242
243 gfx::Rect PanelBrowserWindowGtk::GetPanelBounds() const { 243 gfx::Rect PanelBrowserWindowGtk::GetPanelBounds() const {
244 return bounds_; 244 return bounds_;
245 } 245 }
246 246
247 void PanelBrowserWindowGtk::SetPanelBounds(const gfx::Rect& bounds) { 247 void PanelBrowserWindowGtk::SetPanelBounds(const gfx::Rect& bounds) {
248 SetBoundsInternal(bounds, true);
249 }
250
251 void PanelBrowserWindowGtk::SetPanelBoundsInstantly(const gfx::Rect& bounds) {
252 SetBoundsInternal(bounds, false);
253 }
254
255 void PanelBrowserWindowGtk::SetBoundsInternal(const gfx::Rect& bounds,
256 bool animate) {
248 if (bounds == bounds_) 257 if (bounds == bounds_)
249 return; 258 return;
250 259
251 if (drag_widget_) { 260 if (drag_widget_ || !animate) {
252 DCHECK(!bounds_animator_.get() || !bounds_animator_->is_animating()); 261 DCHECK(!bounds_animator_.get() || !bounds_animator_->is_animating());
253 // If the current panel is being dragged, it should just move with the 262 // If the current panel is being dragged, it should just move with the
254 // user drag, we should not animate. 263 // user drag, we should not animate.
255 gtk_window_move(window(), bounds.x(), bounds.y()); 264 gtk_window_move(window(), bounds.x(), bounds.y());
256 } else if (window_size_known_) { 265 } else if (window_size_known_) {
257 StartBoundsAnimation(bounds_); 266 StartBoundsAnimation(bounds_);
258 } 267 }
259 // If window size is not known, wait till the size is known before starting 268 // If window size is not known, wait till the size is known before starting
260 // the animation. 269 // the animation.
261 270
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 } 744 }
736 } 745 }
737 746
738 bool NativePanelTestingGtk::IsWindowSizeKnown() const { 747 bool NativePanelTestingGtk::IsWindowSizeKnown() const {
739 return panel_browser_window_gtk_->window_size_known_; 748 return panel_browser_window_gtk_->window_size_known_;
740 } 749 }
741 750
742 bool NativePanelTestingGtk::IsAnimatingBounds() const { 751 bool NativePanelTestingGtk::IsAnimatingBounds() const {
743 return panel_browser_window_gtk_->IsAnimatingBounds(); 752 return panel_browser_window_gtk_->IsAnimatingBounds();
744 } 753 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698