Upstream version 7.35.139.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / ash / launcher / app_window_launcher_controller.cc
index e12e8bb..9fad25a 100644 (file)
@@ -85,9 +85,11 @@ void AppWindowLauncherController::AdditionalUserAddedToSession(
 }
 
 void AppWindowLauncherController::OnAppWindowAdded(AppWindow* app_window) {
+#if !defined(OS_CHROMEOS)
   if (!ControlsWindow(app_window->GetNativeWindow()))
     return;
   RegisterApp(app_window);
+#endif
 }
 
 void AppWindowLauncherController::OnAppWindowIconChanged(
@@ -110,6 +112,26 @@ void AppWindowLauncherController::OnAppWindowRemoved(AppWindow* app_window) {
   // OnWindowDestroying() has been called, doing the removal.
 }
 
+#if defined(OS_CHROMEOS)
+void AppWindowLauncherController::OnAppWindowShown(AppWindow* app_window) {
+  aura::Window* window = app_window->GetNativeWindow();
+  if (!ControlsWindow(window))
+    return;
+
+  if (!IsRegisteredApp(window))
+    RegisterApp(app_window);
+}
+
+void AppWindowLauncherController::OnAppWindowHidden(AppWindow* app_window) {
+  aura::Window* window = app_window->GetNativeWindow();
+  if (!ControlsWindow(window))
+    return;
+
+  if (IsRegisteredApp(window))
+    UnregisterApp(window);
+}
+#endif
+
 // Called from aura::Window::~Window(), before delegate_->OnWindowDestroyed()
 // which destroys AppWindow, so both |window| and the associated AppWindow
 // are valid here.