diff --git a/content/html/content/src/HTMLImageElement.cpp b/content/html/content/src/HTMLImageElement.cpp
index 5a87e5c3a364..702a7ec938b2 100644
--- a/content/html/content/src/HTMLImageElement.cpp
+++ b/content/html/content/src/HTMLImageElement.cpp
@@ -87,6 +87,7 @@ NS_IMPL_STRING_ATTR(HTMLImageElement, Border, border)
NS_IMPL_INT_ATTR(HTMLImageElement, Hspace, hspace)
NS_IMPL_BOOL_ATTR(HTMLImageElement, IsMap, ismap)
NS_IMPL_URI_ATTR(HTMLImageElement, LongDesc, longdesc)
+NS_IMPL_STRING_ATTR(HTMLImageElement, Sizes, sizes)
NS_IMPL_STRING_ATTR(HTMLImageElement, Lowsrc, lowsrc)
NS_IMPL_URI_ATTR(HTMLImageElement, Src, src)
NS_IMPL_STRING_ATTR(HTMLImageElement, Srcset, srcset)
diff --git a/content/html/content/src/HTMLImageElement.h b/content/html/content/src/HTMLImageElement.h
index be76e34fb7f2..1fa0558cc98d 100644
--- a/content/html/content/src/HTMLImageElement.h
+++ b/content/html/content/src/HTMLImageElement.h
@@ -159,6 +159,10 @@ public:
{
SetHTMLAttr(nsGkAtoms::longdesc, aLongDesc, aError);
}
+ void SetSizes(const nsAString& aSizes, ErrorResult& aError)
+ {
+ SetHTMLAttr(nsGkAtoms::sizes, aSizes, aError);
+ }
void SetBorder(const nsAString& aBorder, ErrorResult& aError)
{
SetHTMLAttr(nsGkAtoms::border, aBorder, aError);
diff --git a/dom/interfaces/html/nsIDOMHTMLImageElement.idl b/dom/interfaces/html/nsIDOMHTMLImageElement.idl
index 65d908420f8c..1419ed732586 100644
--- a/dom/interfaces/html/nsIDOMHTMLImageElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLImageElement.idl
@@ -16,12 +16,13 @@
* http://www.whatwg.org/specs/web-apps/current-work/
*/
-[uuid(939f4ea1-cb8d-49d0-a4e1-23bce758f4af)]
+[uuid(e83e726a-0aef-4292-938b-253fec691e2f)]
interface nsIDOMHTMLImageElement : nsISupports
{
attribute DOMString alt;
attribute DOMString src;
attribute DOMString srcset;
+ attribute DOMString sizes;
attribute DOMString crossOrigin;
attribute DOMString useMap;
attribute boolean isMap;
diff --git a/dom/webidl/HTMLImageElement.webidl b/dom/webidl/HTMLImageElement.webidl
index ce1187edf56e..8d918f724e25 100644
--- a/dom/webidl/HTMLImageElement.webidl
+++ b/dom/webidl/HTMLImageElement.webidl
@@ -59,6 +59,8 @@ partial interface HTMLImageElement {
// [Update me: not in whatwg spec yet]
// http://picture.responsiveimages.org/#the-img-element
partial interface HTMLImageElement {
+ [SetterThrows, Pref="dom.image.picture.enabled"]
+ attribute DOMString sizes;
[Pref="dom.image.srcset.enabled"]
readonly attribute DOMString? currentSrc;
};
diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
index 72fab9dc3767..7d42843859fd 100644
--- a/modules/libpref/src/init/all.js
+++ b/modules/libpref/src/init/all.js
@@ -3930,6 +3930,9 @@ pref("dom.battery.enabled", true);
// Image srcset
pref("dom.image.srcset.enabled", false);
+// element and sizes
+pref("dom.image.picture.enabled", false);
+
// WebSMS
pref("dom.sms.enabled", false);
// Enable Latin characters replacement with corresponding ones in GSM SMS