| Index: ash/wm/panels/panel_layout_manager.cc
|
| diff --git a/ash/wm/panels/panel_layout_manager.cc b/ash/wm/panels/panel_layout_manager.cc
|
| index 65f15e69ab1c4bf6daa62374e0cd1eda536f2a24..ea6f9e9cbc3a648d52e6fac349bdebca7d414717 100644
|
| --- a/ash/wm/panels/panel_layout_manager.cc
|
| +++ b/ash/wm/panels/panel_layout_manager.cc
|
| @@ -330,6 +330,15 @@ void PanelLayoutManager::ToggleMinimize(aura::Window* panel) {
|
| }
|
| }
|
|
|
| +views::Widget* PanelLayoutManager::GetCalloutWidgetForPanel(
|
| + aura::Window* panel) {
|
| + DCHECK(panel->parent() == panel_container_);
|
| + PanelList::iterator found =
|
| + std::find(panel_windows_.begin(), panel_windows_.end(), panel);
|
| + DCHECK(found != panel_windows_.end());
|
| + return found->callout_widget;
|
| +}
|
| +
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // PanelLayoutManager, aura::LayoutManager implementation:
|
| void PanelLayoutManager::OnWindowResized() {
|
| @@ -832,7 +841,8 @@ void PanelLayoutManager::UpdateCallouts() {
|
| ui::Layer* layer = callout_widget->GetNativeWindow()->layer();
|
| // If the panel is not over the callout position or has just become visible
|
| // then fade in the callout.
|
| - if (distance_until_over_panel > 0 || layer->GetTargetOpacity() < 1) {
|
| + if ((distance_until_over_panel > 0 || layer->GetTargetOpacity() < 1) &&
|
| + panel->layer()->GetTargetTransform().IsIdentity()) {
|
| if (distance_until_over_panel > 0 &&
|
| slide_distance >= distance_until_over_panel) {
|
| layer->SetOpacity(0);
|
|
|