What if a html page uses a iframe for images?

Koos Vriezen koos.vriezen at xs4all.nl
Wed Jul 28 13:27:00 BST 2004


On Tue, Jul 27, 2004 at 04:26:19PM -0400, Zack Rusin wrote:
> On Tuesday 27 July 2004 08:07, Koos Vriezen wrote:
> > Hi,
> >
> > >From a dutch trafic site this link
> >
> > http://www.anwb.nl/servlet/Satellite?pagename=OpenMarket/ANWB_verkeer
> >/PopupVerkeerStreams&camera=everdingen This page has an iframe for
> > images taken by a webcam, a combo to select another location "Kies
> > een camera" and a refresh "Verversen" for an update.
> > Now the iframe starts with '/content/ht_ml_blok/empty.htm' but
> > depending how an user got there or the location combo, it's replaced
> > by a jpg from javascript:
> >   window.frames['iframeCamera'].location=
> > 'http://212.45.53.87:8090/xx.jpg' at first this works of course. But
> > what happens is that this will replace the iframe with a KHTMLImage
> > kpart. So every next attempt to update will fail.
> > Seems a pretty fundamental error here to me. Actually I get only
> > think of keeping a KHTMLPart for iframes with one 100%x100% child
> > part, to solve this one.
> 
> Yeah, check the bug:84332. We become way too trigger happy on any kind 
> of hiding of the iframe and destroy the khtmlview/part on even setting 
> the display:none of it.
> I'm also not sure what would be the best way to solve it. If KDE 3.3 
> would get awfully close we could always just bump the reference count 
> of the renderwidget in htmliframeelementimpl so that for as long as an 
> element is an iframe we just hide it and never delete the 
> khtmlview/khtmlpart combo for it.

I don't think this would really help here though..

Throwing in another idea is to make KJS::Window an overloaded
KJS::Frame. Where KJS::Frame has all the frame only and location stuff.
As replaced iframes stay in the parent part's frames list, a
openURLRequest from their browserextension (which are public signals)
should replace the same frame yet again.
Not sure if ids change from ID_IFRAME to ID_OBJECT, but detecting if
it's a ROPart with browserextenstion and returning a KJS::Frame then,
should be doable I think..

Koos




More information about the kfm-devel mailing list