mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 08:18:41 +09:00
Bug 1426494 - Share more code between nsIDocument and ShadowRoot
Tag #1375
This commit is contained in:
parent
15f6d2efda
commit
db72493615
23 changed files with 369 additions and 335 deletions
|
|
@ -300,9 +300,24 @@ GetHttpChannelHelper(nsIChannel* aChannel, nsIHttpChannel** aHttpChannel)
|
|||
|
||||
#define NAME_NOT_VALID ((nsSimpleContentList*)1)
|
||||
|
||||
nsIdentifierMapEntry::nsIdentifierMapEntry(const nsIdentifierMapEntry::AtomOrString& aKey)
|
||||
: mKey(aKey)
|
||||
{}
|
||||
|
||||
nsIdentifierMapEntry::nsIdentifierMapEntry(const nsIdentifierMapEntry::AtomOrString* aKey)
|
||||
: mKey(aKey ? *aKey : nullptr)
|
||||
{}
|
||||
|
||||
nsIdentifierMapEntry::~nsIdentifierMapEntry()
|
||||
{
|
||||
}
|
||||
{}
|
||||
|
||||
nsIdentifierMapEntry::nsIdentifierMapEntry(nsIdentifierMapEntry&& aOther)
|
||||
: mKey(mozilla::Move(aOther.mKey))
|
||||
, mIdContentList(mozilla::Move(aOther.mIdContentList))
|
||||
, mNameContentList(mozilla::Move(aOther.mNameContentList))
|
||||
, mChangeCallbacks(mozilla::Move(aOther.mChangeCallbacks))
|
||||
, mImageElement(mozilla::Move(aOther.mImageElement))
|
||||
{}
|
||||
|
||||
void
|
||||
nsIdentifierMapEntry::Traverse(nsCycleCollectionTraversalCallback* aCallback)
|
||||
|
|
@ -326,6 +341,12 @@ nsIdentifierMapEntry::IsEmpty()
|
|||
!mChangeCallbacks && !mImageElement;
|
||||
}
|
||||
|
||||
bool
|
||||
nsIdentifierMapEntry::HasNameElement() const
|
||||
{
|
||||
return mNameContentList && mNameContentList->Length() != 0;
|
||||
}
|
||||
|
||||
Element*
|
||||
nsIdentifierMapEntry::GetIdElement()
|
||||
{
|
||||
|
|
@ -1226,6 +1247,7 @@ static already_AddRefed<mozilla::dom::NodeInfo> nullNodeInfo;
|
|||
// ==================================================================
|
||||
nsIDocument::nsIDocument()
|
||||
: nsINode(nullNodeInfo),
|
||||
DocumentOrShadowRoot(this),
|
||||
mReferrerPolicySet(false),
|
||||
mReferrerPolicy(mozilla::net::RP_Default),
|
||||
mBlockAllMixedContent(false),
|
||||
|
|
@ -3234,12 +3256,6 @@ nsDocument::GetElementsByClassName(const nsAString& aClasses,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
already_AddRefed<nsContentList>
|
||||
nsIDocument::GetElementsByClassName(const nsAString& aClasses)
|
||||
{
|
||||
return nsContentUtils::GetElementsByClassName(this, aClasses);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::ReleaseCapture()
|
||||
{
|
||||
|
|
@ -4729,32 +4745,7 @@ nsDocument::BeginLoad()
|
|||
void
|
||||
nsDocument::ReportEmptyGetElementByIdArg()
|
||||
{
|
||||
nsContentUtils::ReportToConsole(nsIScriptError::warningFlag,
|
||||
NS_LITERAL_CSTRING("DOM"), this,
|
||||
nsContentUtils::eDOM_PROPERTIES,
|
||||
"EmptyGetElementByIdParam");
|
||||
}
|
||||
|
||||
Element*
|
||||
nsDocument::GetElementById(const nsAString& aElementId)
|
||||
{
|
||||
if (!CheckGetElementByIdArg(aElementId)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
nsIdentifierMapEntry *entry = mIdentifierMap.GetEntry(aElementId);
|
||||
return entry ? entry->GetIdElement() : nullptr;
|
||||
}
|
||||
|
||||
const nsTArray<Element*>*
|
||||
nsDocument::GetAllElementsForId(const nsAString& aElementId) const
|
||||
{
|
||||
if (aElementId.IsEmpty()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
nsIdentifierMapEntry *entry = mIdentifierMap.GetEntry(aElementId);
|
||||
return entry ? &entry->GetIdElements() : nullptr;
|
||||
nsContentUtils::ReportEmptyGetElementByIdArg(this);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
@ -5646,27 +5637,6 @@ nsDocument::BlockedTrackingNodes() const
|
|||
return list.forget();
|
||||
}
|
||||
|
||||
already_AddRefed<nsContentList>
|
||||
nsIDocument::GetElementsByTagNameNS(const nsAString& aNamespaceURI,
|
||||
const nsAString& aLocalName,
|
||||
ErrorResult& aResult)
|
||||
{
|
||||
int32_t nameSpaceId = kNameSpaceID_Wildcard;
|
||||
|
||||
if (!aNamespaceURI.EqualsLiteral("*")) {
|
||||
aResult =
|
||||
nsContentUtils::NameSpaceManager()->RegisterNameSpace(aNamespaceURI,
|
||||
nameSpaceId);
|
||||
if (aResult.Failed()) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
NS_ASSERTION(nameSpaceId != kNameSpaceID_Unknown, "Unexpected namespace ID!");
|
||||
|
||||
return NS_GetContentList(this, nameSpaceId, aLocalName);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocument::GetElementsByTagNameNS(const nsAString& aNamespaceURI,
|
||||
const nsAString& aLocalName,
|
||||
|
|
@ -5674,7 +5644,7 @@ nsDocument::GetElementsByTagNameNS(const nsAString& aNamespaceURI,
|
|||
{
|
||||
ErrorResult rv;
|
||||
RefPtr<nsContentList> list =
|
||||
nsIDocument::GetElementsByTagNameNS(aNamespaceURI, aLocalName, rv);
|
||||
GetElementsByTagNameNS(aNamespaceURI, aLocalName, rv);
|
||||
if (rv.Failed()) {
|
||||
return rv.StealNSResult();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue