Chromium Code Reviews| Index: ui/app_list/views/search_box_view.cc | 
| diff --git a/ui/app_list/views/search_box_view.cc b/ui/app_list/views/search_box_view.cc | 
| index 7acba845febcd0d4e5a8ece9eb0d896d608d78c4..56c0e38760881a1a10d6da6d4606ff4dacf88890 100644 | 
| --- a/ui/app_list/views/search_box_view.cc | 
| +++ b/ui/app_list/views/search_box_view.cc | 
| @@ -10,12 +10,14 @@ | 
| #include "base/memory/ptr_util.h" | 
| #include "build/build_config.h" | 
| #include "ui/app_list/app_list_constants.h" | 
| +#include "ui/app_list/app_list_features.h" | 
| #include "ui/app_list/app_list_model.h" | 
| #include "ui/app_list/app_list_switches.h" | 
| #include "ui/app_list/app_list_view_delegate.h" | 
| #include "ui/app_list/resources/grit/app_list_resources.h" | 
| #include "ui/app_list/search_box_model.h" | 
| #include "ui/app_list/speech_ui_model.h" | 
| +#include "ui/app_list/views/app_list_view.h" | 
| #include "ui/app_list/views/contents_view.h" | 
| #include "ui/app_list/views/search_box_view_delegate.h" | 
| #include "ui/base/ime/text_input_flags.h" | 
| @@ -33,6 +35,7 @@ | 
| #include "ui/views/layout/box_layout.h" | 
| #include "ui/views/layout/fill_layout.h" | 
| #include "ui/views/shadow_border.h" | 
| +#include "ui/views/widget/widget.h" | 
| namespace app_list { | 
| @@ -41,11 +44,13 @@ namespace { | 
| const int kPadding = 16; | 
| const int kInnerPadding = 24; | 
| const int kPreferredWidth = 360; | 
| +const int kPreferredWidthFullscreen = 544; | 
| const int kPreferredHeight = 48; | 
| const SkColor kHintTextColor = SkColorSetRGB(0xA0, 0xA0, 0xA0); | 
| const int kBackgroundBorderCornerRadius = 2; | 
| +const int kBackgroundBorderCornerRadiusFullscreen = 20; | 
| // A background that paints a solid white rounded rect with a thin grey border. | 
| class SearchBoxBackground : public views::Background { | 
| @@ -61,7 +66,11 @@ class SearchBoxBackground : public views::Background { | 
| cc::PaintFlags flags; | 
| flags.setAntiAlias(true); | 
| flags.setColor(kSearchBoxBackground); | 
| - canvas->DrawRoundRect(bounds, kBackgroundBorderCornerRadius, flags); | 
| + canvas->DrawRoundRect(bounds, | 
| + features::IsFullscreenAppListEnabled() | 
| + ? kBackgroundBorderCornerRadiusFullscreen | 
| + : kBackgroundBorderCornerRadius, | 
| 
 
xiyuan
2017/05/26 18:27:32
Can we use a const member var for border radius an
 
newcomer
2017/05/26 23:20:22
Done.
 
 | 
| + flags); | 
| } | 
| DISALLOW_COPY_AND_ASSIGN(SearchBoxBackground); | 
| @@ -122,6 +131,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, | 
| speech_button_(NULL), | 
| search_box_(new views::Textfield), | 
| contents_view_(NULL), | 
| + app_list_view_(NULL), | 
| focused_view_(FOCUS_SEARCH_BOX) { | 
| SetLayoutManager(new views::FillLayout); | 
| AddChildView(content_container_); | 
| @@ -157,6 +167,7 @@ SearchBoxView::SearchBoxView(SearchBoxViewDelegate* delegate, | 
| view_delegate_->GetSpeechUI()->AddObserver(this); | 
| ModelChanged(); | 
| + is_fullscreen_enabled_ = features::IsFullscreenAppListEnabled(); | 
| 
 
vadimt
2017/05/26 17:58:55
const
 
newcomer
2017/05/26 23:20:22
Done, in the header line 127.
 
 | 
| } | 
| SearchBoxView::~SearchBoxView() { | 
| @@ -188,6 +199,10 @@ void SearchBoxView::ClearSearch() { | 
| NotifyQueryChanged(); | 
| } | 
| +void SearchBoxView::SetAppListView(AppListView* app_list_view) { | 
| + app_list_view_ = app_list_view; | 
| +} | 
| + | 
| void SearchBoxView::SetShadow(const gfx::ShadowValue& shadow) { | 
| SetBorder(base::MakeUnique<views::ShadowBorder>(shadow)); | 
| Layout(); | 
| @@ -287,7 +302,9 @@ void SearchBoxView::SetBackButtonLabel(bool folder) { | 
| } | 
| gfx::Size SearchBoxView::GetPreferredSize() const { | 
| - return gfx::Size(kPreferredWidth, kPreferredHeight); | 
| + return gfx::Size( | 
| + is_fullscreen_enabled_ ? kPreferredWidthFullscreen : kPreferredWidth, | 
| + kPreferredHeight); | 
| } | 
| bool SearchBoxView::OnMouseWheel(const ui::MouseWheelEvent& event) { | 
| @@ -325,6 +342,11 @@ void SearchBoxView::ContentsChanged(views::Textfield* sender, | 
| UpdateModel(); | 
| view_delegate_->AutoLaunchCanceled(); | 
| NotifyQueryChanged(); | 
| + | 
| + if (is_fullscreen_enabled_ && !app_list_view_->IsFullscreen()) { | 
| + // If the app list is in the peeking state, switch it to fullscreen. | 
| + app_list_view_->ToFullscreen(); | 
| + } | 
| } | 
| bool SearchBoxView::HandleKeyEvent(views::Textfield* sender, |