Closed Bug 97934 Opened 23 years ago Closed 19 years ago

NS_FRAME_SYNC_FRAME_AND_VIEW bit is write-only (free framestate bit)

Categories

(Core :: Layout, defect, P2)

defect

Tracking

()

VERIFIED DUPLICATE of bug 287338
Future

People

(Reporter: dbaron, Assigned: dbaron)

References

Details

According to http://lxr.mozilla.org/seamonkey/search?string=SYNC_FRAME_AND_VIEW
, the only places where the NS_FRAME_SYNC_FRAME_AND_VIEW bit is read are where
it's copied from one frame's state to another.  So we should either:

 (1) figure out why this state flag exists and make it do something, or
 (2) remove the code that sets it in various places

The description of the bit (in nsIFrame.h) is:

  // If this bit is is set, then the view position and size should be
  // kept in sync with the frame position and size. If the bit is not
  // set then it's the responsibility of the frame itself (or whoever
  // created the view) to position and size its associated view
  #define NS_FRAME_SYNC_FRAME_AND_VIEW                  0x00000004

Troy added it on 1998-10-16, with an implementation that read the bit in
nsFrame.cpp (rev 3.7), and removed that implemenation in rev 3.185 after
commenting it out in revision 3.178, with the comment:

  WillReflow/DidReflow changes and changes to the way view positioning
  and sizing works

The protocol we use now, which is (I think) that if you move a frame you're
responsible for repositioning its view or any child views inside it, seems to be
sensible and work correctly (except for the listbox frame, which is derived from
the native scroll frame) -- I'm having trouble with it for my changes for bug
86947, which is why I noticed this.

So my inclination is to remove the places that are setting it and the bit
itself, since probably any attempt to do something useful with it wouldn't be
remotely close to working anymore.
Status: NEW → ASSIGNED
Priority: -- → P2
Target Milestone: --- → mozilla0.9.5
Sounds like we ought to remove it.
Target Milestone: mozilla0.9.5 → mozilla0.9.6
Blocks: 103670
Target Milestone: mozilla0.9.6 → mozilla0.9.7
Target Milestone: mozilla0.9.7 → mozilla0.9.8
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Target Milestone: mozilla0.9.9 → Future
roc, if you're ok with this bit going bye-bye, I think I'll remove it together
with the background image bit...
Summary: NS_FRAME_SYNC_FRAME_AND_VIEW bit is write-only → NS_FRAME_SYNC_FRAME_AND_VIEW bit is write-only (free framestate bit)
Blocks: 211660

*** This bug has been marked as a duplicate of 287338 ***
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.