OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "views/widget/native_widget_views.h" | 5 #include "views/widget/native_widget_views.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
579 | 579 |
580 virtual void OnWidgetClosing(Widget* widget) OVERRIDE { | 580 virtual void OnWidgetClosing(Widget* widget) OVERRIDE { |
581 if (active_ == widget) | 581 if (active_ == widget) |
582 active_ = NULL; | 582 active_ = NULL; |
583 widget_closed_ = widget; | 583 widget_closed_ = widget; |
584 } | 584 } |
585 | 585 |
586 virtual void OnWidgetActivationChanged(Widget* widget, | 586 virtual void OnWidgetActivationChanged(Widget* widget, |
587 bool active) OVERRIDE { | 587 bool active) OVERRIDE { |
588 if (active) { | 588 if (active) { |
589 if (widget_activated_) | |
590 widget_activated_->Deactivate(); | |
sadrul
2011/08/07 04:25:10
I would've liked to avoid doing this in here. But
| |
589 widget_activated_ = widget; | 591 widget_activated_ = widget; |
590 active_ = widget; | 592 active_ = widget; |
591 } else | 593 } else { |
594 if (widget_activated_ == widget) | |
595 widget_activated_ = NULL; | |
592 widget_deactivated_ = widget; | 596 widget_deactivated_ = widget; |
597 } | |
593 } | 598 } |
594 | 599 |
595 virtual void OnWidgetVisibilityChanged(Widget* widget, | 600 virtual void OnWidgetVisibilityChanged(Widget* widget, |
596 bool visible) OVERRIDE { | 601 bool visible) OVERRIDE { |
597 if (visible) | 602 if (visible) |
598 widget_shown_ = widget; | 603 widget_shown_ = widget; |
599 else | 604 else |
600 widget_hidden_ = widget; | 605 widget_hidden_ = widget; |
601 } | 606 } |
602 | 607 |
(...skipping 23 matching lines...) Expand all Loading... | |
626 | 631 |
627 Widget* active_; | 632 Widget* active_; |
628 | 633 |
629 Widget* widget_closed_; | 634 Widget* widget_closed_; |
630 Widget* widget_activated_; | 635 Widget* widget_activated_; |
631 Widget* widget_deactivated_; | 636 Widget* widget_deactivated_; |
632 Widget* widget_shown_; | 637 Widget* widget_shown_; |
633 Widget* widget_hidden_; | 638 Widget* widget_hidden_; |
634 }; | 639 }; |
635 | 640 |
636 // TODO: This test should be enabled when NativeWidgetViews::Activate is | 641 TEST_F(WidgetObserverTest, ActivationChange) { |
637 // implemented. | |
638 TEST_F(WidgetObserverTest, DISABLED_ActivationChange) { | |
639 Widget* toplevel = CreateTopLevelPlatformWidget(); | 642 Widget* toplevel = CreateTopLevelPlatformWidget(); |
640 views_delegate.set_default_parent_view(toplevel->GetRootView()); | 643 views_delegate.set_default_parent_view(toplevel->GetRootView()); |
641 | 644 |
642 Widget* child1 = NewWidget(); | 645 Widget* child1 = NewWidget(); |
643 Widget* child2 = NewWidget(); | 646 Widget* child2 = NewWidget(); |
644 | 647 |
645 reset(); | 648 reset(); |
646 | 649 |
647 child1->Activate(); | 650 child1->Activate(); |
648 EXPECT_EQ(child1, widget_activated()); | 651 EXPECT_EQ(child1, widget_activated()); |
(...skipping 21 matching lines...) Expand all Loading... | |
670 | 673 |
671 child1->Show(); | 674 child1->Show(); |
672 EXPECT_EQ(child1, widget_shown()); | 675 EXPECT_EQ(child1, widget_shown()); |
673 | 676 |
674 child2->Show(); | 677 child2->Show(); |
675 EXPECT_EQ(child2, widget_shown()); | 678 EXPECT_EQ(child2, widget_shown()); |
676 } | 679 } |
677 | 680 |
678 } // namespace | 681 } // namespace |
679 } // namespace views | 682 } // namespace views |
OLD | NEW |