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

Side by Side Diff: third_party/WebKit/Source/core/css/AffectedByFocusTest.cpp

Issue 1644543002: Moved element style recalc count and stats to StyleEngine. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/DragUpdateTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "core/HTMLNames.h" 5 #include "core/HTMLNames.h"
6 #include "core/dom/Element.h" 6 #include "core/dom/Element.h"
7 #include "core/dom/ElementTraversal.h" 7 #include "core/dom/ElementTraversal.h"
8 #include "core/dom/NodeComputedStyle.h" 8 #include "core/dom/NodeComputedStyle.h"
9 #include "core/dom/StyleEngine.h" 9 #include "core/dom/StyleEngine.h"
10 #include "core/frame/FrameView.h" 10 #include "core/frame/FrameView.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 "<div></div>" 199 "<div></div>"
200 "<div></div>" 200 "<div></div>"
201 "<div></div>" 201 "<div></div>"
202 "<div></div>" 202 "<div></div>"
203 "<div></div>" 203 "<div></div>"
204 "<div></div>" 204 "<div></div>"
205 "</div>"); 205 "</div>");
206 206
207 document().view()->updateAllLifecyclePhases(); 207 document().view()->updateAllLifecyclePhases();
208 208
209 unsigned startCount = document().styleEngine().resolverAccessCount(); 209 unsigned startCount = document().styleEngine().styleForElementCount();
210 210
211 document().getElementById("d")->focus(); 211 document().getElementById("d")->focus();
212 document().view()->updateAllLifecyclePhases(); 212 document().view()->updateAllLifecyclePhases();
213 213
214 unsigned accessCount = document().styleEngine().resolverAccessCount() - star tCount; 214 unsigned elementCount = document().styleEngine().styleForElementCount() - st artCount;
215 215
216 ASSERT_EQ(1U, accessCount); 216 ASSERT_EQ(1U, elementCount);
217 } 217 }
218 218
219 TEST_F(AffectedByFocusTest, ChildrenOrSiblingsAffectedByFocusUpdate) 219 TEST_F(AffectedByFocusTest, ChildrenOrSiblingsAffectedByFocusUpdate)
220 { 220 {
221 // Check that when focussing the outer div in the document below, you get a 221 // Check that when focussing the outer div in the document below, you get a
222 // style recalc for the whole subtree. 222 // style recalc for the whole subtree.
223 223
224 setHtmlInnerHTML("<style>:focus div { border: 1px solid lime; }</style>" 224 setHtmlInnerHTML("<style>:focus div { border: 1px solid lime; }</style>"
225 "<div id=d tabIndex=1>" 225 "<div id=d tabIndex=1>"
226 "<div></div>" 226 "<div></div>"
227 "<div></div>" 227 "<div></div>"
228 "<div></div>" 228 "<div></div>"
229 "<div></div>" 229 "<div></div>"
230 "<div></div>" 230 "<div></div>"
231 "<div></div>" 231 "<div></div>"
232 "<div></div>" 232 "<div></div>"
233 "<div></div>" 233 "<div></div>"
234 "<div></div>" 234 "<div></div>"
235 "<div></div>" 235 "<div></div>"
236 "</div>"); 236 "</div>");
237 237
238 document().view()->updateAllLifecyclePhases(); 238 document().view()->updateAllLifecyclePhases();
239 239
240 unsigned startCount = document().styleEngine().resolverAccessCount(); 240 unsigned startCount = document().styleEngine().styleForElementCount();
241 241
242 document().getElementById("d")->focus(); 242 document().getElementById("d")->focus();
243 document().view()->updateAllLifecyclePhases(); 243 document().view()->updateAllLifecyclePhases();
244 244
245 unsigned accessCount = document().styleEngine().resolverAccessCount() - star tCount; 245 unsigned elementCount = document().styleEngine().styleForElementCount() - st artCount;
246 246
247 ASSERT_EQ(11U, accessCount); 247 ASSERT_EQ(11U, elementCount);
248 } 248 }
249 249
250 TEST_F(AffectedByFocusTest, InvalidationSetFocusUpdate) 250 TEST_F(AffectedByFocusTest, InvalidationSetFocusUpdate)
251 { 251 {
252 // Check that when focussing the outer div in the document below, you get a 252 // Check that when focussing the outer div in the document below, you get a
253 // style recalc for the outer div and the class=a div only. 253 // style recalc for the outer div and the class=a div only.
254 254
255 setHtmlInnerHTML("<style>:focus .a { border: 1px solid lime; }</style>" 255 setHtmlInnerHTML("<style>:focus .a { border: 1px solid lime; }</style>"
256 "<div id=d tabIndex=1>" 256 "<div id=d tabIndex=1>"
257 "<div></div>" 257 "<div></div>"
258 "<div></div>" 258 "<div></div>"
259 "<div></div>" 259 "<div></div>"
260 "<div></div>" 260 "<div></div>"
261 "<div></div>" 261 "<div></div>"
262 "<div></div>" 262 "<div></div>"
263 "<div></div>" 263 "<div></div>"
264 "<div></div>" 264 "<div></div>"
265 "<div></div>" 265 "<div></div>"
266 "<div class='a'></div>" 266 "<div class='a'></div>"
267 "</div>"); 267 "</div>");
268 268
269 document().view()->updateAllLifecyclePhases(); 269 document().view()->updateAllLifecyclePhases();
270 270
271 unsigned startCount = document().styleEngine().resolverAccessCount(); 271 unsigned startCount = document().styleEngine().styleForElementCount();
272 272
273 document().getElementById("d")->focus(); 273 document().getElementById("d")->focus();
274 document().view()->updateAllLifecyclePhases(); 274 document().view()->updateAllLifecyclePhases();
275 275
276 unsigned accessCount = document().styleEngine().resolverAccessCount() - star tCount; 276 unsigned elementCount = document().styleEngine().styleForElementCount() - st artCount;
277 277
278 ASSERT_EQ(2U, accessCount); 278 ASSERT_EQ(2U, elementCount);
279 } 279 }
280 280
281 TEST_F(AffectedByFocusTest, NoInvalidationSetFocusUpdate) 281 TEST_F(AffectedByFocusTest, NoInvalidationSetFocusUpdate)
282 { 282 {
283 // Check that when focussing the outer div in the document below, you get a 283 // Check that when focussing the outer div in the document below, you get a
284 // style recalc for the outer div only. The invalidation set for :focus will 284 // style recalc for the outer div only. The invalidation set for :focus will
285 // include 'a', but the id=d div should be affectedByFocus, not childrenOrSi blingsAffectedByFocus. 285 // include 'a', but the id=d div should be affectedByFocus, not childrenOrSi blingsAffectedByFocus.
286 286
287 setHtmlInnerHTML("<style>#nomatch:focus .a { border: 1px solid lime; }</styl e>" 287 setHtmlInnerHTML("<style>#nomatch:focus .a { border: 1px solid lime; }</styl e>"
288 "<div id=d tabIndex=1>" 288 "<div id=d tabIndex=1>"
289 "<div></div>" 289 "<div></div>"
290 "<div></div>" 290 "<div></div>"
291 "<div></div>" 291 "<div></div>"
292 "<div></div>" 292 "<div></div>"
293 "<div></div>" 293 "<div></div>"
294 "<div></div>" 294 "<div></div>"
295 "<div></div>" 295 "<div></div>"
296 "<div></div>" 296 "<div></div>"
297 "<div></div>" 297 "<div></div>"
298 "<div class='a'></div>" 298 "<div class='a'></div>"
299 "</div>"); 299 "</div>");
300 300
301 document().view()->updateAllLifecyclePhases(); 301 document().view()->updateAllLifecyclePhases();
302 302
303 unsigned startCount = document().styleEngine().resolverAccessCount(); 303 unsigned startCount = document().styleEngine().styleForElementCount();
304 304
305 document().getElementById("d")->focus(); 305 document().getElementById("d")->focus();
306 document().view()->updateAllLifecyclePhases(); 306 document().view()->updateAllLifecyclePhases();
307 307
308 unsigned accessCount = document().styleEngine().resolverAccessCount() - star tCount; 308 unsigned elementCount = document().styleEngine().styleForElementCount() - st artCount;
309 309
310 ASSERT_EQ(1U, accessCount); 310 ASSERT_EQ(1U, elementCount);
311 } 311 }
312 312
313 } // namespace blink 313 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/DragUpdateTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698