| OLD | NEW |
| 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 | 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights |
| 8 reserved. | 8 reserved. |
| 9 | 9 |
| 10 This library is free software; you can redistribute it and/or | 10 This library is free software; you can redistribute it and/or |
| 11 modify it under the terms of the GNU Library General Public | 11 modify it under the terms of the GNU Library General Public |
| 12 License as published by the Free Software Foundation; either | 12 License as published by the Free Software Foundation; either |
| 13 version 2 of the License, or (at your option) any later version. | 13 version 2 of the License, or (at your option) any later version. |
| 14 | 14 |
| 15 This library is distributed in the hope that it will be useful, | 15 This library is distributed in the hope that it will be useful, |
| 16 but WITHOUT ANY WARRANTY; without even the implied warranty of | 16 but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 18 Library General Public License for more details. | 18 Library General Public License for more details. |
| 19 | 19 |
| 20 You should have received a copy of the GNU Library General Public License | 20 You should have received a copy of the GNU Library General Public License |
| 21 along with this library; see the file COPYING.LIB. If not, write to | 21 along with this library; see the file COPYING.LIB. If not, write to |
| 22 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 22 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 23 Boston, MA 02110-1301, USA. | 23 Boston, MA 02110-1301, USA. |
| 24 */ | 24 */ |
| 25 | 25 |
| 26 #ifndef FrameView_h | 26 #ifndef FrameView_h |
| 27 #define FrameView_h | 27 #define FrameView_h |
| 28 | 28 |
| 29 #include <memory> |
| 29 #include "core/CoreExport.h" | 30 #include "core/CoreExport.h" |
| 30 #include "core/dom/DocumentLifecycle.h" | 31 #include "core/dom/DocumentLifecycle.h" |
| 31 #include "core/frame/FrameViewAutoSizeInfo.h" | 32 #include "core/frame/FrameViewAutoSizeInfo.h" |
| 32 #include "core/frame/LayoutSubtreeRootList.h" | 33 #include "core/frame/LayoutSubtreeRootList.h" |
| 33 #include "core/frame/RootFrameViewport.h" | 34 #include "core/frame/RootFrameViewport.h" |
| 34 #include "core/layout/MapCoordinatesFlags.h" | 35 #include "core/layout/MapCoordinatesFlags.h" |
| 35 #include "core/layout/ScrollAnchor.h" | 36 #include "core/layout/ScrollAnchor.h" |
| 36 #include "core/paint/FirstMeaningfulPaintDetector.h" | 37 #include "core/paint/FirstMeaningfulPaintDetector.h" |
| 37 #include "core/paint/ObjectPaintProperties.h" | 38 #include "core/paint/ObjectPaintProperties.h" |
| 38 #include "core/paint/PaintInvalidationCapableScrollableArea.h" | 39 #include "core/paint/PaintInvalidationCapableScrollableArea.h" |
| 39 #include "core/paint/PaintPhase.h" | 40 #include "core/paint/PaintPhase.h" |
| 40 #include "core/paint/ScrollbarManager.h" | 41 #include "core/paint/ScrollbarManager.h" |
| 42 #include "platform/FrameViewBase.h" |
| 41 #include "platform/RuntimeEnabledFeatures.h" | 43 #include "platform/RuntimeEnabledFeatures.h" |
| 42 #include "platform/Widget.h" | |
| 43 #include "platform/animation/CompositorAnimationHost.h" | 44 #include "platform/animation/CompositorAnimationHost.h" |
| 44 #include "platform/animation/CompositorAnimationTimeline.h" | 45 #include "platform/animation/CompositorAnimationTimeline.h" |
| 45 #include "platform/geometry/IntRect.h" | 46 #include "platform/geometry/IntRect.h" |
| 46 #include "platform/geometry/LayoutRect.h" | 47 #include "platform/geometry/LayoutRect.h" |
| 47 #include "platform/graphics/Color.h" | 48 #include "platform/graphics/Color.h" |
| 48 #include "platform/graphics/GraphicsLayerClient.h" | 49 #include "platform/graphics/GraphicsLayerClient.h" |
| 49 #include "platform/scroll/ScrollTypes.h" | 50 #include "platform/scroll/ScrollTypes.h" |
| 50 #include "platform/scroll/Scrollbar.h" | 51 #include "platform/scroll/Scrollbar.h" |
| 51 #include "public/platform/ShapeProperties.h" | 52 #include "public/platform/ShapeProperties.h" |
| 52 #include "public/platform/WebDisplayMode.h" | 53 #include "public/platform/WebDisplayMode.h" |
| 53 #include "public/platform/WebRect.h" | 54 #include "public/platform/WebRect.h" |
| 54 #include "wtf/Allocator.h" | 55 #include "wtf/Allocator.h" |
| 55 #include "wtf/AutoReset.h" | 56 #include "wtf/AutoReset.h" |
| 56 #include "wtf/Forward.h" | 57 #include "wtf/Forward.h" |
| 57 #include "wtf/HashSet.h" | 58 #include "wtf/HashSet.h" |
| 58 #include "wtf/ListHashSet.h" | 59 #include "wtf/ListHashSet.h" |
| 59 #include "wtf/text/WTFString.h" | 60 #include "wtf/text/WTFString.h" |
| 60 #include <memory> | |
| 61 | 61 |
| 62 namespace blink { | 62 namespace blink { |
| 63 | 63 |
| 64 class AXObjectCache; | 64 class AXObjectCache; |
| 65 class ComputedStyle; | 65 class ComputedStyle; |
| 66 class DocumentLifecycle; | 66 class DocumentLifecycle; |
| 67 class Cursor; | 67 class Cursor; |
| 68 class Element; | 68 class Element; |
| 69 class ElementVisibilityObserver; | 69 class ElementVisibilityObserver; |
| 70 class Frame; | 70 class Frame; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 92 class PrintContext; | 92 class PrintContext; |
| 93 class ScrollingCoordinator; | 93 class ScrollingCoordinator; |
| 94 class TracedValue; | 94 class TracedValue; |
| 95 class TransformState; | 95 class TransformState; |
| 96 struct AnnotatedRegionValue; | 96 struct AnnotatedRegionValue; |
| 97 struct CompositedSelection; | 97 struct CompositedSelection; |
| 98 | 98 |
| 99 typedef unsigned long long DOMTimeStamp; | 99 typedef unsigned long long DOMTimeStamp; |
| 100 | 100 |
| 101 class CORE_EXPORT FrameView final | 101 class CORE_EXPORT FrameView final |
| 102 : public Widget, | 102 : public FrameViewBase, |
| 103 public PaintInvalidationCapableScrollableArea { | 103 public PaintInvalidationCapableScrollableArea { |
| 104 USING_GARBAGE_COLLECTED_MIXIN(FrameView); | 104 USING_GARBAGE_COLLECTED_MIXIN(FrameView); |
| 105 | 105 |
| 106 friend class PaintControllerPaintTestBase; | 106 friend class PaintControllerPaintTestBase; |
| 107 friend class Internals; | 107 friend class Internals; |
| 108 friend class LayoutPart; // for invalidateTreeIfNeeded | 108 friend class LayoutPart; // for invalidateTreeIfNeeded |
| 109 | 109 |
| 110 public: | 110 public: |
| 111 static FrameView* create(LocalFrame&); | 111 static FrameView* create(LocalFrame&); |
| 112 static FrameView* create(LocalFrame&, const IntSize& initialSize); | 112 static FrameView* create(LocalFrame&, const IntSize& initialSize); |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 bool shouldScrollOnMainThread() const override; | 434 bool shouldScrollOnMainThread() const override; |
| 435 PaintLayer* layer() const override; | 435 PaintLayer* layer() const override; |
| 436 GraphicsLayer* layerForScrolling() const override; | 436 GraphicsLayer* layerForScrolling() const override; |
| 437 GraphicsLayer* layerForHorizontalScrollbar() const override; | 437 GraphicsLayer* layerForHorizontalScrollbar() const override; |
| 438 GraphicsLayer* layerForVerticalScrollbar() const override; | 438 GraphicsLayer* layerForVerticalScrollbar() const override; |
| 439 GraphicsLayer* layerForScrollCorner() const override; | 439 GraphicsLayer* layerForScrollCorner() const override; |
| 440 int scrollSize(ScrollbarOrientation) const override; | 440 int scrollSize(ScrollbarOrientation) const override; |
| 441 bool isScrollCornerVisible() const override; | 441 bool isScrollCornerVisible() const override; |
| 442 bool userInputScrollable(ScrollbarOrientation) const override; | 442 bool userInputScrollable(ScrollbarOrientation) const override; |
| 443 bool shouldPlaceVerticalScrollbarOnLeft() const override; | 443 bool shouldPlaceVerticalScrollbarOnLeft() const override; |
| 444 Widget* getWidget() override; | 444 FrameViewBase* getWidget() override; |
| 445 CompositorAnimationHost* compositorAnimationHost() const override; | 445 CompositorAnimationHost* compositorAnimationHost() const override; |
| 446 CompositorAnimationTimeline* compositorAnimationTimeline() const override; | 446 CompositorAnimationTimeline* compositorAnimationTimeline() const override; |
| 447 LayoutBox* layoutBox() const override; | 447 LayoutBox* layoutBox() const override; |
| 448 FloatQuad localToVisibleContentQuad(const FloatQuad&, | 448 FloatQuad localToVisibleContentQuad(const FloatQuad&, |
| 449 const LayoutObject*, | 449 const LayoutObject*, |
| 450 unsigned = 0) const final; | 450 unsigned = 0) const final; |
| 451 RefPtr<WebTaskRunner> getTimerTaskRunner() const final; | 451 RefPtr<WebTaskRunner> getTimerTaskRunner() const final; |
| 452 | 452 |
| 453 LayoutRect scrollIntoView(const LayoutRect& rectInContent, | 453 LayoutRect scrollIntoView(const LayoutRect& rectInContent, |
| 454 const ScrollAlignment& alignX, | 454 const ScrollAlignment& alignX, |
| 455 const ScrollAlignment& alignY, | 455 const ScrollAlignment& alignY, |
| 456 ScrollType = ProgrammaticScroll) override; | 456 ScrollType = ProgrammaticScroll) override; |
| 457 | 457 |
| 458 // The window that hosts the FrameView. The FrameView will communicate scrolls | 458 // The window that hosts the FrameView. The FrameView will communicate scrolls |
| 459 // and repaints to the host window in the window's coordinate space. | 459 // and repaints to the host window in the window's coordinate space. |
| 460 HostWindow* getHostWindow() const; | 460 HostWindow* getHostWindow() const; |
| 461 | 461 |
| 462 typedef HeapHashSet<Member<Widget>> ChildrenWidgetSet; | 462 typedef HeapHashSet<Member<FrameViewBase>> ChildrenWidgetSet; |
| 463 | 463 |
| 464 // Functions for child manipulation and inspection. | 464 // Functions for child manipulation and inspection. |
| 465 void setParent(Widget*) override; | 465 void setParent(FrameViewBase*) override; |
| 466 void removeChild(Widget*); | 466 void removeChild(FrameViewBase*); |
| 467 void addChild(Widget*); | 467 void addChild(FrameViewBase*); |
| 468 const ChildrenWidgetSet* children() const { return &m_children; } | 468 const ChildrenWidgetSet* children() const { return &m_children; } |
| 469 | 469 |
| 470 // If the scroll view does not use a native widget, then it will have | 470 // If the scroll view does not use a native widget, then it will have |
| 471 // cross-platform Scrollbars. These functions can be used to obtain those | 471 // cross-platform Scrollbars. These functions can be used to obtain those |
| 472 // scrollbars. | 472 // scrollbars. |
| 473 Scrollbar* horizontalScrollbar() const override { | 473 Scrollbar* horizontalScrollbar() const override { |
| 474 return m_scrollbarManager.horizontalScrollbar(); | 474 return m_scrollbarManager.horizontalScrollbar(); |
| 475 } | 475 } |
| 476 Scrollbar* verticalScrollbar() const override { | 476 Scrollbar* verticalScrollbar() const override { |
| 477 return m_scrollbarManager.verticalScrollbar(); | 477 return m_scrollbarManager.verticalScrollbar(); |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 FloatPoint frameToContents(const FloatPoint&) const; | 602 FloatPoint frameToContents(const FloatPoint&) const; |
| 603 IntRect frameToContents(const IntRect&) const; | 603 IntRect frameToContents(const IntRect&) const; |
| 604 | 604 |
| 605 // Functions for converting to screen coordinates. | 605 // Functions for converting to screen coordinates. |
| 606 IntRect contentsToScreen(const IntRect&) const; | 606 IntRect contentsToScreen(const IntRect&) const; |
| 607 | 607 |
| 608 // For platforms that need to hit test scrollbars from within the engine's | 608 // For platforms that need to hit test scrollbars from within the engine's |
| 609 // event handlers (like Win32). | 609 // event handlers (like Win32). |
| 610 Scrollbar* scrollbarAtFramePoint(const IntPoint&); | 610 Scrollbar* scrollbarAtFramePoint(const IntPoint&); |
| 611 | 611 |
| 612 IntPoint convertChildToSelf(const Widget* child, | 612 IntPoint convertChildToSelf(const FrameViewBase* child, |
| 613 const IntPoint& point) const override { | 613 const IntPoint& point) const override { |
| 614 IntPoint newPoint = point; | 614 IntPoint newPoint = point; |
| 615 if (!isFrameViewScrollbar(child)) | 615 if (!isFrameViewScrollbar(child)) |
| 616 newPoint = contentsToFrame(point); | 616 newPoint = contentsToFrame(point); |
| 617 newPoint.moveBy(child->location()); | 617 newPoint.moveBy(child->location()); |
| 618 return newPoint; | 618 return newPoint; |
| 619 } | 619 } |
| 620 | 620 |
| 621 IntPoint convertSelfToChild(const Widget* child, | 621 IntPoint convertSelfToChild(const FrameViewBase* child, |
| 622 const IntPoint& point) const override { | 622 const IntPoint& point) const override { |
| 623 IntPoint newPoint = point; | 623 IntPoint newPoint = point; |
| 624 if (!isFrameViewScrollbar(child)) | 624 if (!isFrameViewScrollbar(child)) |
| 625 newPoint = frameToContents(point); | 625 newPoint = frameToContents(point); |
| 626 newPoint.moveBy(-child->location()); | 626 newPoint.moveBy(-child->location()); |
| 627 return newPoint; | 627 return newPoint; |
| 628 } | 628 } |
| 629 | 629 |
| 630 // Widget override. Handles painting of the contents of the view as well as | 630 // FrameViewBase override. Handles painting of the contents of the view as |
| 631 // the scrollbars. | 631 // well as the scrollbars. |
| 632 void paint(GraphicsContext&, const CullRect&) const override; | 632 void paint(GraphicsContext&, const CullRect&) const override; |
| 633 void paint(GraphicsContext&, const GlobalPaintFlags, const CullRect&) const; | 633 void paint(GraphicsContext&, const GlobalPaintFlags, const CullRect&) const; |
| 634 void paintContents(GraphicsContext&, | 634 void paintContents(GraphicsContext&, |
| 635 const GlobalPaintFlags, | 635 const GlobalPaintFlags, |
| 636 const IntRect& damageRect) const; | 636 const IntRect& damageRect) const; |
| 637 | 637 |
| 638 // Widget overrides to ensure that our children's visibility status is kept up | 638 // FrameViewBase overrides to ensure that our children's visibility status is |
| 639 // to date when we get shown and hidden. | 639 // kept up to date when we get shown and hidden. |
| 640 void show() override; | 640 void show() override; |
| 641 void hide() override; | 641 void hide() override; |
| 642 void setParentVisible(bool) override; | 642 void setParentVisible(bool) override; |
| 643 | 643 |
| 644 bool isPointInScrollbarCorner(const IntPoint&); | 644 bool isPointInScrollbarCorner(const IntPoint&); |
| 645 bool scrollbarCornerPresent() const; | 645 bool scrollbarCornerPresent() const; |
| 646 IntRect scrollCornerRect() const override; | 646 IntRect scrollCornerRect() const override; |
| 647 | 647 |
| 648 IntRect convertFromScrollbarToContainingWidget(const Scrollbar&, | 648 IntRect convertFromScrollbarToContainingWidget(const Scrollbar&, |
| 649 const IntRect&) const override; | 649 const IntRect&) const override; |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 944 void scheduleOrPerformPostLayoutTasks(); | 944 void scheduleOrPerformPostLayoutTasks(); |
| 945 void performPostLayoutTasks(); | 945 void performPostLayoutTasks(); |
| 946 | 946 |
| 947 void recordDeferredLoadingStats(); | 947 void recordDeferredLoadingStats(); |
| 948 | 948 |
| 949 DocumentLifecycle& lifecycle() const; | 949 DocumentLifecycle& lifecycle() const; |
| 950 | 950 |
| 951 void contentsResized() override; | 951 void contentsResized() override; |
| 952 void scrollbarExistenceDidChange(); | 952 void scrollbarExistenceDidChange(); |
| 953 | 953 |
| 954 // Override Widget methods to do point conversion via layoutObjects, in order | 954 // Override FrameViewBase methods to do point conversion via layoutObjects, in |
| 955 // to take transforms into account. | 955 // order to take transforms into account. |
| 956 IntRect convertToContainingWidget(const IntRect&) const override; | 956 IntRect convertToContainingWidget(const IntRect&) const override; |
| 957 IntRect convertFromContainingWidget(const IntRect&) const override; | 957 IntRect convertFromContainingWidget(const IntRect&) const override; |
| 958 IntPoint convertToContainingWidget(const IntPoint&) const override; | 958 IntPoint convertToContainingWidget(const IntPoint&) const override; |
| 959 IntPoint convertFromContainingWidget(const IntPoint&) const override; | 959 IntPoint convertFromContainingWidget(const IntPoint&) const override; |
| 960 | 960 |
| 961 void didChangeGlobalRootScroller() override; | 961 void didChangeGlobalRootScroller() override; |
| 962 | 962 |
| 963 void updateWidgetGeometriesIfNeeded(); | 963 void updateWidgetGeometriesIfNeeded(); |
| 964 | 964 |
| 965 bool wasViewportResized(); | 965 bool wasViewportResized(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 | 1000 |
| 1001 AXObjectCache* axObjectCache() const; | 1001 AXObjectCache* axObjectCache() const; |
| 1002 | 1002 |
| 1003 void setLayoutSizeInternal(const IntSize&); | 1003 void setLayoutSizeInternal(const IntSize&); |
| 1004 | 1004 |
| 1005 bool adjustScrollbarExistence(ComputeScrollbarExistenceOption = FirstPass); | 1005 bool adjustScrollbarExistence(ComputeScrollbarExistenceOption = FirstPass); |
| 1006 void adjustScrollbarOpacity(); | 1006 void adjustScrollbarOpacity(); |
| 1007 void adjustScrollOffsetFromUpdateScrollbars(); | 1007 void adjustScrollOffsetFromUpdateScrollbars(); |
| 1008 bool visualViewportSuppliesScrollbars(); | 1008 bool visualViewportSuppliesScrollbars(); |
| 1009 | 1009 |
| 1010 bool isFrameViewScrollbar(const Widget* child) const { | 1010 bool isFrameViewScrollbar(const FrameViewBase* child) const { |
| 1011 return horizontalScrollbar() == child || verticalScrollbar() == child; | 1011 return horizontalScrollbar() == child || verticalScrollbar() == child; |
| 1012 } | 1012 } |
| 1013 | 1013 |
| 1014 ScrollingCoordinator* scrollingCoordinator() const; | 1014 ScrollingCoordinator* scrollingCoordinator() const; |
| 1015 | 1015 |
| 1016 void prepareLayoutAnalyzer(); | 1016 void prepareLayoutAnalyzer(); |
| 1017 std::unique_ptr<TracedValue> analyzerCounters(); | 1017 std::unique_ptr<TracedValue> analyzerCounters(); |
| 1018 | 1018 |
| 1019 // LayoutObject for the viewport-defining element (see | 1019 // LayoutObject for the viewport-defining element (see |
| 1020 // Document::viewportDefiningElement). | 1020 // Document::viewportDefiningElement). |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1047 bool checkLayoutInvalidationIsAllowed() const; | 1047 bool checkLayoutInvalidationIsAllowed() const; |
| 1048 | 1048 |
| 1049 PaintController* paintController() { return m_paintController.get(); } | 1049 PaintController* paintController() { return m_paintController.get(); } |
| 1050 | 1050 |
| 1051 LayoutSize m_size; | 1051 LayoutSize m_size; |
| 1052 | 1052 |
| 1053 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; | 1053 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; |
| 1054 EmbeddedObjectSet m_partUpdateSet; | 1054 EmbeddedObjectSet m_partUpdateSet; |
| 1055 | 1055 |
| 1056 // FIXME: These are just "children" of the FrameView and should be | 1056 // FIXME: These are just "children" of the FrameView and should be |
| 1057 // Member<Widget> instead. | 1057 // Member<FrameViewBase> instead. |
| 1058 HashSet<RefPtr<LayoutPart>> m_parts; | 1058 HashSet<RefPtr<LayoutPart>> m_parts; |
| 1059 | 1059 |
| 1060 Member<LocalFrame> m_frame; | 1060 Member<LocalFrame> m_frame; |
| 1061 | 1061 |
| 1062 WebDisplayMode m_displayMode; | 1062 WebDisplayMode m_displayMode; |
| 1063 | 1063 |
| 1064 DisplayShape m_displayShape; | 1064 DisplayShape m_displayShape; |
| 1065 | 1065 |
| 1066 bool m_canHaveScrollbars; | 1066 bool m_canHaveScrollbars; |
| 1067 | 1067 |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1152 | 1152 |
| 1153 // The following members control rendering pipeline throttling for this | 1153 // The following members control rendering pipeline throttling for this |
| 1154 // frame. They are only updated in response to intersection observer | 1154 // frame. They are only updated in response to intersection observer |
| 1155 // notifications, i.e., not in the middle of the lifecycle. | 1155 // notifications, i.e., not in the middle of the lifecycle. |
| 1156 bool m_hiddenForThrottling; | 1156 bool m_hiddenForThrottling; |
| 1157 bool m_subtreeThrottled; | 1157 bool m_subtreeThrottled; |
| 1158 bool m_lifecycleUpdatesThrottled; | 1158 bool m_lifecycleUpdatesThrottled; |
| 1159 | 1159 |
| 1160 // Paint properties for SPv2 Only. | 1160 // Paint properties for SPv2 Only. |
| 1161 // The hierarchy of transform subtree created by a FrameView. | 1161 // The hierarchy of transform subtree created by a FrameView. |
| 1162 // [ preTranslation ] The offset from Widget::frameRect. | 1162 // [ preTranslation ] The offset from FrameViewBase::frameRect. |
| 1163 // | Establishes viewport. | 1163 // | Establishes viewport. |
| 1164 // +---[ scrollTranslation ] Frame scrolling. | 1164 // +---[ scrollTranslation ] Frame scrolling. |
| 1165 // TODO(trchen): These will not be needed once settings->rootLayerScrolls() is | 1165 // TODO(trchen): These will not be needed once settings->rootLayerScrolls() is |
| 1166 // enabled. | 1166 // enabled. |
| 1167 RefPtr<TransformPaintPropertyNode> m_preTranslation; | 1167 RefPtr<TransformPaintPropertyNode> m_preTranslation; |
| 1168 RefPtr<TransformPaintPropertyNode> m_scrollTranslation; | 1168 RefPtr<TransformPaintPropertyNode> m_scrollTranslation; |
| 1169 // The content clip clips the document (= LayoutView) but not the scrollbars. | 1169 // The content clip clips the document (= LayoutView) but not the scrollbars. |
| 1170 // TODO(trchen): This will not be needed once settings->rootLayerScrolls() is | 1170 // TODO(trchen): This will not be needed once settings->rootLayerScrolls() is |
| 1171 // enabled. | 1171 // enabled. |
| 1172 RefPtr<ClipPaintPropertyNode> m_contentClip; | 1172 RefPtr<ClipPaintPropertyNode> m_contentClip; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1246 return; | 1246 return; |
| 1247 m_visuallyNonEmptyPixelCount += size.area(); | 1247 m_visuallyNonEmptyPixelCount += size.area(); |
| 1248 // Use a threshold value to prevent very small amounts of visible content from | 1248 // Use a threshold value to prevent very small amounts of visible content from |
| 1249 // triggering didMeaningfulLayout. | 1249 // triggering didMeaningfulLayout. |
| 1250 static const unsigned visualPixelThreshold = 32 * 32; | 1250 static const unsigned visualPixelThreshold = 32 * 32; |
| 1251 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) | 1251 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) |
| 1252 setIsVisuallyNonEmpty(); | 1252 setIsVisuallyNonEmpty(); |
| 1253 } | 1253 } |
| 1254 | 1254 |
| 1255 DEFINE_TYPE_CASTS(FrameView, | 1255 DEFINE_TYPE_CASTS(FrameView, |
| 1256 Widget, | 1256 FrameViewBase, |
| 1257 widget, | 1257 frameViewBase, |
| 1258 widget->isFrameView(), | 1258 frameViewBase->isFrameView(), |
| 1259 widget.isFrameView()); | 1259 frameViewBase.isFrameView()); |
| 1260 DEFINE_TYPE_CASTS(FrameView, | 1260 DEFINE_TYPE_CASTS(FrameView, |
| 1261 ScrollableArea, | 1261 ScrollableArea, |
| 1262 scrollableArea, | 1262 scrollableArea, |
| 1263 scrollableArea->isFrameView(), | 1263 scrollableArea->isFrameView(), |
| 1264 scrollableArea.isFrameView()); | 1264 scrollableArea.isFrameView()); |
| 1265 | 1265 |
| 1266 } // namespace blink | 1266 } // namespace blink |
| 1267 | 1267 |
| 1268 #endif // FrameView_h | 1268 #endif // FrameView_h |
| OLD | NEW |