OLD | NEW |
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/views/extensions/extension_shelf.h" | 5 #include "chrome/browser/views/extensions/extension_shelf.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "app/resource_bundle.h" | 9 #include "app/resource_bundle.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 return; | 427 return; |
428 | 428 |
429 if (!window_.get()) { | 429 if (!window_.get()) { |
430 window_.reset(new BrowserBubble(this, shelf_->GetWidget(), | 430 window_.reset(new BrowserBubble(this, shelf_->GetWidget(), |
431 gfx::Point(0, 0), | 431 gfx::Point(0, 0), |
432 false)); // Do not add a drop-shadow. | 432 false)); // Do not add a drop-shadow. |
433 window_->set_delegate(this); | 433 window_->set_delegate(this); |
434 } | 434 } |
435 | 435 |
436 gfx::Size window_size = GetPreferredSize(); | 436 gfx::Size window_size = GetPreferredSize(); |
437 if (mole_animation_->IsAnimating()) { | 437 if (mole_animation_->is_animating()) { |
438 // We only want to animate the body of the mole window. When we're | 438 // We only want to animate the body of the mole window. When we're |
439 // expanding, this is everything except for the handle. When we're | 439 // expanding, this is everything except for the handle. When we're |
440 // collapsing, this is everything except for the handle and the toolstrip. | 440 // collapsing, this is everything except for the handle and the toolstrip. |
441 // We subtract this amount from the target height, figure out the step in | 441 // We subtract this amount from the target height, figure out the step in |
442 // the animation from the rest, and then add it back in. | 442 // the animation from the rest, and then add it back in. |
443 int window_offset = shelf_->height(); | 443 int window_offset = shelf_->height(); |
444 if (!mole_animation_->IsShowing()) | 444 if (!mole_animation_->IsShowing()) |
445 window_offset += GetPreferredSize().height(); | 445 window_offset += GetPreferredSize().height(); |
446 else | 446 else |
447 window_offset += GetHandlePreferredSize().height(); | 447 window_offset += GetHandlePreferredSize().height(); |
448 int h = expanded_height_ - window_offset; | 448 int h = expanded_height_ - window_offset; |
449 window_size.set_height(window_offset + | 449 window_size.set_height(window_offset + |
450 static_cast<int>(h * mole_animation_->GetCurrentValue())); | 450 static_cast<int>(h * mole_animation_->GetCurrentValue())); |
451 } else if (!expanded_ && !dragging_) { | 451 } else if (!expanded_ && !dragging_) { |
452 window_size.set_height(GetHandlePreferredSize().height()); | 452 window_size.set_height(GetHandlePreferredSize().height()); |
453 } | 453 } |
454 | 454 |
455 // Now figure out where to place the window on the screen. Since it's a top- | 455 // Now figure out where to place the window on the screen. Since it's a top- |
456 // level widget, we need to do some coordinate conversion to get this right. | 456 // level widget, we need to do some coordinate conversion to get this right. |
457 gfx::Point origin(-kToolstripPadding, 0); | 457 gfx::Point origin(-kToolstripPadding, 0); |
458 if (expanded_ || mole_animation_->IsAnimating()) { | 458 if (expanded_ || mole_animation_->is_animating()) { |
459 origin.set_y(GetShelfView()->height() - window_size.height()); | 459 origin.set_y(GetShelfView()->height() - window_size.height()); |
460 views::View::ConvertPointToView(GetShelfView(), shelf_->GetRootView(), | 460 views::View::ConvertPointToView(GetShelfView(), shelf_->GetRootView(), |
461 &origin); | 461 &origin); |
462 } else { | 462 } else { |
463 origin.set_y(-(window_size.height() + kToolstripPadding - 1)); | 463 origin.set_y(-(window_size.height() + kToolstripPadding - 1)); |
464 views::View::ConvertPointToWidget(view(), &origin); | 464 views::View::ConvertPointToWidget(view(), &origin); |
465 } | 465 } |
466 SetBounds(0, 0, window_size.width(), window_size.height()); | 466 SetBounds(0, 0, window_size.width(), window_size.height()); |
467 window_->SetBounds(origin.x(), origin.y(), | 467 window_->SetBounds(origin.x(), origin.y(), |
468 window_size.width(), window_size.height()); | 468 window_size.width(), window_size.height()); |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 if (handle_visible()) | 658 if (handle_visible()) |
659 return; | 659 return; |
660 MessageLoop::current()->PostDelayedTask(FROM_HERE, | 660 MessageLoop::current()->PostDelayedTask(FROM_HERE, |
661 timer_factory_.NewRunnableMethod( | 661 timer_factory_.NewRunnableMethod( |
662 &ExtensionShelf::Toolstrip::DoShowShelfHandle), | 662 &ExtensionShelf::Toolstrip::DoShowShelfHandle), |
663 kShowDelayMs); | 663 kShowDelayMs); |
664 } | 664 } |
665 | 665 |
666 void ExtensionShelf::Toolstrip::HideShelfHandle(int delay_ms) { | 666 void ExtensionShelf::Toolstrip::HideShelfHandle(int delay_ms) { |
667 StopHandleTimer(); | 667 StopHandleTimer(); |
668 if (!handle_visible() || dragging_ || mole_animation_->IsAnimating()) | 668 if (!handle_visible() || dragging_ || mole_animation_->is_animating()) |
669 return; | 669 return; |
670 if (delay_ms) { | 670 if (delay_ms) { |
671 MessageLoop::current()->PostDelayedTask(FROM_HERE, | 671 MessageLoop::current()->PostDelayedTask(FROM_HERE, |
672 timer_factory_.NewRunnableMethod( | 672 timer_factory_.NewRunnableMethod( |
673 &ExtensionShelf::Toolstrip::DoHideShelfHandle), | 673 &ExtensionShelf::Toolstrip::DoHideShelfHandle), |
674 delay_ms); | 674 delay_ms); |
675 } else { | 675 } else { |
676 DoHideShelfHandle(); | 676 DoHideShelfHandle(); |
677 } | 677 } |
678 } | 678 } |
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1095 } | 1095 } |
1096 | 1096 |
1097 void ExtensionShelf::OnFullscreenToggled(bool fullscreen) { | 1097 void ExtensionShelf::OnFullscreenToggled(bool fullscreen) { |
1098 if (fullscreen == fullscreen_) | 1098 if (fullscreen == fullscreen_) |
1099 return; | 1099 return; |
1100 fullscreen_ = fullscreen; | 1100 fullscreen_ = fullscreen; |
1101 if (!IsAlwaysShown()) | 1101 if (!IsAlwaysShown()) |
1102 return; | 1102 return; |
1103 size_animation_->Reset(fullscreen ? 0 : 1); | 1103 size_animation_->Reset(fullscreen ? 0 : 1); |
1104 } | 1104 } |
OLD | NEW |