Closed
Bug 188454
Opened 22 years ago
Closed 20 years ago
Mozilla can not display Java applet with relative "width" attribute correctly when the applet is inside table
Categories
(Core Graveyard :: Java: OJI, defect)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: jerry.tan, Assigned: yuanyi21)
References
()
Details
(Whiteboard: fixed_in_tiger)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212 Visit this page: http://www.mozilla.org/quality/browser/front-end/testcases/oji/objecttest7.html You can see the original applet and some applets with "width" attribute as following: applet width=25% applet width=15% applet width=10% They should be in defferent width, but not in unix platform. Reproducible: Always Steps to Reproduce: 1. 2. 3. I know there may have some bug like this has been fired on bugzilla, lets discuss the issue here, and mark others as dup of this one.
*** Bug 119185 has been marked as a duplicate of this bug. ***
There are some basic info about this bug. first,it only happens on unix platform, not windows platform, second, if the applet with % width is not inside table, it will show correctly.
In the testcase, the applet is inside one table. table's reflow process can be divided into two step, first, give unconstrained width reflow childen, childen will calculate their own width and height, after it, table will balance column width, then do second reflow. during first reflow, (you can see the function of nsObjectFrame::Reflow()), GetDesiredSize(), it will set metrics.width as 0. then do second reflow, GetDesiredSize(), will set metrics.width as one calculated value, not 0. The problem is that in this case, nsObjectFrame::Reflow will be called multiple times, and UNIX JPI function will be called multiple times, it only set the applet's width as the value of first reflow process, which is 0.
Comment 4•22 years ago
|
||
on JPI side, the resize function should be added into setWindow method, on browser side, we should investigate width=0 is valid or invalid. or should browser filter width=0. html 4.0: http://www.w3.org/TR/html4/struct/objects.html#h-13.4
Comment 5•22 years ago
|
||
according to awt 's requirement, JPI will filter width = 0.
Status: NEW → ASSIGNED
Comment 6•22 years ago
|
||
I'm having the same bug, ie. mozilla freezes when I set relative width to an applet inside a table. I'm on win2k, so unix is not the only platform where this bug occurs. I'm using : Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212 For my case I was able to create a workaround by setting the width onload by javascript. I will give you a snippet, maybe it can help some others : <body onload="appletwidth()"> ...... <script> function appletwidth () { document.getElementById("applet").width = document.getElementById ("td").offsetWidth - 416 } </script> ....... <td id="td"><img src="/img/menu/nav.gif" height=15 width=416 border=0 vspace=0 hspace=0><applet code="somecodebase" archive="someurl" width=200 height=15 id="applet"> <param name=font value="Verdana,,12"> <param name=target value="_self"> <param name=background value="#FFFFFF"> </applet></td> ...... </body> As you see, I first set an absolute width to the applet and onload I read the width of the parent td, and as I know that there is just another image with a width of 416 I can set the applet also to an absolute width so both elements will cover the full td width. Works also in ie. 6 (maybe also with IE. 5+).
Comment 7•21 years ago
|
||
This will be fixed in jre1.5
Regarding width=0 height=0: I've found that up to 1.4.2_beta, width=0 height=0 applets would load, but from 1.4.2_03 and 1.5.0 both fail to load applets with width=0 and height=0. See http://bugzilla.mozilla.org/show_bug.cgi?id=214321#c7 bug 243321 comment 7 While I'm not sure of the "legality" of having applets with zero sizes, it certainly is useful in combination with LiveConnect. (but not critical, because the applet can be hidden in other ways).
Comment 10•21 years ago
|
||
In order to support applet with relative width and height, we have to reject 0 width or 0 height. Since browser side will pass 0 width(heoght) in case when the applet is shown with relative width and height. Before 1.4.2_03, I believe the relative width/height can't be shown in some cases.
Assignee | ||
Comment 11•20 years ago
|
||
*** Bug 240314 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 12•20 years ago
|
||
now it's fixed in jre 1.5.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•