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

412 Коммитов

Автор SHA1 Сообщение Дата
Carsten "Tomcat" Book b99f5df532 Backed out changeset aeff4052ef00 (bug 789096) 2014-03-11 09:22:52 +01:00
Carsten "Tomcat" Book ea10325852 Backed out changeset 534a0efe7d3d (bug 789096) 2014-03-11 09:22:48 +01:00
Simon Montagu e7b593f84c Use logical text layout API for GetSkipSides. Bug 789096, r=jfkthame 2014-03-10 22:19:03 -07:00
Simon Montagu 5e0cf76c45 Use logical text layout API in nsLineLayout. Bug 789096, r=jfkthame 2014-03-10 22:19:03 -07:00
Simon Montagu 8303584d49 Add U+2029 PARAGRAPH SEPARATOR and other characters with bidi type Segment Separator and Paragraph Separator to the characters we convert to whitespace before passing text to the Bidi engine. Bug 847242, r=roc 2014-03-05 21:04:36 +02:00
Arnaud Sourioux a127266e74 Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert 2014-02-24 09:41:56 -05:00
L. David Baron c5c5881d3f Bug 91419 patch 1: Rename NS_FRAME_IS_SPECIAL to NS_FRAME_PART_OF_IBSPLIT. r=mats 2014-02-06 17:45:28 -08:00
Daniel Holbert 03c54ea5eb Bug 967287 part 1: Remove unnecessary nsPresContext* argument from functions defined in nsContainerFrame.h. r=mats 2014-02-06 14:07:47 -08:00
Ehsan Akhgari 1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Mats Palmgren c652354cb3 Bug 947158 - Drain the overflow list on inlines before traversing children for bidi processing. r=smontagu 2013-12-17 13:30:25 +00:00
Simon Montagu cd447e7fa5 Add NS_FRAME_IS_BIDI bit even when short-circuiting bidi resolution. Bug 942690, r=roc 2013-12-13 12:09:26 +02:00
Simon Montagu 342f8fc7a7 Add support for unicode-bidi: -moz-plaintext in XUL. Bug 869833, r=roc 2013-11-18 17:24:16 +02:00
Simon Montagu 3d75218e58 Optimize bidi resolution on blocks without mixed-direction text. Bug 646359, r=roc 2013-11-04 07:14:02 +02:00
Simon Montagu 07e1ec2854 Bug 936935: Mark lines dirty more accurately in Bidi resolution, r=roc 2013-11-07 16:39:49 +02:00
Ehsan Akhgari 77b5078c36 Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Ehsan Akhgari 290feb1ade Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Mats Palmgren 4974add798 Bug 919318 - Drop the Get prefix on the frame methods GetFirstContinuation, GetLastContinuation, GetFirstInFlow, GetLastInFlow and also on nsLayoutUtils::GetLastContinuationWithChild, because they never return null. r=dholbert 2013-09-25 11:42:34 +00:00
Robert O'Callahan 03e7828db2 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ehsan Akhgari 2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Sumedh Shekhar 87dffc32e4 Bug 804742 - EnsureStringLength doesn't work. f=Ms2ger, r=ehsan 2013-05-08 00:52:52 +09:00
Mats Palmgren bfda730507 Bug 866588 - Check that the frame IsBidiSplittable before changing a fluid continuation to non-fluid. r=smontagu 2013-04-30 12:37:07 +02:00
Mats Palmgren e46f28dbdf Bug 701504 - Null out all BidiParagraphData::mPrevFrame when starting a new block. r=smontagu 2013-04-17 22:16:14 +02:00
Joshua Cranmer 1f24ef2b5e Bug 856108 - Port static analyses to clang, part 2e: use MOZ_STACK_CLASS in layout. r=mats 2013-04-11 22:20:45 -05:00
Simon Montagu 64497f2835 The test for bidi isolated subparagraphs should be > 0, not > 1. Bug 859093, r=roc 2013-04-08 23:25:34 -07:00
Boris Zbarsky a68da9e914 Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
L. David Baron c5b9eee040 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
L. David Baron d282c8380c Bug 841789, patch 2: Fix callers that are going through the style context to get style structs rather than using the nsIFrame shortcuts. r=dholbert
This is just a code simplification that I noticed while reading through
patch 1.
2013-02-15 21:38:34 -08:00
L. David Baron 50d4e367af Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Simon Montagu 59d34932f8 Check for fluid continuations up the parent chain and make them non-fluid. Bug 818454, r=roc 2013-02-11 23:45:55 -08:00
Simon Montagu 5b19c8df48 Reapply the patch from bug 722137 to fix bug 826163, r=roc, sec-approval=dveditz 2013-02-11 23:45:52 -08:00
Mats Palmgren b7ae90666d Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Chris Peterson 63e242521e Bug 829344 - Part 4: Fix gcc -Wlogical-op warnings from PRBool/bool conversion. r=ehsan 2013-01-10 17:56:51 -08:00
Jonathan Kew 6d18ba3e6c bug 818454 - backout change from bug 722137, no longer needed. r=smontagu 2012-12-12 20:55:09 +00:00
Simon Montagu e826974c31 Don't split inlines with bidi-isolated kids unnecessarily when they don't have siblings. Bug 793233, r=roc 2012-10-25 01:36:37 -07:00
David Zbarsky 45f6f3a578 Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc 2012-10-15 01:42:40 -04:00
David Zbarsky 2798f40d68 Backout 784bb7c5ea9c (Bug 799407) for bustage 2012-10-15 02:14:34 -04:00
David Zbarsky b26a495b99 Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc 2012-10-15 01:42:40 -04:00
David Zbarsky 4085f74a3f [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Simon Montagu fba947c973 Don't forget to empty the buffer after ResolveParagraph. Bug 788086, r=roc 2012-09-04 00:46:43 -07:00
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Simon Montagu ea7a4c97c7 Don't split inline ancestors of bidi frames if we don't have any child frames after the split. Bug 779003, r=roc 2012-08-13 20:51:36 -07:00
Cameron McCormack 7670328c6c Bug 655877 - Part 16: Treat all values of display other than 'none' as 'inline' in SVG text frames. r=roc 2012-08-02 21:38:51 +10:00
Cameron McCormack d7e9a93257 Bug 655877 - Part 14: Ignore float in SVG text frames. r=roc 2012-08-02 21:38:49 +10:00
Aryeh Gregor d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Mats Palmgren c64a09bff4 Bug 764541. r=smontagu 2012-06-21 12:51:38 +02:00
Ryan VanderMeulen 5f2a19ee6e Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen 6d6c4efbab Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Robert O'Callahan 7b4d308d3c Bug 731293. Remove nsFrameManager parameter from nsLayoutUtils::GetParentOrPlaceholderFor. r=mats 2012-06-09 00:22:25 +12:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Simon Montagu d794821277 Make unicode-bidi: [-moz-]plaintext apply to inline elements. Bug 746987, r=roc 2012-05-09 11:44:52 +03:00
Simon Montagu 79230875d9 Fix some cases where a bidi-isolated element was never going through bidi resolution. Bug 731594, r=roc 2012-05-08 09:22:38 -07:00
Simon Montagu 314a9d32f7 Check for orphaned non-fluid continuations after deleting content. Bug 730562, r=roc 2012-03-21 16:50:54 -07:00
Simon Montagu 45be3cde72 Check for orphaned fluid continuations after deleting content. Bug 726460, r=roc 2012-03-21 16:50:37 -07:00
Simon Montagu 5a201aafa0 Add a mParagraphDepth member to BidiParagraphData and cache it on frames to track nested bidi-isolated paragraphs. Use mParagraphDepth (* 2 + isRTL in order to keep LTR even and RTL odd) as the initial paragraph embedding level instead of pushing a stack of embedding codes. Pass the <bdi> frame instead of its first-child to BidiParagraphData::Reset and save a call to GetParent(). Split inline ancestors before and after bidi-isolated paragraphs, in the same way that we currently do between runs in different directions. This required also adding code to SplitInlineAncestors to handle situations where the parent frame is being split before its first child or after its last child. In JoinInlineAncestors, prevent frames that belong to paragraphs isolated from one another from being rejoined. Bug 712600, r=ehsan, roc 2012-01-11 21:26:02 +02:00
Mats Palmgren f2b543f7d7 Bug 728908 - Make the Overflow lines property have both a nsLineList and a nsFrameList for fast access to the last frame, eliminate SetNextSibling calls, and to support GetChildList(kOverflowList). part 1/2 r=bz 2012-03-08 02:57:37 +01:00
Nathan Froyd 68a79f10ae Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Jonathan Kew adfa2f07b4 bug 721821 - make nsBidiPresUtils::WriteReverse aware of clusters, so that diacritics in RTL text display correctly in SVG text. r=smontagu 2012-02-28 21:24:04 +00:00
Simon Montagu ddfcd4253d Treat <wbr> like ZERO WIDTH SPACE during bidi resoltion. Bug 729047, r=ehsan 2012-02-25 23:12:55 -08:00
Jonathan Kew c7fa86d451 bug 724826 pt 1 - move various Unicode property tables from gfx to intl. r=smontagu
--HG--
rename : gfx/thebes/gfxUnicodeProperties.h => intl/unicharutil/public/nsUnicodeProperties.h
rename : gfx/thebes/gfxUnicodeScriptCodes.h => intl/unicharutil/public/nsUnicodeScriptCodes.h
rename : gfx/thebes/gfxUnicodeProperties.cpp => intl/unicharutil/src/nsUnicodeProperties.cpp
rename : gfx/thebes/gfxUnicodePropertyData.cpp => intl/unicharutil/src/nsUnicodePropertyData.cpp
rename : gfx/thebes/genUnicodeScriptData.pl => intl/unicharutil/tools/genUnicodePropertyData.pl
2012-02-24 10:15:46 +00:00
Simon Montagu 72285af510 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 13b7185e53 Remove unnecessary test for next sibling. Bug 722137, r=roc 2012-01-30 11:05:28 -08:00
Simon Montagu 67def118d9 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 78d0f2c7ca Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Simon Montagu 7ebbe876bb Ensure that Reset is always called before using the subparagraph. Bug 707098, r=roc 2011-12-07 12:07:42 +02:00
Simon Montagu 83dc6b0d97 Test for next-continuations before doing bidi resolution. Bug 704837, r=roc 2011-11-24 16:16:42 +02:00
Simon Montagu 47421feaee Test the containing frame for continuations, not the child. Bug 698706, r=roc 2011-11-07 16:26:50 +02:00
Simon Montagu 928f8e82ad 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 23fcb4824f Implement unicode-bidi: -moz-plaintext in layout. Bug 662288, r=roc 2011-10-18 14:51:58 +02:00
Simon Montagu 96745d8bdd Remove unnecessary method argument. Bug 613149, r=roc 2011-10-18 14:51:57 +02:00
Simon Montagu 8920dd6e82 Implement unicode-bidi: -moz-isolate in layout. Bug 613149, r=roc 2011-10-18 14:51:57 +02:00
Simon Montagu 738e432597 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 92064e6d3f 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 d2b70213ac 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 f1c56f2e22 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 12d902137b 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 c5979d144a Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu 56e2d64dbc 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 b3069512b5 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 acfd91cd49 Bug 661584 - Substitute final PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-07-03 11:53:40 +02:00
Simon Montagu 9cada4d324 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 ebb4d3b611 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 e7e3561393 Force newlines only at 0xa, not 0xd. Bug 663662, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu e5fa7e72ec Include continuations of frames with no newline. Bug 582181, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu 1f51f3536b Don't overshoot the last sibling when iterating frames. Bug 66329, r=roc 2011-06-15 10:45:57 +03:00
Simon Montagu f15e63b59e 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 bd31151e86 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 03eab42cad Bug 263359 part 2.5: cache lines per frame in TraverseFrames. r=roc 2011-06-09 09:29:08 +03:00
Simon Montagu 8a9c0b3f06 Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu 2fcf206e42 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu 5deaf7deba Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu f213cf876f Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
Jonathan Watt a5b747bfa7 Bug 649726 - Move nsHTMLContainerFrame static view methods to nsContainerFrame. r=bz. 2011-04-19 12:55:11 +01:00
Zack Weinberg d856f0c057 Bug 174055, part 7: remove unnecessary members from nsFontMetrics. 2011-04-08 08:32:29 -07:00
Zack Weinberg 9f143f420f Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -07:00
Zack Weinberg 86131020a5 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 ab24450ef1 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 c510bc3046 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 ebb2f0c7ec Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
Simon Montagu c808d636dc Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu be2fe407f5 Tweak to the patch for bug 263359 to prevent regressing bug 644768, r=roc 2011-04-11 11:00:33 +03:00
Simon Montagu 68606724e4 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 c112e2354d 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 8e3b653b0c Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu 030f555e66 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu 90fff54b37 Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-04-11 10:59:30 +03:00
Simon Montagu e1109b7657 Debugging code for Bidi resolution. NPOTDB 2011-04-11 10:59:29 +03:00
Ehsan Akhgari 119ec44c6b Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
Simon Montagu 72d30eea0f 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 2ed359ac6d Bug 263359 part 4: resolve paragraph on encountering line breaks in preformatted elements 2011-03-24 11:28:45 +02:00
Simon Montagu ec7706761d Bug 263359 part 3: resolve paragraph on encountering <br> or embedded block elements 2011-03-24 11:28:44 +02:00
Simon Montagu 0fc4771947 Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-03-24 11:28:44 +02:00
Simon Montagu 53a261431c Bug 263359 part 1.5: remove nsDirectionalFrame. 2011-03-24 11:28:44 +02:00
Simon Montagu bfef246b4b Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-03-24 11:28:44 +02:00
Simon Montagu ac0eb6cddb Debugging code for Bidi resolution. NPOTDB 2011-03-24 11:28:44 +02:00
Robert O'Callahan fc3314bc13 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 a5d2efc280 Fix for bug 624722 (nsBidiPresUtils should participate in CC).; r=ehsan a=roc 2011-01-11 14:19:00 -05:00
Simon Montagu 3bd533614c Basic bidi support for SVG. Bug 620446, r=roc, a=roc 2011-01-04 00:52:17 -08:00
Simon Montagu 4421d80c31 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 e2d46b52f2 Check that frame offsets are within content. Bug 579655, r=roc, blocking2.0=dsicore 2010-08-10 10:08:59 +03:00
Simon Montagu f0880461a6 Don't make bidi continuations out of empty text frames. Bug 572582, r=roc 2010-06-20 22:33:34 -07:00
Simon Montagu 54129bed48 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 73cbd73f4a b=566447; add presshell memory reporter; r=bz 2010-05-31 19:19:35 -07:00
Simon Montagu 85a1e8061a 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 5a1b8e74ab Force logical ordering in XUL elements on visual bidi pages. Bug 558403, r=roc 2010-04-25 15:15:17 +03:00
Ehren Metcalfe a791e19cc4 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Robert O'Callahan 0fd1837981 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Timothy Nikkel 902f3ab84d 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 4e72e68aab 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 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