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

Unified Diff: chrome/browser/ui/ash/launcher/app_window_launcher_controller.h

Issue 1823923002: arc: Support running Arc app in shelf (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased + few nits Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/ash/launcher/app_window_launcher_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/ash/launcher/app_window_launcher_controller.h
diff --git a/chrome/browser/ui/ash/launcher/app_window_launcher_controller.h b/chrome/browser/ui/ash/launcher/app_window_launcher_controller.h
index c4e197930ccec2d413e83f3f52870292f52a2ab6..9bdb6b9b0a6b2f6cdd57f0347583feb530cbccee 100644
--- a/chrome/browser/ui/ash/launcher/app_window_launcher_controller.h
+++ b/chrome/browser/ui/ash/launcher/app_window_launcher_controller.h
@@ -5,13 +5,9 @@
#ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_APP_WINDOW_LAUNCHER_CONTROLLER_H_
#define CHROME_BROWSER_UI_ASH_LAUNCHER_APP_WINDOW_LAUNCHER_CONTROLLER_H_
-#include <list>
-#include <map>
#include <string>
#include "base/macros.h"
-#include "extensions/browser/app_window/app_window_registry.h"
-#include "ui/aura/window_observer.h"
#include "ui/wm/public/activation_change_observer.h"
namespace aura {
@@ -23,23 +19,13 @@ class ActivationClient;
}
}
-namespace extensions {
-class AppWindow;
-}
-
+class AppWindowLauncherItemController;
class ChromeLauncherController;
class Profile;
-class AppWindowLauncherItemController;
-// AppWindowLauncherController observes the app window registry and the
-// aura window manager. It handles adding and removing launcher items from
-// ChromeLauncherController.
class AppWindowLauncherController
- : public extensions::AppWindowRegistry::Observer,
- public aura::WindowObserver,
- public aura::client::ActivationChangeObserver {
+ : public aura::client::ActivationChangeObserver {
public:
- explicit AppWindowLauncherController(ChromeLauncherController* owner);
~AppWindowLauncherController() override;
// Called by ChromeLauncherController when the active user changed and the
@@ -48,16 +34,7 @@ class AppWindowLauncherController
// An additional user identified by |Profile|, got added to the existing
// session.
- virtual void AdditionalUserAddedToSession(Profile* profile);
-
- // Overridden from AppWindowRegistry::Observer:
- void OnAppWindowIconChanged(extensions::AppWindow* app_window) override;
- void OnAppWindowShown(extensions::AppWindow* app_window,
- bool was_hidden) override;
- void OnAppWindowHidden(extensions::AppWindow* app_window) override;
-
- // Overriden from aura::WindowObserver:
- void OnWindowDestroying(aura::Window* window) override;
+ virtual void AdditionalUserAddedToSession(Profile* profile) {}
// Overriden from client::ActivationChangeObserver:
void OnWindowActivated(
@@ -66,34 +43,17 @@ class AppWindowLauncherController
aura::Window* lost_active) override;
protected:
- // Registers a app window with the shelf and this object.
- void RegisterApp(extensions::AppWindow* app_window);
+ explicit AppWindowLauncherController(ChromeLauncherController* owner);
- // Unregisters a app window with the shelf and this object.
- void UnregisterApp(aura::Window* window);
+ ChromeLauncherController* owner() { return owner_; }
- // Check if a given window is known to the launcher controller.
- bool IsRegisteredApp(aura::Window* window);
+ virtual AppWindowLauncherItemController* ControllerForWindow(
+ aura::Window* window) = 0;
private:
- typedef std::map<std::string, AppWindowLauncherItemController*>
- AppControllerMap;
- typedef std::map<aura::Window*, std::string> WindowToAppShelfIdMap;
-
- AppWindowLauncherItemController* ControllerForWindow(aura::Window* window);
-
+ // Unowned pointers.
ChromeLauncherController* owner_;
- // A set of unowned AppWindowRegistry pointers for loaded users.
- // Note that this will only be used with multiple users in the side by side
- // mode.
- std::set<extensions::AppWindowRegistry*> registry_;
- aura::client::ActivationClient* activation_client_;
-
- // Map of app launcher id to controller.
- AppControllerMap app_controller_map_;
-
- // Allows us to get from an aura::Window to the app shelf id.
- WindowToAppShelfIdMap window_to_app_shelf_id_map_;
+ aura::client::ActivationClient* activation_client_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(AppWindowLauncherController);
};
« no previous file with comments | « no previous file | chrome/browser/ui/ash/launcher/app_window_launcher_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698