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

Side by Side Diff: third_party/WebKit/Source/core/timing/PerformanceBase.cpp

Issue 2386403002: Pass DOMWinow to PerformanceLongTaskTiming for attribution (Closed)
Patch Set: sync and rebase Created 4 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * Copyright (C) 2012 Intel Inc. All rights reserved. 3 * Copyright (C) 2012 Intel Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 if (isFrameTimingBufferFull()) 354 if (isFrameTimingBufferFull())
355 dispatchEvent(Event::create(EventTypeNames::frametimingbufferfull)); 355 dispatchEvent(Event::create(EventTypeNames::frametimingbufferfull));
356 } 356 }
357 357
358 bool PerformanceBase::isFrameTimingBufferFull() { 358 bool PerformanceBase::isFrameTimingBufferFull() {
359 return m_frameTimingBuffer.size() >= m_frameTimingBufferSize; 359 return m_frameTimingBuffer.size() >= m_frameTimingBufferSize;
360 } 360 }
361 361
362 void PerformanceBase::addLongTaskTiming(double startTime, 362 void PerformanceBase::addLongTaskTiming(double startTime,
363 double endTime, 363 double endTime,
364 const String& frameContextUrl) { 364 const String& name,
365 DOMWindow* culpritWindow) {
365 if (isLongTaskTimingBufferFull() || 366 if (isLongTaskTimingBufferFull() ||
366 !hasObserverFor(PerformanceEntry::LongTask)) 367 !hasObserverFor(PerformanceEntry::LongTask))
367 return; 368 return;
368 PerformanceEntry* entry = PerformanceLongTaskTiming::create( 369 PerformanceEntry* entry = PerformanceLongTaskTiming::create(
369 monotonicTimeToDOMHighResTimeStampInMillis(startTime), 370 monotonicTimeToDOMHighResTimeStampInMillis(startTime),
370 monotonicTimeToDOMHighResTimeStampInMillis(endTime), frameContextUrl); 371 monotonicTimeToDOMHighResTimeStampInMillis(endTime), name, culpritWindow);
371 notifyObserversOfEntry(*entry); 372 notifyObserversOfEntry(*entry);
372 addLongTaskTimingBuffer(*entry); 373 addLongTaskTimingBuffer(*entry);
373 } 374 }
374 375
375 void PerformanceBase::addLongTaskTimingBuffer(PerformanceEntry& entry) { 376 void PerformanceBase::addLongTaskTimingBuffer(PerformanceEntry& entry) {
376 m_longTaskTimingBuffer.append(&entry); 377 m_longTaskTimingBuffer.append(&entry);
377 if (isLongTaskTimingBufferFull()) 378 if (isLongTaskTimingBufferFull())
378 dispatchEvent(Event::create(EventTypeNames::longtasktimingbufferfull)); 379 dispatchEvent(Event::create(EventTypeNames::longtasktimingbufferfull));
379 } 380 }
380 381
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 visitor->trace(m_resourceTimingBuffer); 520 visitor->trace(m_resourceTimingBuffer);
520 visitor->trace(m_longTaskTimingBuffer); 521 visitor->trace(m_longTaskTimingBuffer);
521 visitor->trace(m_userTiming); 522 visitor->trace(m_userTiming);
522 visitor->trace(m_observers); 523 visitor->trace(m_observers);
523 visitor->trace(m_activeObservers); 524 visitor->trace(m_activeObservers);
524 visitor->trace(m_suspendedObservers); 525 visitor->trace(m_suspendedObservers);
525 EventTargetWithInlineData::trace(visitor); 526 EventTargetWithInlineData::trace(visitor);
526 } 527 }
527 528
528 } // namespace blink 529 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/timing/PerformanceBase.h ('k') | third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698