197 Commits

Author SHA1 Message Date
karnaze%netscape.com
e4f8ba49ca 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.
git-svn-id: svn://10.0.0.236/trunk@116402 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-12 15:21:35 +00:00
shaver%mozilla.org
e045387a83 reversion of patch for 92868, to repair severe regression (129827, a=drivers
git-svn-id: svn://10.0.0.236/trunk@116295 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-10 06:16:01 +00:00
karnaze%netscape.com
7cf7c2cc59 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.
git-svn-id: svn://10.0.0.236/trunk@116150 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-08 15:34:33 +00:00
kin%netscape.com
9d69384546 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


git-svn-id: svn://10.0.0.236/trunk@113914 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-07 22:39:15 +00:00
waterson%netscape.com
b6978c3e09 Bug 115113. Eliminate nsIReflowCommand, and just use nsHTMLReflowCommand directly. r=karnaze, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@110644 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-17 22:39:59 +00:00
karnaze%netscape.com
d8577654db bug 113424 - mechanism for percent height frames inside table cells to receive special height reflow. sr=attinasi, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@110006 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-07 14:51:12 +00:00
dbaron%fas.harvard.edu
3b6c33c60c Fix HP bustage by moving GetStyleData function templates from nsStyleStruct.h to nsIFrame.h and nsIStyleContext.h b=111883
git-svn-id: svn://10.0.0.236/trunk@109122 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-28 06:50:13 +00:00
hyatt%netscape.com
cd68d72f41 SetParent in nsIFrame should not be inlined. r=evaughan, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@106598 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-30 00:01:39 +00:00
dbaron%fas.harvard.edu
8b3489a026 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


git-svn-id: svn://10.0.0.236/trunk@106224 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:40 +00:00
mkaply%us.ibm.com
0b0e2dd7c9 Fix for OS/2 and AIX bustage
git-svn-id: svn://10.0.0.236/trunk@106188 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 19:12:02 +00:00
hyatt%netscape.com
ab0e4e56d4 Fix for 104336, deCOMtaminate rulenode, rulewalker, frames, r=dbaron, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106100 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-24 00:01:09 +00:00
dougt%netscape.com
62a8215278 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
git-svn-id: svn://10.0.0.236/trunk@106009 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 01:37:21 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
karnaze%netscape.com
1540a4c12e bug 68998 - added extra param to Paint, PaintChild, PaintChildren used by tables in standard mode. sr=waterson, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@103193 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 12:35:19 +00:00
hyatt%netscape.com
4f51638ef4 Fix for 95475. r=jag, sr=ben, a=dbaron
git-svn-id: svn://10.0.0.236/trunk@101788 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-25 02:01:08 +00:00
bryner%netscape.com
bf9fa1fa2f Bug 66617 - if tabbing scrolls page, focus outline doesn't leave first link (second try). r=saari, sr=hyatt.
git-svn-id: svn://10.0.0.236/trunk@101405 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-18 07:25:52 +00:00
jgaunt%netscape.com
92c01c45b6 fix for bug 94768
r=smfr,leaf
sr=hyatt


git-svn-id: svn://10.0.0.236/trunk@101271 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-17 03:13:07 +00:00
bryner%netscape.com
a7aca59370 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.


git-svn-id: svn://10.0.0.236/trunk@100848 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-10 23:50:05 +00:00
dbaron%fas.harvard.edu
d7836d6ff1 Split nsHTMLReflowMetrics into a separate file (nsHTMLReflowMetrics.h rather than nsIFrame.h). b=64023 r,sr in {waterson, attinasi}
git-svn-id: svn://10.0.0.236/trunk@100064 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-01 01:27:50 +00:00
dbaron%fas.harvard.edu
9359000a40 Header include dependency cleanup. b=64023 r=jag rs=brendan
git-svn-id: svn://10.0.0.236/trunk@99299 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-16 02:40:48 +00:00
ftang%netscape.com
b5e1e05597 fix bug 84031. r=simon@softel.co.il sr=kin a=blizzard
fix GetBidiProperty


git-svn-id: svn://10.0.0.236/trunk@97676 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-21 12:35:48 +00:00
hyatt%netscape.com
b7b1cb3691 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson
git-svn-id: svn://10.0.0.236/trunk@96136 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-31 22:19:43 +00:00
evaughan%netscape.com
a4d0ce6ac8 Fix for bug #80902
-r jeff@tcbnetworks.com -sr waterson

Fix for bug #80505

-r aaronl, jgaunt -sr brendan


git-svn-id: svn://10.0.0.236/trunk@95337 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-17 23:52:32 +00:00
kmcclusk%netscape.com
780ba6923c 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
git-svn-id: svn://10.0.0.236/trunk@90840 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-30 05:25:49 +00:00
karnaze%netscape.com
c76866e3ea table reflow coalescing, table reflow face lift. sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@89462 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-13 06:38:59 +00:00
erik%netscape.com
4f4d2e9f2b 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


git-svn-id: svn://10.0.0.236/trunk@89164 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-10 00:15:16 +00:00
erik%netscape.com
7d9911f8e4 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)


git-svn-id: svn://10.0.0.236/trunk@89065 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-09 03:13:03 +00:00
rbs%maths.uq.edu.au
a87f5009f0 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
git-svn-id: svn://10.0.0.236/trunk@87803 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-23 12:31:28 +00:00
pierre%netscape.com
8944a57fe0 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.
git-svn-id: svn://10.0.0.236/trunk@86533 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 09:57:26 +00:00
rods%netscape.com
b23e7af50b 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


git-svn-id: svn://10.0.0.236/trunk@85624 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-27 14:09:34 +00:00
mcafee%netscape.com
644a6ffc68 Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil
git-svn-id: svn://10.0.0.236/trunk@85463 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-25 02:58:12 +00:00
pierre%netscape.com
148e913722 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster.
git-svn-id: svn://10.0.0.236/trunk@85210 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-20 22:46:54 +00:00
buster%netscape.com
31a79a4925 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


git-svn-id: svn://10.0.0.236/trunk@84973 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-16 22:10:04 +00:00
rods%netscape.com
a6e0d47c5a removing most all NS_DEFINE_IID and replacing them with NS_GET_IID macros
Bug 61274, r=buster sr=waterson


git-svn-id: svn://10.0.0.236/trunk@84377 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-04 20:44:42 +00:00
warren%netscape.com
a8b9664a8c Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc.
git-svn-id: svn://10.0.0.236/trunk@81967 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 22:17:53 +00:00
warren%netscape.com
c6b67eceeb Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@81885 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 22:43:51 +00:00
attinasi%netscape.com
ef0b5887c7 Added a new method to allow a frame to specify the frame that provides its parent style context. b=45210 r=karnaze
git-svn-id: svn://10.0.0.236/trunk@78918 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-12 22:45:33 +00:00
pinkerton%netscape.com
ecbc628010 making CaptureMouse a public interface on nsIFrame r=mjudge for bug 48250.
git-svn-id: svn://10.0.0.236/trunk@76305 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-14 22:28:41 +00:00
sfraser%netscape.com
7726da891c 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.
git-svn-id: svn://10.0.0.236/trunk@75830 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-08 23:38:00 +00:00
pierre%netscape.com
db5d911ba9 42864 ('user-select:none' should make children non-selectable)
git-svn-id: svn://10.0.0.236/trunk@75641 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-05 04:41:33 +00:00
waterson%netscape.com
c607d4bc40 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.
git-svn-id: svn://10.0.0.236/trunk@75085 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 22:29:28 +00:00
waterson%netscape.com
86cf521ec9 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
git-svn-id: svn://10.0.0.236/trunk@74887 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 05:16:08 +00:00
mjudge%netscape.com
04f7c7cd04 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.
git-svn-id: svn://10.0.0.236/trunk@74807 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-26 11:31:12 +00:00
buster%netscape.com
37a339735a fixed bug 29854
r=waterson


git-svn-id: svn://10.0.0.236/trunk@71991 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-11 05:25:14 +00:00
kin%netscape.com
f0ffccdd37 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


git-svn-id: svn://10.0.0.236/trunk@71139 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-31 03:20:02 +00:00
karnaze%netscape.com
8cc9e6956a nsbeta2+ bug 39885 - invalidate minimal areas. optimize reflows when cells don't change size. r=attinasi
git-svn-id: svn://10.0.0.236/trunk@70866 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-25 22:40:21 +00:00
waterson%netscape.com
b91dc8288d 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
git-svn-id: svn://10.0.0.236/trunk@70853 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-25 19:58:51 +00:00
akkana%netscape.com
a24273164d Partial work on 16311, 32807, 16352: code reorganization/cleanup of word/line/paragraph selection.
git-svn-id: svn://10.0.0.236/trunk@70135 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-16 22:48:28 +00:00
mjudge%netscape.com
e5b2003819 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.
git-svn-id: svn://10.0.0.236/trunk@68219 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-04 08:35:42 +00:00
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