| Index: ash/shelf/shelf_layout_manager.cc
 | 
| diff --git a/ash/shelf/shelf_layout_manager.cc b/ash/shelf/shelf_layout_manager.cc
 | 
| index 3b2c1704ef60e16da604241b400ed1b09ec1865e..d5474587e1094ffe79c4f8b8d689435be23ec07a 100644
 | 
| --- a/ash/shelf/shelf_layout_manager.cc
 | 
| +++ b/ash/shelf/shelf_layout_manager.cc
 | 
| @@ -28,6 +28,7 @@
 | 
|  #include "base/auto_reset.h"
 | 
|  #include "base/command_line.h"
 | 
|  #include "base/i18n/rtl.h"
 | 
| +#include "ui/app_list/app_list_features.h"
 | 
|  #include "ui/base/ui_base_switches.h"
 | 
|  #include "ui/compositor/layer.h"
 | 
|  #include "ui/compositor/layer_animation_observer.h"
 | 
| @@ -425,6 +426,16 @@ void ShelfLayoutManager::OnVirtualKeyboardStateChanged(
 | 
|        &keyboard_observer_);
 | 
|  }
 | 
|  
 | 
| +void ShelfLayoutManager::OnAppListVisibilityChanged(bool shown,
 | 
| +                                                    aura::Window* root_window) {
 | 
| +  if (shelf_ != Shelf::ForWindow(root_window))
 | 
| +    return;
 | 
| +
 | 
| +  is_app_list_visible_ = shown;
 | 
| +  if (app_list::features::IsFullscreenAppListEnabled())
 | 
| +    MaybeUpdateShelfBackground(AnimationChangeType::IMMEDIATE);
 | 
| +}
 | 
| +
 | 
|  void ShelfLayoutManager::OnWindowActivated(ActivationReason reason,
 | 
|                                             aura::Window* gained_active,
 | 
|                                             aura::Window* lost_active) {
 | 
| @@ -468,6 +479,10 @@ ShelfBackgroundType ShelfLayoutManager::GetShelfBackgroundType() const {
 | 
|    if (state_.session_state != session_manager::SessionState::ACTIVE)
 | 
|      return SHELF_BACKGROUND_OVERLAP;
 | 
|  
 | 
| +  // If the app list is active, hide the shelf background to prevent overlap.
 | 
| +  if (is_app_list_visible_ && app_list::features::IsFullscreenAppListEnabled())
 | 
| +    return SHELF_BACKGROUND_DEFAULT;
 | 
| +
 | 
|    if (state_.visibility_state != SHELF_AUTO_HIDE &&
 | 
|        state_.window_state == wm::WORKSPACE_WINDOW_STATE_MAXIMIZED) {
 | 
|      return SHELF_BACKGROUND_MAXIMIZED;
 | 
| 
 |