130 Commits

Author SHA1 Message Date
dbaron%fas.harvard.edu
0936aaafab Fix event targetting bugs by using paint layers in GetFrameForPoint, testing for visibility, and trying GetFrameForPoint on additional views if one fails. r=joki@netscape.com(, hyatt@netscape.com) b=12232,20051,21304,24474,26785, and remaining issues from 23161.
git-svn-id: svn://10.0.0.236/trunk@63689 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-22 02:43:08 +00:00
karnaze%netscape.com
4b40120aae bug 7741 - handling of overlapping rowspans, r=troy.
git-svn-id: svn://10.0.0.236/trunk@59648 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-03 14:04:49 +00:00
troy%netscape.com
60471abd92 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.


git-svn-id: svn://10.0.0.236/trunk@58373 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-22 01:16:50 +00:00
karnaze%netscape.com
ff253260b5 bugs 19061, 9879 - each top level row group gets its own cell map; CellData reduced to 4 bytes.
git-svn-id: svn://10.0.0.236/trunk@57635 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-13 05:29:38 +00:00
karnaze%netscape.com
6ffe908f39 incremental cell map, columns. Bugs 12122, 21544. r=troy,hyatt a=hofmann
git-svn-id: svn://10.0.0.236/trunk@55939 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-13 22:56:31 +00:00
hyatt%netscape.com
7e24c61109 Implementing a generalized recycler and arena for all layout frames. Hoping to improve
bug #9489.  Should also definitely fix bug #15916. r=troy


git-svn-id: svn://10.0.0.236/trunk@55321 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-04 23:49:50 +00:00
tbogard%aol.net
ae5a81e394 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc
git-svn-id: svn://10.0.0.236/trunk@54392 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 06:03:41 +00:00
troy%netscape.com
3f61543a91 WillReflow/DidReflow changes and changes to the way view positioning
and sizing works


git-svn-id: svn://10.0.0.236/trunk@53998 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 15:33:29 +00:00
dmose%mozilla.org
92d791b7b0 updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
troy%netscape.com
3513334988 Moved a bunch of stuff out to a nsIFrameDebug interface
git-svn-id: svn://10.0.0.236/trunk@52427 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 22:12:45 +00:00
troy%netscape.com
248afe72e1 b=17573. Changed mRowIndex to be signed integer (was unsigned integer) but
field. This allows it be negative, which some of the table code is depending
on


git-svn-id: svn://10.0.0.236/trunk@52358 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-31 03:15:52 +00:00
troy%netscape.com
de2a95b57c Space reduction. We now save 8 bytes per row frame by eliminating the max
top/bottom margin data members which are no longer needed


git-svn-id: svn://10.0.0.236/trunk@52217 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-29 14:40:58 +00:00
troy%netscape.com
5859acba05 Space reductions for nsTableRowFrame. Changed mInitializedChildren to be a
frame state bit, and changed mMinRowSpan and mRowIndex to be packed into
one 32-bit field. Total savings of 8 bytes per row frame


git-svn-id: svn://10.0.0.236/trunk@51663 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-23 23:08:30 +00:00
kipp%netscape.com
eea3ab916a Updated SizeOf methods to not waste space when doing a non-debug build
git-svn-id: svn://10.0.0.236/trunk@45397 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-01 01:02:16 +00:00
kipp%netscape.com
c9002f20df Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot
git-svn-id: svn://10.0.0.236/trunk@45274 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 03:09:40 +00:00
troy%netscape.com
c45af7c51f Changing tables to return max element size during an incremental reflow
git-svn-id: svn://10.0.0.236/trunk@45209 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-30 22:30:32 +00:00
hyatt%netscape.com
0cf34ce7ba Changes to the cell map to support incremental insertion and removal of rows. Currently
only used by the tree widget.


git-svn-id: svn://10.0.0.236/trunk@45097 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-30 00:01:09 +00:00
hyatt%netscape.com
fe110b68b9 Tweaks to be able to see the RowReflowState over in trees
git-svn-id: svn://10.0.0.236/trunk@44961 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-28 00:43:53 +00:00
karnaze%netscape.com
42a0e08a9e bug 1271 - percentage height cells, added GetNumCellsOriginatingInRow, fixed GetNumCellsOriginatingInCol
git-svn-id: svn://10.0.0.236/trunk@44534 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-25 21:49:18 +00:00
troy%netscape.com
b583c2d31c Optimized incremental reflow and split some code out into member functions
so there's less dusplication of code


git-svn-id: svn://10.0.0.236/trunk@44017 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-21 20:16:32 +00:00
troy%netscape.com
9733d9f0ae Changed to new command reflow handling
git-svn-id: svn://10.0.0.236/trunk@41933 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 02:41:27 +00:00
karnaze%netscape.com
382b9863de new nsCellMap, BasicTableLayoutStrategy, plus various fixes to table
frames while testing the new cell map and strategy


git-svn-id: svn://10.0.0.236/trunk@41454 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-28 08:09:02 +00:00
kipp%netscape.com
de60169b67 Reworked frame factory methods; fixed bug 4519
git-svn-id: svn://10.0.0.236/trunk@31154 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-11 22:03:29 +00:00
karnaze%netscape.com
4c449cb10f support for right-to-left direction
git-svn-id: svn://10.0.0.236/trunk@28645 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-22 03:51:58 +00:00
troy%netscape.com
b435e27ac9 Removed SetInitialChildList() and now we inherit the base class version
which does the same thing


git-svn-id: svn://10.0.0.236/trunk@27268 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-13 01:11:46 +00:00
troy%netscape.com
b51e46e943 Removed nsIFrame::CreateContinuingFrame()
git-svn-id: svn://10.0.0.236/trunk@21866 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-25 05:31:15 +00:00
troy%netscape.com
70b1ea8e3f Added frame type atoms for several table frame classes
git-svn-id: svn://10.0.0.236/trunk@21708 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-24 05:54:31 +00:00
troy%netscape.com
957c46c254 More work-in-progress for table pagination
git-svn-id: svn://10.0.0.236/trunk@21452 18797224-902f-48f8-a5cc-f745e15eee43
1999-02-22 03:28:00 +00:00
kipp%netscape.com
4e355995e6 Spanked away SizeOf methods and nsIListFilter
git-svn-id: svn://10.0.0.236/trunk@17895 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:00:50 +00:00
kipp%netscape.com
eaee82d4b3 Revised frame Paint API
git-svn-id: svn://10.0.0.236/trunk@16666 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-18 15:54:23 +00:00
troy%netscape.com
a8a9f7aeaa Changed SetRowIndex() to be inline and non-virtual
git-svn-id: svn://10.0.0.236/trunk@16494 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 04:31:38 +00:00
troy%netscape.com
37b2438c51 Removed InitRowData() member function which is now obsolete
git-svn-id: svn://10.0.0.236/trunk@16493 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-16 04:08:36 +00:00
troy%netscape.com
01f27b2a31 Added Init() member function to nsIFrame
git-svn-id: svn://10.0.0.236/trunk@15682 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-03 06:31:43 +00:00
buster%netscape.com
6f5b201dbe implemented table height algorithms. also made a slight modification to
the way a table finds its container's width.


git-svn-id: svn://10.0.0.236/trunk@14973 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-20 01:01:25 +00:00
kipp%netscape.com
b527c7f026 Added DumpRegressionData; revised ListTag; added GetFrameName
git-svn-id: svn://10.0.0.236/trunk@14946 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-19 17:22:29 +00:00
joki%netscape.com
f1462f4d55 Reworking internal event code to use nsIFrame::GetFrameForPoint
Adding new functionality through nsEventStateManager (cursor change, enter/exit events, tab navig)


git-svn-id: svn://10.0.0.236/trunk@14864 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-18 05:25:26 +00:00
troy%netscape.com
1c0da71da3 Renamed Init() to SetInitialChildList() and added an additional parameter
for the name of the child list


git-svn-id: svn://10.0.0.236/trunk@14333 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-10 06:05:32 +00:00
buster%netscape.com
96b01811a9 fixed the bug where events were not getting passed down to content inside
of cells with rowspans.  Basically, I just override HandleEvent() in nsTableRowGroupFrame
to ask nsTableRowFrame::Contains(), rather than the default action which is to
just use the child's rect.


git-svn-id: svn://10.0.0.236/trunk@14218 18797224-902f-48f8-a5cc-f745e15eee43
1998-11-07 00:36:37 +00:00
buster%netscape.com
cf08e060ad some extremely preliminary work for styleChanged incremental reflow
git-svn-id: svn://10.0.0.236/trunk@13722 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 07:57:44 +00:00
buster%netscape.com
75468d7b44 all containers now decend from nsHTMLContainerFrame
all "unknown frame" incremental reflow support methods now
replaced with nsHTMLContainerFrame::AddFrame and ::RemoveFrame


git-svn-id: svn://10.0.0.236/trunk@13209 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 17:45:07 +00:00
buster%netscape.com
066a8fdc3f incremental reflow now includes insert/append/delete cell
git-svn-id: svn://10.0.0.236/trunk@13201 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-20 15:59:56 +00:00
buster%netscape.com
4a9bcccc01 lots of work for incremental reflow when the target frame is a table frame
git-svn-id: svn://10.0.0.236/trunk@12807 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-14 16:32:45 +00:00
troy%netscape.com
e191c422d9 Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure


git-svn-id: svn://10.0.0.236/trunk@11749 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-02 04:10:00 +00:00
troy%netscape.com
7eac0bfdac Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface


git-svn-id: svn://10.0.0.236/trunk@11646 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-01 04:46:11 +00:00
buster%netscape.com
0c00c9f654 removed lots of assumptions about frame ordering and containership.
table frames no longer assume they are n levels below the inner table frame
table frames no longer assume their child frames are always the expected type of
frame.  Now they check the display type and use that as sufficient proof that the frame
is of the right type.  This implies a heavy reliance on the frame construction code to do
the right thing and always stamp out the right kind of frame for a given display type.


git-svn-id: svn://10.0.0.236/trunk@10922 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-24 16:37:22 +00:00
buster%netscape.com
4cca9446d0 all frame initialization and related logic has moved into the various table frames' Init() methods
from their respective InitalReflow() methods.
table-layout=fixed now completely skips pass1 reflow and doesn't require maxElementSize
information, saving a tremendous amount of time during initial reflow.


git-svn-id: svn://10.0.0.236/trunk@10841 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-23 21:48:26 +00:00
troy%netscape.com
8b2676b6e1 Frame construction changes for tables
git-svn-id: svn://10.0.0.236/trunk@10159 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-16 17:19:20 +00:00
buster%netscape.com
1c8d847337 nsStyleConsts.h added some HTML 4 consts for tables
nsHTMLAtoms.cpp,h             added some HTML 4 strings for tables
nsHTMLParts.h                 added constructors for new table content classes
nsGenericHTMLElement.cpp,h    added table frame creation, common table attribute parsing
nsHTMLTable*Element.cpp       these are the new table content classes
nsHTMLContentSink.cpp         enabled the new content and removed the old
nsHTMLStyleSheet.cpp          fixed the table style optimizations to work with new content
nsTable*Frame.cpp             these work with the new content


git-svn-id: svn://10.0.0.236/trunk@10047 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-15 17:58:24 +00:00
buster%netscape.com
9a7b48eb26 expanded nsIFrame::List to include nsIListFilter *aFilter param, by default nsnull.
aFilter is useful for determining if a frame should output itself during
a List().  In any event, the children of the frame are always processed.
added nsIListFilter, an interface for any object that wants to act like a filter for frame dumps
added   static NS_LAYOUT nsIListFilter * GetFilter(nsString *aFilterName);
currently, only TableListFilter implements nsIListFilter.
in response to List(...TableListFilter), the frame model is dumped in a way that is useful
for table layout regression testing.  Currently this is controlled by command line switches on the viewer app.


git-svn-id: svn://10.0.0.236/trunk@9156 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-02 21:59:54 +00:00
buster%netscape.com
ec0b3d1318 any table with a nonsense rowspan lays out better
git-svn-id: svn://10.0.0.236/trunk@6344 18797224-902f-48f8-a5cc-f745e15eee43
1998-07-24 00:43:09 +00:00