| OLD | NEW | 
|   1 // Copyright 2017 The Chromium Authors. All rights reserved. |   1 // Copyright 2017 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 "ash/app_list/app_list_delegate_impl.h" |   5 #include "ash/app_list/app_list_delegate_impl.h" | 
|   6  |   6  | 
|   7 #include "ash/root_window_controller.h" |   7 #include "ash/root_window_controller.h" | 
|   8 #include "ash/shelf/app_list_button.h" |  | 
|   9 #include "ash/shelf/shelf.h" |  | 
|  10 #include "ash/shelf/shelf_widget.h" |  | 
|  11 #include "ash/shell.h" |   8 #include "ash/shell.h" | 
|  12 #include "ash/shell_port.h" |   9 #include "ash/shell_port.h" | 
 |  10 #include "ui/app_list/app_list_features.h" | 
|  13 #include "ui/app_list/presenter/app_list.h" |  11 #include "ui/app_list/presenter/app_list.h" | 
|  14  |  12  | 
|  15 namespace ash { |  13 namespace ash { | 
|  16  |  14 // TODO(newcomer): Remove this class as a part of crbug.com/726838 | 
|  17 AppListDelegateImpl::AppListDelegateImpl() { |  15 AppListDelegateImpl::AppListDelegateImpl() { | 
|  18   Shell::Get()->app_list()->set_delegate(this); |  16   Shell::Get()->app_list()->set_delegate(this); | 
|  19 } |  17 } | 
|  20  |  18  | 
|  21 AppListDelegateImpl::~AppListDelegateImpl() { |  19 AppListDelegateImpl::~AppListDelegateImpl() { | 
|  22   Shell::Get()->app_list()->set_delegate(nullptr); |  20   Shell::Get()->app_list()->set_delegate(nullptr); | 
|  23 } |  21 } | 
|  24  |  22  | 
|  25 void AppListDelegateImpl::OnAppListVisibilityChanged(bool visible, |  23 void AppListDelegateImpl::OnAppListVisibilityChanged(bool visible, | 
|  26                                                      int64_t display_id) { |  24                                                      int64_t display_id) { | 
|  27   aura::Window* root_window = |  25   if (app_list::features::IsFullscreenAppListEnabled()) { | 
|  28       ShellPort::Get()->GetRootWindowForDisplayId(display_id); |  26     aura::Window* root_window = | 
|  29   AppListButton* app_list_button = |  27         ShellPort::Get()->GetRootWindowForDisplayId(display_id); | 
|  30       Shelf::ForWindow(root_window)->shelf_widget()->GetAppListButton(); |  28     Shell::Get()->OnAppListVisibilityChanged(visible, root_window); | 
|  31   if (!app_list_button) |  29   } | 
|  32     return; |  | 
|  33  |  | 
|  34   if (visible) |  | 
|  35     app_list_button->OnAppListShown(); |  | 
|  36   else |  | 
|  37     app_list_button->OnAppListDismissed(); |  | 
|  38 } |  30 } | 
|  39  |  31  | 
|  40 }  // namespace ash |  32 }  // namespace ash | 
| OLD | NEW |