Modified: trunk/Source/WTF/ChangeLog (228088 => 228089)
--- trunk/Source/WTF/ChangeLog 2018-02-05 09:02:24 UTC (rev 228088)
+++ trunk/Source/WTF/ChangeLog 2018-02-05 09:14:09 UTC (rev 228089)
@@ -1,3 +1,13 @@
+2018-02-05 Alicia Boya García <ab...@igalia.com>
+
+ Fix bug in MediaTime comparison for negative values with different scale.
+ https://bugs.webkit.org/show_bug.cgi?id=182433
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ * wtf/MediaTime.cpp:
+ (WTF::MediaTime::compare const):
+
2018-02-02 Mark Lam <mark....@apple.com>
More ARM64_32 fixes.
Modified: trunk/Source/WTF/wtf/MediaTime.cpp (228088 => 228089)
--- trunk/Source/WTF/wtf/MediaTime.cpp 2018-02-05 09:02:24 UTC (rev 228088)
+++ trunk/Source/WTF/wtf/MediaTime.cpp 2018-02-05 09:14:09 UTC (rev 228089)
@@ -391,12 +391,20 @@
if (m_timeValue == rhs.m_timeValue)
return m_timeScale < rhs.m_timeScale ? GreaterThan : LessThan;
- if (m_timeValue < rhs.m_timeValue && m_timeScale > rhs.m_timeScale)
- return LessThan;
+ if (m_timeValue >= 0) {
+ if (m_timeValue < rhs.m_timeValue && m_timeScale > rhs.m_timeScale)
+ return LessThan;
- if (m_timeValue > rhs.m_timeValue && m_timeScale < rhs.m_timeScale)
- return GreaterThan;
+ if (m_timeValue > rhs.m_timeValue && m_timeScale < rhs.m_timeScale)
+ return GreaterThan;
+ } else {
+ if (m_timeValue < rhs.m_timeValue && m_timeScale < rhs.m_timeScale)
+ return LessThan;
+ if (m_timeValue > rhs.m_timeValue && m_timeScale > rhs.m_timeScale)
+ return GreaterThan;
+ }
+
int64_t lhsFactor;
int64_t rhsFactor;
if (safeMultiply(m_timeValue, static_cast<int64_t>(rhs.m_timeScale), lhsFactor)
Modified: trunk/Tools/ChangeLog (228088 => 228089)
--- trunk/Tools/ChangeLog 2018-02-05 09:02:24 UTC (rev 228088)
+++ trunk/Tools/ChangeLog 2018-02-05 09:14:09 UTC (rev 228089)
@@ -1,3 +1,15 @@
+2018-02-05 Alicia Boya García <ab...@igalia.com>
+
+ Fix bug in MediaTime comparison for negative values with different scale.
+ https://bugs.webkit.org/show_bug.cgi?id=182433
+
+ Improved test coverage for MediaTime::compare().
+
+ Reviewed by Xabier Rodriguez-Calvar.
+
+ * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
+ (TestWebKitAPI::TEST):
+
2018-02-05 Carlos Garcia Campos <cgar...@igalia.com>
[SOUP] WebSockets must use system proxy settings
Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/MediaTime.cpp (228088 => 228089)
--- trunk/Tools/TestWebKitAPI/Tests/WTF/MediaTime.cpp 2018-02-05 09:02:24 UTC (rev 228088)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/MediaTime.cpp 2018-02-05 09:14:09 UTC (rev 228089)
@@ -85,6 +85,12 @@
EXPECT_EQ(MediaTime(1, 1) != MediaTime(2, 1), true);
EXPECT_EQ(MediaTime(2, 1) == MediaTime(2, 1), true);
EXPECT_EQ(MediaTime(2, 1) == MediaTime(4, 2), true);
+ EXPECT_EQ(MediaTime(-2, 1) < MediaTime(-1, 1), true);
+ EXPECT_EQ(MediaTime(-2, 1) <= MediaTime(-1, 1), true);
+ EXPECT_EQ(MediaTime(-1, 1) < MediaTime(-2, 1), false);
+ EXPECT_EQ(MediaTime(-1, 1) < MediaTime(2, 1), true);
+ EXPECT_EQ(MediaTime(1, 1) > MediaTime(-2, 1), true);
+ EXPECT_EQ(MediaTime(-8, 10) >= MediaTime(-1, 1), true);
EXPECT_TRUE((bool)MediaTime(1, 1));
EXPECT_TRUE(!MediaTime(0, 1));