Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
index 9b0bc44504f9787223b6c82471e8403813ac89f6..5ea92b0747edad3d20e8e93f80262cad0b5d3821 100644 |
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc |
@@ -348,11 +348,7 @@ void ChromeLauncherController::SetItemStatus( |
ash::LauncherItem item = model_->items()[index]; |
item.status = status; |
model_->Set(index, item); |
- |
- if (model_->items()[index].type == ash::TYPE_BROWSER_SHORTCUT) |
- return; |
} |
- UpdateBrowserItemStatus(); |
} |
void ChromeLauncherController::SetItemController( |
@@ -819,13 +815,6 @@ void ChromeLauncherController::UpdateAppState(content::WebContents* contents, |
RemoveTabFromRunningApp(contents, last_app_id); |
} |
- if (app_id.empty()) { |
- // Even if there is no application running, we should update the activation |
- // state of the associated browser. |
- UpdateBrowserItemStatus(); |
- return; |
- } |
- |
web_contents_to_app_id_[contents] = app_id; |
if (app_state == APP_STATE_REMOVED) { |
@@ -855,7 +844,6 @@ void ChromeLauncherController::UpdateAppState(content::WebContents* contents, |
ash::STATUS_ACTIVE : ash::STATUS_RUNNING); |
} |
} |
- UpdateBrowserItemStatus(); |
} |
void ChromeLauncherController::SetRefocusURLPatternForTest(ash::LauncherID id, |
@@ -1236,55 +1224,6 @@ ash::LauncherID ChromeLauncherController::CreateAppShortcutLauncherItemWithType( |
return launcher_id; |
} |
-void ChromeLauncherController::UpdateBrowserItemStatus() { |
- // This check needs for win7_aura. UpdateBrowserItemStatus() access Shell. |
- // Without this ChromeLauncherControllerTest.BrowserMenuGeneration test will |
- // fail. |
- if (!ash::Shell::HasInstance()) |
- return; |
- |
- // Determine the new browser's active state and change if necessary. |
- size_t browser_index = ash::launcher::GetBrowserItemIndex(*model_); |
- DCHECK_GE(browser_index, 0u); |
- ash::LauncherItem browser_item = model_->items()[browser_index]; |
- ash::LauncherItemStatus browser_status = ash::STATUS_CLOSED; |
- |
- aura::Window* window = ash::wm::GetActiveWindow(); |
- if (window) { |
- // Check if the active browser / tab is a browser which is not an app, |
- // a windowed app, a popup or any other item which is not a browser of |
- // interest. |
- Browser* browser = chrome::FindBrowserWithWindow(window); |
- if (IsBrowserRepresentedInBrowserList(browser)) { |
- browser_status = ash::STATUS_ACTIVE; |
- const ash::LauncherItems& items = model_->items(); |
- // If another launcher item has claimed to be active, we don't. |
- for (size_t i = 0; |
- i < items.size() && browser_status == ash::STATUS_ACTIVE; ++i) { |
- if (i != browser_index && items[i].status == ash::STATUS_ACTIVE) |
- browser_status = ash::STATUS_RUNNING; |
- } |
- } |
- } |
- |
- if (browser_status == ash::STATUS_CLOSED) { |
- const BrowserList* ash_browser_list = |
- BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH); |
- for (BrowserList::const_reverse_iterator it = |
- ash_browser_list->begin_last_active(); |
- it != ash_browser_list->end_last_active() && |
- browser_status == ash::STATUS_CLOSED; ++it) { |
- if (IsBrowserRepresentedInBrowserList(*it)) |
- browser_status = ash::STATUS_RUNNING; |
- } |
- } |
- |
- if (browser_status != browser_item.status) { |
- browser_item.status = browser_status; |
- model_->Set(browser_index, browser_item); |
- } |
-} |
- |
Profile* ChromeLauncherController::GetProfileForNewWindows() { |
return ProfileManager::GetDefaultProfileOrOffTheRecord(); |
} |
@@ -1556,30 +1495,21 @@ ChromeLauncherController::GetV1ApplicationsFromController( |
return app_controller->GetRunningApplications(); |
} |
-bool ChromeLauncherController::IsBrowserRepresentedInBrowserList( |
- Browser* browser) { |
- return (browser && |
- (browser->is_type_tabbed() || |
- !browser->is_app() || |
- !browser->is_type_popup() || |
- GetLauncherIDForAppID(web_app::GetExtensionIdFromApplicationName( |
- browser->app_name())) <= 0)); |
-} |
- |
-LauncherItemController* |
+BrowserShortcutLauncherItemController* |
ChromeLauncherController::GetBrowserShortcutLauncherItemController() { |
for (IDToItemControllerMap::iterator i = id_to_item_controller_map_.begin(); |
i != id_to_item_controller_map_.end(); ++i) { |
int index = model_->ItemIndexByID(i->first); |
const ash::LauncherItem& item = model_->items()[index]; |
if (item.type == ash::TYPE_BROWSER_SHORTCUT) |
- return i->second; |
+ return static_cast<BrowserShortcutLauncherItemController*>(i->second); |
} |
// LauncerItemController For Browser Shortcut must be existed. If it does not |
- // existe create it. |
+ // exist, create it. |
Mr4D (OOO till 08-26)
2013/09/04 15:12:33
What about:
// Create a LauncherItemController fo
simonhong_
2013/09/04 17:08:31
Done.
|
ash::LauncherID id = CreateBrowserShortcutLauncherItem(); |
DCHECK(id_to_item_controller_map_[id]); |
- return id_to_item_controller_map_[id]; |
+ return static_cast<BrowserShortcutLauncherItemController*>( |
+ id_to_item_controller_map_[id]); |
} |
ash::LauncherID ChromeLauncherController::CreateBrowserShortcutLauncherItem() { |