Bug 289787 - Proper iframe content painting when scrolling (fixed positioning)
Summary: Proper iframe content painting when scrolling (fixed positioning)
Status: RESOLVED UNMAINTAINED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: 4.8.4
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL: http://www.gtalbot.org/BrowserBugsSec...
Keywords: reproducible, testcase, triaged
Depends on:
Blocks:
 
Reported: 2011-12-25 15:37 UTC by Praise
Modified: 2024-05-06 18:39 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
How the bugs reveals itself (sensitive name are censored!) (240.48 KB, image/jpeg)
2011-12-25 15:37 UTC, Praise
Details
zip file with a testcase (8.64 KB, application/octet-stream)
2011-12-29 19:26 UTC, Praise
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Praise 2011-12-25 15:37:15 UTC
Created attachment 67097 [details]
How the bugs reveals itself (sensitive name are censored!)

Version:           unspecified (using KDE 4.7.2) 
OS:                Linux

Konqueror does not scroll correctly when there is an iframe on the web page, maybe only when it is a div which overflows (and scrolls).
If I scroll the image is screwed up with horizontal lines.

It looks like there is a small overflow, it does not count the scroll bar of the external div.

Reproducible: Always

Steps to Reproduce:
Just open a web page with an iframe in the middle. Scroll down the iframe (not the page!)

Actual Results:  
iframe contents are screwed up with horizontal lines.

Expected Results:  
Just scrolling!
Comment 1 Gérard Talbot (no longer involved) 2011-12-27 03:02:47 UTC
Praise,

We need more information regarding your bug report.

1- Can you create a *_reduced_* testcase demonstrating the problem?

2- Does the problem still occur if 
   a) javascript support is disabled (Configure Konqueror.../Internet Navigation/Java & Javascript/Javascript tag/Enable javascript checkbox is unchecked)
   b) smooth scrolling is disabled (Configure Konqueror.../Internet Navigation/Appearence/Smooth scrolling)

3- Are you using the webkit rendering engine or the KHTML rendering engine? Configure Konqueror.../General identifies the rendering engine.

4- Is the webpage triggering web standards compliance rendering mode or backward-compatible rendering mode? (View/Display Document Information/Rendering mode: if Strict, then it is web standards compliance rendering mode)

5- When I visit
http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/BorderAroundIframe.html
I can scroll without problems. 

... I am not sure ... is there an image or a webpage in the iframe ?

I am using
KDE Platform Version: 4.7.4
Konqueror version: 4.7.4 (with KHTML rendering engine)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-15-generic-pae i686 (32bits)
Distribution: Kubuntu 11.10
Adobe Flash player plugin version: 11.1.102.55
here.

regards, Gérard
Comment 2 Praise 2011-12-27 18:35:14 UTC
(In reply to comment #1)
> Praise,
> 
> We need more information regarding your bug report.
> 
> 1- Can you create a *_reduced_* testcase demonstrating the problem?

I will try to send you a couple of html/css files to reproduce the problem ASAP.

> 
> 2- Does the problem still occur if 
>    a) javascript support is disabled (Configure Konqueror.../Internet
> Navigation/Java & Javascript/Javascript tag/Enable javascript checkbox is
> unchecked)

Yes, no difference if javascript is enabled or disabled. The problem still occurs.

>    b) smooth scrolling is disabled (Configure Konqueror.../Internet
> Navigation/Appearence/Smooth scrolling)

I disabled it. The problem still occurs.

> 
> 3- Are you using the webkit rendering engine or the KHTML rendering engine?
> Configure Konqueror.../General identifies the rendering engine.

I was using KHTML. The problem does not occur with Webkit.

I had Webkit as the default engine (Configure Konqueror.../General) but I had KHTML in View -> Viewing Mode.

Switching to webkit there solves the issue.

> 
> 4- Is the webpage triggering web standards compliance rendering mode or
> backward-compatible rendering mode? (View/Display Document
> Information/Rendering mode: if Strict, then it is web standards compliance
> rendering mode)

It looks like I have a different menu from yours. I have not such menu item, so
I don't know how to answer.

> 
> 5- When I visit
> http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/BorderAroundIframe.html
> I can scroll without problems.

Me too. My guess is that the problem is related to the double scroll bar (one of the overflowing div, one of the iframe).
 
> 

> ... I am not sure ... is there an image or a webpage in the iframe ?

A complete web page.

Regards, Praise
Comment 3 Gérard Talbot (no longer involved) 2011-12-27 22:55:35 UTC
Praise,

Thank you for your answers: this will help.

> > 4- Is the webpage triggering web standards compliance rendering mode or
> > backward-compatible rendering mode? (View/Display Document
> > Information/Rendering mode: if Strict, then it is web standards compliance
> > rendering mode)
> 
> It looks like I have a different menu from yours. I have not such menu item, so
> I don't know how to answer.

Assuming you can read italian:
"
Visualizza → Mostra informazioni sul documento (Ctrl+I) (modalità di navigazione)
Mostra alcune informazioni relative al documento, come il titolo, l'URL e le intestazioni HTTP usate durante l'acquisizione del documento.
Disponibile solo quando è visibile una pagina HTML.
"
http://docs.kde.org/stable/it/kdebase-apps/konqueror/menubar.html#menu-view


> 
> > 
> > 5- When I visit
> > http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/BorderAroundIframe.html
> > I can scroll without problems.

That page is displayed in "almost standard mode" according to KHTML and View Information Document (Ctrl+I) but it's possible to create a sub-webpage in strict standards compliant rendering mode by using an <object>.

Gérard
Comment 4 Praise 2011-12-29 19:26:53 UTC
Created attachment 67229 [details]
zip file with a testcase

Unzip the files into a directory and just open testcase.html with Konqueror and KHTML. Then try to scroll. frame.html is a random page from the internet, not the original problematic one, so I think it's not involved.

I use a 1920x1200 resolution, just FYI. With different resolutions scrolling might behave differently.
Comment 5 Praise 2011-12-29 19:28:02 UTC
Sorry, I don't have anything like 
"Visualizza → Mostra informazioni sul documento (Ctrl+I) (modalità di
navigazione)"

It's strange. Pressing ctrl+I does not make anything happen.
Comment 6 Gérard Talbot (no longer involved) 2011-12-30 16:58:49 UTC
(In reply to comment #4)
> Created an attachment (id=67229) [details]
> zip file with a testcase


Unfortunately, this is not a *_reduced_* testcase... but it's a good start :)


> 
> Unzip the files into a directory and just open testcase.html with Konqueror and
> KHTML. Then try to scroll. 

At line 113 of style.css, #contents has overflow: scroll; so the scrollbars are requested.

> frame.html is a random page from the internet, not
> the original problematic one, 

Then such webpage should be minimal, using very little code. A good frame.html webpage would be one with only

<p>Filler text</p>

<p>Filler text</p>

(...)

> so I think it's not involved.
> 
> I use a 1920x1200 resolution, just FYI. With different resolutions scrolling
> might behave differently.

The testcase.html page has problems with calculations and CSS-overcoding, CSS-overdeclaring though. Also, the correct doctype decl. should be transitional not frameset.

I see what you mean now by "If I scroll the image is screwed up with horizontal lines.
It looks like there is a small overflow, it does not count the scroll bar of
the external div.
(...)
iframe contents are screwed up with horizontal lines.
"

Your bug is about proper painting when scrolling.

Ok. I can reproduce the problem you see when scrolling the iframe.

regards, Gérard
Comment 7 Gérard Talbot (no longer involved) 2011-12-30 17:25:57 UTC
Semi-reduced testcase:

http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/Bug289787-iframe-painting-when-scrolling.html

I'll reduce it later.

At line 134

  div#contents
  {
  border-top: black ridge 2px;
  position: absolute;
  height: 85%;
  left: 12%; 
  margin-right: 0;
  overflow: scroll;
  padding-left: 0.5%;
  top: 11%;
  width: 87.5%;
  }

If you replace 'height: 85%' with 'height: 80%' and remove 'overflow: scroll', then the effects of the bug should not happen. Your CSS code is miscalculating some issues. Borders are not taken into consideration, into account in the code.
Also, 
"Any space taken up by the scrollbars should be taken out of (subtracted from the dimensions of) the containing block formed by the element with the scrollbars. "
http://www.w3.org/TR/CSS21/visufx.html#overflow

regards, Gérard
Comment 8 Gérard Talbot (no longer involved) 2012-06-27 18:33:15 UTC
Praise,

In your webpage, your height calculations do not take into consideration, into account the borders and the height of generated horizontal scrollbar. So, there is overlapping occuring... although such overlapping ("sovrapposizione") should not cause the improper painting when scrolling that we see. 

By default, div do not have paddings and do not have margins.

Nevertheless, I have been able to create a pretty-well-reduced test (I think it can still be furthermore reduced) out of your webpage and one where there is no overlapping of div and one where we still see improper painting occuring when scrolling the absolutely positioned iframe.

So, I'm CONFIRMING this bug report.

I am using
KDE Platform Version: 4.8.4
Konqueror version: 4.8.4 (with KHTML rendering engine)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-25-generic-pae i686 (32bits)
Distribution: Kubuntu 12.04 LTS
here.

Summary field, Version field, URL field and Keywords field have been updated.

Gérard
Comment 9 Christoph Cullmann 2024-05-06 18:39:33 UTC
Dear user,

KHTML (and KJS) was a long time more or less unmaintained and got removed in KF6.

Please migrate to use a QWebEngine based HTML component.

We will do no further fixes or improvements to the KF5 branches of these components beside important security fixes.

For security issues, please see:

https://kde.org/info/security/

Sorry that we did not fix this issue during the life-time of KHTML.

Greetings
Christoph Cullmann