| OLD | NEW |
| 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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 #if ENABLE(OILPAN) | 177 #if ENABLE(OILPAN) |
| 178 void registerPluginElement(HTMLPlugInElement*); | 178 void registerPluginElement(HTMLPlugInElement*); |
| 179 void unregisterPluginElement(HTMLPlugInElement*); | 179 void unregisterPluginElement(HTMLPlugInElement*); |
| 180 void clearWeakMembers(Visitor*); | 180 void clearWeakMembers(Visitor*); |
| 181 #endif | 181 #endif |
| 182 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi
s); } | 182 DisplayItemClient displayItemClient() const { return toDisplayItemClient(thi
s); } |
| 183 String debugName() const { return "LocalFrame"; } | 183 String debugName() const { return "LocalFrame"; } |
| 184 | 184 |
| 185 bool shouldThrottleRendering() const; | 185 bool shouldThrottleRendering() const; |
| 186 | 186 |
| 187 // ======== | |
| 188 | |
| 189 // Returns the frame scheduler, creating one if needed. | 187 // Returns the frame scheduler, creating one if needed. |
| 190 WebFrameScheduler* frameScheduler(); | 188 WebFrameScheduler* frameScheduler(); |
| 191 void updateFrameSecurityOrigin(); | 189 void updateFrameSecurityOrigin(); |
| 192 | 190 |
| 191 bool isNavigationAllowed() const { return m_navigationDisableCount == 0; } |
| 192 |
| 193 private: | 193 private: |
| 194 friend class FrameNavigationDisabler; |
| 195 |
| 194 LocalFrame(FrameLoaderClient*, FrameHost*, FrameOwner*); | 196 LocalFrame(FrameLoaderClient*, FrameHost*, FrameOwner*); |
| 195 | 197 |
| 196 // Internal Frame helper overrides: | 198 // Internal Frame helper overrides: |
| 197 WindowProxyManager* windowProxyManager() const override; | 199 WindowProxyManager* windowProxyManager() const override; |
| 198 | 200 |
| 199 String localLayerTreeAsText(unsigned flags) const; | 201 String localLayerTreeAsText(unsigned flags) const; |
| 200 | 202 |
| 201 // Paints the area for the given rect into a DragImage, with the given displ
ayItemClient id attached. | 203 // Paints the area for the given rect into a DragImage, with the given displ
ayItemClient id attached. |
| 202 // The rect is in the coordinate space of the frame. | 204 // The rect is in the coordinate space of the frame. |
| 203 PassOwnPtr<DragImage> paintIntoDragImage(const DisplayItemClientWrapper&, | 205 PassOwnPtr<DragImage> paintIntoDragImage(const DisplayItemClientWrapper&, |
| 204 RespectImageOrientationEnum shouldRespectImageOrientation, const GlobalP
aintFlags, | 206 RespectImageOrientationEnum shouldRespectImageOrientation, const GlobalP
aintFlags, |
| 205 IntRect paintingRect, float opacity = 1); | 207 IntRect paintingRect, float opacity = 1); |
| 206 | 208 |
| 209 void enableNavigation() { --m_navigationDisableCount; } |
| 210 void disableNavigation() { ++m_navigationDisableCount; } |
| 211 |
| 207 mutable FrameLoader m_loader; | 212 mutable FrameLoader m_loader; |
| 208 OwnPtrWillBeMember<NavigationScheduler> m_navigationScheduler; | 213 OwnPtrWillBeMember<NavigationScheduler> m_navigationScheduler; |
| 209 | 214 |
| 210 RefPtrWillBeMember<FrameView> m_view; | 215 RefPtrWillBeMember<FrameView> m_view; |
| 211 RefPtrWillBeMember<LocalDOMWindow> m_domWindow; | 216 RefPtrWillBeMember<LocalDOMWindow> m_domWindow; |
| 212 // Usually 0. Non-null if this is the top frame of PagePopup. | 217 // Usually 0. Non-null if this is the top frame of PagePopup. |
| 213 RefPtrWillBeMember<Element> m_pagePopupOwner; | 218 RefPtrWillBeMember<Element> m_pagePopupOwner; |
| 214 | 219 |
| 215 const OwnPtrWillBeMember<ScriptController> m_script; | 220 const OwnPtrWillBeMember<ScriptController> m_script; |
| 216 const OwnPtrWillBeMember<Editor> m_editor; | 221 const OwnPtrWillBeMember<Editor> m_editor; |
| 217 const OwnPtrWillBeMember<SpellChecker> m_spellChecker; | 222 const OwnPtrWillBeMember<SpellChecker> m_spellChecker; |
| 218 const OwnPtrWillBeMember<FrameSelection> m_selection; | 223 const OwnPtrWillBeMember<FrameSelection> m_selection; |
| 219 const OwnPtrWillBeMember<EventHandler> m_eventHandler; | 224 const OwnPtrWillBeMember<EventHandler> m_eventHandler; |
| 220 const OwnPtrWillBeMember<FrameConsole> m_console; | 225 const OwnPtrWillBeMember<FrameConsole> m_console; |
| 221 const OwnPtrWillBeMember<InputMethodController> m_inputMethodController; | 226 const OwnPtrWillBeMember<InputMethodController> m_inputMethodController; |
| 222 OwnPtr<WebFrameScheduler> m_frameScheduler; | 227 OwnPtr<WebFrameScheduler> m_frameScheduler; |
| 223 | 228 |
| 229 int m_navigationDisableCount; |
| 230 |
| 224 #if ENABLE(OILPAN) | 231 #if ENABLE(OILPAN) |
| 225 // Oilpan: in order to reliably finalize plugin elements with | 232 // Oilpan: in order to reliably finalize plugin elements with |
| 226 // renderer-less plugins, the frame keeps track of them. When | 233 // renderer-less plugins, the frame keeps track of them. When |
| 227 // the frame is detached and disposed, these will be disposed | 234 // the frame is detached and disposed, these will be disposed |
| 228 // of in the process. This is needed as the plugin element | 235 // of in the process. This is needed as the plugin element |
| 229 // might not itself be attached to a DOM tree and be | 236 // might not itself be attached to a DOM tree and be |
| 230 // explicitly detached&disposed of. | 237 // explicitly detached&disposed of. |
| 231 // | 238 // |
| 232 // A weak reference is all wanted; the plugin element must | 239 // A weak reference is all wanted; the plugin element must |
| 233 // otherwise be referenced and kept alive. So as to be able | 240 // otherwise be referenced and kept alive. So as to be able |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 inline EventHandler& LocalFrame::eventHandler() const | 327 inline EventHandler& LocalFrame::eventHandler() const |
| 321 { | 328 { |
| 322 ASSERT(m_eventHandler); | 329 ASSERT(m_eventHandler); |
| 323 return *m_eventHandler; | 330 return *m_eventHandler; |
| 324 } | 331 } |
| 325 | 332 |
| 326 DEFINE_TYPE_CASTS(LocalFrame, Frame, localFrame, localFrame->isLocalFrame(), loc
alFrame.isLocalFrame()); | 333 DEFINE_TYPE_CASTS(LocalFrame, Frame, localFrame, localFrame->isLocalFrame(), loc
alFrame.isLocalFrame()); |
| 327 | 334 |
| 328 DECLARE_WEAK_IDENTIFIER_MAP(LocalFrame); | 335 DECLARE_WEAK_IDENTIFIER_MAP(LocalFrame); |
| 329 | 336 |
| 337 class FrameNavigationDisabler { |
| 338 WTF_MAKE_NONCOPYABLE(FrameNavigationDisabler); |
| 339 STACK_ALLOCATED(); |
| 340 public: |
| 341 explicit FrameNavigationDisabler(LocalFrame&); |
| 342 ~FrameNavigationDisabler(); |
| 343 |
| 344 private: |
| 345 RawPtrWillBeMember<LocalFrame> m_frame; |
| 346 }; |
| 347 |
| 330 } // namespace blink | 348 } // namespace blink |
| 331 | 349 |
| 332 // During refactoring, there are some places where we need to do type conversion
s that | 350 // During refactoring, there are some places where we need to do type conversion
s that |
| 333 // will not be needed once all instances of LocalFrame and RemoteFrame are sorte
d out. | 351 // will not be needed once all instances of LocalFrame and RemoteFrame are sorte
d out. |
| 334 // At that time this #define will be removed and all the uses of it will need to
be corrected. | 352 // At that time this #define will be removed and all the uses of it will need to
be corrected. |
| 335 #define toLocalFrameTemporary toLocalFrame | 353 #define toLocalFrameTemporary toLocalFrame |
| 336 | 354 |
| 337 #endif // LocalFrame_h | 355 #endif // LocalFrame_h |
| OLD | NEW |