Commit graph

733 commits

Author SHA1 Message Date
Jonathan Kew
c5e1a54d59 Bug 1065002 pt 1.3 - Add an Orientation parameter to gfxFont::GetMetrics and dispatch to horizontal or vertical as needed. r=jdaggett 2014-09-30 07:38:26 +01:00
James Kitchener
8caa56278b Bug 1069929 - Apply dtls font feature setting for <mover> elements. r=roc 2014-09-24 04:38:00 -04:00
John Daggett
3570b54018 Bug 998869 part 2 - switch to GetFontAt(0) to GetFirstValidFont(). r=jfkthame 2014-09-25 12:16:53 +09:00
Jonathan Kew
03067bd966 Bug 1072348 - Make IsJustifiableCharacter recognize Plane 2 ideographs. r=roc 2014-09-24 18:11:02 +01:00
Georg Fritzsche
83f0c5bfb7 Bug 1067989 - Unify some more binary search uses. r=waldo 2014-09-17 15:46:24 +02:00
Jonathan Kew
50b0ff2a5d bug 1066043 - split gfxFont.cpp and .h into more manageably-sized pieces. r=jdaggett
--HG--
rename : gfx/thebes/gfxFont.cpp => gfx/thebes/gfxFontEntry.cpp
rename : gfx/thebes/gfxFont.h => gfx/thebes/gfxFontEntry.h
rename : gfx/thebes/gfxFont.cpp => gfx/thebes/gfxGlyphExtents.cpp
rename : gfx/thebes/gfxFont.h => gfx/thebes/gfxGlyphExtents.h
rename : gfx/thebes/gfxFont.cpp => gfx/thebes/gfxTextRun.cpp
rename : gfx/thebes/gfxFont.h => gfx/thebes/gfxTextRun.h
2014-09-16 10:58:12 +01:00
Jonathan Kew
7b32611a01 Bug 1066756 - Include characters with Unicode category Sk (modifier symbol) in double-click word selection. r=mats 2014-09-15 17:19:24 +01:00
Matt Woodrow
050a6eabe8 Bug 1059033 - Part 6: Clip text drawing to its bound so we can skip unaffected tiles. r=Bas
--HG--
extra : rebase_source : 60d0462767f625d91261b40b930ee165f0126173
2014-09-03 09:21:20 +12:00
Phil Ringnalda
e63feb3849 Backed out 8 changesets (bug 982338, bug 1057212, bug 1059033) for build bustage
CLOSED TREE

Backed out changeset 4df1bd30364d (bug 982338)
Backed out changeset b68664a02904 (bug 1057212)
Backed out changeset 07b3695aa02f (bug 1059033)
Backed out changeset bb3885b57d48 (bug 1059033)
Backed out changeset 76897f52ac2c (bug 1059033)
Backed out changeset 31e89a2a409f (bug 1059033)
Backed out changeset 8e81f6f74182 (bug 1059033)
Backed out changeset c5bbf22f2f28 (bug 1059033)
2014-09-01 18:07:57 -07:00
Matt Woodrow
02a310c375 Bug 1059033 - Part 6: Clip text drawing to its bound so we can skip unaffected tiles. r=Bas
--HG--
extra : rebase_source : 4b59eb902062940e7d3f262fa0ef661a5f0e9ded
2014-09-02 12:35:40 +12:00
Jonathan Kew
4572da3eb7 bug 1048899 - don't end ::first-letter in the middle of a ligature for Indic and SEAsian scripts. r=smontagu 2014-09-01 21:08:52 +01:00
Matt Woodrow
75354456c5 Bug 1059033 - Backout part 6 for causing reftest failures 2014-09-01 16:58:04 +12:00
Ehsan Akhgari
60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Matt Woodrow
98c3f2d992 Bug 1059033 - Part 6: Clip text drawing to its bound so we can skip unaffected tiles. r=Bas 2014-09-01 15:23:29 +12:00
James Kitchener
b2fb4cec97 Bug 1043358 - Fix up font caching in MathMLTextRunFactory. r=roc 2014-08-22 03:48:00 -04:00
Jonathan Kew
a5a5cf98e5 bug 1046950 pt 2 - convert ComputeSize to use logical-coordinate parameters. r=smontagu 2014-08-24 15:34:44 +01:00
Robert O'Callahan
41cde90a7c Bug 1054161. Don't build display items for text with alpha=0. r=dbaron
--HG--
extra : rebase_source : 869a05a652a3bc6e8e122d34fb166ed9fbbdaa5c
2014-08-23 00:08:12 +12:00
Robert O'Callahan
2489dc1f01 Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn
This patch started an attempt to remove nsFrameSelection.h from nsCaret.h
and metastasized into a rather large refactoring patch that removed it
from some other header files as well, and changed nsFrameSelection::HINT
into a global-scope enum with better names. I also converted bools
into CaretAssociationHint in a few places where that was appropriate,
but there are still some more places (GetChildFrameContainingOffset)
where bools need to be converted. I figured this patch was big enough already.

--HG--
extra : rebase_source : cc618ef60e707e1360644340a2648de389383da0
2014-08-06 17:19:27 +12:00
Susanna Bowen
c622b18e05 Bug 1030993 - Fix assertion failure in reftest css-ruby/ruby-whitespace-1.html. r=dbaron
Fixes the assertion failure with text:
"###!!! ASSERTION: Wrong line container
hint: '!aForFrame || (aLineContainer == FindLineContainer(aForFrame) ||
aLineContainer->GetType() == nsGkAtoms::rubyTextContainerFrame ||
(aLineContainer->GetType() == nsGkAtoms::letterFrame &&
aLineContainer->IsFloating()))', file
/home/sgbowen/builds/mozilla-central/layout/generic/nsTextFrame.cpp, line 1259"
which occasionally appears when opening pages with ruby or when running ruby
reftests.

Updates the manifest for ruby reftests to the current expectations (adjust
assertion counts, etc.)
2014-08-15 10:34:20 -07:00
Susanna Bowen
779f8cef59 Bug 1030993 - Basic reflow implementation for ruby frame classes. r=dbaron
To account for spacing between bases or text boxes during reflow, the line
layout which manages the bases updates its inline direction coordinate based on
the preferred inline size for the corresponding text boxes. Next, the base is
reflowed at the correct inline coordinate. Each paired text box is then also
reflowed at the proper inline position determined by (1) the current position of
its corresponding base and (2) its own preferred width.

In computing intrinsic widths, accounting for spacing is less complicated. The
minimum intrinsic width is the width of the widest ruby column, and the
preferred intrinsic width is the sum of all the ruby column widths. Each ruby
column width is the maximum width of its base box and text boxes. These
individual widths are determined using GetPrefISize on the base and text boxes.

Ruby base container frames store a list of pointers to the ruby text container
frames in the segment they denote. This list of pointers is created in the ruby
frame reflow method before calling the reflow method for the ruby base
container. The list exists and is used only during reflow of the main ruby frame
and is cleared before returning from reflow.
2014-08-15 10:34:20 -07:00
Morris Tseng
221cfc87b5 Bug 1024930 - Change text highlighting color. r=roc 2014-07-28 02:13:00 +02:00
Jonathan Kew
55170c430a bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
Jonathan Kew
8b67cdf704 bug 1031241 pt 2 - More renaming, e.g. where {Min,Pref}Width occurs within longer type and function names. r=smontagu 2014-07-24 18:03:25 +01:00
Jonathan Kew
ce9cbe4216 bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu 2014-07-24 18:03:25 +01:00
Simon Montagu
18c9f2f61a Bug 789096 patch 10: make Reflow set nsHTMLReflowMetrics.ISize and BSize instead of Width and Height. r=jfkthame 2014-07-24 01:30:07 -07:00
James Kitchener
612aae5f53 Bug 1027354 - Fix fontweight and fontstyle on single char <mi>. r=roc 2014-06-25 05:20:00 -04:00
Chris Peterson
3097778100 Bug 1027486 - Make nsTextFrame::UpdateOverflow bail if it has no block ancestor (fixing -Wsometimes-uninitialized warning). r=dholbert 2014-06-18 21:23:21 -07:00
Susanna Bowen
58e46a1570 Bug 727125 - Update overflow areas for text frames on text-decoration change to ensure text-decoration on hover is visible. r=dbaron 2014-06-17 10:32:00 -04:00
Susanna Bowen
b85550ce86 Bug 727125 - Lazily compute LineBaselineOffset when needed so it is present after a dynamic change of 'text-decoration'. r=dbaron
This fixes the positioning of underlines set on a block or its ancestor
when drawn on children of a block that have a vertical-align !=
baseline.

The lazy computation is done all at once for all children of a block to
avoid O(N^2) searches for the line containing a frame.
2014-06-18 12:55:00 -04:00
Simon Montagu
aaa4878ee5 Replace GetBaseline with GetLogicalBaseline and use logical coordinates in the line position and baseline getters in nsLayoutUtils. Bug 789096, r=jfkthame 2014-06-17 05:19:38 -07:00
Wes Kocher
abf9a45351 Backed out 2 changesets (bug 727125) for reftest bustage on an otherwise CLOSED TREE
Backed out changeset 443361e2724a (bug 727125)
Backed out changeset 16c8d78df86e (bug 727125)
2014-06-16 13:34:50 -07:00
Susanna Bowen
dc169c8b48 Bug 727125 - Update overflow areas for text frames on text-decoration change to ensure text-decoration on hover is visible. r=dbaron 2014-06-16 11:58:29 -07:00
Susanna Bowen
d1e6d153b7 Bug 727125 - Lazily compute LineBaselineOffset when needed so it is present after a dynamic change of 'text-decoration'. r=dbaron
This fixes the positioning of underlines set on a block or its ancestor
when drawn on children of a block that have a vertical-align !=
baseline.

The lazy computation is done all at once for all children of a block to
avoid O(N^2) searches for the line containing a frame.
2014-06-16 11:58:25 -07:00
Simon Montagu
ca20e365ef Replace Get/SetTopAscent with Get/SetBlockStartAscent. Bug 789096, r=jfkthame 2014-06-11 02:45:31 -07:00
Cameron McCormack
8311e3a117 Bug 1019555 - Treat newlines and tabs as space characters in SVG xml:space="preserve" text. r=roc 2014-06-05 13:25:15 +10:00
Victor Porof
9ce7e9c089 Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Robert O'Callahan
755b99f4f6 Bug 1014252. Optimize clearing of textruns via RemoveInFlows. r=matspal
We're keeping the core idea that, before we remove the frames-to-be-destroyed
from the continuation chain, their textruns need to be disconnected/destroyed.
However, nsContinuingTextFrame::DestroyFrom tries to optimize when the
destroying frames that aren't mentioned in the userdata for the textrun, and
certain other conditions are met; we need a similar optimization here. It's
simpler here because the other conditions are definitely met, since all the
text for the frames being deleted has already been consumed and reflowed by
previous frames.

We don't need the TEXT_STYLE_MATCHES_PREV_CONTINUATION state bit anymore
because nsContinuingTextFrame::DestroyFrom will never see any textruns when
called via RemoveEmptyInFlows.

--HG--
extra : rebase_source : 6544f923499ef604d48ec15961716549dd25d279
2014-05-28 15:39:25 +12:00
Jonathan Kew
181a74e5b2 bug 1015603 part 6 - remove nsFontVariantTextRunFactory from layout, leaving gfx to handle small-caps. r=roc 2014-05-26 14:23:32 +01:00
Mats Palmgren
0d14b4f2ec Bug 508665 - part 8, Move child frame insertion/removal methods from nsIFrame to nsContainerFrame. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
399be41768 Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
9795aca511 Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-13 00:47:52 +00:00
Wes Kocher
42253715d7 Backed out 11 changesets (bug 1008917) for apparently introducing an intermittent failure of B2G Crashtest-2 on a CLOSED TREE
Backed out changeset e2ab653f688a (bug 1008917)
Backed out changeset b52154d8d900 (bug 1008917)
Backed out changeset 2ab5b01da4de (bug 1008917)
Backed out changeset f7a38df1d44f (bug 1008917)
Backed out changeset 80304bb9a572 (bug 1008917)
Backed out changeset 10ed89a302e9 (bug 1008917)
Backed out changeset 161c41991d46 (bug 1008917)
Backed out changeset 25b2475d2368 (bug 1008917)
Backed out changeset b8000b31277c (bug 1008917)
Backed out changeset 9afa5e7715e1 (bug 1008917)
Backed out changeset 5c380c21351f (bug 1008917)
2014-05-12 15:47:41 -07:00
Mats Palmgren
a722b491f1 Bug 1008917 - part 2,3,4, make Reflow() return type 'void', and make a few reflow related helper methods 'void' too. r=roc 2014-05-12 17:40:28 +00:00
Benoit Jacob
60d536773a Bug 1004098 - Make nsTArray use size_t in its interface (32bitness is fine as an internal detail) - r=froydnj, sr=bsmedberg 2014-05-08 21:03:35 -04:00
Ehsan Akhgari
2ecbad7b1c Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
Daniel Holbert
61204d781b Bug 996351: Rename nsPresShell::GetReferenceRenderingContext() to CreateReferenceRenderingContext(), to reduce implication of fallibility. r=roc 2014-04-14 21:30:25 -07:00
Daniel Holbert
c3055e4c5c Bug 996319: Drop always-null arg from nsTextFrame.cpp's static helper-function "GetReferenceRenderingContext". r=jdaggett 2014-04-14 17:45:39 -07:00
John Daggett
8174f98f22 Bug 950526 - don't dump textruns within nsTextFrame::DidSetStyleContext. r=dbaron 2014-04-08 14:13:28 +09:00
Jonathan Kew
b0f64ce1f9 bug 617008 - avoid creating a rendering context that we may not need. r=roc 2014-03-31 11:53:09 +01:00
Gorman Ho
2f3c5ba795 Bug 983285 - Add a generic destructor for property values allocated with new. r=kats, r=bz 2014-03-25 09:25:47 -04:00