Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index 51c45460b378c2f15239fceba6f3b17969307127..f898592623922f2590c45cf466a97f077760f89a 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -2488,11 +2488,14 @@ WebFrame* WebViewImpl::mainFrame() |
WebFrame* WebViewImpl::findFrameByName( |
const WebString& name, WebFrame* relativeToFrame) |
{ |
+ // FIXME: Either this should only deal with WebLocalFrames or it should move to WebFrame. |
if (!relativeToFrame) |
relativeToFrame = mainFrame(); |
- LocalFrame* frame = toWebLocalFrameImpl(relativeToFrame)->frame(); |
+ Frame* frame = toWebLocalFrameImpl(relativeToFrame)->frame(); |
frame = frame->tree().find(name); |
- return WebLocalFrameImpl::fromFrame(frame); |
+ if (!frame->isLocalFrame()) |
+ return 0; |
+ return WebLocalFrameImpl::fromFrame(toLocalFrame(frame)); |
} |
WebFrame* WebViewImpl::focusedFrame() |
@@ -3280,8 +3283,10 @@ void WebViewImpl::dragTargetDrop(const WebPoint& clientPoint, |
void WebViewImpl::spellingMarkers(WebVector<uint32_t>* markers) |
{ |
Vector<uint32_t> result; |
- for (LocalFrame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
- const WillBeHeapVector<DocumentMarker*>& documentMarkers = frame->document()->markers().markers(); |
+ for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
+ if (!frame->isLocalFrame()) |
+ continue; |
+ const WillBeHeapVector<DocumentMarker*>& documentMarkers = toLocalFrame(frame)->document()->markers().markers(); |
for (size_t i = 0; i < documentMarkers.size(); ++i) |
result.append(documentMarkers[i]->hash()); |
} |
@@ -3479,9 +3484,10 @@ void WebViewImpl::hidePopups() |
void WebViewImpl::setIsTransparent(bool isTransparent) |
{ |
// Set any existing frames to be transparent. |
- LocalFrame* frame = m_page->mainFrame(); |
+ Frame* frame = m_page->mainFrame(); |
while (frame) { |
- frame->view()->setTransparent(isTransparent); |
+ if (frame->isLocalFrame()) |
+ toLocalFrame(frame)->view()->setTransparent(isTransparent); |
frame = frame->tree().traverseNext(); |
} |