Title: [151564] trunk/Source/WebCore
- Revision
- 151564
- Author
- [email protected]
- Date
- 2013-06-13 11:22:23 -0700 (Thu, 13 Jun 2013)
Log Message
Headers and footers should be pinned to the left edge of the window when scrolling
horizontally, even when zoomed
https://bugs.webkit.org/show_bug.cgi?id=117562
-and corresponding-
<rdar://problem/14006745>
Reviewed by Sam Weinig.
We really want to use the width value from scrollOffsetForFixedPosition() for the
banner with a scaled factor of 1. So if there is a different scale factor, re-
compute this value specifically for the banners.
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (151563 => 151564)
--- trunk/Source/WebCore/ChangeLog 2013-06-13 18:13:25 UTC (rev 151563)
+++ trunk/Source/WebCore/ChangeLog 2013-06-13 18:22:23 UTC (rev 151564)
@@ -1,3 +1,19 @@
+2013-06-13 Beth Dakin <[email protected]>
+
+ Headers and footers should be pinned to the left edge of the window when scrolling
+ horizontally, even when zoomed
+ https://bugs.webkit.org/show_bug.cgi?id=117562
+ -and corresponding-
+ <rdar://problem/14006745>
+
+ Reviewed by Sam Weinig.
+
+ We really want to use the width value from scrollOffsetForFixedPosition() for the
+ banner with a scaled factor of 1. So if there is a different scale factor, re-
+ compute this value specifically for the banners.
+ * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+ (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
+
2013-06-13 Christophe Dumez <[email protected]>
Support byte and octet types in bindings generators
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm (151563 => 151564)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm 2013-06-13 18:13:25 UTC (rev 151563)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm 2013-06-13 18:22:23 UTC (rev 151564)
@@ -315,11 +315,18 @@
if (m_counterScrollingLayer)
m_counterScrollingLayer.get().position = FloatPoint(scrollOffsetForFixedChildren);
+ // Generally the banners should have the same horizontal-position computation as a fixed element. However,
+ // the banners are not affected by the frameScaleFactor(), so if there is currently a non-1 frameScaleFactor()
+ // then we should recompute scrollOffsetForFixedChildren for the banner with a scale factor of 1.
+ float horizontalScrollOffsetForBanner = scrollOffsetForFixedChildren.width();
+ if (frameScaleFactor() != 1)
+ horizontalScrollOffsetForBanner = FrameView::scrollOffsetForFixedPosition(viewportRect(), totalContentsSize(), position, scrollOrigin(), 1, false, headerHeight(), footerHeight()).width();
+
if (m_headerLayer)
- m_headerLayer.get().position = FloatPoint(scrollOffsetForFixedChildren.width(), 0);
+ m_headerLayer.get().position = FloatPoint(horizontalScrollOffsetForBanner, 0);
if (m_footerLayer)
- m_footerLayer.get().position = FloatPoint(scrollOffsetForFixedChildren.width(), totalContentsSize().height() - footerHeight());
+ m_footerLayer.get().position = FloatPoint(horizontalScrollOffsetForBanner, totalContentsSize().height() - footerHeight());
if (!m_children)
return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes