Changeset 215116 in webkit
- Timestamp:
- Apr 7, 2017, 1:49:49 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r215098 r215116 1 2017-04-07 Chris Dumez <cdumez@apple.com> 2 3 Throttle / Align DOM Timers in cross-origin iframes to 30fps 4 https://bugs.webkit.org/show_bug.cgi?id=170613 5 <rdar://problem/31506444> 6 7 Reviewed by Simon Fraser. 8 9 Add layout test coverage. 10 11 * http/tests/frame-throttling/resources/timer-throttling-frame.html: Added. 12 * http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe-expected.txt: Added. 13 * http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html: Added. 14 1 15 2017-04-07 Brent Fulgham <bfulgham@apple.com> 2 16 -
trunk/LayoutTests/platform/ios/TestExpectations
r215066 r215116 146 146 fast/shadow-dom/touch-event-ios.html [ Skip ] 147 147 fast/shadow-dom/touch-event-on-text-assigned-to-slot.html [ Skip ] 148 http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html [ Skip ] 149 http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html [ Skip ] 148 150 http/tests/quicklook/at-import-stylesheet-blocked.html [ Skip ] 149 151 http/tests/quicklook/base-url-blocked.html [ Skip ] -
trunk/Source/WebCore/ChangeLog
r215115 r215116 1 2017-04-07 Chris Dumez <cdumez@apple.com> 2 3 Throttle / Align DOM Timers in cross-origin iframes to 30fps 4 https://bugs.webkit.org/show_bug.cgi?id=170613 5 <rdar://problem/31506444> 6 7 Reviewed by Simon Fraser. 8 9 Throttle / Align DOM Timers in cross-origin iframes to 30fps unless the user 10 has interacted with them, in order to reduce power use. 11 12 Test: http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html 13 14 * dom/Document.cpp: 15 (WebCore::Document::domTimerAlignmentInterval): 16 (WebCore::Document::updateLastHandledUserGestureTimestamp): 17 * page/DOMTimer.h: 18 1 19 2017-04-07 John Wilander <wilander@apple.com> 2 20 -
trunk/Source/WebCore/dom/Document.cpp
r215070 r215116 2813 2813 alignmentInterval = std::max(alignmentInterval, page->domTimerAlignmentInterval()); 2814 2814 2815 if (!topOrigin().canAccess(securityOrigin()) && !hasHadUserInteraction()) 2816 alignmentInterval = std::max(alignmentInterval, DOMTimer::nonInteractedCrossOriginFrameAlignmentInterval()); 2817 2815 2818 return alignmentInterval; 2816 2819 } … … 6327 6330 m_scriptedAnimationController->removeThrottlingReason(ScriptedAnimationController::ThrottlingReason::NonInteractedCrossOriginFrame); 6328 6331 } 6332 6333 // DOM Timer alignment may depend on the user having interacted with the document. 6334 didChangeTimerAlignmentInterval(); 6329 6335 6330 6336 if (HTMLFrameOwnerElement* element = ownerElement()) -
trunk/Source/WebCore/page/DOMTimer.h
r213589 r215116 49 49 static Seconds defaultAlignmentInterval() { return 0_s; } 50 50 static Seconds defaultAlignmentIntervalInLowPowerMode() { return 30_ms; } 51 static Seconds nonInteractedCrossOriginFrameAlignmentInterval() { return 30_ms; } 51 52 static Seconds hiddenPageAlignmentInterval() { return 1_s; } 52 53
Note:
See TracChangeset
for help on using the changeset viewer.