Commit Graph

37 Commits

Author SHA1 Message Date
Simon Montagu
827d9111b2 Make fluid continuations between adjacent text frames with the same directionality. Bug 499538, r+sr=roc 2009-07-01 00:16:26 -07:00
Simon Montagu
4c680e3efc Empty inlines can get misplaced during incremental reflow in bidi pages. Bug 496006, r+sr=roc (regression from bug 332655) 2009-06-08 01:59:39 -07:00
Boris Zbarsky
70c31886f4 Bug 480452. Make {ib} splits behave the same way with regard to margins, borders, and padding as inline frames that just have a line-break happening inside them do. r+sr=dbaron 2009-05-11 22:04:58 -04:00
Simon Montagu
47400bfd9e Set baseLevel and paraLevel properties on empty frames. Bug 489887, r+sr=roc 2009-04-28 02:23:53 -07:00
Simon Montagu
e2806d44ba Bug 332655 - Don't join up text frames with the same content in Bidi resolution. r=uriber, sr=roc 2009-04-19 01:19:27 -07:00
Ehsan Akhgari
308d8a9f2f Bug 404149 - Underline width doesn't correspond to character width in Arabic/Persian script; r=roc,smontagu sr=roc 2009-03-21 12:08:14 +03:30
Arpad Borsos
829f9f024a Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01:00
Ehsan Akhgari
d2b5ccb3ce Bug 467672 - need additional bidi.numerals setting for Persian (eastern Arabic-Indic) numerals; r=roc,jfkthame sr=roc 2009-01-30 11:43:17 +03:30
Benjamin Smedberg
24e7cb1f78 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

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f 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
b0ca17eddd Bug 449577. Remove GetHints(), r+sr=roc 2008-08-11 18:19:01 +03:00
Eric Butler
0814facc93 Canvas routines draw right-to-left text backwards - bug 402276 r=smontagu sr=roc 2008-07-18 11:29:06 -07:00
uriber@gmail.com
93c58b6cbd 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
reed@reedloden.com
cbe8463a59 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
uriber@gmail.com
a48e811e61 follow-up on bug 423130 to fix Windows breakage 2008-03-21 01:39:16 -07:00
uriber@gmail.com
82137ae23b 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
smontagu@smontagu.org
54e46be415 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
roc+@cs.cmu.edu
2032b542bf Bug 411870. nsBidiPresUtils needs to track the current line across block continuation boundaries. r=smontagu 2008-01-29 15:39:39 -08:00
roc+@cs.cmu.edu
dea0868d56 Bug 411870 backout again 2008-01-28 11:10:26 -08:00
roc+@cs.cmu.edu
6ac78d0700 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
roc+@cs.cmu.edu
d0b43fea97 backing out 411870 2008-01-27 22:28:31 -08:00
roc+@cs.cmu.edu
1233a70df6 Bug 411870. Make bidi resolution track lines across block continuation boundaries. r=smontagu 2008-01-27 21:07:14 -08:00
smontagu@smontagu.org
2550756945 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
smontagu@smontagu.org
c2ccf0f7a0 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
smontagu@smontagu.org
89837357fe 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
smontagu@smontagu.org
667be7bc8e 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
tglek@mozilla.com
fdf793303e Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
smontagu@smontagu.org
9a3a2fab23 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
smontagu@smontagu.org
65cff8b443 Remove cruft from nsBidiPresUtils. Bug 393962, r+sr+a=roc 2007-08-29 02:19:16 -07:00
smontagu@smontagu.org
56fd1888c8 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
mats.palmgren@bredband.net
0547b616b0 Remove nsDirectionalFrame::QueryInterface(), add GetFrameName(), and some other minor cleanup. b=385921 r+sr=dbaron 2007-07-22 07:43:23 -07:00
smontagu@smontagu.org
564c2941e0 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
roc+@cs.cmu.edu
26f439cf9b Bug 383551. Clean up IsInlineFrame, nsStyleDisplay::IsBlockLevel and related methods. r+sr=dbaron 2007-06-26 19:31:35 -07:00
emaijala@kolumbus.fi
ae598fdeb7 Patch for bug 382480: Crash at nsBidiPresUtils::ProcessTextr+sr=roc 2007-06-02 00:09:26 -07:00
mats.palmgren@bredband.net
87fe66d658 Incremental reflow bug with direction:rtl and bidi-override. b=375716 r=uriber sr=dbaron 2007-05-06 03:29:58 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00