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

Unified Diff: chrome/browser/renderer_host/web_cache_manager_unittest.cc

Issue 528363002: Move webCacheManager to //components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 3 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: chrome/browser/renderer_host/web_cache_manager_unittest.cc
diff --git a/chrome/browser/renderer_host/web_cache_manager_unittest.cc b/chrome/browser/renderer_host/web_cache_manager_unittest.cc
deleted file mode 100644
index 81a201190b4225f3484bf9548c46a24bfe35906b..0000000000000000000000000000000000000000
--- a/chrome/browser/renderer_host/web_cache_manager_unittest.cc
+++ /dev/null
@@ -1,311 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <string>
-
-#include "base/message_loop/message_loop.h"
-#include "chrome/browser/renderer_host/web_cache_manager.h"
-#include "content/public/test/test_browser_thread.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using base::Time;
-using base::TimeDelta;
-using content::BrowserThread;
-using blink::WebCache;
-
-class WebCacheManagerTest : public testing::Test {
- protected:
- typedef WebCacheManager::StatsMap StatsMap;
- typedef WebCacheManager::Allocation Allocation;
- typedef WebCacheManager::AllocationStrategy AllocationStrategy;
-
- static const int kRendererID;
- static const int kRendererID2;
- static const WebCache::UsageStats kStats;
- static const WebCache::UsageStats kStats2;
-
- WebCacheManagerTest()
- : ui_thread_(BrowserThread::UI, &message_loop_) {
- }
-
- // Thunks to access protected members of WebCacheManager
- static std::map<int, WebCacheManager::RendererInfo>& stats(
- WebCacheManager* h) {
- return h->stats_;
- }
-
- static void SimulateInactivity(WebCacheManager* h, int renderer_id) {
- stats(h)[renderer_id].access = Time::Now() - TimeDelta::FromMinutes(
- WebCacheManager::kRendererInactiveThresholdMinutes);
- h->FindInactiveRenderers();
- }
-
- static std::set<int>& active_renderers(WebCacheManager* h) {
- return h->active_renderers_;
- }
- static std::set<int>& inactive_renderers(WebCacheManager* h) {
- return h->inactive_renderers_;
- }
- static void GatherStats(WebCacheManager* h,
- std::set<int> renderers,
- WebCache::UsageStats* stats) {
- h->GatherStats(renderers, stats);
- }
- static size_t GetSize(int tactic,
- const WebCache::UsageStats& stats) {
- return WebCacheManager::GetSize(
- static_cast<WebCacheManager::AllocationTactic>(tactic), stats);
- }
- static bool AttemptTactic(WebCacheManager* h,
- int active_tactic,
- const WebCache::UsageStats& active_stats,
- int inactive_tactic,
- const WebCache::UsageStats& inactive_stats,
- std::list< std::pair<int,size_t> >* strategy) {
- return h->AttemptTactic(
- static_cast<WebCacheManager::AllocationTactic>(active_tactic),
- active_stats,
- static_cast<WebCacheManager::AllocationTactic>(inactive_tactic),
- inactive_stats,
- strategy);
- }
- static void AddToStrategy(WebCacheManager* h,
- std::set<int> renderers,
- int tactic,
- size_t extra_bytes_to_allocate,
- std::list< std::pair<int,size_t> >* strategy) {
- h->AddToStrategy(renderers,
- static_cast<WebCacheManager::AllocationTactic>(tactic),
- extra_bytes_to_allocate,
- strategy);
- }
-
- enum {
- DIVIDE_EVENLY = WebCacheManager::DIVIDE_EVENLY,
- KEEP_CURRENT_WITH_HEADROOM = WebCacheManager::KEEP_CURRENT_WITH_HEADROOM,
- KEEP_CURRENT = WebCacheManager::KEEP_CURRENT,
- KEEP_LIVE_WITH_HEADROOM = WebCacheManager::KEEP_LIVE_WITH_HEADROOM,
- KEEP_LIVE = WebCacheManager::KEEP_LIVE,
- };
-
- WebCacheManager* manager() { return &manager_; }
-
- private:
- WebCacheManager manager_;
- base::MessageLoop message_loop_;
- content::TestBrowserThread ui_thread_;
-};
-
-// static
-const int WebCacheManagerTest::kRendererID = 146;
-
-// static
-const int WebCacheManagerTest::kRendererID2 = 245;
-
-// static
-const WebCache::UsageStats WebCacheManagerTest::kStats = {
- 0,
- 1024 * 1024,
- 1024 * 1024,
- 256 * 1024,
- 512,
- };
-
-// static
-const WebCache::UsageStats WebCacheManagerTest::kStats2 = {
- 0,
- 2 * 1024 * 1024,
- 2 * 1024 * 1024,
- 2 * 256 * 1024,
- 2 * 512,
- };
-
-static bool operator==(const WebCache::UsageStats& lhs,
- const WebCache::UsageStats& rhs) {
- return !::memcmp(&lhs, &rhs, sizeof(WebCache::UsageStats));
-}
-
-TEST_F(WebCacheManagerTest, AddRemoveRendererTest) {
- EXPECT_EQ(0U, active_renderers(manager()).size());
- EXPECT_EQ(0U, inactive_renderers(manager()).size());
-
- manager()->Add(kRendererID);
- EXPECT_EQ(1U, active_renderers(manager()).count(kRendererID));
- EXPECT_EQ(0U, inactive_renderers(manager()).count(kRendererID));
-
- manager()->Remove(kRendererID);
- EXPECT_EQ(0U, active_renderers(manager()).size());
- EXPECT_EQ(0U, inactive_renderers(manager()).size());
-}
-
-TEST_F(WebCacheManagerTest, ActiveInactiveTest) {
- manager()->Add(kRendererID);
-
- manager()->ObserveActivity(kRendererID);
- EXPECT_EQ(1U, active_renderers(manager()).count(kRendererID));
- EXPECT_EQ(0U, inactive_renderers(manager()).count(kRendererID));
-
- SimulateInactivity(manager(), kRendererID);
- EXPECT_EQ(0U, active_renderers(manager()).count(kRendererID));
- EXPECT_EQ(1U, inactive_renderers(manager()).count(kRendererID));
-
- manager()->ObserveActivity(kRendererID);
- EXPECT_EQ(1U, active_renderers(manager()).count(kRendererID));
- EXPECT_EQ(0U, inactive_renderers(manager()).count(kRendererID));
-
- manager()->Remove(kRendererID);
-}
-
-TEST_F(WebCacheManagerTest, ObserveStatsTest) {
- manager()->Add(kRendererID);
-
- EXPECT_EQ(1U, stats(manager()).size());
-
- manager()->ObserveStats(kRendererID, kStats);
-
- EXPECT_EQ(1U, stats(manager()).size());
- EXPECT_TRUE(kStats == stats(manager())[kRendererID]);
-
- manager()->Remove(kRendererID);
-}
-
-TEST_F(WebCacheManagerTest, SetGlobalSizeLimitTest) {
- size_t limit = manager()->GetDefaultGlobalSizeLimit();
- manager()->SetGlobalSizeLimit(limit);
- EXPECT_EQ(limit, manager()->global_size_limit());
-
- manager()->SetGlobalSizeLimit(0);
- EXPECT_EQ(0U, manager()->global_size_limit());
-}
-
-TEST_F(WebCacheManagerTest, GatherStatsTest) {
- manager()->Add(kRendererID);
- manager()->Add(kRendererID2);
-
- manager()->ObserveStats(kRendererID, kStats);
- manager()->ObserveStats(kRendererID2, kStats2);
-
- std::set<int> renderer_set;
- renderer_set.insert(kRendererID);
-
- WebCache::UsageStats stats;
- GatherStats(manager(), renderer_set, &stats);
-
- EXPECT_TRUE(kStats == stats);
-
- renderer_set.insert(kRendererID2);
- GatherStats(manager(), renderer_set, &stats);
-
- WebCache::UsageStats expected_stats = kStats;
- expected_stats.minDeadCapacity += kStats2.minDeadCapacity;
- expected_stats.maxDeadCapacity += kStats2.maxDeadCapacity;
- expected_stats.capacity += kStats2.capacity;
- expected_stats.liveSize += kStats2.liveSize;
- expected_stats.deadSize += kStats2.deadSize;
-
- EXPECT_TRUE(expected_stats == stats);
-
- manager()->Remove(kRendererID);
- manager()->Remove(kRendererID2);
-}
-
-TEST_F(WebCacheManagerTest, GetSizeTest) {
- EXPECT_EQ(0U, GetSize(DIVIDE_EVENLY, kStats));
- EXPECT_LT(256 * 1024u + 512, GetSize(KEEP_CURRENT_WITH_HEADROOM, kStats));
- EXPECT_EQ(256 * 1024u + 512, GetSize(KEEP_CURRENT, kStats));
- EXPECT_LT(256 * 1024u, GetSize(KEEP_LIVE_WITH_HEADROOM, kStats));
- EXPECT_EQ(256 * 1024u, GetSize(KEEP_LIVE, kStats));
-}
-
-TEST_F(WebCacheManagerTest, AttemptTacticTest) {
- manager()->Add(kRendererID);
- manager()->Add(kRendererID2);
-
- manager()->ObserveActivity(kRendererID);
- SimulateInactivity(manager(), kRendererID2);
-
- manager()->ObserveStats(kRendererID, kStats);
- manager()->ObserveStats(kRendererID2, kStats2);
-
- manager()->SetGlobalSizeLimit(kStats.liveSize + kStats.deadSize +
- kStats2.liveSize + kStats2.deadSize/2);
-
- AllocationStrategy strategy;
-
- EXPECT_FALSE(AttemptTactic(manager(),
- KEEP_CURRENT,
- kStats,
- KEEP_CURRENT,
- kStats2,
- &strategy));
- EXPECT_TRUE(strategy.empty());
-
- EXPECT_TRUE(AttemptTactic(manager(),
- KEEP_CURRENT,
- kStats,
- KEEP_LIVE,
- kStats2,
- &strategy));
- EXPECT_EQ(2U, strategy.size());
-
- AllocationStrategy::iterator iter = strategy.begin();
- while (iter != strategy.end()) {
- if (iter->first == kRendererID)
- EXPECT_LE(kStats.liveSize + kStats.deadSize, iter->second);
- else if (iter->first == kRendererID2)
- EXPECT_LE(kStats2.liveSize, iter->second);
- else
- ADD_FAILURE(); // Unexpected entry in strategy.
- ++iter;
- }
-
- manager()->Remove(kRendererID);
- manager()->Remove(kRendererID2);
-}
-
-TEST_F(WebCacheManagerTest, AddToStrategyTest) {
- manager()->Add(kRendererID);
- manager()->Add(kRendererID2);
-
- std::set<int> renderer_set;
- renderer_set.insert(kRendererID);
- renderer_set.insert(kRendererID2);
-
- manager()->ObserveStats(kRendererID, kStats);
- manager()->ObserveStats(kRendererID2, kStats2);
-
- const size_t kExtraBytesToAllocate = 10 * 1024;
-
- AllocationStrategy strategy;
- AddToStrategy(manager(),
- renderer_set,
- KEEP_CURRENT,
- kExtraBytesToAllocate,
- &strategy);
-
- EXPECT_EQ(2U, strategy.size());
-
- size_t total_bytes = 0;
- AllocationStrategy::iterator iter = strategy.begin();
- while (iter != strategy.end()) {
- total_bytes += iter->second;
-
- if (iter->first == kRendererID)
- EXPECT_LE(kStats.liveSize + kStats.deadSize, iter->second);
- else if (iter->first == kRendererID2)
- EXPECT_LE(kStats2.liveSize + kStats2.deadSize, iter->second);
- else
- ADD_FAILURE(); // Unexpected entry in strategy.
- ++iter;
- }
-
- size_t expected_total_bytes = kExtraBytesToAllocate +
- kStats.liveSize + kStats.deadSize +
- kStats2.liveSize + kStats2.deadSize;
-
- EXPECT_GE(expected_total_bytes, total_bytes);
-
- manager()->Remove(kRendererID);
- manager()->Remove(kRendererID2);
-}

Powered by Google App Engine
This is Rietveld 408576698