gecko-dev/layout/generic
Robert O'Callahan f55223784a 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
..
crashtests bug 646561 - testcase. 2011-03-31 09:47:01 +01:00
test Bug 642823 - Part 2: Correct the original test for selection.modify which tested explicitly for Windows-specific behavior; r=roc 2011-03-20 15:53:23 -04:00
broken-image.png
folder.png
frame-graph.py
frame-verify.js
jar.mn
loading-image.png
Makefile.in Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
nsAbsoluteContainingBlock.cpp
nsAbsoluteContainingBlock.h
nsAutoCopyListener.h
nsBidiFrames.cpp Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
nsBidiFrames.h Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
nsBlockDebugFlags.h
nsBlockFrame.cpp Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
nsBlockFrame.h Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
nsBlockReflowContext.cpp
nsBlockReflowContext.h
nsBlockReflowState.cpp Bug 594333. Invalidate frame subtree (including layers) when moving a float. r=dbaron 2010-12-20 14:37:43 +13:00
nsBlockReflowState.h
nsBRFrame.cpp Bug 628922 - layout should use cached nsIAccessibilityService, r=davidb, sr=roc, a=roc 2011-01-28 12:38:14 +08:00
nsBulletFrame.cpp Bug 629114 - crash on add comment link in review board [@ nsBulletFrame::GetListItemText ] [@ nsBulletFrame::GetListItemText(nsStyleList const&, nsString&) ], r=davidb, marcoz, sr=bz, a=blocking2.x+ 2011-03-28 22:59:54 +09:00
nsBulletFrame.h
nsCanvasFrame.cpp
nsCanvasFrame.h 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
nsColumnSetFrame.cpp
nsContainerFrame.cpp Bug 637864 - Give nsIViewManager::GetRootView a sane signature; r=bz 2011-03-29 22:24:54 -04:00
nsContainerFrame.h bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc 2010-12-16 14:17:41 -08:00
nsFirstLetterFrame.cpp
nsFirstLetterFrame.h Backed out changeset d5da40425a61 a=b 2010-11-26 08:54:14 +01:00
nsFloatManager.cpp
nsFloatManager.h
nsFrame.cpp Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel 2011-03-28 12:59:47 +13:00
nsFrame.h Bug 626395. Make sure that when we're clipping our kids we don't create overflow containers for their overflow. Force the kids to lay out within our size instead. Also don't include overflowing kids in our overflow area if we're clipping them. r=roc, a=blocker 2011-01-19 17:39:31 -05:00
nsFrameList.cpp
nsFrameList.h
nsFrameSelection.h Bug 605138 - Scripts from topix.net apparently causing page to scroll down when opening; r=roc a=blocking-final+ 2010-10-21 16:56:20 -04:00
nsFrameSetFrame.cpp Bug 637864 - Give nsIViewManager::GetRootView a sane signature; r=bz 2011-03-29 22:24:54 -04:00
nsFrameSetFrame.h Bug 579767 - Frame borders are sometimes not redrawn correctly after dragging them or resizing the window; r,a=roc 2011-01-26 00:41:52 -05:00
nsFrameUtil.cpp
nsGfxScrollFrame.cpp Make mRestorePos a logical position and convert to physical position when scrolling. Bug 638753, r=dbaron 2011-03-28 08:37:57 +02:00
nsGfxScrollFrame.h Merge layout work from projects/birch, part 1. a=bsmedberg 2011-03-23 12:36:08 -07:00
nsHTMLCanvasFrame.cpp Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel 2011-03-28 12:59:47 +13:00
nsHTMLCanvasFrame.h Bug 610727 - Mark canvas layers inactive when relevant. r=roc a=blocking-fennec 2011-02-04 10:11:24 -08:00
nsHTMLContainerFrame.cpp Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
nsHTMLContainerFrame.h Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
nsHTMLParts.h Backing out bug 614058, bug 609272, bug 478445, bug 499628, bug 605296, bug 608914 and bug 614724 due to potentially causing bug 615736 CLOSED TREE. a=backout 2010-12-01 11:01:56 -08:00
nsHTMLReflowMetrics.cpp
nsHTMLReflowMetrics.h
nsHTMLReflowState.cpp Disable parsing of 'marker', 'run-in', and 'compact' in a less hacky way. (Bug 636029) r=bzbarsky 2011-03-05 09:58:33 -08:00
nsHTMLReflowState.h "ASSERTION: We should have padding here" with abs pos, overflow:scroll. r=roc a=blocking2.0:final 2010-11-09 22:14:05 +01:00
nsIAnonymousContentCreator.h Back out bug 612128 because it regressed Fennec with bug 618357, which blocks Fennec beta3; a=blocking-fennecb3+ 2010-12-10 21:20:00 -05:00
nsIFrame.h Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel 2011-03-28 12:59:47 +13:00
nsIFrameUtil.h
nsIImageFrame.h
nsILineIterator.h
nsImageFrame.cpp Fixing bug 604262. Fix crash in nsImageLoadingContent::OnStartDecode(). r=jonas@sicking.cc, a=blocker 2011-01-31 20:50:01 -08:00
nsImageFrame.h Bug 586683 - Part 4 - Move images into a separate ImageLayer when they are the only item in a ThebesLayer. r=roc a=blocking2.0 2011-01-18 10:47:18 +13:00
nsImageMap.cpp Bug 606498 - Make sure the new nsIScriptError2 is used in all possible places- part 2; r=bzbarsky,dbaron,mrbkap sr=jst a=blocking2.0 2010-12-20 12:21:58 -04:00
nsImageMap.h
nsInlineFrame.cpp Bug 644428 - Position the caret correctly for empty inline frames; r=roc 2011-03-28 20:17:16 -04:00
nsInlineFrame.h Bug 644428 - Position the caret correctly for empty inline frames; r=roc 2011-03-28 20:17:16 -04:00
nsIntervalSet.cpp
nsIntervalSet.h
nsIObjectFrame.h
nsIPageSequenceFrame.h
nsIScrollableFrame.h Bug 607464 - Don't use smooth scrolling for pixel scrolling. r=roc, a=roc 2011-02-04 09:00:06 +01:00
nsIStatefulFrame.h
nsLeafFrame.cpp
nsLeafFrame.h
nsLineBox.cpp
nsLineBox.h
nsLineLayout.cpp Bug 596478: delay nsImageFrame's IsPercentageAware check until after we've lazily initialized mIntrinsicSize. r=roc a=dbaron 2011-02-15 13:34:52 -08:00
nsLineLayout.h
nsObjectFrame.cpp Backed out changeset a5dbece71e4a due to test failures 2011-03-31 09:11:21 -04:00
nsObjectFrame.h Bug 644832. Windowless plugins inside CSS transforms should be rendered. r=tnikkel 2011-04-01 10:33:46 +13:00
nsPageContentFrame.cpp
nsPageContentFrame.h
nsPageFrame.cpp
nsPageFrame.h
nsPlaceholderFrame.cpp
nsPlaceholderFrame.h
nsPluginUtilsOSX.h
nsPluginUtilsOSX.mm
nsQueryFrame.h Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
nsSelection.cpp Bug 642823 - Make the behavior of nsISelection::Modify consistent for word selection across platforms by not eating spaces on any platform; r=roc 2011-03-20 15:49:06 -04:00
nsSimplePageSequence.cpp
nsSimplePageSequence.h
nsSplittableFrame.cpp
nsSplittableFrame.h
nsSubDocumentFrame.cpp Bug 617539. Remove nsIPresShell_MOZILLA_2_0_BRANCH(2). r=tnikkel 2011-04-01 10:33:46 +13:00
nsSubDocumentFrame.h
nsTextFrame.h Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron 2011-03-31 21:27:03 +09:00
nsTextFrameTextRunCache.h
nsTextFrameThebes.cpp Merge cedar into mozilla-central 2011-03-31 14:11:37 -04:00
nsTextFrameUtils.cpp
nsTextFrameUtils.h
nsTextRunTransformations.cpp bug 633322 - ensure GetDetailedGlyphs() is not called when glyph count is zero. r=roc a=blocking 2011-02-11 22:05:09 +00:00
nsTextRunTransformations.h
nsVideoFrame.cpp Bug 630835. Make BuildLayer responsible for setting a visible region on the layer, and let FrameLayerBuilder only reduce it. r=tnikkel,a=blocking 2011-02-23 18:38:09 +13:00
nsVideoFrame.h Bug 604386 - Prune placeholder from text children, r=davidb, sr=bz, a=blocking 2010-10-16 00:34:35 +09:00
nsViewportFrame.cpp Bug 599113. Part 3. Can't restrict invalidated rects to visible portion of a scroll frame if we retain content that might be outside the visible portion of the scroll frame. r=roc a=blocking-betaN+ 2010-10-14 20:03:46 -05:00
nsViewportFrame.h
punct_marks.x-ccmap Update Unicode data files to version 6.0. Bug 606917, r=emk, a=bsmedberg 2010-11-08 12:27:41 +02:00