Commit Graph

548 Commits

Author SHA1 Message Date
Mats Palmgren
b52eae45eb Bug 638937 - For text frames that are a child a floating first-letter frame, use the parent of the associated placeholder as the line-container to search. r=roc 2012-02-22 00:50:16 +01:00
Cameron Kaiser
ae23981e97 Bug 724453. Don't assume that sizeof(bool) == 1 when memsetting arrays of bools in nsTextFrame. r=bzbarsky 2012-02-06 13:00:54 -05:00
Edwin Flores
e20fcb14ba Bug 719288 - Fill and stroke SVG text with one Draw call r=roc 2012-02-04 13:11:09 +00:00
Edwin Flores
0855766ec9 Bug 710521 - Refactor gfxFont to separate out drawing stroke and drawing to path. r=roc 2012-01-26 13:11:18 +01:00
L. David Baron
21e38c2e03 Honor inflation during intrinsic width computation when needed. (Bug 706609, patch 6) r=roc
This is the second of two patches to honor inflation during intrinsic
width calculation (which we need to do to make some form controls
inflate correctly).
2012-01-24 17:21:29 -08:00
L. David Baron
5eb8920348 Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc
This is the third of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes honor inflation during intrinsic width
calculation (which we need to do to make some form controls inflate
correctly).
2012-01-24 17:21:29 -08:00
Jonathan Watt
cb807222d1 Bug 416581, part 1 - Move mLanguage from nsStyleVisibility to nsStyleFont. r=dbaron. 2012-01-24 13:09:55 +00:00
Jonathan Kew
7f4e013606 bug 715471 - use fallible allocation for potentially large buffers in nsTextFrameThebes.cpp. r=roc 2012-01-14 22:19:51 +00:00
Ed Morley
187a7dbe69 Backout 148044813372 (bug 715471) for multiple test failures 2012-01-13 11:26:13 +00:00
Jonathan Kew
42238d3ff0 bug 715471 - use fallible allocation for potentially large buffers in nsTextFrameThebes.cpp. r=roc 2012-01-13 10:35:02 +00:00
Josh Matthews
eda4983660 Bug 454790 - Allow programmatic selection of -moz-user-select: none frames. r=roc 2012-01-12 15:59:19 -05:00
Simon Montagu
7b2f366751 Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 19:52:21 +02:00
Ed Morley
097cd18f1b Backout 6605cc311ec5 & 9217303c2e5c (bug 536557) for M4 orange 2012-01-12 15:33:00 +00:00
Simon Montagu
6d9e29e3e5 Implement text-align-last. Bug 536557, r=dbaron 2012-01-12 16:29:20 +02:00
Jonathan Kew
d5a2294830 bug 703100 - pt 3 - remove copy of original characters from gfxTextRun. r=roc 2011-12-06 12:39:19 +00:00
Jonathan Kew
dab5dd6132 bug 703100 - pt 1 - eliminate gfxTextRunWordCache and gfxTextRunCache. r=roc 2011-12-06 12:39:18 +00:00
Ehsan Akhgari
9251f03e14 Bug 713856 - Dynamic change of DOM in lists before block element creates blank line; r=roc 2011-12-30 17:22:47 -05:00
Mats Palmgren
ba9ba86587 Bug 700031 - "ASSERTION: Can only call this on frames that have been reflowed" with too-deep frame tree. r=roc 2011-12-29 14:21:00 +01:00
Nicholas Nethercote
56767a7167 Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron. 2011-12-19 19:46:39 -08:00
Mats Palmgren
1e2a52a8bd Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug 2011-12-20 10:15:41 +01:00
Matt Brubeck
7d451f6bac Back out bug 710521, bug 672013, bug 702739 because of Mac reftest failures 2011-12-18 08:15:09 -08:00
Edwin Flores
a9f4f6c3c4 Bug 710521. Small refactor of gfxFont to separate drawing to paths and drawing strokes. r=roc 2011-12-18 21:53:03 +13:00
Alexander Surkov
c5201c8f0f Bug 706335 - Remove text accesible getting no text inside a preformatted area, r=marcoz, bz 2011-12-02 16:52:56 +08:00
L. David Baron
abb8d1c39a Make other users of font metrics (other than MathML and XUL) honor font size inflation. (Bug 627842, patch 15) r=roc
This does not address users of font metrics in layout/mathml/ (for text
size and alignment issues) or in layout/xul (for text size and sizing of
listbox and tree widgets):  see all the callers of GetFontMetricsFor*
in those directories.
2011-11-23 18:48:23 -08:00
L. David Baron
4053e3de9f Apply font size inflation to line heights. (Bug 627842, patch 11) r=roc
Since font size inflation applies to the text after style data
computation, we must separately apply this inflation to line heights.
2011-11-23 18:48:23 -08:00
L. David Baron
c83c4441ad Remove the unused context parameter to MeasureCharClippedText. (Bug 627842, patch 10) r=roc 2011-11-23 18:48:23 -08:00
L. David Baron
2ca5929d4e Apply font size inflation to text. (Bug 627842, patch 9) r=roc
This applies the font size inflation to reflow and painting of text
frames.  However, it does not (by design) apply to intrinsic width
computation, since the inflation is itself a function of the containers
width, which can depend on the intrinsic width.
2011-11-23 18:48:23 -08:00
L. David Baron
14c99d00c7 Pass block's reflow state to nsTextFrame::UnionAdditionalOverflow. (Bug 627842, patch 8) r=roc 2011-11-23 18:48:23 -08:00
L. David Baron
70b87a1b05 Use the text run's font group for the tab width instead of recomputing it from the frame. (Bug 627842, patch 7) r=roc 2011-11-23 18:48:23 -08:00
Matt Woodrow
4c0194acc2 Bug 700240 - Print contents of TextFrames. r=mats 2011-11-17 16:44:16 +13:00
Phil Ringnalda
fb732c5149 Backout changesets c9abc8ef4626, d62512892555, 69f89ee5d08f, c511af7d8f58, 6a6a560a1492, ac0ec1183d19, 46669afabd15, 74f32abaa8c0, f197554cf989, 0a2405eb5b90, b48954598d7d, e0a82577259c, 0235d1541e58, 450f2557d3a2, e24d196602bf, 03c2ea0eeba3, 7aca4ef8e538, 11ec362e780b, 4b92a3b96446 (bug 627842) for Windows crashtest assertions and Android reftest failures
--HG--
extra : rebase_source : fc8946055314369bfba5038ded32afcb00bf134d
2011-11-14 22:12:31 -08:00
L. David Baron
fbf62da75f Make other users of font metrics (other than MathML and XUL) honor font size inflation. (Bug 627842, patch 15) r=roc
This does not address users of font metrics in layout/mathml/ (for text
size and alignment issues) or in layout/xul (for text size and sizing of
listbox and tree widgets):  see all the callers of GetFontMetricsFor*
in those directories.
2011-11-15 17:02:01 +13:00
L. David Baron
9040cadeb5 Apply font size inflation to line heights. (Bug 627842, patch 11) r=roc
Since font size inflation applies to the text after style data
computation, we must separately apply this inflation to line heights.
2011-11-15 17:02:01 +13:00
L. David Baron
8b98b80576 Remove the unused context parameter to MeasureCharClippedText. (Bug 627842, patch 10) r=roc 2011-11-15 17:02:01 +13:00
L. David Baron
db5c82697e Apply font size inflation to text. (Bug 627842, patch 9) r=roc
This applies the font size inflation to reflow and painting of text
frames.  However, it does not (by design) apply to intrinsic width
computation, since the inflation is itself a function of the containers
width, which can depend on the intrinsic width.
2011-11-15 17:02:01 +13:00
L. David Baron
2ff820844c Pass block's reflow state to nsTextFrame::UnionAdditionalOverflow. (Bug 627842, patch 8) r=roc 2011-11-15 17:02:01 +13:00
L. David Baron
20da5c2ff7 Use the text run's font group for the tab width instead of recomputing it from the frame. (Bug 627842, patch 7) r=roc 2011-11-15 17:02:01 +13:00
Timothy Nikkel
6744e4ecfa Bug 694213. Make various display items return bounds in the correct coordinate space. r=roc 2011-10-21 12:45:32 -05:00
Timothy Nikkel
79abab2e7b Backout 18f70ede04b0 (bug 694213). 2011-10-20 20:59:47 -05:00
Timothy Nikkel
332c11b9c9 Bug 694213. Make various display items return bounds in the correct coordinate space. r=roc 2011-10-20 12:44:28 -05:00
David Bolter
849986b965 Bug 680085 - Don't traverse dirty text frames when computing rendered text. r=roc
We now bail in GetRenderedText when we encounter dirty text frames. This should be okay since dirty text frames should be reflowed at some point and we'll refresh our accessible text cache. (relanding)
2011-10-19 09:05:18 -04:00
David Bolter
f714d72a50 Backout 783daf190579 (Bug 680085). Could be causing talos deviation. 2011-10-18 15:04:46 -04:00
Timothy Nikkel
ab16fdd5c9 Backout 8db8c9ce92c5 (bug 694213). 2011-10-18 00:41:10 -05:00
Timothy Nikkel
5b00acba12 Bug 694213. Make various display items return bounds in the correct coordinate space. r=roc 2011-10-17 19:56:03 -05: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
David Bolter
8c39619ba5 Bug 680085 - Don't traverse dirty text frames when computing rendered text. r=roc
We now bail in GetRenderedText when we encounter dirty text frames. This shouldm be okay since dirty text frames should be reflowed at some point and we'll refresh our accessible text cache.
2011-10-17 10:30:33 -04:00
Jeff Walden
b7753477cf Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones
--HG--
extra : rebase_source : b4bae9a0f85abf2feb828609b50e756916b99a6f
2011-10-10 22:50:08 -07:00
Jeff Walden
eb2cb918a4 Back out everything since 5435ee09cf7b. Tinderbox compilers hate me. r=epic-fail 2011-10-12 12:21:53 -07:00
Jeff Walden
77ebbde4ab Bug 639469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. r=cjones
--HG--
extra : rebase_source : 860a8271bf7e51cde358f2a4185c410de1fc2960
2011-10-10 22:50:08 -07:00
Jonathan Kew
bf22ca29e7 Bug 692752 - paint text-shadow after selection highlight background. r=roc 2011-10-08 17:27:14 +01: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
Jonathan Kew
3f213d78b5 bug 686497 - avoid passing excessively long wavy-underline path to cairo for stroking. r=roc 2011-09-16 20:23:29 +01:00
Masayuki Nakano
d9869bfccf Bug 669028 part.13 layout should use mozilla::LookAndFeel rather than nsILookAndFeel r=roc 2011-09-09 11:27:13 +09:00
Ed Morley
a31b5adc78 Merge last green changeset of m-c to m-i 2011-08-26 10:26:46 +01:00
Boris Zbarsky
7d2d7a386f Bug 682051. Optimize textframe to handle horizontal resizes of large runs of text better. r=roc
This change does two things:

1) Makes sure that we don't clear textruns when removing continuations due to
an earlier consideration expanding to contain all their text.

2) Remove continuations in chunks to work around the fact that blocks are
really bad at handling single frame removals.
2011-08-25 23:29:24 -04:00
Alfred Kayser ext:(%2C%20Ms2ger%20%3Cms2ger%40gmail.com%3E)
944c74ce98 Bug 537223 - Cleanup gfxColor.h; r=jrmuizel 2011-08-25 10:46:01 +02: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
L. David Baron
3bee9b4196 Remove quirks mode check that should have been removed when standards-mode and quirks-mode text-decorations were merged in bug 403524, changeset 83b2648ee442. (Bug 680505, patch 2) r=roc
This code is a little bit sketchy, but given that text-decoration
drawing is the same across modes we shouldn't have a quirks mode check
here (though there's a decent argument to be made that we shouldn't be
checking text decorations at all).
2011-08-20 21:35:56 -04:00
Matt Brubeck
4e7caa789f Merge mozilla-central and mozilla-inbound 2011-08-12 07:08:33 -07:00
Ms2ger
d377c55ed2 Bug 677101, part c - Reduce nsIDOMText.h inclusions; r=volkmar 2011-08-11 15:29:58 +02:00
Vitor Menezes
634b38b6b7 Bug 676538: Fix regression that caused text-decorations on inline *child* of block to draw at the offset for the block rather than the inline. r=dbaron
The FrameProperty representing baseline is set when a block defines
text-decorations and has vertically-aligned children, but we were
retrieving it whether the block or the vertically-aligned frame itself
defined the decorations.  As a result, we "undo" the frame offset to get
the baseline from the child in that case.
2011-08-10 12:44:17 -07:00
Mats Palmgren
66c48bce55 Bug 663375 - When text color is darkened, darken text-decoration color too. r=dbaron 2011-08-09 17:14:36 +02:00
Jeff Muizelaar
cb92f6ff06 Bug 660662. Eliminate NS_(ceil|floor). r=roc
These just called the system versions.
2011-05-30 15:08:55 -04:00
Vitor Menezes
cf291058cb Bug 403524: Remove the standards-mode text-decoration code and use the quirks-mode code in all modes. r=dbaron 2011-08-03 11:30:58 -07:00
Vitor Menezes
34ffdd3a27 Bug 403524: Draw correct colors for text-decorations on default-color shadows in quirks mode. r=dbaron
Make the quirks mode text-decoration + text-shadow code draw the
decorations for shadows that do not have a specified color using
the same color used for the un-shadowed decorations, which matches
standards mode behavior.  (The color of unspecified-color shadows
is explicitly undefined in the specification.)

This code will (in a later patch on this bug) be used for both
quirks and standards modes.
2011-08-03 11:30:58 -07:00
Vitor Menezes
1be3da1279 Bug 403524: Make quirks-mode text draw order comply with CSS 2.1
Quirks-mode code draws text, and then all decorations. We need to instead draw
underlines, then overlines, -then- text, then line-throughs, as per CSS 2.1.

This involves refactoring nsTextFrame::PaintTextDecorations and
nsTextFrame::DrawText by merging them together, and also updating some
of their callers.
2011-08-03 11:30:58 -07:00
Vitor Menezes
c3e1ce33e1 Fix apparent rounding issues with new text decoration code. (Bug 403524) r=dbaron
Rendering text decorations far away from the frame's baseline seems to
sometimes introduce rounding issues. This patch addresses that by
avoiding snapped-baseline weirdness and using a different argument to
nsTextFrame::PaintTextDecorations in some computations that didn't
really need to use the snapped baseline anyway.
2011-08-03 11:30:58 -07:00
Vitor Menezes
e28c55c2e9 Fix text-decoration positioning in quirks mode and set overflow areas to match. (Bug 403524) r=dbaron
Change the quirks mode text-decoration code (soon to be used for all
modes) to follow CSS 2.1's rules for positioning of decoration lines.
Decorations are now drawn at a constant vertical position established by
the element creating the decoration, and more than one of the same type
(underline, overline, line-through) of decoration are supported on the
same piece of text.

This means that text-decorations can now significantly overflow a text
frame, since the vertical-alignment of the element with text-decoration
may be substantially different from the vertical alignment of the text.
Set overflow areas for text frames with text decorations in
nsLineLayout::RelativePositionFrames since it must happen *after*
vertical alignment is done, and when relative positioning data are
consistent (nsIFrame::GetRelativeOffset matches the offset that has been
applied).
2011-08-03 11:30:58 -07:00
Ehsan Akhgari
096131f2a7 Merge the last green changeset on mozilla-inbound to mozilla-central 2011-07-13 11:40:03 -04:00
Ed Morley
78387ed743 Bug 447838 - Fix build warnings in nsTextFrameThebes.cpp; r=roc 2011-07-12 12:06:34 -04:00
Simon Montagu
672d772074 Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu
ae37ce037d Undefine caret bidi level during reflow instead of on text entry. Bug 664087, r=roc 2011-07-05 08:42:32 +03:00
Mats Palmgren
cff2b748ef Bug 668919 - The ellipsis with text-overflow: ellipsis is sometimes one pixel too low. r=roc 2011-07-04 07:47:59 +02:00
Mats Palmgren
ba50f9565f Bug 667653 - Make NS_FRAME_SELECTED_CONTENT on text frames less sticky. r=roc 2011-06-30 02:56:50 +02:00
Mats Palmgren
817e5a24da Bug 666669 - Restrict selection painting to the nsCharClipDisplayItem edges (same as for non-selected text). r=roc 2011-06-30 02:56:49 +02:00
Craig Topper
9e5af74e62 Bug 654369 - Part 7: Remove OOM checks from nsTextFrameThebes r=bz
--HG--
extra : rebase_source : 2cb5ce4d3f3a6d8d0e3a50c40303f8c1c098dbdf
2011-05-02 00:11:34 -07:00
Ed Morley
af1d9c6c2b Bug 661584 - Code cleanup, substitute more PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc,ted 2011-06-25 16:06:02 +02:00
Mats Palmgren
b19080bd1f Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Robert O'Callahan
55a9350095 Bug 637852. Part 13: Allow snapping of text baselines to occur when there's a scale in the current transform. r=tnikkel
This allows baselines to be snapped properly when drawing into high-resolution ThebesLayers.
2011-06-23 00:11:28 +12:00
Ed Morley
7bd9e7ed4a Bug 665723 - Fix unused variable warnings in layout/generic/; r=roc 2011-06-21 17:37:47 +02:00
Dão Gottwald
a3d8b786ca Bug 654411 - Use text color at 50% opacity instead of graytext to de-emphasize text in the location bar. r=roc ui-r=faaborg 2011-06-17 08:07:03 +02:00
Simon Montagu
b202223ff2 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Matheus Kerschbaum
7406ce377f Bug 660762 - Remove --disable-mathml support. r=roc 2011-06-02 13:11:33 +02:00
Simon Montagu
dc7e814c0b Don't use cached inflow length for empty frames. Bug 660416, r=roc 2011-05-30 18:19:13 +03:00
Daniel Holbert
052c758a4a Merging cedar with mozilla-central. 2011-05-22 16:13:23 -07:00
Daniel Holbert
98ad7c6ba1 Bug 658834: Remove unused variable 'sc' from nsTextFrameThebes.cpp r=jfkthame 2011-05-22 09:53:46 -07:00
Simon Montagu
104d732e9a Cache in-flow content length. Bug 566066, r=roc 2011-05-22 11:20:29 +03:00
Jonathan Kew
5d30b8b8b8 bug 655207 - don't read an uninitialized entry in the hyphenation array. r=roc 2011-05-09 10:55:19 +01:00
Jonathan Kew
916e9b8b24 bug 253317 - part 5 - support none/manual/auto values for -moz-hyphens in layout. r=roc 2011-05-04 12:29:56 +01:00
Dão Gottwald
ca1f9f0f94 Bug 451833 - Highlight the domain name in the address bar. r=roc,sdwilsh ui-r=faaborg
--HG--
extra : rebase_source : 1010ad246e94e271a0efaaca13356aff5d4b3bc3
2011-05-02 19:50:18 +02:00
Boris Zbarsky
dd94d998a3 Bug 650379. Add a new XPCOM timer type that is like TYPE_REPEATING_PRECISE but does not swamp the event queue if the callback takes longer than the timer interval to run. r=cjones, sr=brendan
This implements proposal 3 from bug 650379 comment 13.  The main difference
between TYPE_REPEATING_PRECISE and TYPE_REPEATING_PRECISE_CAN_SKIP is to not
AddTimer the REPEATING_PRECISE_CAN_SKIP timer until after the callback has run;
this guarantees that no more timer events will be posted until after the
callback finishes executing.  A secondary change is to make
REPEATING_PRECISE_CAN_SKIP timers advance their firing time to mDelay from when
PostTimerEvent is called, not mDelay from the old mTimeout.  While this arguably
makes them less precise, the alternative is that if a timer is significantly
delayed for some reason (e.g. because the user puts the computer to sleep for a
while) it will then fire a whole bunch of times to "catch up" to where it's
supposed to be, advancing its firing time by mDelay at a time.  That seems
undesirable.

An alternate approach would have been to readd the timer from inside
PostTimerEvent, but only if we're not in the middle of firing the timer. That
would allow more precise timers in the case when the callback is not taking too
long, but still handle gracefully the case when the callback is
slow. Unfortunately this falls down if something _else_ is hogging the main
thread event loop (e.g. some other timer has a slow callback, or whatever); in
that case we would post multiple events for the one precise timer while the
event-loop-hogging operation is running. So I don't think we should do that.
2011-04-28 19:33:52 -04: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
Masayuki Nakano
cc0623b6e3 Bug 647421 -moz-text-decoration-color and -moz-text-decoration-style should be reset by text-decoration r=dbaron, sr=bzbarsky 2011-04-23 14:16:41 +09:00
Zack Weinberg
51864c09d8 Bug 651017, part 1: minimize inclusion of ns*DeviceContext.h; move the printing error codes to nsIDeviceContextSpec.h; os2 small widget cleanup.
--HG--
extra : rebase_source : 5b7cebe68f71a760463e3522b159c7cde8a72f5e
2011-04-16 18:22:41 -07:00
Jonathan Kew
e7b2b9924c bug 650499 - limit length covered by PropertyProvider to the text actually included in the textRun. r=roc 2011-04-19 08:51:31 +01:00
Robert O'Callahan
73b97e72c4 Bug 641426. Part 2: Remove a bunch of direct gfxRect::pos/size usage. r=joe 2011-04-19 15:07:21 +12:00
Zack Weinberg
52c99aabb7 Bug 174055, part 6: eliminate pointless nsresult return values. 2011-04-07 21:18:43 -07:00
Zack Weinberg
42ead75834 Bug 174055, part 4: mechanical fixups outside gfx. 2011-04-07 18:05:49 -07:00
Zack Weinberg
d6425e8bd1 Bug 174055, part 2: merge nsIThebesFontMetrics into nsIFontMetrics. 2011-04-07 18:05:25 -07:00
Zack Weinberg
299386f14c Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -07:00