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