HTML - picture - does not react to resize/viewport changes

This commit is contained in:
janekptacijarabaci
2017-06-22 09:02:59 +02:00
committed by Roy Tam
parent 31b8d02645
commit b89f31cabd
10 changed files with 187 additions and 37 deletions
+32
View File
@@ -10547,6 +10547,38 @@ nsDocument::GetPlugins(nsTArray<nsIObjectLoadingContent*>& aPlugins)
EnumerateSubDocuments(AllSubDocumentPluginEnum, &aPlugins);
}
nsresult
nsDocument::AddResponsiveContent(nsIContent* aContent)
{
MOZ_ASSERT(aContent);
MOZ_ASSERT(aContent->IsHTML(nsGkAtoms::img));
mResponsiveContent.PutEntry(aContent);
return NS_OK;
}
void
nsDocument::RemoveResponsiveContent(nsIContent* aContent)
{
MOZ_ASSERT(aContent);
mResponsiveContent.RemoveEntry(aContent);
}
static PLDHashOperator
NotifyMediaFeatureEnum(nsPtrHashKey<nsIContent>* aContent, void* userArg)
{
nsCOMPtr<nsIContent> content = aContent->GetKey();
if (content->IsHTML(nsGkAtoms::img)) {
static_cast<HTMLImageElement*>(content.get())->MediaFeatureValuesChanged();
}
return PL_DHASH_NEXT;
}
void
nsDocument::NotifyMediaFeatureValuesChanged()
{
mResponsiveContent.EnumerateEntries(NotifyMediaFeatureEnum, nullptr);
}
PLDHashOperator LockEnumerator(imgIRequest* aKey,
uint32_t aData,
void* userArg)