Commit Graph

208 Commits

Author SHA1 Message Date
Robert O'Callahan
d886269e1d 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
71241fa556 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
e946441ff1 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
face759151 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
87f3d1c20c 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
f37a7ed2b2 Fix a comment. no bug. r=a a=r 2010-12-31 16:48:47 -06:00
Boris Zbarsky
315d8d3845 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
50f59c86bf 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
c1ad5cb316 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
a08a617701 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
0b7f765281 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
47554e7736 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
64df346e92 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
a9d5fab154 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
cec33102e4 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
ada83800d7 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
c02234511d 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
812e6204ae 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
a581cd6197 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
0b542b46ed 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
b004c93cb1 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
308d16ff7b Bug 579663. Part 5. Make display zoom items create a container layer. r=roc 2010-08-08 13:49:06 -05:00
Timothy Nikkel
b96104bb22 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
a580694478 Bug 505115. Use layers to render active 2D transforms. r=roc,dbaron 2010-08-02 15:07:04 +12:00
Robert O'Callahan
5eaac34d84 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
25663b3497 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
460def762d 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
c5cdc8c894 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
efa400c1bc 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
c5362bf642 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
d09c39d0a9 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
9ac2bf6f05 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
fa8f373bc3 Bug 564991. Part 14: Scroll using the layer system. r=mats,sr=dbaron 2010-07-16 09:08:02 +12:00
Robert O'Callahan
8e44ae607d Bug 564991. Part 12: Refactor RenderDocument to use nsLayoutUtils::PaintFrame. r=mats 2010-07-16 09:07:52 +12:00
Robert O'Callahan
cc872e7c9e Bug 564991. Part 9: Retain layer trees. r=tnikkel,sr=mats 2010-07-16 09:07:51 +12:00
Robert O'Callahan
079e79c90c Bug 564991. Part 5: Make GetClipRect return a const reference. r=tnikkel 2010-07-16 09:07:50 +12:00
Robert O'Callahan
d3ac39adbb Bug 564991. Part 4: Create GetFrameKey API. r=tnikkel,sr=mats 2010-07-16 09:07:49 +12:00
Michael Ventnor
8139bee929 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
a1c32a5075 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
681b0a4b53 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)
95f0307543 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
d9f67b344a 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)
b3c3976708 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
0d8eb620e3 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
5cb6f06477 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
491e959191 Backed out changeset b37bdb032fe7 2010-05-24 10:53:05 +12:00
Robert O'Callahan
f3c689bd37 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
6709a65d60 Backed out changeset efa8719a93d2 2010-05-21 16:34:23 +12:00
Robert O'Callahan
ddda37f6c8 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
ed549b0dfb Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan
9fd70ebbb2 Backed out changeset 054698c2cb8f
--HG--
extra : rebase_source : 82b51116ca334c0853ace7f73b6f019831624d89
2010-05-13 14:21:53 +12:00
Robert O'Callahan
59fca1ba45 Bug 561959. Replace solid-color ThebesLayers with ColorLayers. r=dbaron 2010-05-13 12:56:11 +12:00
Robert O'Callahan
5b63e43695 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
e3bea40661 bug 563864. Add mozPaintCount API. r=smaug,sr=vlad 2010-05-13 12:56:08 +12:00
Felipe Gomes
960464193b 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
e0ac5d5547 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Jim Mathies
d4cc6d9831 Backout bug 555133 to fix bug 555950. 2010-03-31 12:55:41 -05:00
Rob Arnold
9ffd5134c3 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
9a2ed61b34 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Masayuki Nakano
9de2f77373 Bug 553975 Caret is painted under textframe in input/textarea element r=roc 2010-03-27 13:33:17 +09:00
Robert O'Callahan
11a3d788af 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
b69921495b Bug 534425. Part 4: Implement nsDisplayList::Paint using layers. r=mats,sr=dbaron 2010-03-01 20:56:19 +13:00
Robert O'Callahan
6780628363 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
56aad34bd4 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
d56dfa741e 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
0b02012ed8 Bug 435296 - Sync decode handling for decode-on-draw. r=roc 2009-09-12 16:44:18 -06:00
Bobby Holley
2d5ec55945 Bug 435296 - Decode-On-Draw. r=joe,roc,bz,dolske,peterw sr=vlad 2009-09-12 16:44:18 -06:00
Zack Weinberg
2cd31f70f9 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Robert O'Callahan
9f2ae1a715 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
a345d5a408 Bug 504221 part 4. Switch MarkFramesForDisplayList to nsFrameList. r+sr=roc 2009-07-28 08:51:09 -04:00
Robert O'Callahan
edefa6fb61 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
41b0dc9d84 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
d523d1c325 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
3e0557fef1 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
522a58f4ec 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
b21de22a53 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
8c7da0cfb7 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
7afdd11636 Bug 490376 - Crash [@ nsDisplayList::GetBottom]; r=roc 2009-04-30 12:07:18 +02:00
tn
eb440cb520 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
ddb69df7b5 Backout bug 485275 (changeset 996c11579453) because of test failures 2009-04-18 10:53:27 +02:00
tn
6af985ce18 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
6391dce839 Bug 486644. Improve display list debug dumps for nsDisplayTransform. r=roc 2009-04-06 12:37:04 +12:00
Michael Ventnor
b480b09ba3 Bug 476738. Implement 'inset' box-shadows. r+sr=roc,r=dbaron 2009-02-10 21:45:13 +13:00
Michael Ventnor
de7c8d503e 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
dc907e1ec7 Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
Robert O'Callahan
539a029252 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
534fd11101 Bug 443058 - Remove MOZ_DECL_CTOR_COUNTER; <mozilla-central> part; r=benjamin 2008-09-07 00:04:10 +02:00
Martijn Wargers
f0b88f7d3d 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
ef0fee1d70 Bug 419532 – deCOMtaminate nsICaret. r+sr=roc 2008-07-16 12:52:01 +02:00
Michael Ventnor
8d8eda2eae 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
34d11c2d91 Bug 442729 - Annotate stack-only classes in layout, r+sr=roc 2008-07-01 15:16:45 -04:00
roc+@cs.cmu.edu
0608964380 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
f674174858 Bug 428156 backout 2008-04-17 04:52:32 -07:00
roc+@cs.cmu.edu
25d4009a17 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
1dead6507c 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
2e1111534b 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
4f41fd4761 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
ee0b9041fc 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
fb28ffc853 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
53d3c108a2 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
d185e8a407 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
be665999cc 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
dd259dd796 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
2c4fa4403c Bug 398009 - fix mangled license headers. a=stuart. 2007-10-06 05:08:39 -07:00
jwalden@mit.edu
d610945e9f 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
e3c4baccae 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
2fd17c94d8 Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00