Commit Graph

164 Commits

Author SHA1 Message Date
Simon Montagu
2aa4cce792 Make elements with unicode-bidi: plaintext and no strong directional characters default to left-to-right. Bug 726420, r=ehsan 2012-02-22 00:30:32 -08:00
Simon Montagu
bcbbe9a509 Remove unnecessary test for next sibling. Bug 722137, r=roc 2012-01-30 11:05:28 -08:00
Simon Montagu
1aba6081f6 Make continuations non-fluid when the end of a bidi paragraph is forced by a preformatted newline. Bug 698335, r=roc 2012-01-15 06:56:04 -08:00
Mats Palmgren
9cc6cc3865 Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Simon Montagu
8e863ff64c Ensure that Reset is always called before using the subparagraph. Bug 707098, r=roc 2011-12-07 12:07:42 +02:00
Simon Montagu
a411d41922 Test for next-continuations before doing bidi resolution. Bug 704837, r=roc 2011-11-24 16:16:42 +02:00
Simon Montagu
ad907deb33 Test the containing frame for continuations, not the child. Bug 698706, r=roc 2011-11-07 16:26:50 +02:00
Simon Montagu
3f31e3ca40 Zero the saved frame when creating a new line iterator for a new column. Bug 695861, r=roc 2011-11-03 11:35:04 +02:00
Simon Montagu
2538e9f8cd Implement unicode-bidi: -moz-plaintext in layout. Bug 662288, r=roc 2011-10-18 14:51:58 +02:00
Simon Montagu
7a7f91df8a Remove unnecessary method argument. Bug 613149, r=roc 2011-10-18 14:51:57 +02:00
Simon Montagu
e1abcb4f3d Implement unicode-bidi: -moz-isolate in layout. Bug 613149, r=roc 2011-10-18 14:51:57 +02:00
Simon Montagu
5aadea5d7b Support for unicode-bidi: -moz-isolate and -moz-plaintext in style system. Bug 613149, r=dbaron 2011-10-18 14:51:57 +02:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
6894179e71 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Ehsan Akhgari
d7a278f38a Bug 667512 - Do not return a bogus visual frame if we don't have any visual frames in reality; r=smontagu 2011-07-26 09:05:15 -04:00
Simon Montagu
672d772074 Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu
036c9171d0 Don't resolve bidi paragraph in preformatted text until we really get to the end of the line. Bug 670226, r=roc 2011-07-12 10:34:52 +03:00
Simon Montagu
de33acf1f5 Make sure that bidi continuation chains don't go beyond the end of the paragraph. Bug 668941, r=roc 2011-07-12 10:34:46 +03:00
Ed Morley
e2dd282c90 Bug 661584 - Substitute final PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-07-03 11:53:40 +02:00
Simon Montagu
00c7554ebd Don't overshoot the end of the sibling chain when copying text for bidi resolution. Bug 665837, r=roc 2011-06-27 19:30:04 +03:00
Simon Montagu
89980a75a5 Don't overshoot the last sibling when iterating frames. Bug 663295 (whitespace change with correct bug number) 2011-06-15 10:51:36 +03:00
Simon Montagu
6ed0b74316 Force newlines only at 0xa, not 0xd. Bug 663662, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu
47b3950db7 Include continuations of frames with no newline. Bug 582181, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu
f54e10d007 Don't overshoot the last sibling when iterating frames. Bug 66329, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu
5f837e067e Bug 263359 part 4: resolve paragraph on encountering line breaks in preformatted elements. r=roc 2011-04-11 11:00:28 +03:00
Simon Montagu
d6c4e27ab0 Bug 263359/Bug 229367: resolve paragraph on encountering <br> or embedded block elements. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
f4ee5d6a7d Bug 263359 part 2.5: cache lines per frame in TraverseFrames. r=roc 2011-06-09 09:29:08 +03:00
Simon Montagu
5b26bf5ace Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
b202223ff2 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
a156186d20 Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
ece92e21ce Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
Jonathan Watt
ab5a30f802 Bug 649726 - Move nsHTMLContainerFrame static view methods to nsContainerFrame. r=bz. 2011-04-19 12:55:11 +01:00
Zack Weinberg
2c3c349dad Bug 174055, part 7: remove unnecessary members from nsFontMetrics. 2011-04-08 08:32:29 -07:00
Zack Weinberg
299386f14c Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -07:00
Zack Weinberg
d8db59d068 Bug 266236 part 8: Change nsRenderingContext::GetDeviceContext and ::GetFontMetrics to return bare pointers.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 36dd32d715cb75e99cd3a69e460c000c1777d6a6
2011-04-07 18:04:40 -07:00
Zack Weinberg
9d6cdac2b1 Bug 266236 part 6: Change out-parameters to return values and remove a bunch of default parameters that were never called with non-default values.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 0511852e51c2ad4d4833d6f8f2f61d46130a7151
2011-04-07 18:04:40 -07:00
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Jan Küchler
0e92a9d34a Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
Simon Montagu
8ade1e195e Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu
dab4d5a4f6 Tweak to the patch for bug 263359 to prevent regressing bug 644768, r=roc 2011-04-11 11:00:33 +03:00
Simon Montagu
fb48125607 Bug 263359 part 4: resolve paragraph on encountering line breaks in preformatted elements. r=roc 2011-04-11 11:00:28 +03:00
Simon Montagu
3ddf717988 Bug 263359/Bug 229367: resolve paragraph on encountering <br> or embedded block elements. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
6c1e539305 Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
d34ed4f099 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
1eecb4f103 Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu
1b5ecfe658 Debugging code for Bidi resolution. NPOTDB 2011-04-11 10:59:29 +03:00
Ehsan Akhgari
ec23591598 Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
Simon Montagu
cf14bed018 Bug 263359 part 5: optimization -- don't do bidi resolution if the text is monodirectional. r=roc 2011-03-24 11:28:45 +02:00
Simon Montagu
278dfd1e65 Bug 263359 part 4: resolve paragraph on encountering line breaks in preformatted elements 2011-03-24 11:28:45 +02:00
Simon Montagu
5e24d64c4b Bug 263359 part 3: resolve paragraph on encountering <br> or embedded block elements 2011-03-24 11:28:44 +02:00
Simon Montagu
e0953392b0 Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-03-24 11:28:44 +02:00
Simon Montagu
9914a030ec Bug 263359 part 1.5: remove nsDirectionalFrame. 2011-03-24 11:28:44 +02:00
Simon Montagu
5250ed8a4a Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-03-24 11:28:44 +02:00
Simon Montagu
01aa874a4e Debugging code for Bidi resolution. NPOTDB 2011-03-24 11:28:44 +02:00
Robert O'Callahan
ce2d40adbe Bug 613696. Always use the presshell's reference rendering context to create textruns when we draw text via nsIThebesFontMetrics::DrawString, to be consistent with the textruns we measure during reflow. r=dbaron,a=blocking 2011-01-17 09:23:33 +13:00
Peter Van der Beken
b492a1c2a7 Fix for bug 624722 (nsBidiPresUtils should participate in CC).; r=ehsan a=roc 2011-01-11 14:19:00 -05:00
Simon Montagu
2d56d2efaf Basic bidi support for SVG. Bug 620446, r=roc, a=roc 2011-01-04 00:52:17 -08:00
Simon Montagu
73b323bd97 Don't include floats in bidi resolution and reordering, unless they are first-letters. Bug 588739, r+a=roc 2010-09-06 17:33:18 +03:00
Simon Montagu
d5a4b2d2de Check that frame offsets are within content. Bug 579655, r=roc, blocking2.0=dsicore 2010-08-10 10:08:59 +03:00
Simon Montagu
b743b76680 Don't make bidi continuations out of empty text frames. Bug 572582, r=roc 2010-06-20 22:33:34 -07:00
Simon Montagu
e01cbc6b47 When bidi resolving makes a frame's continuations non-fluid, make sure that its parents also have non-fluid continuations. Bub 534367, r=roc 2010-06-13 20:16:55 -07:00
Vladimir Vukicevic
cdebcfceeb b=566447; add presshell memory reporter; r=bz 2010-05-31 19:19:35 -07:00
Simon Montagu
813eaf92c8 Don't split frames in bidi resolution that have the same resolved directionality but different character types. Bug 399850, r=ehsan, roc 2010-05-10 23:14:05 -07:00
Simon Montagu
9056f54ae6 Force logical ordering in XUL elements on visual bidi pages. Bug 558403, r=roc 2010-04-25 15:15:17 +03:00
Ehren Metcalfe
e0ac5d5547 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Robert O'Callahan
9a2ed61b34 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Timothy Nikkel
7350d337c4 Bug 534768. Also special case creation of continuations inside of floating first letter frames while reflowing them. r=roc,smontagu 2010-03-17 12:30:30 -05:00
Simon Montagu
77681c9d20 Call AdjustOffsetsForBidi on a new continuation frame immediately after creating it. Bug 536963, r=roc 2010-01-03 00:46:19 -08:00
Simon Montagu
df69e48755 Drill down through placeholder frames to the real frames in bidi reordering. Bug 525740, r=roc 2009-11-08 09:40:46 -08:00
Boris Zbarsky
a443ed8d78 Bug 501847 part 2. Make various consumers deal with more than 2 inlines in an {ib} split. r=tn, sr=roc 2009-09-18 14:00:21 -04:00
Timothy Nikkel
8c0ff81c27 Bug 491547. Special case creating a bidi continuation inside a floating first letter frame. r=roc,smontagu
--HG--
extra : rebase_source : 20d1d90542c7b78583e1ceff35669f25383e2380
2009-10-27 21:00:57 -05:00
Simon Montagu
c9f2957365 Ensure that continuation frames after the end of a directional run are non-fluid. Bug 490559, r+sr=roc 2009-10-07 21:53:50 -07:00
Mats Palmgren
4e06ef038e Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
8279fd683e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Mats Palmgren
948203eb7d Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Boris Zbarsky
f2936464e5 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
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