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

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

Issue 1340343003: scheduler: Implement WebFrameScheduler and WebPageScheduler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased + fixed gn build. Created 5 years, 2 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) 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 reserved. 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
9 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 10 * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 class LocalDOMWindow; 65 class LocalDOMWindow;
66 class NavigationScheduler; 66 class NavigationScheduler;
67 class Node; 67 class Node;
68 class NodeTraversal; 68 class NodeTraversal;
69 class Range; 69 class Range;
70 class LayoutView; 70 class LayoutView;
71 class TreeScope; 71 class TreeScope;
72 class ScriptController; 72 class ScriptController;
73 class SpellChecker; 73 class SpellChecker;
74 class TreeScope; 74 class TreeScope;
75 class WebFrameHostScheduler;
76 class WebFrameScheduler;
75 template <typename Strategy> class PositionWithAffinityTemplate; 77 template <typename Strategy> class PositionWithAffinityTemplate;
76 78
77 class CORE_EXPORT LocalFrame : public Frame, public LocalFrameLifecycleNotifier, public WillBeHeapSupplementable<LocalFrame> { 79 class CORE_EXPORT LocalFrame : public Frame, public LocalFrameLifecycleNotifier, public WillBeHeapSupplementable<LocalFrame> {
78 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LocalFrame); 80 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LocalFrame);
79 public: 81 public:
80 static PassRefPtrWillBeRawPtr<LocalFrame> create(FrameLoaderClient*, FrameHo st*, FrameOwner*); 82 static PassRefPtrWillBeRawPtr<LocalFrame> create(FrameLoaderClient*, FrameHo st*, FrameOwner*);
81 83
82 void init(); 84 void init();
83 void setView(PassRefPtrWillBeRawPtr<FrameView>); 85 void setView(PassRefPtrWillBeRawPtr<FrameView>);
84 void createView(const IntSize&, const Color&, bool, 86 void createView(const IntSize&, const Color&, bool,
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 #if ENABLE(OILPAN) 177 #if ENABLE(OILPAN)
176 void registerPluginElement(HTMLPlugInElement*); 178 void registerPluginElement(HTMLPlugInElement*);
177 void unregisterPluginElement(HTMLPlugInElement*); 179 void unregisterPluginElement(HTMLPlugInElement*);
178 void clearWeakMembers(Visitor*); 180 void clearWeakMembers(Visitor*);
179 #endif 181 #endif
180 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi s); } 182 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi s); }
181 String debugName() const { return "LocalFrame"; } 183 String debugName() const { return "LocalFrame"; }
182 184
183 // ======== 185 // ========
184 186
187 // Returns the frame scheduler, creating one if needed.
188 WebFrameScheduler* frameScheduler();
189 void updateFrameSecurityOrigin();
190
185 private: 191 private:
186 LocalFrame(FrameLoaderClient*, FrameHost*, FrameOwner*); 192 LocalFrame(FrameLoaderClient*, FrameHost*, FrameOwner*);
187 193
188 // Internal Frame helper overrides: 194 // Internal Frame helper overrides:
189 WindowProxyManager* windowProxyManager() const override; 195 WindowProxyManager* windowProxyManager() const override;
190 196
191 String localLayerTreeAsText(unsigned flags) const; 197 String localLayerTreeAsText(unsigned flags) const;
192 198
193 // Paints the area for the given rect into a DragImage, with the given displ ayItemClient id attached. 199 // Paints the area for the given rect into a DragImage, with the given displ ayItemClient id attached.
194 // The rect is in the coordinate space of the frame. 200 // The rect is in the coordinate space of the frame.
195 PassOwnPtr<DragImage> paintIntoDragImage(const DisplayItemClientWrapper&, 201 PassOwnPtr<DragImage> paintIntoDragImage(const DisplayItemClientWrapper&,
196 RespectImageOrientationEnum shouldRespectImageOrientation, const GlobalP aintFlags, 202 RespectImageOrientationEnum shouldRespectImageOrientation, const GlobalP aintFlags,
197 IntRect paintingRect, float opacity = 1); 203 IntRect paintingRect, float opacity = 1);
198 204
199 mutable FrameLoader m_loader; 205 mutable FrameLoader m_loader;
200 OwnPtrWillBeMember<NavigationScheduler> m_navigationScheduler; 206 OwnPtrWillBeMember<NavigationScheduler> m_navigationScheduler;
201 207
202 RefPtrWillBeMember<FrameView> m_view; 208 RefPtrWillBeMember<FrameView> m_view;
203 RefPtrWillBeMember<LocalDOMWindow> m_domWindow; 209 RefPtrWillBeMember<LocalDOMWindow> m_domWindow;
204 // Usually 0. Non-null if this is the top frame of PagePopup. 210 // Usually 0. Non-null if this is the top frame of PagePopup.
205 RefPtrWillBeMember<Element> m_pagePopupOwner; 211 RefPtrWillBeMember<Element> m_pagePopupOwner;
206 212
207 const OwnPtrWillBeMember<ScriptController> m_script; 213 const OwnPtrWillBeMember<ScriptController> m_script;
208 const OwnPtrWillBeMember<Editor> m_editor; 214 const OwnPtrWillBeMember<Editor> m_editor;
209 const OwnPtrWillBeMember<SpellChecker> m_spellChecker; 215 const OwnPtrWillBeMember<SpellChecker> m_spellChecker;
210 const OwnPtrWillBeMember<FrameSelection> m_selection; 216 const OwnPtrWillBeMember<FrameSelection> m_selection;
211 const OwnPtrWillBeMember<EventHandler> m_eventHandler; 217 const OwnPtrWillBeMember<EventHandler> m_eventHandler;
212 const OwnPtrWillBeMember<FrameConsole> m_console; 218 const OwnPtrWillBeMember<FrameConsole> m_console;
213 const OwnPtrWillBeMember<InputMethodController> m_inputMethodController; 219 const OwnPtrWillBeMember<InputMethodController> m_inputMethodController;
220 OwnPtr<WebFrameScheduler> m_frameScheduler;
214 221
215 #if ENABLE(OILPAN) 222 #if ENABLE(OILPAN)
216 // Oilpan: in order to reliably finalize plugin elements with 223 // Oilpan: in order to reliably finalize plugin elements with
217 // renderer-less plugins, the frame keeps track of them. When 224 // renderer-less plugins, the frame keeps track of them. When
218 // the frame is detached and disposed, these will be disposed 225 // the frame is detached and disposed, these will be disposed
219 // of in the process. This is needed as the plugin element 226 // of in the process. This is needed as the plugin element
220 // might not itself be attached to a DOM tree and be 227 // might not itself be attached to a DOM tree and be
221 // explicitly detached&disposed of. 228 // explicitly detached&disposed of.
222 // 229 //
223 // A weak reference is all wanted; the plugin element must 230 // A weak reference is all wanted; the plugin element must
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 DECLARE_WEAK_IDENTIFIER_MAP(LocalFrame); 321 DECLARE_WEAK_IDENTIFIER_MAP(LocalFrame);
315 322
316 } // namespace blink 323 } // namespace blink
317 324
318 // During refactoring, there are some places where we need to do type conversion s that 325 // During refactoring, there are some places where we need to do type conversion s that
319 // will not be needed once all instances of LocalFrame and RemoteFrame are sorte d out. 326 // will not be needed once all instances of LocalFrame and RemoteFrame are sorte d out.
320 // At that time this #define will be removed and all the uses of it will need to be corrected. 327 // At that time this #define will be removed and all the uses of it will need to be corrected.
321 #define toLocalFrameTemporary toLocalFrame 328 #define toLocalFrameTemporary toLocalFrame
322 329
323 #endif // LocalFrame_h 330 #endif // LocalFrame_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp ('k') | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698