From 5024f327e200b194323e8f67ba79d3709d3d1455 Mon Sep 17 00:00:00 2001 From: John Schoenick Date: Wed, 19 Mar 2014 14:18:24 -0700 Subject: [PATCH] Bug 870021 - Part 1.3 - Add srcset to HTMLImageElement & atoms. r=jst, sr=jst --- content/base/src/nsGkAtomList.h | 1 + content/html/content/src/HTMLImageElement.cpp | 1 + content/html/content/src/HTMLImageElement.h | 4 ++++ dom/interfaces/html/nsIDOMHTMLImageElement.idl | 5 +++-- dom/webidl/HTMLImageElement.webidl | 3 ++- modules/libpref/src/init/all.js | 3 +++ 6 files changed, 14 insertions(+), 3 deletions(-) diff --git a/content/base/src/nsGkAtomList.h b/content/base/src/nsGkAtomList.h index 37e63dd60be..c7ad63de0e1 100644 --- a/content/base/src/nsGkAtomList.h +++ b/content/base/src/nsGkAtomList.h @@ -1044,6 +1044,7 @@ GK_ATOM(spring, "spring") GK_ATOM(src, "src") GK_ATOM(srcdoc, "srcdoc") GK_ATOM(srclang, "srclang") +GK_ATOM(srcset, "srcset") GK_ATOM(stack, "stack") GK_ATOM(standalone, "standalone") GK_ATOM(standby, "standby") diff --git a/content/html/content/src/HTMLImageElement.cpp b/content/html/content/src/HTMLImageElement.cpp index 4489925301d..1ef95559fcf 100644 --- a/content/html/content/src/HTMLImageElement.cpp +++ b/content/html/content/src/HTMLImageElement.cpp @@ -86,6 +86,7 @@ NS_IMPL_BOOL_ATTR(HTMLImageElement, IsMap, ismap) NS_IMPL_URI_ATTR(HTMLImageElement, LongDesc, longdesc) NS_IMPL_STRING_ATTR(HTMLImageElement, Lowsrc, lowsrc) NS_IMPL_URI_ATTR(HTMLImageElement, Src, src) +NS_IMPL_STRING_ATTR(HTMLImageElement, Srcset, srcset) NS_IMPL_STRING_ATTR(HTMLImageElement, UseMap, usemap) NS_IMPL_INT_ATTR(HTMLImageElement, Vspace, vspace) diff --git a/content/html/content/src/HTMLImageElement.h b/content/html/content/src/HTMLImageElement.h index d84593039f0..9c8dcd4e912 100644 --- a/content/html/content/src/HTMLImageElement.h +++ b/content/html/content/src/HTMLImageElement.h @@ -132,6 +132,10 @@ public: { SetHTMLAttr(nsGkAtoms::src, aSrc, aError); } + void SetSrcset(const nsAString& aSrcset, ErrorResult& aError) + { + SetHTMLAttr(nsGkAtoms::srcset, aSrcset, aError); + } void SetCrossOrigin(const nsAString& aCrossOrigin, ErrorResult& aError) { SetHTMLAttr(nsGkAtoms::crossorigin, aCrossOrigin, aError); diff --git a/dom/interfaces/html/nsIDOMHTMLImageElement.idl b/dom/interfaces/html/nsIDOMHTMLImageElement.idl index b60f5e18765..0e713bc13b2 100644 --- a/dom/interfaces/html/nsIDOMHTMLImageElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLImageElement.idl @@ -16,11 +16,12 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[uuid(d3e488b9-3b29-410a-bcf4-18fb874c170a)] +[uuid(cb5140c8-1df7-41eb-a70e-927283ac0990)] interface nsIDOMHTMLImageElement : nsISupports { attribute DOMString alt; attribute DOMString src; + attribute DOMString srcset; attribute DOMString crossOrigin; attribute DOMString useMap; attribute boolean isMap; @@ -34,7 +35,7 @@ interface nsIDOMHTMLImageElement : nsISupports attribute DOMString name; attribute DOMString align; attribute DOMString border; - attribute long hspace; + attribute long hspace; attribute DOMString longDesc; attribute long vspace; attribute DOMString lowsrc; diff --git a/dom/webidl/HTMLImageElement.webidl b/dom/webidl/HTMLImageElement.webidl index bd95f227ebd..79e427c8c6f 100644 --- a/dom/webidl/HTMLImageElement.webidl +++ b/dom/webidl/HTMLImageElement.webidl @@ -23,7 +23,8 @@ interface HTMLImageElement : HTMLElement { attribute DOMString alt; [SetterThrows] attribute DOMString src; -// attribute DOMString srcset; + [SetterThrows, Pref="dom.image.srcset.enabled"] + attribute DOMString srcset; [SetterThrows] attribute DOMString crossOrigin; [SetterThrows] diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index 76122ebcbec..dfcadbb1aa7 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -3897,6 +3897,9 @@ pref("dom.vibrator.max_vibrate_list_len", 128); // Battery API pref("dom.battery.enabled", true); +// Image srcset +pref("dom.image.srcset.enabled", false); + // WebSMS pref("dom.sms.enabled", false); // Enable Latin characters replacement with corresponding ones in GSM SMS