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

Side by Side Diff: ash/common/shelf/shelf_widget.cc

Issue 2534953006: Fix shelf auto-hide calculation for app-list visibility. (Closed)
Patch Set: Address comments. Created 4 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
« no previous file with comments | « ash/common/shelf/shelf_widget.h ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/common/shelf/shelf_widget.h" 5 #include "ash/common/shelf/shelf_widget.h"
6 6
7 #include "ash/common/focus_cycler.h" 7 #include "ash/common/focus_cycler.h"
8 #include "ash/common/material_design/material_design_controller.h" 8 #include "ash/common/material_design/material_design_controller.h"
9 #include "ash/common/session/session_state_delegate.h" 9 #include "ash/common/session/session_state_delegate.h"
10 #include "ash/common/shelf/app_list_button.h"
10 #include "ash/common/shelf/shelf_background_animator_observer.h" 11 #include "ash/common/shelf/shelf_background_animator_observer.h"
11 #include "ash/common/shelf/shelf_constants.h" 12 #include "ash/common/shelf/shelf_constants.h"
12 #include "ash/common/shelf/shelf_delegate.h" 13 #include "ash/common/shelf/shelf_delegate.h"
13 #include "ash/common/shelf/shelf_layout_manager.h" 14 #include "ash/common/shelf/shelf_layout_manager.h"
14 #include "ash/common/shelf/shelf_view.h" 15 #include "ash/common/shelf/shelf_view.h"
15 #include "ash/common/shelf/wm_dimmer_view.h" 16 #include "ash/common/shelf/wm_dimmer_view.h"
16 #include "ash/common/shelf/wm_shelf.h" 17 #include "ash/common/shelf/wm_shelf.h"
17 #include "ash/common/shelf/wm_shelf_util.h" 18 #include "ash/common/shelf/wm_shelf_util.h"
18 #include "ash/common/system/status_area_layout_manager.h" 19 #include "ash/common/system/status_area_layout_manager.h"
19 #include "ash/common/system/status_area_widget.h" 20 #include "ash/common/system/status_area_widget.h"
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 427
427 bool ShelfWidget::IsShelfVisible() const { 428 bool ShelfWidget::IsShelfVisible() const {
428 return shelf_view_ && shelf_view_->visible(); 429 return shelf_view_ && shelf_view_->visible();
429 } 430 }
430 431
431 void ShelfWidget::SetShelfVisibility(bool visible) { 432 void ShelfWidget::SetShelfVisibility(bool visible) {
432 if (shelf_view_) 433 if (shelf_view_)
433 shelf_view_->SetVisible(visible); 434 shelf_view_->SetVisible(visible);
434 } 435 }
435 436
437 bool ShelfWidget::IsShowingAppList() const {
438 return GetAppListButton() && GetAppListButton()->is_showing_app_list();
439 }
440
436 bool ShelfWidget::IsShowingContextMenu() const { 441 bool ShelfWidget::IsShowingContextMenu() const {
437 return shelf_view_ && shelf_view_->IsShowingMenu(); 442 return shelf_view_ && shelf_view_->IsShowingMenu();
438 } 443 }
439 444
440 bool ShelfWidget::IsShowingOverflowBubble() const { 445 bool ShelfWidget::IsShowingOverflowBubble() const {
441 return shelf_view_ && shelf_view_->IsShowingOverflowBubble(); 446 return shelf_view_ && shelf_view_->IsShowingOverflowBubble();
442 } 447 }
443 448
444 void ShelfWidget::SetFocusCycler(FocusCycler* focus_cycler) { 449 void ShelfWidget::SetFocusCycler(FocusCycler* focus_cycler) {
445 delegate_view_->set_focus_cycler(focus_cycler); 450 delegate_view_->set_focus_cycler(focus_cycler);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 ShelfID id = window->GetIntProperty(WmWindowProperty::SHELF_ID); 494 ShelfID id = window->GetIntProperty(WmWindowProperty::SHELF_ID);
490 gfx::Rect bounds(shelf_view_->GetIdealBoundsOfItemIcon(id)); 495 gfx::Rect bounds(shelf_view_->GetIdealBoundsOfItemIcon(id));
491 gfx::Point screen_origin; 496 gfx::Point screen_origin;
492 views::View::ConvertPointToScreen(shelf_view_, &screen_origin); 497 views::View::ConvertPointToScreen(shelf_view_, &screen_origin);
493 return gfx::Rect(screen_origin.x() + bounds.x(), 498 return gfx::Rect(screen_origin.x() + bounds.x(),
494 screen_origin.y() + bounds.y(), bounds.width(), 499 screen_origin.y() + bounds.y(), bounds.width(),
495 bounds.height()); 500 bounds.height());
496 } 501 }
497 502
498 AppListButton* ShelfWidget::GetAppListButton() const { 503 AppListButton* ShelfWidget::GetAppListButton() const {
499 return shelf_view_->GetAppListButton(); 504 return shelf_view_ ? shelf_view_->GetAppListButton() : nullptr;
500 } 505 }
501 506
502 app_list::ApplicationDragAndDropHost* 507 app_list::ApplicationDragAndDropHost*
503 ShelfWidget::GetDragAndDropHostForAppList() { 508 ShelfWidget::GetDragAndDropHostForAppList() {
504 return shelf_view_; 509 return shelf_view_;
505 } 510 }
506 511
507 void ShelfWidget::OnWidgetActivationChanged(views::Widget* widget, 512 void ShelfWidget::OnWidgetActivationChanged(views::Widget* widget,
508 bool active) { 513 bool active) {
509 activating_as_fallback_ = false; 514 activating_as_fallback_ = false;
(...skipping 24 matching lines...) Expand all
534 if (shelf_view_) 539 if (shelf_view_)
535 shelf_view_->UpdateShelfItemBackground(alpha); 540 shelf_view_->UpdateShelfItemBackground(alpha);
536 } 541 }
537 542
538 void ShelfWidget::WillDeleteShelfLayoutManager() { 543 void ShelfWidget::WillDeleteShelfLayoutManager() {
539 shelf_layout_manager_->RemoveObserver(this); 544 shelf_layout_manager_->RemoveObserver(this);
540 shelf_layout_manager_ = nullptr; 545 shelf_layout_manager_ = nullptr;
541 } 546 }
542 547
543 } // namespace ash 548 } // namespace ash
OLDNEW
« no previous file with comments | « ash/common/shelf/shelf_widget.h ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698