// We don't use m_url, as it may not be the final URL that the object loads, // depending on <param> values. bool HTMLPlugInImageElement::allowedToLoadFrameURL(const String& url) { ASSERT(document()); ASSERT(document()->frame()); if (document()->frame()->page()->frameCount() >= Page::maxNumberOfFrames) return false; KURL completeURL = document()->completeURL(url); if (contentFrame() && protocolIsJavaScript(completeURL) && !document()->securityOrigin()->canAccess(contentDocument()->securityOrigin())) return false; // We allow one level of self-reference because some sites depend on that. // But we don't allow more than one. bool foundSelfReference = false; for (Frame* frame = document()->frame(); frame; frame = frame->tree()->parent()) { if (equalIgnoringFragmentIdentifier(frame->document()->url(), completeURL)) { if (foundSelfReference) return false; foundSelfReference = true; } } return true; }
// We don't use m_url, as it may not be the final URL that the object loads, // depending on <param> values. bool HTMLPlugInElement::allowedToLoadFrameURL(const String& url) { KURL completeURL = document().completeURL(url); if (contentFrame() && protocolIsJavaScript(completeURL) && !document().securityOrigin()->canAccess(contentDocument()->securityOrigin())) return false; return document().frame()->isURLAllowed(completeURL); }
SVGDocument* HTMLFrameOwnerElement::getSVGDocument(ExceptionState& es) const { Document* doc = contentDocument(); if (doc && doc->isSVGDocument()) return toSVGDocument(doc); // Spec: http://www.w3.org/TR/SVG/struct.html#InterfaceGetSVGDocument es.throwUninformativeAndGenericDOMException(NotSupportedError); return 0; }
SVGDocument* HTMLFrameOwnerElement::getSVGDocument(ExceptionCode& ec) const { Document* doc = contentDocument(); if (doc && doc->isSVGDocument()) return static_cast<SVGDocument*>(doc); // Spec: http://www.w3.org/TR/SVG/struct.html#InterfaceGetSVGDocument ec = NOT_SUPPORTED_ERR; return 0; }
SVGDocument* HTMLFrameOwnerElement::getSVGDocument(ExceptionCode& ec) const { Document* document = contentDocument(); if (is<SVGDocument>(document)) return downcast<SVGDocument>(document); // Spec: http://www.w3.org/TR/SVG/struct.html#InterfaceGetSVGDocument ec = NOT_SUPPORTED_ERR; return nullptr; }