Chromium Code Reviews| Index: Source/web/WebViewImpl.h |
| diff --git a/Source/web/WebViewImpl.h b/Source/web/WebViewImpl.h |
| index 544e21fffe25f1ca93b0c4b8ba684f79e951a748..11d3a996ef95efd8ba7f79163b3a4c633ede4faf 100644 |
| --- a/Source/web/WebViewImpl.h |
| +++ b/Source/web/WebViewImpl.h |
| @@ -35,6 +35,7 @@ |
| #include "platform/geometry/IntPoint.h" |
| #include "platform/geometry/IntRect.h" |
| #include "platform/graphics/GraphicsLayer.h" |
| +#include "platform/heap/Handle.h" |
| #include "public/platform/WebGestureCurveTarget.h" |
| #include "public/platform/WebLayer.h" |
| #include "public/platform/WebPoint.h" |
| @@ -72,6 +73,7 @@ class UserGestureToken; |
| class WebActiveGestureAnimation; |
| class WebDevToolsAgentPrivate; |
| class WebLocalFrameImpl; |
| +class WebRemoteFrameImpl; |
| class WebImage; |
| class WebPagePopupImpl; |
| class WebPlugin; |
| @@ -601,6 +603,18 @@ private: |
| OwnPtrWillBePersistent<Page> m_page; |
| +#if ENABLE(OILPAN) |
| + // With Oilpan, the WebViewImpl object keeps a strong reference to one kind of main |
| + // frame, so as to keep it alive until the view lets it go. |
| + // |
| + // In the non-Oilpan case, the ref-counted frame is instead created and returned with |
| + // a ref count that must be balanced by eventually calling close() on the |
| + // Web*FrameImpl object. That close() call is also assumed for Oilpan, but we need |
| + // to keep the object alive until that time. Hence these mutually-exclusive Persistent<>s. |
| + Persistent<WebLocalFrameImpl> m_localMainFrame; |
| + Persistent<WebRemoteFrameImpl> m_remoteMainFrame; |
|
dcheng
2014/09/11 17:03:10
Page also has a main frame field. It feels redunda
sof
2014/09/12 10:06:21
This is about retaining the Web{Local,Remote}Frame
|
| +#endif |
| + |
| // An object that can be used to manipulate m_page->settings() without linking |
| // against WebCore. This is lazily allocated the first time GetWebSettings() |
| // is called. |
| @@ -708,7 +722,7 @@ private: |
| int m_flingModifier; |
| bool m_flingSourceDevice; |
| Vector<OwnPtr<LinkHighlight> > m_linkHighlights; |
| - OwnPtr<FullscreenController> m_fullscreenController; |
| + OwnPtrWillBePersistent<FullscreenController> m_fullscreenController; |
| bool m_showFPSCounter; |
| bool m_showPaintRects; |