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

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

Issue 2136133002: Fix under-invalidation of frame scrollbar on hover (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ObjectInvalidation
Patch Set: Created 4 years, 5 months 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) 1997 Martin Jones (mjones@kde.org) 2 Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 (C) 1998 Waldo Bastian (bastian@kde.org) 3 (C) 1998 Waldo Bastian (bastian@kde.org)
4 (C) 1998, 1999 Torben Weis (weis@kde.org) 4 (C) 1998, 1999 Torben Weis (weis@kde.org)
5 (C) 1999 Lars Knoll (knoll@kde.org) 5 (C) 1999 Lars Knoll (knoll@kde.org)
6 (C) 1999 Antti Koivisto (koivisto@kde.org) 6 (C) 1999 Antti Koivisto (koivisto@kde.org)
7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 370
371 // Since the compositor can resize the viewport due to top controls and 371 // Since the compositor can resize the viewport due to top controls and
372 // commit scroll offsets before a WebView::resize occurs, we need to adjust 372 // commit scroll offsets before a WebView::resize occurs, we need to adjust
373 // our scroll extents to prevent clamping the scroll offsets. 373 // our scroll extents to prevent clamping the scroll offsets.
374 void setTopControlsViewportAdjustment(float); 374 void setTopControlsViewportAdjustment(float);
375 IntSize topControlsSize() const { return IntSize(0, ceilf(m_topControlsViewp ortAdjustment)); } 375 IntSize topControlsSize() const { return IntSize(0, ceilf(m_topControlsViewp ortAdjustment)); }
376 376
377 IntPoint maximumScrollPosition() const override; 377 IntPoint maximumScrollPosition() const override;
378 378
379 // ScrollableArea interface 379 // ScrollableArea interface
380 void scrollControlWasSetNeedsPaintInvalidation() override { }
381 void getTickmarks(Vector<IntRect>&) const override; 380 void getTickmarks(Vector<IntRect>&) const override;
382 IntRect scrollableAreaBoundingBox() const override; 381 IntRect scrollableAreaBoundingBox() const override;
383 bool scrollAnimatorEnabled() const override; 382 bool scrollAnimatorEnabled() const override;
384 bool usesCompositedScrolling() const override; 383 bool usesCompositedScrolling() const override;
385 bool shouldScrollOnMainThread() const override; 384 bool shouldScrollOnMainThread() const override;
386 GraphicsLayer* layerForScrolling() const override; 385 GraphicsLayer* layerForScrolling() const override;
387 GraphicsLayer* layerForHorizontalScrollbar() const override; 386 GraphicsLayer* layerForHorizontalScrollbar() const override;
388 GraphicsLayer* layerForVerticalScrollbar() const override; 387 GraphicsLayer* layerForVerticalScrollbar() const override;
389 GraphicsLayer* layerForScrollCorner() const override; 388 GraphicsLayer* layerForScrollCorner() const override;
390 int scrollSize(ScrollbarOrientation) const override; 389 int scrollSize(ScrollbarOrientation) const override;
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 762
764 template <typename Function> void forAllNonThrottledFrameViews(const Functio n&); 763 template <typename Function> void forAllNonThrottledFrameViews(const Functio n&);
765 764
766 void setNeedsUpdateViewportIntersection(); 765 void setNeedsUpdateViewportIntersection();
767 void updateViewportIntersectionsForSubtree(DocumentLifecycle::LifecycleState targetState); 766 void updateViewportIntersectionsForSubtree(DocumentLifecycle::LifecycleState targetState);
768 void updateViewportIntersectionIfNeeded(); 767 void updateViewportIntersectionIfNeeded();
769 void notifyRenderThrottlingObservers(); 768 void notifyRenderThrottlingObservers();
770 void updateThrottlingStatus(); 769 void updateThrottlingStatus();
771 770
772 // PaintInvalidationCapableScrollableArea 771 // PaintInvalidationCapableScrollableArea
773 LayoutBox& boxForScrollControlPaintInvalidation() const override;
774 LayoutScrollbarPart* resizer() const override { return nullptr; } 772 LayoutScrollbarPart* resizer() const override { return nullptr; }
775 773
776 void checkLayoutInvalidationIsAllowed() const; 774 void checkLayoutInvalidationIsAllowed() const;
777 775
778 LayoutSize m_size; 776 LayoutSize m_size;
779 777
780 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; 778 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet;
781 EmbeddedObjectSet m_partUpdateSet; 779 EmbeddedObjectSet m_partUpdateSet;
782 780
783 // FIXME: These are just "children" of the FrameView and should be Member<Wi dget> instead. 781 // FIXME: These are just "children" of the FrameView and should be Member<Wi dget> instead.
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 947 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
950 setIsVisuallyNonEmpty(); 948 setIsVisuallyNonEmpty();
951 } 949 }
952 950
953 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 951 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
954 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView()); 952 DEFINE_TYPE_CASTS(FrameView, ScrollableArea, scrollableArea, scrollableArea->isF rameView(), scrollableArea.isFrameView());
955 953
956 } // namespace blink 954 } // namespace blink
957 955
958 #endif // FrameView_h 956 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698