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

Side by Side Diff: ui/app_list/views/app_list_view.cc

Issue 913133007: Allow scroll events to open custom launcher pages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: host coordinates Created 5 years, 10 months 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "ui/app_list/views/app_list_view.h" 5 #include "ui/app_list/views/app_list_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 void AppListView::OnThemeChanged() { 331 void AppListView::OnThemeChanged() {
332 #if defined(OS_WIN) 332 #if defined(OS_WIN)
333 GetWidget()->Close(); 333 GetWidget()->Close();
334 #endif 334 #endif
335 } 335 }
336 336
337 bool AppListView::ShouldHandleSystemCommands() const { 337 bool AppListView::ShouldHandleSystemCommands() const {
338 return true; 338 return true;
339 } 339 }
340 340
341 bool AppListView::ShouldDescendIntoChildForEventHandling(
342 gfx::NativeView child,
343 const gfx::Point& location) {
344 // While on the start page, don't descend into the custom launcher page. Since
345 // the only valid action is to open it.
346 ContentsView* contents_view = app_list_main_view_->contents_view();
347 if (contents_view->GetActiveState() == AppListModel::STATE_START)
348 return !contents_view->GetCustomPageCollapsedBounds().Contains(location);
349
350 return views::BubbleDelegateView::ShouldDescendIntoChildForEventHandling(
351 child, location);
352 }
353
341 void AppListView::Prerender() { 354 void AppListView::Prerender() {
342 app_list_main_view_->Prerender(); 355 app_list_main_view_->Prerender();
343 } 356 }
344 357
345 void AppListView::OnProfilesChanged() { 358 void AppListView::OnProfilesChanged() {
346 app_list_main_view_->search_box_view()->InvalidateMenu(); 359 app_list_main_view_->search_box_view()->InvalidateMenu();
347 } 360 }
348 361
349 void AppListView::OnShutdown() { 362 void AppListView::OnShutdown() {
350 // Nothing to do on views - the widget will soon be closed, which will tear 363 // Nothing to do on views - the widget will soon be closed, which will tear
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 speech_view_->layer()->SetOpacity(0.0f); 440 speech_view_->layer()->SetOpacity(0.0f);
428 AddChildView(speech_view_); 441 AddChildView(speech_view_);
429 } 442 }
430 443
431 OnProfilesChanged(); 444 OnProfilesChanged();
432 } 445 }
433 446
434 void AppListView::InitChildWidgets() { 447 void AppListView::InitChildWidgets() {
435 DCHECK(search_box_view_); 448 DCHECK(search_box_view_);
436 449
437 app_list_main_view_->InitWidgets();
438
439 // Create the search box widget. 450 // Create the search box widget.
440 views::Widget::InitParams search_box_widget_params( 451 views::Widget::InitParams search_box_widget_params(
441 views::Widget::InitParams::TYPE_CONTROL); 452 views::Widget::InitParams::TYPE_CONTROL);
442 search_box_widget_params.parent = GetWidget()->GetNativeView(); 453 search_box_widget_params.parent = GetWidget()->GetNativeView();
443 search_box_widget_params.opacity = 454 search_box_widget_params.opacity =
444 views::Widget::InitParams::TRANSLUCENT_WINDOW; 455 views::Widget::InitParams::TRANSLUCENT_WINDOW;
445 456
446 // Create a widget for the SearchBoxView to live in. This allows the 457 // Create a widget for the SearchBoxView to live in. This allows the
447 // SearchBoxView to be on top of the custom launcher page's WebContents 458 // SearchBoxView to be on top of the custom launcher page's WebContents
448 // (otherwise the search box events will be captured by the WebContents). 459 // (otherwise the search box events will be captured by the WebContents).
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 768
758 if (will_appear) { 769 if (will_appear) {
759 speech_view_->SetVisible(true); 770 speech_view_->SetVisible(true);
760 } else { 771 } else {
761 app_list_main_view_->SetVisible(true); 772 app_list_main_view_->SetVisible(true);
762 search_box_view_->search_box()->RequestFocus(); 773 search_box_view_->search_box()->RequestFocus();
763 } 774 }
764 } 775 }
765 776
766 } // namespace app_list 777 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698