Index: chrome/browser/prerender/prerender_unittest.cc |
diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc |
index 45df72b8bb9a90e7d6e15712d3a3aafc8a48042b..f1357ec7e4761ca57a39313b5dee36fc2a8a7b35 100644 |
--- a/chrome/browser/prerender/prerender_unittest.cc |
+++ b/chrome/browser/prerender/prerender_unittest.cc |
@@ -96,6 +96,22 @@ class DummyPrerenderContents : public PrerenderContents { |
FinalStatus expected_final_status_; |
}; |
+class TestPrerenderHandleObserver |
+ : public prerender::PrerenderHandle::Observer { |
+ public: |
+ void OnPrerenderStart(PrerenderHandle* prerender_handle) override {} |
+ void OnPrerenderStopLoading(PrerenderHandle* prerender_handle) override {} |
+ void OnPrerenderDomContentLoaded(PrerenderHandle* prerender_handle) override { |
+ } |
+ void OnPrerenderStop(PrerenderHandle* prerender_handle) override {} |
+ void OnPrerenderNetworkBytesChanged( |
+ PrerenderHandle* prerender_handle) override { |
+ network_bytes_changed = true; |
+ } |
+ |
+ bool network_bytes_changed = false; |
+}; |
+ |
int DummyPrerenderContents::g_next_route_id_ = 0; |
const gfx::Size kSize(640, 480); |
@@ -2000,4 +2016,20 @@ TEST_F(PrerenderTest, PrerenderContentsIsValidHttpMethod) { |
EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); |
} |
+TEST_F(PrerenderTest, PrerenderContentsIncrementsByteCount) { |
+ GURL url("http://www.google.com/"); |
+ DummyPrerenderContents* prerender_contents = nullptr; |
+ prerender_contents = prerender_manager()->CreateNextPrerenderContents( |
+ url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); |
+ std::unique_ptr<PrerenderHandle> prerender_handle = |
+ prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize); |
+ |
+ TestPrerenderHandleObserver observer; |
+ prerender_handle->SetObserver(&observer); |
+ |
+ prerender_contents->AddNetworkBytes(12); |
+ EXPECT_TRUE(observer.network_bytes_changed); |
+ EXPECT_EQ(12, prerender_contents->network_bytes()); |
+} |
+ |
} // namespace prerender |