html:iframe in svg:foreignObject has wrong size, probably JavaScript related

RESOLVED WORKSFORME

Status

()

Core
SVG
RESOLVED WORKSFORME
7 years ago
7 years ago

People

(Reporter: Florian Echtler, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

7 years ago
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:2.0b8pre) Gecko/20101007 Firefox-4.0/4.0b8pre
Build Identifier: Mozilla/5.0 (X11; Linux i686; rv:2.0b8pre) Gecko/20101007 Firefox-4.0/4.0b8pre

When I load the attached SVG, the html:iframe appears only as a tiny grey square. It should display the standard "page not found" error. Interestingly, this works as soon as you use the "Go" button to trigger an update, but not for the "onclick" handler of the background svg:rect object.

Changing the page once zoom fixes the problem.

NB: the empty script file is also relevant. As soon as you remove the <script> tag or the script file, the problem also does not occur.

Reproducible: Always

Steps to Reproduce:
1. load example SVG
2. click on background
3. observe tiny grey rectangle
Actual Results:  
no visible change, iframe is only visible as tiny grey square

Expected Results:  
full iframe with error message should be visible
(Reporter)

Comment 1

7 years ago
Created attachment 481496 [details]
SVG testcase
(Reporter)

Comment 2

7 years ago
Created attachment 481497 [details]
Javascript file (empty, but necessary for bug reproduction)
Component: General → SVG
Product: Firefox → Core
QA Contact: general → general
Does this reproduce on a website too?  I only see this when loading from local file...

In any case, this sounds like the known bug about foreignobject not getting properly reflowed in some cases....
Whiteboard: DUPEME
Same as bug 594927 perhaps?
At least dependent.
Depends on: 594927
(Reporter)

Comment 6

7 years ago
(In reply to comment #3)
> Does this reproduce on a website too?  I only see this when loading from local
> file...
> 
> In any case, this sounds like the known bug about foreignobject not getting
> properly reflowed in some cases....

Also occured for me when loading the SVG attachment directly from bugzilla.
On further investigation this seems unrelated to bug 594927. In this case IsDisabled() is never true on the foreignObject so we do do the reflows we're asked to do.
No longer depends on: 594927
(Reporter)

Comment 8

7 years ago
Since the behavior is correct when triggered from the button, is there any temporary workaround to trigger the reflow action from Javascript?
Probably, but determining what that workaround is sounds like about the same work as finding why the bug is happening.
(Reporter)

Comment 10

7 years ago
Would it be possible to mark this bug as confirmed? There's a valid testcase, and it's affecting my application pretty badly...

Thanks,
Florian
If you like, confirmed or unconfirmed doesn't make much difference. A patch on the other hand...
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: DUPEME
(Reporter)

Comment 12

7 years ago
Hello again,

an update: I still don't have a patch, but by chance, I found a workaround.

Between the <script> tag and the background <rect>, add the following line:

<foreignObject x="0" y="0" width="10px" height="10px"> <html:input type="text"/> </foreignObject>

and everything looks like it should. Important: width and height need to be non-zero, and a text input field needs to be present.

I hope this helps somebody figure out what's going on...

Florian
Seems to be OK now. I suspect bug 596765 fixed this.
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.