Commit Graph

2735 Commits

Author SHA1 Message Date
Robert O'Callahan
c6e4498a20 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
77ab860b5c Bug 644832. Windowless plugins inside CSS transforms should be rendered. r=tnikkel 2011-04-01 10:33:46 +13:00
Robert O'Callahan
d13eeaf01c Bug 641770. Apply correct clip rect to a layerized image. r=tnikkel 2011-04-01 10:33:46 +13:00
Robert O'Callahan
8fd77f670c Bug 617539. Remove nsIPresShell_MOZILLA_2_0_BRANCH(2). r=tnikkel 2011-04-01 10:33:46 +13:00
Kyle Huey
e169e16015 Back out Bug 639754. 2011-03-31 09:12:20 -04:00
Kyle Huey
61ff9410c4 Backed out changeset a5dbece71e4a due to test failures 2011-03-31 09:11:21 -04:00
Matheus Kerschbaum
1f81122982 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now. r=bsmedberg 2011-03-31 07:22:55 -04:00
Ehsan Akhgari
a0f4acae30 Merge cedar into mozilla-central 2011-03-30 13:53:35 -04:00
Ehsan Akhgari
6c4d70e8f0 Bug 644428 - Position the caret correctly for empty inline frames; r=roc 2011-03-28 20:17:16 -04:00
Simon Montagu
be96a9dc94 Remove UTF-32 encoder and decoder. Bug 604317, r=emk 2011-03-30 08:35:34 +02:00
L. David Baron
ea97bc0b82 Go through the normal restyling codepath in RebuildAllStyleData so that we handle in-progress transitions correctly. (Bug 583219) r=bzbarsky 2011-03-29 20:46:13 -07:00
Florian Quèze
20b0b008d5 Bug 591341 - Add color keywords for default text and background colors. r=dbaron 2011-03-30 11:28:05 +02:00
Ms2ger
3aac8958f3 Bug 637864 - Give nsIViewManager::GetRootView a sane signature; r=bz 2011-03-29 22:24:54 -04:00
Ehsan Akhgari
ca0a27ab24 Merge cedar into mozilla-central 2011-03-29 10:39:07 -04:00
Boris Zbarsky
16ac67c451 Bug 645943. Initialize mLastTimerInterval correctly. r=dbaron 2011-03-29 00:41:01 -04:00
Boris Zbarsky
0a7e20bbec Bug 313351. ContentStatesChanged should take only one argument. r=dbaron 2011-03-28 23:32:11 -04:00
Ehsan Akhgari
db0e06d061 Merge cedar into mozilla-central 2011-03-28 13:28:13 -04:00
Boris Zbarsky
c964785dea Bug 642717. Hold strong references to our MozBeforePaint event targets. r=roc 2011-03-28 10:49:48 -04:00
Robert O'Callahan
4ca813ae6e 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
Masayuki Nakano
a08a3877b3 Bug 59109 Part 2: Cleaning up current text decoration implementation r=dbaron 2011-03-31 21:26:49 +09:00
Masayuki Nakano
264109812b Bug 59109 Part 1: Adding -moz-text-decoration-color and -moz-text-decoration-style r=dbaron, sr=bzbarsky 2011-03-31 21:26:35 +09:00
Ms2ger
cbadb28698 Bug 637178 - Unused variable warning in GetContentMap; r=ben 2011-02-27 10:46:00 -05:00
Boris Zbarsky
5621236360 Bug 607529. Don't trigger animation callbacks on documents that have gone away. r=roc,smaug 2011-03-25 21:05:56 -04:00
Ehsan Akhgari
9fd7693897 Merge backout of bug 263359 2011-03-25 18:16:31 -04:00
Ehsan Akhgari
ec23591598 Back out bug 263359 because it has caused bug 645119 2011-03-25 18:15:29 -04:00
Simon Montagu
cf14bed018 Bug 263359 part 5: optimization -- don't do bidi resolution if the text is monodirectional. r=roc 2011-03-24 11:28:45 +02:00
Simon Montagu
278dfd1e65 Bug 263359 part 4: resolve paragraph on encountering line breaks in preformatted elements 2011-03-24 11:28:45 +02:00
Simon Montagu
5e24d64c4b Bug 263359 part 3: resolve paragraph on encountering <br> or embedded block elements 2011-03-24 11:28:44 +02:00
Simon Montagu
e0953392b0 Bug 263359 part 2: split nsBidiPresUtils::Resolve into Resolve and ResolveParagraph. r=roc 2011-03-24 11:28:44 +02:00
Simon Montagu
9914a030ec Bug 263359 part 1.5: remove nsDirectionalFrame. 2011-03-24 11:28:44 +02:00
Simon Montagu
5250ed8a4a Bug 263359 part 1: refactor bidi resolution code, combining InitLogicalArray and CreateBlockBuffer. r=roc 2011-03-24 11:28:44 +02:00
Simon Montagu
01aa874a4e Debugging code for Bidi resolution. NPOTDB 2011-03-24 11:28:44 +02:00
Benjamin Smedberg
4f1ecb131c Bug 617539 - remove nsIWidget_MOZILLA_2_0_BRANCH, r=jimm 2011-03-25 11:03:35 -04:00
Benjamin Smedberg
51ecdf79a2 Bug 617539 - Fold nsIContentViewer_MOZILLA_2_0_BRANCH, r=sicking 2011-03-25 11:03:34 -04:00
Benjamin Smedberg
d758fb0d7e Bug 617539 - Fold in nsIDOMWindowUtils_MOZILLA_2_0_BRANCH, r=bz 2011-03-25 11:03:33 -04:00
L. David Baron
802da587ae Merge layout work from projects/birch, part 2. 2011-03-23 17:39:29 -07:00
Craig Topper
72d7c1f754 Bug 576831 part 4. Remove nsICSSStyleRule and use mozilla::css::StyleRule instead. r=bzbarsky
--HG--
rename : layout/style/nsCSSStyleRule.cpp => layout/style/StyleRule.cpp
rename : layout/style/nsICSSStyleRule.h => layout/style/StyleRule.h
2011-03-10 21:48:57 -05:00
Boris Zbarsky
be00decfac Bug 630127. Use a precise timer when we have animation frame callbacks. r=dbaron 2011-03-07 11:58:48 -05:00
L. David Baron
be4c804463 Disable parsing of 'marker', 'run-in', and 'compact' in a less hacky way. (Bug 636029) r=bzbarsky
This simply removes all the code for the values.  This removes a
special-case that would otherwise need to become more complicated in a
later patch in this series.
2011-03-05 09:58:33 -08:00
Boris Zbarsky
1782b07550 Bug 632907. Use Element more in the frame constructor. r=roc 2011-03-04 10:27:02 -05:00
Boris Zbarsky
f784386f4b Bug 614733. Do exponential backoff on throttled refresh drivers. r=dbaron 2011-03-04 10:27:02 -05:00
L. David Baron
18e788b1a1 Correctly handle non-repeating radial gradients in which all stops are at the same position. (Bug 635222) r=roc 2011-03-03 13:18:42 -08:00
Alexander Surkov
34f2d0cb46 Bug 612872 - HAL/Supernova needs tweaks to our window emulation, r=davidb, sr=roc, a=davidb 2011-03-02 22:41:42 +08:00
Jonas Sicking
9adba11f73 Bug 635844 part 2: Update pushState to latest agreed behavior. r=jlebar a=beltzner/jst 2011-02-28 23:08:56 -08:00
Jonas Sicking
0a21ea9298 Bug 635844 part 1: Back out bug 615501 since we'll no longer fire the "initial popstate" event, and thus don't need a way to differentiate it. r=jlebar a=beltzner 2011-02-28 23:08:56 -08:00
Matt Woodrow
5a9d39c5e9 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
20b9397753 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
Robert O'Callahan
f1081fb688 Bug 634232. Call WillEndTransaction/DidEndTransaction notifications for FrameLayerBuilder's temporary layer managers. r=tnikkel a=hardblocker 2011-02-20 19:28:00 -08:00
Olli Pettay
0ee7b9841d Bug 635434, dispatch to gKeyDownTarget using the right presshell, r=enn, f=masayuki, a=hardblocker 2011-02-21 18:39:21 +02:00
Simon Montagu
f3795dcd86 Don't create or delete frames when nsTextFrame::SetLength is called from bidi resolution. Bug 635329, r+a=roc 2011-02-21 10:02:23 +02:00