Граф коммитов

257 Коммитов

Автор SHA1 Сообщение Дата
karnaze%netscape.com 0f0042a430 bug 127286 (part II due to cvs problems) - Handle splitting of floaters when lines impacting them are outside the block containing the floaters. sr=kin, r=alexsavulov 2002-12-04 00:58:52 +00:00
dbaron%fas.harvard.edu e63a11c0e8 Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Remove previous fix for bug 151620. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson 2002-06-25 21:16:17 +00:00
karnaze%netscape.com 1faf4c0592 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
waterson%netscape.com e3554c37cc Bug 129115. Change the reflow path from a list structure to a tree structure to amortize state recovery and damage propagation costs. Eliminate table timeout reflows. r=kin,karnaze,rods,rbs; sr=attinasi 2002-05-10 18:22:41 +00:00
hwaara%chello.se 92f889abb0 #13702, just fixing some minor typos in the documentation. r=bzbarsky 2002-04-13 19:47:15 +00:00
waterson%netscape.com 4d89367b86 Bug 135146. Implement NS_FRAME_REFLOW_ROOT to allow reflows for <textarea> and <input type='text'> to be dispatched from the scroll frame within the nsGfxTextControlFrame2. r=kin, sr=attinasi 2002-04-11 01:13:41 +00:00
karnaze%netscape.com e96121a916 bug 132334 - add nsIFrame::RemovedAsPrimaryFrame which allows the text control frame to access its editor before Destroy (when it is too late). a=asa, adt=jamiejr, sr=attinasi, r=jkeiser 2002-04-06 22:16:12 +00:00
karnaze%netscape.com 9acf51392f bug 131020 - process special height reflow when initiator is the containing table. a=roc+moz, sr=attinasi, r=bernd. 2002-04-01 06:46:17 +00:00
karnaze%netscape.com 7bb0f90ec2 bug 130550 - Added nsIFrame::CanPaintBackground, to treat nsTableOuterFrame as transparent. a=asa, sr=attinasi, r=roc+moz 2002-03-31 22:43:40 +00:00
dbaron%fas.harvard.edu 8e8fb14ea0 Fix 2 cases where ReResolveStyleContext was broken, causing serious problems with dynamic style reresolution. Change nsIFrame::GetStyleContextProvider to GetParentStyleContextFrame, always use its result rather than using the parent frame in some cases, and move a bit of the complexity into the GetParentStyleContextFrame implementations. Fix block-within-inline case (bug 129350) using a special-previous-sibling frame property and ensuring that NS_FRAME_IS_SPECIAL is copied when frames are split. Fix out-of-flow frame case (bug 88154) by going to the placeholder map and by parenting the placeholder frame style contexts to the style context from their frame parent rather than the out-of-flow frame. b=129350 r=attinasi sr=hyatt a=asa 2002-03-27 02:38:13 +00:00
karnaze%netscape.com 303ce25eb2 bug 92868 - Simplified the style context provider mechanism, changed frame manager to re-resolve the provider first and to use correct style context in a few other places. a=roc, sr=attinasi, r=dbaron. 2002-03-12 15:21:35 +00:00
shaver%mozilla.org 146f2a192d reversion of patch for 92868, to repair severe regression (129827, a=drivers 2002-03-10 06:16:01 +00:00
karnaze%netscape.com 789e7e3040 bug 92868 (also bugs 51037, 90960, 91443) - Simplified the style context provider mechanism, changed frame manager to re-resolve the provider first and to use correct style context in a few other places, sr=roc, r= bernd, a=asa. 2002-03-08 15:34:33 +00:00
kin%netscape.com d38cee3cd4 Fix for bug 83650 (textarea control has problems with caret positioning at end)
and bug 97207 (textarea pastes sometimes misplaced by failing to reposition).

  - Added new utility method GetOriginToViewOffset().

  - Modified nsPresShell::HandleEvent(), nsBoxFrame::GetFrameForPoint(),
    and nsContainerFrame::GetFrameForPointUsing() to factor in the
    offset from GetOriginToViewOffset() to insure that the point
    used is always transformed into the correct coordinate system.

Files modified:

    mozilla/layout/base/public/nsIFrame.h
    mozilla/layout/html/base/src/nsContainerFrame.cpp
    mozilla/layout/html/base/src/nsFrame.cpp
    mozilla/layout/html/base/src/nsFrame.h
    mozilla/layout/html/base/src/nsPresShell.cpp
    mozilla/layout/xul/base/src/nsBoxFrame.cpp

r=kmcclusk@netscape.com  sr=sfraser@netscape.com
2002-02-07 22:39:15 +00:00
waterson%netscape.com 854831c91c Bug 115113. Eliminate nsIReflowCommand, and just use nsHTMLReflowCommand directly. r=karnaze, sr=attinasi. 2001-12-17 22:39:59 +00:00
karnaze%netscape.com 748ebbcd0d bug 113424 - mechanism for percent height frames inside table cells to receive special height reflow. sr=attinasi, r=alexsavulov 2001-12-07 14:51:12 +00:00
dbaron%fas.harvard.edu 3645b0e30a Fix HP bustage by moving GetStyleData function templates from nsStyleStruct.h to nsIFrame.h and nsIStyleContext.h b=111883 2001-11-28 06:50:13 +00:00
hyatt%netscape.com a802d9dfe8 SetParent in nsIFrame should not be inlined. r=evaughan, sr=hewitt 2001-10-30 00:01:39 +00:00
dbaron%fas.harvard.edu 157c017816 Bug 86947:
Make the line list doubly linked and access it through a list class and iterators.
Stop recomputing margins on all of the children of each block in the reflow chain (which causes O(N^2) state recovery during incremental reflow).  Instead, add a second dirty bit to the lines and walk backwards through the line list to recompute vertical margins only when either dirty bit is set and the previous line was not reflowed.  Add nsIFrame::IsEmpty to identify frames through which margins collapse.
Fix O(N^2) propagation of float damage by maintaining a set of intervals damaged by floats (bug 61962) and be sure to damage the correct areas (bug 48138).
Introduce nsCollapsingMargin to do correct collapsing of combinations of positive and negative margins (bug 50142).
Clean up some odds and ends and fix another smaller O(N^2) problem in nsBlockFrame::AddFrames.
r=attinasi, rbs  sr=waterson
2001-10-25 01:08:40 +00:00
mkaply%us.ibm.com 671634a107 Fix for OS/2 and AIX bustage 2001-10-24 19:12:02 +00:00
hyatt%netscape.com 0c8c1348b3 Fix for 104336, deCOMtaminate rulenode, rulewalker, frames, r=dbaron, sr=waterson 2001-10-24 00:01:09 +00:00
dougt%netscape.com b5ba390898 Extraneous Symbol Removal. Patch by Jon Smirl jonsmirl@mediaone.net. r=dougt@netscape.com, sr=alecf@netscape.com. Bug 104172 , 104316 , 104420 , 104426 , 104461 , 104511 , 104527 2001-10-23 01:37:21 +00:00
gerv%gerv.net 4e12e44b2f Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
karnaze%netscape.com e908dd0313 bug 68998 - added extra param to Paint, PaintChild, PaintChildren used by tables in standard mode. sr=waterson, r=alexsavulov. 2001-09-19 12:35:19 +00:00
hyatt%netscape.com 62d3de24fd Fix for 95475. r=jag, sr=ben, a=dbaron 2001-08-25 02:01:08 +00:00
bryner%netscape.com c1b48b4601 Bug 66617 - if tabbing scrolls page, focus outline doesn't leave first link (second try). r=saari, sr=hyatt. 2001-08-18 07:25:52 +00:00
jgaunt%netscape.com 9f2f88aa48 fix for bug 94768
r=smfr,leaf
sr=hyatt
2001-08-17 03:13:07 +00:00
bryner%netscape.com f108fef5b4 Bug 66617 - When tabbing between links on a page, the focus outline on the
previously focused link would not be redrawn if the tab caused the page to
scroll.  r=valeski, saari, sr=hyatt.
2001-08-10 23:50:05 +00:00
dbaron%fas.harvard.edu 3d51f4ce1a Split nsHTMLReflowMetrics into a separate file (nsHTMLReflowMetrics.h rather than nsIFrame.h). b=64023 r,sr in {waterson, attinasi} 2001-08-01 01:27:50 +00:00
dbaron%fas.harvard.edu aa4fec2b67 Header include dependency cleanup. b=64023 r=jag rs=brendan 2001-07-16 02:40:48 +00:00
ftang%netscape.com 3e782eb254 fix bug 84031. r=simon@softel.co.il sr=kin a=blizzard
fix GetBidiProperty
2001-06-21 12:35:48 +00:00
hyatt%netscape.com b135c5b55a Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson 2001-05-31 22:19:43 +00:00
evaughan%netscape.com d9378cb8f0 Fix for bug #80902
-r jeff@tcbnetworks.com -sr waterson

Fix for bug #80505

-r aaronl, jgaunt -sr brendan
2001-05-17 23:52:32 +00:00
kmcclusk%netscape.com 572c81e29b Use frame bit to indicate if frame has a decendant with a view and use this to optimize nsContainerFrame::PositionChildViews; bug 70211; sr=attinasi@netscape.com r=karnaze@netscape.com 2001-03-30 05:25:49 +00:00
karnaze%netscape.com a81a269978 table reflow coalescing, table reflow face lift. sr=attinasi 2001-03-13 06:38:59 +00:00
erik%netscape.com d0685b0863 bug 71370; sr=erik; dbaron caught an error in yesterday's check-in; the
bidi bit was set in the reserved area; it is now in the right area
2001-03-10 00:15:16 +00:00
erik%netscape.com a6910ae277 bug 71370; author=simon@softel.co.il; r=attinasi; sr=erik; implement bidi
(bidirectional text) for languages such as Arabic and Hebrew; from IBM bidi
project; not part of build yet (due to #ifdef IBMBIDI)
2001-03-09 03:13:03 +00:00
rbs%maths.uq.edu.au b6518223fe Reserve additional frame state-bits - implementations are now only allowed to use the 12 higher bits. The 20 lowest bits are reserved for general use - bug 6841 r=karnaze sr=waterson 2001-02-23 12:31:28 +00:00
pierre%netscape.com 9af01acf22 Reinstate my changes that were backed out 10 days ago. #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. r=attinasi,sr=buster. 2001-02-07 09:57:26 +00:00
rods%netscape.com 99666eed8c This checkin enables mozilla to support the printing of selection, the printing of page ranges, and
the printing of headers and footers.
Printing of selection is implemented by the frames figuring out if they are in the selection and painting
if they or not they they don't paint. This also only allows the printing of the first page of
selections, alothough it is well documented where this is implemeted so it can be removed.
Bugs 63426, 31218, 61075 r=dcone,kmcclusk,erik,buster sr=waterson
2001-01-27 14:09:34 +00:00
mcafee%netscape.com 7ecf530933 Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil 2001-01-25 02:58:12 +00:00
pierre%netscape.com 62bf433a35 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster. 2001-01-20 22:46:54 +00:00
buster%netscape.com 6a93e50850 bug 56432 ()
the problem was a factorial algorithm for finding primary frames.
fixed by added a hinting mechanism that takes advantage of existing
primary frame cache, greatly reducing the cost for the common case.
r=rods
sr=waterson
2001-01-16 22:10:04 +00:00
rods%netscape.com edb0c6270c removing most all NS_DEFINE_IID and replacing them with NS_GET_IID macros
Bug 61274, r=buster sr=waterson
2001-01-04 20:44:42 +00:00
warren%netscape.com cd56c0575b Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc. 2000-10-28 22:17:53 +00:00
warren%netscape.com 9a6d92a433 Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson 2000-10-27 22:43:51 +00:00
attinasi%netscape.com 33c7174943 Added a new method to allow a frame to specify the frame that provides its parent style context. b=45210 r=karnaze 2000-09-12 22:45:33 +00:00
pinkerton%netscape.com fc367b8a1a making CaptureMouse a public interface on nsIFrame r=mjudge for bug 48250. 2000-08-14 22:28:41 +00:00
sfraser%netscape.com 9aa82a567b Fix for bug 25161 -- allow editor to handle pages with forms by implementing user-select and user-input for form controls. r=rods, pierre, mjudge. 2000-08-08 23:38:00 +00:00
pierre%netscape.com 5e553bbece 42864 ('user-select:none' should make children non-selectable) 2000-08-05 04:41:33 +00:00
waterson%netscape.com 4896ee6d33 Bug 46693. Check to see if we CanContinueTextRun() while walking over the frames to FindNextText(). This revives the logic that I nuked when fixing 19051, and keeps you from trying to walk over <br> or other frames to erroneously continue a text run. r=akkana. 2000-07-28 22:29:28 +00:00
waterson%netscape.com 9bd4266798 Bug 19051. Remove code that computed and maintained nsTextRun. Instead, compute 'next text' when required by crawling the frame tree in nsLineLayout::FindNextText(). r=roc+moz@cs.cmu.edu 2000-07-27 05:16:08 +00:00
mjudge%netscape.com 7317580268 46209 one of the last beta 2 blockers. adding ability to frames to tell if part of them is visible. idl change to allow nsISelectionController to give CheckVisibility. PresShell actually has the code for nsGfxTextControlFrame to call. 2000-07-26 11:31:12 +00:00
buster%netscape.com 079914eaf0 fixed bug 29854
r=waterson
2000-06-11 05:25:14 +00:00
kin%netscape.com 1739a10bbd Part2 of fix for bug #39821: Drag and Drop interferes with selection
Made GetSelectionController() a public method on the nsIFrame interface,
so that nsEventStateManager::GenerateDragGesture() has access to it. This
prevents D&D from interfering with selection in Ender-Lite.

    layout/base/public/nsIFrame.h
    layout/events/src/nsEventStateManager.cpp
    layout/html/base/src/nsFrame.h
    layout/html/base/src/nsFrame.cpp

r=buster@netscape.com,brade@netscape.com,cmanske@netscape.com   a=beppe@netscape.com
2000-05-31 03:20:02 +00:00
karnaze%netscape.com 7aea563c64 nsbeta2+ bug 39885 - invalidate minimal areas. optimize reflows when cells don't change size. r=attinasi 2000-05-25 22:40:21 +00:00
waterson%netscape.com b71b209ac7 Bug 36401. Deal with inline-blocks better. Add nsFrameState bit that indicates whether or not a frame is part of a 'special' inline-block hierarchy; use the 'inlineFrameAnnotation' property to remember the next 'special sibling' so that we can traverse correctly; pull methods out of nsCSSFrameConstructor's public API. r=nisheeth,buster 2000-05-25 19:58:51 +00:00
akkana%netscape.com d39b10a680 Partial work on 16311, 32807, 16352: code reorganization/cleanup of word/line/paragraph selection. 2000-05-16 22:48:28 +00:00
mjudge%netscape.com 24e9fbcab6 stealing new bit for frames with their own selection. changing caret to be able to handle multiple selected areas. if the bit doesnt work out i will back it out. 2000-05-04 08:35:42 +00:00
dbaron%fas.harvard.edu 87e19c9cef 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. 2000-03-22 02:43:08 +00:00
vidur%netscape.com d4b67b3219 Fix for bug 9140. Area elements now have event fired for them. r=joki 2000-02-11 01:24:59 +00:00
troy%netscape.com 792c9c1053 r=vidur@netscape.com Performance. Added NS_FRAME_HAS_VIEW frame state flag
so we can quickly tell whether the frame has an associated view
2000-02-03 00:51:37 +00:00
troy%netscape.com 8a78d916a5 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
nisheeth%netscape.com 56525e3574 r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257. 2000-01-12 08:28:24 +00:00
rbs%maths.uq.edu.au f11d46f904 [#ifdef MOZ_MATHML] Added extension to the reflow metrics to support the bounding metrics needed for precise MathML placements. This is a WIP approved by Troy. 2000-01-07 14:36:43 +00:00
troy%netscape.com 138fa22a88 Work-in-progress for having maximum width (needed by tables) be updated
incrementally
1999-12-30 04:15:45 +00:00
troy%netscape.com 85012ab550 Change to how overflow is handled for absolutely positioned elements.
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics
1999-12-06 15:49:53 +00:00
tbogard%aol.net af1ce8d410 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +00:00
troy%netscape.com 597b5f236b WillReflow/DidReflow changes and changes to the way view positioning
and sizing works
1999-11-19 15:33:29 +00:00
dmose%mozilla.org 5312eacf8c updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
troy%netscape.com 1585a751fb Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
troy%netscape.com 2b4f236320 Added nsHTMLReflowState.h 1999-10-30 16:16:45 +00:00
troy%netscape.com a12c3d6c5d Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
troy%netscape.com 2ea886f3be Changed view to be stored as a frame property instead of a member data
of nsFrame
1999-10-27 03:56:14 +00:00
troy%netscape.com 87afecabc0 Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
troy%netscape.com f5ba346bdc Removed 5 convenience functions from nsIFrame 1999-10-22 14:53:52 +00:00
peterl%netscape.com a6adfea707 Added namespace ID to the AttributeChanged notification
Part fo the fix for Bug 15153
r=troy
1999-10-15 23:16:45 +00:00
mjudge%netscape.com 3a065e373b bugs 15547,15645,13665,13277,5761, r=akkana,kin,hyatt. fixing selection bugs, keyboard navigation, triple clicking and drag scrolling. get position not a valid call anymore to nsIFrame.h 1999-10-13 01:16:09 +00:00
kin%netscape.com ca92ac282c First pass implementation of selection auto scrolling.
layout/base/public/nsIFrame.h
        - Added GetContentAndOffsetsFromPoint() method. This
          method will eventually replace GetPosition().

    layout/base/public/nsIFrameSelection.h
        - Added HandleDrag() and Start/StopAutoScrollTimer() methods.

    layout/base/src/nsRangeList.cpp
        - Added implementation for HandleDrag() and
          Start/StopAutoScrollTimer() methods.

    layout/html/base/src/nsBRFrame.cpp
        - Added implementation for GetContentAndOffsetsFromPoint().

    layout/html/base/src/nsFrame.cpp
    layout/html/base/src/nsFrame.h
        - Added implementation for GetContentAndOffsetsFromPoint().
        - Added GetClosestViewForFrame() utility method.
        - Modified HandleEvent() to call HandleRelease() which now
          stops the auto scrolling timers.
        - Modified HandleDrag() to call nsIFrameSelection's HandleDrag()
          and Start/StopAutoScrollTimer() methods.

    layout/html/base/src/nsTextFrame.cpp
        - Added implementation for GetContentAndOffsetsFromPoint().
1999-09-29 20:04:05 +00:00
mjudge%netscape.com 2c78141fa6 fixes for M11 a=shaver r=cmanske. this will add 1 enumerator value to en enum in nsIFrame so dont be scared. this is for tweaking selection should not affect anyone outside of selection/editor 1999-09-25 23:33:02 +00:00
peterl%netscape.com ad49316854 removed ReResolveStyleContext
added flag for style tree verify
1999-09-21 07:48:34 +00:00
mjudge%netscape.com eaa78b424a fixes for crasher in tree 1999-09-11 00:18:02 +00:00
mjudge%netscape.com 046cdcb844 changes for peekoffset removal of extra parameters. also fixing some ownership issues with nsIenumerator and the rangelist iterator. fixing also some hit tests for line frames. 1999-09-10 18:29:37 +00:00
peterl%netscape.com de5d9b0b62 added content state changed (vs content changed) notification 1999-09-10 05:50:02 +00:00
mjudge%netscape.com a5ac5b186c adding in begin line and end line enums for selection movement. this allows peeking to the start and end of and like given a content offset for any frame. 1999-09-07 23:40:17 +00:00
peterl%netscape.com 09ea141535 added accessors to additional style contexts 1999-09-03 23:35:14 +00:00
kipp%netscape.com f808fbb193 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00
kipp%netscape.com 6361c09f47 Added NS_FRAME_IS_UNFLOWABLE bit for handling frame trees that are too deep 1999-08-27 21:39:26 +00:00
mjudge%netscape.com 5531d305c5 changes to allow selection in "dead" space between frames. still need work on "outside" and not in the window at all, but this is a very good chunk of the issue and it will solve many many bugs on my place. good for dogfood as well :) 1999-08-24 21:51:47 +00:00
troy%netscape.com 05fb1d7f25 Changed root frame class over to new reflow command handling 1999-07-27 14:15:42 +00:00
troy%netscape.com 08c5b45b84 Defined it so that the NS_FRAME_IS_DIRTY flag is set for newly added frames in
SetInitialChildlist(), AppendFrames(), InsertFrames(), and ReplaceFrame()
1999-07-24 02:33:07 +00:00
troy%netscape.com 1df4c2d244 Added ReplaceFrame() member function to nsIFrame 1999-07-22 04:32:31 +00:00
troy%netscape.com c551fe3166 Renamed DeleteFrame() to Destroy() 1999-07-22 02:24:52 +00:00
troy%netscape.com f02d9ef8b9 Added NS_FRAME_IS_DIRTY flag to the frame state flags 1999-07-21 23:47:01 +00:00
troy%netscape.com 19ed07723e Removed IsTransparent() function from nsIFrame 1999-07-21 23:15:39 +00:00
mjudge%netscape.com f98938bdfd up/down selection BRFrames dont allow selecting upon them for now. horizontal bars are now drawn selected. ect. 1999-06-19 20:36:44 +00:00
mjudge%netscape.com 225111bf33 fixing table selection again. also adding parameter to nsIFocusTracker that allows us to get the current caret location. I am also stopping nsTableRowFrame from putting blue border around itself since cells are a high enough granularity. made a change to nsIFrame GetPosition to remove some useless parameters ect. this caused me to change nsDOMEvent.cpp and some other places.
MJ
1999-06-10 21:08:17 +00:00
joki%netscape.com 7e2352ba3a Adding new method to nsIDOMNSUIEvent to give event pos as range offset. 1999-06-08 02:19:26 +00:00
mjudge%netscape.com 4bff71e096 reviewed sfraser approved choffman 6771 6762 UMR and Extreemly inefficient table selection code fixed simply 1999-05-20 00:52:00 +00:00
mjudge%netscape.com a15e7eb5ac adding in selection of non text frames in editor only 1999-05-17 00:21:18 +00:00