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

Unified Diff: athena/screen/screen_manager_impl.cc

Issue 620663005: Lock screen for Chrome-Athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: one more nit 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
« no previous file with comments | « athena/main/athena_launcher.cc ('k') | athena/screen_lock/chrome/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/screen/screen_manager_impl.cc
diff --git a/athena/screen/screen_manager_impl.cc b/athena/screen/screen_manager_impl.cc
index 771f9397112c3a80cbe18f78dd84fb30f69c4c70..3ece1988ed8bf8cf220f19b8871dd4609f06ddab 100644
--- a/athena/screen/screen_manager_impl.cc
+++ b/athena/screen/screen_manager_impl.cc
@@ -154,6 +154,10 @@ class AthenaEventTargeter : public aura::WindowTargeter,
container_->RemoveObserver(this);
}
+ void SetPreviousEventTargeter(scoped_ptr<ui::EventTargeter> targeter) {
+ previous_root_event_targeter_ = targeter.Pass();
+ }
+
private:
// aura::WindowTargeter:
virtual bool SubtreeCanAcceptEvent(
@@ -183,10 +187,11 @@ class AthenaEventTargeter : public aura::WindowTargeter,
container_ = NULL;
// This will remove myself.
- root_window->SetEventTargeter(scoped_ptr<ui::EventTargeter>());
+ root_window->SetEventTargeter(previous_root_event_targeter_.Pass());
}
aura::Window* container_;
+ scoped_ptr<ui::EventTargeter> previous_root_event_targeter_;
DISALLOW_COPY_AND_ASSIGN(AthenaEventTargeter);
};
@@ -325,8 +330,11 @@ aura::Window* ScreenManagerImpl::CreateContainer(
DCHECK(std::find_if(children.begin(), children.end(), &GrabsInput)
== children.end())
<< "input has already been grabbed by another container";
- root_window_->SetEventTargeter(
- scoped_ptr<ui::EventTargeter>(new AthenaEventTargeter(container)));
+ AthenaEventTargeter* athena_event_targeter =
+ new AthenaEventTargeter(container);
+ athena_event_targeter->SetPreviousEventTargeter(
+ root_window_->SetEventTargeter(
+ scoped_ptr<ui::EventTargeter>(athena_event_targeter)));
}
root_window_->AddChild(container);
« no previous file with comments | « athena/main/athena_launcher.cc ('k') | athena/screen_lock/chrome/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698