Closed Bug 717784 Opened 12 years ago Closed 10 years ago

Additional info needed in image info - decoding speed, and whether it is a progressive JPEG

Categories

(Firefox :: Page Info Window, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: nivtwig, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0a1) Gecko/20120111 Firefox/12.0a1
Build ID: 20120111031049

Steps to reproduce:

Right click "View image info"



Expected results:

It would be nice to have the following additional information in the image info displayed:
1. The image decoding time and speed (in uncompressed mexapixels and/or bytes per second)
2. Whether this is a progressive JPEG or not.

It is useful for detecting image decode performance problems by users and developers (for example for bug 715919), and the progressive indicator is a useful information about the type of JPEG file.
I'm OK with putting the progressive bit in the properties window, because that's meaningful.  But the decode speed is not a property of the image, but rather of Firefox's handling of the image.  Indeed,  we may re-decode an image many times, and each time we'll have a different speed.  So I don't think decode speed has any place in the properties window.
Severity: normal → enhancement
Status: UNCONFIRMED → NEW
Component: Untriaged → Page Info
Ever confirmed: true
OS: Windows 7 → All
QA Contact: untriaged → page.info
Hardware: x86 → All
I agree, we should probably have it say something like

Type: JPEG Image (Progressive)

or

Type: Progressive JPEG Image

Depending on what we can detect through Page Info's javascript, we should also try and detect and label animated gifs and progressive pngs.  Currently Page Info's binary image data handing is very poor or nonexistent (we've only just now added data: uri support), but issues raised in several bugs this week including Bug 232806 and Bug 715075 point to an ability to fix this by changing how Page Info creates an image--which it does from scratch--and gets its properties (not depending solely on html or the browser cache for information).  Likely as we fix those bugs, we will be able to fix this as well.

Also, the animated gif and progressive png suggestions may be bugs already--I just don't know their numbers off the top of my head though.
Version: 12 Branch → Trunk
I'm probably not the right mentor for this bug, but if someone is interested in it, I can help find the right people.
Whiteboard: [mentor=jlebar]
I'm interested in this bug and I'm still pretty new here. Do I start to get acquainted with the Page Info window by going to https://mxr.mozilla.org/mozilla-central/source/browser/base/content/pageinfo/pageInfo.xul and https://mxr.mozilla.org/mozilla-central/source/browser/base/content/pageinfo/pageInfo.js?
(In reply to Jenifer Wang from comment #4)
> I'm interested in this bug and I'm still pretty new here. Do I start to get
> acquainted with the Page Info window by going to
> https://mxr.mozilla.org/mozilla-central/source/browser/base/content/pageinfo/
> pageInfo.xul and
> https://mxr.mozilla.org/mozilla-central/source/browser/base/content/pageinfo/
> pageInfo.js?

Yes, that will be where all or the majority of the relevant code will be.  Also, https://mxr.mozilla.org/mozilla-central/source/browser/locales/en-US/chrome/browser/pageInfo.properties may be involved (though after looking at it again touching it probably wont be necessary for this bug).

As far as where to start in the file pageInfo.js, lines 954 to 975 should be about all you'll need to be modifying in that file: https://mxr.mozilla.org/mozilla-central/source/browser/base/content/pageinfo/pageInfo.js#954

The only thing I don't know off-the-top-of-my-head is how much of what's requested in comment #0 can't be accessed easily (or at all) though Page Info's Javascript.  We currently depend on an images's mime-type for all of its type information, while rendering time, if a JPEG is progressive, etc. are a lot more complicated.  I doubt any of this would require any new C++ code, but some of the information like rendering time may not be accessible at all to the Page Info window (and like Justin suggests, I don't think it's meaningful and would really complicate things to add that to the UI and require a much longer review process), but all of those issues definitely require someone far more in-the-know about the browser core than I am these days (I haven't submitted a patch for Firefox in over three years).  I would suggest getting feedback and reviews from Dao Gottwald or Gavin Sharp, as both have done Page Info reviews recently, and they will have the knowledge about other code that I lack.

Also, if you are thinking of handling this bug and haven't submitted a patch before, I can provide you with more resources on the process, like hints, tips, rules, guides, and official policies (though if you already know about those, I won't waste your time with more links).
This bug is looking for a mentor - Tanner, can that be you?
Flags: needinfo?(mozilla.bugs)
Whiteboard: [mentor=jlebar] → [mentor needed]
Whiteboard: [mentor needed] → [mentor wanted]
I'm probably not the best person to oversee this, my bugmail reading is intermittent at best: it was accidental that I saw this request flag.

I would suggest any of the following people--though I don't know who is still involved in Mozilla or not at the moment or who would have the time to mentor this:

db48x - Daniel Brooks
flo/florian/fqueze - Florian Quèze
ratty - Philip Chee
dao - Dao Gottwald

All four are now on the CC list.
Flags: needinfo?(mozilla.bugs)
Daniel, what do you think?
Flags: needinfo?(db48x)
db48x isn't actively involved in Mozilla stuff these days.

I think this is probably WONTFIX - if this information is useful for developers, it can live in our devtools inspector, but I don't see broad utility for most users.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Whiteboard: [mentor wanted]
Agreed. I'd love to see an addon which provides this information, either in Page Info or the Profiler dev tool.
Flags: needinfo?(db48x)
You need to log in before you can comment on or make changes to this bug.