Regression(r222392?): Events can have a negative timestamp which causes app breakage
https://bugs.webkit.org/show_bug.cgi?id=185040
<rdar://problem/39638051>
Reviewed by Wenson Hsieh.
The real fix is in UIKit when generating the touch timestamps. However, this patch
does some hardening to make sure that Event.timestamp can never return a negative
value even if something goes wrong.
* dom/Event.cpp:
(WebCore::Event::timeStampForBindings const):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@231111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 8eda24b..4e69617 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2018-04-27 Chris Dumez <cdumez@apple.com>
+
+ Regression(r222392?): Events can have a negative timestamp which causes app breakage
+ https://bugs.webkit.org/show_bug.cgi?id=185040
+ <rdar://problem/39638051>
+
+ Reviewed by Wenson Hsieh.
+
+ The real fix is in UIKit when generating the touch timestamps. However, this patch
+ does some hardening to make sure that Event.timestamp can never return a negative
+ value even if something goes wrong.
+
+ * dom/Event.cpp:
+ (WebCore::Event::timeStampForBindings const):
+
2018-04-27 Christopher Reid <chris.reid@sony.com>
URL::appendEncodedHostName is using the deprecated uidna_IDNToASCII function
diff --git a/Source/WebCore/dom/Event.cpp b/Source/WebCore/dom/Event.cpp
index 88c4381..c67822a 100644
--- a/Source/WebCore/dom/Event.cpp
+++ b/Source/WebCore/dom/Event.cpp
@@ -170,7 +170,7 @@
if (!performance)
return 0;
- return performance->relativeTimeFromTimeOriginInReducedResolution(m_createTime);
+ return std::max(performance->relativeTimeFromTimeOriginInReducedResolution(m_createTime), 0.);
}
void Event::resetBeforeDispatch()