<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[215173] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/215173">215173</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2017-04-10 01:02:21 -0700 (Mon, 10 Apr 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Drop Timer::startOneShot() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170659

Reviewed by Yusuke Suzuki.

Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.

Source/WebCore:

* Modules/geolocation/GeoNotifier.cpp:
(WebCore::GeoNotifier::startTimerIfNeeded):
* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::configureWatchdogTimer):
* Modules/mediasession/WebMediaSessionManager.h:
* Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::timerFired):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::close):
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
(WebCore::AXObjectCache::postLiveRegionChangeNotification):
(WebCore::AXObjectCache::focusAriaModalNode):
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::setStatus):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::addToMatchedPropertiesCache):
* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
(WebCore::Document::finishedParsing):
* dom/ScriptedAnimationController.cpp:
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::startAlternativeTextUITimer):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
(WebCore::HTMLMediaElement::handleSeekToPlaybackPosition):
* html/SearchInputType.cpp:
(WebCore::SearchInputType::startSearchEventTimer):
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
* html/canvas/WebGLRenderingContextBase.cpp:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::startTimer):
(WebCore::MediaControlPanelElement::makeTransparent):
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::startTimer):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::frameScheduledNavigation):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameScheduledNavigation):
* inspector/InspectorPageAgent.h:
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::startTimer):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
* loader/icon/IconDatabase.cpp:
* page/EventHandler.cpp:
* page/EventSource.cpp:
(WebCore::EventSource::scheduleReconnect):
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedElementNeedsRepaint):
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::enableSpeculativeTilingIfNeeded):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
* page/SuspendableTimer.h:
* page/animation/CSSAnimationController.cpp:
* page/mac/EventHandlerMac.mm:
* page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::setTextIndicator):
* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::stop):
* platform/ScrollAnimationSmooth.cpp:
(WebCore::getAnimationParametersForGranularity):
(WebCore::ScrollAnimationSmooth::updatePerAxisData):
(WebCore::ScrollAnimationSmooth::animateScroll):
(WebCore::ScrollAnimationSmooth::animationTimerFired):
(WebCore::ScrollAnimationSmooth::startNextTimer):
* platform/ScrollAnimationSmooth.h:
* platform/Timer.h:
(WebCore::TimerBase::startRepeating):
* platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::scheduleClientDataBufferingCheck):
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::scheduleStatelessScrollSnap):
* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::gamepadHadInput):
* platform/gamepad/mac/HIDGamepadProvider.cpp:
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::valuesChanged):
* platform/glib/MainThreadSharedTimerGLib.cpp:
(WebCore::MainThreadSharedTimer::setFireInterval):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::startTimer):
(WebCore::BitmapImage::internalStartAnimation):
(WebCore::BitmapImage::advanceAnimation):
(WebCore::BitmapImage::resetAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/MediaPlaybackTargetPicker.cpp:
* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::scheduleScratchBufferPurge):
* platform/graphics/ca/LayerPool.cpp:
(WebCore::LayerPool::schedulePrune):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3DManager::updateHighPerformanceState):
* platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
* platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::overlayScrollbarAnimationTimerFired):
(WebCore::ScrollAnimatorGtk::showOverlayScrollbars):
(WebCore::ScrollAnimatorGtk::hideOverlayScrollbars):
* platform/gtk/ScrollAnimatorGtk.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speak):
* platform/mock/TimerEventBasedMock.h:
(WebCore::TimerEvent::TimerEvent):
* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::timerFired):
* platform/network/PingHandle.h:
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
* platform/network/mac/NetworkStateNotifierMac.cpp:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::sendPendingRequest):
* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::restartTimer):
* rendering/RenderLayerCompositor.cpp:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::RenderProgress):
* rendering/RenderProgress.h:
* rendering/RenderText.cpp:
(WebCore::SecureTextTimer::restart):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::mediaControlsFadeOutDuration):
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
* rendering/RenderThemeGtk.h:
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar):
* replay/EventLoopInputDispatcher.cpp:
(WebCore::EventLoopInputDispatcher::dispatchInputSoon):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::startTimer):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
* testing/InternalSettings.h:
* testing/Internals.cpp:
(WebCore::Internals::setImageFrameDecodingDuration):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):

Source/WebKit:

* Storage/StorageAreaSync.cpp:
* Storage/StorageTracker.cpp:
(WebKit::StorageTracker::StorageTracker):
* Storage/StorageTracker.h:
(WebKit::StorageTracker::storageDatabaseIdleInterval):
(WebKit::StorageTracker::setStorageDatabaseIdleInterval):

Source/WebKit/mac:

* Plugins/WebNetscapePluginView.mm:
(PluginTimer::start):
* Storage/WebStorageManager.mm:
(+[WebStorageManager setStorageDatabaseIdleInterval:]):

Source/WebKit/win:

* Plugins/PluginMessageThrottlerWin.cpp:
(WebCore::PluginMessageThrottlerWin::appendMessage):
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
* Plugins/PluginViewWin.cpp:
(WebCore::PluginView::invalidateRect):
* WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::scheduleLayerFlush):

Source/WebKit2:

* NetworkProcess/PingLoad.h:
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::startTimeout):
* Platform/IPC/Connection.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
(IPC::Connection::terminateSoon):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::setMinimumLifetime):
* PluginProcess/PluginProcess.h:
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess):
* Shared/ChildProcess.h:
(WebKit::ChildProcess::setTerminationTimeout):
* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::startUpdateTimer):
* Shared/Plugins/PluginProcessCreationParameters.h:
* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::initializeTimers):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
(API::SharedJSContext::ensureContext):
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::shutDownProcess):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didChangeIsLoading):
* UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
* UIProcess/Cocoa/ViewGestureController.h:
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
* UIProcess/Gamepad/UIGamepadProvider.cpp:
* UIProcess/Plugins/PluginProcessProxy.cpp:
* UIProcess/ProcessThrottler.cpp:
* UIProcess/ResponsivenessTimer.cpp:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
* UIProcess/gtk/GestureController.cpp:
(WebKit::GestureController::DragGesture::begin):
* UIProcess/mac/WebInspectorProxyMac.mm:
* WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
* WebProcess/WebProcess.cpp:

Tools:

* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeoNotifiercpp">trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionWebMediaSessionManagercpp">trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionWebMediaSessionManagerh">trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamCanvasCaptureMediaStreamTrackcpp">trunk/Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesvibrationVibrationcpp">trunk/Source/WebCore/Modules/vibration/Vibration.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAXObjectCachecpp">trunk/Source/WebCore/accessibility/AXObjectCache.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontFacecpp">trunk/Source/WebCore/css/CSSFontFace.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptedAnimationControllercpp">trunk/Source/WebCore/dom/ScriptedAnimationController.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingAlternativeTextControllercpp">trunk/Source/WebCore/editing/AlternativeTextController.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlSearchInputTypecpp">trunk/Source/WebCore/html/SearchInputType.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlValidationMessagecpp">trunk/Source/WebCore/html/ValidationMessage.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp">trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowMediaControlElementscpp">trunk/Source/WebCore/html/shadow/MediaControlElements.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTRegioncpp">trunk/Source/WebCore/html/track/VTTRegion.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgentcpp">trunk/Source/WebCore/inspector/InspectorPageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgenth">trunk/Source/WebCore/inspector/InspectorPageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreloaderNavigationSchedulercpp">trunk/Source/WebCore/loader/NavigationScheduler.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoadercpp">trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconDatabasecpp">trunk/Source/WebCore/loader/icon/IconDatabase.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventHandlercpp">trunk/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventSourcecpp">trunk/Source/WebCore/page/EventSource.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFocusControllercpp">trunk/Source/WebCore/page/FocusController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSettingscpp">trunk/Source/WebCore/page/Settings.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSettingsh">trunk/Source/WebCore/page/Settings.h</a></li>
<li><a href="#trunkSourceWebCorepageSuspendableTimerh">trunk/Source/WebCore/page/SuspendableTimer.h</a></li>
<li><a href="#trunkSourceWebCorepageanimationCSSAnimationControllercpp">trunk/Source/WebCore/page/animation/CSSAnimationController.cpp</a></li>
<li><a href="#trunkSourceWebCorepagemacEventHandlerMacmm">trunk/Source/WebCore/page/mac/EventHandlerMac.mm</a></li>
<li><a href="#trunkSourceWebCorepagemacTextIndicatorWindowmm">trunk/Source/WebCore/page/mac/TextIndicatorWindow.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformHysteresisActivityh">trunk/Source/WebCore/platform/HysteresisActivity.h</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollAnimationSmoothcpp">trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollAnimationSmoothh">trunk/Source/WebCore/platform/ScrollAnimationSmooth.h</a></li>
<li><a href="#trunkSourceWebCoreplatformTimerh">trunk/Source/WebCore/platform/Timer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioPlatformMediaSessioncpp">trunk/Source/WebCore/platform/audio/PlatformMediaSession.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformcocoaScrollControllermm">trunk/Source/WebCore/platform/cocoa/ScrollController.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgamepadcocoaGameControllerGamepadProvidermm">trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgamepadmacHIDGamepadProvidercpp">trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformglibMainThreadSharedTimerGLibcpp">trunk/Source/WebCore/platform/glib/MainThreadSharedTimerGLib.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsBitmapImagecpp">trunk/Source/WebCore/platform/graphics/BitmapImage.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsBitmapImageh">trunk/Source/WebCore/platform/graphics/BitmapImage.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetPickercpp">trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsShadowBlurcpp">trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscaLayerPoolcpp">trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacGraphicsContext3DMacmm">trunk/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicstexmapBitmapTexturePoolcpp">trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicstexmapTextureMapperPlatformLayerProxycpp">trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicstexmapcoordinatedCoordinatedImageBackingcpp">trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkScrollAnimatorGtkcpp">trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgtkScrollAnimatorGtkh">trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKitmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacScrollAnimatorMacmm">trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMediaPlaybackTargetPickerMockcpp">trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockPlatformSpeechSynthesizerMockcpp">trunk/Source/WebCore/platform/mock/PlatformSpeechSynthesizerMock.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockTimerEventBasedMockh">trunk/Source/WebCore/platform/mock/TimerEventBasedMock.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkDNSResolveQueuecpp">trunk/Source/WebCore/platform/network/DNSResolveQueue.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkPingHandleh">trunk/Source/WebCore/platform/network/PingHandle.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlResourceHandleManagercpp">trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacNetworkStateNotifierMaccpp">trunk/Source/WebCore/platform/network/mac/NetworkStateNotifierMac.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp">trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingImageQualityControllercpp">trunk/Source/WebCore/rendering/ImageQualityController.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerCompositorcpp">trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderProgresscpp">trunk/Source/WebCore/rendering/RenderProgress.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderProgressh">trunk/Source/WebCore/rendering/RenderProgress.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextcpp">trunk/Source/WebCore/rendering/RenderText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemecpp">trunk/Source/WebCore/rendering/RenderTheme.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeh">trunk/Source/WebCore/rendering/RenderTheme.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeGtkcpp">trunk/Source/WebCore/rendering/RenderThemeGtk.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeGtkh">trunk/Source/WebCore/rendering/RenderThemeGtk.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeIOSh">trunk/Source/WebCore/rendering/RenderThemeIOS.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeIOSmm">trunk/Source/WebCore/rendering/RenderThemeIOS.mm</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMach">trunk/Source/WebCore/rendering/RenderThemeMac.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderThemeMacmm">trunk/Source/WebCore/rendering/RenderThemeMac.mm</a></li>
<li><a href="#trunkSourceWebCorereplayEventLoopInputDispatchercpp">trunk/Source/WebCore/replay/EventLoopInputDispatcher.cpp</a></li>
<li><a href="#trunkSourceWebCoresvganimationSMILTimeContainercpp">trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingscpp">trunk/Source/WebCore/testing/InternalSettings.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalSettingsh">trunk/Source/WebCore/testing/InternalSettings.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitStorageStorageAreaSynccpp">trunk/Source/WebKit/Storage/StorageAreaSync.cpp</a></li>
<li><a href="#trunkSourceWebKitStorageStorageTrackercpp">trunk/Source/WebKit/Storage/StorageTracker.cpp</a></li>
<li><a href="#trunkSourceWebKitStorageStorageTrackerh">trunk/Source/WebKit/Storage/StorageTracker.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacPluginsWebNetscapePluginViewmm">trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm</a></li>
<li><a href="#trunkSourceWebKitmacStorageWebStorageManagermm">trunk/Source/WebKit/mac/Storage/WebStorageManager.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinPluginsPluginMessageThrottlerWincpp">trunk/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp</a></li>
<li><a href="#trunkSourceWebKitwinPluginsPluginViewWincpp">trunk/Source/WebKit/win/Plugins/PluginViewWin.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportAcceleratedCompositingContextcpp">trunk/Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessPingLoadh">trunk/Source/WebKit2/NetworkProcess/PingLoad.h</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesssoupNetworkDataTaskSoupcpp">trunk/Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2PlatformIPCConnectionh">trunk/Source/WebKit2/Platform/IPC/Connection.h</a></li>
<li><a href="#trunkSourceWebKit2PlatformIPCmacConnectionMacmm">trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm</a></li>
<li><a href="#trunkSourceWebKit2PluginProcessPluginProcesscpp">trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2PluginProcessPluginProcessh">trunk/Source/WebKit2/PluginProcess/PluginProcess.h</a></li>
<li><a href="#trunkSourceWebKit2SharedChildProcesscpp">trunk/Source/WebKit2/Shared/ChildProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedChildProcessh">trunk/Source/WebKit2/Shared/ChildProcess.h</a></li>
<li><a href="#trunkSourceWebKit2SharedCoordinatedGraphicsthreadedcompositorCompositingRunLoopcpp">trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedPluginsPluginProcessCreationParametersh">trunk/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h</a></li>
<li><a href="#trunkSourceWebKit2SharedWebMemorySamplercpp">trunk/Source/WebKit2/Shared/WebMemorySampler.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebProcessCreationParametersh">trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaAPISerializedScriptValueCocoamm">trunk/Source/WebKit2/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessChildProcessProxycpp">trunk/Source/WebKit2/UIProcess/ChildProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaNavigationStatemm">trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaViewGestureControllercpp">trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaViewGestureControllerh">trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDrawingAreaProxyImplcpp">trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessGamepadUIGamepadProvidercpp">trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessPluginsPluginProcessProxycpp">trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessProcessThrottlercpp">trunk/Source/WebKit2/UIProcess/ProcessThrottler.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessResponsivenessTimercpp">trunk/Source/WebKit2/UIProcess/ResponsivenessTimer.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessPoolcpp">trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessgtkGestureControllercpp">trunk/Source/WebKit2/UIProcess/gtk/GestureController.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWebInspectorProxyMacmm">trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageAcceleratedDrawingAreacpp">trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageCoordinatedGraphicsCoordinatedLayerTreeHostcpp">trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebProcesscpp">trunk/Source/WebKit2/WebProcess/WebProcess.cpp</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWTFRunLoopcpp">trunk/Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundlegtkTestRunnerGtkcpp">trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/ChangeLog        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1,3 +1,183 @@
</span><ins>+2017-04-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * Modules/geolocation/GeoNotifier.cpp:
+        (WebCore::GeoNotifier::startTimerIfNeeded):
+        * Modules/mediasession/WebMediaSessionManager.cpp:
+        (WebCore::WebMediaSessionManager::configureWatchdogTimer):
+        * Modules/mediasession/WebMediaSessionManager.h:
+        * Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
+        (WebCore::CanvasCaptureMediaStreamTrack::Source::canvasChanged):
+        * Modules/vibration/Vibration.cpp:
+        (WebCore::Vibration::timerFired):
+        * Modules/websockets/WebSocketChannel.cpp:
+        (WebCore::WebSocketChannel::close):
+        * accessibility/AXObjectCache.cpp:
+        (WebCore::AXObjectCache::enqueuePasswordValueChangeNotification):
+        (WebCore::AXObjectCache::postLiveRegionChangeNotification):
+        (WebCore::AXObjectCache::focusAriaModalNode):
+        * css/CSSFontFace.cpp:
+        (WebCore::CSSFontFace::setStatus):
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::addToMatchedPropertiesCache):
+        * dom/Document.cpp:
+        (WebCore::Document::setVisualUpdatesAllowed):
+        (WebCore::Document::finishedParsing):
+        * dom/ScriptedAnimationController.cpp:
+        * editing/AlternativeTextController.cpp:
+        (WebCore::AlternativeTextController::startAlternativeTextUITimer):
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
+        (WebCore::HTMLMediaElement::handleSeekToPlaybackPosition):
+        * html/SearchInputType.cpp:
+        (WebCore::SearchInputType::startSearchEventTimer):
+        * html/ValidationMessage.cpp:
+        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        * html/shadow/MediaControlElements.cpp:
+        (WebCore::MediaControlPanelElement::startTimer):
+        (WebCore::MediaControlPanelElement::makeTransparent):
+        * html/track/VTTRegion.cpp:
+        (WebCore::VTTRegion::startTimer):
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
+        * inspector/InspectorInstrumentation.h:
+        (WebCore::InspectorInstrumentation::frameScheduledNavigation):
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::frameScheduledNavigation):
+        * inspector/InspectorPageAgent.h:
+        * loader/NavigationScheduler.cpp:
+        (WebCore::NavigationScheduler::startTimer):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
+        * loader/icon/IconDatabase.cpp:
+        * page/EventHandler.cpp:
+        * page/EventSource.cpp:
+        (WebCore::EventSource::scheduleReconnect):
+        * page/FocusController.cpp:
+        (WebCore::FocusController::setFocusedElementNeedsRepaint):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollPositionChanged):
+        (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
+        * page/Settings.cpp:
+        (WebCore::Settings::Settings):
+        * page/Settings.h:
+        (WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
+        (WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
+        * page/SuspendableTimer.h:
+        * page/animation/CSSAnimationController.cpp:
+        * page/mac/EventHandlerMac.mm:
+        * page/mac/TextIndicatorWindow.mm:
+        (WebCore::TextIndicatorWindow::setTextIndicator):
+        * platform/HysteresisActivity.h:
+        (WebCore::HysteresisActivity::stop):
+        * platform/ScrollAnimationSmooth.cpp:
+        (WebCore::getAnimationParametersForGranularity):
+        (WebCore::ScrollAnimationSmooth::updatePerAxisData):
+        (WebCore::ScrollAnimationSmooth::animateScroll):
+        (WebCore::ScrollAnimationSmooth::animationTimerFired):
+        (WebCore::ScrollAnimationSmooth::startNextTimer):
+        * platform/ScrollAnimationSmooth.h:
+        * platform/Timer.h:
+        (WebCore::TimerBase::startRepeating):
+        * platform/audio/PlatformMediaSession.cpp:
+        (WebCore::PlatformMediaSession::scheduleClientDataBufferingCheck):
+        * platform/cocoa/ScrollController.mm:
+        (WebCore::ScrollController::scheduleStatelessScrollSnap):
+        * platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+        (WebCore::GameControllerGamepadProvider::gamepadHadInput):
+        * platform/gamepad/mac/HIDGamepadProvider.cpp:
+        (WebCore::HIDGamepadProvider::openAndScheduleManager):
+        (WebCore::HIDGamepadProvider::valuesChanged):
+        * platform/glib/MainThreadSharedTimerGLib.cpp:
+        (WebCore::MainThreadSharedTimer::setFireInterval):
+        * platform/graphics/BitmapImage.cpp:
+        (WebCore::BitmapImage::startTimer):
+        (WebCore::BitmapImage::internalStartAnimation):
+        (WebCore::BitmapImage::advanceAnimation):
+        (WebCore::BitmapImage::resetAnimation):
+        * platform/graphics/BitmapImage.h:
+        * platform/graphics/MediaPlaybackTargetPicker.cpp:
+        * platform/graphics/ShadowBlur.cpp:
+        (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
+        * platform/graphics/ca/LayerPool.cpp:
+        (WebCore::LayerPool::schedulePrune):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
+        * platform/graphics/mac/GraphicsContext3DMac.mm:
+        (WebCore::GraphicsContext3DManager::updateHighPerformanceState):
+        * platform/graphics/texmap/BitmapTexturePool.cpp:
+        (WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
+        (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
+        * platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
+        (WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers):
+        (WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired):
+        * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
+        * platform/gtk/ScrollAnimatorGtk.cpp:
+        (WebCore::ScrollAnimatorGtk::overlayScrollbarAnimationTimerFired):
+        (WebCore::ScrollAnimatorGtk::showOverlayScrollbars):
+        (WebCore::ScrollAnimatorGtk::hideOverlayScrollbars):
+        * platform/gtk/ScrollAnimatorGtk.h:
+        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+        (WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
+        * platform/mac/ScrollAnimatorMac.mm:
+        (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
+        * platform/mock/MediaPlaybackTargetPickerMock.cpp:
+        * platform/mock/PlatformSpeechSynthesizerMock.cpp:
+        (WebCore::PlatformSpeechSynthesizerMock::speak):
+        * platform/mock/TimerEventBasedMock.h:
+        (WebCore::TimerEvent::TimerEvent):
+        * platform/network/DNSResolveQueue.cpp:
+        (WebCore::DNSResolveQueue::add):
+        (WebCore::DNSResolveQueue::timerFired):
+        * platform/network/PingHandle.h:
+        * platform/network/curl/ResourceHandleManager.cpp:
+        (WebCore::ResourceHandleManager::downloadTimerCallback):
+        (WebCore::ResourceHandleManager::add):
+        (WebCore::ResourceHandleManager::cancel):
+        * platform/network/mac/NetworkStateNotifierMac.cpp:
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::ResourceHandle::sendPendingRequest):
+        * rendering/ImageQualityController.cpp:
+        (WebCore::ImageQualityController::restartTimer):
+        * rendering/RenderLayerCompositor.cpp:
+        * rendering/RenderProgress.cpp:
+        (WebCore::RenderProgress::RenderProgress):
+        * rendering/RenderProgress.h:
+        * rendering/RenderText.cpp:
+        (WebCore::SecureTextTimer::restart):
+        * rendering/RenderTheme.cpp:
+        (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
+        * rendering/RenderTheme.h:
+        (WebCore::RenderTheme::mediaControlsFadeOutDuration):
+        * rendering/RenderThemeGtk.cpp:
+        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
+        * rendering/RenderThemeGtk.h:
+        * rendering/RenderThemeIOS.h:
+        * rendering/RenderThemeIOS.mm:
+        (WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar):
+        * rendering/RenderThemeMac.h:
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
+        (WebCore::RenderThemeMac::animationDurationForProgressBar):
+        * replay/EventLoopInputDispatcher.cpp:
+        (WebCore::EventLoopInputDispatcher::dispatchInputSoon):
+        * svg/animation/SMILTimeContainer.cpp:
+        (WebCore::SMILTimeContainer::startTimer):
+        * testing/InternalSettings.cpp:
+        (WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
+        * testing/InternalSettings.h:
+        * testing/Internals.cpp:
+        (WebCore::Internals::setImageFrameDecodingDuration):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::createRequest):
+
</ins><span class="cx"> 2017-04-10  Miguel Gomez  &lt;magomez@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeoNotifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> 
</span><span class="cx"> void GeoNotifier::startTimerIfNeeded()
</span><span class="cx"> {
</span><del>-    m_timer.startOneShot(m_options.timeout / 1000.0);
</del><ins>+    m_timer.startOneShot(1_ms * m_options.timeout);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void GeoNotifier::stopTimer()
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionWebMediaSessionManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double taskDelayInterval = 1.0 / 10.0;
</del><ins>+static const Seconds taskDelayInterval { 100_ms };
</ins><span class="cx"> 
</span><span class="cx"> struct ClientState {
</span><span class="cx">     explicit ClientState(WebMediaSessionManagerClient&amp; client, uint64_t contextId)
</span><span class="lines">@@ -423,8 +423,8 @@
</span><span class="cx"> 
</span><span class="cx"> void WebMediaSessionManager::configureWatchdogTimer()
</span><span class="cx"> {
</span><del>-    static const double watchdogTimerIntervalAfterPausing = 60 * 60;
-    static const double watchdogTimerIntervalAfterPlayingToEnd = 8 * 60;
</del><ins>+    static const Seconds watchdogTimerIntervalAfterPausing { 1_h };
+    static const Seconds watchdogTimerIntervalAfterPlayingToEnd { 8_min };
</ins><span class="cx"> 
</span><span class="cx">     if (!m_playbackTarget || !m_playbackTarget-&gt;hasActiveRoute()) {
</span><span class="cx">         m_watchdogTimer.stop();
</span><span class="lines">@@ -442,14 +442,14 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (stopTimer) {
</span><del>-        m_currentWatchdogInterval = 0;
</del><ins>+        m_currentWatchdogInterval = { };
</ins><span class="cx">         m_watchdogTimer.stop();
</span><span class="cx">         LOG(Media, &quot;WebMediaSessionManager::configureWatchdogTimer - timer stopped&quot;);
</span><span class="cx">     } else {
</span><del>-        double interval = didPlayToEnd ? watchdogTimerIntervalAfterPlayingToEnd : watchdogTimerIntervalAfterPausing;
</del><ins>+        Seconds interval = didPlayToEnd ? watchdogTimerIntervalAfterPlayingToEnd : watchdogTimerIntervalAfterPausing;
</ins><span class="cx">         if (interval != m_currentWatchdogInterval || !m_watchdogTimer.isActive()) {
</span><span class="cx">             m_watchdogTimer.startOneShot(interval);
</span><del>-            LOG(Media, &quot;WebMediaSessionManager::configureWatchdogTimer - timer scheduled for %.0f&quot;, interval);
</del><ins>+            LOG(Media, &quot;WebMediaSessionManager::configureWatchdogTimer - timer scheduled for %.0f seconds&quot;, interval.value());
</ins><span class="cx">         }
</span><span class="cx">         m_currentWatchdogInterval = interval;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionWebMediaSessionManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">     RefPtr&lt;MediaPlaybackTarget&gt; m_playbackTarget;
</span><span class="cx">     std::unique_ptr&lt;WebCore::MediaPlaybackTargetPickerMock&gt; m_pickerOverride;
</span><span class="cx">     ConfigurationTasks m_taskFlags { NoTask };
</span><del>-    double m_currentWatchdogInterval { 0 };
</del><ins>+    Seconds m_currentWatchdogInterval;
</ins><span class="cx">     bool m_externalOutputDeviceAvailable { false };
</span><span class="cx">     bool m_targetChanged { false };
</span><span class="cx">     bool m_mockPickerEnabled { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamCanvasCaptureMediaStreamTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">     // FIXME: We should try to generate the frame at the time the screen is being updated.
</span><span class="cx">     if (m_canvasChangedTimer.isActive())
</span><span class="cx">         return;
</span><del>-    m_canvasChangedTimer.startOneShot(0);
</del><ins>+    m_canvasChangedTimer.startOneShot(0_s);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CanvasCaptureMediaStreamTrack::Source::captureCanvas()
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesvibrationVibrationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/vibration/Vibration.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/vibration/Vibration.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/Modules/vibration/Vibration.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">         m_vibrationClient-&gt;vibrate(m_pattern[0]);
</span><span class="cx">         break;
</span><span class="cx">     }
</span><del>-    m_timer.startOneShot(m_pattern[0] / 1000.0);
</del><ins>+    m_timer.startOneShot(1_ms * m_pattern[0]);
</ins><span class="cx">     m_pattern.remove(0);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-const double TCPMaximumSegmentLifetime = 2 * 60.0;
</del><ins>+const Seconds TCPMaximumSegmentLifetime { 2_min };
</ins><span class="cx"> 
</span><span class="cx"> WebSocketChannel::WebSocketChannel(Document&amp; document, WebSocketChannelClient&amp; client, SocketProvider&amp; provider)
</span><span class="cx">     : m_document(&amp;document)
</span><span class="lines">@@ -207,7 +207,7 @@
</span><span class="cx">     Ref&lt;WebSocketChannel&gt; protectedThis(*this); // An attempt to send closing handshake may fail, which will get the channel closed and dereferenced.
</span><span class="cx">     startClosingHandshake(code, reason);
</span><span class="cx">     if (m_closing &amp;&amp; !m_closingTimer.isActive())
</span><del>-        m_closingTimer.startOneShot(2 * TCPMaximumSegmentLifetime);
</del><ins>+        m_closingTimer.startOneShot(TCPMaximumSegmentLifetime * 2);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebSocketChannel::fail(const String&amp; reason)
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAXObjectCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AXObjectCache.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -110,9 +110,9 @@
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx"> 
</span><span class="cx"> // Post value change notifications for password fields or elements contained in password fields at a 40hz interval to thwart analysis of typing cadence
</span><del>-static double AccessibilityPasswordValueChangeNotificationInterval = 0.025;
-static double AccessibilityLiveRegionChangedNotificationInterval = 0.020;
-static double AccessibilityFocusAriaModalNodeNotificationInterval = 0.050;
</del><ins>+static const Seconds accessibilityPasswordValueChangeNotificationInterval { 25_ms };
+static const Seconds accessibilityLiveRegionChangedNotificationInterval { 20_ms };
+static const Seconds accessibilityFocusAriaModalNodeNotificationInterval { 50_ms };
</ins><span class="cx"> 
</span><span class="cx"> AccessibilityObjectInclusion AXComputedObjectAttributeCache::getIgnored(AXID id) const
</span><span class="cx"> {
</span><span class="lines">@@ -1311,7 +1311,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_passwordNotificationsToPost.add(observableObject);
</span><span class="cx">     if (!m_passwordNotificationPostTimer.isActive())
</span><del>-        m_passwordNotificationPostTimer.startOneShot(AccessibilityPasswordValueChangeNotificationInterval);
</del><ins>+        m_passwordNotificationPostTimer.startOneShot(accessibilityPasswordValueChangeNotificationInterval);
</ins><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -1338,7 +1338,7 @@
</span><span class="cx">     if (!m_liveRegionObjectsSet.contains(object))
</span><span class="cx">         m_liveRegionObjectsSet.add(object);
</span><span class="cx"> 
</span><del>-    m_liveRegionChangedPostTimer.startOneShot(AccessibilityLiveRegionChangedNotificationInterval);
</del><ins>+    m_liveRegionChangedPostTimer.startOneShot(accessibilityLiveRegionChangedNotificationInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AXObjectCache::liveRegionChangedNotificationPostTimerFired()
</span><span class="lines">@@ -1372,7 +1372,7 @@
</span><span class="cx">     if (m_focusAriaModalNodeTimer.isActive())
</span><span class="cx">         m_focusAriaModalNodeTimer.stop();
</span><span class="cx">     
</span><del>-    m_focusAriaModalNodeTimer.startOneShot(AccessibilityFocusAriaModalNodeNotificationInterval);
</del><ins>+    m_focusAriaModalNodeTimer.startOneShot(accessibilityFocusAriaModalNodeNotificationInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AXObjectCache::focusAriaModalNodeTimerFired()
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontFacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontFace.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontFace.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/css/CSSFontFace.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -527,7 +527,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (newStatus == Status::Loading)
</span><del>-        m_timeoutTimer.startOneShot(webFontsShouldAlwaysFallBack() ? 0 : 3);
</del><ins>+        m_timeoutTimer.startOneShot(webFontsShouldAlwaysFallBack() ? 0_s : 3_s);
</ins><span class="cx">     else if (newStatus == Status::Success || newStatus == Status::Failure)
</span><span class="cx">         m_timeoutTimer.stop();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/css/StyleResolver.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -135,6 +135,7 @@
</span><span class="cx"> #include &quot;WebKitCSSRegionRule.h&quot;
</span><span class="cx"> #include &quot;WebKitFontFamilyNames.h&quot;
</span><span class="cx"> #include &lt;bitset&gt;
</span><ins>+#include &lt;wtf/Seconds.h&gt;
</ins><span class="cx"> #include &lt;wtf/SetForScope.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -1251,8 +1252,8 @@
</span><span class="cx">     static const unsigned matchedDeclarationCacheAdditionsBetweenSweeps = 100;
</span><span class="cx">     if (++m_matchedPropertiesCacheAdditionsSinceLastSweep &gt;= matchedDeclarationCacheAdditionsBetweenSweeps
</span><span class="cx">         &amp;&amp; !m_matchedPropertiesCacheSweepTimer.isActive()) {
</span><del>-        static const unsigned matchedDeclarationCacheSweepTimeInSeconds = 60;
-        m_matchedPropertiesCacheSweepTimer.startOneShot(matchedDeclarationCacheSweepTimeInSeconds);
</del><ins>+        static const Seconds matchedDeclarationCacheSweepTime { 1_min };
+        m_matchedPropertiesCacheSweepTimer.startOneShot(matchedDeclarationCacheSweepTime);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT(hash);
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/dom/Document.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1199,7 +1199,7 @@
</span><span class="cx">     if (visualUpdatesAllowed)
</span><span class="cx">         m_visualUpdatesSuppressionTimer.stop();
</span><span class="cx">     else
</span><del>-        m_visualUpdatesSuppressionTimer.startOneShot(settings().incrementalRenderingSuppressionTimeoutInSeconds());
</del><ins>+        m_visualUpdatesSuppressionTimer.startOneShot(1_s * settings().incrementalRenderingSuppressionTimeoutInSeconds());
</ins><span class="cx"> 
</span><span class="cx">     if (!visualUpdatesAllowed)
</span><span class="cx">         return;
</span><span class="lines">@@ -5004,8 +5004,8 @@
</span><span class="cx">     // so that dynamically inserted content can also benefit from sharing optimizations.
</span><span class="cx">     // Note that we don't refresh the timer on pool access since that could lead to huge caches being kept
</span><span class="cx">     // alive indefinitely by something innocuous like JS setting .innerHTML repeatedly on a timer.
</span><del>-    static const int timeToKeepSharedObjectPoolAliveAfterParsingFinishedInSeconds = 10;
-    m_sharedObjectPoolClearTimer.startOneShot(timeToKeepSharedObjectPoolAliveAfterParsingFinishedInSeconds);
</del><ins>+    static const Seconds timeToKeepSharedObjectPoolAliveAfterParsingFinished { 10_s };
+    m_sharedObjectPoolClearTimer.startOneShot(timeToKeepSharedObjectPoolAliveAfterParsingFinished);
</ins><span class="cx"> 
</span><span class="cx">     // Parser should have picked up all speculative preloads by now
</span><span class="cx">     m_cachedResourceLoader-&gt;clearPreloads(CachedResourceLoader::ClearPreloadsMode::ClearSpeculativePreloads);
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptedAnimationControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptedAnimationController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptedAnimationController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/dom/ScriptedAnimationController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -47,10 +47,10 @@
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><span class="cx"> 
</span><span class="cx"> // Allow a little more than 60fps to make sure we can at least hit that frame rate.
</span><del>-static const Seconds fullSpeedAnimationInterval { 0.015 };
</del><ins>+static const Seconds fullSpeedAnimationInterval { 15_ms };
</ins><span class="cx"> // Allow a little more than 30fps to make sure we can at least hit that frame rate.
</span><del>-static const Seconds halfSpeedThrottlingAnimationInterval { 0.030 };
-static const Seconds aggressiveThrottlingAnimationInterval { 10 };
</del><ins>+static const Seconds halfSpeedThrottlingAnimationInterval { 30_ms };
+static const Seconds aggressiveThrottlingAnimationInterval { 10_s };
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #define RELEASE_LOG_IF_ALLOWED(fmt, ...) RELEASE_LOG_IF(page() &amp;&amp; page()-&gt;isAlwaysOnLoggingAllowed(), PerformanceLogging, &quot;%p - ScriptedAnimationController::&quot; fmt, this, ##__VA_ARGS__)
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingAlternativeTextControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/AlternativeTextController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/AlternativeTextController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/editing/AlternativeTextController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx"> 
</span><span class="cx"> void AlternativeTextController::startAlternativeTextUITimer(AlternativeTextType type)
</span><span class="cx"> {
</span><del>-    const double correctionPanelTimerInterval = 0.3;
</del><ins>+    const Seconds correctionPanelTimerInterval { 300_ms };
</ins><span class="cx">     if (!isAutomaticSpellingCorrectionEnabled())
</span><span class="cx">         return;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx"> static const Seconds ScanRepeatDelay { 1.5_s };
</span><span class="cx"> static const double ScanMaximumRate = 8;
</span><span class="cx"> 
</span><del>-static const double HideMediaControlsAfterEndedDelay = 6;
</del><ins>+static const Seconds hideMediaControlsAfterEndedDelay { 6_s };
</ins><span class="cx"> 
</span><span class="cx"> static void setFlags(unsigned&amp; value, unsigned flags)
</span><span class="cx"> {
</span><span class="lines">@@ -4497,7 +4497,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_mediaSession-&gt;addBehaviorRestriction(MediaElementSession::RequireUserGestureToControlControlsManager);
</span><span class="cx">     m_playbackControlsManagerBehaviorRestrictionsTimer.stop();
</span><del>-    m_playbackControlsManagerBehaviorRestrictionsTimer.startOneShot(HideMediaControlsAfterEndedDelay);
</del><ins>+    m_playbackControlsManagerBehaviorRestrictionsTimer.startOneShot(hideMediaControlsAfterEndedDelay);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLMediaElement::handleSeekToPlaybackPosition(double position)
</span><span class="lines">@@ -4507,7 +4507,7 @@
</span><span class="cx">     // Please see &lt;rdar://problem/28457219&gt; for more details.
</span><span class="cx">     seek(MediaTime::createWithDouble(position));
</span><span class="cx">     m_seekToPlaybackPositionEndedTimer.stop();
</span><del>-    m_seekToPlaybackPositionEndedTimer.startOneShot(0.5);
</del><ins>+    m_seekToPlaybackPositionEndedTimer.startOneShot(500_ms);
</ins><span class="cx"> 
</span><span class="cx">     if (!m_isScrubbingRemotely) {
</span><span class="cx">         m_isScrubbingRemotely = true;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlSearchInputTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/SearchInputType.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/SearchInputType.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/html/SearchInputType.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx"> 
</span><span class="cx">     // After typing the first key, we wait 0.5 seconds.
</span><span class="cx">     // After the second key, 0.4 seconds, then 0.3, then 0.2 from then on.
</span><del>-    m_searchEventTimer.startOneShot(std::max(0.2, 0.6 - 0.1 * length));
</del><ins>+    m_searchEventTimer.startOneShot(std::max(200_ms, 600_ms - 100_ms * length));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SearchInputType::stopSearchEventTimer()
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlValidationMessagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/ValidationMessage.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/ValidationMessage.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/html/ValidationMessage.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">         m_timer = nullptr;
</span><span class="cx">     else {
</span><span class="cx">         m_timer = std::make_unique&lt;Timer&gt;(*this, &amp;ValidationMessage::deleteBubbleTree);
</span><del>-        m_timer-&gt;startOneShot(std::max(5.0, static_cast&lt;double&gt;(m_message.length()) * magnification / 1000));
</del><ins>+        m_timer-&gt;startOneShot(std::max(5_s, 1_ms * static_cast&lt;double&gt;(m_message.length()) * magnification));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGLRenderingContextBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-const double secondsBetweenRestoreAttempts = 1.0;
</del><ins>+static const Seconds secondsBetweenRestoreAttempts { 1_s };
</ins><span class="cx"> const int maxGLErrorsAllowedToConsole = 256;
</span><span class="cx"> static const Seconds checkContextLossHandlingDelay { 3_s };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowMediaControlElementscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     // The timer is required to set the property display:'none' on the panel,
</span><span class="cx">     // such that captions are correctly displayed at the bottom of the video
</span><span class="cx">     // at the end of the fadeout transition.
</span><del>-    double duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeOutDuration() : 0;
</del><ins>+    Seconds duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeOutDuration() : 0_s;
</ins><span class="cx">     m_transitionTimer.startOneShot(duration);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -205,10 +205,10 @@
</span><span class="cx">     if (!m_opaque)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    double duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeOutDuration() : 0;
</del><ins>+    Seconds duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeOutDuration() : 0_s;
</ins><span class="cx"> 
</span><span class="cx">     setInlineStyleProperty(CSSPropertyTransitionProperty, CSSPropertyOpacity);
</span><del>-    setInlineStyleProperty(CSSPropertyTransitionDuration, duration, CSSPrimitiveValue::CSS_S);
</del><ins>+    setInlineStyleProperty(CSSPropertyTransitionDuration, duration.value(), CSSPrimitiveValue::CSS_S);
</ins><span class="cx">     setInlineStyleProperty(CSSPropertyOpacity, 0.0, CSSPrimitiveValue::CSS_NUMBER);
</span><span class="cx"> 
</span><span class="cx">     m_opaque = false;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTRegioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTRegion.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTRegion.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/html/track/VTTRegion.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> static const float lineHeight = 5.33;
</span><span class="cx"> 
</span><span class="cx"> // Default scrolling animation time period (s).
</span><del>-static const float scrollTime = 0.433;
</del><ins>+static const Seconds scrollTime { 433_ms };
</ins><span class="cx"> 
</span><span class="cx"> VTTRegion::VTTRegion(ScriptExecutionContext&amp; context)
</span><span class="cx">     : ContextDestructionObserver(&amp;context)
</span><span class="lines">@@ -403,7 +403,7 @@
</span><span class="cx">     if (m_scrollTimer.isActive())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    double duration = isScrollingRegion() ? scrollTime : 0;
</del><ins>+    Seconds duration = isScrollingRegion() ? scrollTime : 0_s;
</ins><span class="cx">     m_scrollTimer.startOneShot(duration);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -803,7 +803,7 @@
</span><span class="cx">         inspectorPageAgent-&gt;frameStoppedLoading(frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::frameScheduledNavigationImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, double delay)
</del><ins>+void InspectorInstrumentation::frameScheduledNavigationImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, Seconds delay)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorPageAgent* inspectorPageAgent = instrumentingAgents.inspectorPageAgent())
</span><span class="cx">         inspectorPageAgent-&gt;frameScheduledNavigation(frame, delay);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx">     static void loaderDetachedFromFrame(Frame&amp;, DocumentLoader&amp;);
</span><span class="cx">     static void frameStartedLoading(Frame&amp;);
</span><span class="cx">     static void frameStoppedLoading(Frame&amp;);
</span><del>-    static void frameScheduledNavigation(Frame&amp;, double delay);
</del><ins>+    static void frameScheduledNavigation(Frame&amp;, Seconds delay);
</ins><span class="cx">     static void frameClearedScheduledNavigation(Frame&amp;);
</span><span class="cx">     static void willDestroyCachedResource(CachedResource&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -349,7 +349,7 @@
</span><span class="cx">     static void loaderDetachedFromFrameImpl(InstrumentingAgents&amp;, DocumentLoader&amp;);
</span><span class="cx">     static void frameStartedLoadingImpl(InstrumentingAgents&amp;, Frame&amp;);
</span><span class="cx">     static void frameStoppedLoadingImpl(InstrumentingAgents&amp;, Frame&amp;);
</span><del>-    static void frameScheduledNavigationImpl(InstrumentingAgents&amp;, Frame&amp;, double delay);
</del><ins>+    static void frameScheduledNavigationImpl(InstrumentingAgents&amp;, Frame&amp;, Seconds delay);
</ins><span class="cx">     static void frameClearedScheduledNavigationImpl(InstrumentingAgents&amp;, Frame&amp;);
</span><span class="cx">     static void willDestroyCachedResourceImpl(CachedResource&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -982,7 +982,7 @@
</span><span class="cx">         frameStoppedLoadingImpl(*instrumentingAgents, frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::frameScheduledNavigation(Frame&amp; frame, double delay)
</del><ins>+inline void InspectorInstrumentation::frameScheduledNavigation(Frame&amp; frame, Seconds delay)
</ins><span class="cx"> {
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))
</span><span class="cx">         frameScheduledNavigationImpl(*instrumentingAgents, frame, delay);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -806,9 +806,9 @@
</span><span class="cx">     m_frontendDispatcher-&gt;frameStoppedLoading(frameId(&amp;frame));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorPageAgent::frameScheduledNavigation(Frame&amp; frame, double delay)
</del><ins>+void InspectorPageAgent::frameScheduledNavigation(Frame&amp; frame, Seconds delay)
</ins><span class="cx"> {
</span><del>-    m_frontendDispatcher-&gt;frameScheduledNavigation(frameId(&amp;frame), delay);
</del><ins>+    m_frontendDispatcher-&gt;frameScheduledNavigation(frameId(&amp;frame), delay.value());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorPageAgent::frameClearedScheduledNavigation(Frame&amp; frame)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     void loaderDetachedFromFrame(DocumentLoader&amp;);
</span><span class="cx">     void frameStartedLoading(Frame&amp;);
</span><span class="cx">     void frameStoppedLoading(Frame&amp;);
</span><del>-    void frameScheduledNavigation(Frame&amp;, double delay);
</del><ins>+    void frameScheduledNavigation(Frame&amp;, Seconds delay);
</ins><span class="cx">     void frameClearedScheduledNavigation(Frame&amp;);
</span><span class="cx">     void applyEmulatedMedia(String&amp;);
</span><span class="cx">     void didPaint(RenderObject&amp;, const LayoutRect&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNavigationSchedulercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NavigationScheduler.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NavigationScheduler.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/loader/NavigationScheduler.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -541,7 +541,7 @@
</span><span class="cx">     if (!m_redirect-&gt;shouldStartTimer(m_frame))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    double delay = m_redirect-&gt;delay();
</del><ins>+    Seconds delay = 1_s * m_redirect-&gt;delay();
</ins><span class="cx">     m_timer.startOneShot(delay);
</span><span class="cx">     InspectorInstrumentation::frameScheduledNavigation(m_frame, delay);
</span><span class="cx">     m_redirect-&gt;didStartTimer(m_frame, m_timer); // m_redirect may be null on return (e.g. the client canceled the load)
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> // Timeout for link preloads to be used after window.onload
</span><del>-static const int unusedPreloadTimeoutInSeconds = 3;
</del><ins>+static const Seconds unusedPreloadTimeout { 3_s };
</ins><span class="cx"> 
</span><span class="cx"> static CachedResource* createResource(CachedResource::Type type, CachedResourceRequest&amp;&amp; request, SessionID sessionID)
</span><span class="cx"> {
</span><span class="lines">@@ -828,7 +828,7 @@
</span><span class="cx">     // If m_preloads is not empty here, it's full of link preloads,
</span><span class="cx">     // as speculative preloads were cleared at DCL.
</span><span class="cx">     if (m_preloads &amp;&amp; m_preloads-&gt;size() &amp;&amp; !m_unusedPreloadsTimer.isActive())
</span><del>-        m_unusedPreloadsTimer.startOneShot(unusedPreloadTimeoutInSeconds);
</del><ins>+        m_unusedPreloadsTimer.startOneShot(unusedPreloadTimeout);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CachedResourceLoader::stopUnusedPreloadsTimer()
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconDatabase.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconDatabase.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/loader/icon/IconDatabase.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> // Icons expire once every 4 days
</span><span class="cx"> static const int iconExpirationTime = 60*60*24*4; 
</span><span class="cx"> 
</span><del>-static const int updateTimerDelay = 5; 
</del><ins>+static const Seconds updateTimerDelay { 5_s };
</ins><span class="cx"> 
</span><span class="cx"> static bool checkIntegrityOnOpen = false;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventHandler.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventHandler.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/EventHandler.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -157,14 +157,14 @@
</span><span class="cx"> // during a scroll. The short interval is used if the content responds to the mouse events
</span><span class="cx"> // in fakeMouseMoveDurationThreshold or less, otherwise the long interval is used.
</span><span class="cx"> const double fakeMouseMoveDurationThreshold = 0.01;
</span><del>-const double fakeMouseMoveShortInterval = 0.1;
-const double fakeMouseMoveLongInterval = 0.25;
</del><ins>+const Seconds fakeMouseMoveShortInterval = { 100_ms };
+const Seconds fakeMouseMoveLongInterval = { 250_ms };
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CURSOR_SUPPORT)
</span><span class="cx"> // The amount of time to wait for a cursor update on style and layout changes
</span><span class="cx"> // Set to 50Hz, no need to be faster than common screen refresh rate
</span><del>-const double cursorUpdateInterval = 0.02;
</del><ins>+static const Seconds cursorUpdateInterval { 20_ms };
</ins><span class="cx"> 
</span><span class="cx"> const int maximumCursorSize = 128;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventSource.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventSource.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/EventSource.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx"> void EventSource::scheduleReconnect()
</span><span class="cx"> {
</span><span class="cx">     m_state = CONNECTING;
</span><del>-    m_connectTimer.startOneShot(m_reconnectDelay / 1000.0);
</del><ins>+    m_connectTimer.startOneShot(1_ms * m_reconnectDelay);
</ins><span class="cx">     dispatchEvent(Event::create(eventNames().errorEvent, false, false));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageFocusControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FocusController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FocusController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/FocusController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1089,7 +1089,7 @@
</span><span class="cx"> 
</span><span class="cx"> void FocusController::setFocusedElementNeedsRepaint()
</span><span class="cx"> {
</span><del>-    m_focusRepaintTimer.startOneShot(0.033);
</del><ins>+    m_focusRepaintTimer.startOneShot(33_ms);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FocusController::focusRepaintTimerFired()
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/FrameView.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -2515,7 +2515,7 @@
</span><span class="cx">         m_delayedScrollEventTimer.stop();
</span><span class="cx">         sendScrollEvent();
</span><span class="cx">     } else if (!m_delayedScrollEventTimer.isActive())
</span><del>-        m_delayedScrollEventTimer.startOneShot(throttlingDelay.value());
</del><ins>+        m_delayedScrollEventTimer.startOneShot(throttlingDelay);
</ins><span class="cx"> 
</span><span class="cx">     if (Document* document = frame().document())
</span><span class="cx">         document-&gt;sendWillRevealEdgeEventsIfNeeded(oldPosition, newPosition, visibleContentRect(), contentsSize());
</span><span class="lines">@@ -2934,7 +2934,7 @@
</span><span class="cx">     if (m_speculativeTilingEnableTimer.isActive())
</span><span class="cx">         return;
</span><span class="cx">     // Delay enabling a bit as load completion may trigger further loading from scripts.
</span><del>-    static const double speculativeTilingEnableDelay = 0.5;
</del><ins>+    static const Seconds speculativeTilingEnableDelay { 500_ms };
</ins><span class="cx">     m_speculativeTilingEnableTimer.startOneShot(speculativeTilingEnableDelay);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/Settings.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -212,7 +212,7 @@
</span><span class="cx">     , m_touchEventEmulationEnabled(false)
</span><span class="cx"> #endif
</span><span class="cx">     , m_scrollingPerformanceLoggingEnabled(false)
</span><del>-    , m_timeWithoutMouseMovementBeforeHidingControls(3)
</del><ins>+    , m_timeWithoutMouseMovementBeforeHidingControls(3_s)
</ins><span class="cx">     , m_setImageLoadingSettingsTimer(*this, &amp;Settings::imageLoadingSettingsTimerFired)
</span><span class="cx">     , m_hiddenPageDOMTimerThrottlingEnabled(false)
</span><span class="cx">     , m_hiddenPageCSSAnimationSuspensionEnabled(false)
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/Settings.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -256,8 +256,8 @@
</span><span class="cx">     WEBCORE_EXPORT static void setShouldRespectPriorityInCSSAttributeSetters(bool);
</span><span class="cx">     static bool shouldRespectPriorityInCSSAttributeSetters();
</span><span class="cx"> 
</span><del>-    void setTimeWithoutMouseMovementBeforeHidingControls(double time) { m_timeWithoutMouseMovementBeforeHidingControls = time; }
-    double timeWithoutMouseMovementBeforeHidingControls() const { return m_timeWithoutMouseMovementBeforeHidingControls; }
</del><ins>+    void setTimeWithoutMouseMovementBeforeHidingControls(Seconds time) { m_timeWithoutMouseMovementBeforeHidingControls = time; }
+    Seconds timeWithoutMouseMovementBeforeHidingControls() const { return m_timeWithoutMouseMovementBeforeHidingControls; }
</ins><span class="cx"> 
</span><span class="cx">     bool hiddenPageCSSAnimationSuspensionEnabled() const { return m_hiddenPageCSSAnimationSuspensionEnabled; }
</span><span class="cx">     WEBCORE_EXPORT void setHiddenPageCSSAnimationSuspensionEnabled(bool);
</span><span class="lines">@@ -361,7 +361,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     bool m_scrollingPerformanceLoggingEnabled : 1;
</span><span class="cx"> 
</span><del>-    double m_timeWithoutMouseMovementBeforeHidingControls;
</del><ins>+    Seconds m_timeWithoutMouseMovementBeforeHidingControls;
</ins><span class="cx"> 
</span><span class="cx">     Timer m_setImageLoadingSettingsTimer;
</span><span class="cx">     void imageLoadingSettingsTimerFired();
</span></span></pre></div>
<a id="trunkSourceWebCorepageSuspendableTimerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/SuspendableTimer.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/SuspendableTimer.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/SuspendableTimer.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -45,8 +45,6 @@
</span><span class="cx">     bool isActive() const { return TimerBase::isActive() || (m_suspended &amp;&amp; m_savedIsActive); }
</span><span class="cx">     bool isSuspended() const { return m_suspended; }
</span><span class="cx"> 
</span><del>-    void startOneShot(double interval) { startOneShot(Seconds { interval }); }
-
</del><span class="cx">     Seconds repeatInterval() const;
</span><span class="cx"> 
</span><span class="cx">     void startRepeating(Seconds repeatInterval);
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationCSSAnimationControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/CSSAnimationController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/CSSAnimationController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/animation/CSSAnimationController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -49,9 +49,9 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> // Allow a little more than 60fps to make sure we can at least hit that frame rate.
</span><del>-static const Seconds animationTimerDelay { 0.015 };
</del><ins>+static const Seconds animationTimerDelay { 15_ms };
</ins><span class="cx"> // Allow a little more than 30fps to make sure we can at least hit that frame rate.
</span><del>-static const Seconds animationTimerThrottledDelay { 0.030 };
</del><ins>+static const Seconds animationTimerThrottledDelay { 30_ms };
</ins><span class="cx"> 
</span><span class="cx"> class AnimationPrivateUpdateBlock {
</span><span class="cx"> public:
</span></span></pre></div>
<a id="trunkSourceWebCorepagemacEventHandlerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/mac/EventHandlerMac.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/mac/EventHandlerMac.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/mac/EventHandlerMac.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-const double resetLatchedStateTimeout = 0.1;
</del><ins>+static const Seconds resetLatchedStateTimeout { 100_ms };
</ins><span class="cx"> 
</span><span class="cx"> static RetainPtr&lt;NSEvent&gt;&amp; currentNSEventSlot()
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorepagemacTextIndicatorWindowmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/mac/TextIndicatorWindow.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/mac/TextIndicatorWindow.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/page/mac/TextIndicatorWindow.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -476,7 +476,7 @@
</span><span class="cx">         [m_textIndicatorView present];
</span><span class="cx"> 
</span><span class="cx">     if (lifetime == TextIndicatorWindowLifetime::Temporary)
</span><del>-        m_temporaryTextIndicatorTimer.startOneShot(timeBeforeFadeStarts);
</del><ins>+        m_temporaryTextIndicatorTimer.startOneShot(1_s * timeBeforeFadeStarts);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TextIndicatorWindow::closeWindow()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformHysteresisActivityh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/HysteresisActivity.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/HysteresisActivity.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/HysteresisActivity.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">             return;
</span><span class="cx">         m_active = false;
</span><span class="cx"> 
</span><del>-        m_timer.startOneShot(m_hysteresisSeconds);
</del><ins>+        m_timer.startOneShot(1_s * m_hysteresisSeconds);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void impulse()
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     std::function&lt;void(HysteresisState)&gt; m_callback;
</span><del>-    double m_hysteresisSeconds;
</del><ins>+    double m_hysteresisSeconds; // FIXME: Should use Seconds.
</ins><span class="cx">     bool m_active;
</span><span class="cx">     Timer m_timer;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollAnimationSmoothcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const double frameRate = 60;
</span><del>-static const double tickTime = 1 / frameRate;
-static const double minimumTimerInterval = .001;
</del><ins>+static const Seconds tickTime = 1_s / frameRate;
+static const Seconds minimumTimerInterval { 1_ms };
</ins><span class="cx"> 
</span><span class="cx"> ScrollAnimationSmooth::ScrollAnimationSmooth(ScrollableArea&amp; scrollableArea, const FloatPoint&amp; position, std::function&lt;void (FloatPoint&amp;&amp;)&gt;&amp;&amp; notifyPositionChangedFunction)
</span><span class="cx">     : ScrollAnimation(scrollableArea)
</span><span class="lines">@@ -226,40 +226,40 @@
</span><span class="cx">     return endValue - startValue;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline void getAnimationParametersForGranularity(ScrollGranularity granularity, double&amp; animationTime, double&amp; repeatMinimumSustainTime, double&amp; attackTime, double&amp; releaseTime, ScrollAnimationSmooth::Curve&amp; coastTimeCurve, double&amp; maximumCoastTime)
</del><ins>+static inline void getAnimationParametersForGranularity(ScrollGranularity granularity, Seconds&amp; animationTime, Seconds&amp; repeatMinimumSustainTime, Seconds&amp; attackTime, Seconds&amp; releaseTime, ScrollAnimationSmooth::Curve&amp; coastTimeCurve, Seconds&amp; maximumCoastTime)
</ins><span class="cx"> {
</span><span class="cx">     switch (granularity) {
</span><span class="cx">     case ScrollByDocument:
</span><del>-        animationTime = 20 * tickTime;
-        repeatMinimumSustainTime = 10 * tickTime;
-        attackTime = 10 * tickTime;
-        releaseTime = 10 * tickTime;
</del><ins>+        animationTime = tickTime * 10;
+        repeatMinimumSustainTime = tickTime * 10;
+        attackTime = tickTime * 10;
+        releaseTime = tickTime * 10;
</ins><span class="cx">         coastTimeCurve = ScrollAnimationSmooth::Curve::Linear;
</span><del>-        maximumCoastTime = 1;
</del><ins>+        maximumCoastTime = 1_s;
</ins><span class="cx">         break;
</span><span class="cx">     case ScrollByLine:
</span><del>-        animationTime = 10 * tickTime;
-        repeatMinimumSustainTime = 7 * tickTime;
-        attackTime = 3 * tickTime;
-        releaseTime = 3 * tickTime;
</del><ins>+        animationTime = tickTime * 10;
+        repeatMinimumSustainTime = tickTime * 7;
+        attackTime = tickTime * 3;
+        releaseTime = tickTime * 3;
</ins><span class="cx">         coastTimeCurve = ScrollAnimationSmooth::Curve::Linear;
</span><del>-        maximumCoastTime = 1;
</del><ins>+        maximumCoastTime = 1_s;
</ins><span class="cx">         break;
</span><span class="cx">     case ScrollByPage:
</span><del>-        animationTime = 15 * tickTime;
-        repeatMinimumSustainTime = 10 * tickTime;
-        attackTime = 5 * tickTime;
-        releaseTime = 5 * tickTime;
</del><ins>+        animationTime = tickTime * 15;
+        repeatMinimumSustainTime = tickTime * 10;
+        attackTime = tickTime * 5;
+        releaseTime = tickTime * 5;
</ins><span class="cx">         coastTimeCurve = ScrollAnimationSmooth::Curve::Linear;
</span><del>-        maximumCoastTime = 1;
</del><ins>+        maximumCoastTime = 1_s;
</ins><span class="cx">         break;
</span><span class="cx">     case ScrollByPixel:
</span><del>-        animationTime = 11 * tickTime;
-        repeatMinimumSustainTime = 2 * tickTime;
-        attackTime = 3 * tickTime;
-        releaseTime = 3 * tickTime;
</del><ins>+        animationTime = tickTime * 11;
+        repeatMinimumSustainTime = tickTime * 2;
+        attackTime = tickTime * 3;
+        releaseTime = tickTime * 3;
</ins><span class="cx">         coastTimeCurve = ScrollAnimationSmooth::Curve::Quadratic;
</span><del>-        maximumCoastTime = 1.25;
</del><ins>+        maximumCoastTime = 1250_ms;
</ins><span class="cx">         break;
</span><span class="cx">     default:
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -270,7 +270,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!data.startTime || !delta || (delta &lt; 0) != (data.desiredPosition - data.currentPosition &lt; 0)) {
</span><span class="cx">         data.desiredPosition = data.currentPosition;
</span><del>-        data.startTime = 0;
</del><ins>+        data.startTime = { };
</ins><span class="cx">     }
</span><span class="cx">     float newPosition = data.desiredPosition + delta;
</span><span class="cx"> 
</span><span class="lines">@@ -279,7 +279,7 @@
</span><span class="cx">     if (newPosition == data.desiredPosition)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    double animationTime, repeatMinimumSustainTime, attackTime, releaseTime, maximumCoastTime;
</del><ins>+    Seconds animationTime, repeatMinimumSustainTime, attackTime, releaseTime, maximumCoastTime;
</ins><span class="cx">     Curve coastTimeCurve;
</span><span class="cx">     getAnimationParametersForGranularity(granularity, animationTime, repeatMinimumSustainTime, attackTime, releaseTime, coastTimeCurve, maximumCoastTime);
</span><span class="cx"> 
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (!data.startTime) {
</span><span class="cx">         // FIXME: This should be the time from the event that got us here.
</span><del>-        data.startTime = monotonicallyIncreasingTime() - tickTime / 2;
</del><ins>+        data.startTime = MonotonicTime::now() - tickTime / 2.;
</ins><span class="cx">         data.startPosition = data.currentPosition;
</span><span class="cx">         data.lastAnimationTime = data.startTime;
</span><span class="cx">     }
</span><span class="lines">@@ -306,10 +306,10 @@
</span><span class="cx"> 
</span><span class="cx">     double remainingDelta = data.desiredPosition - data.currentPosition;
</span><span class="cx">     double attackAreaLeft = 0;
</span><del>-    double deltaTime = data.lastAnimationTime - data.startTime;
-    double attackTimeLeft = std::max(0., data.attackTime - deltaTime);
-    double timeLeft = data.animationTime - deltaTime;
-    double minTimeLeft = data.releaseTime + std::min(repeatMinimumSustainTime, data.animationTime - data.releaseTime - attackTimeLeft);
</del><ins>+    Seconds deltaTime = data.lastAnimationTime - data.startTime;
+    Seconds attackTimeLeft = std::max(0_s, data.attackTime - deltaTime);
+    Seconds timeLeft = data.animationTime - deltaTime;
+    Seconds minTimeLeft = data.releaseTime + std::min(repeatMinimumSustainTime, data.animationTime - data.releaseTime - attackTimeLeft);
</ins><span class="cx">     if (timeLeft &lt; minTimeLeft) {
</span><span class="cx">         data.animationTime = deltaTime + minTimeLeft;
</span><span class="cx">         timeLeft = minTimeLeft;
</span><span class="lines">@@ -321,14 +321,14 @@
</span><span class="cx">         double minCoastDelta = data.visibleLength;
</span><span class="cx"> 
</span><span class="cx">         if (fabs(remainingDelta) &gt; minCoastDelta) {
</span><del>-            double maxCoastDelta = maximumCoastTime * targetMaxCoastVelocity;
</del><ins>+            double maxCoastDelta = maximumCoastTime.value() * targetMaxCoastVelocity;
</ins><span class="cx">             double coastFactor = std::min(1., (fabs(remainingDelta) - minCoastDelta) / (maxCoastDelta - minCoastDelta));
</span><span class="cx"> 
</span><span class="cx">             // We could play with the curve here - linear seems a little soft. Initial testing makes me want to feed into the sustain time more aggressively.
</span><del>-            double coastMinTimeLeft = std::min(maximumCoastTime, minTimeLeft + coastCurve(coastTimeCurve, coastFactor) * (maximumCoastTime - minTimeLeft));
</del><ins>+            Seconds coastMinTimeLeft = std::min(maximumCoastTime, minTimeLeft + (maximumCoastTime - minTimeLeft) * coastCurve(coastTimeCurve, coastFactor));
</ins><span class="cx"> 
</span><del>-            if (double additionalTime = std::max(0., coastMinTimeLeft - minTimeLeft)) {
-                double additionalReleaseTime = std::min(additionalTime, releaseTime / (releaseTime + repeatMinimumSustainTime) * additionalTime);
</del><ins>+            if (Seconds additionalTime = std::max(0_s, coastMinTimeLeft - minTimeLeft)) {
+                Seconds additionalReleaseTime = std::min(additionalTime, additionalTime * (releaseTime / (releaseTime + repeatMinimumSustainTime)));
</ins><span class="cx">                 data.releaseTime = releaseTime + additionalReleaseTime;
</span><span class="cx">                 data.animationTime = deltaTime + coastMinTimeLeft;
</span><span class="cx">                 timeLeft = coastMinTimeLeft;
</span><span class="lines">@@ -336,43 +336,43 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    double releaseTimeLeft = std::min(timeLeft, data.releaseTime);
-    double sustainTimeLeft = std::max(0., timeLeft - releaseTimeLeft - attackTimeLeft);
</del><ins>+    Seconds releaseTimeLeft = std::min(timeLeft, data.releaseTime);
+    Seconds sustainTimeLeft = std::max(0_s, timeLeft - releaseTimeLeft - attackTimeLeft);
</ins><span class="cx">     if (attackTimeLeft) {
</span><span class="cx">         double attackSpot = deltaTime / data.attackTime;
</span><del>-        attackAreaLeft = attackArea(Curve::Cubic, attackSpot, 1) * data.attackTime;
</del><ins>+        attackAreaLeft = attackArea(Curve::Cubic, attackSpot, 1) * data.attackTime.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     double releaseSpot = (data.releaseTime - releaseTimeLeft) / data.releaseTime;
</span><del>-    double releaseAreaLeft = releaseArea(Curve::Cubic, releaseSpot, 1) * data.releaseTime;
</del><ins>+    double releaseAreaLeft = releaseArea(Curve::Cubic, releaseSpot, 1) * data.releaseTime.value();
</ins><span class="cx"> 
</span><del>-    data.desiredVelocity = remainingDelta / (attackAreaLeft + sustainTimeLeft + releaseAreaLeft);
</del><ins>+    data.desiredVelocity = remainingDelta / (attackAreaLeft + sustainTimeLeft.value() + releaseAreaLeft);
</ins><span class="cx">     data.releasePosition = data.desiredPosition - data.desiredVelocity * releaseAreaLeft;
</span><span class="cx">     if (attackAreaLeft)
</span><span class="cx">         data.attackPosition = data.startPosition + data.desiredVelocity * attackAreaLeft;
</span><span class="cx">     else
</span><del>-        data.attackPosition = data.releasePosition - (data.animationTime - data.releaseTime - data.attackTime) * data.desiredVelocity;
</del><ins>+        data.attackPosition = data.releasePosition - (data.animationTime - data.releaseTime - data.attackTime).value() * data.desiredVelocity;
</ins><span class="cx"> 
</span><span class="cx">     if (sustainTimeLeft) {
</span><del>-        double roundOff = data.releasePosition - ((attackAreaLeft ? data.attackPosition : data.currentPosition) + data.desiredVelocity * sustainTimeLeft);
-        data.desiredVelocity += roundOff / sustainTimeLeft;
</del><ins>+        double roundOff = data.releasePosition - ((attackAreaLeft ? data.attackPosition : data.currentPosition) + data.desiredVelocity * sustainTimeLeft.value());
+        data.desiredVelocity += roundOff / sustainTimeLeft.value();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ScrollAnimationSmooth::animateScroll(PerAxisData&amp; data, double currentTime)
</del><ins>+bool ScrollAnimationSmooth::animateScroll(PerAxisData&amp; data, MonotonicTime currentTime)
</ins><span class="cx"> {
</span><span class="cx">     if (!data.startTime)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    double lastScrollInterval = currentTime - data.lastAnimationTime;
</del><ins>+    Seconds lastScrollInterval = currentTime - data.lastAnimationTime;
</ins><span class="cx">     if (lastScrollInterval &lt; minimumTimerInterval)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     data.lastAnimationTime = currentTime;
</span><span class="cx"> 
</span><del>-    double deltaTime = currentTime - data.startTime;
</del><ins>+    Seconds deltaTime = currentTime - data.startTime;
</ins><span class="cx">     double newPosition = data.currentPosition;
</span><span class="cx"> 
</span><span class="cx">     if (deltaTime &gt; data.animationTime) {
</span><span class="lines">@@ -380,18 +380,18 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     if (deltaTime &lt; data.attackTime)
</span><del>-        newPosition = attackCurve(Curve::Cubic, deltaTime, data.attackTime, data.startPosition, data.attackPosition);
</del><ins>+        newPosition = attackCurve(Curve::Cubic, deltaTime.value(), data.attackTime.value(), data.startPosition, data.attackPosition);
</ins><span class="cx">     else if (deltaTime &lt; (data.animationTime - data.releaseTime))
</span><del>-        newPosition = data.attackPosition + (deltaTime - data.attackTime) * data.desiredVelocity;
</del><ins>+        newPosition = data.attackPosition + (deltaTime - data.attackTime).value() * data.desiredVelocity;
</ins><span class="cx">     else {
</span><span class="cx">         // release is based on targeting the exact final position.
</span><del>-        double releaseDeltaT = deltaTime - (data.animationTime - data.releaseTime);
-        newPosition = releaseCurve(Curve::Cubic, releaseDeltaT, data.releaseTime, data.releasePosition, data.desiredPosition);
</del><ins>+        Seconds releaseDeltaT = deltaTime - (data.animationTime - data.releaseTime);
+        newPosition = releaseCurve(Curve::Cubic, releaseDeltaT.value(), data.releaseTime.value(), data.releasePosition, data.desiredPosition);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Normalize velocity to a per second amount. Could be used to check for jank.
</span><del>-    if (lastScrollInterval &gt; 0)
-        data.currentVelocity = (newPosition - data.currentPosition) / lastScrollInterval;
</del><ins>+    if (lastScrollInterval &gt; 0_s)
+        data.currentVelocity = (newPosition - data.currentPosition) / lastScrollInterval.value();
</ins><span class="cx">     data.currentPosition = newPosition;
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="lines">@@ -399,8 +399,8 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollAnimationSmooth::animationTimerFired()
</span><span class="cx"> {
</span><del>-    double currentTime = monotonicallyIncreasingTime();
-    double deltaToNextFrame = ceil((currentTime - m_startTime) * frameRate) / frameRate - (currentTime - m_startTime);
</del><ins>+    MonotonicTime currentTime = MonotonicTime::now();
+    Seconds deltaToNextFrame = 1_s * ceil((currentTime - m_startTime).value() * frameRate) / frameRate - (currentTime - m_startTime);
</ins><span class="cx">     currentTime += deltaToNextFrame;
</span><span class="cx"> 
</span><span class="cx">     bool continueAnimation = false;
</span><span class="lines">@@ -422,7 +422,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(REQUEST_ANIMATION_FRAME_TIMER)
</span><del>-void ScrollAnimationSmooth::startNextTimer(double delay)
</del><ins>+void ScrollAnimationSmooth::startNextTimer(Seconds delay)
</ins><span class="cx"> {
</span><span class="cx">     m_animationTimer.startOneShot(delay);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollAnimationSmoothh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollAnimationSmooth.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollAnimationSmooth.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/ScrollAnimationSmooth.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -76,18 +76,18 @@
</span><span class="cx">         double desiredVelocity { 0 };
</span><span class="cx"> 
</span><span class="cx">         double startPosition { 0 };
</span><del>-        double startTime { 0 };
</del><ins>+        MonotonicTime startTime;
</ins><span class="cx">         double startVelocity { 0 };
</span><span class="cx"> 
</span><del>-        double animationTime { 0 };
-        double lastAnimationTime { 0 };
</del><ins>+        Seconds animationTime;
+        MonotonicTime lastAnimationTime;
</ins><span class="cx"> 
</span><span class="cx">         double attackPosition { 0 };
</span><del>-        double attackTime { 0 };
</del><ins>+        Seconds attackTime;
</ins><span class="cx">         Curve attackCurve { Curve::Quadratic };
</span><span class="cx"> 
</span><span class="cx">         double releasePosition { 0 };
</span><del>-        double releaseTime { 0 };
</del><ins>+        Seconds releaseTime;
</ins><span class="cx">         Curve releaseCurve { Curve::Quadratic };
</span><span class="cx"> 
</span><span class="cx">         int visibleLength { 0 };
</span><span class="lines">@@ -94,11 +94,11 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     bool updatePerAxisData(PerAxisData&amp;, ScrollGranularity, float delta, float minScrollPosition, float maxScrollPosition);
</span><del>-    bool animateScroll(PerAxisData&amp;, double currentTime);
</del><ins>+    bool animateScroll(PerAxisData&amp;, MonotonicTime currentTime);
</ins><span class="cx"> 
</span><span class="cx"> #if USE(REQUEST_ANIMATION_FRAME_TIMER)
</span><span class="cx">     void requestAnimationTimerFired();
</span><del>-    void startNextTimer(double delay);
</del><ins>+    void startNextTimer(Seconds delay);
</ins><span class="cx"> #else
</span><span class="cx">     void startNextTimer();
</span><span class="cx"> #endif
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">     PerAxisData m_horizontalData;
</span><span class="cx">     PerAxisData m_verticalData;
</span><span class="cx"> 
</span><del>-    double m_startTime { 0 };
</del><ins>+    MonotonicTime m_startTime;
</ins><span class="cx"> #if USE(REQUEST_ANIMATION_FRAME_TIMER)
</span><span class="cx">     Timer m_animationTimer;
</span><span class="cx"> #else
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformTimerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Timer.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Timer.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/Timer.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -55,8 +55,6 @@
</span><span class="cx">     WEBCORE_EXPORT void start(Seconds nextFireInterval, Seconds repeatInterval);
</span><span class="cx"> 
</span><span class="cx">     void startRepeating(Seconds repeatInterval) { start(repeatInterval, repeatInterval); }
</span><del>-
-    void startOneShot(double interval) { startOneShot(Seconds { interval }); }
</del><span class="cx">     void startOneShot(Seconds interval) { start(interval, 0_s); }
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void stop();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioPlatformMediaSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSession.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/PlatformMediaSession.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSession.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-const double kClientDataBufferingTimerThrottleDelay = 0.1;
</del><ins>+static const Seconds clientDataBufferingTimerThrottleDelay { 100_ms };
</ins><span class="cx"> 
</span><span class="cx"> #if !LOG_DISABLED
</span><span class="cx"> static const char* stateName(PlatformMediaSession::State state)
</span><span class="lines">@@ -260,7 +260,7 @@
</span><span class="cx"> void PlatformMediaSession::scheduleClientDataBufferingCheck()
</span><span class="cx"> {
</span><span class="cx">     if (!m_clientDataBufferingTimer.isActive())
</span><del>-        m_clientDataBufferingTimer.startOneShot(kClientDataBufferingTimerThrottleDelay);
</del><ins>+        m_clientDataBufferingTimer.startOneShot(clientDataBufferingTimerThrottleDelay);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PlatformMediaSession::clientDataBufferingTimerFired()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformcocoaScrollControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/cocoa/ScrollController.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/cocoa/ScrollController.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/cocoa/ScrollController.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -490,7 +490,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     static const Seconds statelessScrollSnapDelay = 750_ms;
</span><del>-    m_statelessSnapTransitionTimer.startOneShot(statelessScrollSnapDelay.value());
</del><ins>+    m_statelessSnapTransitionTimer.startOneShot(statelessScrollSnapDelay);
</ins><span class="cx">     startDeferringTestsDueToScrollSnapping();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgamepadcocoaGameControllerGamepadProvidermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const std::chrono::milliseconds InputNotificationDelay = 16ms;
</del><ins>+static const Seconds inputNotificationDelay { 16_ms };
</ins><span class="cx"> 
</span><span class="cx"> GameControllerGamepadProvider&amp; GameControllerGamepadProvider::singleton()
</span><span class="cx"> {
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> void GameControllerGamepadProvider::gamepadHadInput(GameControllerGamepad&amp;, bool hadButtonPresses)
</span><span class="cx"> {
</span><span class="cx">     if (!m_inputNotificationTimer.isActive())
</span><del>-        m_inputNotificationTimer.startOneShot(InputNotificationDelay);
</del><ins>+        m_inputNotificationTimer.startOneShot(inputNotificationDelay);
</ins><span class="cx"> 
</span><span class="cx">     if (hadButtonPresses)
</span><span class="cx">         m_shouldMakeInvisibileGamepadsVisible = true;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgamepadmacHIDGamepadProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double ConnectionDelayInterval = 0.5;
-static const double InputNotificationDelay = 0.05;
</del><ins>+static const Seconds connectionDelayInterval { 500_ms };
+static const Seconds inputNotificationDelay { 50_ms };
</ins><span class="cx"> 
</span><span class="cx"> static RetainPtr&lt;CFDictionaryRef&gt; deviceMatchingDictionary(uint32_t usagePage, uint32_t usage)
</span><span class="cx"> {
</span><span class="lines">@@ -142,9 +142,9 @@
</span><span class="cx">     IOHIDManagerScheduleWithRunLoop(m_manager.get(), CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
</span><span class="cx">     IOHIDManagerOpen(m_manager.get(), kIOHIDOptionsTypeNone);
</span><span class="cx"> 
</span><del>-    // Any connections we are notified of within the ConnectionDelayInterval of listening likely represent
</del><ins>+    // Any connections we are notified of within the connectionDelayInterval of listening likely represent
</ins><span class="cx">     // devices that were already connected, so we suppress notifying clients of these.
</span><del>-    m_connectionDelayTimer.startOneShot(ConnectionDelayInterval);
</del><ins>+    m_connectionDelayTimer.startOneShot(connectionDelayInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HIDGamepadProvider::closeAndUnscheduleManager()
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx">     // This isActive check is necessary as we want to delay input notifications from the time of the first input,
</span><span class="cx">     // and not push the notification out on every subsequent input.
</span><span class="cx">     if (!m_inputNotificationTimer.isActive())
</span><del>-        m_inputNotificationTimer.startOneShot(InputNotificationDelay);
</del><ins>+        m_inputNotificationTimer.startOneShot(inputNotificationDelay);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HIDGamepadProvider::inputNotificationTimerFired()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformglibMainThreadSharedTimerGLibcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/glib/MainThreadSharedTimerGLib.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/glib/MainThreadSharedTimerGLib.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/glib/MainThreadSharedTimerGLib.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> void MainThreadSharedTimer::setFireInterval(Seconds interval)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_firedFunction);
</span><del>-    m_timer.startOneShot(interval.value());
</del><ins>+    m_timer.startOneShot(interval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MainThreadSharedTimer::stop()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsBitmapImagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/BitmapImage.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/BitmapImage.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/BitmapImage.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx">     m_frameTimer = nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void BitmapImage::startTimer(double delay)
</del><ins>+void BitmapImage::startTimer(Seconds delay)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_frameTimer);
</span><span class="cx">     m_frameTimer = std::make_unique&lt;Timer&gt;(*this, &amp;BitmapImage::advanceAnimation);
</span><span class="lines">@@ -332,7 +332,7 @@
</span><span class="cx">     if (!m_source.isAllDataReceived() &amp;&amp; !frameIsCompleteAtIndex(nextFrame))
</span><span class="cx">         return StartAnimationStatus::IncompleteData;
</span><span class="cx"> 
</span><del>-    double time = monotonicallyIncreasingTime();
</del><ins>+    MonotonicTime time = MonotonicTime::now();
</ins><span class="cx"> 
</span><span class="cx">     // Handle initial state.
</span><span class="cx">     if (!m_desiredFrameStartTime)
</span><span class="lines">@@ -339,7 +339,7 @@
</span><span class="cx">         m_desiredFrameStartTime = time;
</span><span class="cx"> 
</span><span class="cx">     // Setting 'm_desiredFrameStartTime' to 'time' means we are late; otherwise we are early.
</span><del>-    m_desiredFrameStartTime = std::max(time, m_desiredFrameStartTime + frameDurationAtIndex(m_currentFrame));
</del><ins>+    m_desiredFrameStartTime = std::max(time, m_desiredFrameStartTime + Seconds { frameDurationAtIndex(m_currentFrame) });
</ins><span class="cx"> 
</span><span class="cx">     // Request async decoding for nextFrame only if this is required. If nextFrame is not in the frameCache,
</span><span class="cx">     // it will be decoded on a separate work queue. When decoding nextFrame finishes, we will be notified
</span><span class="lines">@@ -357,7 +357,7 @@
</span><span class="cx">         UNUSED_PARAM(isAsyncDecode);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-        m_desiredFrameDecodeTimeForTesting = time + std::max(m_frameDecodingDurationForTesting, 0.0f);
</del><ins>+        m_desiredFrameDecodeTimeForTesting = time + std::max(m_frameDecodingDurationForTesting, 0_s);
</ins><span class="cx">         if (m_clearDecoderAfterAsyncFrameRequestForTesting)
</span><span class="cx">             m_source.clear(data());
</span><span class="cx">     }
</span><span class="lines">@@ -374,7 +374,7 @@
</span><span class="cx">     // Pretend as if decoding nextFrame has taken m_frameDecodingDurationForTesting from
</span><span class="cx">     // the time this decoding was requested.
</span><span class="cx">     if (shouldUseAsyncDecodingForAnimatedImagesForTesting()) {
</span><del>-        double time = monotonicallyIncreasingTime();
</del><ins>+        MonotonicTime time = MonotonicTime::now();
</ins><span class="cx">         // Start a timer with the remaining time from now till the m_desiredFrameDecodeTime.
</span><span class="cx">         if (m_desiredFrameDecodeTimeForTesting &gt; std::max(time, m_desiredFrameStartTime)) {
</span><span class="cx">             startTimer(m_desiredFrameDecodeTimeForTesting - time);
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx">     stopAnimation();
</span><span class="cx">     m_currentFrame = 0;
</span><span class="cx">     m_repetitionsComplete = RepetitionCountNone;
</span><del>-    m_desiredFrameStartTime = 0;
</del><ins>+    m_desiredFrameStartTime = { };
</ins><span class="cx">     m_animationFinished = false;
</span><span class="cx"> 
</span><span class="cx">     // For extremely large animations, when the animation is reset, we just throw everything away.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsBitmapImageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/BitmapImage.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/BitmapImage.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/BitmapImage.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -97,8 +97,8 @@
</span><span class="cx">     bool currentFrameKnownToBeOpaque() const override { return !frameHasAlphaAtIndex(currentFrame()); }
</span><span class="cx">     ImageOrientation orientationForCurrentFrame() const override { return frameOrientationAtIndex(currentFrame()); }
</span><span class="cx"> 
</span><del>-    bool shouldUseAsyncDecodingForAnimatedImagesForTesting() const { return m_frameDecodingDurationForTesting &gt; 0; }
-    void setFrameDecodingDurationForTesting(float duration) { m_frameDecodingDurationForTesting = duration; }
</del><ins>+    bool shouldUseAsyncDecodingForAnimatedImagesForTesting() const { return m_frameDecodingDurationForTesting &gt; 0_s; }
+    void setFrameDecodingDurationForTesting(Seconds duration) { m_frameDecodingDurationForTesting = duration; }
</ins><span class="cx">     bool shouldUseAsyncDecodingForLargeImages();
</span><span class="cx">     bool shouldUseAsyncDecodingForAnimatedImages();
</span><span class="cx">     void setClearDecoderAfterAsyncFrameRequestForTesting(bool value) { m_clearDecoderAfterAsyncFrameRequestForTesting = value; }
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void clearTimer();
</span><del>-    void startTimer(double delay);
</del><ins>+    void startTimer(Seconds delay);
</ins><span class="cx">     bool isBitmapImage() const override { return true; }
</span><span class="cx">     void dump(TextStream&amp;) const override;
</span><span class="cx"> 
</span><span class="lines">@@ -207,11 +207,11 @@
</span><span class="cx">     SubsamplingLevel m_currentSubsamplingLevel { SubsamplingLevel::Default };
</span><span class="cx">     std::unique_ptr&lt;Timer&gt; m_frameTimer;
</span><span class="cx">     RepetitionCount m_repetitionsComplete { RepetitionCountNone }; // How many repetitions we've finished.
</span><del>-    double m_desiredFrameStartTime { 0 }; // The system time at which we hope to see the next call to startAnimation().
</del><ins>+    MonotonicTime m_desiredFrameStartTime; // The system time at which we hope to see the next call to startAnimation().
</ins><span class="cx">     bool m_animationFinished { false };
</span><span class="cx"> 
</span><del>-    float m_frameDecodingDurationForTesting { 0 };
-    double m_desiredFrameDecodeTimeForTesting { 0 };
</del><ins>+    Seconds m_frameDecodingDurationForTesting;
+    MonotonicTime m_desiredFrameDecodeTimeForTesting;
</ins><span class="cx">     bool m_clearDecoderAfterAsyncFrameRequestForTesting { false };
</span><span class="cx"> #if !LOG_DISABLED
</span><span class="cx">     size_t m_lateFrameCount { 0 };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetPickercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double pendingActionInterval = 1.0 / 10.0;
</del><ins>+static const Seconds pendingActionInterval { 100_ms };
</ins><span class="cx"> 
</span><span class="cx"> MediaPlaybackTargetPicker::MediaPlaybackTargetPicker(Client&amp; client)
</span><span class="cx">     : m_client(&amp;client)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsShadowBlurcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/ShadowBlur.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">         if (m_purgeTimer.isActive())
</span><span class="cx">             m_purgeTimer.stop();
</span><span class="cx"> 
</span><del>-        const double scratchBufferPurgeInterval = 2;
</del><ins>+        const Seconds scratchBufferPurgeInterval { 2_s };
</ins><span class="cx">         m_purgeTimer.startOneShot(scratchBufferPurgeInterval);
</span><span class="cx">     }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscaLayerPoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/ca/LayerPool.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_pruneTimer.isActive())
</span><span class="cx">         return;
</span><del>-    m_pruneTimer.startOneShot(1);
</del><ins>+    m_pruneTimer.startOneShot(1_s);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void LayerPool::pruneTimerFired()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -370,7 +370,7 @@
</span><span class="cx">     if (newState == GST_STATE_READY &amp;&amp; !m_readyTimerHandler.isActive()) {
</span><span class="cx">         // Max interval in seconds to stay in the READY state on manual
</span><span class="cx">         // state change requests.
</span><del>-        static const double readyStateTimerDelay = 60;
</del><ins>+        static const Seconds readyStateTimerDelay { 1_min };
</ins><span class="cx">         m_readyTimerHandler.startOneShot(readyStateTimerDelay);
</span><span class="cx">     } else if (newState != GST_STATE_READY)
</span><span class="cx">         m_readyTimerHandler.stop();
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacGraphicsContext3DMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -278,8 +278,8 @@
</span><span class="cx">             LOG(WebGL, &quot;Set a timer to turn off high-performance GPU.&quot;);
</span><span class="cx">             // FIXME: Expose this value as a Setting, which would require this class
</span><span class="cx">             // to reference a frame, page or document.
</span><del>-            static const int timeToKeepHighPerformanceGPUAliveInSeconds = 10;
-            m_disableHighPerformanceGPUTimer.startOneShot(timeToKeepHighPerformanceGPUAliveInSeconds);
</del><ins>+            static const Seconds timeToKeepHighPerformanceGPUAlive { 10_s };
+            m_disableHighPerformanceGPUTimer.startOneShot(timeToKeepHighPerformanceGPUAlive);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicstexmapBitmapTexturePoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double s_releaseUnusedSecondsTolerance = 3;
-static const double s_releaseUnusedTexturesTimerInterval = 0.5;
</del><ins>+static const double releaseUnusedSecondsTolerance = 3;
+static const Seconds releaseUnusedTexturesTimerInterval { 500_ms };
</ins><span class="cx"> 
</span><span class="cx"> #if USE(TEXTURE_MAPPER_GL)
</span><span class="cx"> BitmapTexturePool::BitmapTexturePool(RefPtr&lt;GraphicsContext3D&gt;&amp;&amp; context3D)
</span><span class="lines">@@ -66,13 +66,13 @@
</span><span class="cx">     if (m_releaseUnusedTexturesTimer.isActive())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_releaseUnusedTexturesTimer.startOneShot(s_releaseUnusedTexturesTimerInterval);
</del><ins>+    m_releaseUnusedTexturesTimer.startOneShot(releaseUnusedTexturesTimerInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void BitmapTexturePool::releaseUnusedTexturesTimerFired()
</span><span class="cx"> {
</span><del>-    // Delete entries, which have been unused in s_releaseUnusedSecondsTolerance.
-    double minUsedTime = monotonicallyIncreasingTime() - s_releaseUnusedSecondsTolerance;
</del><ins>+    // Delete entries, which have been unused in releaseUnusedSecondsTolerance.
+    double minUsedTime = monotonicallyIncreasingTime() - releaseUnusedSecondsTolerance;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_textures.isEmpty()) {
</span><span class="cx">         std::sort(m_textures.begin(), m_textures.end(),
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicstexmapTextureMapperPlatformLayerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx"> #include &lt;wtf/glib/RunLoopSourcePriority.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-const double s_releaseUnusedSecondsTolerance = 1;
-const double s_releaseUnusedBuffersTimerInterval = 0.5;
</del><ins>+static const double releaseUnusedSecondsTolerance = 1;
+static const Seconds releaseUnusedBuffersTimerInterval = { 500_ms };
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> void TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers()
</span><span class="cx"> {
</span><span class="cx">     if (!m_releaseUnusedBuffersTimer.isActive())
</span><del>-        m_releaseUnusedBuffersTimer.startOneShot(s_releaseUnusedBuffersTimerInterval);
</del><ins>+        m_releaseUnusedBuffersTimer.startOneShot(releaseUnusedBuffersTimerInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired()
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     auto buffers = WTFMove(m_usedBuffers);
</span><del>-    double minUsedTime = monotonicallyIncreasingTime() - s_releaseUnusedSecondsTolerance;
</del><ins>+    double minUsedTime = monotonicallyIncreasingTime() - releaseUnusedSecondsTolerance;
</ins><span class="cx"> 
</span><span class="cx">     for (auto&amp; buffer : buffers) {
</span><span class="cx">         if (buffer &amp;&amp; buffer-&gt;lastUsedTime() &gt;= minUsedTime)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicstexmapcoordinatedCoordinatedImageBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">     m_surface = nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static const double clearContentsTimerInterval = 3;
</del><ins>+static const Seconds clearContentsTimerInterval { 3_s };
</ins><span class="cx"> 
</span><span class="cx"> void CoordinatedImageBacking::updateVisibilityIfNeeded(bool&amp; changedToVisible)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkScrollAnimatorGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -38,8 +38,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double overflowScrollbarsAnimationDuration = 1;
-static const double overflowScrollbarsAnimationHideDelay = 2;
</del><ins>+static const Seconds overflowScrollbarsAnimationDuration { 1_s };
+static const Seconds overflowScrollbarsAnimationHideDelay { 2_s };
</ins><span class="cx"> 
</span><span class="cx"> std::unique_ptr&lt;ScrollAnimator&gt; ScrollAnimator::create(ScrollableArea&amp; scrollableArea)
</span><span class="cx"> {
</span><span class="lines">@@ -176,10 +176,10 @@
</span><span class="cx">     if (m_overlayScrollbarsLocked)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    double currentTime = monotonicallyIncreasingTime();
</del><ins>+    MonotonicTime currentTime = MonotonicTime::now();
</ins><span class="cx">     double progress = 1;
</span><span class="cx">     if (currentTime &lt; m_overlayScrollbarAnimationEndTime)
</span><del>-        progress = (currentTime - m_overlayScrollbarAnimationStartTime) / (m_overlayScrollbarAnimationEndTime - m_overlayScrollbarAnimationStartTime);
</del><ins>+        progress = (currentTime - m_overlayScrollbarAnimationStartTime).value() / (m_overlayScrollbarAnimationEndTime - m_overlayScrollbarAnimationStartTime).value();
</ins><span class="cx">     progress = m_overlayScrollbarAnimationSource + (easeOutCubic(progress) * (m_overlayScrollbarAnimationTarget - m_overlayScrollbarAnimationSource));
</span><span class="cx">     if (progress != m_overlayScrollbarAnimationCurrent) {
</span><span class="cx">         m_overlayScrollbarAnimationCurrent = progress;
</span><span class="lines">@@ -188,9 +188,9 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_overlayScrollbarAnimationCurrent != m_overlayScrollbarAnimationTarget) {
</span><span class="cx">         static const double frameRate = 60;
</span><del>-        static const double tickTime = 1 / frameRate;
-        static const double minimumTimerInterval = .001;
-        double deltaToNextFrame = std::max(tickTime - (monotonicallyIncreasingTime() - currentTime), minimumTimerInterval);
</del><ins>+        static const Seconds tickTime = 1_s / frameRate;
+        static const Seconds minimumTimerInterval = 1_ms;
+        Seconds deltaToNextFrame = std::max(tickTime - (MonotonicTime::now() - currentTime), minimumTimerInterval);
</ins><span class="cx">         m_overlayScrollbarAnimationTimer.startOneShot(deltaToNextFrame);
</span><span class="cx">     } else
</span><span class="cx">         hideOverlayScrollbars();
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx">     m_overlayScrollbarAnimationSource = m_overlayScrollbarAnimationCurrent;
</span><span class="cx">     m_overlayScrollbarAnimationTarget = 1;
</span><span class="cx">     if (m_overlayScrollbarAnimationTarget != m_overlayScrollbarAnimationCurrent) {
</span><del>-        m_overlayScrollbarAnimationStartTime = monotonicallyIncreasingTime();
</del><ins>+        m_overlayScrollbarAnimationStartTime = MonotonicTime::now();
</ins><span class="cx">         m_overlayScrollbarAnimationEndTime = m_overlayScrollbarAnimationStartTime + overflowScrollbarsAnimationDuration;
</span><span class="cx">         m_overlayScrollbarAnimationTimer.startOneShot(0_s);
</span><span class="cx">     } else
</span><span class="lines">@@ -231,7 +231,7 @@
</span><span class="cx">     m_overlayScrollbarAnimationTarget = 0;
</span><span class="cx">     if (m_overlayScrollbarAnimationTarget == m_overlayScrollbarAnimationCurrent)
</span><span class="cx">         return;
</span><del>-    m_overlayScrollbarAnimationStartTime = monotonicallyIncreasingTime() + overflowScrollbarsAnimationHideDelay;
</del><ins>+    m_overlayScrollbarAnimationStartTime = MonotonicTime::now() + overflowScrollbarsAnimationHideDelay;
</ins><span class="cx">     m_overlayScrollbarAnimationEndTime = m_overlayScrollbarAnimationStartTime + overflowScrollbarsAnimationDuration + overflowScrollbarsAnimationHideDelay;
</span><span class="cx">     m_overlayScrollbarAnimationTimer.startOneShot(overflowScrollbarsAnimationHideDelay);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgtkScrollAnimatorGtkh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/gtk/ScrollAnimatorGtk.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -80,8 +80,8 @@
</span><span class="cx">     double m_overlayScrollbarAnimationSource { 0 };
</span><span class="cx">     double m_overlayScrollbarAnimationTarget { 0 };
</span><span class="cx">     double m_overlayScrollbarAnimationCurrent { 0 };
</span><del>-    double m_overlayScrollbarAnimationStartTime { 0 };
-    double m_overlayScrollbarAnimationEndTime { 0 };
</del><ins>+    MonotonicTime m_overlayScrollbarAnimationStartTime;
+    MonotonicTime m_overlayScrollbarAnimationEndTime;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static const double DefaultWatchdogTimerInterval = 1;
</del><ins>+static const Seconds defaultWatchdogTimerInterval { 1_s };
</ins><span class="cx"> 
</span><span class="cx"> @class WebAVMediaSelectionOption;
</span><span class="cx"> 
</span><span class="lines">@@ -986,7 +986,7 @@
</span><span class="cx">     m_videoFullscreenModel-&gt;requestFullscreenMode(HTMLMediaElementEnums::VideoFullscreenModeNone, reason == ExitFullScreenReason::DoneButtonTapped);
</span><span class="cx"> 
</span><span class="cx">     if (!m_watchdogTimer.isActive())
</span><del>-        m_watchdogTimer.startOneShot(DefaultWatchdogTimerInterval);
</del><ins>+        m_watchdogTimer.startOneShot(defaultWatchdogTimerInterval);
</ins><span class="cx"> 
</span><span class="cx">     return false;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacScrollAnimatorMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1338,7 +1338,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollAnimatorMac::startScrollbarPaintTimer()
</span><span class="cx"> {
</span><del>-    m_initialScrollbarPaintTimer.startOneShot(0.1);
</del><ins>+    m_initialScrollbarPaintTimer.startOneShot(100_ms);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool ScrollAnimatorMac::scrollbarPaintTimerIsActive() const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMediaPlaybackTargetPickerMockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double timerInterval = 1.0 / 10.0;
</del><ins>+static const Seconds timerInterval { 100_ms };
</ins><span class="cx"> 
</span><span class="cx"> MediaPlaybackTargetPickerMock::MediaPlaybackTargetPickerMock(MediaPlaybackTargetPicker::Client&amp; client)
</span><span class="cx">     : MediaPlaybackTargetPicker(client)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockPlatformSpeechSynthesizerMockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/PlatformSpeechSynthesizerMock.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/PlatformSpeechSynthesizerMock.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/mock/PlatformSpeechSynthesizerMock.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     client()-&gt;boundaryEventOccurred(*m_utterance, SpeechSentenceBoundary, m_utterance-&gt;text().length());
</span><span class="cx"> 
</span><span class="cx">     // Give the fake speech job some time so that pause and other functions have time to be called.
</span><del>-    m_speakingFinishedTimer.startOneShot(.1);
</del><ins>+    m_speakingFinishedTimer.startOneShot(100_ms);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PlatformSpeechSynthesizerMock::cancel()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockTimerEventBasedMockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/TimerEventBasedMock.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/TimerEventBasedMock.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/mock/TimerEventBasedMock.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">         , m_timer(*this, &amp;TimerEvent::timerFired)
</span><span class="cx">         , m_notifier(notifier)
</span><span class="cx">     {
</span><del>-        m_timer.startOneShot(0.5);
</del><ins>+        m_timer.startOneShot(500_ms);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TimerEvent()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkDNSResolveQueuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/DNSResolveQueue.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/DNSResolveQueue.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/network/DNSResolveQueue.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> static const int gNamesToResolveImmediately = 4;
</span><span class="cx"> 
</span><span class="cx"> // Coalesce prefetch requests for this long before sending them out.
</span><del>-static const double gCoalesceDelayInSeconds = 1.0;
</del><ins>+static const Seconds coalesceDelay { 1_s };
</ins><span class="cx"> 
</span><span class="cx"> // Sending many DNS requests at once can overwhelm some gateways. See &lt;rdar://8105550&gt; for specific CFNET issues with CFHost throttling.
</span><span class="cx"> static const int gMaxSimultaneousRequests = 8;
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> static const int gMaxRequestsToQueue = 64;
</span><span class="cx"> 
</span><span class="cx"> // If there were queued names that couldn't be sent simultaneously, check the state of resolvers after this delay.
</span><del>-static const double gRetryResolvingInSeconds = 0.1;
</del><ins>+static const Seconds resolvingRetryDelay { 100_ms };
</ins><span class="cx"> 
</span><span class="cx"> DNSResolveQueue&amp; DNSResolveQueue::singleton()
</span><span class="cx"> {
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">     if (m_names.size() &lt; gMaxRequestsToQueue) {
</span><span class="cx">         m_names.add(hostname);
</span><span class="cx">         if (!m_timer.isActive())
</span><del>-            m_timer.startOneShot(gCoalesceDelayInSeconds);
</del><ins>+            m_timer.startOneShot(coalesceDelay);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!m_names.isEmpty())
</span><del>-        m_timer.startOneShot(gRetryResolvingInSeconds);
</del><ins>+        m_timer.startOneShot(resolvingRetryDelay);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkPingHandleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/PingHandle.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/PingHandle.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/network/PingHandle.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> 
</span><span class="cx">         // If the server never responds, this object will hang around forever.
</span><span class="cx">         // Set a very generous timeout, just in case.
</span><del>-        m_timeoutTimer.startOneShot(60000);
</del><ins>+        m_timeoutTimer.startOneShot(60000_s);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlResourceHandleManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> const int selectTimeoutMS = 5;
</span><del>-const double pollTimeSeconds = 0.05;
</del><ins>+static const Seconds pollTime { 50_ms };
</ins><span class="cx"> const int maxRunningJobs = 128;
</span><span class="cx"> const char* const errorDomainCurl = &quot;CurlErrorDomain&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -727,7 +727,7 @@
</span><span class="cx">     bool started = startScheduledJobs(); // new jobs might have been added in the meantime
</span><span class="cx"> 
</span><span class="cx">     if (!m_downloadTimer.isActive() &amp;&amp; (started || (runningHandles &gt; 0)))
</span><del>-        m_downloadTimer.startOneShot(pollTimeSeconds);
</del><ins>+        m_downloadTimer.startOneShot(pollTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ResourceHandleManager::setProxyInfo(const String&amp; host,
</span><span class="lines">@@ -877,7 +877,7 @@
</span><span class="cx">     job-&gt;ref();
</span><span class="cx">     m_resourceHandleList.append(job);
</span><span class="cx">     if (!m_downloadTimer.isActive())
</span><del>-        m_downloadTimer.startOneShot(pollTimeSeconds);
</del><ins>+        m_downloadTimer.startOneShot(pollTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool ResourceHandleManager::removeScheduledJob(ResourceHandle* job)
</span><span class="lines">@@ -1238,7 +1238,7 @@
</span><span class="cx">     ResourceHandleInternal* d = job-&gt;getInternal();
</span><span class="cx">     d-&gt;m_cancelled = true;
</span><span class="cx">     if (!m_downloadTimer.isActive())
</span><del>-        m_downloadTimer.startOneShot(pollTimeSeconds);
</del><ins>+        m_downloadTimer.startOneShot(pollTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacNetworkStateNotifierMaccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/NetworkStateNotifierMac.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/NetworkStateNotifierMac.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/network/mac/NetworkStateNotifierMac.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double StateChangeTimerInterval = 2.0;
</del><ins>+static const Seconds StateChangeTimerInterval { 2_s };
</ins><span class="cx"> 
</span><span class="cx"> void NetworkStateNotifier::updateState()
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -771,7 +771,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
</span><del>-        d-&gt;m_timeoutSource.startOneShot(d-&gt;m_firstRequest.timeoutInterval());
</del><ins>+        d-&gt;m_timeoutSource.startOneShot(1_s * d-&gt;m_firstRequest.timeoutInterval());
</ins><span class="cx"> 
</span><span class="cx">     // Balanced by a deref() in cleanupSoupRequestOperation, which should always run.
</span><span class="cx">     ref();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingImageQualityControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/ImageQualityController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/ImageQualityController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/ImageQualityController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const double cInterpolationCutoff = 800. * 800.;
</span><del>-static const double cLowQualityTimeThreshold = 0.500; // 500 ms
</del><ins>+static const Seconds lowQualityTimeThreshold { 500_ms };
</ins><span class="cx"> 
</span><span class="cx"> ImageQualityController::ImageQualityController(const RenderView&amp; renderView)
</span><span class="cx">     : m_renderView(renderView)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ImageQualityController::restartTimer()
</span><span class="cx"> {
</span><del>-    m_timer.startOneShot(cLowQualityTimeThreshold);
</del><ins>+    m_timer.startOneShot(lowQualityTimeThreshold);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> std::optional&lt;InterpolationQuality&gt; ImageQualityController::interpolationQualityFromStyle(const RenderStyle&amp; style)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -92,11 +92,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> // During page loading delay layer flushes up to this many seconds to allow them coalesce, reducing workload.
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-static const double throttledLayerFlushInitialDelay = .5;
-static const double throttledLayerFlushDelay = 1.5;
</del><ins>+static const Seconds throttledLayerFlushInitialDelay { 500_ms };
+static const Seconds throttledLayerFlushDelay { 1.5_s };
</ins><span class="cx"> #else
</span><del>-static const double throttledLayerFlushInitialDelay = .5;
-static const double throttledLayerFlushDelay = .5;
</del><ins>+static const Seconds throttledLayerFlushInitialDelay { 500_ms };
+static const Seconds throttledLayerFlushDelay { 500_ms };
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> using namespace HTMLNames;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderProgresscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderProgress.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderProgress.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderProgress.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx">     : RenderBlockFlow(element, WTFMove(style))
</span><span class="cx">     , m_position(HTMLProgressElement::InvalidPosition)
</span><span class="cx">     , m_animationStartTime(0)
</span><del>-    , m_animationRepeatInterval(0)
</del><span class="cx">     , m_animationDuration(0)
</span><span class="cx">     , m_animating(false)
</span><span class="cx">     , m_animationTimer(*this, &amp;RenderProgress::animationTimerFired)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderProgressh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderProgress.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderProgress.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderProgress.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> 
</span><span class="cx">     double m_position;
</span><span class="cx">     double m_animationStartTime;
</span><del>-    double m_animationRepeatInterval;
</del><ins>+    Seconds m_animationRepeatInterval;
</ins><span class="cx">     double m_animationDuration;
</span><span class="cx">     bool m_animating;
</span><span class="cx">     Timer m_animationTimer;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderText.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderText.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderText.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> inline void SecureTextTimer::restart(unsigned offsetAfterLastTypedCharacter)
</span><span class="cx"> {
</span><span class="cx">     m_offsetAfterLastTypedCharacter = offsetAfterLastTypedCharacter;
</span><del>-    startOneShot(m_renderer.settings().passwordEchoDurationInSeconds());
</del><ins>+    startOneShot(1_s * m_renderer.settings().passwordEchoDurationInSeconds());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline unsigned SecureTextTimer::takeOffsetAfterLastTypedCharacter()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1062,9 +1062,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-double RenderTheme::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</del><ins>+Seconds RenderTheme::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</ins><span class="cx"> {
</span><del>-    return 0;
</del><ins>+    return 0_s;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> double RenderTheme::animationDurationForProgressBar(RenderProgress&amp;) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTheme.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTheme.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderTheme.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx">     virtual ScrollbarControlSize scrollbarControlSizeForPart(ControlPart) { return RegularScrollbar; }
</span><span class="cx"> 
</span><span class="cx">     // Returns the repeat interval of the animation for the progress bar.
</span><del>-    virtual double animationRepeatIntervalForProgressBar(RenderProgress&amp;) const;
</del><ins>+    virtual Seconds animationRepeatIntervalForProgressBar(RenderProgress&amp;) const;
</ins><span class="cx">     // Returns the duration of the animation for the progress bar.
</span><span class="cx">     virtual double animationDurationForProgressBar(RenderProgress&amp;) const;
</span><span class="cx">     virtual IntRect progressBarRectForBounds(const RenderObject&amp;, const IntRect&amp;) const;
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx">     virtual bool usesMediaControlVolumeSlider() const { return true; }
</span><span class="cx">     virtual bool usesVerticalVolumeSlider() const { return true; }
</span><span class="cx">     virtual double mediaControlsFadeInDuration() { return 0.1; }
</span><del>-    virtual double mediaControlsFadeOutDuration() { return 0.3; }
</del><ins>+    virtual Seconds mediaControlsFadeOutDuration() { return 300_ms; }
</ins><span class="cx">     virtual String formatMediaControlsTime(float time) const;
</span><span class="cx">     virtual String formatMediaControlsCurrentTime(float currentTime, float duration) const;
</span><span class="cx">     virtual String formatMediaControlsRemainingTime(float currentTime, float duration) const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeGtk.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeGtk.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderThemeGtk.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -2111,8 +2111,8 @@
</span><span class="cx"> // These values have been copied from RenderThemeChromiumSkia.cpp
</span><span class="cx"> static const int progressActivityBlocks = 5;
</span><span class="cx"> static const int progressAnimationFrames = 10;
</span><del>-static const double progressAnimationInterval = 0.125;
-double RenderThemeGtk::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</del><ins>+static const Seconds progressAnimationInterval { 125_ms };
+Seconds RenderThemeGtk::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return progressAnimationInterval;
</span><span class="cx"> }
</span><span class="lines">@@ -2119,7 +2119,7 @@
</span><span class="cx"> 
</span><span class="cx"> double RenderThemeGtk::animationDurationForProgressBar(RenderProgress&amp;) const
</span><span class="cx"> {
</span><del>-    return progressAnimationInterval * progressAnimationFrames * 2; // &quot;2&quot; for back and forth;
</del><ins>+    return progressAnimationInterval.value() * progressAnimationFrames * 2; // &quot;2&quot; for back and forth;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> IntRect RenderThemeGtk::calculateProgressRect(const RenderObject&amp; renderObject, const IntRect&amp; fullBarRect)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeGtkh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeGtk.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeGtk.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderThemeGtk.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    double animationRepeatIntervalForProgressBar(RenderProgress&amp;) const override;
</del><ins>+    Seconds animationRepeatIntervalForProgressBar(RenderProgress&amp;) const override;
</ins><span class="cx">     double animationDurationForProgressBar(RenderProgress&amp;) const override;
</span><span class="cx">     void adjustProgressBarStyle(StyleResolver&amp;, RenderStyle&amp;, const Element*) const override;
</span><span class="cx">     IntRect progressBarRectForBounds(const RenderObject&amp;, const IntRect&amp;) const override;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeIOSh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeIOS.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     bool paintSliderThumbDecorations(const RenderObject&amp;, const PaintInfo&amp;, const IntRect&amp;) override;
</span><span class="cx"> 
</span><span class="cx">     // Returns the repeat interval of the animation for the progress bar.
</span><del>-    double animationRepeatIntervalForProgressBar(RenderProgress&amp;) const override;
</del><ins>+    Seconds animationRepeatIntervalForProgressBar(RenderProgress&amp;) const override;
</ins><span class="cx">     // Returns the duration of the animation for the progress bar.
</span><span class="cx">     double animationDurationForProgressBar(RenderProgress&amp;) const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeIOS.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderThemeIOS.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -870,9 +870,9 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-double RenderThemeIOS::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</del><ins>+Seconds RenderThemeIOS::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</ins><span class="cx"> {
</span><del>-    return 0;
</del><ins>+    return 0_s;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> double RenderThemeIOS::animationDurationForProgressBar(RenderProgress&amp;) const
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // Returns the repeat interval of the animation for the progress bar.
</span><del>-    double animationRepeatIntervalForProgressBar(RenderProgress&amp;) const override;
</del><ins>+    Seconds animationRepeatIntervalForProgressBar(RenderProgress&amp;) const override;
</ins><span class="cx">     // Returns the duration of the animation for the progress bar.
</span><span class="cx">     double animationDurationForProgressBar(RenderProgress&amp;) const override;
</span><span class="cx">     IntRect progressBarRectForBounds(const RenderObject&amp;, const IntRect&amp;) const override;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderThemeMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderThemeMac.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -114,10 +114,10 @@
</span><span class="cx"> 
</span><span class="cx"> // We estimate the animation rate of a Mac OS X progress bar is 33 fps.
</span><span class="cx"> // Hard code the value here because we haven't found API for it.
</span><del>-const double progressAnimationFrameRate = 0.033;
</del><ins>+static const Seconds progressAnimationFrameRate = 33_ms;
</ins><span class="cx"> 
</span><span class="cx"> // Mac OS X progress bar animation seems to have 256 frames.
</span><del>-const double progressAnimationNumFrames = 256;
</del><ins>+static const double progressAnimationNumFrames = 256;
</ins><span class="cx"> 
</span><span class="cx"> @interface WebCoreRenderThemeNotificationObserver : NSObject
</span><span class="cx"> {
</span><span class="lines">@@ -1129,7 +1129,7 @@
</span><span class="cx">     return sizeForSystemFont(style, progressBarSizes()).height();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-double RenderThemeMac::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</del><ins>+Seconds RenderThemeMac::animationRepeatIntervalForProgressBar(RenderProgress&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return progressAnimationFrameRate;
</span><span class="cx"> }
</span><span class="lines">@@ -1136,7 +1136,7 @@
</span><span class="cx"> 
</span><span class="cx"> double RenderThemeMac::animationDurationForProgressBar(RenderProgress&amp;) const
</span><span class="cx"> {
</span><del>-    return progressAnimationNumFrames * progressAnimationFrameRate;
</del><ins>+    return progressAnimationNumFrames * progressAnimationFrameRate.value();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderThemeMac::adjustProgressBarStyle(StyleResolver&amp;, RenderStyle&amp;, const Element*) const
</span></span></pre></div>
<a id="trunkSourceWebCorereplayEventLoopInputDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/EventLoopInputDispatcher.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/EventLoopInputDispatcher.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/replay/EventLoopInputDispatcher.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     LOG(WebReplay, &quot;%-20s (WAIT: %.3f ms)&quot;, &quot;ReplayEvents&quot;, waitInterval * 1000.0);
</span><del>-    m_timer.startOneShot(waitInterval);
</del><ins>+    m_timer.startOneShot(1_s * waitInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void EventLoopInputDispatcher::dispatchInput()
</span></span></pre></div>
<a id="trunkSourceWebCoresvganimationSMILTimeContainercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/svg/animation/SMILTimeContainer.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -35,8 +35,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const Seconds SMILAnimationFrameDelay { 1.0 / 60 };
-static const Seconds SMILAnimationFrameThrottledDelay { 1.0 / 30 };
</del><ins>+static const Seconds SMILAnimationFrameDelay { 1_s / 60. };
+static const Seconds SMILAnimationFrameThrottledDelay { 1_s / 30. };
</ins><span class="cx"> 
</span><span class="cx"> SMILTimeContainer::SMILTimeContainer(SVGSVGElement&amp; owner)
</span><span class="cx">     : m_beginTime(0)
</span><span class="lines">@@ -216,7 +216,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     SMILTime delay = std::max(fireTime - elapsed, minimumDelay);
</span><del>-    m_timer.startOneShot(delay.value());
</del><ins>+    m_timer.startOneShot(1_s * delay.value());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SMILTimeContainer::timerFired()
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -570,7 +570,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return Exception { INVALID_ACCESS_ERR };
</span><del>-    settings().setTimeWithoutMouseMovementBeforeHidingControls(time);
</del><ins>+    settings().setTimeWithoutMouseMovementBeforeHidingControls(Seconds { time });
</ins><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalSettingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/InternalSettings.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/InternalSettings.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/testing/InternalSettings.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx"> #endif
</span><span class="cx">         String m_defaultVideoPosterURL;
</span><span class="cx">         bool m_forcePendingWebGLPolicy;
</span><del>-        bool m_originalTimeWithoutMouseMovementBeforeHidingControls;
</del><ins>+        Seconds m_originalTimeWithoutMouseMovementBeforeHidingControls;
</ins><span class="cx">         bool m_useLegacyBackgroundSizeShorthandBehavior;
</span><span class="cx">         bool m_autoscrollForDragAndDropEnabled;
</span><span class="cx">         bool m_quickTimePluginReplacementEnabled;
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/testing/Internals.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -729,7 +729,7 @@
</span><span class="cx">     if (!is&lt;BitmapImage&gt;(image))
</span><span class="cx">         return;
</span><span class="cx">     
</span><del>-    downcast&lt;BitmapImage&gt;(*image).setFrameDecodingDurationForTesting(duration);
</del><ins>+    downcast&lt;BitmapImage&gt;(*image).setFrameDecodingDurationForTesting(Seconds { duration });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Internals::resetImageAnimation(HTMLImageElement&amp; element)
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -738,7 +738,7 @@
</span><span class="cx">         else {
</span><span class="cx">             request.setTimeoutInterval(std::numeric_limits&lt;double&gt;::infinity());
</span><span class="cx">             m_sendingTime = MonotonicTime::now();
</span><del>-            m_timeoutTimer.startOneShot(Seconds { m_timeoutMilliseconds / 1000. });
</del><ins>+            m_timeoutTimer.startOneShot(1_ms * m_timeoutMilliseconds);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/ChangeLog        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2017-04-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * Storage/StorageAreaSync.cpp:
+        * Storage/StorageTracker.cpp:
+        (WebKit::StorageTracker::StorageTracker):
+        * Storage/StorageTracker.h:
+        (WebKit::StorageTracker::storageDatabaseIdleInterval):
+        (WebKit::StorageTracker::setStorageDatabaseIdleInterval):
+
</ins><span class="cx"> 2017-04-09  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Start dropping Timer API dealing with double
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageAreaSynccpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageAreaSync.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageAreaSync.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/Storage/StorageAreaSync.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> // If the StorageArea undergoes rapid changes, don't sync each change to disk.
</span><span class="cx"> // Instead, queue up a batch of items to sync and actually do the sync at the following interval.
</span><del>-static const double StorageSyncInterval = 1.0;
</del><ins>+static const Seconds StorageSyncInterval { 1_s };
</ins><span class="cx"> 
</span><span class="cx"> // A sane limit on how many items we'll schedule to sync all at once.  This makes it
</span><span class="cx"> // much harder to starve the rest of LocalStorage and the OS's IO subsystem in general.
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageTrackercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageTracker.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageTracker.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/Storage/StorageTracker.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> 
</span><span class="cx"> // If there is no document referencing a storage database, close the underlying database
</span><span class="cx"> // after it has been idle for m_StorageDatabaseIdleInterval seconds.
</span><del>-static const double DefaultStorageDatabaseIdleInterval = 300;
</del><ins>+static const Seconds defaultStorageDatabaseIdleInterval { 300_s };
</ins><span class="cx">     
</span><span class="cx"> void StorageTracker::initializeTracker(const String&amp; storagePath, StorageTrackerClient* client)
</span><span class="cx"> {
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">     , m_thread(std::make_unique&lt;StorageThread&gt;())
</span><span class="cx">     , m_isActive(false)
</span><span class="cx">     , m_needsInitialization(false)
</span><del>-    , m_StorageDatabaseIdleInterval(DefaultStorageDatabaseIdleInterval)
</del><ins>+    , m_StorageDatabaseIdleInterval(defaultStorageDatabaseIdleInterval)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitStorageStorageTrackerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Storage/StorageTracker.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Storage/StorageTracker.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/Storage/StorageTracker.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">     
</span><span class="cx">     bool isActive();
</span><span class="cx"> 
</span><del>-    double storageDatabaseIdleInterval() { return m_StorageDatabaseIdleInterval; }
-    void setStorageDatabaseIdleInterval(double interval) { m_StorageDatabaseIdleInterval = interval; }
</del><ins>+    Seconds storageDatabaseIdleInterval() { return m_StorageDatabaseIdleInterval; }
+    void setStorageDatabaseIdleInterval(Seconds interval) { m_StorageDatabaseIdleInterval = interval; }
</ins><span class="cx"> 
</span><span class="cx">     void syncFileSystemAndTrackerDatabase();
</span><span class="cx"> 
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">     
</span><span class="cx">     bool m_isActive;
</span><span class="cx">     bool m_needsInitialization;
</span><del>-    double m_StorageDatabaseIdleInterval;
</del><ins>+    Seconds m_StorageDatabaseIdleInterval;
</ins><span class="cx"> };
</span><span class="cx">     
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/mac/ChangeLog        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2017-04-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * Plugins/WebNetscapePluginView.mm:
+        (PluginTimer::start):
+        * Storage/WebStorageManager.mm:
+        (+[WebStorageManager setStorageDatabaseIdleInterval:]):
+
</ins><span class="cx"> 2017-04-09  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Drop Timer::startRepeating() overload taking a double
</span></span></pre></div>
<a id="trunkSourceWebKitmacPluginsWebNetscapePluginViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef struct OpaquePortState* PortState;
</span><span class="cx"> 
</span><del>-static const double ThrottledTimerInterval = 0.25;
</del><ins>+static const Seconds throttledTimerInterval { 250_ms };
</ins><span class="cx"> 
</span><span class="cx"> class PluginTimer : public TimerBase {
</span><span class="cx"> public:
</span><span class="lines">@@ -130,10 +130,10 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(!isActive());
</span><span class="cx"> 
</span><del>-        double timeInterval = m_interval / 1000.0;
</del><ins>+        Seconds timeInterval = 1_ms * m_interval;
</ins><span class="cx">         
</span><span class="cx">         if (throttle)
</span><del>-            timeInterval = std::max(timeInterval, ThrottledTimerInterval);
</del><ins>+            timeInterval = std::max(timeInterval, throttledTimerInterval);
</ins><span class="cx">         
</span><span class="cx">         if (m_repeat)
</span><span class="cx">             startRepeating(Seconds { timeInterval });
</span></span></pre></div>
<a id="trunkSourceWebKitmacStorageWebStorageManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Storage/WebStorageManager.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Storage/WebStorageManager.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/mac/Storage/WebStorageManager.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx"> 
</span><span class="cx"> + (void)setStorageDatabaseIdleInterval:(double)interval
</span><span class="cx"> {
</span><del>-    WebKit::StorageTracker::tracker().setStorageDatabaseIdleInterval(interval);
</del><ins>+    WebKit::StorageTracker::tracker().setStorageDatabaseIdleInterval(1_s * interval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> + (void)closeIdleLocalStorageDatabases
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/win/ChangeLog        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2017-04-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * Plugins/PluginMessageThrottlerWin.cpp:
+        (WebCore::PluginMessageThrottlerWin::appendMessage):
+        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
+        * Plugins/PluginViewWin.cpp:
+        (WebCore::PluginView::invalidateRect):
+        * WebCoreSupport/AcceleratedCompositingContext.cpp:
+        (AcceleratedCompositingContext::scheduleLayerFlush):
+
</ins><span class="cx"> 2017-04-09  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Drop Timer::startRepeating() overload taking a double
</span></span></pre></div>
<a id="trunkSourceWebKitwinPluginsPluginMessageThrottlerWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> // This value allows Flash 60 messages/second, which should be enough for video
</span><span class="cx"> // playback, and also gets us over the limit for kicking into high-resolution
</span><span class="cx"> // timer mode (see SharedTimerWin.cpp).
</span><del>-static const double MessageThrottleTimeInterval = 0.016;
</del><ins>+static const Seconds messageThrottleTimeInterval { 16_ms };
</ins><span class="cx"> 
</span><span class="cx"> // During a continuous stream of messages, process one every 5ms.
</span><span class="cx"> static const double MessageDirectProcessingInterval = 0.005;
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!m_messageThrottleTimer.isActive())
</span><del>-        m_messageThrottleTimer.startOneShot(MessageThrottleTimeInterval);
</del><ins>+        m_messageThrottleTimer.startOneShot(messageThrottleTimeInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PluginMessageThrottlerWin::processQueuedMessage()
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     processQueuedMessage();
</span><span class="cx"> 
</span><span class="cx">     if (m_front)
</span><del>-        m_messageThrottleTimer.startOneShot(MessageThrottleTimeInterval);
</del><ins>+        m_messageThrottleTimer.startOneShot(messageThrottleTimeInterval);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PluginMessage* PluginMessageThrottlerWin::allocateMessage()
</span></span></pre></div>
<a id="trunkSourceWebKitwinPluginsPluginViewWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Plugins/PluginViewWin.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Plugins/PluginViewWin.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/win/Plugins/PluginViewWin.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -839,7 +839,7 @@
</span><span class="cx">         if (m_plugin-&gt;quirks().contains(PluginQuirkThrottleInvalidate)) {
</span><span class="cx">             m_invalidRects.append(r);
</span><span class="cx">             if (!m_invalidateTimer.isActive())
</span><del>-                m_invalidateTimer.startOneShot(0.001);
</del><ins>+                m_invalidateTimer.startOneShot(1_ms);
</ins><span class="cx">         } else
</span><span class="cx">             invalidateRect(r);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportAcceleratedCompositingContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit/win/WebCoreSupport/AcceleratedCompositingContext.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -349,7 +349,7 @@
</span><span class="cx">     if (m_layerFlushTimer.isActive())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_layerFlushTimer.startOneShot(0.05);
</del><ins>+    m_layerFlushTimer.startOneShot(50_ms);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool AcceleratedCompositingContext::flushPendingLayerChanges()
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/ChangeLog        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1,3 +1,63 @@
</span><ins>+2017-04-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * NetworkProcess/PingLoad.h:
+        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+        (WebKit::NetworkDataTaskSoup::startTimeout):
+        * Platform/IPC/Connection.h:
+        * Platform/IPC/mac/ConnectionMac.mm:
+        (IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
+        (IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
+        (IPC::Connection::terminateSoon):
+        * PluginProcess/PluginProcess.cpp:
+        (WebKit::PluginProcess::setMinimumLifetime):
+        * PluginProcess/PluginProcess.h:
+        * Shared/ChildProcess.cpp:
+        (WebKit::ChildProcess::ChildProcess):
+        * Shared/ChildProcess.h:
+        (WebKit::ChildProcess::setTerminationTimeout):
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
+        (WebKit::CompositingRunLoop::startUpdateTimer):
+        * Shared/Plugins/PluginProcessCreationParameters.h:
+        * Shared/WebMemorySampler.cpp:
+        (WebKit::WebMemorySampler::initializeTimers):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
+        (API::SharedJSContext::ensureContext):
+        * UIProcess/ChildProcessProxy.cpp:
+        (WebKit::ChildProcessProxy::shutDownProcess):
+        * UIProcess/Cocoa/NavigationState.mm:
+        (WebKit::NavigationState::didChangeIsLoading):
+        * UIProcess/Cocoa/ViewGestureController.cpp:
+        (WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
+        * UIProcess/Cocoa/ViewGestureController.h:
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
+        (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
+        (WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
+        * UIProcess/Gamepad/UIGamepadProvider.cpp:
+        * UIProcess/Plugins/PluginProcessProxy.cpp:
+        * UIProcess/ProcessThrottler.cpp:
+        * UIProcess/ResponsivenessTimer.cpp:
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::createNewWebProcess):
+        * UIProcess/gtk/GestureController.cpp:
+        (WebKit::GestureController::DragGesture::begin):
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
+        (WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):
+        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
+        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
+        * WebProcess/WebProcess.cpp:
+
</ins><span class="cx"> 2017-04-09  Wenson Hsieh  &lt;wenson_hsieh@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessPingLoadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/PingLoad.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/PingLoad.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/NetworkProcess/PingLoad.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx">         // If the server never responds, this object will hang around forever.
</span><span class="cx">         // Set a very generous timeout, just in case.
</span><del>-        m_timeoutTimer.startOneShot(60000);
</del><ins>+        m_timeoutTimer.startOneShot(60000_s);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesssoupNetworkDataTaskSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkDataTaskSoup.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -291,7 +291,7 @@
</span><span class="cx"> void NetworkDataTaskSoup::startTimeout()
</span><span class="cx"> {
</span><span class="cx">     if (m_firstRequest.timeoutInterval() &gt; 0)
</span><del>-        m_timeoutSource.startOneShot(m_firstRequest.timeoutInterval());
</del><ins>+        m_timeoutSource.startOneShot(1_s * m_firstRequest.timeoutInterval());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void NetworkDataTaskSoup::stopTimeout()
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformIPCConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Platform/IPC/Connection.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Platform/IPC/Connection.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Platform/IPC/Connection.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -189,7 +189,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     bool kill();
</span><del>-    void terminateSoon(double intervalInSeconds);
</del><ins>+    void terminateSoon(Seconds);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     bool isValid() const { return m_isValid; }
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformIPCmacConnectionMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -82,13 +82,13 @@
</span><span class="cx"> //    to ensure it has a chance to terminate cleanly.
</span><span class="cx"> class ConnectionTerminationWatchdog {
</span><span class="cx"> public:
</span><del>-    static void createConnectionTerminationWatchdog(OSObjectPtr&lt;xpc_connection_t&gt;&amp; xpcConnection, double intervalInSeconds)
</del><ins>+    static void createConnectionTerminationWatchdog(OSObjectPtr&lt;xpc_connection_t&gt;&amp; xpcConnection, Seconds interval)
</ins><span class="cx">     {
</span><del>-        new ConnectionTerminationWatchdog(xpcConnection, intervalInSeconds);
</del><ins>+        new ConnectionTerminationWatchdog(xpcConnection, interval);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx"> private:
</span><del>-    ConnectionTerminationWatchdog(OSObjectPtr&lt;xpc_connection_t&gt;&amp; xpcConnection, double intervalInSeconds)
</del><ins>+    ConnectionTerminationWatchdog(OSObjectPtr&lt;xpc_connection_t&gt;&amp; xpcConnection, Seconds interval)
</ins><span class="cx">         : m_xpcConnection(xpcConnection)
</span><span class="cx">         , m_watchdogTimer(RunLoop::main(), this, &amp;ConnectionTerminationWatchdog::watchdogTimerFired)
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">         , m_assertion(std::make_unique&lt;WebKit::ProcessAndUIAssertion&gt;(xpc_connection_get_pid(m_xpcConnection.get()), WebKit::AssertionState::Background))
</span><span class="cx"> #endif
</span><span class="cx">     {
</span><del>-        m_watchdogTimer.startOneShot(intervalInSeconds);
</del><ins>+        m_watchdogTimer.startOneShot(interval);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     void watchdogTimerFired()
</span><span class="lines">@@ -155,10 +155,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-void Connection::terminateSoon(double intervalInSeconds)
</del><ins>+void Connection::terminateSoon(Seconds interval)
</ins><span class="cx"> {
</span><span class="cx">     if (m_xpcConnection)
</span><del>-        ConnectionTerminationWatchdog::createConnectionTerminationWatchdog(m_xpcConnection, intervalInSeconds);
</del><ins>+        ConnectionTerminationWatchdog::createConnectionTerminationWatchdog(m_xpcConnection, interval);
</ins><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> void Connection::platformInitialize(Identifier identifier)
</span></span></pre></div>
<a id="trunkSourceWebKit2PluginProcessPluginProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -216,9 +216,9 @@
</span><span class="cx">     parentProcessConnection()-&gt;send(Messages::PluginProcessProxy::DidDeleteWebsiteDataForHostNames(callbackID), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PluginProcess::setMinimumLifetime(double lifetime)
</del><ins>+void PluginProcess::setMinimumLifetime(Seconds lifetime)
</ins><span class="cx"> {
</span><del>-    if (lifetime &lt;= 0.0)
</del><ins>+    if (lifetime &lt;= 0_s)
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     disableTermination();
</span></span></pre></div>
<a id="trunkSourceWebKit2PluginProcessPluginProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/PluginProcess/PluginProcess.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/PluginProcess/PluginProcess.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/PluginProcess/PluginProcess.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx"> 
</span><span class="cx">     void platformInitializePluginProcess(PluginProcessCreationParameters&amp;&amp;);
</span><span class="cx">     
</span><del>-    void setMinimumLifetime(double);
</del><ins>+    void setMinimumLifetime(Seconds);
</ins><span class="cx">     void minimumLifetimeTimerFired();
</span><span class="cx">     // Our web process connections.
</span><span class="cx">     Vector&lt;RefPtr&lt;WebProcessConnection&gt;&gt; m_webProcessConnections;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedChildProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/ChildProcess.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/ChildProcess.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Shared/ChildProcess.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -33,8 +33,7 @@
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> ChildProcess::ChildProcess()
</span><del>-    : m_terminationTimeout(0)
-    , m_terminationCounter(0)
</del><ins>+    : m_terminationCounter(0)
</ins><span class="cx">     , m_terminationTimer(RunLoop::main(), this, &amp;ChildProcess::terminationTimerFired)
</span><span class="cx">     , m_processSuppressionDisabled(&quot;Process Suppression Disabled by UIProcess&quot;)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedChildProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/ChildProcess.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/ChildProcess.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Shared/ChildProcess.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     explicit ChildProcess();
</span><span class="cx">     virtual ~ChildProcess();
</span><span class="cx"> 
</span><del>-    void setTerminationTimeout(double seconds) { m_terminationTimeout = seconds; }
</del><ins>+    void setTerminationTimeout(Seconds seconds) { m_terminationTimeout = seconds; }
</ins><span class="cx"> 
</span><span class="cx">     virtual void initializeProcess(const ChildProcessInitializationParameters&amp;);
</span><span class="cx">     virtual void initializeProcessName(const ChildProcessInitializationParameters&amp;);
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> 
</span><span class="cx">     // The timeout, in seconds, before this process will be terminated if termination
</span><span class="cx">     // has been enabled. If the timeout is 0 seconds, the process will be terminated immediately.
</span><del>-    double m_terminationTimeout;
</del><ins>+    Seconds m_terminationTimeout;
</ins><span class="cx"> 
</span><span class="cx">     // A termination counter; when the counter reaches zero, the process will be terminated
</span><span class="cx">     // after a given period of time.
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedCoordinatedGraphicsthreadedcompositorCompositingRunLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx">     if (timing == WaitUntilNextFrame)
</span><span class="cx">         nextUpdateTime = std::max((1 / targetFPS) - (monotonicallyIncreasingTime() - m_lastUpdateTime), 0.0);
</span><span class="cx"> 
</span><del>-    m_updateTimer.startOneShot(nextUpdateTime);
</del><ins>+    m_updateTimer.startOneShot(1_s * nextUpdateTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CompositingRunLoop::stopUpdateTimer()
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedPluginsPluginProcessCreationParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Attachment.h&quot;
</span><span class="cx"> #include &quot;PluginProcessAttributes.h&quot;
</span><ins>+#include &lt;wtf/Seconds.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> #include &lt;WebCore/MachSendRight.h&gt;
</span><span class="lines">@@ -51,8 +52,8 @@
</span><span class="cx">     PluginProcessType processType;
</span><span class="cx">     bool supportsAsynchronousPluginInitialization;
</span><span class="cx"> 
</span><del>-    double minimumLifetime;
-    double terminationTimeout;
</del><ins>+    Seconds minimumLifetime;
+    Seconds terminationTimeout;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     WebCore::MachSendRight acceleratedCompositingPort;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebMemorySamplercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebMemorySampler.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebMemorySampler.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Shared/WebMemorySampler.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">     m_sampleTimer.startRepeating(1_s);
</span><span class="cx">     printf(&quot;Started memory sampler for process %s %d&quot;, processName().utf8().data(), getpid());
</span><span class="cx">     if (interval &gt; 0) {
</span><del>-        m_stopTimer.startOneShot(interval);
</del><ins>+        m_stopTimer.startOneShot(1_s * interval);
</ins><span class="cx">         printf(&quot; for a interval of %g seconds&quot;, interval);
</span><span class="cx">     }
</span><span class="cx">     printf(&quot;; Sampler log file stored at: %s\n&quot;, m_sampleLogFilePath.utf8().data());
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebProcessCreationParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">     bool hasRichContentServices { false };
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    double terminationTimeout { 0 };
</del><ins>+    Seconds terminationTimeout;
</ins><span class="cx"> 
</span><span class="cx">     TextCheckerState textCheckerState;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaAPISerializedScriptValueCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     {
</span><span class="cx">         if (!m_context) {
</span><span class="cx">             m_context = adoptNS([[JSContext alloc] init]);
</span><del>-            m_timer.startOneShot(1);
</del><ins>+            m_timer.startOneShot(1_s);
</ins><span class="cx">         }
</span><span class="cx">         return m_context.get();
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessChildProcessProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ChildProcessProxy.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ChildProcessProxy.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/ChildProcessProxy.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -197,7 +197,7 @@
</span><span class="cx">         // On iOS deploy a watchdog in the UI process, since the child process may be suspended.
</span><span class="cx">         // If 30s is insufficient for any outstanding activity to complete cleanly, then it will be killed.
</span><span class="cx">         ASSERT(m_connection);
</span><del>-        m_connection-&gt;terminateSoon(30);
</del><ins>+        m_connection-&gt;terminateSoon(30_s);
</ins><span class="cx"> #endif
</span><span class="cx">         break;
</span><span class="cx">     case State::Terminated:
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaNavigationStatemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -887,7 +887,7 @@
</span><span class="cx">     } else {
</span><span class="cx">         // Delay releasing the background activity for 3 seconds to give the application a chance to start another navigation
</span><span class="cx">         // before suspending the WebContent process &lt;rdar://problem/27910964&gt;.
</span><del>-        m_releaseActivityTimer.startOneShot(3s);
</del><ins>+        m_releaseActivityTimer.startOneShot(3_s);
</ins><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaViewGestureControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -40,13 +40,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-static const std::chrono::seconds swipeSnapshotRemovalWatchdogAfterFirstVisuallyNonEmptyLayoutDuration = 3s;
-static const Seconds swipeSnapshotRemovalActiveLoadMonitoringInterval = 250_ms;
</del><ins>+static const Seconds swipeSnapshotRemovalWatchdogAfterFirstVisuallyNonEmptyLayoutDuration { 3_s };
+static const Seconds swipeSnapshotRemovalActiveLoadMonitoringInterval { 250_ms };
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><del>-static const std::chrono::seconds swipeSnapshotRemovalWatchdogDuration = 5s;
</del><ins>+static const Seconds swipeSnapshotRemovalWatchdogDuration = 5_s;
</ins><span class="cx"> #else
</span><del>-static const std::chrono::seconds swipeSnapshotRemovalWatchdogDuration = 3s;
</del><ins>+static const Seconds swipeSnapshotRemovalWatchdogDuration = 3_s;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> static HashMap&lt;uint64_t, ViewGestureController*&gt;&amp; viewGestureControllersForAllPages()
</span><span class="lines">@@ -297,10 +297,10 @@
</span><span class="cx">     fireRemovalCallbackImmediately();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ViewGestureController::SnapshotRemovalTracker::startWatchdog(std::chrono::seconds duration)
</del><ins>+void ViewGestureController::SnapshotRemovalTracker::startWatchdog(Seconds duration)
</ins><span class="cx"> {
</span><del>-    log(String::format(&quot;(re)started watchdog timer for %lld seconds&quot;, duration.count()));
-    m_watchdogTimer.startOneShot(duration.count());
</del><ins>+    log(String::format(&quot;(re)started watchdog timer for %.1f seconds&quot;, duration.seconds()));
+    m_watchdogTimer.startOneShot(duration);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaViewGestureControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.h (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.h        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/ViewGestureController.h        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">         bool eventOccurred(Events);
</span><span class="cx">         bool cancelOutstandingEvent(Events);
</span><span class="cx"> 
</span><del>-        void startWatchdog(std::chrono::seconds);
</del><ins>+        void startWatchdog(Seconds);
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         static String eventsDescription(Events);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDrawingAreaProxyImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx"> 
</span><span class="cx">     // We'll wait this many seconds after the last paint before throwing away our backing store to save memory.
</span><span class="cx">     // FIXME: It would be smarter to make this delay based on how expensive painting is. See &lt;http://webkit.org/b/55733&gt;.
</span><del>-    static const double discardBackingStoreDelay = 2;
</del><ins>+    static const Seconds discardBackingStoreDelay = 2_s;
</ins><span class="cx"> 
</span><span class="cx">     m_discardBackingStoreTimer.startOneShot(discardBackingStoreDelay);
</span><span class="cx"> }
</span><span class="lines">@@ -228,7 +228,7 @@
</span><span class="cx">     m_callback = callback;
</span><span class="cx"> #if PLATFORM(GTK)
</span><span class="cx">     g_signal_connect_swapped(m_webPage.viewWidget(), &quot;draw&quot;, reinterpret_cast&lt;GCallback&gt;(webViewDrawCallback), this);
</span><del>-    m_timer.startOneShot(1);
</del><ins>+    m_timer.startOneShot(1_s);
</ins><span class="cx"> #else
</span><span class="cx">     m_timer.startOneShot(0_s);
</span><span class="cx"> #endif
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx">     if (monotonicallyIncreasingTimeMS() - m_startTime &gt; 1000)
</span><span class="cx">         stop();
</span><span class="cx">     else
</span><del>-        m_timer.startOneShot(0.100);
</del><ins>+        m_timer.startOneShot(100_ms);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing(std::function&lt;void(CallbackBase::Error)&gt; callbackFunction)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessGamepadUIGamepadProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/Gamepad/UIGamepadProvider.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-static const double maximumGamepadUpdateInterval = 1 / 120.0;
</del><ins>+static const Seconds maximumGamepadUpdateInterval { 1_s / 120. };
</ins><span class="cx"> 
</span><span class="cx"> UIGamepadProvider&amp; UIGamepadProvider::singleton()
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessPluginsPluginProcessProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -46,11 +46,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-static const double minimumLifetime = 2 * 60;
-static const double snapshottingMinimumLifetime = 30;
</del><ins>+static const Seconds minimumLifetime { 2_min };
+static const Seconds snapshottingMinimumLifetime { 30_s };
</ins><span class="cx"> 
</span><del>-static const double shutdownTimeout = 1 * 60;
-static const double snapshottingShutdownTimeout = 15;
</del><ins>+static const Seconds shutdownTimeout { 1_min };
+static const Seconds snapshottingShutdownTimeout { 15_s };
</ins><span class="cx"> 
</span><span class="cx"> static uint64_t generateCallbackID()
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessProcessThrottlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ProcessThrottler.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ProcessThrottler.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/ProcessThrottler.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx">     
</span><del>-static const unsigned processSuspensionTimeout = 30;
</del><ins>+static const Seconds processSuspensionTimeout { 30_s };
</ins><span class="cx">     
</span><span class="cx"> ProcessThrottler::ProcessThrottler(ProcessThrottlerClient&amp; process)
</span><span class="cx">     : m_process(process)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessResponsivenessTimercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ResponsivenessTimer.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ResponsivenessTimer.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/ResponsivenessTimer.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-static const double responsivenessTimeout = 3;
</del><ins>+static const Seconds responsivenessTimeout { 3_s };
</ins><span class="cx"> 
</span><span class="cx"> ResponsivenessTimer::ResponsivenessTimer(ResponsivenessTimer::Client&amp; client)
</span><span class="cx">     : m_client(client)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessPoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -689,7 +689,7 @@
</span><span class="cx"> 
</span><span class="cx">     parameters.iconDatabaseEnabled = !iconDatabasePath().isEmpty();
</span><span class="cx"> 
</span><del>-    parameters.terminationTimeout = 0;
</del><ins>+    parameters.terminationTimeout = 0_s;
</ins><span class="cx"> 
</span><span class="cx">     parameters.textCheckerState = TextChecker::state();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessgtkGestureControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/gtk/GestureController.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/gtk/GestureController.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/gtk/GestureController.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx">     GtkWidget* widget = gtk_event_controller_get_widget(GTK_EVENT_CONTROLLER(gesture));
</span><span class="cx">     unsigned delay;
</span><span class="cx">     g_object_get(gtk_widget_get_settings(widget), &quot;gtk-long-press-time&quot;, &amp;delay, nullptr);
</span><del>-    dragGesture-&gt;m_longPressTimeout.startOneShot(delay / 1000.0);
</del><ins>+    dragGesture-&gt;m_longPressTimeout.startOneShot(1_ms * delay);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void GestureController::DragGesture::update(DragGesture* dragGesture, double x, double y, GtkGesture* gesture)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWebInspectorProxyMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> 
</span><span class="cx"> // The time we keep our WebView alive before closing it and its process.
</span><span class="cx"> // Reusing the WebView improves start up time for people that jump in and out of the Inspector.
</span><del>-static const unsigned webViewCloseTimeout = 60;
</del><ins>+static const Seconds webViewCloseTimeout { 1_min };
</ins><span class="cx"> 
</span><span class="cx"> // WKWebInspectorProxyObjCAdapter is a helper ObjC object used as a delegate or notification observer
</span><span class="cx"> // for the sole purpose of getting back into the C++ code from an ObjC caller.
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageAcceleratedDrawingAreacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -384,7 +384,7 @@
</span><span class="cx">     m_previousLayerTreeHost-&gt;setIsDiscardable(true);
</span><span class="cx">     m_previousLayerTreeHost-&gt;pauseRendering();
</span><span class="cx">     m_previousLayerTreeHost-&gt;setLayerFlushSchedulingEnabled(false);
</span><del>-    m_discardPreviousLayerTreeHostTimer.startOneShot(5);
</del><ins>+    m_discardPreviousLayerTreeHostTimer.startOneShot(5_s);
</ins><span class="cx"> #else
</span><span class="cx">     m_layerTreeHost = nullptr;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageCoordinatedGraphicsCoordinatedLayerTreeHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -234,7 +234,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     scheduleLayerFlush();
</span><del>-    m_layerFlushTimer.startOneShot(m_coordinator.nextAnimationServiceTime());
</del><ins>+    m_layerFlushTimer.startOneShot(1_s * m_coordinator.nextAnimationServiceTime());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CoordinatedLayerTreeHost::commitScrollOffset(uint32_t layerID, const WebCore::IntSize&amp; offset)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -5333,7 +5333,7 @@
</span><span class="cx"> static const int primarySnapshottedPlugInMinimumWidth = 400;
</span><span class="cx"> static const int primarySnapshottedPlugInMinimumHeight = 300;
</span><span class="cx"> static const unsigned maxPrimarySnapshottedPlugInDetectionAttempts = 2;
</span><del>-static const int deferredPrimarySnapshottedPlugInDetectionDelay = 3;
</del><ins>+static const Seconds deferredPrimarySnapshottedPlugInDetectionDelay = 3_s;
</ins><span class="cx"> static const float overlappingImageBoundsScale = 1.1;
</span><span class="cx"> static const float minimumOverlappingImageToPluginDimensionScale = .9;
</span><span class="cx"> 
</span><span class="lines">@@ -5441,7 +5441,7 @@
</span><span class="cx">     if (!candidatePlugIn) {
</span><span class="cx">         LOG(Plugins, &quot;Primary Plug-In Detection: fail - did not find a candidate plug-in.&quot;);
</span><span class="cx">         if (m_numberOfPrimarySnapshotDetectionAttempts &lt; maxPrimarySnapshottedPlugInDetectionAttempts) {
</span><del>-            LOG(Plugins, &quot;Primary Plug-In Detection: will attempt again in %ds.&quot;, deferredPrimarySnapshottedPlugInDetectionDelay);
</del><ins>+            LOG(Plugins, &quot;Primary Plug-In Detection: will attempt again in %.1f s.&quot;, deferredPrimarySnapshottedPlugInDetectionDelay.value());
</ins><span class="cx">             m_determinePrimarySnapshottedPlugInTimer.startOneShot(deferredPrimarySnapshottedPlugInDetectionDelay);
</span><span class="cx">         }
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx"> static const double plugInAutoStartExpirationTimeUpdateThreshold = 29 * 24 * 60 * 60;
</span><span class="cx"> 
</span><span class="cx"> // This should be greater than tileRevalidationTimeout in TileController.
</span><del>-static const double nonVisibleProcessCleanupDelay = 10;
</del><ins>+static const Seconds nonVisibleProcessCleanupDelay { 10_s };
</ins><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Tools/ChangeLog        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2017-04-10  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
+        (TestWebKitAPI::TEST):
+        * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
+        (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
+
</ins><span class="cx"> 2017-04-09  Wenson Hsieh  &lt;wenson_hsieh@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestsWTFRunLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx"> 
</span><span class="cx">     {
</span><span class="cx">         DerivedTimer timer(testFinished);
</span><del>-        timer.startOneShot(0.1);
</del><ins>+        timer.startOneShot(100_ms);
</ins><span class="cx">         Util::run(&amp;testFinished);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundlegtkTestRunnerGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp (215172 => 215173)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp        2017-04-10 07:39:19 UTC (rev 215172)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp        2017-04-10 08:02:21 UTC (rev 215173)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     if (m_waitToDumpWatchdogTimer.isActive())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_waitToDumpWatchdogTimer.startOneShot(m_timeout / 1000.0);
</del><ins>+    m_waitToDumpWatchdogTimer.startOneShot(1_ms * m_timeout);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSRetainPtr&lt;JSStringRef&gt; TestRunner::pathToLocalResource(JSStringRef url)
</span></span></pre>
</div>
</div>

</body>
</html>