Commit Graph

311 Commits

Author SHA1 Message Date
Robert O'Callahan
e04f331b6b Bug 1022612. Part 44: Make nsSimplePageSequence only paint the pages that are actually in the dirty rect. r=mattwoodrow 2014-07-17 15:39:39 +12:00
Robert O'Callahan
d2cef0c3fe Bug 1022612. Part 15: Add nsDisplayItem::GetVisibleRectForChildren(). r=mattwoodrow 2014-07-15 23:47:46 +12:00
Robert O'Callahan
d466a9c5b2 Bug 1022612. Part 5: BuildDisplayListForExtraPage needs to pass the correct dirty rect in. r=mattwoodrow
When printing, every page has the same origin. So doing this change naively
would result in the first page having all the display items for every page
added to it, and all but the first page's display items being pruned
away by PruneDisplayListForExtraPage. This would making printing long documents
very slow. We avoid that problem with the new check for
NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO, so the only pages other than the
current page we descend into are the ones with placeholders for abs-pos content
on the current page.
2014-06-09 16:47:58 +12:00
Ryan VanderMeulen
c55b45acd3 Backed out 46 changesets (bug 1022612) for B2G mochitest permafails on a CLOSED TREE.
Backed out changeset 34b3014a3112 (bug 1022612)
Backed out changeset 6ae9316fd909 (bug 1022612)
Backed out changeset b8f3749c95eb (bug 1022612)
Backed out changeset caab10bf6ca3 (bug 1022612)
Backed out changeset 0c57c620c898 (bug 1022612)
Backed out changeset fac64141a00a (bug 1022612)
Backed out changeset bf0df1c9d68b (bug 1022612)
Backed out changeset b42054800020 (bug 1022612)
Backed out changeset 667793b21194 (bug 1022612)
Backed out changeset f14ada64fe1b (bug 1022612)
Backed out changeset 75b837686bdf (bug 1022612)
Backed out changeset 66de53183a22 (bug 1022612)
Backed out changeset 0ff86ced4d46 (bug 1022612)
Backed out changeset 18eecc5b1ef7 (bug 1022612)
Backed out changeset 2763c4878de5 (bug 1022612)
Backed out changeset b72413ecc385 (bug 1022612)
Backed out changeset b23f1081afb8 (bug 1022612)
Backed out changeset f7e2c6a72043 (bug 1022612)
Backed out changeset 959917c9027d (bug 1022612)
Backed out changeset 0268a46f4880 (bug 1022612)
Backed out changeset 3388856a80ad (bug 1022612)
Backed out changeset e4b17cf0f806 (bug 1022612)
Backed out changeset 2f4e9da0e4b6 (bug 1022612)
Backed out changeset 489f6a7c0c03 (bug 1022612)
Backed out changeset 8369d9ad7ad3 (bug 1022612)
Backed out changeset 0758d2a06002 (bug 1022612)
Backed out changeset f2ae9cb22edb (bug 1022612)
Backed out changeset 9c48c6ee5dc2 (bug 1022612)
Backed out changeset fe7134400f08 (bug 1022612)
Backed out changeset cc2c5397ca8b (bug 1022612)
Backed out changeset a3d1a3e8b39d (bug 1022612)
Backed out changeset 8974b74b0eb0 (bug 1022612)
Backed out changeset 75f7dbb5a2a6 (bug 1022612)
Backed out changeset 2aa04a071e60 (bug 1022612)
Backed out changeset f2ab1bcd4c39 (bug 1022612)
Backed out changeset da9152b6ea29 (bug 1022612)
Backed out changeset 58abf5b0e148 (bug 1022612)
Backed out changeset 797058a09ad2 (bug 1022612)
Backed out changeset ea3e99a92ff0 (bug 1022612)
Backed out changeset adc4a4a7aa73 (bug 1022612)
Backed out changeset 7b18dedd1505 (bug 1022612)
Backed out changeset 055dd1921e8e (bug 1022612)
Backed out changeset 42fa2c97e989 (bug 1022612)
Backed out changeset cd594236388f (bug 1022612)
Backed out changeset 9eadc5fee43d (bug 1022612)
Backed out changeset 5cc8d30ff7c9 (bug 1022612)
2014-07-17 11:24:47 -04:00
Robert O'Callahan
bc089ccf6a Bug 1022612. Part 44: Make nsSimplePageSequence only paint the pages that are actually in the dirty rect. r=mattwoodrow 2014-07-17 15:39:39 +12:00
Robert O'Callahan
6b6fdc241b Bug 1022612. Part 15: Add nsDisplayItem::GetVisibleRectForChildren(). r=mattwoodrow 2014-07-15 23:47:46 +12:00
Robert O'Callahan
68ba23c564 Bug 1022612. Part 5: BuildDisplayListForExtraPage needs to pass the correct dirty rect in. r=mattwoodrow
When printing, every page has the same origin. So doing this change naively
would result in the first page having all the display items for every page
added to it, and all but the first page's display items being pruned
away by PruneDisplayListForExtraPage. This would making printing long documents
very slow. We avoid that problem with the new check for
NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO, so the only pages other than the
current page we descend into are the ones with placeholders for abs-pos content
on the current page.
2014-06-09 16:47:58 +12:00
Carsten "Tomcat" Book
4735e8a997 Backed out changeset 6d2fc524e961 (bug 1022612) 2014-07-15 10:30:46 +02:00
Robert O'Callahan
9a413d7746 Bug 1022612. Part 5: BuildDisplayListForExtraPage needs to pass the correct dirty rect in. r=mattwoodrow
When printing, every page has the same origin. So doing this change naively
would result in the first page having all the display items for every page
added to it, and all but the first page's display items being pruned
away by PruneDisplayListForExtraPage. This would making printing long documents
very slow. We avoid that problem with the new check for
NS_FRAME_FORCE_DISPLAY_LIST_DESCEND_INTO, so the only pages other than the
current page we descend into are the ones with placeholders for abs-pos content
on the current page.
2014-06-09 16:47:58 +12:00
Mats Palmgren
a26b4d368e Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
84ce46d68c 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
2669e87017 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
4a79e08cae 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
Ehsan Akhgari
c01e9369ee Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
Arnaud Sourioux
e8ff43771f Bug 973087: Rename nsSimplePageSequence[.h|.cpp] to nsSimplePageSequenceFrame[.h|.cpp] r=roc 2014-02-18 00:58:22 -08:00
Arnaud Sourioux
c55abda61c Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
Peiyong Lin
db78ce129a Bug 959874 - Reorder two parameters in nsContainerFrame::FinishReflowChild(), for consistency with nsContainerFrame::ReflowChild(). r=dholbert 2014-01-16 17:34:44 -08:00
Mats Palmgren
a56486443d Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc 2014-01-05 23:31:14 +00:00
Ehsan Akhgari
68bfe70f09 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
Jonathan Kew
279981cdc3 bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu 2013-12-27 17:59:52 +00:00
Jonathan Kew
4796e463bc bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu 2013-12-27 17:59:21 +00:00
John Daggett
b2736d4fd7 Bug 934710 - add various text performance metrics and a log to handle these. r=jfkthame 2013-11-25 13:59:56 +09:00
Ehsan Akhgari
06d49ffd4d Bug 907883 - Minimize #includes in layout/generic; r=roc 2013-08-22 14:32:52 -04:00
Robert O'Callahan
9f854e63a2 Bug 889219. Part 4: Stop heap-allocating nsSharedPageData::mHeadFootFont. r=mats 2013-07-24 23:48:55 +12:00
Robert O'Callahan
1499a83bfc Bug 889219. Part 3: Clean up string usage for printing date/time headers. r=mats 2013-07-24 23:48:54 +12:00
Robert O'Callahan
a2b8311b7c Bug 889219. Part 2: Clean up string usage for page numbers/formats. r=mats 2013-07-24 23:48:54 +12:00
Robert O'Callahan
aef6305ae3 Bug 889219. Part 1: Clean up nsPrintEngine string usage for document titles/URLs. r=mats 2013-07-24 23:48:37 +12:00
Robert O'Callahan
916cde3a75 Bug 862180. Part 2: Rename nsDisplayItem::GetUnderlyingFrame() to Frame(). r=mattwoodrow 2013-04-20 00:02:13 +12:00
Robert O'Callahan
0ded47a99c Bug 862180. Part 1: Remove null checks on the result of nsDisplayItem::GetUnderlyingFrame(). r=mattwoodrow 2013-04-20 00:01:41 +12:00
Robert O'Callahan
d7f7732507 Bug 841192. Part 15: Move DisplayListClipState clipping methods to AutoSaveRestore and AutoClipMultiple helper classes for safer usage. r=mattwoodrow 2013-04-05 00:36:45 +13:00
Robert O'Callahan
29d310bf8a Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.
2013-03-04 22:56:02 +13:00
Robert O'Callahan
b18cd55753 Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
Robert O'Callahan
3ac2cf9858 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow 2013-02-15 00:08:08 +13:00
Robert O'Callahan
393e78946e Bug 820496. Put bounds in correct coordinate system when setting up the canvas background for a page. r=mattwoodrow 2012-12-18 15:45:14 +13:00
Matt Woodrow
3cc5ff0aa7 Bug 816603 - Set the correct canvas background color during print preview. r=tn 2012-11-30 17:34:39 +13:00
Brendan Dahl
3ea5439ef6 Bug 115199 - CSS2 @page rule rendering support. r=roc 2012-08-31 14:20:56 -07:00
Ryan VanderMeulen
5240f9d681 Backed out changesets 0b6b3d2856a4 and 30776e402787 (bug 115199) for reftest failures. 2012-11-13 20:19:18 -05:00
Brendan Dahl
8f57e7b04f Bug 115199 - CSS2 @page rule rendering support. r=roc 2012-08-31 14:20:56 -07:00
Robert O'Callahan
bc3c026926 Bug 805331. Part 1: Refactor nsDisplayList::GetList
Renames GetList to GetSameCoordinateSystemChildren, and adds an assertion
to verify that the children have the same reference frame as the parent.
Adds nsDisplayList::GetChildren to return whatever children there are.
Obsoletes nsDisplayTransform::GetStoredList.
2012-11-03 01:59:03 +13:00
Nathan Froyd
cb4c9c2a0d Bug 806618 - rewrite PR_NewLogModule calls to not generate static initializers; r=ehsan 2012-10-29 19:32:10 -04:00
Robert O'Callahan
1cd3f3229c Bug 794709. Don't bother trying to compute an intelligent dirty rect when building display lists for nsSimplePageSequence and nsPageContentFrame children; it's nontrivial due to the transforms they introduce, and it doesn't matter anyway. r=mattwoodrow 2012-10-05 15:29:56 +13:00
Ed Morley
bd7a949b90 Backout a5c50066ecbb (bug 787947), ee9f796b8416 (bug 794709) for crashtest/reftest assertions 2012-10-04 13:15:00 +01:00
Robert O'Callahan
f199f6cbe7 Bug 794709. Don't bother trying to compute an intelligent dirty rect when building display lists for nsSimplePageSequence and nsPageContentFrame children; it's nontrivial due to the transforms they introduce, and it doesn't matter anyway. r=mattwoodrow 2012-10-04 23:02:17 +13:00
Robert O'Callahan
8b4037cc95 Bug 539356. Make PruneDisplayListForExtraPage prune print preview properly. r=mattwoodrow
PruneDisplayListForExtraPage wasn't pruning properly in print preview. It
was pruning to the RootReferenceFrame, which is per-page when printing normally,
but is the ancestor of all pages in print preview, so it wasn't doing anything in
print preview.
So, pass in the nsPageFrame we want to prune to. This prevents bogus
entirely-clipped-out display items appearing in the display list for the page.
2012-09-28 23:19:39 +12:00
Ed Morley
ed4fe023b5 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Robert O'Callahan
ff0240bbf1 Bug 539356. Make PruneDisplayListForExtraPage prune print preview properly. r=mattwoodrow
PruneDisplayListForExtraPage wasn't pruning properly in print preview. It
was pruning to the RootReferenceFrame, which is per-page when printing normally,
but is the ancestor of all pages in print preview, so it wasn't doing anything in
print preview.
So, pass in the nsPageFrame we want to prune to. This prevents bogus
entirely-clipped-out display items appearing in the display list for the page.
2012-09-28 01:07:40 +12:00
Matt Woodrow
2845ec90f4 Bug 792314 - Build full display lists for nsPageFrame. r=roc 2012-09-20 11:26:33 +12:00
Ehsan Akhgari
243c878d26 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
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00