зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 18ff1472dae9 (bug 1312742) for not updating the expected results of wpt test /html/dom/reflection-embedded.html and more. r=backout
This commit is contained in:
Родитель
87a5bde3a6
Коммит
e78e4865d7
|
@ -347,11 +347,10 @@ HTMLAnchorElement::ToString(nsAString& aSource)
|
||||||
return GetHref(aSource);
|
return GetHref(aSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
HTMLAnchorElement::GetPing(nsAString& aValue)
|
HTMLAnchorElement::GetPing(nsAString& aValue)
|
||||||
{
|
{
|
||||||
GetAttr(kNameSpaceID_None, nsGkAtoms::ping, aValue);
|
return GetURIListAttr(nsGkAtoms::ping, aValue);
|
||||||
return NS_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
|
|
|
@ -221,11 +221,10 @@ HTMLAreaElement::ToString(nsAString& aSource)
|
||||||
return GetHref(aSource);
|
return GetHref(aSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
HTMLAreaElement::GetPing(nsAString& aValue)
|
HTMLAreaElement::GetPing(nsAString& aValue)
|
||||||
{
|
{
|
||||||
GetAttr(kNameSpaceID_None, nsGkAtoms::ping, aValue);
|
return GetURIListAttr(nsGkAtoms::ping, aValue);
|
||||||
return NS_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
|
|
|
@ -1679,6 +1679,68 @@ nsGenericHTMLElement::IsScrollGrabAllowed(JSContext*, JSObject*)
|
||||||
return nsContentUtils::IsSystemPrincipal(prin);
|
return nsContentUtils::IsSystemPrincipal(prin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
nsGenericHTMLElement::GetURIListAttr(nsIAtom* aAttr, nsAString& aResult)
|
||||||
|
{
|
||||||
|
aResult.Truncate();
|
||||||
|
|
||||||
|
nsAutoString value;
|
||||||
|
if (!GetAttr(kNameSpaceID_None, aAttr, value))
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
|
nsIDocument* doc = OwnerDoc();
|
||||||
|
nsCOMPtr<nsIURI> baseURI = GetBaseURI();
|
||||||
|
|
||||||
|
nsString::const_iterator end;
|
||||||
|
value.EndReading(end);
|
||||||
|
|
||||||
|
nsAString::const_iterator iter;
|
||||||
|
value.BeginReading(iter);
|
||||||
|
|
||||||
|
while (iter != end) {
|
||||||
|
while (*iter == ' ' && iter != end) {
|
||||||
|
++iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iter == end) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsAString::const_iterator start = iter;
|
||||||
|
|
||||||
|
while (iter != end && *iter != ' ') {
|
||||||
|
++iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!aResult.IsEmpty()) {
|
||||||
|
aResult.Append(NS_LITERAL_STRING(" "));
|
||||||
|
}
|
||||||
|
|
||||||
|
const nsSubstring& uriPart = Substring(start, iter);
|
||||||
|
nsCOMPtr<nsIURI> attrURI;
|
||||||
|
nsresult rv =
|
||||||
|
nsContentUtils::NewURIWithDocumentCharset(getter_AddRefs(attrURI),
|
||||||
|
uriPart, doc, baseURI);
|
||||||
|
if (NS_FAILED(rv)) {
|
||||||
|
aResult.Append(uriPart);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
MOZ_ASSERT(attrURI);
|
||||||
|
|
||||||
|
nsAutoCString spec;
|
||||||
|
rv = attrURI->GetSpec(spec);
|
||||||
|
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||||
|
aResult.Append(uriPart);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
AppendUTF8toUTF16(spec, aResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
HTMLMenuElement*
|
HTMLMenuElement*
|
||||||
nsGenericHTMLElement::GetContextMenu() const
|
nsGenericHTMLElement::GetContextMenu() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -1062,6 +1062,20 @@ protected:
|
||||||
SetHTMLAttr(aAttr, value, aRv);
|
SetHTMLAttr(aAttr, value, aRv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method works like GetURIAttr, except that it supports multiple
|
||||||
|
* URIs separated by whitespace (one or more U+0020 SPACE characters).
|
||||||
|
*
|
||||||
|
* Gets the absolute URI values of an attribute, by resolving any relative
|
||||||
|
* URIs in the attribute against the baseuri of the element. If a substring
|
||||||
|
* isn't a relative URI, the substring is returned as is. Only works for
|
||||||
|
* attributes in null namespace.
|
||||||
|
*
|
||||||
|
* @param aAttr name of attribute.
|
||||||
|
* @param aResult result value [out]
|
||||||
|
*/
|
||||||
|
nsresult GetURIListAttr(nsIAtom* aAttr, nsAString& aResult);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Locates the nsIEditor associated with this node. In general this is
|
* Locates the nsIEditor associated with this node. In general this is
|
||||||
* equivalent to GetEditorInternal(), but for designmode or contenteditable,
|
* equivalent to GetEditorInternal(), but for designmode or contenteditable,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче