summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
Diffstat (limited to 'ash')
-rw-r--r--ash/test/ash_test_base.cc1
-rw-r--r--ash/wm/overlay_event_filter.cc8
-rw-r--r--ash/wm/partial_screenshot_view_unittest.cc2
-rw-r--r--ash/wm/session_state_animator_impl.cc20
-rw-r--r--ash/wm/window_manager_unittest.cc2
5 files changed, 22 insertions, 11 deletions
diff --git a/ash/test/ash_test_base.cc b/ash/test/ash_test_base.cc
index 34d14a4..4cb0f80 100644
--- a/ash/test/ash_test_base.cc
+++ b/ash/test/ash_test_base.cc
@@ -160,6 +160,7 @@ void AshTestBase::SetUp() {
void AshTestBase::TearDown() {
teardown_called_ = true;
+ Shell::GetInstance()->OnAppTerminating();
// Flush the message loop to finish pending release tasks.
RunAllPendingInMessageLoop();
diff --git a/ash/wm/overlay_event_filter.cc b/ash/wm/overlay_event_filter.cc
index 2e1c998..03c4947 100644
--- a/ash/wm/overlay_event_filter.cc
+++ b/ash/wm/overlay_event_filter.cc
@@ -63,16 +63,18 @@ void OverlayEventFilter::Activate(Delegate* delegate) {
void OverlayEventFilter::Deactivate(Delegate* delegate) {
if (delegate_ == delegate)
- delegate_ = NULL;
+ delegate_ = nullptr;
}
void OverlayEventFilter::Cancel() {
- if (delegate_)
+ if (delegate_) {
delegate_->Cancel();
+ delegate_ = nullptr;
+ }
}
bool OverlayEventFilter::IsActive() {
- return delegate_ != NULL;
+ return delegate_ != nullptr;
}
} // namespace ash
diff --git a/ash/wm/partial_screenshot_view_unittest.cc b/ash/wm/partial_screenshot_view_unittest.cc
index 6a31968..7ad5205 100644
--- a/ash/wm/partial_screenshot_view_unittest.cc
+++ b/ash/wm/partial_screenshot_view_unittest.cc
@@ -117,6 +117,8 @@ TEST_F(PartialScreenshotViewTest, DontStartOverOverlay) {
RunAllPendingInMessageLoop();
EXPECT_EQ(&delegate, overlay_filter->delegate_);
EXPECT_TRUE(view_ == NULL);
+
+ overlay_filter->Deactivate(&delegate);
}
} // namespace ash
diff --git a/ash/wm/session_state_animator_impl.cc b/ash/wm/session_state_animator_impl.cc
index e606953..babe3cc 100644
--- a/ash/wm/session_state_animator_impl.cc
+++ b/ash/wm/session_state_animator_impl.cc
@@ -505,14 +505,13 @@ void SessionStateAnimatorImpl::GetContainers(int container_mask,
// in such way.
aura::Window* non_lock_screen_containers = Shell::GetContainer(
root_window, kShellWindowId_NonLockScreenContainersContainer);
- aura::Window::Windows children = non_lock_screen_containers->children();
-
- for (aura::Window::Windows::const_iterator it = children.begin();
- it != children.end(); ++it) {
- aura::Window* window = *it;
- if (window->id() == kShellWindowId_ShelfContainer)
- continue;
- containers->push_back(window);
+ // |non_lock_screen_containers| may already be removed in some tests.
+ if (non_lock_screen_containers) {
+ for (aura::Window* window : non_lock_screen_containers->children()) {
+ if (window->id() == kShellWindowId_ShelfContainer)
+ continue;
+ containers->push_back(window);
+ }
}
}
if (container_mask & LOCK_SCREEN_BACKGROUND) {
@@ -527,6 +526,11 @@ void SessionStateAnimatorImpl::GetContainers(int container_mask,
containers->push_back(Shell::GetContainer(
root_window, kShellWindowId_LockScreenRelatedContainersContainer));
}
+
+ // Some of containers may be null in some tests.
+ containers->erase(
+ std::remove(containers->begin(), containers->end(), nullptr),
+ containers->end());
}
void SessionStateAnimatorImpl::StartAnimation(int container_mask,
diff --git a/ash/wm/window_manager_unittest.cc b/ash/wm/window_manager_unittest.cc
index 6a51a0f..61aaaf2 100644
--- a/ash/wm/window_manager_unittest.cc
+++ b/ash/wm/window_manager_unittest.cc
@@ -832,6 +832,8 @@ TEST_F(WindowManagerTest, TestCursorClientObserver) {
EXPECT_TRUE(observer_a.did_visibility_change());
EXPECT_FALSE(observer_b.did_visibility_change());
EXPECT_TRUE(observer_a.is_cursor_visible());
+
+ cursor_manager->RemoveObserver(&observer_a);
}
#endif // defined(OS_CHROMEOS)