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

Side by Side Diff: chrome/browser/ui/ash/launcher/browser_status_monitor.cc

Issue 2318303002: Remove stl_util's STLDeleteContainerPairSecondPointers. (Closed)
Patch Set: fix Created 4 years, 3 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 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 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h" 5 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h"
6 6
7 #include "ash/aura/wm_window_aura.h" 7 #include "ash/aura/wm_window_aura.h"
8 #include "ash/common/shelf/shelf_item_types.h" 8 #include "ash/common/shelf/shelf_item_types.h"
9 #include "ash/common/wm_window_property.h" 9 #include "ash/common/wm_window_property.h"
10 #include "ash/resources/grit/ash_resources.h" 10 #include "ash/resources/grit/ash_resources.h"
11 #include "ash/shell.h" 11 #include "ash/shell.h"
12 #include "ash/wm/window_util.h" 12 #include "ash/wm/window_util.h"
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/stl_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controll er.h" 15 #include "chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controll er.h"
16 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" 16 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
17 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_util.h" 17 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_util.h"
18 #include "chrome/browser/ui/browser.h" 18 #include "chrome/browser/ui/browser.h"
19 #include "chrome/browser/ui/browser_finder.h" 19 #include "chrome/browser/ui/browser_finder.h"
20 #include "chrome/browser/ui/browser_list.h" 20 #include "chrome/browser/ui/browser_list.h"
21 #include "chrome/browser/ui/browser_window.h" 21 #include "chrome/browser/ui/browser_window.h"
22 #include "chrome/browser/ui/settings_window_manager.h" 22 #include "chrome/browser/ui/settings_window_manager.h"
23 #include "chrome/browser/ui/settings_window_manager_observer.h" 23 #include "chrome/browser/ui/settings_window_manager_observer.h"
24 #include "chrome/browser/ui/tabs/tab_strip_model.h" 24 #include "chrome/browser/ui/tabs/tab_strip_model.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 browser_tab_strip_tracker_.Init( 118 browser_tab_strip_tracker_.Init(
119 BrowserTabStripTracker::InitWith::ALL_BROWERS); 119 BrowserTabStripTracker::InitWith::ALL_BROWERS);
120 } 120 }
121 121
122 BrowserStatusMonitor::~BrowserStatusMonitor() { 122 BrowserStatusMonitor::~BrowserStatusMonitor() {
123 ash::Shell::GetInstance()->activation_client()->RemoveObserver(this); 123 ash::Shell::GetInstance()->activation_client()->RemoveObserver(this);
124 chrome::SettingsWindowManager::GetInstance()->RemoveObserver( 124 chrome::SettingsWindowManager::GetInstance()->RemoveObserver(
125 settings_window_observer_.get()); 125 settings_window_observer_.get());
126 126
127 browser_tab_strip_tracker_.StopObservingAndSendOnBrowserRemoved(); 127 browser_tab_strip_tracker_.StopObservingAndSendOnBrowserRemoved();
128
129 base::STLDeleteContainerPairSecondPointers(
130 webcontents_to_observer_map_.begin(), webcontents_to_observer_map_.end());
131 } 128 }
132 129
133 void BrowserStatusMonitor::UpdateAppItemState( 130 void BrowserStatusMonitor::UpdateAppItemState(
134 content::WebContents* contents, 131 content::WebContents* contents,
135 ChromeLauncherController::AppState app_state) { 132 ChromeLauncherController::AppState app_state) {
136 DCHECK(contents); 133 DCHECK(contents);
137 // It is possible to come here from Browser::SwapTabContent where the contents 134 // It is possible to come here from Browser::SwapTabContent where the contents
138 // cannot be associated with a browser. A removal however should be properly 135 // cannot be associated with a browser. A removal however should be properly
139 // processed. 136 // processed.
140 Browser* browser = chrome::FindBrowserWithWebContents(contents); 137 Browser* browser = chrome::FindBrowserWithWebContents(contents);
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 300
304 bool BrowserStatusMonitor::IsV1AppInShelf(Browser* browser) { 301 bool BrowserStatusMonitor::IsV1AppInShelf(Browser* browser) {
305 return browser_to_app_id_map_.find(browser) != browser_to_app_id_map_.end(); 302 return browser_to_app_id_map_.find(browser) != browser_to_app_id_map_.end();
306 } 303 }
307 304
308 void BrowserStatusMonitor::AddWebContentsObserver( 305 void BrowserStatusMonitor::AddWebContentsObserver(
309 content::WebContents* contents) { 306 content::WebContents* contents) {
310 if (webcontents_to_observer_map_.find(contents) == 307 if (webcontents_to_observer_map_.find(contents) ==
311 webcontents_to_observer_map_.end()) { 308 webcontents_to_observer_map_.end()) {
312 webcontents_to_observer_map_[contents] = 309 webcontents_to_observer_map_[contents] =
313 new LocalWebContentsObserver(contents, this); 310 base::MakeUnique<LocalWebContentsObserver>(contents, this);
314 } 311 }
315 } 312 }
316 313
317 void BrowserStatusMonitor::RemoveWebContentsObserver( 314 void BrowserStatusMonitor::RemoveWebContentsObserver(
318 content::WebContents* contents) { 315 content::WebContents* contents) {
319 DCHECK(webcontents_to_observer_map_.find(contents) != 316 DCHECK(webcontents_to_observer_map_.find(contents) !=
320 webcontents_to_observer_map_.end()); 317 webcontents_to_observer_map_.end());
321 delete webcontents_to_observer_map_[contents];
322 webcontents_to_observer_map_.erase(contents); 318 webcontents_to_observer_map_.erase(contents);
323 } 319 }
324 320
325 ash::ShelfID BrowserStatusMonitor::GetShelfIDForWebContents( 321 ash::ShelfID BrowserStatusMonitor::GetShelfIDForWebContents(
326 content::WebContents* contents) { 322 content::WebContents* contents) {
327 return launcher_controller_->GetShelfIDForWebContents(contents); 323 return launcher_controller_->GetShelfIDForWebContents(contents);
328 } 324 }
329 325
330 void BrowserStatusMonitor::SetShelfIDForBrowserWindowContents( 326 void BrowserStatusMonitor::SetShelfIDForBrowserWindowContents(
331 Browser* browser, 327 Browser* browser,
332 content::WebContents* web_contents) { 328 content::WebContents* web_contents) {
333 launcher_controller_->GetBrowserShortcutLauncherItemController()-> 329 launcher_controller_->GetBrowserShortcutLauncherItemController()->
334 SetShelfIDForBrowserWindowContents(browser, web_contents); 330 SetShelfIDForBrowserWindowContents(browser, web_contents);
335 } 331 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698