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

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

Issue 908453003: Blink changes to record interest rects for http://w3c.github.io/frame-timing/ (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Move Frame Timing rect collection from WebViewImpl to FrameView. Created 5 years, 7 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 21 matching lines...) Expand all
32 #include "core/paint/PaintPhase.h" 32 #include "core/paint/PaintPhase.h"
33 #include "platform/RuntimeEnabledFeatures.h" 33 #include "platform/RuntimeEnabledFeatures.h"
34 #include "platform/Widget.h" 34 #include "platform/Widget.h"
35 #include "platform/geometry/IntRect.h" 35 #include "platform/geometry/IntRect.h"
36 #include "platform/geometry/LayoutRect.h" 36 #include "platform/geometry/LayoutRect.h"
37 #include "platform/graphics/Color.h" 37 #include "platform/graphics/Color.h"
38 #include "platform/scroll/ScrollTypes.h" 38 #include "platform/scroll/ScrollTypes.h"
39 #include "platform/scroll/ScrollableArea.h" 39 #include "platform/scroll/ScrollableArea.h"
40 #include "platform/scroll/Scrollbar.h" 40 #include "platform/scroll/Scrollbar.h"
41 #include "public/platform/WebDisplayMode.h" 41 #include "public/platform/WebDisplayMode.h"
42 #include "public/platform/WebRect.h"
42 #include "wtf/Forward.h" 43 #include "wtf/Forward.h"
43 #include "wtf/HashSet.h" 44 #include "wtf/HashSet.h"
44 #include "wtf/OwnPtr.h" 45 #include "wtf/OwnPtr.h"
45 #include "wtf/TemporaryChange.h" 46 #include "wtf/TemporaryChange.h"
46 #include "wtf/text/WTFString.h" 47 #include "wtf/text/WTFString.h"
47 48
48 namespace blink { 49 namespace blink {
49 50
50 class AXObjectCache; 51 class AXObjectCache;
51 class DocumentLifecycle; 52 class DocumentLifecycle;
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 Node* nodeToDraw() { return m_nodeToDraw.get(); } 227 Node* nodeToDraw() { return m_nodeToDraw.get(); }
227 228
228 Color documentBackgroundColor() const; 229 Color documentBackgroundColor() const;
229 230
230 void updateLayoutAndStyleForPainting(); 231 void updateLayoutAndStyleForPainting();
231 void updateLayoutAndStyleIfNeededRecursive(); 232 void updateLayoutAndStyleIfNeededRecursive();
232 233
233 void invalidateTreeIfNeededRecursive(); 234 void invalidateTreeIfNeededRecursive();
234 bool invalidateViewportConstrainedObjects(); 235 bool invalidateViewportConstrainedObjects();
235 236
237 void updateFrameTimingRequestsIfNeeded();
chrishtr 2015/05/08 16:52:05 Make this private.
MikeB 2015/05/08 18:37:34 Done.
238
236 void incrementVisuallyNonEmptyCharacterCount(unsigned); 239 void incrementVisuallyNonEmptyCharacterCount(unsigned);
237 void incrementVisuallyNonEmptyPixelCount(const IntSize&); 240 void incrementVisuallyNonEmptyPixelCount(const IntSize&);
238 void setIsVisuallyNonEmpty() { m_isVisuallyNonEmpty = true; } 241 void setIsVisuallyNonEmpty() { m_isVisuallyNonEmpty = true; }
239 void enableAutoSizeMode(const IntSize& minSize, const IntSize& maxSize); 242 void enableAutoSizeMode(const IntSize& minSize, const IntSize& maxSize);
240 void disableAutoSizeMode(); 243 void disableAutoSizeMode();
241 244
242 void forceLayoutForPagination(const FloatSize& pageSize, const FloatSize& or iginalPageSize, float maximumShrinkFactor); 245 void forceLayoutForPagination(const FloatSize& pageSize, const FloatSize& or iginalPageSize, float maximumShrinkFactor);
243 246
244 bool scrollToFragment(const KURL&); 247 bool scrollToFragment(const KURL&);
245 bool scrollToAnchor(const String&); 248 bool scrollToAnchor(const String&);
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 bool isFrameViewScrollbar(const Widget* child) const { return horizontalScro llbar() == child || verticalScrollbar() == child; } 713 bool isFrameViewScrollbar(const Widget* child) const { return horizontalScro llbar() == child || verticalScrollbar() == child; }
711 714
712 ScrollingCoordinator* scrollingCoordinator(); 715 ScrollingCoordinator* scrollingCoordinator();
713 716
714 void prepareLayoutAnalyzer(); 717 void prepareLayoutAnalyzer();
715 PassRefPtr<TracedValue> analyzerCounters(); 718 PassRefPtr<TracedValue> analyzerCounters();
716 719
717 // LayoutObject for the viewport-defining element (see Document::viewportDef iningElement). 720 // LayoutObject for the viewport-defining element (see Document::viewportDef iningElement).
718 LayoutObject* viewportLayoutObject(); 721 LayoutObject* viewportLayoutObject();
719 722
723 typedef WTF::HashMap
724 <const GraphicsLayer*, std::vector<std::pair<int64_t, WebRect>>>
725 GraphicsLayerFrameTimingRequests;
726 void collectFrameTimingRequestsRecursive(GraphicsLayerFrameTimingRequests&);
727
720 LayoutSize m_size; 728 LayoutSize m_size;
721 729
722 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; 730 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet;
723 EmbeddedObjectSet m_partUpdateSet; 731 EmbeddedObjectSet m_partUpdateSet;
724 732
725 // FIXME: These are just "children" of the FrameView and should be RefPtrWil lBeMember<Widget> instead. 733 // FIXME: These are just "children" of the FrameView and should be RefPtrWil lBeMember<Widget> instead.
726 HashSet<RefPtr<LayoutPart>> m_parts; 734 HashSet<RefPtr<LayoutPart>> m_parts;
727 735
728 // The RefPtr cycle between LocalFrame and FrameView is broken 736 // The RefPtr cycle between LocalFrame and FrameView is broken
729 // when a LocalFrame is detached by FrameLoader::detachFromParent(). 737 // when a LocalFrame is detached by FrameLoader::detachFromParent().
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 static const unsigned visualPixelThreshold = 32 * 32; 883 static const unsigned visualPixelThreshold = 32 * 32;
876 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold) 884 if (m_visuallyNonEmptyPixelCount > visualPixelThreshold)
877 setIsVisuallyNonEmpty(); 885 setIsVisuallyNonEmpty();
878 } 886 }
879 887
880 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView()); 888 DEFINE_TYPE_CASTS(FrameView, Widget, widget, widget->isFrameView(), widget.isFra meView());
881 889
882 } // namespace blink 890 } // namespace blink
883 891
884 #endif // FrameView_h 892 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698