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

Side by Side Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.h

Issue 12288012: Showing launcher items for windowed v1 apps - pinned or not. Also - don't show windowed v1 apps in … (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing build breakage with clang Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_PER_APP_H_ 5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_PER_APP_H_
6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_PER_APP_H_ 6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_PER_APP_H_
7 7
8 #include <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 // Returns true if the item identified by |id| is pinned. 116 // Returns true if the item identified by |id| is pinned.
117 virtual bool IsPinned(ash::LauncherID id) OVERRIDE; 117 virtual bool IsPinned(ash::LauncherID id) OVERRIDE;
118 118
119 // Pins/unpins the specified id. 119 // Pins/unpins the specified id.
120 virtual void TogglePinned(ash::LauncherID id) OVERRIDE; 120 virtual void TogglePinned(ash::LauncherID id) OVERRIDE;
121 121
122 // Returns true if the specified item can be pinned or unpinned. Only apps can 122 // Returns true if the specified item can be pinned or unpinned. Only apps can
123 // be pinned. 123 // be pinned.
124 virtual bool IsPinnable(ash::LauncherID id) const OVERRIDE; 124 virtual bool IsPinnable(ash::LauncherID id) const OVERRIDE;
125 125
126 // If there is no launcher item in the launcher for application |app_id|, one
127 // gets created. The (existing or created) launcher items get then locked
128 // against a users un-pinning removal.
129 virtual void LockV1AppWithID(const std::string& app_id) OVERRIDE;
130
131 // A previously locked launcher item of type |app_id| gets unlocked. If the
132 // lock count reaches 0 and the item is not pinned it will go away.
133 virtual void UnlockV1AppWithID(const std::string& app_id) OVERRIDE;
134
126 // Requests that the launcher item controller specified by |id| open a new 135 // Requests that the launcher item controller specified by |id| open a new
127 // instance of the app. |event_flags| holds the flags of the event which 136 // instance of the app. |event_flags| holds the flags of the event which
128 // triggered this command. 137 // triggered this command.
129 virtual void Launch(ash::LauncherID id, int event_flags) OVERRIDE; 138 virtual void Launch(ash::LauncherID id, int event_flags) OVERRIDE;
130 139
131 // Closes the specified item. 140 // Closes the specified item.
132 virtual void Close(ash::LauncherID id) OVERRIDE; 141 virtual void Close(ash::LauncherID id) OVERRIDE;
133 142
134 // Returns true if the specified item is open. 143 // Returns true if the specified item is open.
135 virtual bool IsOpen(ash::LauncherID id) OVERRIDE; 144 virtual bool IsOpen(ash::LauncherID id) OVERRIDE;
(...skipping 22 matching lines...) Expand all
158 const std::string& app_id) OVERRIDE; 167 const std::string& app_id) OVERRIDE;
159 virtual std::string GetAppIDForLauncherID(ash::LauncherID id) OVERRIDE; 168 virtual std::string GetAppIDForLauncherID(ash::LauncherID id) OVERRIDE;
160 169
161 // Set the image for a specific launcher item (e.g. when set by the app). 170 // Set the image for a specific launcher item (e.g. when set by the app).
162 virtual void SetLauncherItemImage(ash::LauncherID launcher_id, 171 virtual void SetLauncherItemImage(ash::LauncherID launcher_id,
163 const gfx::ImageSkia& image) OVERRIDE; 172 const gfx::ImageSkia& image) OVERRIDE;
164 173
165 // Returns true if a pinned launcher item with given |app_id| could be found. 174 // Returns true if a pinned launcher item with given |app_id| could be found.
166 virtual bool IsAppPinned(const std::string& app_id) OVERRIDE; 175 virtual bool IsAppPinned(const std::string& app_id) OVERRIDE;
167 176
177 // Find out if the given application |id| is a windowed app item and not a
178 // pinned item in the launcher.
179 bool IsWindowedAppInLauncher(const std::string& app_id);
180
168 // Pins an app with |app_id| to launcher. If there is a running instance in 181 // Pins an app with |app_id| to launcher. If there is a running instance in
169 // launcher, the running instance is pinned. If there is no running instance, 182 // launcher, the running instance is pinned. If there is no running instance,
170 // a new launcher item is created and pinned. 183 // a new launcher item is created and pinned.
171 virtual void PinAppWithID(const std::string& app_id) OVERRIDE; 184 virtual void PinAppWithID(const std::string& app_id) OVERRIDE;
172 185
173 // Updates the launche type of the app for the specified id to |launch_type|. 186 // Updates the launche type of the app for the specified id to |launch_type|.
174 virtual void SetLaunchType( 187 virtual void SetLaunchType(
175 ash::LauncherID id, 188 ash::LauncherID id,
176 extensions::ExtensionPrefs::LaunchType launch_type) OVERRIDE; 189 extensions::ExtensionPrefs::LaunchType launch_type) OVERRIDE;
177 190
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 // These are intended for testing. 324 // These are intended for testing.
312 virtual void SetAppTabHelperForTest(AppTabHelper* helper) OVERRIDE; 325 virtual void SetAppTabHelperForTest(AppTabHelper* helper) OVERRIDE;
313 virtual void SetAppIconLoaderForTest(ash::AppIconLoader* loader) OVERRIDE; 326 virtual void SetAppIconLoaderForTest(ash::AppIconLoader* loader) OVERRIDE;
314 virtual const std::string& GetAppIdFromLauncherIdForTest( 327 virtual const std::string& GetAppIdFromLauncherIdForTest(
315 ash::LauncherID id) OVERRIDE; 328 ash::LauncherID id) OVERRIDE;
316 329
317 private: 330 private:
318 friend class ChromeLauncherControllerPerAppTest; 331 friend class ChromeLauncherControllerPerAppTest;
319 friend class LauncherPerAppAppBrowserTest; 332 friend class LauncherPerAppAppBrowserTest;
320 333
334 // Creates a new app shortcut item and controller on the launcher at |index|.
335 // Use kInsertItemAtEnd to add a shortcut as the last item.
336 virtual ash::LauncherID CreateAppShortcutLauncherItemWithType(
337 const std::string& app_id,
338 int index,
339 ash::LauncherItemType launcher_item_type);
340
321 // Updates the activation state of the Broswer item. 341 // Updates the activation state of the Broswer item.
322 void UpdateBrowserItemStatus(); 342 void UpdateBrowserItemStatus();
323 343
324 typedef std::map<ash::LauncherID, LauncherItemController*> 344 typedef std::map<ash::LauncherID, LauncherItemController*>
325 IDToItemControllerMap; 345 IDToItemControllerMap;
326 typedef std::list<content::WebContents*> WebContentsList; 346 typedef std::list<content::WebContents*> WebContentsList;
327 typedef std::map<std::string, WebContentsList> AppIDToWebContentsListMap; 347 typedef std::map<std::string, WebContentsList> AppIDToWebContentsListMap;
328 typedef std::map<content::WebContents*, std::string> WebContentsToAppIDMap; 348 typedef std::map<content::WebContents*, std::string> WebContentsToAppIDMap;
329 349
330 // Returns the profile used for new windows. 350 // Returns the profile used for new windows.
(...skipping 21 matching lines...) Expand all
352 void SetShelfAlignmentFromPrefs(); 372 void SetShelfAlignmentFromPrefs();
353 373
354 // Sets both of auto-hide behavior and alignment from prefs. 374 // Sets both of auto-hide behavior and alignment from prefs.
355 void SetShelfBehaviorsFromPrefs(); 375 void SetShelfBehaviorsFromPrefs();
356 376
357 // Returns the most recently active web contents for an app. 377 // Returns the most recently active web contents for an app.
358 content::WebContents* GetLastActiveWebContents(const std::string& app_id); 378 content::WebContents* GetLastActiveWebContents(const std::string& app_id);
359 379
360 // Creates an app launcher to insert at |index|. Note that |index| may be 380 // Creates an app launcher to insert at |index|. Note that |index| may be
361 // adjusted by the model to meet ordering constraints. 381 // adjusted by the model to meet ordering constraints.
382 // The |launcher_item_type| will be set into the LauncherModel.
362 ash::LauncherID InsertAppLauncherItem( 383 ash::LauncherID InsertAppLauncherItem(
363 LauncherItemController* controller, 384 LauncherItemController* controller,
364 const std::string& app_id, 385 const std::string& app_id,
365 ash::LauncherItemStatus status, 386 ash::LauncherItemStatus status,
366 int index); 387 int index,
388 ash::LauncherItemType launcher_item_type);
367 389
368 bool HasItemController(ash::LauncherID id) const; 390 bool HasItemController(ash::LauncherID id) const;
369 391
370 // Enumerate all Web contents which match a given shortcut |controller|. 392 // Enumerate all Web contents which match a given shortcut |controller|.
371 std::vector<content::WebContents*> GetV1ApplicationsFromController( 393 std::vector<content::WebContents*> GetV1ApplicationsFromController(
372 LauncherItemController* controller); 394 LauncherItemController* controller);
373 395
374 // Returns the list of all browsers runing. 396 // Returns the list of all browsers runing.
375 // TODO(skuhne): Move to wherever the BrowserLauncherItemController 397 // TODO(skuhne): Move to wherever the BrowserLauncherItemController
376 // functionality moves to. 398 // functionality moves to.
(...skipping 27 matching lines...) Expand all
404 PrefChangeRegistrar pref_change_registrar_; 426 PrefChangeRegistrar pref_change_registrar_;
405 427
406 AppSyncUIState* app_sync_ui_state_; 428 AppSyncUIState* app_sync_ui_state_;
407 429
408 scoped_ptr<ExtensionEnableFlow> extension_enable_flow_; 430 scoped_ptr<ExtensionEnableFlow> extension_enable_flow_;
409 431
410 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerPerApp); 432 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerPerApp);
411 }; 433 };
412 434
413 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_PER_APP_H_ 435 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_CONTROLLER_PER_APP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698