Bug 66591 - Embedded Flash on one certain website does not show up (Flash works elsewhere)
Summary: Embedded Flash on one certain website does not show up (Flash works elsewhere)
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml renderer (show other bugs)
Version: 4.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-25 20:07 UTC by Paul Hoepfner-Homme
Modified: 2005-03-16 19:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Hoepfner-Homme 2003-10-25 20:07:05 UTC
Version:           4.0 (using KDE 3.1.3)
Installed from:    Gentoo
Compiler:          gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
OS:          Linux (i686) release 2.4.20-gentoo-r5

This webpage:
http://archives.math.utk.edu/visual.calculus/3/mvt.3/2.html
should show an embedded Flash on the page, but Konqueror doesn't load it for some reason. Konqueror loads Flash on other websites with no problems. And Mozilla loads the embedded Flash on this page fine, it's just Konqueror. And if I load the SWF file directly in Konqueror, it works, just not when it's embedded in the page. It's very mysterious.
Comment 1 Stephan Kulow 2003-10-25 20:16:38 UTC
did you try changing the browser ID for that page? 
Comment 2 Paul Hoepfner-Homme 2003-10-25 20:35:07 UTC
Yes, just tried that. I loaded the page with an ID of Internet Explorer 6.0 for XP, and it didn't make a difference. I don't see why it would anyway, because when I go "View Document Source" the page contains the following:

<embed src="movie2.swf" width=550 height=400 loop=false play=true quality=high>

Hold on... I just noticed it's between <object> tags. Okay, I edited the page and removed the <object> tags, and now the Flash appears.

So it looks like Konqueror is incorrectly hiding embedded content because it's between <object> tags. Other browsers like Mozilla and IE don't do this.
Comment 3 George Staikos 2003-11-22 00:34:10 UTC
It's there, it's just the wrong size.

*** This bug has been marked as a duplicate of 66555 ***
Comment 4 George Staikos 2003-12-01 18:55:11 UTC
Still a problem, but not nsplugin related as kswfdec does the same thing.
Comment 5 George Staikos 2003-12-01 18:56:05 UTC
Can't be an NSPlugin bug if it happens to non-nsplugins too.
Comment 6 JW 2004-12-09 04:19:44 UTC
Same problem here on other pages.

The flash is between object tags, it works on firefox, but not in konqueror.

The flash does not show, but when I right click on it, I get the Flash context menu with "About flash 7", etc...
Comment 7 JW 2004-12-09 22:00:51 UTC
This is still not fixed in KDE 3.3.2
Comment 8 JW 2004-12-28 23:18:55 UTC
FIXED HERE :

The object tags had nothing to do with the problem.

I was able to fix the problem by removing 1 parameter between the object tags:

<param name="Play" value="-1">

If I remove this, the flash plays fine.

This should be fixed as with IE and mozill/firefox it plays fine with this parameter.
Comment 9 George Staikos 2005-03-16 18:52:31 UTC
The bug here is very clearly a KHTML problem.  width=550 and height=400 are attributes of the embed, not the object.  KHTML is ignoring them because of this.  Put them on the object and it works properly.
Comment 10 George Staikos 2005-03-16 19:09:04 UTC
CVS commit by staikos: 

support: <object><embed width= height=></object> properly (width and height
were not passed up and across)
BUG: 66591


  M +6 -0      ChangeLog   1.401
  M +8 -0      rendering/render_frames.cpp   1.196


--- kdelibs/khtml/ChangeLog  #1.400:1.401
@@ -1,2 +1,8 @@
+2005-03-16  George Staikos  <staikos@kde.org>
+
+        * rendering/render_frames.cpp: some sites put width and height on <embed>
+        inside <object> instead of on <object>, so push that attribute up to
+        <object> and report it to the plugin
+
 2005-03-14  Germain Garand  <germain@ebooksfrance.org>
 

--- kdelibs/khtml/rendering/render_frames.cpp  #1.195:1.196
@@ -663,6 +663,14 @@ void RenderPartObject::updateWidget()
           if (!objbase->getAttribute(ATTR_WIDTH).isEmpty())
               params.append( QString::fromLatin1("WIDTH=\"%1\"").arg( objbase->getAttribute(ATTR_WIDTH).string() ) );
+          else if (!embed->getAttribute(ATTR_WIDTH).isEmpty()) {
+              params.append( QString::fromLatin1("WIDTH=\"%1\"").arg( embed->getAttribute(ATTR_WIDTH).string() ) );
+              objbase->setAttribute(ATTR_WIDTH, embed->getAttribute(ATTR_WIDTH));
+          }
           if (!objbase->getAttribute(ATTR_HEIGHT).isEmpty())
               params.append( QString::fromLatin1("HEIGHT=\"%1\"").arg( objbase->getAttribute(ATTR_HEIGHT).string() ) );
+          else if (!embed->getAttribute(ATTR_HEIGHT).isEmpty()) {
+              params.append( QString::fromLatin1("HEIGHT=\"%1\"").arg( embed->getAttribute(ATTR_HEIGHT).string() ) );
+              objbase->setAttribute(ATTR_HEIGHT, embed->getAttribute(ATTR_HEIGHT));
+          }
 
           if ( embed ) {