Open Bug 940302 Opened 11 years ago Updated 2 years ago

Don't use long strings to transfer images

Categories

(DevTools :: Framework, defect, P3)

x86
All
defect

Tracking

(Not tracked)

People

(Reporter: paul, Unassigned)

References

(Depends on 1 open bug)

Details

(Whiteboard: [btpp-backlog])

To transfer dataURLs, we use longstrings.

Bug 797639 will introduce a way to carry bulk data. We should use that instead.

We transfer images in these cases:

- app mgr screenshot
- app mgr wallpaper
- app mgr app icons
- inspector image preview (x3)
Filter on 86b7095e-2bd0-499e-a704-d00f2524aeef / PAUL STOP SETTING QA CONTACT TO THE DEVTOOLS COMPONENT'S WATCHERS EMAIL FOR BUGS YOU FILE :)
QA Contact: developer.tools
Ryan, is that easy to do?
Flags: needinfo?(jryans)
The bulk data API today expects you to hand it an nsIInputStream with the data to send, and it looks like there are reasonable ways to get one for each case:

* WebIDE screenshot: canvas.mozFetchAsStream
* WebIDE wallpaper: readAsArrayBuffer -> nsIArrayBufferInputStream
* App icons: readAsArrayBuffer -> nsIArrayBufferInputStream
* Inspector image preview: canvas.mozFetchAsStream

The bulk data copier API[1] could potentially learn how to convert these common web types to the nsIInputStream it wants, rather than making each caller do the conversion.

Also, protocol.js does not yet have direct support for bulk data (see bug 949595), so we'd probably want that first before adding this to the device or inspector actors.

The app icon case should be easy enough to do now, though.  Let me know if more details / guidance is needed.

[1]: http://dxr.mozilla.org/mozilla-central/source/toolkit/devtools/transport/stream-utils.js#58
Depends on: 949595
Flags: needinfo?(jryans)
Please don't forget about the canvas debugger! You're making the canvas debugger sad by forgetting about the canvas debugger. The canvas debugger wants love [0].

[0] http://dxr.mozilla.org/mozilla-central/source/toolkit/devtools/server/actors/canvas.js?from=canvas.js&case=true#67
Filter on TEAPOT-SPLINES.
Component: Developer Tools: WebIDE → Developer Tools: Framework
Priority: -- → P3
Whiteboard: [btpp-backlog]
Product: Firefox → DevTools
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.