| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 10 * | 10 * |
| (...skipping 1728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1739 } | 1739 } |
| 1740 | 1740 |
| 1741 HostWindow* FrameView::hostWindow() const | 1741 HostWindow* FrameView::hostWindow() const |
| 1742 { | 1742 { |
| 1743 Page* page = frame().page(); | 1743 Page* page = frame().page(); |
| 1744 if (!page) | 1744 if (!page) |
| 1745 return nullptr; | 1745 return nullptr; |
| 1746 return &page->chrome(); | 1746 return &page->chrome(); |
| 1747 } | 1747 } |
| 1748 | 1748 |
| 1749 void FrameView::contentRectangleForPaintInvalidation(const IntRect& rect) | 1749 void FrameView::contentRectangleForPaintInvalidation(const IntRect& rectInConten
t) |
| 1750 { | 1750 { |
| 1751 ASSERT(!m_frame->ownerRenderer()); | 1751 ASSERT(!m_frame->ownerRenderer()); |
| 1752 | 1752 |
| 1753 if (m_isTrackingPaintInvalidations) { | 1753 if (m_isTrackingPaintInvalidations) { |
| 1754 IntRect paintInvalidationRect = rect; | 1754 m_trackedPaintInvalidationRects.append(contentsToFrame(rectInContent)); |
| 1755 paintInvalidationRect.move(-scrollOffset()); | |
| 1756 m_trackedPaintInvalidationRects.append(paintInvalidationRect); | |
| 1757 // FIXME: http://crbug.com/368518. Eventually, invalidateContentRectangl
eForPaint | 1755 // FIXME: http://crbug.com/368518. Eventually, invalidateContentRectangl
eForPaint |
| 1758 // is going away entirely once all layout tests are FCM. In the short | 1756 // is going away entirely once all layout tests are FCM. In the short |
| 1759 // term, no code should be tracking non-composited FrameView paint inval
idations. | 1757 // term, no code should be tracking non-composited FrameView paint inval
idations. |
| 1760 RELEASE_ASSERT_NOT_REACHED(); | 1758 RELEASE_ASSERT_NOT_REACHED(); |
| 1761 } | 1759 } |
| 1762 | 1760 |
| 1763 IntRect paintRect = rect; | 1761 IntRect paintRect = rectInContent; |
| 1764 if (clipsPaintInvalidations()) | 1762 if (clipsPaintInvalidations()) |
| 1765 paintRect.intersect(visibleContentRect()); | 1763 paintRect.intersect(visibleContentRect()); |
| 1766 if (paintRect.isEmpty()) | 1764 if (paintRect.isEmpty()) |
| 1767 return; | 1765 return; |
| 1768 | 1766 |
| 1769 if (HostWindow* window = hostWindow()) | 1767 if (HostWindow* window = hostWindow()) |
| 1770 window->invalidateRect(contentsToWindow(paintRect)); | 1768 window->invalidateRect(contentsToWindow(paintRect)); |
| 1771 } | 1769 } |
| 1772 | 1770 |
| 1773 void FrameView::contentsResized() | 1771 void FrameView::contentsResized() |
| (...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2753 IntRect FrameView::convertFromRenderer(const LayoutObject& renderer, const IntRe
ct& rendererRect) const | 2751 IntRect FrameView::convertFromRenderer(const LayoutObject& renderer, const IntRe
ct& rendererRect) const |
| 2754 { | 2752 { |
| 2755 IntRect rect = pixelSnappedIntRect(enclosingLayoutRect(renderer.localToAbsol
uteQuad(FloatRect(rendererRect)).boundingBox())); | 2753 IntRect rect = pixelSnappedIntRect(enclosingLayoutRect(renderer.localToAbsol
uteQuad(FloatRect(rendererRect)).boundingBox())); |
| 2756 | 2754 |
| 2757 // Convert from page ("absolute") to FrameView coordinates. | 2755 // Convert from page ("absolute") to FrameView coordinates. |
| 2758 rect.moveBy(-scrollPosition()); | 2756 rect.moveBy(-scrollPosition()); |
| 2759 | 2757 |
| 2760 return rect; | 2758 return rect; |
| 2761 } | 2759 } |
| 2762 | 2760 |
| 2763 IntRect FrameView::convertToRenderer(const LayoutObject& renderer, const IntRect
& viewRect) const | 2761 IntRect FrameView::convertToRenderer(const LayoutObject& renderer, const IntRect
& frameRect) const |
| 2764 { | 2762 { |
| 2765 IntRect rect = viewRect; | 2763 IntRect rectInContent = frameToContents(frameRect); |
| 2766 | 2764 |
| 2767 // Convert from FrameView coords into page ("absolute") coordinates. | 2765 // Convert from FrameView coords into page ("absolute") coordinates. |
| 2768 rect.moveBy(scrollPosition()); | 2766 rectInContent.moveBy(scrollPosition()); |
| 2769 | 2767 |
| 2770 // FIXME: we don't have a way to map an absolute rect down to a local quad,
so just | 2768 // FIXME: we don't have a way to map an absolute rect down to a local quad,
so just |
| 2771 // move the rect for now. | 2769 // move the rect for now. |
| 2772 rect.setLocation(roundedIntPoint(renderer.absoluteToLocal(rect.location(), U
seTransforms))); | 2770 rectInContent.setLocation(roundedIntPoint(renderer.absoluteToLocal(rectInCon
tent.location(), UseTransforms))); |
| 2773 return rect; | 2771 return rectInContent; |
| 2774 } | 2772 } |
| 2775 | 2773 |
| 2776 IntPoint FrameView::convertFromRenderer(const LayoutObject& renderer, const IntP
oint& rendererPoint) const | 2774 IntPoint FrameView::convertFromRenderer(const LayoutObject& renderer, const IntP
oint& rendererPoint) const |
| 2777 { | 2775 { |
| 2778 IntPoint point = roundedIntPoint(renderer.localToAbsolute(rendererPoint, Use
Transforms)); | 2776 IntPoint point = roundedIntPoint(renderer.localToAbsolute(rendererPoint, Use
Transforms)); |
| 2779 | 2777 |
| 2780 // Convert from page ("absolute") to FrameView coordinates. | 2778 // Convert from page ("absolute") to FrameView coordinates. |
| 2781 point.moveBy(-scrollPosition()); | 2779 point.moveBy(-scrollPosition()); |
| 2782 return point; | 2780 return point; |
| 2783 } | 2781 } |
| 2784 | 2782 |
| 2785 IntPoint FrameView::convertToRenderer(const LayoutObject& renderer, const IntPoi
nt& viewPoint) const | 2783 IntPoint FrameView::convertToRenderer(const LayoutObject& renderer, const IntPoi
nt& framePoint) const |
| 2786 { | 2784 { |
| 2787 IntPoint point = viewPoint; | 2785 IntPoint point = framePoint; |
| 2788 | 2786 |
| 2789 // Convert from FrameView coords into page ("absolute") coordinates. | 2787 // Convert from FrameView coords into page ("absolute") coordinates. |
| 2790 point += IntSize(scrollX(), scrollY()); | 2788 point += IntSize(scrollX(), scrollY()); |
| 2791 | 2789 |
| 2792 return roundedIntPoint(renderer.absoluteToLocal(point, UseTransforms)); | 2790 return roundedIntPoint(renderer.absoluteToLocal(point, UseTransforms)); |
| 2793 } | 2791 } |
| 2794 | 2792 |
| 2795 IntRect FrameView::convertToContainingView(const IntRect& localRect) const | 2793 IntRect FrameView::convertToContainingView(const IntRect& localRect) const |
| 2796 { | 2794 { |
| 2797 if (const FrameView* parentView = toFrameView(parent())) { | 2795 if (const FrameView* parentView = toFrameView(parent())) { |
| (...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3616 if (!scrollContentsFastPath(-scrollDelta)) | 3614 if (!scrollContentsFastPath(-scrollDelta)) |
| 3617 scrollContentsSlowPath(updateRect); | 3615 scrollContentsSlowPath(updateRect); |
| 3618 | 3616 |
| 3619 // Invalidate the overhang areas if they are visible. | 3617 // Invalidate the overhang areas if they are visible. |
| 3620 updateOverhangAreas(); | 3618 updateOverhangAreas(); |
| 3621 | 3619 |
| 3622 // This call will move children with native widgets (plugins) and invalidate
them as well. | 3620 // This call will move children with native widgets (plugins) and invalidate
them as well. |
| 3623 frameRectsChanged(); | 3621 frameRectsChanged(); |
| 3624 } | 3622 } |
| 3625 | 3623 |
| 3626 IntPoint FrameView::rootViewToContents(const IntPoint& rootViewPoint) const | 3624 IntPoint FrameView::contentsToFrame(const IntPoint& pointInContentSpace) const |
| 3627 { | 3625 { |
| 3628 IntPoint viewPoint = convertFromContainingWindow(rootViewPoint); | 3626 return pointInContentSpace - scrollOffset(); |
| 3629 return viewPoint + scrollOffset(); | |
| 3630 } | 3627 } |
| 3631 | 3628 |
| 3632 IntPoint FrameView::contentsToRootView(const IntPoint& contentsPoint) const | 3629 IntRect FrameView::contentsToFrame(const IntRect& rectInContentSpace) const |
| 3633 { | 3630 { |
| 3634 IntPoint viewPoint = contentsPoint - scrollOffset(); | 3631 return IntRect(contentsToFrame(rectInContentSpace.location()), rectInContent
Space.size()); |
| 3635 return convertToContainingWindow(viewPoint); | |
| 3636 } | 3632 } |
| 3637 | 3633 |
| 3638 IntRect FrameView::rootViewToContents(const IntRect& rootViewRect) const | 3634 FloatPoint FrameView::frameToContents(const FloatPoint& pointInFrame) const |
| 3639 { | 3635 { |
| 3640 IntRect viewRect = convertFromContainingWindow(rootViewRect); | 3636 return pointInFrame + scrollOffset(); |
| 3641 viewRect.move(scrollOffset()); | |
| 3642 return viewRect; | |
| 3643 } | 3637 } |
| 3644 | 3638 |
| 3645 IntRect FrameView::contentsToRootView(const IntRect& contentsRect) const | 3639 IntPoint FrameView::frameToContents(const IntPoint& pointInFrame) const |
| 3646 { | 3640 { |
| 3647 IntRect viewRect = contentsRect; | 3641 return pointInFrame + scrollOffset(); |
| 3648 viewRect.move(-scrollOffset()); | 3642 } |
| 3649 return convertToContainingWindow(viewRect); | 3643 |
| 3644 IntRect FrameView::frameToContents(const IntRect& rectInFrame) const |
| 3645 { |
| 3646 return IntRect(frameToContents(rectInFrame.location()), rectInFrame.size()); |
| 3647 } |
| 3648 |
| 3649 IntPoint FrameView::rootFrameToContents(const IntPoint& rootFramePoint) const |
| 3650 { |
| 3651 IntPoint framePoint = convertFromContainingWindow(rootFramePoint); |
| 3652 return frameToContents(framePoint); |
| 3653 } |
| 3654 |
| 3655 IntRect FrameView::rootFrameToContents(const IntRect& rootFrameRect) const |
| 3656 { |
| 3657 return IntRect(rootFrameToContents(rootFrameRect.location()), rootFrameRect.
size()); |
| 3658 } |
| 3659 |
| 3660 IntPoint FrameView::contentsToRootFrame(const IntPoint& contentsPoint) const |
| 3661 { |
| 3662 IntPoint framePoint = contentsToFrame(contentsPoint); |
| 3663 return convertToContainingWindow(framePoint); |
| 3664 } |
| 3665 |
| 3666 IntRect FrameView::contentsToRootFrame(const IntRect& contentsRect) const |
| 3667 { |
| 3668 IntRect rectInFrame = contentsToFrame(contentsRect); |
| 3669 return convertToContainingWindow(rectInFrame); |
| 3650 } | 3670 } |
| 3651 | 3671 |
| 3652 IntPoint FrameView::windowToContents(const IntPoint& windowPoint) const | 3672 IntPoint FrameView::windowToContents(const IntPoint& windowPoint) const |
| 3653 { | 3673 { |
| 3654 IntPoint viewPoint = convertFromContainingWindow(windowPoint); | 3674 IntPoint framePoint = convertFromContainingWindow(windowPoint); |
| 3655 return viewPoint + scrollOffset(); | 3675 return frameToContents(framePoint); |
| 3656 } | 3676 } |
| 3657 | 3677 |
| 3658 FloatPoint FrameView::windowToContents(const FloatPoint& windowPoint) const | 3678 FloatPoint FrameView::windowToContents(const FloatPoint& windowPoint) const |
| 3659 { | 3679 { |
| 3660 FloatPoint viewPoint = convertFromContainingWindow(windowPoint); | 3680 FloatPoint framePoint = convertFromContainingWindow(windowPoint); |
| 3661 return viewPoint + scrollOffset(); | 3681 return frameToContents(framePoint); |
| 3662 } | 3682 } |
| 3663 | 3683 |
| 3664 IntPoint FrameView::contentsToWindow(const IntPoint& contentsPoint) const | 3684 IntPoint FrameView::contentsToWindow(const IntPoint& contentsPoint) const |
| 3665 { | 3685 { |
| 3666 IntPoint viewPoint = contentsPoint - scrollOffset(); | 3686 IntPoint framePoint = contentsToFrame(contentsPoint); |
| 3667 return convertToContainingWindow(viewPoint); | 3687 return convertToContainingWindow(framePoint); |
| 3668 } | 3688 } |
| 3669 | 3689 |
| 3670 IntRect FrameView::windowToContents(const IntRect& windowRect) const | 3690 IntRect FrameView::windowToContents(const IntRect& windowRect) const |
| 3671 { | 3691 { |
| 3672 IntRect viewRect = convertFromContainingWindow(windowRect); | 3692 IntRect rectInFrame = convertFromContainingWindow(windowRect); |
| 3673 viewRect.move(scrollOffset()); | 3693 return frameToContents(rectInFrame); |
| 3674 return viewRect; | |
| 3675 } | 3694 } |
| 3676 | 3695 |
| 3677 IntRect FrameView::contentsToWindow(const IntRect& contentsRect) const | 3696 IntRect FrameView::contentsToWindow(const IntRect& contentsRect) const |
| 3678 { | 3697 { |
| 3679 IntRect viewRect = contentsRect; | 3698 IntRect rectInFrame = contentsToFrame(contentsRect); |
| 3680 viewRect.move(-scrollOffset()); | 3699 return convertToContainingWindow(rectInFrame); |
| 3681 return convertToContainingWindow(viewRect); | |
| 3682 } | 3700 } |
| 3683 | 3701 |
| 3684 IntRect FrameView::contentsToScreen(const IntRect& rect) const | 3702 IntRect FrameView::contentsToScreen(const IntRect& rect) const |
| 3685 { | 3703 { |
| 3686 HostWindow* window = hostWindow(); | 3704 HostWindow* window = hostWindow(); |
| 3687 if (!window) | 3705 if (!window) |
| 3688 return IntRect(); | 3706 return IntRect(); |
| 3689 return window->rootViewToScreen(contentsToRootView(rect)); | 3707 return window->viewportToScreen(contentsToWindow(rect)); |
| 3690 } | 3708 } |
| 3691 | 3709 |
| 3692 bool FrameView::containsScrollbarsAvoidingResizer() const | 3710 bool FrameView::containsScrollbarsAvoidingResizer() const |
| 3693 { | 3711 { |
| 3694 return !m_scrollbarsAvoidingResizer; | 3712 return !m_scrollbarsAvoidingResizer; |
| 3695 } | 3713 } |
| 3696 | 3714 |
| 3697 void FrameView::adjustScrollbarsAvoidingResizerCount(int overlapDelta) | 3715 void FrameView::adjustScrollbarsAvoidingResizerCount(int overlapDelta) |
| 3698 { | 3716 { |
| 3699 int oldCount = m_scrollbarsAvoidingResizer; | 3717 int oldCount = m_scrollbarsAvoidingResizer; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 3723 if (m_verticalScrollbar) | 3741 if (m_verticalScrollbar) |
| 3724 m_verticalScrollbar->invalidate(); | 3742 m_verticalScrollbar->invalidate(); |
| 3725 | 3743 |
| 3726 // Invalidate the scroll corner too on unsuppress. | 3744 // Invalidate the scroll corner too on unsuppress. |
| 3727 invalidateRect(scrollCornerRect()); | 3745 invalidateRect(scrollCornerRect()); |
| 3728 } | 3746 } |
| 3729 } | 3747 } |
| 3730 | 3748 |
| 3731 Scrollbar* FrameView::scrollbarAtWindowPoint(const IntPoint& windowPoint) | 3749 Scrollbar* FrameView::scrollbarAtWindowPoint(const IntPoint& windowPoint) |
| 3732 { | 3750 { |
| 3733 IntPoint viewPoint = convertFromContainingWindow(windowPoint); | 3751 IntPoint pointInFrame = convertFromContainingWindow(windowPoint); |
| 3734 return scrollbarAtViewPoint(viewPoint); | 3752 return scrollbarAtFramePoint(pointInFrame); |
| 3735 } | 3753 } |
| 3736 | 3754 |
| 3737 Scrollbar* FrameView::scrollbarAtViewPoint(const IntPoint& viewPoint) | 3755 Scrollbar* FrameView::scrollbarAtFramePoint(const IntPoint& pointInFrame) |
| 3738 { | 3756 { |
| 3739 if (m_horizontalScrollbar && m_horizontalScrollbar->shouldParticipateInHitTe
sting() && m_horizontalScrollbar->frameRect().contains(viewPoint)) | 3757 if (m_horizontalScrollbar && m_horizontalScrollbar->shouldParticipateInHitTe
sting() && m_horizontalScrollbar->frameRect().contains(pointInFrame)) |
| 3740 return m_horizontalScrollbar.get(); | 3758 return m_horizontalScrollbar.get(); |
| 3741 if (m_verticalScrollbar && m_verticalScrollbar->shouldParticipateInHitTestin
g() && m_verticalScrollbar->frameRect().contains(viewPoint)) | 3759 if (m_verticalScrollbar && m_verticalScrollbar->shouldParticipateInHitTestin
g() && m_verticalScrollbar->frameRect().contains(pointInFrame)) |
| 3742 return m_verticalScrollbar.get(); | 3760 return m_verticalScrollbar.get(); |
| 3743 return nullptr; | 3761 return nullptr; |
| 3744 } | 3762 } |
| 3745 | 3763 |
| 3746 static void positionScrollbarLayer(GraphicsLayer* graphicsLayer, Scrollbar* scro
llbar) | 3764 static void positionScrollbarLayer(GraphicsLayer* graphicsLayer, Scrollbar* scro
llbar) |
| 3747 { | 3765 { |
| 3748 if (!graphicsLayer || !scrollbar) | 3766 if (!graphicsLayer || !scrollbar) |
| 3749 return; | 3767 return; |
| 3750 | 3768 |
| 3751 IntRect scrollbarRect = scrollbar->frameRect(); | 3769 IntRect scrollbarRect = scrollbar->frameRect(); |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3911 window->invalidateRect(horizontalOverhangRect); | 3929 window->invalidateRect(horizontalOverhangRect); |
| 3912 if (!verticalOverhangRect.isEmpty()) | 3930 if (!verticalOverhangRect.isEmpty()) |
| 3913 window->invalidateRect(verticalOverhangRect); | 3931 window->invalidateRect(verticalOverhangRect); |
| 3914 } | 3932 } |
| 3915 | 3933 |
| 3916 bool FrameView::isPointInScrollbarCorner(const IntPoint& windowPoint) | 3934 bool FrameView::isPointInScrollbarCorner(const IntPoint& windowPoint) |
| 3917 { | 3935 { |
| 3918 if (!scrollbarCornerPresent()) | 3936 if (!scrollbarCornerPresent()) |
| 3919 return false; | 3937 return false; |
| 3920 | 3938 |
| 3921 IntPoint viewPoint = convertFromContainingWindow(windowPoint); | 3939 IntPoint framePoint = convertFromContainingWindow(windowPoint); |
| 3922 | 3940 |
| 3923 if (m_horizontalScrollbar) { | 3941 if (m_horizontalScrollbar) { |
| 3924 int horizontalScrollbarYMin = m_horizontalScrollbar->frameRect().y(); | 3942 int horizontalScrollbarYMin = m_horizontalScrollbar->frameRect().y(); |
| 3925 int horizontalScrollbarYMax = m_horizontalScrollbar->frameRect().y() + m
_horizontalScrollbar->frameRect().height(); | 3943 int horizontalScrollbarYMax = m_horizontalScrollbar->frameRect().y() + m
_horizontalScrollbar->frameRect().height(); |
| 3926 int horizontalScrollbarXMin = m_horizontalScrollbar->frameRect().x() + m
_horizontalScrollbar->frameRect().width(); | 3944 int horizontalScrollbarXMin = m_horizontalScrollbar->frameRect().x() + m
_horizontalScrollbar->frameRect().width(); |
| 3927 | 3945 |
| 3928 return viewPoint.y() > horizontalScrollbarYMin && viewPoint.y() < horizo
ntalScrollbarYMax && viewPoint.x() > horizontalScrollbarXMin; | 3946 return framePoint.y() > horizontalScrollbarYMin && framePoint.y() < hori
zontalScrollbarYMax && framePoint.x() > horizontalScrollbarXMin; |
| 3929 } | 3947 } |
| 3930 | 3948 |
| 3931 int verticalScrollbarXMin = m_verticalScrollbar->frameRect().x(); | 3949 int verticalScrollbarXMin = m_verticalScrollbar->frameRect().x(); |
| 3932 int verticalScrollbarXMax = m_verticalScrollbar->frameRect().x() + m_vertica
lScrollbar->frameRect().width(); | 3950 int verticalScrollbarXMax = m_verticalScrollbar->frameRect().x() + m_vertica
lScrollbar->frameRect().width(); |
| 3933 int verticalScrollbarYMin = m_verticalScrollbar->frameRect().y() + m_vertica
lScrollbar->frameRect().height(); | 3951 int verticalScrollbarYMin = m_verticalScrollbar->frameRect().y() + m_vertica
lScrollbar->frameRect().height(); |
| 3934 | 3952 |
| 3935 return viewPoint.x() > verticalScrollbarXMin && viewPoint.x() < verticalScro
llbarXMax && viewPoint.y() > verticalScrollbarYMin; | 3953 return framePoint.x() > verticalScrollbarXMin && framePoint.x() < verticalSc
rollbarXMax && framePoint.y() > verticalScrollbarYMin; |
| 3936 } | 3954 } |
| 3937 | 3955 |
| 3938 bool FrameView::scrollbarCornerPresent() const | 3956 bool FrameView::scrollbarCornerPresent() const |
| 3939 { | 3957 { |
| 3940 return (m_horizontalScrollbar && width() - m_horizontalScrollbar->width() >
0) | 3958 return (m_horizontalScrollbar && width() - m_horizontalScrollbar->width() >
0) |
| 3941 || (m_verticalScrollbar && height() - m_verticalScrollbar->height() > 0)
; | 3959 || (m_verticalScrollbar && height() - m_verticalScrollbar->height() > 0)
; |
| 3942 } | 3960 } |
| 3943 | 3961 |
| 3944 IntRect FrameView::convertFromScrollbarToContainingView(const Scrollbar* scrollb
ar, const IntRect& localRect) const | 3962 IntRect FrameView::convertFromScrollbarToContainingView(const Scrollbar* scrollb
ar, const IntRect& localRect) const |
| 3945 { | 3963 { |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4051 { | 4069 { |
| 4052 Settings* settings = frame().settings(); | 4070 Settings* settings = frame().settings(); |
| 4053 if (!settings || !settings->rootLayerScrolls()) | 4071 if (!settings || !settings->rootLayerScrolls()) |
| 4054 return this; | 4072 return this; |
| 4055 | 4073 |
| 4056 RenderView* renderView = this->renderView(); | 4074 RenderView* renderView = this->renderView(); |
| 4057 return renderView ? renderView->scrollableArea() : nullptr; | 4075 return renderView ? renderView->scrollableArea() : nullptr; |
| 4058 } | 4076 } |
| 4059 | 4077 |
| 4060 } // namespace blink | 4078 } // namespace blink |
| OLD | NEW |