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

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

Issue 2449673002: Refactor InspectorWebPerfAgent: update lifecycle management to be per Local Frame root; replace hea… (Closed)
Patch Set: Update unittests Created 4 years, 1 month 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-2001 Lars Knoll <knoll@kde.org> 3 * 1999-2001 Lars Knoll <knoll@kde.org>
4 * 1999-2001 Antti Koivisto <koivisto@kde.org> 4 * 1999-2001 Antti Koivisto <koivisto@kde.org>
5 * 2000-2001 Simon Hausmann <hausmann@kde.org> 5 * 2000-2001 Simon Hausmann <hausmann@kde.org>
6 * 2000-2001 Dirk Mueller <mueller@kde.org> 6 * 2000-2001 Dirk Mueller <mueller@kde.org>
7 * 2000 Stefan Schimanski <1Stein@gmx.de> 7 * 2000 Stefan Schimanski <1Stein@gmx.de>
8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
9 * reserved. 9 * reserved.
10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 class Element; 53 class Element;
54 template <typename Strategy> 54 template <typename Strategy>
55 class EphemeralRangeTemplate; 55 class EphemeralRangeTemplate;
56 class EventHandler; 56 class EventHandler;
57 class FloatSize; 57 class FloatSize;
58 class FrameConsole; 58 class FrameConsole;
59 class FrameSelection; 59 class FrameSelection;
60 class FrameView; 60 class FrameView;
61 class HTMLPlugInElement; 61 class HTMLPlugInElement;
62 class InputMethodController; 62 class InputMethodController;
63 class InspectorWebPerfAgent;
64 class InstrumentingAgents;
63 class InterfaceProvider; 65 class InterfaceProvider;
64 class InterfaceRegistry; 66 class InterfaceRegistry;
65 class IntPoint; 67 class IntPoint;
66 class IntSize; 68 class IntSize;
67 class InstrumentingAgents;
68 class JSONObject; 69 class JSONObject;
69 class LayoutView; 70 class LayoutView;
70 class LayoutViewItem; 71 class LayoutViewItem;
71 class LocalDOMWindow; 72 class LocalDOMWindow;
72 class NavigationScheduler; 73 class NavigationScheduler;
73 class Node; 74 class Node;
74 class NodeTraversal; 75 class NodeTraversal;
76 class Performance;
75 template <typename Strategy> 77 template <typename Strategy>
76 class PositionWithAffinityTemplate; 78 class PositionWithAffinityTemplate;
77 class PluginData; 79 class PluginData;
78 class Range; 80 class Range;
79 class ScriptController; 81 class ScriptController;
80 class SpellChecker; 82 class SpellChecker;
81 class WebFrameHostScheduler; 83 class WebFrameHostScheduler;
82 class WebFrameScheduler; 84 class WebFrameScheduler;
83 85
84 extern template class CORE_EXTERN_TEMPLATE_EXPORT Supplement<LocalFrame>; 86 extern template class CORE_EXTERN_TEMPLATE_EXPORT Supplement<LocalFrame>;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 // change. 158 // change.
157 // In addition, this function will always return true for a detached frame. 159 // In addition, this function will always return true for a detached frame.
158 // TODO(dcheng): Move this to LocalDOMWindow and figure out the right 160 // TODO(dcheng): Move this to LocalDOMWindow and figure out the right
159 // behavior for detached windows. 161 // behavior for detached windows.
160 bool isCrossOriginSubframe() const; 162 bool isCrossOriginSubframe() const;
161 163
162 InstrumentingAgents* instrumentingAgents() { 164 InstrumentingAgents* instrumentingAgents() {
163 return m_instrumentingAgents.get(); 165 return m_instrumentingAgents.get();
164 } 166 }
165 167
168 const HeapHashSet<Member<Performance>>& webPerformanceObservers() {
169 return m_webPerformanceObservers;
170 }
171
172 void enableInspectorWebPerfAgent(Performance*);
173 void disableInspectorWebPerfAgent(Performance*);
174
166 // ========================================================================= 175 // =========================================================================
167 // All public functions below this point are candidates to move out of 176 // All public functions below this point are candidates to move out of
168 // LocalFrame into another class. 177 // LocalFrame into another class.
169 178
170 // See GraphicsLayerClient.h for accepted flags. 179 // See GraphicsLayerClient.h for accepted flags.
171 String layerTreeAsText(unsigned flags = 0) const; 180 String layerTreeAsText(unsigned flags = 0) const;
172 181
173 void setPrinting(bool printing, 182 void setPrinting(bool printing,
174 const FloatSize& pageSize, 183 const FloatSize& pageSize,
175 const FloatSize& originalPageSize, 184 const FloatSize& originalPageSize,
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 const Member<InputMethodController> m_inputMethodController; 268 const Member<InputMethodController> m_inputMethodController;
260 269
261 int m_navigationDisableCount; 270 int m_navigationDisableCount;
262 271
263 float m_pageZoomFactor; 272 float m_pageZoomFactor;
264 float m_textZoomFactor; 273 float m_textZoomFactor;
265 274
266 bool m_inViewSourceMode; 275 bool m_inViewSourceMode;
267 276
268 Member<InstrumentingAgents> m_instrumentingAgents; 277 Member<InstrumentingAgents> m_instrumentingAgents;
278 Member<InspectorWebPerfAgent> m_inspectorWebPerfAgent;
279 HeapHashSet<Member<Performance>> m_webPerformanceObservers;
caseq 2016/10/31 22:41:54 Can you rather put that within the InspectorWebPer
panicker 2016/11/01 03:03:33 Done.
269 280
270 InterfaceProvider* const m_interfaceProvider; 281 InterfaceProvider* const m_interfaceProvider;
271 InterfaceRegistry* const m_interfaceRegistry; 282 InterfaceRegistry* const m_interfaceRegistry;
272 }; 283 };
273 284
274 inline void LocalFrame::init() { 285 inline void LocalFrame::init() {
275 m_loader.init(); 286 m_loader.init();
276 } 287 }
277 288
278 inline LocalDOMWindow* LocalFrame::localDOMWindow() const { 289 inline LocalDOMWindow* LocalFrame::localDOMWindow() const {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 explicit ScopedFrameBlamer(LocalFrame*); 382 explicit ScopedFrameBlamer(LocalFrame*);
372 ~ScopedFrameBlamer(); 383 ~ScopedFrameBlamer();
373 384
374 private: 385 private:
375 Member<LocalFrame> m_frame; 386 Member<LocalFrame> m_frame;
376 }; 387 };
377 388
378 } // namespace blink 389 } // namespace blink
379 390
380 #endif // LocalFrame_h 391 #endif // LocalFrame_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698