Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ash / wm / overlay_event_filter.cc
index cd5a487..2e1c998 100644 (file)
@@ -56,11 +56,14 @@ void OverlayEventFilter::OnLockStateChanged(bool locked) {
 }
 
 void OverlayEventFilter::Activate(Delegate* delegate) {
+  if (delegate_)
+    delegate_->Cancel();
   delegate_ = delegate;
 }
 
-void OverlayEventFilter::Deactivate() {
-  delegate_ = NULL;
+void OverlayEventFilter::Deactivate(Delegate* delegate) {
+  if (delegate_ == delegate)
+    delegate_ = NULL;
 }
 
 void OverlayEventFilter::Cancel() {
@@ -68,4 +71,8 @@ void OverlayEventFilter::Cancel() {
     delegate_->Cancel();
 }
 
+bool OverlayEventFilter::IsActive() {
+  return delegate_ != NULL;
+}
+
 }  // namespace ash