L. David Baron
ad38f45fcd
Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
...
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text. Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous. Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Robert O'Callahan
c1143d31a8
Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
...
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-13 23:44:06 +12:00
Robert O'Callahan
e186ebae4c
Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures.
2012-04-12 00:34:23 +12:00
Robert O'Callahan
8b347a5213
Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
...
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-11 16:49:34 +12:00
Robert O'Callahan
05459a2180
Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
...
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.
With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).
FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Mats Palmgren
5bd0537dab
Bug 736915 - Print Selection prints a blank page when the selection is inside a table. r=bz
...
When rendering just the current Selection (Print - Selection) then don't create display items
for table-related frames unless the frame itself is part of the selection, and always ask
descendant frames to build display lists [in case they are selected].
2012-04-03 02:30:45 +02:00
Boris Zbarsky
36de3c29af
Bug 735579. Correctly handle changes to column widths in fixed-layout tables. r=ehsan
2012-03-16 15:56:41 -04:00
Daniel Holbert
c671210a16
Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron
2012-03-16 11:01:05 -07:00
Mats Palmgren
aeaba84873
Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz
2012-03-08 02:57:37 +01:00
Nathan Froyd
ea83912b62
Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu
2012-02-29 10:57:47 -05:00
Matt Woodrow
9830f5d3d3
Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc
2012-02-15 22:28:21 +13:00
Aryeh Gregor
ae42fdb086
Bug 722777 - Tables with 'transform' property set don't act as abs-pos/fixed-pos containers; r=roc
...
--HG--
rename : layout/reftests/transform/abspos-1a.html => layout/reftests/transform/abspos-1f.html
rename : layout/reftests/transform/abspos-1b.html => layout/reftests/transform/abspos-1g.html
2012-02-10 21:05:00 +00:00
Panagiotis Koutsourakis
01607a9182
Bug 702388 - Convert Makefiles to use |TEST_DIRS += foo| r=khuey
...
Files named Makefile.in containing the expression
DIRS += <foo>
or
DIRS = <foo>
inside the conditional expression
ifdef ENABLE_TESTS
...
endif
are changed to
TEST_DIRS += tests
outside any conditional expression.
The files
./layout/Makefile.in
./layout/Makefile.in
./layout/style/Makefile.in
./rdf/Makefile.in
./security/manager/Makefile.in
./content/Makefile.in
./content/smil/Makefile.in
./content/xul/templates/Makefile.in
./content/xul/content/Makefile.in
./content/base/Makefile.in
./content/media/Makefile.in
./parser/htmlparser/Makefile.in
./dom/sms/Makefile.in
./js/jsd/Makefile.in
./js/xpconnect/Makefile.in
./widget/Makefile.in
./widget/windows/Makefile.in
./Makefile.in
./startupcache/Makefile.in
./storage/Makefile.in
./gfx/Makefile.in
./intl/strres/Makefile.in
./intl/uconv/Makefile.in
./intl/unicharutil/Makefile.in
./intl/lwbrk/Makefile.in
./embedding/Makefile.in
./modules/libjar/Makefile.in
./modules/libpref/Makefile.in
./build/Makefile.in
./build/win32/Makefile.in
./xpcom/Makefile.in
./extensions/spellcheck/hunspell/Makefile.in
./extensions/cookie/Makefile.in
./netwerk/Makefile.in
./netwerk/streamconv/Makefile.in
./editor/txmgr/Makefile.in
./toolkit/mozapps/shared/Makefile.in
./toolkit/mozapps/update/Makefile.in
./toolkit/library/Makefile.in
./toolkit/library/Makefile.in
./toolkit/crashreporter/Makefile.in
./toolkit/components/perf/Makefile.in
./toolkit/components/perf/Makefile.in
./toolkit/components/feeds/Makefile.in
./toolkit/components/url-classifier/Makefile.in
contain the string
ifdef ENABLE_TESTS
but have some other statement inside (e.g. TOOL_DIRS += <foo> etc) and
they remain unchanged by this patch.
2012-02-04 17:32:24 +00:00
Phil Ringnalda
ef90347574
Bug 694248 - skip layout/tables/crashtests/691824-1.xhtml on Android, r=ehsan
2012-01-23 15:40:43 -08:00
L. David Baron
ac8b4c103a
Set inflation container to null during ComputeSize calls for inflation containers, when we should not have inflation applied. (Bug 706609, patch 4.5) r=roc
2012-01-24 17:21:29 -08:00
L. David Baron
eef6a557db
Set inflation container to null during parts of intrinsic sizing that should not have inflation applied. (Bug 706609, patch 4) r=roc
...
This is the first 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
Mats Palmgren
63819f56c7
Bug 720142 - Avoid calling GetFirstInFlow() on the row group twice. r=bernd
2012-01-22 23:48:34 +01:00
Mats Palmgren
a762a1431a
Bug 720142 - Only calculate the border half we actally use. r=bernd
2012-01-22 23:48:34 +01:00
Mats Palmgren
a25a082599
Bug 720142 - Use nsIntRect for table damage. r=bernd
2012-01-22 23:48:34 +01:00
Daniel Holbert
9815e1f386
Bug 716738: Label layout/tables as gcc-warning-free with FAIL_ON_WARNINGS. r=dbaron
2012-01-19 21:33:20 -08:00
Mats Palmgren
ed105170bb
Bug 524925 - Consolidate overflow clipping checks to nsFrame::ApplyOverflowClipping(); and fix some code style nits. part=5/6 r=roc
2012-01-18 21:04:51 +01:00
Benjamin Stover
7142e1a416
Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
...
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.
There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Mats Palmgren
88e6108ddd
Bug 716408 - Fix nsTableFrame::DidSetStyleContext indentation. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
09dcf54f20
Bug 716408 - Assert that a prev-in-flow is null or of the same frame type. No need to null out mCellMap, the ctor does that and re-Init of frames isn't allowed. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
2c8d8cd157
Bug 716408 - No need to null-check for delete, no need to null out members in dtor. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
b1b66b3739
Bug 716408 - Initialize all bits of mBits to zero. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
ff52895e48
Bug 716408 - Make nsTableFrame::GetTableFrame abort if the given frame isn't a table frame descendant, thus guaranteeing a non-null result. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
81b2668831
Bug 716408 - Remove unnecessary nsTableFrame::GetFirstInFlow() calls to get IsBorderCollapse() bit. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
30e0c5b3e9
Bug 716408 - Remove null-checks of GetFirstInFlow() result. r=bernd
2012-01-17 00:38:10 +01:00
Bernd
4d4ef11eaf
bug 711864 - dEndY is already in the rowgroup r=mats
2012-01-09 07:37:16 +01:00
Bernd
20da5ba557
bug 710098 - use effective rowspan r=mats
2011-12-29 09:17:55 +01:00
Mats Palmgren
3e85ab1da6
Bug 515530 - Remove nsHTMLContainerFrame. r=roc
2011-12-27 21:18:48 +01:00
Andrew Quartey
ae31b5a0e8
Bug 507419-Consistent ordering of AppendFrames and InsertFrames
2011-12-27 09:31:22 +01:00
Bernd
4b0051c419
bug 531200 - always set the desiredHeight, also if SplitSpanningCells does not split any cell r=dholbert
2011-12-27 09:31:10 +01:00
Bernd
cbe01cbc5b
bug 711359 - mark all subsequent rows as damaged r=mats
2011-12-27 09:31:09 +01:00
Nicholas Nethercote
67d30e3fdd
Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron.
2011-12-19 19:46:39 -08:00
Mats Palmgren
11e92a2e7b
Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug
2011-12-20 10:15:41 +01:00
Bernd
f7ba84cbaa
bug 707622 - rows without originating cells are suppressed at the table bottom r=mats
2011-12-07 20:38:25 +01:00
Bernd
1b4c661a44
followup on bug 460637
2011-12-04 07:20:09 +01:00
Bernd
88c13a63c7
bug 705996 - the damageArea should only be set once the columns are in shape r=mats
2011-12-03 07:21:16 +01:00
Bernd
b6d8f1196a
bug 451355 - testcase is now wfm
2011-12-03 07:21:16 +01:00
Bernd
6f32707b71
bug 467444 - firstTruncatedRow can not be the last row on page if it should be pushed r=dholbert
2011-12-01 07:34:30 +01:00
Bernd
c02564dfc2
bug 460637 - the group cellmaps need to set the damageArea relative to the entire table, patch by Mats Palmgren, Randell Jesup and Bernd, r=mats, bernd
2011-10-27 09:58:44 -04:00
L. David Baron
f33323de16
Don't construct cell reflow states with a row group reflow state as their parent; instead, always link in a table row reflow state as appropriate. (Bug 627842, patch 3.875) r=roc
...
Fixes assertion on layout/reftests/bugs/409084-1a.html once the rest
of the inflation patches land.
2011-11-23 18:48:23 -08:00
Ed Morley
b4eeea3edf
Backout 4997c6f8b24d (bug 616542) for causing locally run mochitest-browser-chrome test runs to fail
2011-11-05 18:35:59 +00:00
Rail Aliiev
a2113b4d42
Bug 616542 - Shorten file path length of mochitest; r=ted
2011-11-04 21:13:42 +00:00
Jonathan Watt
94083766b3
Bug 695303 - Add a mozilla::clamped function to replace NS_CLAMP (so side affects of args are evaluated no more than once) and NS_MIN(max, NS_MAX(val, min)) (to make code clearer). r=bsmedberg.
2011-10-28 19:33:28 +01:00
Bernd
b6b0d97c7d
bug 695430 - stop trying to insert previously emptied framelists r=bzbarsky
2011-10-24 21:22:33 +02:00
Ehsan Akhgari
1deb9f1504
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
Matt Woodrow
b7eb4fc0db
Bug 692968 - Make nsDisplayTableItem::GetBounds return the untransformed overflow area. r=tn
2011-10-13 14:01:27 +13:00