Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 1511003003: Use refs for non-null GraphicsContext, Scrollbar, etc. in scrollbar related code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ScrollbarRemove
Patch Set: yet another mac fix Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1484 matching lines...) Expand 10 before | Expand all | Expand 10 after
1495 void FrameView::didUpdateElasticOverscroll() 1495 void FrameView::didUpdateElasticOverscroll()
1496 { 1496 {
1497 Page* page = frame().page(); 1497 Page* page = frame().page();
1498 if (!page) 1498 if (!page)
1499 return; 1499 return;
1500 FloatSize elasticOverscroll = page->chromeClient().elasticOverscroll(); 1500 FloatSize elasticOverscroll = page->chromeClient().elasticOverscroll();
1501 if (m_horizontalScrollbar) { 1501 if (m_horizontalScrollbar) {
1502 float delta = elasticOverscroll.width() - m_horizontalScrollbar->elastic Overscroll(); 1502 float delta = elasticOverscroll.width() - m_horizontalScrollbar->elastic Overscroll();
1503 if (delta != 0) { 1503 if (delta != 0) {
1504 m_horizontalScrollbar->setElasticOverscroll(elasticOverscroll.width( )); 1504 m_horizontalScrollbar->setElasticOverscroll(elasticOverscroll.width( ));
1505 scrollAnimator()->notifyContentAreaScrolled(FloatSize(delta, 0)); 1505 scrollAnimator().notifyContentAreaScrolled(FloatSize(delta, 0));
1506 setScrollbarNeedsPaintInvalidation(m_horizontalScrollbar.get()); 1506 setScrollbarNeedsPaintInvalidation(HorizontalScrollbar);
1507 } 1507 }
1508 } 1508 }
1509 if (m_verticalScrollbar) { 1509 if (m_verticalScrollbar) {
1510 float delta = elasticOverscroll.height() - m_verticalScrollbar->elasticO verscroll(); 1510 float delta = elasticOverscroll.height() - m_verticalScrollbar->elasticO verscroll();
1511 if (delta != 0) { 1511 if (delta != 0) {
1512 m_verticalScrollbar->setElasticOverscroll(elasticOverscroll.height() ); 1512 m_verticalScrollbar->setElasticOverscroll(elasticOverscroll.height() );
1513 scrollAnimator()->notifyContentAreaScrolled(FloatSize(0, delta)); 1513 scrollAnimator().notifyContentAreaScrolled(FloatSize(0, delta));
1514 setScrollbarNeedsPaintInvalidation(m_verticalScrollbar.get()); 1514 setScrollbarNeedsPaintInvalidation(VerticalScrollbar);
1515 } 1515 }
1516 } 1516 }
1517 } 1517 }
1518 1518
1519 IntSize FrameView::layoutSize(IncludeScrollbarsInRect scrollbarInclusion) const 1519 IntSize FrameView::layoutSize(IncludeScrollbarsInRect scrollbarInclusion) const
1520 { 1520 {
1521 return scrollbarInclusion == ExcludeScrollbars ? excludeScrollbars(m_layoutS ize) : m_layoutSize; 1521 return scrollbarInclusion == ExcludeScrollbars ? excludeScrollbars(m_layoutS ize) : m_layoutSize;
1522 } 1522 }
1523 1523
1524 void FrameView::setLayoutSize(const IntSize& size) 1524 void FrameView::setLayoutSize(const IntSize& size)
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
2072 clearScrollAnchor(); 2072 clearScrollAnchor();
2073 updateLayersAndCompositingAfterScrollIfNeeded(); 2073 updateLayersAndCompositingAfterScrollIfNeeded();
2074 scrollPositionChanged(); 2074 scrollPositionChanged();
2075 frame().loader().client()->didChangeScrollOffset(); 2075 frame().loader().client()->didChangeScrollOffset();
2076 } 2076 }
2077 2077
2078 void FrameView::invalidatePaintForTickmarks() 2078 void FrameView::invalidatePaintForTickmarks()
2079 { 2079 {
2080 if (Scrollbar* scrollbar = verticalScrollbar()) { 2080 if (Scrollbar* scrollbar = verticalScrollbar()) {
2081 scrollbar->setTrackNeedsRepaint(true); 2081 scrollbar->setTrackNeedsRepaint(true);
2082 setScrollbarNeedsPaintInvalidation(scrollbar); 2082 setScrollbarNeedsPaintInvalidation(VerticalScrollbar);
2083 } 2083 }
2084 } 2084 }
2085 2085
2086 void FrameView::getTickmarks(Vector<IntRect>& tickmarks) const 2086 void FrameView::getTickmarks(Vector<IntRect>& tickmarks) const
2087 { 2087 {
2088 if (!m_tickmarks.isEmpty()) 2088 if (!m_tickmarks.isEmpty())
2089 tickmarks = m_tickmarks; 2089 tickmarks = m_tickmarks;
2090 else 2090 else
2091 tickmarks = frame().document()->markers().renderedRectsForMarkers(Docume ntMarker::TextMatch); 2091 tickmarks = frame().document()->markers().renderedRectsForMarkers(Docume ntMarker::TextMatch);
2092 } 2092 }
(...skipping 854 matching lines...) Expand 10 before | Expand all | Expand 10 after
2947 m_layoutSize = size; 2947 m_layoutSize = size;
2948 2948
2949 if (Document* document = m_frame->document()) { 2949 if (Document* document = m_frame->document()) {
2950 if (document->isActive()) 2950 if (document->isActive())
2951 document->notifyResizeForViewportUnits(); 2951 document->notifyResizeForViewportUnits();
2952 } 2952 }
2953 2953
2954 contentsResized(); 2954 contentsResized();
2955 } 2955 }
2956 2956
2957 void FrameView::didAddScrollbar(Scrollbar* scrollbar, ScrollbarOrientation orien tation) 2957 void FrameView::didAddScrollbar(Scrollbar& scrollbar, ScrollbarOrientation orien tation)
2958 { 2958 {
2959 ScrollableArea::didAddScrollbar(scrollbar, orientation); 2959 ScrollableArea::didAddScrollbar(scrollbar, orientation);
2960 if (AXObjectCache* cache = axObjectCache()) 2960 if (AXObjectCache* cache = axObjectCache())
2961 cache->handleScrollbarUpdate(this); 2961 cache->handleScrollbarUpdate(this);
2962 } 2962 }
2963 2963
2964 void FrameView::setTopControlsViewportAdjustment(float adjustment) 2964 void FrameView::setTopControlsViewportAdjustment(float adjustment)
2965 { 2965 {
2966 m_topControlsViewportAdjustment = adjustment; 2966 m_topControlsViewportAdjustment = adjustment;
2967 } 2967 }
(...skipping 17 matching lines...) Expand all
2985 } 2985 }
2986 2986
2987 void FrameView::setHasHorizontalScrollbar(bool hasBar) 2987 void FrameView::setHasHorizontalScrollbar(bool hasBar)
2988 { 2988 {
2989 if (hasBar == !!m_horizontalScrollbar) 2989 if (hasBar == !!m_horizontalScrollbar)
2990 return; 2990 return;
2991 2991
2992 if (hasBar) { 2992 if (hasBar) {
2993 m_horizontalScrollbar = createScrollbar(HorizontalScrollbar); 2993 m_horizontalScrollbar = createScrollbar(HorizontalScrollbar);
2994 addChild(m_horizontalScrollbar.get()); 2994 addChild(m_horizontalScrollbar.get());
2995 didAddScrollbar(m_horizontalScrollbar.get(), HorizontalScrollbar); 2995 didAddScrollbar(*m_horizontalScrollbar, HorizontalScrollbar);
2996 m_horizontalScrollbar->styleChanged(); 2996 m_horizontalScrollbar->styleChanged();
2997 } else { 2997 } else {
2998 willRemoveScrollbar(m_horizontalScrollbar.get(), HorizontalScrollbar); 2998 willRemoveScrollbar(*m_horizontalScrollbar, HorizontalScrollbar);
2999 if (AXObjectCache* cache = axObjectCache()) 2999 if (AXObjectCache* cache = axObjectCache())
3000 cache->remove(m_horizontalScrollbar.get()); 3000 cache->remove(m_horizontalScrollbar.get());
3001 // If the scrollbar has been marked as overlapping the window resizer, 3001 // If the scrollbar has been marked as overlapping the window resizer,
3002 // then its removal should reduce the count. 3002 // then its removal should reduce the count.
3003 if (m_horizontalScrollbar->overlapsResizer()) 3003 if (m_horizontalScrollbar->overlapsResizer())
3004 adjustScrollbarsAvoidingResizerCount(-1); 3004 adjustScrollbarsAvoidingResizerCount(-1);
3005 removeChild(m_horizontalScrollbar.get()); 3005 removeChild(m_horizontalScrollbar.get());
3006 m_horizontalScrollbar->disconnectFromScrollableArea(); 3006 m_horizontalScrollbar->disconnectFromScrollableArea();
3007 m_horizontalScrollbar = nullptr; 3007 m_horizontalScrollbar = nullptr;
3008 if (AXObjectCache* cache = axObjectCache()) 3008 if (AXObjectCache* cache = axObjectCache())
3009 cache->handleScrollbarUpdate(this); 3009 cache->handleScrollbarUpdate(this);
3010 } 3010 }
3011 3011
3012 setScrollCornerNeedsPaintInvalidation(); 3012 setScrollCornerNeedsPaintInvalidation();
3013 } 3013 }
3014 3014
3015 void FrameView::setHasVerticalScrollbar(bool hasBar) 3015 void FrameView::setHasVerticalScrollbar(bool hasBar)
3016 { 3016 {
3017 if (hasBar == !!m_verticalScrollbar) 3017 if (hasBar == !!m_verticalScrollbar)
3018 return; 3018 return;
3019 3019
3020 if (hasBar) { 3020 if (hasBar) {
3021 m_verticalScrollbar = createScrollbar(VerticalScrollbar); 3021 m_verticalScrollbar = createScrollbar(VerticalScrollbar);
3022 addChild(m_verticalScrollbar.get()); 3022 addChild(m_verticalScrollbar.get());
3023 didAddScrollbar(m_verticalScrollbar.get(), VerticalScrollbar); 3023 didAddScrollbar(*m_verticalScrollbar, VerticalScrollbar);
3024 m_verticalScrollbar->styleChanged(); 3024 m_verticalScrollbar->styleChanged();
3025 } else { 3025 } else {
3026 willRemoveScrollbar(m_verticalScrollbar.get(), VerticalScrollbar); 3026 willRemoveScrollbar(*m_verticalScrollbar, VerticalScrollbar);
3027 if (AXObjectCache* cache = axObjectCache()) 3027 if (AXObjectCache* cache = axObjectCache())
3028 cache->remove(m_verticalScrollbar.get()); 3028 cache->remove(m_verticalScrollbar.get());
3029 // If the scrollbar has been marked as overlapping the window resizer, 3029 // If the scrollbar has been marked as overlapping the window resizer,
3030 // then its removal should reduce the count. 3030 // then its removal should reduce the count.
3031 if (m_verticalScrollbar->overlapsResizer()) 3031 if (m_verticalScrollbar->overlapsResizer())
3032 adjustScrollbarsAvoidingResizerCount(-1); 3032 adjustScrollbarsAvoidingResizerCount(-1);
3033 removeChild(m_verticalScrollbar.get()); 3033 removeChild(m_verticalScrollbar.get());
3034 m_verticalScrollbar->disconnectFromScrollableArea(); 3034 m_verticalScrollbar->disconnectFromScrollableArea();
3035 m_verticalScrollbar = nullptr; 3035 m_verticalScrollbar = nullptr;
3036 if (AXObjectCache* cache = axObjectCache()) 3036 if (AXObjectCache* cache = axObjectCache())
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
3196 3196
3197 void FrameView::updateScrollbarGeometry() 3197 void FrameView::updateScrollbarGeometry()
3198 { 3198 {
3199 if (m_horizontalScrollbar) { 3199 if (m_horizontalScrollbar) {
3200 int clientWidth = visibleWidth(); 3200 int clientWidth = visibleWidth();
3201 IntRect oldRect(m_horizontalScrollbar->frameRect()); 3201 IntRect oldRect(m_horizontalScrollbar->frameRect());
3202 IntRect hBarRect((shouldPlaceVerticalScrollbarOnLeft() && m_verticalScro llbar) ? m_verticalScrollbar->width() : 0, 3202 IntRect hBarRect((shouldPlaceVerticalScrollbarOnLeft() && m_verticalScro llbar) ? m_verticalScrollbar->width() : 0,
3203 height() - m_horizontalScrollbar->height(), 3203 height() - m_horizontalScrollbar->height(),
3204 width() - (m_verticalScrollbar ? m_verticalScrollbar->width() : 0), 3204 width() - (m_verticalScrollbar ? m_verticalScrollbar->width() : 0),
3205 m_horizontalScrollbar->height()); 3205 m_horizontalScrollbar->height());
3206 m_horizontalScrollbar->setFrameRect(adjustScrollbarRectForResizer(hBarRe ct, m_horizontalScrollbar.get())); 3206 m_horizontalScrollbar->setFrameRect(adjustScrollbarRectForResizer(hBarRe ct, *m_horizontalScrollbar));
3207 if (oldRect != m_horizontalScrollbar->frameRect()) 3207 if (oldRect != m_horizontalScrollbar->frameRect())
3208 setScrollbarNeedsPaintInvalidation(m_horizontalScrollbar.get()); 3208 setScrollbarNeedsPaintInvalidation(HorizontalScrollbar);
3209 3209
3210 m_horizontalScrollbar->setEnabled(contentsWidth() > clientWidth); 3210 m_horizontalScrollbar->setEnabled(contentsWidth() > clientWidth);
3211 m_horizontalScrollbar->setProportion(clientWidth, contentsWidth()); 3211 m_horizontalScrollbar->setProportion(clientWidth, contentsWidth());
3212 m_horizontalScrollbar->offsetDidChange(); 3212 m_horizontalScrollbar->offsetDidChange();
3213 } 3213 }
3214 3214
3215 if (m_verticalScrollbar) { 3215 if (m_verticalScrollbar) {
3216 int clientHeight = visibleHeight(); 3216 int clientHeight = visibleHeight();
3217 IntRect oldRect(m_verticalScrollbar->frameRect()); 3217 IntRect oldRect(m_verticalScrollbar->frameRect());
3218 IntRect vBarRect(shouldPlaceVerticalScrollbarOnLeft() ? 0 : (width() - m _verticalScrollbar->width()), 3218 IntRect vBarRect(shouldPlaceVerticalScrollbarOnLeft() ? 0 : (width() - m _verticalScrollbar->width()),
3219 0, 3219 0,
3220 m_verticalScrollbar->width(), 3220 m_verticalScrollbar->width(),
3221 height() - (m_horizontalScrollbar ? m_horizontalScrollbar->height() : 0)); 3221 height() - (m_horizontalScrollbar ? m_horizontalScrollbar->height() : 0));
3222 m_verticalScrollbar->setFrameRect(adjustScrollbarRectForResizer(vBarRect , m_verticalScrollbar.get())); 3222 m_verticalScrollbar->setFrameRect(adjustScrollbarRectForResizer(vBarRect , *m_verticalScrollbar));
3223 if (oldRect != m_verticalScrollbar->frameRect()) 3223 if (oldRect != m_verticalScrollbar->frameRect())
3224 setScrollbarNeedsPaintInvalidation(m_verticalScrollbar.get()); 3224 setScrollbarNeedsPaintInvalidation(VerticalScrollbar);
3225 3225
3226 m_verticalScrollbar->setEnabled(contentsHeight() > clientHeight); 3226 m_verticalScrollbar->setEnabled(contentsHeight() > clientHeight);
3227 m_verticalScrollbar->setProportion(clientHeight, contentsHeight()); 3227 m_verticalScrollbar->setProportion(clientHeight, contentsHeight());
3228 m_verticalScrollbar->offsetDidChange(); 3228 m_verticalScrollbar->offsetDidChange();
3229 } 3229 }
3230 } 3230 }
3231 3231
3232 IntRect FrameView::adjustScrollbarRectForResizer(const IntRect& rect, Scrollbar* scrollbar) 3232 IntRect FrameView::adjustScrollbarRectForResizer(const IntRect& rect, Scrollbar& scrollbar)
3233 { 3233 {
3234 // Get our window resizer rect and see if we overlap. Adjust to avoid the ov erlap 3234 // Get our window resizer rect and see if we overlap. Adjust to avoid the ov erlap
3235 // if necessary. 3235 // if necessary.
3236 IntRect adjustedRect(rect); 3236 IntRect adjustedRect(rect);
3237 bool overlapsResizer = false; 3237 bool overlapsResizer = false;
3238 if (!rect.isEmpty() && !windowResizerRect().isEmpty()) { 3238 if (!rect.isEmpty() && !windowResizerRect().isEmpty()) {
3239 IntRect resizerRect = convertFromRootFrame(windowResizerRect()); 3239 IntRect resizerRect = convertFromRootFrame(windowResizerRect());
3240 if (rect.intersects(resizerRect)) { 3240 if (rect.intersects(resizerRect)) {
3241 if (scrollbar->orientation() == HorizontalScrollbar) { 3241 if (scrollbar.orientation() == HorizontalScrollbar) {
3242 int overlap = rect.maxX() - resizerRect.x(); 3242 int overlap = rect.maxX() - resizerRect.x();
3243 if (overlap > 0 && resizerRect.maxX() >= rect.maxX()) { 3243 if (overlap > 0 && resizerRect.maxX() >= rect.maxX()) {
3244 adjustedRect.setWidth(rect.width() - overlap); 3244 adjustedRect.setWidth(rect.width() - overlap);
3245 overlapsResizer = true; 3245 overlapsResizer = true;
3246 } 3246 }
3247 } else { 3247 } else {
3248 int overlap = rect.maxY() - resizerRect.y(); 3248 int overlap = rect.maxY() - resizerRect.y();
3249 if (overlap > 0 && resizerRect.maxY() >= rect.maxY()) { 3249 if (overlap > 0 && resizerRect.maxY() >= rect.maxY()) {
3250 adjustedRect.setHeight(rect.height() - overlap); 3250 adjustedRect.setHeight(rect.height() - overlap);
3251 overlapsResizer = true; 3251 overlapsResizer = true;
3252 } 3252 }
3253 } 3253 }
3254 } 3254 }
3255 } 3255 }
3256 if (overlapsResizer != scrollbar->overlapsResizer()) { 3256 if (overlapsResizer != scrollbar.overlapsResizer()) {
3257 scrollbar->setOverlapsResizer(overlapsResizer); 3257 scrollbar.setOverlapsResizer(overlapsResizer);
3258 adjustScrollbarsAvoidingResizerCount(overlapsResizer ? 1 : -1); 3258 adjustScrollbarsAvoidingResizerCount(overlapsResizer ? 1 : -1);
3259 } 3259 }
3260 return adjustedRect; 3260 return adjustedRect;
3261 } 3261 }
3262 3262
3263 bool FrameView::adjustScrollbarExistence(ComputeScrollbarExistenceOption option) 3263 bool FrameView::adjustScrollbarExistence(ComputeScrollbarExistenceOption option)
3264 { 3264 {
3265 ASSERT(m_inUpdateScrollbars); 3265 ASSERT(m_inUpdateScrollbars);
3266 3266
3267 // If we came in here with the view already needing a layout, then go ahead and do that 3267 // If we came in here with the view already needing a layout, then go ahead and do that
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
3654 ScrollBehavior FrameView::scrollBehaviorStyle() const 3654 ScrollBehavior FrameView::scrollBehaviorStyle() const
3655 { 3655 {
3656 Element* scrollElement = m_frame->document()->scrollingElement(); 3656 Element* scrollElement = m_frame->document()->scrollingElement();
3657 LayoutObject* layoutObject = scrollElement ? scrollElement->layoutObject() : nullptr; 3657 LayoutObject* layoutObject = scrollElement ? scrollElement->layoutObject() : nullptr;
3658 if (layoutObject && layoutObject->style()->scrollBehavior() == ScrollBehavio rSmooth) 3658 if (layoutObject && layoutObject->style()->scrollBehavior() == ScrollBehavio rSmooth)
3659 return ScrollBehaviorSmooth; 3659 return ScrollBehaviorSmooth;
3660 3660
3661 return ScrollBehaviorInstant; 3661 return ScrollBehaviorInstant;
3662 } 3662 }
3663 3663
3664 void FrameView::paint(GraphicsContext* context, const CullRect& cullRect) const 3664 void FrameView::paint(GraphicsContext& context, const CullRect& cullRect) const
3665 { 3665 {
3666 paint(context, GlobalPaintNormalPhase, cullRect); 3666 paint(context, GlobalPaintNormalPhase, cullRect);
3667 } 3667 }
3668 3668
3669 void FrameView::paint(GraphicsContext* context, const GlobalPaintFlags globalPai ntFlags, const CullRect& cullRect) const 3669 void FrameView::paint(GraphicsContext& context, const GlobalPaintFlags globalPai ntFlags, const CullRect& cullRect) const
3670 { 3670 {
3671 // TODO(skyostil): Remove this early-out in favor of painting cached scrollb ars. 3671 // TODO(skyostil): Remove this early-out in favor of painting cached scrollb ars.
3672 if (shouldThrottleRendering()) 3672 if (shouldThrottleRendering())
3673 return; 3673 return;
3674 FramePainter(*this).paint(context, globalPaintFlags, cullRect); 3674 FramePainter(*this).paint(context, globalPaintFlags, cullRect);
3675 } 3675 }
3676 3676
3677 void FrameView::paintContents(GraphicsContext* context, const GlobalPaintFlags g lobalPaintFlags, const IntRect& damageRect) const 3677 void FrameView::paintContents(GraphicsContext& context, const GlobalPaintFlags g lobalPaintFlags, const IntRect& damageRect) const
3678 { 3678 {
3679 if (shouldThrottleRendering()) 3679 if (shouldThrottleRendering())
3680 return; 3680 return;
3681 FramePainter(*this).paintContents(context, globalPaintFlags, damageRect); 3681 FramePainter(*this).paintContents(context, globalPaintFlags, damageRect);
3682 } 3682 }
3683 3683
3684 bool FrameView::isPointInScrollbarCorner(const IntPoint& pointInRootFrame) 3684 bool FrameView::isPointInScrollbarCorner(const IntPoint& pointInRootFrame)
3685 { 3685 {
3686 if (!scrollbarCornerPresent()) 3686 if (!scrollbarCornerPresent())
3687 return false; 3687 return false;
(...skipping 14 matching lines...) Expand all
3702 3702
3703 return framePoint.x() > verticalScrollbarXMin && framePoint.x() < verticalSc rollbarXMax && framePoint.y() > verticalScrollbarYMin; 3703 return framePoint.x() > verticalScrollbarXMin && framePoint.x() < verticalSc rollbarXMax && framePoint.y() > verticalScrollbarYMin;
3704 } 3704 }
3705 3705
3706 bool FrameView::scrollbarCornerPresent() const 3706 bool FrameView::scrollbarCornerPresent() const
3707 { 3707 {
3708 return (m_horizontalScrollbar && width() - m_horizontalScrollbar->width() > 0) 3708 return (m_horizontalScrollbar && width() - m_horizontalScrollbar->width() > 0)
3709 || (m_verticalScrollbar && height() - m_verticalScrollbar->height() > 0) ; 3709 || (m_verticalScrollbar && height() - m_verticalScrollbar->height() > 0) ;
3710 } 3710 }
3711 3711
3712 IntRect FrameView::convertFromScrollbarToContainingWidget(const Scrollbar* scrol lbar, const IntRect& localRect) const 3712 IntRect FrameView::convertFromScrollbarToContainingWidget(const Scrollbar& scrol lbar, const IntRect& localRect) const
3713 { 3713 {
3714 // Scrollbars won't be transformed within us 3714 // Scrollbars won't be transformed within us
3715 IntRect newRect = localRect; 3715 IntRect newRect = localRect;
3716 newRect.moveBy(scrollbar->location()); 3716 newRect.moveBy(scrollbar.location());
3717 return newRect; 3717 return newRect;
3718 } 3718 }
3719 3719
3720 IntRect FrameView::convertFromContainingWidgetToScrollbar(const Scrollbar* scrol lbar, const IntRect& parentRect) const 3720 IntRect FrameView::convertFromContainingWidgetToScrollbar(const Scrollbar& scrol lbar, const IntRect& parentRect) const
3721 { 3721 {
3722 IntRect newRect = parentRect; 3722 IntRect newRect = parentRect;
3723 // Scrollbars won't be transformed within us 3723 // Scrollbars won't be transformed within us
3724 newRect.moveBy(-scrollbar->location()); 3724 newRect.moveBy(-scrollbar.location());
3725 return newRect; 3725 return newRect;
3726 } 3726 }
3727 3727
3728 // FIXME: test these on windows 3728 // FIXME: test these on windows
3729 IntPoint FrameView::convertFromScrollbarToContainingWidget(const Scrollbar* scro llbar, const IntPoint& localPoint) const 3729 IntPoint FrameView::convertFromScrollbarToContainingWidget(const Scrollbar& scro llbar, const IntPoint& localPoint) const
3730 { 3730 {
3731 // Scrollbars won't be transformed within us 3731 // Scrollbars won't be transformed within us
3732 IntPoint newPoint = localPoint; 3732 IntPoint newPoint = localPoint;
3733 newPoint.moveBy(scrollbar->location()); 3733 newPoint.moveBy(scrollbar.location());
3734 return newPoint; 3734 return newPoint;
3735 } 3735 }
3736 3736
3737 IntPoint FrameView::convertFromContainingWidgetToScrollbar(const Scrollbar* scro llbar, const IntPoint& parentPoint) const 3737 IntPoint FrameView::convertFromContainingWidgetToScrollbar(const Scrollbar& scro llbar, const IntPoint& parentPoint) const
3738 { 3738 {
3739 IntPoint newPoint = parentPoint; 3739 IntPoint newPoint = parentPoint;
3740 // Scrollbars won't be transformed within us 3740 // Scrollbars won't be transformed within us
3741 newPoint.moveBy(-scrollbar->location()); 3741 newPoint.moveBy(-scrollbar.location());
3742 return newPoint; 3742 return newPoint;
3743 } 3743 }
3744 3744
3745 void FrameView::setParentVisible(bool visible) 3745 void FrameView::setParentVisible(bool visible)
3746 { 3746 {
3747 if (isParentVisible() == visible) 3747 if (isParentVisible() == visible)
3748 return; 3748 return;
3749 3749
3750 Widget::setParentVisible(visible); 3750 Widget::setParentVisible(visible);
3751 3751
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
3985 return m_hiddenForThrottling && m_crossOriginForThrottling; 3985 return m_hiddenForThrottling && m_crossOriginForThrottling;
3986 } 3986 }
3987 3987
3988 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const 3988 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const
3989 { 3989 {
3990 ASSERT(layoutView()); 3990 ASSERT(layoutView());
3991 return *layoutView(); 3991 return *layoutView();
3992 } 3992 }
3993 3993
3994 } // namespace blink 3994 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.h ('k') | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698