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

Unified Diff: components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc

Issue 2260433006: Add delegate and factory function for ChildMemoryCoordinator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: export Created 4 years, 4 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: components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
diff --git a/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc b/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
index 445aeb0877b3be5b2346a6fd99bf729f77520679..d01bd02c74e1821fbc2a2b6c89deb5f570ccf23b 100644
--- a/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
+++ b/components/memory_coordinator/child/child_memory_coordinator_impl_unittest.cc
@@ -4,6 +4,10 @@
#include "components/memory_coordinator/child/child_memory_coordinator_impl.h"
+#if defined(OS_ANDROID)
+#include "components/memory_coordinator/child/child_memory_coordinator_impl_android.h"
+#endif // defined(OS_ANDROID)
+
#include <memory>
#include "base/message_loop/message_loop.h"
@@ -33,12 +37,13 @@ class MockMemoryCoordinatorHandle : public mojom::MemoryCoordinatorHandle {
mojom::ChildMemoryCoordinatorPtr child_ = nullptr;
};
-class ChildMemoryCoordinatorImplTest : public testing::Test {
+class ChildMemoryCoordinatorImplTest : public testing::Test,
+ public ChildMemoryCoordinatorDelegate {
public:
ChildMemoryCoordinatorImplTest()
: message_loop_(new base::MessageLoop) {
auto parent = coordinator_handle_.Bind();
- coordinator_impl_.reset(new ChildMemoryCoordinatorImpl(std::move(parent)));
+ coordinator_impl_ = CreateChildMemoryCoordinator(std::move(parent), this);
// Needs to run loop to initalize mojo pointers including |child_| in
// MockMemoryCoordinatorHandle.
base::RunLoop loop;
@@ -67,6 +72,14 @@ class ChildMemoryCoordinatorImplTest : public testing::Test {
loop.RunUntilIdle();
}
+ // ChildMemoryCoordinatorDelegate implementation:
+ void OnTrimMemoryImmediately() override {
+ on_trim_memory_called_ = true;
+ }
+
+ protected:
+ bool on_trim_memory_called_ = false;
+
private:
std::unique_ptr<base::MessageLoop> message_loop_;
MockMemoryCoordinatorHandle coordinator_handle_;
@@ -159,6 +172,18 @@ TEST_F(ChildMemoryCoordinatorImplTest, MultipleClients) {
t2.Stop();
}
+#if defined(OS_ANDROID)
+TEST_F(ChildMemoryCoordinatorImplTest, OnTrimMemoryImmediately) {
+ // TRIM_MEMORY_COMPLETE defined in ComponentCallbacks2.
+ static const int kTrimMemoryComplete = 80;
+
+ ChildMemoryCoordinatorImplAndroid& coordinator_android =
+ static_cast<ChildMemoryCoordinatorImplAndroid&>(coordinator_impl());
+ coordinator_android.OnTrimMemory(kTrimMemoryComplete);
+ EXPECT_EQ(true, on_trim_memory_called_);
+}
+#endif // defined(OS_ANDROID)
+
} // namespace
} // namespace memory_coordinator
« no previous file with comments | « components/memory_coordinator/child/child_memory_coordinator_impl_android.cc ('k') | content/renderer/render_thread_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698