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

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

Issue 1449623002: IntersectionObserver: second cut. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Fix rootMargin parsing 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) 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 723 matching lines...) Expand 10 before | Expand all | Expand 10 after
734 typedef WTF::HashMap <const GraphicsLayer*, Vector<std::pair<int64_t, WebRec t>>> GraphicsLayerFrameTimingRequests; 734 typedef WTF::HashMap <const GraphicsLayer*, Vector<std::pair<int64_t, WebRec t>>> GraphicsLayerFrameTimingRequests;
735 void updateFrameTimingRequestsIfNeeded(); 735 void updateFrameTimingRequestsIfNeeded();
736 void collectFrameTimingRequests(GraphicsLayerFrameTimingRequests&); 736 void collectFrameTimingRequests(GraphicsLayerFrameTimingRequests&);
737 void collectFrameTimingRequestsRecursive(GraphicsLayerFrameTimingRequests&); 737 void collectFrameTimingRequestsRecursive(GraphicsLayerFrameTimingRequests&);
738 738
739 template <typename Function> void forAllNonThrottledFrameViews(Function); 739 template <typename Function> void forAllNonThrottledFrameViews(Function);
740 740
741 void setNeedsUpdateViewportIntersection(); 741 void setNeedsUpdateViewportIntersection();
742 void updateViewportIntersectionsForSubtree(); 742 void updateViewportIntersectionsForSubtree();
743 void updateViewportIntersectionIfNeeded(); 743 void updateViewportIntersectionIfNeeded();
744 void notifyIntersectionObservers(); 744 void notifyRenderThrottlingObservers();
745 745
746 // PaintInvalidationCapableScrollableArea 746 // PaintInvalidationCapableScrollableArea
747 LayoutBox& boxForScrollControlPaintInvalidation() const override; 747 LayoutBox& boxForScrollControlPaintInvalidation() const override;
748 LayoutScrollbarPart* resizer() const override { return nullptr; } 748 LayoutScrollbarPart* resizer() const override { return nullptr; }
749 749
750 LayoutSize m_size; 750 LayoutSize m_size;
751 751
752 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; 752 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet;
753 EmbeddedObjectSet m_partUpdateSet; 753 EmbeddedObjectSet m_partUpdateSet;
754 754
(...skipping 18 matching lines...) Expand all
773 bool m_hasPendingLayout; 773 bool m_hasPendingLayout;
774 LayoutSubtreeRootList m_layoutSubtreeRootList; 774 LayoutSubtreeRootList m_layoutSubtreeRootList;
775 775
776 bool m_layoutSchedulingEnabled; 776 bool m_layoutSchedulingEnabled;
777 bool m_inPerformLayout; 777 bool m_inPerformLayout;
778 bool m_inSynchronousPostLayout; 778 bool m_inSynchronousPostLayout;
779 int m_layoutCount; 779 int m_layoutCount;
780 unsigned m_nestedLayoutCount; 780 unsigned m_nestedLayoutCount;
781 Timer<FrameView> m_postLayoutTasksTimer; 781 Timer<FrameView> m_postLayoutTasksTimer;
782 Timer<FrameView> m_updateWidgetsTimer; 782 Timer<FrameView> m_updateWidgetsTimer;
783 OwnPtr<CancellableTaskFactory> m_intersectionObserverNotificationFactory; 783 OwnPtr<CancellableTaskFactory> m_renderThrottlingObserverNotificationFactory ;
784 784
785 bool m_firstLayout; 785 bool m_firstLayout;
786 bool m_isTransparent; 786 bool m_isTransparent;
787 Color m_baseBackgroundColor; 787 Color m_baseBackgroundColor;
788 IntSize m_lastViewportSize; 788 IntSize m_lastViewportSize;
789 float m_lastZoomFactor; 789 float m_lastZoomFactor;
790 790
791 AtomicString m_mediaType; 791 AtomicString m_mediaType;
792 AtomicString m_mediaTypeWhenNotPrinting; 792 AtomicString m_mediaTypeWhenNotPrinting;
793 793
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
877 // notifications, i.e., not in the middle of the lifecycle. 877 // notifications, i.e., not in the middle of the lifecycle.
878 bool m_hiddenForThrottling; 878 bool m_hiddenForThrottling;
879 bool m_crossOriginForThrottling; 879 bool m_crossOriginForThrottling;
880 880
881 // Paint properties for SPv2 Only. 881 // Paint properties for SPv2 Only.
882 // The hierarchy of transform subtree created by a FrameView. 882 // The hierarchy of transform subtree created by a FrameView.
883 // [ preTranslation ] The offset from Widget::frameRect. Estab lishes viewport. 883 // [ preTranslation ] The offset from Widget::frameRect. Estab lishes viewport.
884 // +---[ scrollTranslation ] Frame scrolling. This is going away in f avor of Settings::rootLayerScrolls. 884 // +---[ scrollTranslation ] Frame scrolling. This is going away in f avor of Settings::rootLayerScrolls.
885 RefPtr<TransformPaintPropertyNode> m_preTranslation; 885 RefPtr<TransformPaintPropertyNode> m_preTranslation;
886 RefPtr<TransformPaintPropertyNode> m_scrollTranslation; 886 RefPtr<TransformPaintPropertyNode> m_scrollTranslation;
887
887 }; 888 };
888 889
889 inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count) 890 inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count)
890 { 891 {
891 if (m_isVisuallyNonEmpty) 892 if (m_isVisuallyNonEmpty)
892 return; 893 return;
893 m_visuallyNonEmptyCharacterCount += count; 894 m_visuallyNonEmptyCharacterCount += count;
894 // Use a threshold value to prevent very small amounts of visible content fr om triggering didMeaningfulLayout. 895 // Use a threshold value to prevent very small amounts of visible content fr om triggering didMeaningfulLayout.
895 // The first few hundred characters rarely contain the interesting content o f the page. 896 // The first few hundred characters rarely contain the interesting content o f the page.
896 static const unsigned visualCharacterThreshold = 200; 897 static const unsigned visualCharacterThreshold = 200;
(...skipping 10 matching lines...) Expand all
907 static const unsigned visualPixelThreshold = 32 * 32; 908 static const unsigned visualPixelThreshold = 32 * 32;
908 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 909 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
909 setIsVisuallyNonEmpty(); 910 setIsVisuallyNonEmpty();
910 } 911 }
911 912
912 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 913 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
913 914
914 } // namespace blink 915 } // namespace blink
915 916
916 #endif // FrameView_h 917 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698