Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ui / app_list / views / app_list_view.cc
index 38a61d3..0499d45 100644 (file)
 #include "ui/app_list/signin_delegate.h"
 #include "ui/app_list/speech_ui_model.h"
 #include "ui/app_list/views/app_list_background.h"
+#include "ui/app_list/views/app_list_folder_view.h"
 #include "ui/app_list/views/app_list_main_view.h"
 #include "ui/app_list/views/app_list_view_observer.h"
+#include "ui/app_list/views/apps_container_view.h"
+#include "ui/app_list/views/contents_view.h"
 #include "ui/app_list/views/search_box_view.h"
 #include "ui/app_list/views/signin_view.h"
 #include "ui/app_list/views/speech_view.h"
@@ -193,6 +196,10 @@ void AppListView::UpdateBounds() {
   SizeToContents();
 }
 
+bool AppListView::ShouldCenterWindow() const {
+  return delegate_->ShouldCenterWindow();
+}
+
 gfx::Size AppListView::GetPreferredSize() {
   return app_list_main_view_->GetPreferredSize();
 }
@@ -294,7 +301,6 @@ void AppListView::InitAsBubbleInternal(gfx::NativeView parent,
   OnProfilesChanged();
   set_color(kContentsBackgroundColor);
   set_margins(gfx::Insets());
-  set_move_with_anchor(true);
   set_parent_window(parent);
   set_close_on_deactivate(false);
   set_close_on_esc(false);
@@ -330,8 +336,6 @@ void AppListView::InitAsBubbleInternal(gfx::NativeView parent,
   GetWidget()->Hide();
 #endif
 
-  OnSpeechRecognitionStateChanged(delegate_->GetSpeechUI()->state());
-
   if (delegate_)
     delegate_->ViewInitialized();
 }
@@ -385,6 +389,14 @@ bool AppListView::AcceleratorPressed(const ui::Accelerator& accelerator) {
   if (accelerator.key_code() == ui::VKEY_ESCAPE) {
     if (app_list_main_view_->search_box_view()->HasSearch()) {
       app_list_main_view_->search_box_view()->ClearSearch();
+    } else if (app_list_main_view_->contents_view()
+                   ->apps_container_view()
+                   ->IsInFolderView()) {
+      app_list_main_view_->contents_view()
+          ->apps_container_view()
+          ->app_list_folder_view()
+          ->CloseFolderPage();
+      return true;
     } else {
       GetWidget()->Deactivate();
       Close();
@@ -439,10 +451,8 @@ void AppListView::OnWidgetVisibilityChanged(views::Widget* widget,
   if (widget != GetWidget())
     return;
 
-  // We clear the search when hiding so the next time the app list appears it is
-  // not showing search results.
   if (!visible)
-    app_list_main_view_->search_box_view()->ClearSearch();
+    app_list_main_view_->ResetForShow();
 
   // Whether we need to signin or not may have changed since last time we were
   // shown.