OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WebRemoteFrameImpl_h | 5 #ifndef WebRemoteFrameImpl_h |
6 #define WebRemoteFrameImpl_h | 6 #define WebRemoteFrameImpl_h |
7 | 7 |
8 #include "platform/heap/Handle.h" | 8 #include "platform/heap/Handle.h" |
9 #include "public/web/WebRemoteFrame.h" | 9 #include "public/web/WebRemoteFrame.h" |
10 #include "public/web/WebRemoteFrameClient.h" | 10 #include "public/web/WebRemoteFrameClient.h" |
11 #include "web/RemoteFrameClientImpl.h" | 11 #include "web/RemoteFrameClientImpl.h" |
12 #include "wtf/HashMap.h" | 12 #include "wtf/HashMap.h" |
13 #include "wtf/OwnPtr.h" | 13 #include "wtf/OwnPtr.h" |
14 #include "wtf/RefCounted.h" | 14 #include "wtf/RefCounted.h" |
15 | 15 |
16 namespace blink { | 16 namespace blink { |
17 | 17 |
18 class FrameHost; | 18 class FrameHost; |
19 class FrameOwner; | 19 class FrameOwner; |
20 class RemoteFrame; | 20 class RemoteFrame; |
21 class WebViewImpl; | 21 class WebViewImpl; |
22 | 22 |
23 class WebRemoteFrameImpl FINAL : public RefCountedWillBeGarbageCollectedFinalize
d<WebRemoteFrameImpl>, public WebRemoteFrame { | 23 class WebRemoteFrameImpl final : public RefCountedWillBeGarbageCollectedFinalize
d<WebRemoteFrameImpl>, public WebRemoteFrame { |
24 public: | 24 public: |
25 explicit WebRemoteFrameImpl(WebRemoteFrameClient*); | 25 explicit WebRemoteFrameImpl(WebRemoteFrameClient*); |
26 virtual ~WebRemoteFrameImpl(); | 26 virtual ~WebRemoteFrameImpl(); |
27 | 27 |
28 // WebRemoteFrame methods. | 28 // WebRemoteFrame methods. |
29 virtual bool isWebLocalFrame() const OVERRIDE; | 29 virtual bool isWebLocalFrame() const override; |
30 virtual WebLocalFrame* toWebLocalFrame() OVERRIDE; | 30 virtual WebLocalFrame* toWebLocalFrame() override; |
31 virtual bool isWebRemoteFrame() const OVERRIDE; | 31 virtual bool isWebRemoteFrame() const override; |
32 virtual WebRemoteFrame* toWebRemoteFrame() OVERRIDE; | 32 virtual WebRemoteFrame* toWebRemoteFrame() override; |
33 virtual void close() OVERRIDE; | 33 virtual void close() override; |
34 virtual WebString uniqueName() const OVERRIDE; | 34 virtual WebString uniqueName() const override; |
35 virtual WebString assignedName() const OVERRIDE; | 35 virtual WebString assignedName() const override; |
36 virtual void setName(const WebString&) OVERRIDE; | 36 virtual void setName(const WebString&) override; |
37 virtual WebVector<WebIconURL> iconURLs(int iconTypesMask) const OVERRIDE; | 37 virtual WebVector<WebIconURL> iconURLs(int iconTypesMask) const override; |
38 virtual void setRemoteWebLayer(WebLayer*) OVERRIDE; | 38 virtual void setRemoteWebLayer(WebLayer*) override; |
39 virtual void setPermissionClient(WebPermissionClient*) OVERRIDE; | 39 virtual void setPermissionClient(WebPermissionClient*) override; |
40 virtual void setSharedWorkerRepositoryClient(WebSharedWorkerRepositoryClient
*) OVERRIDE; | 40 virtual void setSharedWorkerRepositoryClient(WebSharedWorkerRepositoryClient
*) override; |
41 virtual void setCanHaveScrollbars(bool) OVERRIDE; | 41 virtual void setCanHaveScrollbars(bool) override; |
42 virtual WebSize scrollOffset() const OVERRIDE; | 42 virtual WebSize scrollOffset() const override; |
43 virtual void setScrollOffset(const WebSize&) OVERRIDE; | 43 virtual void setScrollOffset(const WebSize&) override; |
44 virtual WebSize minimumScrollOffset() const OVERRIDE; | 44 virtual WebSize minimumScrollOffset() const override; |
45 virtual WebSize maximumScrollOffset() const OVERRIDE; | 45 virtual WebSize maximumScrollOffset() const override; |
46 virtual WebSize contentsSize() const OVERRIDE; | 46 virtual WebSize contentsSize() const override; |
47 virtual bool hasVisibleContent() const OVERRIDE; | 47 virtual bool hasVisibleContent() const override; |
48 virtual WebRect visibleContentRect() const OVERRIDE; | 48 virtual WebRect visibleContentRect() const override; |
49 virtual bool hasHorizontalScrollbar() const OVERRIDE; | 49 virtual bool hasHorizontalScrollbar() const override; |
50 virtual bool hasVerticalScrollbar() const OVERRIDE; | 50 virtual bool hasVerticalScrollbar() const override; |
51 virtual WebView* view() const OVERRIDE; | 51 virtual WebView* view() const override; |
52 virtual void removeChild(WebFrame*) OVERRIDE; | 52 virtual void removeChild(WebFrame*) override; |
53 virtual WebDocument document() const OVERRIDE; | 53 virtual WebDocument document() const override; |
54 virtual WebPerformance performance() const OVERRIDE; | 54 virtual WebPerformance performance() const override; |
55 virtual bool dispatchBeforeUnloadEvent() OVERRIDE; | 55 virtual bool dispatchBeforeUnloadEvent() override; |
56 virtual void dispatchUnloadEvent() OVERRIDE; | 56 virtual void dispatchUnloadEvent() override; |
57 virtual NPObject* windowObject() const OVERRIDE; | 57 virtual NPObject* windowObject() const override; |
58 virtual void bindToWindowObject(const WebString& name, NPObject*) OVERRIDE; | 58 virtual void bindToWindowObject(const WebString& name, NPObject*) override; |
59 virtual void bindToWindowObject(const WebString& name, NPObject*, void*) OVE
RRIDE; | 59 virtual void bindToWindowObject(const WebString& name, NPObject*, void*) ove
rride; |
60 virtual void executeScript(const WebScriptSource&) OVERRIDE; | 60 virtual void executeScript(const WebScriptSource&) override; |
61 virtual void executeScriptInIsolatedWorld( | 61 virtual void executeScriptInIsolatedWorld( |
62 int worldID, const WebScriptSource* sources, unsigned numSources, | 62 int worldID, const WebScriptSource* sources, unsigned numSources, |
63 int extensionGroup) OVERRIDE; | 63 int extensionGroup) override; |
64 virtual void setIsolatedWorldSecurityOrigin(int worldID, const WebSecurityOr
igin&) OVERRIDE; | 64 virtual void setIsolatedWorldSecurityOrigin(int worldID, const WebSecurityOr
igin&) override; |
65 virtual void setIsolatedWorldContentSecurityPolicy(int worldID, const WebStr
ing&) OVERRIDE; | 65 virtual void setIsolatedWorldContentSecurityPolicy(int worldID, const WebStr
ing&) override; |
66 virtual void addMessageToConsole(const WebConsoleMessage&) OVERRIDE; | 66 virtual void addMessageToConsole(const WebConsoleMessage&) override; |
67 virtual void collectGarbage() OVERRIDE; | 67 virtual void collectGarbage() override; |
68 virtual bool checkIfRunInsecureContent(const WebURL&) const OVERRIDE; | 68 virtual bool checkIfRunInsecureContent(const WebURL&) const override; |
69 virtual v8::Handle<v8::Value> executeScriptAndReturnValue( | 69 virtual v8::Handle<v8::Value> executeScriptAndReturnValue( |
70 const WebScriptSource&) OVERRIDE; | 70 const WebScriptSource&) override; |
71 virtual void executeScriptInIsolatedWorld( | 71 virtual void executeScriptInIsolatedWorld( |
72 int worldID, const WebScriptSource* sourcesIn, unsigned numSources, | 72 int worldID, const WebScriptSource* sourcesIn, unsigned numSources, |
73 int extensionGroup, WebVector<v8::Local<v8::Value> >* results) OVERRIDE; | 73 int extensionGroup, WebVector<v8::Local<v8::Value> >* results) override; |
74 virtual v8::Handle<v8::Value> callFunctionEvenIfScriptDisabled( | 74 virtual v8::Handle<v8::Value> callFunctionEvenIfScriptDisabled( |
75 v8::Handle<v8::Function>, | 75 v8::Handle<v8::Function>, |
76 v8::Handle<v8::Value>, | 76 v8::Handle<v8::Value>, |
77 int argc, | 77 int argc, |
78 v8::Handle<v8::Value> argv[]) OVERRIDE; | 78 v8::Handle<v8::Value> argv[]) override; |
79 virtual v8::Local<v8::Context> mainWorldScriptContext() const OVERRIDE; | 79 virtual v8::Local<v8::Context> mainWorldScriptContext() const override; |
80 virtual void reload(bool ignoreCache) OVERRIDE; | 80 virtual void reload(bool ignoreCache) override; |
81 virtual void reloadWithOverrideURL(const WebURL& overrideUrl, bool ignoreCac
he) OVERRIDE; | 81 virtual void reloadWithOverrideURL(const WebURL& overrideUrl, bool ignoreCac
he) override; |
82 virtual void loadRequest(const WebURLRequest&) OVERRIDE; | 82 virtual void loadRequest(const WebURLRequest&) override; |
83 virtual void loadHistoryItem(const WebHistoryItem&, WebHistoryLoadType, WebU
RLRequest::CachePolicy) OVERRIDE; | 83 virtual void loadHistoryItem(const WebHistoryItem&, WebHistoryLoadType, WebU
RLRequest::CachePolicy) override; |
84 virtual void loadData( | 84 virtual void loadData( |
85 const WebData&, const WebString& mimeType, const WebString& textEncoding
, | 85 const WebData&, const WebString& mimeType, const WebString& textEncoding
, |
86 const WebURL& baseURL, const WebURL& unreachableURL, bool replace) OVERR
IDE; | 86 const WebURL& baseURL, const WebURL& unreachableURL, bool replace) overr
ide; |
87 virtual void loadHTMLString( | 87 virtual void loadHTMLString( |
88 const WebData& html, const WebURL& baseURL, const WebURL& unreachableURL
, | 88 const WebData& html, const WebURL& baseURL, const WebURL& unreachableURL
, |
89 bool replace) OVERRIDE; | 89 bool replace) override; |
90 virtual void stopLoading() OVERRIDE; | 90 virtual void stopLoading() override; |
91 virtual WebDataSource* provisionalDataSource() const OVERRIDE; | 91 virtual WebDataSource* provisionalDataSource() const override; |
92 virtual WebDataSource* dataSource() const OVERRIDE; | 92 virtual WebDataSource* dataSource() const override; |
93 virtual void enableViewSourceMode(bool enable) OVERRIDE; | 93 virtual void enableViewSourceMode(bool enable) override; |
94 virtual bool isViewSourceModeEnabled() const OVERRIDE; | 94 virtual bool isViewSourceModeEnabled() const override; |
95 virtual void setReferrerForRequest(WebURLRequest&, const WebURL& referrer) O
VERRIDE; | 95 virtual void setReferrerForRequest(WebURLRequest&, const WebURL& referrer) o
verride; |
96 virtual void dispatchWillSendRequest(WebURLRequest&) OVERRIDE; | 96 virtual void dispatchWillSendRequest(WebURLRequest&) override; |
97 virtual WebURLLoader* createAssociatedURLLoader(const WebURLLoaderOptions&)
OVERRIDE; | 97 virtual WebURLLoader* createAssociatedURLLoader(const WebURLLoaderOptions&)
override; |
98 virtual unsigned unloadListenerCount() const OVERRIDE; | 98 virtual unsigned unloadListenerCount() const override; |
99 virtual void replaceSelection(const WebString&) OVERRIDE; | 99 virtual void replaceSelection(const WebString&) override; |
100 virtual void insertText(const WebString&) OVERRIDE; | 100 virtual void insertText(const WebString&) override; |
101 virtual void setMarkedText(const WebString&, unsigned location, unsigned len
gth) OVERRIDE; | 101 virtual void setMarkedText(const WebString&, unsigned location, unsigned len
gth) override; |
102 virtual void unmarkText() OVERRIDE; | 102 virtual void unmarkText() override; |
103 virtual bool hasMarkedText() const OVERRIDE; | 103 virtual bool hasMarkedText() const override; |
104 virtual WebRange markedRange() const OVERRIDE; | 104 virtual WebRange markedRange() const override; |
105 virtual bool firstRectForCharacterRange(unsigned location, unsigned length,
WebRect&) const OVERRIDE; | 105 virtual bool firstRectForCharacterRange(unsigned location, unsigned length,
WebRect&) const override; |
106 virtual size_t characterIndexForPoint(const WebPoint&) const OVERRIDE; | 106 virtual size_t characterIndexForPoint(const WebPoint&) const override; |
107 virtual bool executeCommand(const WebString&, const WebNode& = WebNode()) OV
ERRIDE; | 107 virtual bool executeCommand(const WebString&, const WebNode& = WebNode()) ov
erride; |
108 virtual bool executeCommand(const WebString&, const WebString& value, const
WebNode& = WebNode()) OVERRIDE; | 108 virtual bool executeCommand(const WebString&, const WebString& value, const
WebNode& = WebNode()) override; |
109 virtual bool isCommandEnabled(const WebString&) const OVERRIDE; | 109 virtual bool isCommandEnabled(const WebString&) const override; |
110 virtual void enableContinuousSpellChecking(bool) OVERRIDE; | 110 virtual void enableContinuousSpellChecking(bool) override; |
111 virtual bool isContinuousSpellCheckingEnabled() const OVERRIDE; | 111 virtual bool isContinuousSpellCheckingEnabled() const override; |
112 virtual void requestTextChecking(const WebElement&) OVERRIDE; | 112 virtual void requestTextChecking(const WebElement&) override; |
113 virtual void replaceMisspelledRange(const WebString&) OVERRIDE; | 113 virtual void replaceMisspelledRange(const WebString&) override; |
114 virtual void removeSpellingMarkers() OVERRIDE; | 114 virtual void removeSpellingMarkers() override; |
115 virtual bool hasSelection() const OVERRIDE; | 115 virtual bool hasSelection() const override; |
116 virtual WebRange selectionRange() const OVERRIDE; | 116 virtual WebRange selectionRange() const override; |
117 virtual WebString selectionAsText() const OVERRIDE; | 117 virtual WebString selectionAsText() const override; |
118 virtual WebString selectionAsMarkup() const OVERRIDE; | 118 virtual WebString selectionAsMarkup() const override; |
119 virtual bool selectWordAroundCaret() OVERRIDE; | 119 virtual bool selectWordAroundCaret() override; |
120 virtual void selectRange(const WebPoint& base, const WebPoint& extent) OVERR
IDE; | 120 virtual void selectRange(const WebPoint& base, const WebPoint& extent) overr
ide; |
121 virtual void selectRange(const WebRange&) OVERRIDE; | 121 virtual void selectRange(const WebRange&) override; |
122 virtual void moveRangeSelection(const WebPoint& base, const WebPoint& extent
) OVERRIDE; | 122 virtual void moveRangeSelection(const WebPoint& base, const WebPoint& extent
) override; |
123 virtual void moveCaretSelection(const WebPoint&) OVERRIDE; | 123 virtual void moveCaretSelection(const WebPoint&) override; |
124 virtual bool setEditableSelectionOffsets(int start, int end) OVERRIDE; | 124 virtual bool setEditableSelectionOffsets(int start, int end) override; |
125 virtual bool setCompositionFromExistingText(int compositionStart, int compos
itionEnd, const WebVector<WebCompositionUnderline>& underlines) OVERRIDE; | 125 virtual bool setCompositionFromExistingText(int compositionStart, int compos
itionEnd, const WebVector<WebCompositionUnderline>& underlines) override; |
126 virtual void extendSelectionAndDelete(int before, int after) OVERRIDE; | 126 virtual void extendSelectionAndDelete(int before, int after) override; |
127 virtual void setCaretVisible(bool) OVERRIDE; | 127 virtual void setCaretVisible(bool) override; |
128 virtual int printBegin(const WebPrintParams&, const WebNode& constrainToNode
) OVERRIDE; | 128 virtual int printBegin(const WebPrintParams&, const WebNode& constrainToNode
) override; |
129 virtual float printPage(int pageToPrint, WebCanvas*) OVERRIDE; | 129 virtual float printPage(int pageToPrint, WebCanvas*) override; |
130 virtual float getPrintPageShrink(int page) OVERRIDE; | 130 virtual float getPrintPageShrink(int page) override; |
131 virtual void printEnd() OVERRIDE; | 131 virtual void printEnd() override; |
132 virtual bool isPrintScalingDisabledForPlugin(const WebNode&) OVERRIDE; | 132 virtual bool isPrintScalingDisabledForPlugin(const WebNode&) override; |
133 virtual int getPrintCopiesForPlugin(const WebNode&) OVERRIDE; | 133 virtual int getPrintCopiesForPlugin(const WebNode&) override; |
134 virtual bool hasCustomPageSizeStyle(int pageIndex) OVERRIDE; | 134 virtual bool hasCustomPageSizeStyle(int pageIndex) override; |
135 virtual bool isPageBoxVisible(int pageIndex) OVERRIDE; | 135 virtual bool isPageBoxVisible(int pageIndex) override; |
136 virtual void pageSizeAndMarginsInPixels( | 136 virtual void pageSizeAndMarginsInPixels( |
137 int pageIndex, | 137 int pageIndex, |
138 WebSize& pageSize, | 138 WebSize& pageSize, |
139 int& marginTop, | 139 int& marginTop, |
140 int& marginRight, | 140 int& marginRight, |
141 int& marginBottom, | 141 int& marginBottom, |
142 int& marginLeft) OVERRIDE; | 142 int& marginLeft) override; |
143 virtual WebString pageProperty(const WebString& propertyName, int pageIndex)
OVERRIDE; | 143 virtual WebString pageProperty(const WebString& propertyName, int pageIndex)
override; |
144 virtual void printPagesWithBoundaries(WebCanvas*, const WebSize&) OVERRIDE; | 144 virtual void printPagesWithBoundaries(WebCanvas*, const WebSize&) override; |
145 virtual bool find( | 145 virtual bool find( |
146 int identifier, const WebString& searchText, const WebFindOptions&, | 146 int identifier, const WebString& searchText, const WebFindOptions&, |
147 bool wrapWithinFrame, WebRect* selectionRect) OVERRIDE; | 147 bool wrapWithinFrame, WebRect* selectionRect) override; |
148 virtual void stopFinding(bool clearSelection) OVERRIDE; | 148 virtual void stopFinding(bool clearSelection) override; |
149 virtual void scopeStringMatches( | 149 virtual void scopeStringMatches( |
150 int identifier, const WebString& searchText, const WebFindOptions&, | 150 int identifier, const WebString& searchText, const WebFindOptions&, |
151 bool reset) OVERRIDE; | 151 bool reset) override; |
152 virtual void cancelPendingScopingEffort() OVERRIDE; | 152 virtual void cancelPendingScopingEffort() override; |
153 virtual void increaseMatchCount(int count, int identifier) OVERRIDE; | 153 virtual void increaseMatchCount(int count, int identifier) override; |
154 virtual void resetMatchCount() OVERRIDE; | 154 virtual void resetMatchCount() override; |
155 virtual int findMatchMarkersVersion() const OVERRIDE; | 155 virtual int findMatchMarkersVersion() const override; |
156 virtual WebFloatRect activeFindMatchRect() OVERRIDE; | 156 virtual WebFloatRect activeFindMatchRect() override; |
157 virtual void findMatchRects(WebVector<WebFloatRect>&) OVERRIDE; | 157 virtual void findMatchRects(WebVector<WebFloatRect>&) override; |
158 virtual int selectNearestFindMatch(const WebFloatPoint&, WebRect* selectionR
ect) OVERRIDE; | 158 virtual int selectNearestFindMatch(const WebFloatPoint&, WebRect* selectionR
ect) override; |
159 virtual void setTickmarks(const WebVector<WebRect>&) OVERRIDE; | 159 virtual void setTickmarks(const WebVector<WebRect>&) override; |
160 virtual void dispatchMessageEventWithOriginCheck( | 160 virtual void dispatchMessageEventWithOriginCheck( |
161 const WebSecurityOrigin& intendedTargetOrigin, | 161 const WebSecurityOrigin& intendedTargetOrigin, |
162 const WebDOMEvent&) OVERRIDE; | 162 const WebDOMEvent&) override; |
163 | 163 |
164 virtual WebString contentAsText(size_t maxChars) const OVERRIDE; | 164 virtual WebString contentAsText(size_t maxChars) const override; |
165 virtual WebString contentAsMarkup() const OVERRIDE; | 165 virtual WebString contentAsMarkup() const override; |
166 virtual WebString renderTreeAsText(RenderAsTextControls toShow = RenderAsTex
tNormal) const OVERRIDE; | 166 virtual WebString renderTreeAsText(RenderAsTextControls toShow = RenderAsTex
tNormal) const override; |
167 virtual WebString markerTextForListItem(const WebElement&) const OVERRIDE; | 167 virtual WebString markerTextForListItem(const WebElement&) const override; |
168 virtual WebRect selectionBoundsRect() const OVERRIDE; | 168 virtual WebRect selectionBoundsRect() const override; |
169 | 169 |
170 virtual bool selectionStartHasSpellingMarkerFor(int from, int length) const
OVERRIDE; | 170 virtual bool selectionStartHasSpellingMarkerFor(int from, int length) const
override; |
171 virtual WebString layerTreeAsText(bool showDebugInfo = false) const OVERRIDE
; | 171 virtual WebString layerTreeAsText(bool showDebugInfo = false) const override
; |
172 | 172 |
173 virtual WebLocalFrame* createLocalChild(const WebString& name, WebFrameClien
t*) OVERRIDE; | 173 virtual WebLocalFrame* createLocalChild(const WebString& name, WebFrameClien
t*) override; |
174 virtual WebRemoteFrame* createRemoteChild(const WebString& name, WebRemoteFr
ameClient*) OVERRIDE; | 174 virtual WebRemoteFrame* createRemoteChild(const WebString& name, WebRemoteFr
ameClient*) override; |
175 | 175 |
176 void initializeCoreFrame(FrameHost*, FrameOwner*, const AtomicString& name); | 176 void initializeCoreFrame(FrameHost*, FrameOwner*, const AtomicString& name); |
177 | 177 |
178 void setCoreFrame(PassRefPtrWillBeRawPtr<RemoteFrame>); | 178 void setCoreFrame(PassRefPtrWillBeRawPtr<RemoteFrame>); |
179 RemoteFrame* frame() const { return m_frame.get(); } | 179 RemoteFrame* frame() const { return m_frame.get(); } |
180 | 180 |
181 WebRemoteFrameClient* client() const { return m_client; } | 181 WebRemoteFrameClient* client() const { return m_client; } |
182 | 182 |
183 static WebRemoteFrameImpl* fromFrame(RemoteFrame&); | 183 static WebRemoteFrameImpl* fromFrame(RemoteFrame&); |
184 | 184 |
185 virtual void initializeFromFrame(WebLocalFrame*) const OVERRIDE; | 185 virtual void initializeFromFrame(WebLocalFrame*) const override; |
186 | 186 |
187 #if ENABLE(OILPAN) | 187 #if ENABLE(OILPAN) |
188 void trace(Visitor*); | 188 void trace(Visitor*); |
189 #endif | 189 #endif |
190 | 190 |
191 private: | 191 private: |
192 RemoteFrameClientImpl m_frameClient; | 192 RemoteFrameClientImpl m_frameClient; |
193 RefPtrWillBeMember<RemoteFrame> m_frame; | 193 RefPtrWillBeMember<RemoteFrame> m_frame; |
194 WebRemoteFrameClient* m_client; | 194 WebRemoteFrameClient* m_client; |
195 | 195 |
196 WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner> > m_ownersForChi
ldren; | 196 WillBeHeapHashMap<WebFrame*, OwnPtrWillBeMember<FrameOwner> > m_ownersForChi
ldren; |
197 | 197 |
198 #if ENABLE(OILPAN) | 198 #if ENABLE(OILPAN) |
199 // Oilpan: to provide the guarantee of having the frame live until | 199 // Oilpan: to provide the guarantee of having the frame live until |
200 // close() is called, an instance keep a self-persistent. It is | 200 // close() is called, an instance keep a self-persistent. It is |
201 // cleared upon calling close(). This avoids having to assume that | 201 // cleared upon calling close(). This avoids having to assume that |
202 // an embedder's WebFrame references are all discovered via thread | 202 // an embedder's WebFrame references are all discovered via thread |
203 // state (stack, registers) should an Oilpan GC strike while we're | 203 // state (stack, registers) should an Oilpan GC strike while we're |
204 // in the process of detaching. | 204 // in the process of detaching. |
205 GC_PLUGIN_IGNORE("340522") | 205 GC_PLUGIN_IGNORE("340522") |
206 Persistent<WebRemoteFrameImpl> m_selfKeepAlive; | 206 Persistent<WebRemoteFrameImpl> m_selfKeepAlive; |
207 #endif | 207 #endif |
208 }; | 208 }; |
209 | 209 |
210 DEFINE_TYPE_CASTS(WebRemoteFrameImpl, WebFrame, frame, frame->isWebRemoteFrame()
, frame.isWebRemoteFrame()); | 210 DEFINE_TYPE_CASTS(WebRemoteFrameImpl, WebFrame, frame, frame->isWebRemoteFrame()
, frame.isWebRemoteFrame()); |
211 | 211 |
212 } // namespace blink | 212 } // namespace blink |
213 | 213 |
214 #endif // WebRemoteFrameImpl_h | 214 #endif // WebRemoteFrameImpl_h |
OLD | NEW |