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

184 Коммитов

Автор SHA1 Сообщение Дата
Simon Montagu 300dbdf6e5 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 64ec41f84d 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 86e65af9a5 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 66f3028c95 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 2c137c2022 Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren 7a3be46e9e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Mats Palmgren dea07412a1 Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Boris Zbarsky 811394b5da Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Simon Montagu 0eeb3c144c 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 dd55f5ecf8 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 56ee16413d 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 59514b8d37 Set baseLevel and paraLevel properties on empty frames. Bug 489887, r+sr=roc 2009-04-28 02:23:53 -07:00
Simon Montagu 5a01d8048f 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 7c682159d0 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 c0f2dadc80 Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01:00
Ehsan Akhgari 3b6cf03f73 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 3498a5f86e 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 73a6fab34b 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 802d1a10c7 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 0d19165bc2 Bug 449577. Remove GetHints(), r+sr=roc 2008-08-11 18:19:01 +03:00
Eric Butler 47e45f54c6 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 cbbeab337c 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 40cb0f8516 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 28f014f61c follow-up on bug 423130 to fix Windows breakage 2008-03-21 01:39:16 -07:00
uriber@gmail.com ad85cfeb27 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 8dedafee62 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 5338360abe 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 72c72d1d33 Bug 411870 backout again 2008-01-28 11:10:26 -08:00
roc+@cs.cmu.edu ef12785f4c 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 cc8a28fdd6 backing out 411870 2008-01-27 22:28:31 -08:00
roc+@cs.cmu.edu fbf20e6e5d Bug 411870. Make bidi resolution track lines across block continuation boundaries. r=smontagu 2008-01-27 21:07:14 -08:00
smontagu@smontagu.org 370f601567 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 742f271840 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 5da7470475 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 9034f3b8b8 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 8cf3fb1c90 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron 2007-10-09 17:00:05 -07:00
smontagu@smontagu.org acb4994273 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 352518a027 Remove cruft from nsBidiPresUtils. Bug 393962, r+sr+a=roc 2007-08-29 02:19:16 -07:00
smontagu@smontagu.org 44abdacf0e 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 d6eb0045a2 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 fa8e1fccff 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 5fe6149b7e Bug 383551. Clean up IsInlineFrame, nsStyleDisplay::IsBlockLevel and related methods. r+sr=dbaron 2007-06-26 19:31:35 -07:00
emaijala@kolumbus.fi 9082a4607d Patch for bug 382480: Crash at nsBidiPresUtils::ProcessTextr+sr=roc 2007-06-02 00:09:26 -07:00
mats.palmgren@bredband.net 502ec36976 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 a39ff30284 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 a08ac4ca97 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 fa1e88771c 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 9f346e2996 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 26b820a880 Don't bidi-split line frames. bug=364839, r+sr=bzbarsky. 2007-01-13 18:20:28 +00:00
mats.palmgren%bredband.net 5f14c579a1 Plug a leak of nsDirectionalFrames. b=365909 r+sr=dbaron 2007-01-06 21:02:05 +00:00
timeless%mozdev.org 4e651390ef Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +00:00
dbaron%dbaron.org 31f1898810 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 abbcddd8ba Don't descend into bidi leaves in InitContinuationStates(). bug=348711 r+sr=roc 2006-08-17 07:50:35 +00:00
uriber%gmail.com e1041f44ef 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 3a9a287253 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 1621ac24bd 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 506140bd0c 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 ab53025882 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 dffcabfea0 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 6e1f1e3dfc 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 587b8172c5 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 e44c4e92b0 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 a7f03736a9 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 0a10a79f62 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 7d6d83cbd0 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 131e8794e2 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 557b089a47 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 0f22e434f2 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
uriber%gmail.com 4e6f48134e Set bidi attributes on frames being converted to in-flows in nsBidiPresUtils::RemoveBidiContinuation(). bug=330269 r=smontagu sr=bzbarsky 2006-03-12 21:58:47 +00:00
uriber%gmail.com 8f61b4a3b6 Attempt to fix WINNT bustage from previous check-in 2006-03-12 10:18:17 +00:00
uriber%gmail.com 1003ca6dd4 Do away with geometry in nsFrameList::GetPrev[Next]VisualFor() and nsLineIterator::CheckLineOrder(). Instead use new helper methods in nsBidiPresUtils for determining visual order of the top level of frames in a line. bug=303884 r=smontagu sr=roc 2006-03-12 09:49:48 +00:00
uriber%gmail.com 9c92bb8ecc Reparent views when splitting inline ancestors. bug=329762 r+sr=bzbarsky 2006-03-08 18:12:07 +00:00
uriber%gmail.com 01ef33157a Change RemoveBidiContinuation() to convert bidi continuations into in-flows instead of actually remove them, in attempt to impreove performance. bug=319930 r=smontagu sr=bzbarsky 2006-03-08 09:02:42 +00:00
uriber%gmail.com c7032d59bb Bug 299065: Bidi resolution needs to split inlines in addition to text frames. r+sr=dbaron 2006-02-21 21:33:47 +00:00
bmlk%gmx.de 4bb63a9880 don't allocate nsDirectionalFrame on heap, bug 315321 patch by Marc Liddell r=roc sr=dbaron 2005-12-03 15:44:43 +00:00
roc+%cs.cmu.edu 520b30a7f7 Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell 2005-11-04 02:38:33 +00:00
smontagu%smontagu.org 104736b6e2 Move the workaround for Windows displaying right-to-left presentation forms as left-to-right into Windows-specific code. Bug 204272, r+sr=rbs, a=chofmann 2005-06-23 08:03:24 +00:00
bzbarsky%mit.edu 54d585f2af Remove prescontext args for some nsIFrame methods
(Append/Insert/Remove/ReplaceFrames) and for some methods in table land.  Patch
by Vidar Braut Haarr <bugmail@q1n.org>, r+sr=bzbarsky
2005-02-07 01:58:25 +00:00
smontagu%smontagu.org 516f51c581 Right-to-left text is sometimes reversed when changing text size. Bug 248447, patch by Lina Kemmel <lkemmel@il.ibm.com>, r=me, sr=dbaron. 2005-01-25 13:37:28 +00:00
bugzilla%arlen.demon.co.uk e88339585d Bug 162081 Wrong letter is underlined as accesskey / mnemonic when widget direction is RTL
p=mozilla-bugzilla@future.shiny.co.il r/sr=bzbarsky
2004-10-29 12:28:19 +00:00
roc+%cs.cmu.edu 44a2fd5b52 Bug 259032. DeCOMtaminate nsIFrame::GetNext/PrevInFlow. r+sr=roc, patch by Will Levine 2004-09-14 02:28:03 +00:00
bryner%brianryner.com b88692c5a1 Trying again to land support for content node properties (bug 253888). r=jst, sr=dbaron. 2004-08-24 18:50:29 +00:00
bryner%brianryner.com 0c08074b27 Backing out 253888 again due to Tp regression plus another problem I noticed (frame properties not getting destroyed on frame destruction) 2004-08-22 07:10:50 +00:00
bryner%brianryner.com d86c91ac3a Second try at landing support for content node properties (bug 253888). r=jst, sr=dbaron. 2004-08-22 04:58:44 +00:00
bryner%brianryner.com 8c24cc7e63 Backing out bug 253888 until I can figure out how to fix the crash 2004-08-21 06:27:54 +00:00
bryner%brianryner.com 11d98b36e5 Refactor the frame property code and use it for supporting properties on dom elements. Bug 253888, r=jst, sr=dbaron. 2004-08-21 05:09:50 +00:00
bryner%brianryner.com 5c02a6978c Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
bryner%brianryner.com 0fd21c3872 Consolidate PresContext classes into a single nsIPresContext implementation, and finish deCOMtaminating it. Bug 253470, r+sr=roc. 2004-07-29 19:41:39 +00:00
smontagu%smontagu.org 308ac70131 Display subruns in a right-to-left text run in the correct order in XUL text. Bug 248029, r+sr=roc 2004-07-07 06:49:10 +00:00
smontagu%smontagu.org 82d48e1672 DeCOMtaminate nsIFrame Set/GetProperty and merge Set/GetBidiProperty with it. Bug 117751, r+sr=roc 2004-06-01 06:20:16 +00:00
smontagu%smontagu.org 781e83e333 Update bidi data tables to Unicode 4.0.1 and add surrogate handling. Bug 240943, r=jshin, sr=rbs. 2004-05-18 11:01:49 +00:00
jst%mozilla.jstenback.com 99e02e5aa3 Fixing bug 242734. deCOMtaminate nsITextContent. r+sr=bryner@brianryner.com 2004-05-07 20:55:17 +00:00
gerv%gerv.net 708b56cff4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
darin%meer.net c380c59f65 landing dbaron's patch for bug 235735 "fix callers that cast away const on result of ns[C]String::get" r+sr=darin 2004-02-28 22:34:07 +00:00
bryner%brianryner.com 225298a99e Get rid of nsIFrameManager abstract interface to the frame manager. Bug 233972, r+sr=roc. 2004-02-23 21:29:06 +00:00
bryner%brianryner.com 5f7a8b383e Inline boolean getters and setters on nsIPresContext, and change the storage to a bitfield. Bug 229371, r+sr=roc. 2004-02-20 17:49:01 +00:00
roc+%cs.cmu.edu e7f165c614 Bug 190735. deCOMtaminate nsIFrame::FirstChild and nsIFrame::GetAdditionalChildListName. r+sr=bz 2004-01-09 14:20:53 +00:00
bryner%brianryner.com dfe3513814 Change all callers of nsIPresContext::GetShell() to use the non-refcounting versions. Most callers now use PresShell(), a few that were checking for null conditions are using GetPresShell() -- this will be remedied once we can ensure that a prescontext never has a null pres shell. Bug 227690, r+sr=bzbarsky. 2003-12-21 05:36:36 +00:00
uid502 d81619b4fa Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
smontagu%netscape.com 573892c784 Use a hashtable instead of searching an array, to make RemoveBidiContinuation() not be O(n^2). Bug 212827, r+sr=bzbarsky. 2003-07-24 18:33:50 +00:00