Ehsan Akhgari
acac18d785
Back out bug 622072 because it caused bug 645987
2011-03-29 14:31:53 -04:00
Robert O'Callahan
46f6cf879d
Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
...
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.
The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).
This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Robert O'Callahan
6d646878f1
Bug 630835. Make BuildLayer responsible for setting a visible region on the layer, and let FrameLayerBuilder only reduce it. r=tnikkel,a=blocking
...
This avoids problems with FrameLayerBuilder making the visible region bigger than we expected, invalidating CONTENT_OPAQUE flags set on the layer.
In particular, we had been using TransformBounds to compute the new visible region, and for non-axis-aligned transforms this gives us a visible
region which contains areas not actually painted by the layer contents.
2011-02-23 18:38:09 +13:00
Alon Zakai
ebf74d5e14
Bug 610727 - Mark canvas layers inactive when relevant. r=roc a=blocking-fennec
2011-02-04 10:11:24 -08: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
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
L. David Baron
5a012f3090
Fix miscellaneous reflow methods to use new overflow area APIs. (Bug 542595, patch 19) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
L. David Baron
c44e387e04
Clip replaced elements (for now, images, canvases, videos, and windowless plugins) to the border radius. (Bug 485501) r=roc a2.0=blocking:beta6
2010-09-09 08:21:47 -07:00
L. David Baron
977bd2e2c8
Make nsIFrame::DisplaySelectionOverlay take an nsDisplayList* instead of nsDisplayListSet&. (Bug 485501) r=roc a2.0=blocking:beta6
2010-09-09 08:21:46 -07: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
Chris Jones
f16c7feac5
Bug 570620, part a: Fix an assertion that will soon no longer hold and remove obsoleted already_AddRefed idiom in two places. r=roc
2010-08-05 17:11:23 -05: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
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
Robert O'Callahan
496811aed4
Bug 564991. Part 2: Create retained layer API: methods on FrameLayerBuilder that frames can use to access, reuse and invalidate retained layers. r=mats,sr=vlad
2010-07-16 09:07:46 +12:00
Robert O'Callahan
aecbd67be5
Bug 572623. Rename nsDisplayItemCanvas to nsDisplayCanvas. r=vlad
2010-07-16 09:07:44 +12:00
Alexander Surkov
65c355c8a7
Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc
2010-06-28 21:02:03 +09:00
L. David Baron
72a0f95e72
Fix spew of 'couldn't get canvas size' assertions. (Bug 566603) r=vlad
2010-05-18 10:12:33 -07:00
Vladimir Vukicevic
e5d92d3d03
b=561168; convert canvas to use layers for rendering - followup #2 ; r=roc
2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
b5ac042d49
b=561168; convert canvas to use layers for rendering; r=roc,bas
2010-05-17 21:04:22 -07:00
Timothy Nikkel
57fe60c878
Bug 520427. Improvements to debug output List for frames. r=dbaron
...
--HG--
extra : rebase_source : f7723925a24937bb1989344805e9fda01ae0eded
2009-10-15 21:47:03 -05: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
Mats Palmgren
dea07412a1
Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc
2009-09-16 17:01:36 +02:00
Zack Weinberg
d47e0f433b
Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc
2009-09-12 17:49:24 +01:00
Robert O'Callahan
026451d5a7
Bug 503813. Events targeted at generated content frames should get the non-generated ancestor as target element. r=dbaron
...
--HG--
extra : rebase_source : ee218effc8b98ba19b9b2ce9ff29ce4e8dfe0a2e
2009-09-02 14:46:33 +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 Longson
8a18a5a87c
Bug 486936 - image-rendering style should apply to canvas element. r=vladimir
2009-06-17 21:31:18 +01:00
Vladimir Vukicevic
02c46cf7f7
b=488692; full page zoom broken with canvas; r=roc
2009-05-06 13:02:59 -07:00
Vladimir Vukicevic
914089143b
b=483412; don't overaggressively invalidate on canvas drawWindow; r=roc
2009-04-08 13:27:20 -07:00
Stuart Parmenter
cf576e6934
bug 480233. Make the display list item that canvas uses for painting know about the opacity of the canvas. r/sr=roc
2009-03-05 05:43:45 -08:00
Jeremy Lea
ce80f69254
Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint different types from nsRect/nsMargin/nsSize/nsPoint different types for better compile-type unit checking. r+sr=roc
...
--HG--
extra : rebase_source : a331a9e49fbc5931f546919281fcca7f008ab615
2009-01-15 16:27:09 +13:00
Robert O'Callahan
775dd33c74
Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron
2008-09-18 21:47:21 +12:00
vladimir@pobox.com
2e94f56ef2
b=406458; code cleanup: add new ThebesContext() call as opposed to NATIVE_THEBES_CONTEXT hackery, r=stuart
2007-12-18 15:01:15 -08:00
jwatt@jwatt.org
d308285bb4
Fixing bug 294086. <svg> should be a replaced element. r+sr=dbaron@mozilla.com blocking1.9=tor@acm.org
2007-11-18 04:09:03 -08:00
vladimir@pobox.com
8797e1dcc2
b=396972, clean up canvas API to avoid using internal API in contexts, r/a=stuart
2007-09-25 13:46:08 -07:00
bzbarsky@mit.edu
9c59e9e4cc
Introduce a setter for nsHTMLReflowState::mComputedHeight so that we're sure to
...
update the resize flags properly. Bug 388084, r+sr+a=dbaron
2007-08-02 11:08:05 -07:00
vladimir@pobox.com
77c5fe6ed4
b=386799, crash with zero-width canvas, r=stuart,sr=roc
2007-07-18 07:40:19 -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
dbaron@dbaron.org
0235059d11
Implement correct intrinsic width calculation (for container) for elements with specified height properties and an intrinsic ratio. b=364066 r+sr=bzbarsky
2007-06-12 11:27:09 -07:00
dbaron@dbaron.org
ace3611ec9
Add support for -moz-intrinsic, -moz-min-intrinsic, -moz-shrink-wrap, and -moz-fill for width, min-width, and max-width. b=311415 r+sr=bzbarsky
2007-05-03 16:11:00 -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
dbaron%dbaron.org
9d7f938b99
Clean up IsFrameOfType methods to call their base class IsFrameOfType methods reliably. b=341326 r+sr=roc
2007-02-24 18:33:33 +00:00
sharparrow1%yahoo.com
76a64e5c22
Bug 177805: Fix the use of units in Gecko. r+sr=roc
2007-02-07 07:46:44 +00:00
cvshook%sicking.cc
a39ff30284
Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128
2007-01-30 00:06:41 +00:00
bzbarsky%mit.edu
baec9bd166
Make mComputedWidth private, with a getter/setter, and make the setter update
...
the resize flags. Bug 367442, r+sr=dbaron
2007-01-26 00:05:12 +00:00
dbaron%dbaron.org
f6245f0ed9
Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc
2007-01-23 04:06:56 +00:00
jwalden%mit.edu
3b23146b23
Bug 366616 - Canvas in XUL is not rendered. Patch by Andrew Miller <ak.miller@auckland.ac.nz>, r=vlad, sr=dbaron
2007-01-17 02:41:47 +00:00
timeless%mozdev.org
4e651390ef
Bug 355300 There should be only one nsGkAtoms creature
...
r=dbaron
2006-12-26 17:47:52 +00:00
dbaron%dbaron.org
31f1898810
Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213.
2006-12-08 05:38:33 +00:00
roc+%cs.cmu.edu
899128e82a
Bug 343445. Change inline reflow strategy to avoid looking ahead through words while measuring text. r+sr=dbaron
2006-10-19 01:47:47 +00:00
sharparrow1%yahoo.com
2dbafa80ee
Bug 344583: misc cleanup. r+sr=roc
2006-07-14 03:02:37 +00:00
vladimir%pobox.com
5d02ec5b40
b=333177, update canvas internal interfaces, optimize canvas, and fix some implementation bugs; r=stuart
2006-04-18 21:23:15 +00:00
dbaron%dbaron.org
0e88f73bc6
Single line comments to describe files (helpful in LXR)
2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu
0a10a79f62
Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc
2006-03-26 21:30:36 +00:00
uriber%gmail.com
c7032d59bb
Bug 299065: Bidi resolution needs to split inlines in addition to text frames. r+sr=dbaron
2006-02-21 21:33:47 +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
roc+%cs.cmu.edu
a5f65bfee7
Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell
2005-11-01 20:40:54 +00:00
roc+%cs.cmu.edu
f246fa2bbd
Bug 280987. Remove aPresContext from nsIFrameDebug::List. r+sr=roc, patch by Vidar Braut Harr.
2005-09-06 21:34:50 +00:00
vladimir%pobox.com
0b6a9e70f8
b=293267, fix canvas rendering speed, r+sr=bz,a=shaver
2005-05-12 21:34:56 +00:00
vladimir%pobox.com
63a34084c8
b=293407, canvas uses wrong frame type; 293306, canvas leaks memory; 293225, default canvas height should be 150, r+sr=bzbarsky,a=shaver
2005-05-10 00:28:30 +00:00
vladimir%pobox.com
de01b09320
b=291216, canvas should not be an empty element, default width/height, fallback content should not be rendered, r+sr=bzbarsky, a=brendan/shaver
2005-05-07 03:45:06 +00:00
vladimir%pobox.com
057ce06bb3
b=288714, html canvas implementation, r=various,a=brendan
2005-04-18 06:33:23 +00:00