Chromium Code Reviews| Index: Source/core/inspector/InspectorPageAgent.cpp |
| diff --git a/Source/core/inspector/InspectorPageAgent.cpp b/Source/core/inspector/InspectorPageAgent.cpp |
| index 026838747d05f44f296b7a9e5ae92a9bf9d14b86..5f91595cc820f53975d67529030ca0f305633d5b 100644 |
| --- a/Source/core/inspector/InspectorPageAgent.cpp |
| +++ b/Source/core/inspector/InspectorPageAgent.cpp |
| @@ -589,9 +589,11 @@ void InspectorPageAgent::getCookies(ErrorString*, RefPtr<TypeBuilder::Array<Type |
| { |
| ListHashSet<Cookie> rawCookiesList; |
| - for (LocalFrame* frame = mainFrame(); frame; frame = frame->tree().traverseNext(mainFrame())) { |
| - Document* document = frame->document(); |
| - Vector<KURL> allURLs = allResourcesURLsForFrame(frame); |
| + for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext(mainFrame())) { |
| + if (!frame->isLocalFrame()) |
| + continue; |
| + Document* document = toLocalFrame(frame)->document(); |
| + Vector<KURL> allURLs = allResourcesURLsForFrame(toLocalFrame(frame)); |
| for (Vector<KURL>::const_iterator it = allURLs.begin(); it != allURLs.end(); ++it) { |
| Vector<Cookie> docCookiesList; |
| getRawCookies(document, *it, docCookiesList); |
| @@ -609,8 +611,10 @@ void InspectorPageAgent::getCookies(ErrorString*, RefPtr<TypeBuilder::Array<Type |
| void InspectorPageAgent::deleteCookie(ErrorString*, const String& cookieName, const String& url) |
| { |
| KURL parsedURL(ParsedURLString, url); |
| - for (LocalFrame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext(m_page->mainFrame())) |
| - WebCore::deleteCookie(frame->document(), parsedURL, cookieName); |
| + for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext(m_page->mainFrame())) { |
| + if (frame->isLocalFrame()) |
| + WebCore::deleteCookie(toLocalFrame(frame)->document(), parsedURL, cookieName); |
| + } |
| } |
| void InspectorPageAgent::getResourceTree(ErrorString*, RefPtr<TypeBuilder::Page::FrameResourceTree>& object) |
| @@ -873,7 +877,10 @@ void InspectorPageAgent::didCommitLoad(LocalFrame*, DocumentLoader* loader) |
| void InspectorPageAgent::frameAttachedToParent(LocalFrame* frame) |
| { |
| - m_frontend->frameAttached(frameId(frame), frameId(frame->tree().parent())); |
| + LocalFrame* parentFrame = 0; |
| + if (frame->tree().parent() && frame->tree().parent()->isLocalFrame()) |
|
yurys
2014/06/02 07:56:27
Please extract frame->tree().parent() into a varia
kenrb
2014/06/02 15:20:48
Done.
|
| + parentFrame = frame->tree().parent(); |
| + m_frontend->frameAttached(frameId(frame), frameId(parentFrame)); |
| } |
| void InspectorPageAgent::frameDetachedFromParent(LocalFrame* frame) |
| @@ -928,10 +935,13 @@ String InspectorPageAgent::loaderId(DocumentLoader* loader) |
| LocalFrame* InspectorPageAgent::findFrameWithSecurityOrigin(const String& originRawString) |
| { |
| - for (LocalFrame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
| - RefPtr<SecurityOrigin> documentOrigin = frame->document()->securityOrigin(); |
| + for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traverseNext()) { |
| + // FIXME: RemoteFrame security origins are not yet available. |
| + if (!frame->isLocalFrame()) |
| + continue; |
| + RefPtr<SecurityOrigin> documentOrigin = toLocalFrame(frame)->document()->securityOrigin(); |
| if (documentOrigin->toRawString() == originRawString) |
| - return frame; |
| + return toLocalFrame(frame); |
| } |
| return 0; |
| } |
| @@ -1076,7 +1086,7 @@ PassRefPtr<TypeBuilder::Page::Frame> InspectorPageAgent::buildObjectForFrame(Loc |
| .setUrl(urlWithoutFragment(frame->document()->url()).string()) |
| .setMimeType(frame->loader().documentLoader()->responseMIMEType()) |
| .setSecurityOrigin(frame->document()->securityOrigin()->toRawString()); |
| - if (frame->tree().parent()) |
| + if (frame->tree().parent() && frame->tree().parent()->isLocalFrame()) |
|
yurys
2014/06/02 07:56:27
Ditto.
kenrb
2014/06/02 15:20:48
Done.
|
| frameObject->setParentId(frameId(frame->tree().parent())); |
| if (frame->ownerElement()) { |
| AtomicString name = frame->ownerElement()->getNameAttribute(); |
| @@ -1122,12 +1132,14 @@ PassRefPtr<TypeBuilder::Page::FrameResourceTree> InspectorPageAgent::buildObject |
| } |
| RefPtr<TypeBuilder::Array<TypeBuilder::Page::FrameResourceTree> > childrenArray; |
| - for (LocalFrame* child = frame->tree().firstChild(); child; child = child->tree().nextSibling()) { |
| + for (Frame* child = frame->tree().firstChild(); child; child = child->tree().nextSibling()) { |
| + if (!child->isLocalFrame()) |
| + continue; |
| if (!childrenArray) { |
| childrenArray = TypeBuilder::Array<TypeBuilder::Page::FrameResourceTree>::create(); |
| result->setChildFrames(childrenArray); |
| } |
| - childrenArray->addItem(buildObjectForFrameTree(child)); |
| + childrenArray->addItem(buildObjectForFrameTree(toLocalFrame(child))); |
| } |
| return result; |
| } |