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

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

Issue 1517993004: Oilpan: simplify plugin container finalization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: simplify away disconnectContentFrame override 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 167
168 bool isURLAllowed(const KURL&) const; 168 bool isURLAllowed(const KURL&) const;
169 bool shouldReuseDefaultView(const KURL&) const; 169 bool shouldReuseDefaultView(const KURL&) const;
170 void removeSpellingMarkersUnderWords(const Vector<String>& words); 170 void removeSpellingMarkersUnderWords(const Vector<String>& words);
171 171
172 // FIXME: once scroll customization is enabled everywhere 172 // FIXME: once scroll customization is enabled everywhere
173 // (crbug.com/416862), this should take a ScrollState object. 173 // (crbug.com/416862), this should take a ScrollState object.
174 ScrollResult applyScrollDelta(const FloatSize& delta, bool isScrollBegin); 174 ScrollResult applyScrollDelta(const FloatSize& delta, bool isScrollBegin);
175 bool shouldScrollTopControls(const FloatSize& delta) const; 175 bool shouldScrollTopControls(const FloatSize& delta) const;
176 176
177 #if ENABLE(OILPAN)
178 void registerPluginElement(HTMLPlugInElement*);
179 void unregisterPluginElement(HTMLPlugInElement*);
180 void clearWeakMembers(Visitor*);
181 #endif
182
183 // DisplayItemClient methods 177 // DisplayItemClient methods
184 String debugName() const final { return "LocalFrame"; } 178 String debugName() const final { return "LocalFrame"; }
185 // TODO(chrishtr): fix this. 179 // TODO(chrishtr): fix this.
186 IntRect visualRect() const override { return IntRect(); } 180 IntRect visualRect() const override { return IntRect(); }
187 181
188 bool shouldThrottleRendering() const; 182 bool shouldThrottleRendering() const;
189 183
190 // Returns the frame scheduler, creating one if needed. 184 // Returns the frame scheduler, creating one if needed.
191 WebFrameScheduler* frameScheduler(); 185 WebFrameScheduler* frameScheduler();
192 void scheduleVisualUpdateUnlessThrottled(); 186 void scheduleVisualUpdateUnlessThrottled();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 const OwnPtrWillBeMember<Editor> m_editor; 220 const OwnPtrWillBeMember<Editor> m_editor;
227 const OwnPtrWillBeMember<SpellChecker> m_spellChecker; 221 const OwnPtrWillBeMember<SpellChecker> m_spellChecker;
228 const OwnPtrWillBeMember<FrameSelection> m_selection; 222 const OwnPtrWillBeMember<FrameSelection> m_selection;
229 const OwnPtrWillBeMember<EventHandler> m_eventHandler; 223 const OwnPtrWillBeMember<EventHandler> m_eventHandler;
230 const OwnPtrWillBeMember<FrameConsole> m_console; 224 const OwnPtrWillBeMember<FrameConsole> m_console;
231 const OwnPtrWillBeMember<InputMethodController> m_inputMethodController; 225 const OwnPtrWillBeMember<InputMethodController> m_inputMethodController;
232 OwnPtr<WebFrameScheduler> m_frameScheduler; 226 OwnPtr<WebFrameScheduler> m_frameScheduler;
233 227
234 int m_navigationDisableCount; 228 int m_navigationDisableCount;
235 229
236 #if ENABLE(OILPAN)
237 // Oilpan: in order to reliably finalize plugin elements with
238 // renderer-less plugins, the frame keeps track of them. When
239 // the frame is detached and disposed, these will be disposed
240 // of in the process. This is needed as the plugin element
241 // might not itself be attached to a DOM tree and be
242 // explicitly detached&disposed of.
243 //
244 // A weak reference is all wanted; the plugin element must
245 // otherwise be referenced and kept alive. So as to be able
246 // to process the set of weak references during the LocalFrame's
247 // weak callback, the set itself is not on the heap and the
248 // references are bare pointers (rather than WeakMembers.)
249 // See LocalFrame::clearWeakMembers().
250 HashSet<UntracedMember<HTMLPlugInElement>> m_pluginElements;
251 #endif
252
253 float m_pageZoomFactor; 230 float m_pageZoomFactor;
254 float m_textZoomFactor; 231 float m_textZoomFactor;
255 232
256 bool m_inViewSourceMode; 233 bool m_inViewSourceMode;
257 234
258 RefPtrWillBeMember<InstrumentingAgents> m_instrumentingAgents; 235 RefPtrWillBeMember<InstrumentingAgents> m_instrumentingAgents;
259 236
260 // TODO(dcheng): Temporary to try to debug https://crbug.com/531291 237 // TODO(dcheng): Temporary to try to debug https://crbug.com/531291
261 enum class SupplementStatus { Uncleared, Clearing, Cleared }; 238 enum class SupplementStatus { Uncleared, Clearing, Cleared };
262 SupplementStatus m_supplementStatus = SupplementStatus::Uncleared; 239 SupplementStatus m_supplementStatus = SupplementStatus::Uncleared;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 explicit FrameNavigationDisabler(LocalFrame&); 322 explicit FrameNavigationDisabler(LocalFrame&);
346 ~FrameNavigationDisabler(); 323 ~FrameNavigationDisabler();
347 324
348 private: 325 private:
349 RawPtrWillBeMember<LocalFrame> m_frame; 326 RawPtrWillBeMember<LocalFrame> m_frame;
350 }; 327 };
351 328
352 } // namespace blink 329 } // namespace blink
353 330
354 #endif // LocalFrame_h 331 #endif // LocalFrame_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698