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

Unified Diff: athena/activity/activity_manager_impl.cc

Issue 603033002: Get FileSelect dialog work on athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: reformat Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « athena/activity/activity_manager_impl.h ('k') | athena/activity/activity_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/activity/activity_manager_impl.cc
diff --git a/athena/activity/activity_manager_impl.cc b/athena/activity/activity_manager_impl.cc
index 7313b24430169ab240aad14b54de00335799099c..bf8572114a2b6e0a998fcb9d2e117816902dfac4 100644
--- a/athena/activity/activity_manager_impl.cc
+++ b/athena/activity/activity_manager_impl.cc
@@ -85,6 +85,19 @@ void ActivityManagerImpl::UpdateActivity(Activity* activity) {
widget->UpdateWindowTitle();
}
+Activity* ActivityManagerImpl::GetActivityForWindow(aura::Window* window) {
+ struct Matcher {
+ Matcher(aura::Window* w) : window(w) {}
+ bool operator()(Activity* activity) {
+ return activity->GetWindow() == window;
+ }
+ aura::Window* window;
+ };
+ std::vector<Activity*>::iterator iter =
+ std::find_if(activities_.begin(), activities_.end(), Matcher(window));
+ return iter != activities_.end() ? *iter : NULL;
+}
+
void ActivityManagerImpl::AddObserver(ActivityManagerObserver* observer) {
observers_.AddObserver(observer);
}
@@ -94,22 +107,10 @@ void ActivityManagerImpl::RemoveObserver(ActivityManagerObserver* observer) {
}
void ActivityManagerImpl::OnWidgetDestroying(views::Widget* widget) {
- struct Matcher {
- Matcher(aura::Window* w) : window(w) {}
-
- bool operator()(Activity* activity) {
- return activity->GetWindow() == window;
- }
- aura::Window* window;
- };
- std::vector<Activity*>::iterator iter =
- std::find_if(activities_.begin(),
- activities_.end(),
- Matcher(widget->GetNativeWindow()));
- DCHECK(iter != activities_.end());
- if (iter != activities_.end()) {
+ Activity* activity = GetActivityForWindow(widget->GetNativeWindow());
+ if (activity) {
widget->RemoveObserver(this);
- Activity::Delete(*iter);
+ Activity::Delete(activity);
}
}
« no previous file with comments | « athena/activity/activity_manager_impl.h ('k') | athena/activity/activity_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698