Closed Bug 118862 Opened 23 years ago Closed 23 years ago

body crops when div resized with setTimeout function in frames

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 124431
mozilla1.0

People

(Reporter: m_vitaly, Assigned: attinasi)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.7) Gecko/20011226
BuildID:    2001122617

happens on Mozilla 0.9.7 not less (0.9.6 is fine)
This bug happens when i try to resize a DIV element within 'setTimeout'
function, like this:

setTimeout('a()',1000);

function a() {
  document.getElementById('divbug').style.width=100;
  document.getElementById('divbug').style.hieght=100;
}

body get's resized (cropped)


Reproducible: Always
Steps to Reproduce:
0. use mozilla 0.9.7 not less
1. goto http://www.topixoft.com/moz-bug/

Actual Results:  The body got cropped and i couldn't get popup menu on the rest
of the frame space.

body crops like this:
body height = layer top + layer height
body width = layer left + layer width

Expected Results:  Body stays filled on the whole frame, only the DIV layer resizes

Haven't found workaround, except for:
- not to use frames , DUH
- not to resize the layer within the setTimeout function

It worked on mozilla 0.9.6
now when i've installed 0.9.7 it doesn't work
Confirming bug on WinNT, Mozilla binary 200200102xx.

When you load the site, look quickly at the left frame. You see
a small red <DIV> on a blue body. But once the <DIV> is resized,
you see the red <DIV> on a mostly white background. The blue is now
just a small stripe to the left of the <DIV>.

Browser, not engine. Reassigning to DOM Style -
OS: Linux --> All.
Assignee: rogerl → jst
Status: UNCONFIRMED → NEW
Component: Javascript Engine → DOM Style
Ever confirmed: true
OS: Linux → All
QA Contact: pschwartau → ian
Changing the style properties of the div in the left frame in the testcase does
weird things to the document in the left frame. Right clicking in the frame
shows the wrong items in the context menu, it seems like mozilla gets confused
and doesn't know what you clicked on.

I don't see the DOM code doing anything wrong here though, over to layout for
further investigation.
Assignee: jst → attinasi
Component: DOM Style → Layout
QA Contact: ian → petersen
Well it seems to be a very common bug because i found another casein which it
resizes the body withh all the same symptoms (no right-clicks, white body).

In this case it does it after a <BUTTON ...
onClick="parent.framename.location='any url here'">Click here</BUTTON>

When you click the button the body of the document which contains the BUTTON tag
gets cropped.

Note happens only with frames.

URL for Reproduction:
http://www.topixoft.com/moz-bug2/

Update the bug's description to contain this situation too.
Please update the bug's target milestone to 0.9.8 or 0.9.9 if 0.9.8 is freezed
already.
Happens also with <INPUT TYPE="button" onClick=".....
verifying that any type of form submission or onclick event that causes activity
in another frame is making the frame crop to encase the elements on the page
only.  A workaround for this temporarily from a coding standpoint is to put the
page in a table with no margin/padding and make the margin-bottom style very
large (assuming you aren't using scrollbars)...
Reassigning to John.
Assignee: attinasi → jkeiser
Target Milestone: --- → mozilla1.0
Summary: body crops when div resized with setTimeout function in frames → body crops when div resizith setTimeout function in frames
Keywords: regression
Reassigning to Marc.
Marking nsbeta1+
Assignee: jkeiser → attinasi
Keywords: nsbeta1+
I've installed Mozilla 0.9.8 and noticed a strange thing:
after I load a page and the body gets resized,
I change the theme (without restarting mozilla) and it realods the page perfectly...
Another symptom:
When I load the page and resize/maximize/unmaximize the window, the bug gets
corrected.
Workaround,
put this somewhere in your page:

<DIV STYLE="position:absolute;top:2000px;left:2000px">
&nbsp;
</DIV>

Should work everywhere, works here...
Summary: body crops when div resizith setTimeout function in frames → body crops when div resized with setTimeout function in frames
This is related to the scrolling=no issue for a HTML frame.
If you change the left frame to be scrolling=auto, the painting issue is
resolved.

*** This bug has been marked as a duplicate of 124431 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Component: Layout → HTMLFrames
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: