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

Side by Side Diff: chrome/browser/data_use_measurement/chrome_data_use_ascriber_unittest.cc

Issue 2572823002: Propogate the tab foreground, background change events to data use (Closed)
Patch Set: Fix trybot failure Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/data_use_measurement/chrome_data_use_ascriber.h" 5 #include "chrome/browser/data_use_measurement/chrome_data_use_ascriber.h"
6 6
7 #include <list> 7 #include <list>
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 ascriber()->RenderFrameCreated(kRenderProcessId, kRenderFrameId, -1, -1); 94 ascriber()->RenderFrameCreated(kRenderProcessId, kRenderFrameId, -1, -1);
95 EXPECT_EQ(1u, recorders().size()); 95 EXPECT_EQ(1u, recorders().size());
96 96
97 // Request should cause a recorder to be created. 97 // Request should cause a recorder to be created.
98 ascriber()->OnBeforeUrlRequest(request.get()); 98 ascriber()->OnBeforeUrlRequest(request.get());
99 EXPECT_EQ(2u, recorders().size()); 99 EXPECT_EQ(2u, recorders().size());
100 100
101 ascriber()->RenderFrameDeleted(kRenderProcessId, kRenderFrameId, -1, -1); 101 ascriber()->RenderFrameDeleted(kRenderProcessId, kRenderFrameId, -1, -1);
102 } 102 }
103 103
104 TEST_F(ChromeDataUseAscriberTest, RenderFrameShownAndHidden) {
105 if (content::IsBrowserSideNavigationEnabled())
106 return;
107
108 std::unique_ptr<net::URLRequest> request = CreateNewRequest(
109 "http://test.com", true, kRequestId, kRenderProcessId, kRenderFrameId);
110
111 ascriber()->RenderFrameCreated(kRenderProcessId, kRenderFrameId, -1, -1);
112 ascriber()->OnBeforeUrlRequest(request.get());
113 ascriber()->ReadyToCommitMainFrameNavigation(
114 GURL("http://test.com"), content::GlobalRequestID(kRenderProcessId, 0),
115 kRenderProcessId, kRenderFrameId, true, (void*)request.get());
116 ascriber()->WasShownOrHidden(kRenderProcessId, kRenderFrameId, true);
117
118 EXPECT_TRUE(
119 ascriber()->GetDataUseRecorder(request.get(), true)->is_visible());
120
121 // Hide the frame, and the visibility should be updated.
122 ascriber()->WasShownOrHidden(kRenderProcessId, kRenderFrameId, false);
123 EXPECT_FALSE(
124 ascriber()->GetDataUseRecorder(request.get(), true)->is_visible());
125
126 ascriber()->RenderFrameDeleted(kRenderProcessId, kRenderFrameId, -1, -1);
127 }
128
129 TEST_F(ChromeDataUseAscriberTest, RenderFrameHiddenAndShown) {
130 if (content::IsBrowserSideNavigationEnabled())
131 return;
132
133 std::unique_ptr<net::URLRequest> request = CreateNewRequest(
134 "http://test.com", true, kRequestId, kRenderProcessId, kRenderFrameId);
135
136 ascriber()->RenderFrameCreated(kRenderProcessId, kRenderFrameId, -1, -1);
137 ascriber()->OnBeforeUrlRequest(request.get());
138 ascriber()->ReadyToCommitMainFrameNavigation(
139 GURL("http://test.com"), content::GlobalRequestID(kRenderProcessId, 0),
140 kRenderProcessId, kRenderFrameId, true, (void*)request.get());
141 ascriber()->WasShownOrHidden(kRenderProcessId, kRenderFrameId, false);
142
143 EXPECT_FALSE(
144 ascriber()->GetDataUseRecorder(request.get(), true)->is_visible());
145
146 // Show the frame, and the visibility should be updated.
147 ascriber()->WasShownOrHidden(kRenderProcessId, kRenderFrameId, true);
148 EXPECT_TRUE(
149 ascriber()->GetDataUseRecorder(request.get(), true)->is_visible());
150
151 ascriber()->RenderFrameDeleted(kRenderProcessId, kRenderFrameId, -1, -1);
152 }
153
154 TEST_F(ChromeDataUseAscriberTest, RenderFrameHostChanged) {
155 if (content::IsBrowserSideNavigationEnabled())
156 return;
157
158 std::unique_ptr<net::URLRequest> request = CreateNewRequest(
159 "http://test.com", true, kRequestId, kRenderProcessId, kRenderFrameId);
160
161 ascriber()->RenderFrameCreated(kRenderProcessId, kRenderFrameId, -1, -1);
162 ascriber()->OnBeforeUrlRequest(request.get());
163 ascriber()->ReadyToCommitMainFrameNavigation(
164 GURL("http://test.com"), content::GlobalRequestID(kRenderProcessId, 0),
165 kRenderProcessId, kRenderFrameId, true, (void*)request.get());
166 ascriber()->WasShownOrHidden(kRenderProcessId, kRenderFrameId, true);
167 EXPECT_TRUE(
168 ascriber()->GetDataUseRecorder(request.get(), true)->is_visible());
169
170 // Create a new render frame and swap it.
171 ascriber()->RenderFrameCreated(kRenderProcessId + 1, kRenderFrameId + 1, -1,
172 -1);
173 ascriber()->RenderFrameHostChanged(kRenderProcessId, kRenderFrameId,
174 kRenderProcessId + 1, kRenderFrameId + 1);
175 ascriber()->RenderFrameDeleted(kRenderProcessId, kRenderFrameId, -1, -1);
176
177 ascriber()->WasShownOrHidden(kRenderProcessId + 1, kRenderFrameId + 1, true);
178 ascriber()->RenderFrameDeleted(kRenderProcessId + 1, kRenderFrameId + 1, -1,
179 -1);
180 }
181
104 } // namespace data_use_measurement 182 } // namespace data_use_measurement
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698