• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef ASH_SHELF_SHELF_UTIL_H_
6 #define ASH_SHELF_SHELF_UTIL_H_
7 
8 #include "ash/ash_export.h"
9 #include "ash/launcher/launcher_types.h"
10 #include "ui/aura/window.h"
11 
12 namespace aura {
13 class Window;
14 }
15 
16 namespace ash {
17 
18 extern const aura::WindowProperty<ash::LauncherItemDetails*>* const
19     kLauncherItemDetailsKey;
20 
21 // Associates LauncherItem of |id| with specified |window|.
22 ASH_EXPORT void SetLauncherIDForWindow(LauncherID id, aura::Window* window);
23 
24 // Returns the id of the LauncherItem associated with the specified |window|,
25 // or 0 if there isn't one.
26 // Note: Window of a tabbed browser will return the |LauncherID| of the
27 // currently active tab.
28 ASH_EXPORT LauncherID GetLauncherIDForWindow(aura::Window* window);
29 
30 // Sets LauncherItemDetails for |window|.
31 ASH_EXPORT void SetLauncherItemDetailsForWindow(
32     aura::Window* window,
33     const LauncherItemDetails& details);
34 
35 // Clears LauncherItemDetails for |window|.
36 // If |window| has a LauncherItem by SetLauncherItemDetailsForWindow(), it will
37 // be removed.
38 ASH_EXPORT void ClearLauncherItemDetailsForWindow(aura::Window* window);
39 
40 // Returns LauncherItemDetails for |window| or NULL if it doesn't have.
41 // Returned LauncherItemDetails object is owned by the |window|.
42 ASH_EXPORT const LauncherItemDetails* GetLauncherItemDetailsForWindow(
43     aura::Window* window);
44 
45 }  // namespace ash
46 
47 #endif  // ASH_SHELF_SHELF_UTIL_H_
48