Closed Bug 1285828 Opened 8 years ago Closed 8 years ago

[e10s] "Save Image As..." doesn't work with images where src is a blob URL

Categories

(Firefox :: Menus, defect)

48 Branch
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
e10s ? ---

People

(Reporter: dxzlabs, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

318.79 KB, image/png
Details
Attached image bug.png
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0
Build ID: 20160630070928

Steps to reproduce:

1) Open web.telegram.org(you need sign in) in firefox-beta/firefox-aurora/firefox-nightly(48/49/50).
2) Enter in search @BotFather, click on it.
3) Click right mouse button on the avatar, choose "Save Image As...".


Actual results:

Nothing.


Expected results:

In firefox 47 opens a dialog box to save image.
OS: Unspecified → Linux
Version: 47 Branch → 48 Branch
reproduced on e10s only
tracking-e10s: --- → ?
Summary: "Save Image As..." dont work on web.telegram.org > 47 → [e10s] "Save Image As..." dont work on web.telegram.org > 47
Component: Untriaged → Menus
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(twalker)
Can't seem to get setup at the telegram site. However, Save image as works for me on things like the main ad banner on yahoo.com or item images when shopping, etc.

doaxan, can you provide reference to a different image, not behind a login, that doesn't allow you to save the image.
Flags: needinfo?(twalker) → needinfo?(dxzlabs)
(In reply to Tracy Walker [:tracy] from comment #2)
> Can't seem to get setup at the telegram site. However, Save image as works
> for me on things like the main ad banner on yahoo.com or item images when
> shopping, etc.
> 
> doaxan, can you provide reference to a different image, not behind a login,
> that doesn't allow you to save the image.

Try this: https://jsfiddle.net/7cyoozwv/
Enable e10s, click right mouse button on the "Sample" image, choose "Save Image As...".
Flags: needinfo?(dxzlabs)
Hmm, i think this is not good example. Unfortunately I do not know anything about web dev. 

web.telegram.org :

<div class="im_dialog_photo pull-left peer_photo_init" my-peer-photolink="::dialogMessage.peerID" img-class="im_dialog_photo" watch="true"><img class="im_dialog_photo" src="blob:https://web.telegram.org/b81ad40e-3769-4e7a-b5a1-6dfe9bd8ed72"></div>
Excellent, thank you doaxan. With the test case in comment #3, https://jsfiddle.net/7cyoozwv/, this is reproducible on all platforms:

Win7 - Nightly 50.0a1, 20160720030208
Mac 10.11 - Nightly 50.0a1, 20160720030208
Ubuntu 14.04 - Nightly 50.0a1, 20160720030208 

Context (right click) the Sample image, then click Save Image As... that should bring up the file picker.  For this image, it does not.  

As I said in comment #2 though, this works correctly with random images about the net.  I wonder what is different about the test "Sample?"
OS: Linux → All
Hardware: Unspecified → All
Looks like this is because this is an image with a Blob URL src attribute.
Summary: [e10s] "Save Image As..." dont work on web.telegram.org > 47 → [e10s] "Save Image As..." doesn't work with images where src is a blob URL
(In reply to Mike Conley (:mconley) - (Needinfo me!) from comment #6)
> Looks like this is because this is an image with a Blob URL src attribute.

Maybe there are different errors. "Save Image As..." dont work in web.telegram.org only with e10s. On https://jsfiddle.net/7cyoozwv/ "Save Image As..." dont work with and without e10s.
Flags: needinfo?(twalker)
Flags: needinfo?(twalker) → needinfo?(mrbkap)
I don't think that jsfiddle is a good test case - when attempting to save the image in the jsfiddle, I'm getting:

Security Error: Content at https://fiddle.jshell.net/7cyoozwv/show/ may not load data from blob:https://fiddle.jshell.net/6fdc5fc7-bcf3-004d-9bc6-7680eb5e2a96.

In the e10s and non-e10s case. I suspect that this is expected.
By the way, saving the image from Telegram is working for me now.
The general case of using Save Image As on an object URL should have been fixed by bug 1279186. I would imagine that's the reason that Telegram now works for people.

The jsfiddle creates an object URL, sets it as the img src, and then immediately revokes it. I don't understand why the testcase works at all, but I suspect that the image loader successfully races with the call to revokeObjectURL in order to load the image, but any other interaction with the element would probably fail.
Flags: needinfo?(mrbkap)
Status: NEW → RESOLVED
Closed: 8 years ago
Depends on: 1279186
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: