Граф коммитов

401 Коммитов

Автор SHA1 Сообщение Дата
Robert O'Callahan 1c1601b380 Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Robert O'Callahan 23f723d5cc Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Ehsan Akhgari 483c294149 Backout changeset 0b25ccd32a49 (bug 745934) for reftest failures; a=bustage 2012-04-18 23:52:59 -04:00
Robert O'Callahan ddeb57aca1 Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Robert O'Callahan df01b1f9dc Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:14:14 +12:00
Robert O'Callahan d4b553e307 Bug 735898. Part 5.9: Remove nsDisplaySVGEffects::mEffectsFrame since it's always the same as mFrame. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:12:53 +12:00
Robert O'Callahan 8de539221c Bug 728983. Part 1: Add nsDisplayItem::GetMergedFrames. r=mattwoodrow 2012-04-17 17:44:32 +12:00
Robert O'Callahan bf5a330929 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 6e2327252f Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow 2012-04-13 23:44:06 +12:00
Mark Capella bb0cb90d39 Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Robert O'Callahan 4e3da44c46 Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures. 2012-04-12 00:34:23 +12:00
Robert O'Callahan 5e8bcd0f82 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 6a6630c551 Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow 2012-04-11 16:48:47 +12:00
Robert O'Callahan 1595646b6a Bug 735898. Part 0: Fix comment. 2012-04-11 16:48:37 +12:00
Robert O'Callahan 7c34e38876 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
Matt Woodrow 72f481f48f Bug 700240 - Print display lists to a file. r=roc,bjacob 2012-03-01 21:26:09 +13:00
Jonathan Watt 571cebe9d0 Bug 727805 - Give aFactor in nsDisplayList.cpp a more meaningful name. r=mattwoodrow. 2012-02-17 06:08:33 +00:00
Matt Woodrow bf96c795a0 Bug 722603 - Part 2: Use cached transform as much as possible (r=roc). 2012-02-14 01:12:49 -08:00
Mats Palmgren 498185f3f0 Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug 2011-12-20 10:15:41 +01:00
Robert O'Callahan 763cffbfd2 Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats 2011-12-19 10:57:35 +13:00
Matt Brubeck f51deee1fa Back out bug 710521, bug 672013, bug 702739 because of Mac reftest failures 2011-12-18 08:15:09 -08:00
Robert O'Callahan 7a9dc0adaf Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats 2011-12-18 21:46:44 +13:00
Matt Woodrow 7b48d2cb2b Bug 700240 - Print nsSVGEffects types. r=roc 2011-11-17 16:44:16 +13:00
Matt Woodrow 76656ee23d Bug 700240 - Make display list debugging independent of DEBUG. r=khuey,roc 2011-11-17 16:44:16 +13:00
Robert O'Callahan a2c2c53e5c Bug 681867. Part 2: remove nsDisplayForcePaintOnScroll. r=mats 2011-10-21 14:41:36 +13:00
Ehsan Akhgari 92064e6d3f 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 bc0aec246e Bug 684759 - Part 3b - Add event handling for sorted preserve-3d layers. r=roc 2011-10-07 10:24:02 +13:00
Matt Woodrow 6e3aac5fe5 Bug 684759 - Part 3a - Sort preserve-3d layers using their z depth at points where they intersect in 2d space. r=roc 2011-10-07 10:23:18 +13:00
Matt Woodrow ae2391fce2 Bug 691106 - Merge sequential nsDisplayTransforms and give them unique frame keys. r=roc 2011-10-03 17:02:25 +13:00
Michael Wu d2b70213ac 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 Watt 3c8937dad1 Bug 664130 - Clarify some display list comments and code. r=roc. 2011-09-08 12:15:00 +01:00
Jonathan Watt fedee44618 Bug 677198 - Remove some Windows line endings introduces by bug 505115. r=mattwoodrow. 2011-09-08 12:15:00 +01:00
Matt Woodrow e9aa70c516 Bug 682922 - Disable preserve-3d on scroll frames. r=roc 2011-09-05 10:25:35 +12:00
Matt Woodrow 5a40560039 Bug 505115 - Part 14b - Layout support for -moz-transform-style. r=roc 2011-08-27 12:01:46 +12:00
Matt Woodrow d71d3420c7 Bug 505115 - Part 5 - Use gfx3DMatrix in layout. r=roc 2011-07-23 10:28:51 +12:00
Matt Woodrow 5afc317166 Bug 505115 - Part 3 - Convert nsStyleTransformMatrix to be backed by a 4x4 matrix. r=dbaron 2011-07-23 10:28:07 +12:00
Mats Palmgren e757474795 Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Robert O'Callahan 723e5c86ee Bug 637852: Part 5: Create ContainerParameters structure to carry resolution scale factors through layer creation. r=tnikkel
This patch shouldn't change any behavior. It just passes the ContainerParameters around, which will contain scale factors that should have been
applied when BuildLayer returns a ContainerLayer.

This patch also adds an aTransform parameter to BuildContainerLayerFor, which nsDisplayTransform uses to set the
transform for the ContainerLayer. This way BuildContainerLayerFor knows what the container's transform is going to be
before constructing the children, which in the next patch will let us construct the children with the right resolution.
2011-06-23 00:11:27 +12:00
Jonathan Watt 27ad18c773 Bug 664130 - Document what GetFrameBoundsForTransform is about. r=roc.
--HG--
extra : rebase_source : dd1843b385b0976bd318dff6cc7c59ef15970f32
2011-06-16 12:06:05 +01:00
Jonathan Watt 00a35b6a3c Bug 664130 - Document what GetOpaqueRegion is useful for. r=roc.
--HG--
extra : rebase_source : abde1fd28975506a58068725e5cbb660620760f8
2011-06-16 12:06:05 +01:00
Tatiana Meshkova 2712ab6a70 Bug 653133 - Recover PRPackedBools order [r=roc] 2011-05-13 15:23:19 +03:00
Ed Morley f13392fb42 Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Jonathan Watt 06594c58c1 Bug 614732 part 2 - Doc changes (clarify why nsDisplayTransform requires a bounds rect, and correctly associate nsStyleTransformMatrix's doxygen comment with it). r=roc. 2011-05-25 09:01:11 +01:00
Tatiana Meshkova 8148576e7f Bug 656167 - Temporarily disable or back out fixed layers. Visibility part. r=roc 2011-05-13 16:21:59 +03:00
Jim Mathies ada37f0740 Bug 633282 - Accumulate exclude glass regions during painting and update the widget opaque region info. r=roc. 2011-05-13 11:40:46 -05:00
Jim Mathies d839661fc9 Bug 633282 - manual backout of 'fixup UpdatePossiblyTransparentRegion v.3' in bug 622328 due to merge conflicts. r=tn 2011-05-13 11:40:46 -05:00
Mounir Lamouri 137f2b751b Merging cedar with mozilla-central. 2011-05-13 10:59:05 +02:00
Robert O'Callahan e8bdea28a0 Bug 654641. Make nsDisplaySolidColor::GetBounds reflect any snapping that's going on. r=tnikkel 2011-05-13 02:59:09 +12:00
Tatiana Meshkova 3dd472d1eb Bug 653133 - Fennec crashes when loading a page with huge background-attachment:fixed background r=roc 2011-05-09 11:40:09 +03:00
Benjamin Stover 1b6808fa69 Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-05-01 18:53:01 -07:00
Mark Finkle cabb1dfab7 Backed out changeset c7f62d818af2. Causes content crashes Bug 653889 2011-04-30 00:01:29 -04:00
Benjamin Stover c95d8badae Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-04-29 10:15:44 -07:00
Zack Weinberg 3929b6bfdd Bug 651017, part 5: mechanical changes.
--HG--
extra : rebase_source : 8bbdf48488736b51d05e734e2e9316c1460cfed5
2011-04-16 18:22:44 -07:00
Zack Weinberg 1628ea1551 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -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
Jan Küchler ebb2f0c7ec Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
Benjamin Stover bd3081c90a Bug 642246 Don't build ThebesLayers for elements with no displayports r=roc 2011-04-11 13:53:01 -07:00
L. David Baron 522a8d323e Back out 1edfae12015b (Bug 642246) due to mobile unittest orange. 2011-04-09 18:21:27 -07:00
Benjamin Stover 3c025ebe4d Bug 642246 Don't build ThebesLayers for elements with no displayports r=roc 2011-04-09 12:38:28 -07:00
Tatiana Meshkova d918fac3c5 Bug 607417 - Part 3: Visibility tricks for fixed items r=roc
--HG--
extra : rebase_source : 7545070d6af5ef10dd4d1504f0d456ece4fd8edb
2011-04-08 09:35:16 -07:00
Oleg Romashin 863e12aca2 Bug 607417 - Part1: position:fixed frames mark layers r=roc
--HG--
extra : rebase_source : dbbff8810bafd165a48c34924d98f5c87702ef3f
2011-04-05 23:00:25 -06:00
Matheus Kerschbaum 4eb6429f47 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg 2011-04-02 19:14:00 -07:00
Robert O'Callahan ae731149d4 Bug 644832. Windowless plugins inside CSS transforms should be rendered. r=tnikkel 2011-04-01 10:33:46 +13:00
Benjamin Stover 465035580f Bug 618975 Followup: bitrot and remove mDisplayport from nsDisplayScrollLayer r=cjones r=tn a=blocking-fennec 2011-03-09 13:35:27 -08:00
Benjamin Stover 9bb1728211 Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec 2011-03-15 16:20:19 -07:00
Doug Turner 2d4ad5ac6e Backing out 99f6b3acc464 (bug 618975). Bug This caused a reftest crash. a=bustage 2011-03-08 22:02:50 -08:00
Benjamin Stover 975ed8713b Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec 2011-03-08 21:28:18 -08:00
Matt Woodrow 0ce267f38b Bug 629857 - When invalidating transformed items, round the original area out to the nearest pixel. r=roc a=roc 2011-02-25 11:55:23 +13:00
Robert O'Callahan 8c5d3ac129 Bug 626602. Part 4: Make the display items behind a plugin that needs readback be as visible as we can. r=tnikkel 2011-02-16 16:43:30 -06:00
Timothy Nikkel 8fbd9a0bf9 Bug 622328 - Always make sure the area of the root content document is considered opaque. r=roc, a=blocking. 2011-01-27 16:58:50 -06:00
Robert O'Callahan 63cc1f7d1a Bug 621601. Part 1: Change empty transaction API to EndEmptyTransaction. r=bas,tnikkel,a=joe 2011-01-19 21:27:54 +13:00
Robert O'Callahan eae993dd63 Bug 625288. Part 1: Don't create nsDisplaySolidColors with zero alpha. They just confuse our display list analysis. r=tnikkel,a=blocking 2011-01-16 23:38:45 +13:00
Robert O'Callahan fceda9686a Bug 625247. Don't use nsAutoTArray inside an nsAutoTArray. r=tnikkel,a=blocking 2011-01-15 22:40:33 +13:00
Benjamin Stover 391da32464 Bug 605618 Part 5: Support displayport for iframes r=tn sr=roc 2011-01-13 09:45:14 -08:00
Benjamin Stover c5f2f76798 Bug 605618 Part 2: Infrastructure for building shadow display list r=tn sr=roc 2011-01-13 09:45:14 -08:00
Markus Stange 80c932200b Bug 621762 - Change the way native windows are notified about toolbars. r=roc, a=betaN 2011-01-11 14:03:16 +01:00
Robert O'Callahan 63abe0192f Bug 615794. Part 3: Snap bounds of border and background display items to pixels if we're sure they will be snapped. r=tnikkel a=blocking 2011-01-04 23:39:47 +13:00
Robert O'Callahan f38f22f331 Bug 602757. Part 5: Change HasText to GetComponentAlphaBounds. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan a6cb62365a Bug 602757. Part 4: Let nsDisplayBackground::GetOpaqueRegion return opaque regions for arbitrary repeat modes, background-clip, border-radius, etc. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan a352316479 Bug 602757. Part 3: Change IsOpaque to GetOpaqueRegion so we can get useful opaque regions for content that uses border-radius. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan b81ded8225 Bug 602757. Part 2: Detect display items over the transparent part of a window, and disable usage of component alpha (i.e., subpixel antialiasing) for those items. r=tnikkel,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan 9856f18fdd Bug 620512. Part 1: Only fire MozPaintWait and change window visibility in BuildDisplayList if we're painting. r=bsmedberg, a=b:b9 2010-12-21 12:12:00 -08:00
Timothy Nikkel 3dc86d45a3 Fix a comment. no bug. r=a a=r 2010-12-31 16:48:47 -06:00
Boris Zbarsky 9d901fdd66 Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc 2010-12-07 08:54:50 -05:00
Robert O'Callahan dfb7e963f1 Bug 598470. Treat all chrome display items as opaque when we're computing plugin visibility regions; this ensures translucent chrome content is visible above windowed plugins. r=tnikkel,a=blocker 2010-11-08 22:06:14 +13:00
Felipe Gomes 82fe7096ba Bug 601603. Part 5 - Ensure that the layer that holds the window background is never opaque for glass windows. r=roc a=beta8 2010-10-19 15:02:25 -02:00
Timothy Nikkel a4272693d0 Bug 582476. Part 2. When painting SVG foreign objects make sure to set the painting to window flag correctly. r=roc a=blocking-betaN+ 2010-10-14 20:03:45 -05:00
L. David Baron 423e1043db Make hit testing for border-radius follow the curvature of the border. (Bug 595652) r=roc a2.0=blocking2.0:betaN 2010-10-11 11:03:12 -07:00
Matt Woodrow 8a60164429 Bug 594983. Look inside display sublists to determine whether there is text for the layer. r=roc,a=blocking 2010-10-11 13:58:20 +13:00
Timothy Nikkel 1c39c6df06 Bug 593892. Draw the previous page if the new page is suppressed. r=roc a=roc 2010-09-11 13:24:49 -05:00
L. David Baron dd64617da3 Add a (wrapping) display item that clips its contents to the curvature of a border-radius. (Bug 459144, patch 13) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
L. David Baron 476ac2cf34 Remove unneeded nsDisplayClip::mClippingFrame. (Bug 459144, patch 11) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
Timothy Nikkel be242f5efb Bug 591435. Need to honour paint suppression in subdocuments. r=roc a=blocking beta6+ 2010-09-01 15:44:48 -05:00
Robert O'Callahan f54339d471 Bug 590468. Part 6: Fix setting of nsDisplayList::mOpaque, and return it from nsDisplayWrapList::IsOpaque. r=tnikkel 2010-08-27 18:15:08 -05:00
Robert O'Callahan 7be62af7f1 Bug 584282. Use nsDisplayItem::ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame, wherever possible. r=tnikkel,a=dbaron
--HG--
extra : rebase_source : 730ba8640cb37bd8484ff069b5d6fd46d9bc3e84
2010-08-13 22:01:58 +12:00
Robert O'Callahan 33a0aec926 Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron
--HG--
extra : rebase_source : 496cbde7c495eb8872c3d0ffc0ca4c57c2a6a777
2010-08-13 22:01:13 +12:00
Robert O'Callahan d9ad5ed49c Bug 579258. Remove the 'before move' region parameter to ComputeVisibility. r=tnikkel,a=joe 2010-08-13 21:55:54 +12:00
Robert O'Callahan 002b421174 Bug 579258. Change IsVaryingRelativeToMovingFrame to take the 'moving frame' as a direct parameter instead of getting it from the builder. r=tnikkel,a=joe 2010-08-13 21:54:37 +12:00
Timothy Nikkel e703905657 Bug 579663. Part 5. Make display zoom items create a container layer. r=roc 2010-08-08 13:49:06 -05:00
Timothy Nikkel 6f0c7d2b8b Bug 579663. Part 2. Be able to get the APDs out of display zoom items. r=roc 2010-08-08 13:49:06 -05:00
Matt Woodrow 104ade3438 Bug 505115. Use layers to render active 2D transforms. r=roc,dbaron 2010-08-02 15:07:04 +12:00
Robert O'Callahan bc67da304a Bug 579250. Revamp unified-titlebar interface so that we can tell nsNativeThemeCocoa about toolbars even if they're not actually painted. r=mstange 2010-07-24 21:35:29 +12:00
Timothy Nikkel 09b7683b38 Bug 563878. Part 13. Implement zoom display list item to handle document hierarchies where zoom is not constant. r=mats sr=roc 2010-07-18 21:23:48 -05:00
Timothy Nikkel 70d241a01e Bug 563878. Part 7. Change frame, point, rect, region APIs. r=mats sr=roc 2010-07-18 21:23:47 -05:00
Robert O'Callahan 286ba76cc0 Bug 564991. Part 44: Move IsFixedAndCoveringViewport implementation to nsDisplayBackground so it can work on any frame, not just the canvas background. r=tnikkel 2010-07-16 09:08:12 +12:00
Robert O'Callahan 09ce1c5031 Bug 564991. Part 31: Don't cull display items in nsDisplayList::ComputeVisibility. r=mats 2010-07-16 09:08:09 +12:00
Robert O'Callahan de827321f1 Bug 564991. Part 26: Put background-attachment:fixed backgrounds that propagated to the canvas in their own layer. r=mats,sr=dbaron 2010-07-16 09:08:06 +12:00
Robert O'Callahan 1b38f406bd Bug 564991. Part 23: Introduce the concept of 'inactive' layers. r=mats,sr=dbaron 2010-07-16 09:08:05 +12:00
Robert O'Callahan b496b17fb3 Bug 564991. Part 16: Improve performance by putting each scrollbar in its own layer. Also note that Mac scrollbars are opaque. r=mats,sr=dbaron 2010-07-16 09:08:03 +12:00
Robert O'Callahan 3b653c5345 Bug 564991. Part 14: Scroll using the layer system. r=mats,sr=dbaron 2010-07-16 09:08:02 +12:00
Robert O'Callahan 4b1b78c893 Bug 564991. Part 12: Refactor RenderDocument to use nsLayoutUtils::PaintFrame. r=mats 2010-07-16 09:07:52 +12:00
Robert O'Callahan 6824d17ea0 Bug 564991. Part 9: Retain layer trees. r=tnikkel,sr=mats 2010-07-16 09:07:51 +12:00
Robert O'Callahan 495351d3e2 Bug 564991. Part 5: Make GetClipRect return a const reference. r=tnikkel 2010-07-16 09:07:50 +12:00
Robert O'Callahan da29165e1d Bug 564991. Part 4: Create GetFrameKey API. r=tnikkel,sr=mats 2010-07-16 09:07:49 +12:00
Michael Ventnor 56ba116210 Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel 2010-07-16 09:07:49 +12:00
Mats Palmgren 9d9f784d8d Bug 556432 - Dragging a content selection shows non-selectable text in the drag feedback. r=roc 2010-07-12 22:24:33 +02:00
Jesse Ruderman 4182c5bc1b Bug 573209 - stop pretending that nsDisplayListBuilder is only allocated on the stack. r=roc 2010-06-21 09:21:41 -07:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E) 951a8a32a4 b=555133 Attempt to infer whether or not theme parts are transparent r=roc,rob sr=vlad 2010-06-11 10:53:57 +12:00
Karl Tomlinson cc75c71979 backout ce0bec337cdd due to bad message 2010-06-11 10:53:01 +12:00
Rob Arnold ext:(%20%26%20Robert%20O%27Callahan%20%3Crobert%40ocallahan.org%3E) 0ff5253328 Attempt to infer whether or not theme parts are transparent r=roc,rob sr=vlad
--HG--
rename : layout/mathml/mathfontSTIXSize1.properties => layout/mathml/mathfontSTIXSizeOneSym.properties
extra : rebase_source : 0500c9e1f6cabd42bd56e5e69b1af3c30c7045cd
2010-06-11 10:25:15 +12:00
Timothy Nikkel a0bea31596 Bug 563878. Part 1c. Misc layout cleanup. r=mats
(transplanted from 2c4a36b7e9ea2125b9daaab242202be4c34e46a5)

--HG--
extra : transplant_source : %2CJ6%B7%E9%EA%21%25%B9%DA%AA%B2B%20%2B%E4%C3NF%A5
2010-06-05 15:29:49 -05:00
Robert O'Callahan b32027fed6 Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan 01e9dabdad Backed out changeset b37bdb032fe7 2010-05-24 10:53:05 +12:00
Robert O'Callahan 0417d4868e Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan 20c2e464f7 Backed out changeset efa8719a93d2 2010-05-21 16:34:23 +12:00
Robert O'Callahan 6391e1262a Bug 564993. Part 5: Change ThebesLayer painting to be callback-based; move layer tree construction to FrameLayerBuilder. r=Bas,mats,sr=vlad 2010-05-21 15:20:48 +12:00
Robert O'Callahan 87f96430ac Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan 33e50f0c3e Backed out changeset 054698c2cb8f
--HG--
extra : rebase_source : 82b51116ca334c0853ace7f73b6f019831624d89
2010-05-13 14:21:53 +12:00
Robert O'Callahan 5df825d88b Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan aaea1f51b1 Bug 564993. Part 3: Split nsDisplayList::Paint into PaintForFrame and PaintRoot. Set the visible rect on the root layer from PaintRoot, let the visible rects of other layers be set when they're placed in their containers. r=mats 2010-03-11 09:55:05 +13:00
Robert O'Callahan 8874172bf5 bug 563864. Add mozPaintCount API. r=smaug,sr=vlad 2010-05-13 12:56:08 +12:00
Felipe Gomes e4fb76d330 Bug 489127 - nodesFromRect required for better usability on mobile devices (part 1+2) [r=roc] 2010-04-07 20:31:26 -04:00
Ehren Metcalfe a791e19cc4 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Jim Mathies e8db46f043 Backout bug 555133 to fix bug 555950. 2010-03-31 12:55:41 -05:00
Rob Arnold 0feeddc29f Bug 555133 - Attempt to infer whether or not theme parts are transparent r=roc sr=vlad 2010-03-29 15:24:40 -04:00
Robert O'Callahan 0fd1837981 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Masayuki Nakano 71ab14e537 Bug 553975 Caret is painted under textframe in input/textarea element r=roc 2010-03-27 13:33:17 +09:00
Robert O'Callahan ff44c3c9e3 Bug 534425. Part 6: Let nsIWidgets expose a LayerManager to be used to render into the widget, instead of nsPaintEvent::renderingContext which is removed since it's no longer needed. Currently all widgets fall back to a default BasicLayerManager implementation. Also change nsPaintEvent::region to be an nsIntRegion, and get rid of nsPaintEvent::rect since it's redundant. 2010-03-01 21:03:49 +13:00
Robert O'Callahan f9507c5457 Bug 534425. Part 4: Implement nsDisplayList::Paint using layers. r=mats,sr=dbaron 2010-03-01 20:56:19 +13:00
Robert O'Callahan 23df0d492f Bug 530686. Don't redraw box-shadows over the bounding rect of the dirty region; just redraw them over a (somewhat simplified) dirty region. r=dbaron 2009-11-30 18:14:04 -05:00
Robert O'Callahan 021671bf33 Bug 516885. Pass separate visible-before-move and visible-after-move regions into ComputeVisibility, to make code clearer because we don't have to overload a single region, and which also lets us fix ambiguities related to clipping. r=dbaron 2009-10-07 17:28:41 +13:00
Robert O'Callahan c2f7a1e950 Bug 513082. Instead of passing aDirtyRect to nsDisplayItem::Paint, have nsDisplayList::OptimizeVisibility (renamed to ComputeVisibility) compute the intersection of the visible region with the bounds of each display item and store the result in the item's mVisibleRect. This lets us do less work to paint display items which have a small intersection with the visible region but a large intersection with the bounding-box of the visible region. r=dbaron
--HG--
extra : rebase_source : 76db4b87ef9e5a6e9de7677edc08c26e2cbc462e
2009-09-07 12:35:14 +12:00
Bobby Holley 0b8080d9b5 Bug 435296 - Sync decode handling for decode-on-draw. r=roc 2009-09-12 16:44:18 -06:00
Bobby Holley 86dd317584 Bug 435296 - Decode-On-Draw. r=joe,roc,bz,dolske,peterw sr=vlad 2009-09-12 16:44:18 -06:00
Zack Weinberg 430c5ceb95 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Robert O'Callahan b8e126f83c Bug 507334, part 2: Blit multiple rectangles when scrolling rather than blitting only the largest single rectangle, and avoid repainting opaque content that covers the scrolling content. r=dbaron 2009-08-13 19:09:51 -07:00
Boris Zbarsky 5488eaf4ad Bug 504221 part 4. Switch MarkFramesForDisplayList to nsFrameList. r+sr=roc 2009-07-28 08:51:09 -04:00
Robert O'Callahan 0ed9805957 Bug 339548. Part 14: hide windowed plugins in CSS transforms and SVG foreignObject contexts; we can't display them properly, so let's not display them at all. r=dbaron 2009-07-22 12:45:14 +12:00
Robert O'Callahan dce2b0d98a Bug 339548. Part 9: Create nsRootPresContext::UpdatePluginGeometry, and use it. Make nsObjectFrame manage its widget directly. 2009-07-22 12:45:00 +12:00
Robert O'Callahan 12c9748167 Bug 339548. Part 6: Uninline IsMovingFrame so nsDisplayList.h doesn't have to include nsLayoutUtils.h. r=dbaron 2009-07-22 12:44:57 +12:00
Robert O'Callahan f18d65c6a2 Bug 339548. Part 5: Support an accurate mode for display lists computing visible regions. r=dbaron 2009-07-22 12:44:56 +12:00
Robert O'Callahan a26d44577d Bug 505186. Don't add useless nsDisplayReflowCount items to display lists in debug builds. r=bzbarsky 2009-07-22 12:44:52 +12:00
Timothy Nikkel 8f1f1d1fd5 Bug 488242. Make iframes with semi-transparent backgrounds work correctly by painting all canvas background colors using a dedicated fallback background color display item. r+sr=roc 2009-07-04 21:30:59 +12:00
Robert O'Callahan 5843f756df Bug 494667. Don't apply optimization to shrink drawn background area to exclude solid borders, if we're not going to draw those borders (e.g. in tables with collapsing borders). r+sr=dbaron,a=beltzner 2009-05-28 17:01:42 +12:00
tn 2598ca8cc5 Bug 490376 - Crash [@ nsDisplayList::GetBottom]; r=roc 2009-04-30 12:07:18 +02:00
tn 7b6a485f6f Bug 485275. Display fallback background color for non-root documents as necessary. r+sr=roc
--HG--
extra : rebase_source : fd455bec928d342c184089dfba6c75191c4ea28d
2009-04-25 20:19:23 +12:00
Dão Gottwald b3521097f8 Backout bug 485275 (changeset 996c11579453) because of test failures 2009-04-18 10:53:27 +02:00
tn d746f2250f Bug 485275 - trunk displays svg transformed foreign object html differently then 1.9. r+sr=roc 2009-04-18 09:11:29 +02:00
tn 9d5b04437e Bug 486644. Improve display list debug dumps for nsDisplayTransform. r=roc 2009-04-06 12:37:04 +12:00
Michael Ventnor 1afd316abf Bug 476738. Implement 'inset' box-shadows. r+sr=roc,r=dbaron 2009-02-10 21:45:13 +13:00
Michael Ventnor 726d154026 Bug 475877. Avoid unnecessary box-shadow repaints by implementing nsDisplayBoxShadow::OptimizeVisibility. r+sr=roc
--HG--
extra : rebase_source : 2e9c673a62ec7866d1f52324f3fc95397cd5abc6
2009-01-30 20:03:46 +13:00
Keith Schwarz 48a87265ac Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
Robert O'Callahan b52d3794d5 Bug 450340. Support SVG mask/clip-path/filter CSS properties applied to non-SVG content. r=longsonr,sr=mats 2008-09-11 12:24:16 +12:00
Arpad Borsos 709fd651fe Bug 443058 - Remove MOZ_DECL_CTOR_COUNTER; <mozilla-central> part; r=benjamin 2008-09-07 00:04:10 +02:00
Martijn Wargers b093ac751d Bug 449653. Make drawWindow work even inside an onload handler (so before we've unsuppressed painting), r+sr=roc 2008-08-18 15:09:17 -04:00
John Daniels b006229ae6 Bug 419532 – deCOMtaminate nsICaret. r+sr=roc 2008-07-16 12:52:01 +02:00
Michael Ventnor 77451fb4e4 Bug 212633 - "Add support for CSS3 box-shadow" (rendering support) [p=ventnor.bugzilla@gmail.com (Michael Ventnor) r+sr=roc] 2008-07-07 19:57:47 -05:00
Benjamin Smedberg 556cf36dc9 Bug 442729 - Annotate stack-only classes in layout, r+sr=roc 2008-07-01 15:16:45 -04:00
roc+@cs.cmu.edu a091e3d5c6 Bug 428156. Relanding. Make ComputeRepaintRegionForCopy handle non-moving frames that clip moving frames. r+sr=dbaron 2008-04-18 02:21:21 -07:00
roc+@cs.cmu.edu fe6c3d833b Bug 428156 backout 2008-04-17 04:52:32 -07:00
roc+@cs.cmu.edu ae2ff1b3c0 Bug 428156. ComputeRepaintRegionForCopy needs to handle non-moving frames that clip moving content. r+sr=dbaron,a=beltzner 2008-04-17 01:15:14 -07:00
roc+@cs.cmu.edu f44811bdc7 Bug 424915. Improve display list analysis so that sites with content covered by the scrolling element, such as GMail, can use bitblit scrolling. r+sr=dbaron,a=beltzner 2008-04-10 20:46:37 -07:00
roc+@cs.cmu.edu d5a1dc86da Bug 411585. Traverse all pages after the current page when painting a page, to locate placeholders that we need to traverse in order to paint out-of-flows on the current page. r+sr=dbaron 2008-04-08 06:06:12 -07:00
roc+@cs.cmu.edu c29f127699 Bug 416735. When a table frame paints the backgrounds for all its parts, make sure those parts notify the table frame display item when they are background-attachment:fixed. r+sr=dbaron 2008-04-06 04:34:14 -07:00
roc+@cs.cmu.edu 73197c8a63 Bug 417967. Align subframe drawing so that drawing at (0,0) relative to the root view's origin is aligned to a pixel boundary. r+sr=bzbarsky 2008-02-24 17:39:34 -08:00
roc+@cs.cmu.edu f8b25558e4 Bug 407889. Reduce dynamic memory allocations during event handling by having nested invocations of HitTest share a single buffer for reordering display items; this buffer is an nsAutoTArray so it's mostly stack-allocated. r+sr=mats 2008-01-03 18:08:29 -08:00
roc+@cs.cmu.edu 95e3dcb532 Bug 407889. Reduce dynamic memory allocations by putting nsDisplayListBuilder's per-presshell state in an nsAutoTArray. r+sr=mats 2008-01-03 17:53:01 -08:00
reed@reedloden.com 990cfd1d5b Bug 399532 - "nsDisplayBackground::GetBounds() should take nsITheme overflow into account" [p=frnchfrgg-mozbugs@altern.org (_FrnchFrgg_) r+sr=roc a1.9=beltzner] 2007-12-17 21:26:38 -08:00
pavlov@pavlov.net 12549d2ffd bug 403287. use an nsAutoTArray instead of an nsVoidArray to avoid heap allocations. r/sr=roc a=schrep 2007-11-11 12:31:39 -08:00
dholbert@cs.stanford.edu f90fee0b0b Bug 399384: Make first-letter frames use nearest ancestor blockFrame's content node, instead of direct parent's. r=bzbarsky, r+a=roc 2007-10-19 10:41:29 -07:00
gerv@gerv.net 6dd53e09ca Bug 398009 - fix mangled license headers. a=stuart. 2007-10-06 05:08:39 -07:00
jwalden@mit.edu 4c25808b29 Bug 199692 - Add support for document.elementFromPoint(x, y). Patch by Ben Karel <web+moz@eschew.org>, r+sr=roc, a=jst 2007-08-29 13:38:44 -07:00
jwalden@mit.edu 6d7584839a Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
bzbarsky@mit.edu eeaa1a101b Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
roc+%cs.cmu.edu 4659d810e7 Bug 178513. Add nsDisplayList API that Neil's going to need --- a way to force all frames to be painted regardless of the setup of dirty rects. r+sr=dbaron 2007-03-19 03:25:05 +00:00
roc+%cs.cmu.edu 8339688ad2 Bug 350148. Fix scrolling in IFRAMEs with borders or outlines, by having OptimizeVisibility take account of the fact that borders or outlines whose inner rectangle entirely encloses the visible area are not, in fact, visible. r+sr=dbaron 2006-09-19 21:58:52 +00:00
bzbarsky%mit.edu feea3a45cc Reinstate reflow count painting when it's needed. Bug 352851, r+sr=roc 2006-09-19 04:26:20 +00:00
roc+%cs.cmu.edu d9cf8d8bf8 Bug 335140. Set 'force descend into' bit on frames and then leave it set until we're done with the display list ... then we can be sure of descending to frames whose container is not an ancestor of the placeholder. r=mrbkap 2006-04-27 02:45:03 +00:00
roc+%cs.cmu.edu 8956f1d8a1 Bug 334942. ExplodeAnonymousChildLists before sorting table parts. r=bernd 2006-04-27 02:25:23 +00:00
mrbkap%gmail.com b2b67bf3e0 Fixing bustage from bug 287813. 2006-04-18 00:17:42 +00:00
mrbkap%gmail.com e27b36efcc Draw the caret in the normal path of frame painting instead of doing it directly to the current view. bug 287813, r+sr=roc 2006-04-17 23:16:46 +00:00
roc+%cs.cmu.edu ee089f28b9 Bug 333481. Sort table-part event-handling display items to ensure that the table comes before all row-groups, which come before all rows, which come before all cells. r=bernd 2006-04-17 22:16:24 +00:00
dbaron%dbaron.org 04b8c33eda Remove uses of MOZ_DECL_CTOR_COUNTER, which is always defined to nothing. b=332745 rs=roc,bzbarsky 2006-04-05 00:00:44 +00:00
gerv%gerv.net d6b60a5248 Bug 236613: change to MPL/LGPL/GPL tri-license. 2006-03-31 06:28:40 +00:00
dbaron%dbaron.org 5dcd0b1309 One-line descriptions of files, partly because they show up in LXR. 2006-03-30 05:56:38 +00:00
roc+%cs.cmu.edu 6fd863f2dd Bug 330300. Move mFrame from nsDisplayItem subclasses up to nsDisplayItem itself, and make GetUnderlyingFrame an inline non-virtual function. Patch by Alfred Peng, r+sr=roc 2006-03-14 20:43:18 +00:00
roc+%cs.cmu.edu 1481564ee4 Bug 324896. Always paint some kind of background when we're asked to paint, for non-translucent windows. r+sr=dbaron 2006-02-06 20:38:47 +00:00
bzbarsky%mit.edu f96a096c2c Fix leak bug 324969 -- make sure to call virtual destructors. 2006-01-29 18:48:58 +00:00
bzbarsky%mit.edu c91507ade8 Fixing more build bustage and warnings. Bug 317375 2006-01-26 05:14:30 +00:00
roc+%cs.cmu.edu 2ea2cb9c88 Fixing my bustage. 2006-01-26 03:33:38 +00:00
roc+%cs.cmu.edu 77bca74243 Bug 317375. Reorganize frame painting and mouse event targeting around frame display lists. Some review from dbaron, lots of testing help from Martijn, Julien and others 2006-01-26 02:29:17 +00:00