Title: [200963] trunk/Source/WebCore
- Revision
- 200963
- Author
- cdu...@apple.com
- Date
- 2016-05-16 13:24:52 -0700 (Mon, 16 May 2016)
Log Message
Use WTF::Optional for ScrollView's m_deferredScrollDelta / m_deferredScrollOffsets
https://bugs.webkit.org/show_bug.cgi?id=157747
Reviewed by Zalan Bujtas.
Use WTF::Optional for ScrollView's m_deferredScrollDelta / m_deferredScrollOffsets
instead of std::unique_ptr as it is more suited for this purpose.
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollOffsetChangedViaPlatformWidget):
(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange):
(WebCore::ScrollView::scrollTo):
* platform/ScrollView.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (200962 => 200963)
--- trunk/Source/WebCore/ChangeLog 2016-05-16 20:19:24 UTC (rev 200962)
+++ trunk/Source/WebCore/ChangeLog 2016-05-16 20:24:52 UTC (rev 200963)
@@ -1,3 +1,19 @@
+2016-05-16 Chris Dumez <cdu...@apple.com>
+
+ Use WTF::Optional for ScrollView's m_deferredScrollDelta / m_deferredScrollOffsets
+ https://bugs.webkit.org/show_bug.cgi?id=157747
+
+ Reviewed by Zalan Bujtas.
+
+ Use WTF::Optional for ScrollView's m_deferredScrollDelta / m_deferredScrollOffsets
+ instead of std::unique_ptr as it is more suited for this purpose.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollOffsetChangedViaPlatformWidget):
+ (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange):
+ (WebCore::ScrollView::scrollTo):
+ * platform/ScrollView.h:
+
2016-05-16 Zalan Bujtas <za...@apple.com>
containingBlockFor*Position functions should take the renderer instead of the parent.
Modified: trunk/Source/WebCore/platform/ScrollView.cpp (200962 => 200963)
--- trunk/Source/WebCore/platform/ScrollView.cpp 2016-05-16 20:19:24 UTC (rev 200962)
+++ trunk/Source/WebCore/platform/ScrollView.cpp 2016-05-16 20:24:52 UTC (rev 200963)
@@ -448,7 +448,7 @@
// is not complete. Instead, defer the scroll event until the layout finishes.
if (shouldDeferScrollUpdateAfterContentSizeChange()) {
// We only care about the most recent scroll position change request
- m_deferredScrollOffsets = std::make_unique<std::pair<ScrollOffset, ScrollOffset>>(std::make_pair(oldOffset, newOffset));
+ m_deferredScrollOffsets = std::make_pair(oldOffset, newOffset);
return;
}
@@ -465,12 +465,12 @@
ASSERT(static_cast<bool>(m_deferredScrollDelta) != static_cast<bool>(m_deferredScrollOffsets));
if (m_deferredScrollDelta)
- completeUpdatesAfterScrollTo(*m_deferredScrollDelta);
+ completeUpdatesAfterScrollTo(m_deferredScrollDelta.value());
else if (m_deferredScrollOffsets)
- scrollOffsetChangedViaPlatformWidgetImpl(m_deferredScrollOffsets->first, m_deferredScrollOffsets->second);
+ scrollOffsetChangedViaPlatformWidgetImpl(m_deferredScrollOffsets.value().first, m_deferredScrollOffsets.value().second);
- m_deferredScrollDelta = nullptr;
- m_deferredScrollOffsets = nullptr;
+ m_deferredScrollDelta = Nullopt;
+ m_deferredScrollOffsets = Nullopt;
}
void ScrollView::scrollTo(const ScrollPosition& newPosition)
@@ -496,7 +496,7 @@
// is not complete. Instead, defer the scroll event until the layout finishes.
if (shouldDeferScrollUpdateAfterContentSizeChange()) {
ASSERT(!m_deferredScrollDelta);
- m_deferredScrollDelta = std::make_unique<IntSize>(scrollDelta);
+ m_deferredScrollDelta = scrollDelta;
return;
}
Modified: trunk/Source/WebCore/platform/ScrollView.h (200962 => 200963)
--- trunk/Source/WebCore/platform/ScrollView.h 2016-05-16 20:19:24 UTC (rev 200962)
+++ trunk/Source/WebCore/platform/ScrollView.h 2016-05-16 20:24:52 UTC (rev 200963)
@@ -461,8 +461,8 @@
IntSize m_fixedLayoutSize;
IntSize m_contentsSize;
- std::unique_ptr<IntSize> m_deferredScrollDelta; // Needed for WebKit scrolling
- std::unique_ptr<std::pair<ScrollOffset, ScrollOffset>> m_deferredScrollOffsets; // Needed for platform widget scrolling
+ Optional<IntSize> m_deferredScrollDelta; // Needed for WebKit scrolling
+ Optional<std::pair<ScrollOffset, ScrollOffset>> m_deferredScrollOffsets; // Needed for platform widget scrolling
bool m_scrollbarsSuppressed;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes