Commit Graph

366 Commits

Author SHA1 Message Date
Benjamin Smedberg
991a16d8bc Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Simon Montagu
0cbe73ad1b Bug 449577. Remove GetHints(), r+sr=roc 2008-08-11 18:19:01 +03:00
Eric Butler
3a19616d17 Canvas routines draw right-to-left text backwards - bug 402276 r=smontagu sr=roc 2008-07-18 11:29:06 -07:00
a8a8d0ff3f Only join ancestor inline frames for frames that are last children. bug=424631, r=smontagu, sr=dbaron, blocking1.9=vladimir 2008-03-27 12:27:32 -07:00
e097e43d4a Bug 423676 - "weirdness with layout and selection of mixed-direction text" [p=uriber@gmail.com (Uri Bernstein) r=smontagu sr=roc a1.9b5=schrep] 2008-03-24 00:30:49 -07:00
eec6c5bdba follow-up on bug 423130 to fix Windows breakage 2008-03-21 01:39:16 -07:00
1f7bd4e8e9 In bidi resolution, convert inline bidi continuations not at the end of a bidi run into fluid continuations. bug=423130 r=smontagu sr=dbaron a19b5=dsicore 2008-03-21 01:17:41 -07:00
00cb30e013 When creating a bidi continuation for a frame with fluid continuations, set the length of all the frames in the continuation chain to zero except the last one. Bug 409375, r+sr+blocking1.9=roc 2008-01-29 20:13:06 -08:00
0e992d0a5c Bug 411870. nsBidiPresUtils needs to track the current line across block continuation boundaries. r=smontagu 2008-01-29 15:39:39 -08:00
8c07f99bf2 Bug 411870 backout again 2008-01-28 11:10:26 -08:00
7069971a0a Bug 411870. Bidi resolution needs to scan through block continuations when tracking the current line for frames. r=smontagu 2008-01-28 10:16:22 -08:00
9409e73aa0 backing out 411870 2008-01-27 22:28:31 -08:00
88fa1d00cc Bug 411870. Make bidi resolution track lines across block continuation boundaries. r=smontagu 2008-01-27 21:07:14 -08:00
16b19e3daa Percentage margins thrown on the floor during bidi reordering. Bug 413542, r+sr=dbaron, blocking1.9=schrep 2008-01-26 22:54:08 -08:00
4dc1c6d9ab Collect frames from all block continuations in the buffer for bidi resolution. Bug 408292. r+sr=roc, a=schrep 2007-12-20 02:06:14 -08:00
033a79f101 Make sure that the offsets in a textframe are up-to-date before creating a bidi continuation. Bug 406675, r=uriber, sr=roc, blocking1.9=schrep 2007-12-12 23:51:27 -08:00
f01d619cc9 Do AdjustOffsetsForBidi after RemoveBidiContinuation so that we have up-to-date information about which continuations are fluid and which are non-fluid. Bug 397961, r=uriber, sr+blocking1.9=roc 2007-11-11 11:34:06 -08:00
2927dedce8 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
eca64cab20 Only substitute real frame for placeholder frame when it is an inline container. Bug 394239, r+sr+a=roc 2007-09-03 07:30:38 -07:00
871dbde77e Remove cruft from nsBidiPresUtils. Bug 393962, r+sr+a=roc 2007-08-29 02:19:16 -07:00
dedf557f09 Detect placeholders when building the array of frames for bidi resolution and add the real frames to the array. Bug 384527, r+sr=roc, b=dbaron 2007-08-29 01:21:38 -07:00
55f51ece1e Remove nsDirectionalFrame::QueryInterface(), add GetFrameName(), and some other minor cleanup. b=385921 r+sr=dbaron 2007-07-22 07:43:23 -07:00
e763d49594 Move SymmSwap and other character-related Bidi utility methods from layout to intl/unicharutil. Bug 385539, r+sr=roc 2007-06-30 22:56:10 -07:00
76b5240bee Bug 383551. Clean up IsInlineFrame, nsStyleDisplay::IsBlockLevel and related methods. r+sr=dbaron 2007-06-26 19:31:35 -07:00
91682f7c53 Patch for bug 382480: Crash at nsBidiPresUtils::ProcessTextr+sr=roc 2007-06-02 00:09:26 -07:00
9ba44d2126 Incremental reflow bug with direction:rtl and bidi-override. b=375716 r=uriber sr=dbaron 2007-05-06 03:29:58 -07:00
cvshook@sicking.cc
e80f1dba4e Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128 2007-01-30 00:06:41 +00:00
roc+@cs.cmu.edu
73076819e1 Bug 367930. Introduce an nsIRenderingContext::GetHints flag (temporarily) that tells us whether new-text-runs are being used underneath. When new text runs are in use, never reverse text manually, we can be sure that the platform textrun will do it. 2007-01-25 01:58:55 +00:00
roc+@cs.cmu.edu
f0bee97191 Bug 333659. Land layout changes to pass only single-direction textruns to nsIRenderingContext string methods. r=dbaron 2007-01-23 02:58:55 +00:00
uriber@gmail.com
aa8917203b Abort early from ReorderFrames in case of an empty line frame, to avoid crashing later. bug=367015, r+sr=bzbarsky. 2007-01-16 07:09:49 +00:00
uriber@gmail.com
0ac29bdb0d Don't bidi-split line frames. bug=364839, r+sr=bzbarsky. 2007-01-13 18:20:28 +00:00
mats.palmgren@bredband.net
9dac0f8a48 Plug a leak of nsDirectionalFrames. b=365909 r+sr=dbaron 2007-01-06 21:02:05 +00:00
timeless@mozdev.org
f4ef17d178 Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +00:00
dbaron@dbaron.org
d21cb374bd Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213. 2006-12-08 05:38:33 +00:00
uriber@gmail.com
39cfd8b438 Don't descend into bidi leaves in InitContinuationStates(). bug=348711 r+sr=roc 2006-08-17 07:50:35 +00:00
uriber@gmail.com
39375d5ed4 Create bidi embedding only around inline containers (with a specified direction), not around inline replaced elements. bug=169139 r+sr=bzbarsky 2006-08-07 07:40:28 +00:00
cvshook@sicking.cc
de453923d9 Bug 344050: Kill nsITextContent and move the methods to nsIContent. r/sr=jst 2006-07-19 04:36:36 +00:00
roc+@cs.cmu.edu
ae8b9b80de Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs 2006-06-26 22:18:23 +00:00
dveditz@cruzio.com
96f8198cfe Bug 284219: add EnsureStringLength() helper function to nsReadableUtils.h to
simplify OOM checks when growing an nsAString. r/sr=darin
2006-06-22 19:07:30 +00:00
uriber@gmail.com
ed72f4142c Bug 328168: Horizontal paddings, borders and margins on multi-frame bidi inlines appear in the wrong places. Patch by Haamed Gheibi <gheibi@gmail.com>. r=roc+uriber, sr=roc. 2006-06-15 08:16:23 +00:00
roc+@cs.cmu.edu
f8aef6bd08 Bug 338251. Create safe wrappers for gfx text functions and use them. r=smontagu,sr=rbs 2006-06-09 03:29:32 +00:00
uriber@gmail.com
63364c4ef1 Allow searching a line for a frame starting from a given point, to improve performance of forward-moving searches. Used in bidi resolution. bug=339935, r+sr=roc 2006-06-08 08:41:51 +00:00
uriber@gmail.com
becaaa7b15 Bug 339699: Reduce number of calls to nsLineBox::Contains from nsBidiPresUtils::Resolve. r+sr=bzbarsky 2006-05-31 10:21:34 +00:00
uriber@gmail.com
9d6f262998 Set NS_FRAME_IS_BIDI on skipped fluid continuations. bug=333433 r=smontagu sr=bzbarsky 2006-04-10 17:05:01 +00:00
roc+@cs.cmu.edu
24f6f0ed12 Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc 2006-04-10 00:16:29 +00:00
roc+@cs.cmu.edu
54d3415318 Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc 2006-03-26 21:30:36 +00:00
uriber@gmail.com
c5c2c16676 Mark lines for which bidi continuations were created or removed dirty, instead of marking everything dirty when continuations removed. bug=330373 r=roc sr=bzbarsky 2006-03-15 20:52:02 +00:00
pavlov@pavlov.net
93222d8d4f backing out roc's patch for bug 328926 due to crash running tests on vc8 machines. 2006-03-15 06:43:36 +00:00
roc+@cs.cmu.edu
c92e50faf4 Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc 2006-03-15 03:14:02 +00:00
uriber@gmail.com
a75913e78d In EnsureBidiContinuation, leave fluid continuations alone, and only re-use non-fluid continuations as bidi continuations. bug=329878 r=smontagu sr=bzbarsky 2006-03-12 22:09:28 +00:00