From 2aceef03431f904a386ff679a26a6e01a2af75ef Mon Sep 17 00:00:00 2001 From: Noam Rosenthal Date: Wed, 27 May 2020 14:52:45 +0300 Subject: [PATCH 1/5] Add tests for density-corrected size These test include images that have EXIF values that specify density-corrected size And they assert that the intrinsic size for those images is corrected by that EXIF. WhatWG PR: https://github.com/whatwg/html/pull/5574 --- .../density-corrected-natural-size.html | 28 +++++++++++ .../density-corrected-size-rendering-ref.html | 36 ++++++++++++++ .../density-corrected-size-rendering.html | 39 +++++++++++++++ ...ensity-corrected-various-elements-ref.html | 46 ++++++++++++++++++ .../density-corrected-various-elements.html | 46 ++++++++++++++++++ .../resources/exif-resolution-invalid-cm.jpg | Bin 0 -> 1904 bytes .../exif-resolution-invalid-no-match.jpg | Bin 0 -> 2018 bytes .../exif-resolution-invalid-partial.jpg | Bin 0 -> 1998 bytes .../resources/exif-resolution-no-change.jpg | Bin 0 -> 1816 bytes .../resources/exif-resolution-none.jpg | Bin 0 -> 1816 bytes .../resources/exif-resolution-valid-hires.jpg | Bin 0 -> 2018 bytes .../resources/exif-resolution-valid-lores.jpg | Bin 0 -> 2018 bytes .../exif-resolution-valid-non-uniform.jpg | Bin 0 -> 2018 bytes .../exif-resolution-with-orientation.jpg | Bin 0 -> 2030 bytes 14 files changed, 195 insertions(+) create mode 100644 density-size-correction/density-corrected-natural-size.html create mode 100644 density-size-correction/density-corrected-size-rendering-ref.html create mode 100644 density-size-correction/density-corrected-size-rendering.html create mode 100644 density-size-correction/density-corrected-various-elements-ref.html create mode 100644 density-size-correction/density-corrected-various-elements.html create mode 100644 density-size-correction/resources/exif-resolution-invalid-cm.jpg create mode 100644 density-size-correction/resources/exif-resolution-invalid-no-match.jpg create mode 100644 density-size-correction/resources/exif-resolution-invalid-partial.jpg create mode 100644 density-size-correction/resources/exif-resolution-no-change.jpg create mode 100644 density-size-correction/resources/exif-resolution-none.jpg create mode 100644 density-size-correction/resources/exif-resolution-valid-hires.jpg create mode 100644 density-size-correction/resources/exif-resolution-valid-lores.jpg create mode 100644 density-size-correction/resources/exif-resolution-valid-non-uniform.jpg create mode 100644 density-size-correction/resources/exif-resolution-with-orientation.jpg diff --git a/density-size-correction/density-corrected-natural-size.html b/density-size-correction/density-corrected-natural-size.html new file mode 100644 index 00000000000000..224899a799be3b --- /dev/null +++ b/density-size-correction/density-corrected-natural-size.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + diff --git a/density-size-correction/density-corrected-size-rendering-ref.html b/density-size-correction/density-corrected-size-rendering-ref.html new file mode 100644 index 00000000000000..f8cf60b297cc01 --- /dev/null +++ b/density-size-correction/density-corrected-size-rendering-ref.html @@ -0,0 +1,36 @@ + + + + + + + + +
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/density-size-correction/density-corrected-size-rendering.html b/density-size-correction/density-corrected-size-rendering.html new file mode 100644 index 00000000000000..486cdd8ee67ed8 --- /dev/null +++ b/density-size-correction/density-corrected-size-rendering.html @@ -0,0 +1,39 @@ + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+ + diff --git a/density-size-correction/density-corrected-various-elements-ref.html b/density-size-correction/density-corrected-various-elements-ref.html new file mode 100644 index 00000000000000..0a8bdc29f228b3 --- /dev/null +++ b/density-size-correction/density-corrected-various-elements-ref.html @@ -0,0 +1,46 @@ + + + Content-DPR: various elements + + + + + +

There following boxes should be identical (the colorful boxes at the top-left quarter)

+
+
+ +
+
+ +
+
+ +
+ +
+ + diff --git a/density-size-correction/density-corrected-various-elements.html b/density-size-correction/density-corrected-various-elements.html new file mode 100644 index 00000000000000..581db62d8a93fd --- /dev/null +++ b/density-size-correction/density-corrected-various-elements.html @@ -0,0 +1,46 @@ + + + Content-DPR: various elements + + + + + + + +

There following boxes should be identical (the colorful boxes at the top-left quarter)

+
+
+ +
+ +
+ +
+ +
+ + diff --git a/density-size-correction/resources/exif-resolution-invalid-cm.jpg b/density-size-correction/resources/exif-resolution-invalid-cm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26fb10f55236aea04cf964b4736da7938e18de63 GIT binary patch literal 1904 zcmbW0dsGwG7KhK|4M|j#fG9}ILjtH2c~-;}y@3+sVn9KwG%ARqOKB7Y5ggI0l!� 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 literal 0 HcmV?d00001 diff --git a/density-size-correction/resources/exif-resolution-invalid-partial.jpg b/density-size-correction/resources/exif-resolution-invalid-partial.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18ff3ae6474675f4d37cd393ca5de562f15446f2 GIT binary patch literal 1998 zcmbW0dpwkB8^^C_&KQ+)$VPS<8C1@PO`6oo8hJGowWX;@sZZG{BGHrDvL?MPHa5H= zG^!UVu{ljbhh42jdZXTI9CB#OOvspK=H6#Iem?ux`|kDJ_viV2?&rR)=lWjveW3^F zDa_!m@Ld5Ih5?Is07;7W&|;nsIjKZ?~OpE zP>GC)JctcfXAtR=$s{6KDupO8mZ&KOMUOi33kNUSEZ%0ixj^4BDXoBEv8K6{QnO;2lX2C3T$0UaSvb2JVMlB1cK&io&J?+|tEN6+OOoR58?0*A0 z{I|$Hf_>uZ0VWwE4v(w{9FUg@+2sR!<+<#$LSUEqgvbXZ_0yCOcepJ&l<^{>Wo7)D zN9S2j(*`VxyhG)St*wr%Z!nUDo=mO0U;8^N^XuT?qje8hN$vL}r_#NHDQ3J-7yCG& z{TiE~^y4F)exn|?Tjl@ubO|oCUSW6fxZmiGTQ94XdShx{yL43D%UA5JEiZol?4;ac zP+3?gd7^3-j}ON3eVbwpTGNZ`DsD?TSvD6*VY>>dF8#6Za_-#bxfANGf}W_9z5F+f zQUoFvp7=j10Usl z-2>_)@nSX27ePyiYAN30>Yk-eet;{DR;hIn@OC0-8&b6@jtQp@s10fL2)yd~2*@l1 zy(I{aCY9sAM};7`eupE!!0F8~@k6lu4~|-=#B5{%KBY3dcBWSL3!~I-F(Y%>g!_1Y zb>an}p0=7V81ZGD>F>f*COiMD^t~)qRTX7hHWY{gV&{}LXP$_OHePM!>Zs$q-RX+^ zrh}W731x`~NB9PJnP=GP{#?I=@3V(f?;7s+@Y`le58&<-pWhHy*27NV36>Ny7u2}F zEON3j3H#jPa}&YF-^^Y|%cz!qIiC5CR%fUlP3|7PSifs9>YjpWr(0ul_+RUPwm$db zzJF!c4um$W#tT%K`Vy->E~M6aDe-JYHC#s9qM zS^x4<`(X>Wpu*(bk_hb$xx3w;^ZR{L8yLaYBc>2An+#@miBd}c5tO+Nv_< z@!PVLuE{s;6t-qF5lBT12>L4VrtJw^5S*=$*&)zAFsk<8|HhXs*q^7OcM^9cJQ0DC z>l#H|l|_6xvu(&#s7??|DwjCm?Q7*(#I^FAL||H|p0m8qNM&#`1(yds!DT(1-fzY@ zis>Q*hi-Fvc~@|SaR(7D0{5y685=;LTOd2G7T#(WE3HSx@)!De^VMhgxLE)K><7HL zFap826VV)pT9xv%LR)or+pFle?M}43!tE(XnSR1n{SY4-ENi$n{SbmzT<7vPyATwf zsZk)vZZj444+wlz$$gv&^8y4*A2abgVoBQ@(hYoAxS8m;0iR(nZ~avmG3mFXdER)J z7XlZ_hoyEghM@n)NdD`G2z)$a#(Dg)b$!*!+%h(TOUiBPqSc(CIgKZ$+>~D;*t9l4 R<*<^-Pg$a3e@GK`{|TiNLht|p literal 0 HcmV?d00001 diff --git a/density-size-correction/resources/exif-resolution-no-change.jpg b/density-size-correction/resources/exif-resolution-no-change.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04f9202cfcc5ffcf5934b42c0fff9e7c4b0c541e GIT binary patch literal 1816 zcmbW0eN@a@7{~9tPt6RXDN(Y$XeuPVu4FbgX<{=)v1AYx4jD>G`H7`%WZR0OT5T#5 zwi2n;+enj_-AE;?Sj<#kbOwV#r_&ismL7wt&!p4!IC}al z7Msmx=y4`+*b|5?OZSQHE#<>o8jDG1vi`Hd8^C}G=7TL1k_8|ekSGQuCMkZ6Qj zo!~!>M5a(_gd#!*k#KDiA)i7a6JlvpDv_N)+yklsZSp6MUi2x#O$-aM;rzt3e5U2% z@&;}|tIEo0^Pa-ineU|wO0#~gL3SP7J%g`-b z!@?uBZQmOey)Pzqf83F;jvh<;I$4sQaq?7V*6B0Z=L!mo&P$6gT)c9%;#y_ZkJqbj zHp-iB-M(}8r?&Qo9glu_+}Wj2cK7tY?CT#GRKFb_8GSc~j%##WBtZEC>m%7exC{s` zGEoC6L&rrT#}Gj=pwd2Zq)+w|GB$~)SjP1?wWubQny3p3<$hvxCbx3MT#iN=BR+-C!f{xZcwn}V$s5q7G9Yi%3 zhPcd&mCRdh7npv0u-$LS!+tCJgQrVSiS1H{OUM0&w%>kJg&7Rv!dBG~t`uqZ)|3^! zdYOt^_F)ADisxFnY@{zna-Lvqd#|UP;66Zi5+yOyLzqVO(Ofr4|H=@@;;8iDr zfMNxKvKWG+iDk%x$Y2O=+~uPe`N|wqKM0om#>ZL3=7V#Pajp6Fvo-3Um?aJinVAEo zf@ia<5-tMT8JpSSL0_x0Jsn8$So^P-?-iA{vM}4aK40n|GrdHfc_KQ>WR1b*>fXAh*@GurRr7jDMz7wnT=SRY&3#fuk;7ZtJR zRJ*?^bh0xIo#{B!RJ`H7`MW4J&Dt-=^ZTc(GPF;}b`4yr+u0ZSP{VfMRNEc?ZrzWz z=U+csQPJ_Na=0qPf3@b`d+YdpYH0%mozfS563nX<&1=fjk20Hk(=6^)L%l`L3YqFe zJ1PyhC5f|I+qe|>w_{f~iP1AEkF~YcD*t2A2XbmIxP(~nXWbet z3Kefj+u$dj>^&>SqOiHGIDlMZG&MAPq(wh|hdM8D;kGg~;|4xgz37C}fm^$0M_kc2 zmptpqFfHwdu8y zJ3<7(63M~df#KnYS(+ThP^+JNOKdo=S#i28#eQXDhj90)wo{ynEA80}=FH9Uwb`mQ z5sF%}FxRA84jOy&$q=Zd^$>JdAdM06n;|$?u6BSx|G*ILA-XS8&)J`+WwaB$vLyim zOyC+xw8{bz%5Ld*mEiF*Ma3dVq;(CNMYNUY7zAbo`1B>+##(M_GJ*y^N7P+><(I>J z%|s~#hwku|!mEhJq>cD44DqT69`1#JldnFGOK!_$nC*}ZeQk)yuf0S@%>5xCeT&Eo z!XOxNB8KBoGlrg%*yEioZ=*hpJ2CPaw-gJDHoefxZMc#|1mjMW&>QLS zg1|-b*HNpC1VPWqZK8KiAn@^w9ubO$*LGK7xurY^E@R<%;VORr^oG=NH|$dgHm>p4 QIxZ*lVZ~bBUov6m@56XAi2wiq literal 0 HcmV?d00001 diff --git a/density-size-correction/resources/exif-resolution-none.jpg b/density-size-correction/resources/exif-resolution-none.jpg new file mode 100644 index 0000000000000000000000000000000000000000..04f9202cfcc5ffcf5934b42c0fff9e7c4b0c541e GIT binary patch literal 1816 zcmbW0eN@a@7{~9tPt6RXDN(Y$XeuPVu4FbgX<{=)v1AYx4jD>G`H7`%WZR0OT5T#5 zwi2n;+enj_-AE;?Sj<#kbOwV#r_&ismL7wt&!p4!IC}al z7Msmx=y4`+*b|5?OZSQHE#<>o8jDG1vi`Hd8^C}G=7TL1k_8|ekSGQuCMkZ6Qj zo!~!>M5a(_gd#!*k#KDiA)i7a6JlvpDv_N)+yklsZSp6MUi2x#O$-aM;rzt3e5U2% z@&;}|tIEo0^Pa-ineU|wO0#~gL3SP7J%g`-b z!@?uBZQmOey)Pzqf83F;jvh<;I$4sQaq?7V*6B0Z=L!mo&P$6gT)c9%;#y_ZkJqbj zHp-iB-M(}8r?&Qo9glu_+}Wj2cK7tY?CT#GRKFb_8GSc~j%##WBtZEC>m%7exC{s` zGEoC6L&rrT#}Gj=pwd2Zq)+w|GB$~)SjP1?wWubQny3p3<$hvxCbx3MT#iN=BR+-C!f{xZcwn}V$s5q7G9Yi%3 zhPcd&mCRdh7npv0u-$LS!+tCJgQrVSiS1H{OUM0&w%>kJg&7Rv!dBG~t`uqZ)|3^! zdYOt^_F)ADisxFnY@{zna-Lvqd#|UP;66Zi5+yOyLzqVO(Ofr4|H=@@;;8iDr zfMNxKvKWG+iDk%x$Y2O=+~uPe`N|wqKM0om#>ZL3=7V#Pajp6Fvo-3Um?aJinVAEo zf@ia<5-tMT8JpSSL0_x0Jsn8$So^P-?-iA{vM}4aK40n|GrdHfc_KQ>WR1b*>fXAh*@GurRr7jDMz7wnT=SRY&3#fuk;7ZtJR zRJ*?^bh0xIo#{B!RJ`H7`MW4J&Dt-=^ZTc(GPF;}b`4yr+u0ZSP{VfMRNEc?ZrzWz z=U+csQPJ_Na=0qPf3@b`d+YdpYH0%mozfS563nX<&1=fjk20Hk(=6^)L%l`L3YqFe zJ1PyhC5f|I+qe|>w_{f~iP1AEkF~YcD*t2A2XbmIxP(~nXWbet z3Kefj+u$dj>^&>SqOiHGIDlMZG&MAPq(wh|hdM8D;kGg~;|4xgz37C}fm^$0M_kc2 zmptpqFfHwdu8y zJ3<7(63M~df#KnYS(+ThP^+JNOKdo=S#i28#eQXDhj90)wo{ynEA80}=FH9Uwb`mQ z5sF%}FxRA84jOy&$q=Zd^$>JdAdM06n;|$?u6BSx|G*ILA-XS8&)J`+WwaB$vLyim zOyC+xw8{bz%5Ld*mEiF*Ma3dVq;(CNMYNUY7zAbo`1B>+##(M_GJ*y^N7P+><(I>J z%|s~#hwku|!mEhJq>cD44DqT69`1#JldnFGOK!_$nC*}ZeQk)yuf0S@%>5xCeT&Eo z!XOxNB8KBoGlrg%*yEioZ=*hpJ2CPaw-gJDHoefxZMc#|1mjMW&>QLS zg1|-b*HNpC1VPWqZK8KiAn@^w9ubO$*LGK7xurY^E@R<%;VORr^oG=NH|$dgHm>p4 QIxZ*lVZ~bBUov6m@56XAi2wiq literal 0 HcmV?d00001 diff --git a/density-size-correction/resources/exif-resolution-valid-hires.jpg b/density-size-correction/resources/exif-resolution-valid-hires.jpg new file mode 100644 index 0000000000000000000000000000000000000000..757ce2d877d8ac6e2cfb777e3145fabf0d946085 GIT binary patch literal 2018 zcmbW0dt6gT7RTr24M|j#hbTzPLjtJ09~Ci0H&TKu1{AbPqoOGKQ5pn61h42SC1Nd5 zp#l{VFsKWNB2-=x35qS20^$m~Y68f^Dv5xEm}GW>=zc!?*Y2Ks=QF?0xpU4v-+0T_mXAJ7A!6tr>@q9OqZ3VK57?i0U*!#w_^)G z={*<=5U2eF00{GDG>T4*`VN@7a5UE)ER|DB9f^TDwRs1P^dJz9+jp~ zqfqpidir!agTbKcF=sIuvyi0glIUWI)3IbajY6aU&jxP;0~&AvJBXMiAQ)go0}M)l z1tKS-eb;UMj3HDK8C8VpKnrfpLFE&P1XL`Ugf<;Z)@=pJfIRneXJ5)Z-ZrYGz|bWn zqmX8`sh=o?$R zNo^E5v}v;c4(!leAY!FV3qrYDF>ttv(!)a zcrHJh^*XX;ZQ_Qfm#tr93|JL&!j&uRY>#hlG*N_~Nw0cT_lI@%SD~RN>K|LDbUc)v z&E$lVEO_DWP6WS7Qlt6Gv=Fc$0T8VIldYwfT8u2kr!*F~ð^ zrIk6Zpk)u6ai1-zNxlNe=WLe$5aZC-)CuZP+&${ZPel zWY*dr`+4&(c9&j13asjWRy|ge6|_P1;Jr=KL4~LZf*#R}L802WTv^akpdV|#?2dWj ztENWFyg;%1beB>Td{-1#LZ}?6Hj#Oie5 z%N&jBWA-MNe1Fxa;mx&wEHk#ipN-O(o zNcxrtPi}o?ee~XNZkSMbWMFt~>|u^7PdeHW;MJb6i`6FmsWaVSU2`|@+q0c#nN`=j za+fb%mgjG~Q)9~Gx96xmQtvvd94zKSAQv@4&{u^w?@rnd!Np32BLw<~N44Jk-}#EA zhYB>*E_7FRBtxL)dPJkEvYfAEv=4a*wMk-W)k11ZK&S{{Dyrw zhU+jisI9R)4&LnxfxGmht3!-I(Eno;|J@S^{CwiZdHk_WeKqR*aux*F)Vs9B>)AsK co6byms=t6>>&76B^IBA&x>UpZSSIZG7kX|*3jhEB literal 0 HcmV?d00001 diff --git a/density-size-correction/resources/exif-resolution-valid-lores.jpg b/density-size-correction/resources/exif-resolution-valid-lores.jpg new file mode 100644 index 0000000000000000000000000000000000000000..11a5d8b12e1df4fa984601b62e1b645278774d7d GIT binary patch literal 2018 zcmbW0dsI`$7Ki8L4J0bcLlmUtApun0kBXS0H&Q?@1{AbPqk<^9lmfv}@hJ?!Eh*S@T=_%-&~zGqd3% z_#DjfUE{L`U>F80&;y_pv~c4iBLMLC2Q~lz2B2dAP>@0sXhG{f=x}TSpw9TWV+%j( z-548?r~M=VNb_biicX3A7#oegYYhEyI`8|L_8kCpLlFwILsFETQftT7seLZ;GbbUK|zqtO{UT6Bgs zgGSS0X=&@|Fqurc7HbxZISWZ0O%hEkc{-M=!=N#A{%3=?fGz_#f^afs21vRXSr>y6 zV2a48Xx}wkKVt}$LPZs!I?#d}b5QwYG6@w+rJzm6k~CXE(WTD))WM53kGG9(CeU+C zPA_1Xuc~O&4{VoNIBkzUs-|e)Eqn zs_LI^*4%EAG~c<~a_{Gk&Ier&e}B~7Bkk?$A9yi1G&~}IGd4c)c2Y5=)NrBmd5`sx z>_5145f=%a0fnyN!bovwkaa24PaSA;y?FF(f_Y|+$qc-*yTINoHGX3q*?b-$w z&QeRc25p+`zXLn^f02Cz`?R(`ha;6H&n60+UnTm219x1>9op+wZB7Z`8wfhvMI!F2SYNYwWI^^c&rM_jNU)JErEf%SP3` zeC7Vy^5T~-PAkj@iNZqZGnGUy@@5PL+WD*Vl~YNg60s_=XkTLd$u~|5l$GcQ?nr8?SY_eNY$!5A)Gp- zHlWo*;8o9ufNTLlZwUm)lgshnqCz0Jb&sRC%<0WF_Jd&cpB%MLiRs8vd`e|{^IWa` zXGW>r3P#qjvG3C*)k&8D^{mwr!HAE=x&AIZb+Yph!snVyRaKN@*-#(~h+9}H$vPDq zW3=AX)ltWJm(z9kt%tX+63UYfkMQ;HGtaRz{C)irzsVU+yKivN!*8bvJ;3*X_|lg6 zvL1FKPq4C>xwOXpb&->eao8sgpBM|i`qlJpjGSuem+N`{$@)yylgWLll8?{5B)2q-jX9jFg-hXGAct9>{grHmWd{9Vul_~O@^R;74mfbc< zc-h!smg_H;o$6GG0`G`oi%AtDRffIprMZh&r84i&35o4;t8J3ayWcN3d*S852XJsCn>S|;GCt?rf z)?RW6HRCM4Gf^BS2v7gYPcWCeIL@r7wWB1ERBJFlEN8q;J8_RZKY2xDxgztHdYOFX zsa`w%y68O##ou1>tbcvA{iwNHP+>}5Nrd*6ynXI3`TgE$4UFJh5mOK_oAl>*iBe1d z8I-mq%+0qhqb_PssBef+cz9rVZ0td{GFLjan|38`hu}hm+ztZmL!)XB{;z!b z(u4UbdMCOo;Ykn>zOGT|sx0R#m~BI@LUp28TDj5zZ{MiMM%T)75(1M#^}^MChAREj zskkEO87}YP^nN+UQO*`YaHNIP%e#&%jXF@e2;8eOWNZKeR)PGaT6k9?Cag!ridTBL z^odi7y-e!6Kaklt%Tx&&{o~u_9kY!-BHUc-JWxZj8nGi$N11-S;NiQ zM<96P>sYLpP%%9M+=xh!Pe1Lz%GqFQTAD9RL6T literal 0 HcmV?d00001 diff --git a/density-size-correction/resources/exif-resolution-valid-non-uniform.jpg b/density-size-correction/resources/exif-resolution-valid-non-uniform.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a028bde2e8479532ffb37483b0cdce944c1b1a78 GIT binary patch literal 2018 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 literal 0 HcmV?d00001 From e1092adbeda7007fe6dd978e8f4589bf370a1b19 Mon Sep 17 00:00:00 2001 From: Noam Rosenthal Date: Mon, 1 Jun 2020 12:16:31 +0300 Subject: [PATCH 2/5] Use piexif to dynamically generate density-corrected size images --- .../density-corrected-natural-size.html | 44 +- .../density-corrected-size-rendering-ref.html | 4 +- .../density-corrected-size-rendering.html | 77 +- .../density-corrected-various-elements.html | 4 +- .../resources/exif-resolution-invalid-cm.jpg | Bin 1904 -> 0 bytes .../exif-resolution-invalid-no-match.jpg | Bin 2018 -> 0 bytes .../exif-resolution-invalid-partial.jpg | Bin 1998 -> 0 bytes density-size-correction/resources/exify.js | 39 + density-size-correction/resources/piexif.js | 2482 +++++++++++++++++ 9 files changed, 2595 insertions(+), 55 deletions(-) delete mode 100644 density-size-correction/resources/exif-resolution-invalid-cm.jpg delete mode 100644 density-size-correction/resources/exif-resolution-invalid-no-match.jpg delete mode 100644 density-size-correction/resources/exif-resolution-invalid-partial.jpg create mode 100644 density-size-correction/resources/exify.js create mode 100644 density-size-correction/resources/piexif.js diff --git a/density-size-correction/density-corrected-natural-size.html b/density-size-correction/density-corrected-natural-size.html index 224899a799be3b..3d6de44be70c71 100644 --- a/density-size-correction/density-corrected-natural-size.html +++ b/density-size-correction/density-corrected-natural-size.html @@ -2,26 +2,36 @@ + + - - - - - - - - - diff --git a/density-size-correction/density-corrected-size-rendering-ref.html b/density-size-correction/density-corrected-size-rendering-ref.html index f8cf60b297cc01..f2fb02c9a79893 100644 --- a/density-size-correction/density-corrected-size-rendering-ref.html +++ b/density-size-correction/density-corrected-size-rendering-ref.html @@ -18,19 +18,21 @@ .box { width: 200px; height: 200px; display: inline-block; } .tiled {background-repeat: repeat; } .stretch {background-repeat: no-repeat; background-size: contain; } - .non-uniform-bg.stretch { background-size: 200px 200px; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%, 0 0) } + .non-uniform-bg.stretch { background-size: 100px 200px; background-size: scale-down; }
+
+
diff --git a/density-size-correction/density-corrected-size-rendering.html b/density-size-correction/density-corrected-size-rendering.html index 486cdd8ee67ed8..8d21aeb60d8dcf 100644 --- a/density-size-correction/density-corrected-size-rendering.html +++ b/density-size-correction/density-corrected-size-rendering.html @@ -1,39 +1,46 @@ + + Density corrected size: rendering + + + + + + - - - - - - - - -
-
-
-
-
-
-
-
-
-
+ + + + + +
+
+
+
+
+
+
+
+
+
+
+
diff --git a/density-size-correction/density-corrected-various-elements.html b/density-size-correction/density-corrected-various-elements.html index 581db62d8a93fd..8965cc28576014 100644 --- a/density-size-correction/density-corrected-various-elements.html +++ b/density-size-correction/density-corrected-various-elements.html @@ -1,9 +1,9 @@ - Content-DPR: various elements + Density corrected size: various elements - +