Commit Graph

443 Commits

Author SHA1 Message Date
Ms2ger
3fea5b3901 Bug 677101, part c - Reduce nsIDOMText.h inclusions; r=volkmar 2011-08-11 15:29:58 +02:00
Vitor Menezes
cc47ff48ae 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
f70d28ee47 Bug 663375 - When text color is darkened, darken text-decoration color too. r=dbaron 2011-08-09 17:14:36 +02:00
Vitor Menezes
f82cd17bcb 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
946ce0dcc2 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
59b9ac988d 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
38be52299b 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
e915e08a19 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
3e4044476c Merge the last green changeset on mozilla-inbound to mozilla-central 2011-07-13 11:40:03 -04:00
Ed Morley
8604ef0a74 Bug 447838 - Fix build warnings in nsTextFrameThebes.cpp; r=roc 2011-07-12 12:06:34 -04:00
Simon Montagu
c5979d144a Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu
41b695192a 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
9bb2d0e9ec 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
91a8b3dfd6 Bug 667653 - Make NS_FRAME_SELECTED_CONTENT on text frames less sticky. r=roc 2011-06-30 02:56:50 +02:00
Mats Palmgren
5b09fc8a8b 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
1166c130bf 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
3f49fdcb2a 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
e757474795 Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Robert O'Callahan
c37c544c23 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
089654ad1f Bug 665723 - Fix unused variable warnings in layout/generic/; r=roc 2011-06-21 17:37:47 +02:00
Dão Gottwald
bb6e193672 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
2fcf206e42 Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc 2011-04-11 10:59:30 +03:00
Matheus Kerschbaum
c0decf640b Bug 660762 - Remove --disable-mathml support. r=roc 2011-06-02 13:11:33 +02:00
Simon Montagu
1a837f2ff0 Don't use cached inflow length for empty frames. Bug 660416, r=roc 2011-05-30 18:19:13 +03:00
Daniel Holbert
52ff4fdee7 Merging cedar with mozilla-central. 2011-05-22 16:13:23 -07:00
Daniel Holbert
3e6b735cc0 Bug 658834: Remove unused variable 'sc' from nsTextFrameThebes.cpp r=jfkthame 2011-05-22 09:53:46 -07:00
Simon Montagu
e1b022a91f Cache in-flow content length. Bug 566066, r=roc 2011-05-22 11:20:29 +03:00
Jonathan Kew
048181c657 bug 655207 - don't read an uninitialized entry in the hyphenation array. r=roc 2011-05-09 10:55:19 +01:00
Jonathan Kew
650a6ba4cf 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
c51a4c6569 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
2d337f0522 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
f213cf876f Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
Masayuki Nakano
1adf21f3e7 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
8648dcc368 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
00fe250c83 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
629c1b7e18 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
ef90e52c10 Bug 174055, part 6: eliminate pointless nsresult return values. 2011-04-07 21:18:43 -07:00
Zack Weinberg
b6b73ad75a Bug 174055, part 4: mechanical fixups outside gfx. 2011-04-07 18:05:49 -07:00
Zack Weinberg
c49f97544f Bug 174055, part 2: merge nsIThebesFontMetrics into nsIFontMetrics. 2011-04-07 18:05:25 -07:00
Zack Weinberg
9f143f420f Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -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
Simon Montagu
c808d636dc Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Simon Montagu
030f555e66 Bug 263359 part 1.5: remove nsDirectionalFrame. 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
Jonathan Kew
1c17cb53b6 bug 646983 - set the correct text length for the PropertyProvider. r=roc 2011-04-08 11:18:47 -07:00
Ehsan Akhgari
36a6723fd4 Merge cedar into mozilla-central 2011-03-31 14:11:37 -04:00
Jonathan Kew
720a73f507 bug 646561 - pass correct length to PropertyProvider in bidi case. r=roc 2011-03-31 09:47:01 +01:00
Jonathan Kew
15d01c433c bug 418975 - support &shy; when calculating min width for table and fieldset. r=roc. landing on the CLOSED TREE after dbaron went to bed :) 2011-03-24 15:22:37 +00:00
Masayuki Nakano
fcb9c01bf9 Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
Masayuki Nakano
8de7beda92 Bug 59109 Part 2: Cleaning up current text decoration implementation r=dbaron 2011-03-31 21:26:49 +09:00