Changeset 106730 in webkit
- Timestamp:
- Feb 4, 2012 1:19:57 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r106728 r106730 1 2012-02-04 Swapna P <spottabathini@innominds.com> 2 3 Reviewed by Antonio Gomes. 4 5 Bug: iframe with scrolling=no incorrectly autoscrollable 6 https://bugs.webkit.org/show_bug.cgi?id=61558 7 8 Did change inorder to print correct log as per the description provided in test case. 9 10 * fast/events/autoscroll-with-non-scrollable-parent.html: 11 1 12 2012-02-03 Adam Barth <abarth@webkit.org> 2 13 -
trunk/LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
r60186 r106730 40 40 var iframe = document.getElementById('NoScrolliFrame'); 41 41 var iframeDocument = iframe.contentDocument; 42 if (iframeDocument.body.scrollLeft != 0)42 if (iframeDocument.body.scrollLeft == 0) 43 43 log("PASSED"); 44 44 else -
trunk/Source/WebCore/ChangeLog
r106729 r106730 1 2012-02-04 Swapna P <spottabathini@innominds.com> 2 3 Reviewed by Antonio Gomes. 4 5 Bug: iframe with scrolling=no incorrectly autoscrollable 6 https://bugs.webkit.org/show_bug.cgi?id=61558 7 8 Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect 9 10 Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html 11 12 * rendering/RenderLayer.cpp: 13 (WebCore::RenderLayer::scrollRectToVisible): 14 1 15 2012-02-03 Tim Horton <timothy_horton@apple.com> 2 16 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r106695 r106730 67 67 #include "Gradient.h" 68 68 #include "GraphicsContext.h" 69 #include "HTMLFrameElement.h" 69 70 #include "HTMLFrameOwnerElement.h" 70 71 #include "HTMLNames.h" … … 1543 1544 } else if (!parentLayer && renderer()->isBox() && renderBox()->canBeProgramaticallyScrolled()) { 1544 1545 if (frameView) { 1545 if (renderer()->document() && renderer()->document()->ownerElement() && renderer()->document()->ownerElement()->renderer()) { 1546 LayoutRect viewRect = frameView->visibleContentRect(); 1547 LayoutRect r = getRectToExpose(viewRect, rect, alignX, alignY); 1548 1549 LayoutUnit xOffset = r.x(); 1550 LayoutUnit yOffset = r.y(); 1551 // Adjust offsets if they're outside of the allowable range. 1552 xOffset = max<LayoutUnit>(0, min(frameView->contentsWidth(), xOffset)); 1553 yOffset = max<LayoutUnit>(0, min(frameView->contentsHeight(), yOffset)); 1554 1555 frameView->setScrollPosition(IntPoint(xOffset, yOffset)); 1556 parentLayer = renderer()->document()->ownerElement()->renderer()->enclosingLayer(); 1557 newRect.setX(rect.x() - frameView->scrollX() + frameView->x()); 1558 newRect.setY(rect.y() - frameView->scrollY() + frameView->y()); 1546 Element* ownerElement = 0; 1547 if (renderer()->document()) 1548 ownerElement = renderer()->document()->ownerElement(); 1549 1550 if (ownerElement && ownerElement->renderer()) { 1551 HTMLFrameElement* frameElement = 0; 1552 1553 if (ownerElement->hasTagName(frameTag) || ownerElement->hasTagName(iframeTag)) 1554 frameElement = static_cast<HTMLFrameElement*>(ownerElement); 1555 1556 if (frameElement && frameElement->scrollingMode() != ScrollbarAlwaysOff) { 1557 LayoutRect viewRect = frameView->visibleContentRect(); 1558 LayoutRect exposeRect = getRectToExpose(viewRect, rect, alignX, alignY); 1559 1560 LayoutUnit xOffset = exposeRect.x(); 1561 LayoutUnit yOffset = exposeRect.y(); 1562 // Adjust offsets if they're outside of the allowable range. 1563 xOffset = max<LayoutUnit>(0, min(frameView->contentsWidth(), xOffset)); 1564 yOffset = max<LayoutUnit>(0, min(frameView->contentsHeight(), yOffset)); 1565 1566 frameView->setScrollPosition(IntPoint(xOffset, yOffset)); 1567 parentLayer = ownerElement->renderer()->enclosingLayer(); 1568 newRect.setX(rect.x() - frameView->scrollX() + frameView->x()); 1569 newRect.setY(rect.y() - frameView->scrollY() + frameView->y()); 1570 } 1559 1571 } else { 1560 1572 LayoutRect viewRect = frameView->visibleContentRect();
Note: See TracChangeset
for help on using the changeset viewer.