PassRefPtr<InspectorObject> InspectorPageAgent::buildObjectForFrame(Frame* frame) { RefPtr<InspectorObject> frameObject = InspectorObject::create(); frameObject->setString("id", frameId(frame)); if (frame->tree()->parent()) frameObject->setString("parentId", frameId(frame->tree()->parent())); if (frame->ownerElement()) { String name = frame->ownerElement()->getAttribute(HTMLNames::nameAttr); if (name.isEmpty()) name = frame->ownerElement()->getAttribute(HTMLNames::idAttr); frameObject->setString("name", name); } frameObject->setString("url", frame->document()->url().string()); frameObject->setString("loaderId", loaderId(frame->loader()->documentLoader())); return frameObject; }
PassRefPtr<TypeBuilder::Page::Frame> InspectorPageAgent::buildObjectForFrame(LocalFrame* frame) { RefPtr<TypeBuilder::Page::Frame> frameObject = TypeBuilder::Page::Frame::create() .setId(frameId(frame)) .setLoaderId(loaderId(frame->loader().documentLoader())) .setUrl(urlWithoutFragment(frame->document()->url()).string()) .setMimeType(frame->loader().documentLoader()->responseMIMEType()) .setSecurityOrigin(frame->document()->securityOrigin()->toRawString()); // FIXME: This doesn't work for OOPI. Frame* parentFrame = frame->tree().parent(); if (parentFrame && parentFrame->isLocalFrame()) frameObject->setParentId(frameId(toLocalFrame(parentFrame))); if (frame->deprecatedLocalOwner()) { AtomicString name = frame->deprecatedLocalOwner()->getNameAttribute(); if (name.isEmpty()) name = frame->deprecatedLocalOwner()->getAttribute(HTMLNames::idAttr); frameObject->setName(name); } return frameObject; }
void InspectorPageAgent::frameNavigated(DocumentLoader* loader) { m_frontend->frameNavigated(buildObjectForFrame(loader->frame()), loaderId(loader)); }