Changeset 242209 in webkit
- Timestamp:
- Feb 28, 2019 11:09:32 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/http/tests/performance/performance-resource-timing-resourcetimingbufferfull-shrinking-buffer-crash-expected.txt
r227926 r242209 20 20 PASS resourcesAfterShrinkingBuffer[0] is originalResources[0] 21 21 PASS resourcesAfterShrinkingBuffer[1] is originalResources[1] 22 23 Inside resourcetimingbufferfull 224 22 PASS performance.clearResourceTimings(); performance.getEntriesByType("resource").length is 0 25 23 26 24 After resourcetimingbufferfull 27 PASS resourcetimingbufferfullEventCount is 225 PASS resourcetimingbufferfullEventCount is 1 28 26 PASS resourcesAfterClearing = performance.getEntriesByType("resource"); resourcesAfterClearing.length is 1 29 27 PASS resourcesAfterClearing[0].initiatorType is "fetch" -
trunk/LayoutTests/http/tests/performance/performance-resource-timing-resourcetimingbufferfull-shrinking-buffer-crash.html
r227926 r242209 43 43 shouldBe('resourcesAfterShrinkingBuffer[0]', 'originalResources[0]'); 44 44 shouldBe('resourcesAfterShrinkingBuffer[1]', 'originalResources[1]'); 45 } else if (resourcetimingbufferfullEventCount == 2) {46 45 shouldBe('performance.clearResourceTimings(); performance.getEntriesByType("resource").length', '0'); 47 46 setTimeout(() => { 48 47 debug(''); 49 48 debug('After resourcetimingbufferfull'); 50 shouldBe('resourcetimingbufferfullEventCount', ' 2');49 shouldBe('resourcetimingbufferfullEventCount', '1'); 51 50 shouldBe('resourcesAfterClearing = performance.getEntriesByType("resource"); resourcesAfterClearing.length', '1'); 52 51 shouldBeEqualToString('resourcesAfterClearing[0].initiatorType', 'fetch'); -
trunk/LayoutTests/imported/w3c/ChangeLog
r242112 r242209 1 2019-02-28 Charles Vazac <cvazac@akamai.com> 2 3 Fix Resource Timing buffer edge cases for WPT 4 https://bugs.webkit.org/show_bug.cgi?id=193213 5 6 Reviewed by Youenn Fablet. 7 8 * web-platform-tests/resource-timing/buffer-full-add-after-full-event.html: 9 * web-platform-tests/resource-timing/buffer-full-add-entries-during-callback-that-drop-expected.txt: 10 * web-platform-tests/resource-timing/buffer-full-add-then-clear-expected.txt: 11 * web-platform-tests/resource-timing/buffer-full-then-increased-expected.txt: 12 1 13 2019-02-26 Youenn Fablet <youenn@apple.com> 2 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/buffer-full-add-then-clear-expected.txt
r239959 r242209 1 CONSOLE MESSAGE: line 2659: Error: assert_unreached: resourcetimingbufferfull should not fire Reached unreachable code2 1 3 Harness Error (FAIL), message = Error: assert_unreached: resourcetimingbufferfull should not fire Reached unreachable code 2 PASS Test that if the buffer is cleared after entries were added to the secondary buffer, those entries make it into the primary one 4 3 5 FAIL Test that if the buffer is cleared after entries were added to the secondary buffer, those entries make it into the primary one assert_equals: the last 3 resources should be in the buffer, since the first one was cleared expected 3 but got 06 -
trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/buffer-full-then-increased-expected.txt
r239959 r242209 1 CONSOLE MESSAGE: line 2659: Error: assert_unreached: resourcetimingbufferfull should not fire Reached unreachable code2 1 3 Harness Error (FAIL), message = Error: assert_unreached: resourcetimingbufferfull should not fire Reached unreachable code 2 PASS Test that overflowing the buffer and immediately increasing its limit does not trigger the resourcetimingbufferfull event 4 3 5 FAIL Test that overflowing the buffer and immediately increasing its limit does not trigger the resourcetimingbufferfull event assert_equals: All resources should be in the buffer, since its size was increased expected 3 but got 16 -
trunk/Source/WebCore/ChangeLog
r242207 r242209 1 2019-02-28 Charles Vazac <cvazac@akamai.com> 2 3 Fix Resource Timing buffer edge cases for WPT 4 https://bugs.webkit.org/show_bug.cgi?id=193213 5 6 Reviewed by Youenn Fablet. 7 8 Test coverage by LayoutTests/imported/w3c/web-platform-tests/resource-timing/buffer*.html 9 10 * page/Performance.cpp: 11 (WebCore::Performance::resourceTimingBufferFullTimerFired): Only dispatch the 12 resourcetimingbufferfull event if the buffer is still full (as it may have been cleared or 13 expanded). Also, avoid infinite loops if we aren't able to decrease the number of entries in 14 the secondary buffer. 15 1 16 2019-02-28 Takashi Komori <Takashi.Komori@sony.com> 2 17 -
trunk/Source/WebCore/page/Performance.cpp
r241598 r242209 215 215 216 216 while (!m_backupResourceTimingBuffer.isEmpty()) { 217 auto beforeCount = m_backupResourceTimingBuffer.size(); 218 217 219 auto backupBuffer = WTFMove(m_backupResourceTimingBuffer); 218 220 ASSERT(m_backupResourceTimingBuffer.isEmpty()); 219 221 220 m_resourceTimingBufferFullFlag = true; 221 dispatchEvent(Event::create(eventNames().resourcetimingbufferfullEvent, Event::CanBubble::No, Event::IsCancelable::No)); 222 if (isResourceTimingBufferFull()) { 223 m_resourceTimingBufferFullFlag = true; 224 dispatchEvent(Event::create(eventNames().resourcetimingbufferfullEvent, Event::CanBubble::No, Event::IsCancelable::No)); 225 } 222 226 223 227 if (m_resourceTimingBufferFullFlag) { … … 242 246 m_backupResourceTimingBuffer.append(entry.copyRef()); 243 247 } 248 249 auto afterCount = m_backupResourceTimingBuffer.size(); 250 251 if (beforeCount <= afterCount) { 252 m_backupResourceTimingBuffer.clear(); 253 break; 254 } 244 255 } 245 256 m_waitingForBackupBufferToBeProcessed = false;
Note: See TracChangeset
for help on using the changeset viewer.