<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>23511</bug_id>
          
          <creation_ts>2013-10-14 21:36:32 +0000</creation_ts>
          <short_desc>&lt;img&gt;: Expose EXIF data of images in &lt;img&gt; elements</short_desc>
          <delta_ts>2017-07-21 11:07:05 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WHATWG</product>
          <component>HTML</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Needs Impl Interest</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ian &apos;Hixie&apos; Hickson">ian</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>annevk</cc>
    
    <cc>ian</cc>
    
    <cc>mike</cc>
    
    <cc>silviapfeiffer1</cc>
          
          <qa_contact>contributor</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94715</commentid>
    <comment_count>0</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-10-14 21:36:32 +0000</bug_when>
    <thetext>On Fri, 7 Jun 2013, David Flanagan wrote:
&gt;
&gt; Allow direct read/write access to EXIF metadata via HTMLImageElement.
&gt; The primary use case for read access is to enable web apps to
&gt; trivially determine when, where, and how a photo was taken and also
&gt; to determine authorship and copyright information for an image. The
&gt; primary use case for write access might be for selectively stripping
&gt; metadata. It would be nice to be able to protect user privacy with
&gt; code as simple as |delete image.metadata.geolocation| for example.

On Fri, 14 Jun 2013, Mark Callow wrote:
&gt;
&gt; I think the primary use case is to make it trivial for JS to be able
&gt; to orient an image according to its EXIF orientation when displaying
&gt; it on the page. And this use case is huge. The vast majority of
&gt; cameras today tag images with the camera&apos;s orientation when a
&gt; picture is made. Today you have the following choices in order to
&gt; have the image displayed correctly:
&gt;
&gt; 1. create a copy of the image rotated to a top-left orientation
&gt; 2. manually apply a CSS style that rotates the image according to its
&gt;    specific orientation
&gt; 3. A hack using BinaryBlobs, extensive knowledge of the EXIF metadata
&gt;    format and I don&apos;t know what else.

On Thu, 13 Jun 2013, Jonas Sicking wrote:
&gt;
&gt; Wouldn&apos;t an even better solution be to make browsers support that EXIF
&gt; metadata and simply render the image correctly without any action from
&gt; the page? At least assuming that the EXIF metadata for orientation is
&gt; standardized and implemented consistently between cameras?

On Fri, 14 Jun 2013, Mark Callow wrote:
&gt;
&gt; It would, except that I think it would break a lot of existing web pages
&gt; whose images have been rotated to a top-left orientation but whose EXIF
&gt; metadata says something else. There was a period of years after EXIF
&gt; appeared when many tools did not handle EXIF metadata, but, because it
&gt; is packaged in a standard APP block of the JPG/JFIF format, may well
&gt; have copied it unchanged into destination files after processing.
&gt;
&gt; Also images on sites using such a feature could appear with incorrect
&gt; orientation in older browsers. The same could be said of rotating via
&gt; JS/CSS, that reads EXIF from the HTMLImageElement, but at least the JS
&gt; could issue a warning and recommend updating to a more recent browser.
&gt;
&gt; The EXIF orientation is standardized and handled consistently. However
&gt; cameras without orientation sensors, i.e., older or cheaper cameras or
&gt; cell phones, will set it to top left. But users of such cameras will
&gt; notice the incorrect orientation when viewing on their computers and
&gt; will rotate the images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106326</commentid>
    <comment_count>1</comment_count>
    <who name="Silvia Pfeiffer">silviapfeiffer1</who>
    <bug_when>2014-05-19 09:05:01 +0000</bug_when>
    <thetext>I&apos;m considering a similar problem for video/audio tag.

Maybe we can have a JSONObject or JSONArray in the HTMLImageElement that exposes whatever structured metadata the UA finds and leave the rest to JS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106369</commentid>
    <comment_count>2</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2014-05-19 19:53:57 +0000</bug_when>
    <thetext>We have to define the format of the data that&apos;s exposed, otherwise we&apos;ll have an interop disaster on our hands. So e.g. to expose EXIF as some sort of JS object, you&apos;d need to first define a mapping from EXIF to JS object. That&apos;s what this bug is all about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128757</commentid>
    <comment_count>3</comment_count>
    <who name="Anne">annevk</who>
    <bug_when>2017-07-21 11:07:05 +0000</bug_when>
    <thetext>Please file a new issue at https://github.com/whatwg/html/issues/new if this is still desired.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>