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

Unified Diff: athena/content/app_activity_proxy.cc

Issue 631333003: Adding application lifetime tests to athena, allowing to override focus request for applciations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed activation Created 6 years, 2 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
Index: athena/content/app_activity_proxy.cc
diff --git a/athena/content/app_activity_proxy.cc b/athena/content/app_activity_proxy.cc
index 143dd88af2c001f30f262606970a767512d2f47c..c6dd7655485fa5308f037d62e79723edaa6cbbf3 100644
--- a/athena/content/app_activity_proxy.cc
+++ b/athena/content/app_activity_proxy.cc
@@ -21,7 +21,8 @@ AppActivityProxy::AppActivityProxy(AppActivity* replaced_activity,
title_(replaced_activity->GetActivityViewModel()->GetTitle()),
color_(replaced_activity->GetActivityViewModel()->GetRepresentativeColor()),
replaced_activity_(replaced_activity),
- view_(new views::View()) {
+ view_(new views::View()),
+ restart_called_(false) {
}
AppActivityProxy::~AppActivityProxy() {
@@ -33,9 +34,11 @@ ActivityViewModel* AppActivityProxy::GetActivityViewModel() {
}
void AppActivityProxy::SetCurrentState(ActivityState state) {
- // We only restart the application when we are switching to visible.
- if (state != ACTIVITY_VISIBLE)
+ // We only restart the application when we are switching to visible, and only
+ // once.
+ if (state != ACTIVITY_VISIBLE || restart_called_)
return;
+ restart_called_ = true;
app_activity_registry_->RestartApplication(this);
// Note: This object is now destroyed.
}
@@ -69,10 +72,6 @@ void AppActivityProxy::Init() {
WindowManager::Get()->GetWindowListProvider();
window_list_provider->StackWindowBehindTo(GetWindow(),
replaced_activity_->GetWindow());
- // Creating this object was moving the activation to this window which should
- // not be the active window. As such we re-activate the top activity window.
- // TODO(skuhne): This should possibly move to the WindowListProvider.
- wm::ActivateWindow(window_list_provider->GetWindowList().back());
// After the Init() function returns, the passed |replaced_activity_| might
// get destroyed. Since we do not need it anymore we reset it.
replaced_activity_ = NULL;

Powered by Google App Engine
This is Rietveld 408576698