Commit Graph

3029 Commits

Author SHA1 Message Date
Cameron McCormack
b76836a0c6 Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
* * *
Bug 1364361 - Followup to address review comment. r=me

MozReview-Commit-ID: IpdoSon9MAj

--HG--
extra : rebase_source : 8a6a9b88d678c52be8fa6f64b2664a08634a4a98
2017-06-16 15:32:40 +08:00
Sebastian Hengst
fe67a32efc Backed out changeset 12db2d364b64 (bug 1364361) for heap write hazard. r=backout 2017-06-16 09:27:42 +02:00
Cameron McCormack
eaf366ae43 Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN

--HG--
extra : rebase_source : 83d5e20a9ec92a35c015386828b0c53c6c4eaeb5
2017-05-22 13:14:32 +08:00
cku
fcb007d125 Bug 265894 - Part 8. Implement -moz-use-shadow-tree-root pseudo class. r=heycam
The spec said:
The generated instance of a ‘symbol’ that is the direct referenced element of a
‘use’ element must always have a computed value of inline for the display
property. In other words, it must be rendered whenever the host ‘use’ element is
rendered.

We use -moz-use-shadow-tree-root pseudo class to achieve this requirement.

MozReview-Commit-ID: 1ReJjmjxq6G

--HG--
extra : rebase_source : b4d267792dd6d69f7d5336c5ed33a0fc60e97b9e
2017-06-14 22:51:56 +08:00
cku
5719863244 Bug 265894 - Part 7. Do not convert symbol element into svg element. r=heycam
Since we already have nsSVGSymbolFrame, there is no need to leverage svg element
for rendering symbol element in use-element shadow tree, remove conversion code.

MozReview-Commit-ID: GmGLZ7Az6Gb

--HG--
extra : rebase_source : 897a1fb7b34bb3aa3babe99b7199e7f002d59e6b
2017-06-14 21:57:09 +08:00
cku
48694e2258 Bug 265894 - Part 5. Implement nsSVGSymbolFrame to layout symbol element. r=heycam
MozReview-Commit-ID: 6TTVvFgsRsQ

--HG--
extra : rebase_source : eae070036a70781b2cd80566eb572676e96ee9c2
2017-06-14 21:40:59 +08:00
cku
e6c91df011 Bug 265894 - Part 3. Implement nsSVGViewportFrame, and let nsSVGInnerFrame inherit from it. r=heycam
MozReview-Commit-ID: 9lME1xiNhhY

--HG--
extra : rebase_source : 11fdaa7b21f4647a7ce6b8834b43504977bc58a8
2017-06-14 21:05:37 +08:00
cku
f9701e84eb Bug 265894 - Part 2. Implement SVGViewportElementBase, and let SVGSVGElement inherit from it. r=heycam
MozReview-Commit-ID: I6BIgEMhN6Q

--HG--
extra : rebase_source : 8e0e18914fc061532e853d2d3347e924d244b212
2017-06-14 20:38:10 +08:00
Alexis Beingessner
adb013669b Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Sebastian Hengst
f3bf820bfd Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner
c75211cb95 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Robert Longson
63dda1e1dc Bug 1371973 - Remove SVGTextFrame::TransformFrameRectToTextChild and nsSVGUtils::GetNearestSVGViewport as they have no callers. r=heycam 2017-06-11 12:26:09 +01:00
Jeff Muizelaar
cf6d4425f4 Bug 1359527. Fixup DrawTarget::IntoLuminance mismerge. r=mchang
This adds back the NEON code and fixes up a couple of other pieces
2017-06-09 10:57:44 -04:00
Robert Longson
d0467bd4b4 Bug 1361593 - Simplify nsSVGMarkerFrame by storing the transform matrix rather than all the parameters necessary to calculate it. r=jwatt 2017-06-08 06:17:07 +01:00
Mason Chang
1520cb158b Bug 1359527. Part 1 - Add DrawTarget::IntoLuminance r=jrmuizel 2017-06-02 11:13:36 -07:00
Robert Longson
f6ca0ae2b1 Bug 1370449 - Simplify SVGTextDrawPathCallbacks by passing in data that more closely matches what it uses. r=heycam 2017-06-07 20:38:59 +01:00
Mats Palmgren
9496a58997 Bug 1370116 - Use the correct ancestor frame (i.e. |this|) of aFrame for checking NS_STATE_SVG_CLIPPATH_CHILD. r=longsonr
MozReview-Commit-ID: 7YK7a7RLNq5
2017-06-07 15:22:41 +02:00
L. David Baron
53383e2d5c Bug 1369260 - Remove use of MOZ_ASSERT_IF in layout. r=heycam
As I've said before, as module owner I prefer that MOZ_ASSERT_IF not be
used in the module because I consider it to be unreadable.  However, a
few uses have crept in, and this patch removes them.

I consider it to be unreadable because the name looks like a name that
uses smalltalk-ish naming conventions, i.e., with a part of the name
corresponding to each parameter, in order.  However, the parameters are
in the order opposite the name.

This was written primarily with the vim commands:
:%s/MOZ_ASSERT_IF(\([^,]*\),/MOZ_ASSERT(!\1 ||/
:wn
followed by manual cleanup for indentation and removal of !!.

MozReview-Commit-ID: G6rLbOn7k8d
2017-06-06 22:27:17 -07:00
Jonathan Watt
2642ec495c Bug 1365926, part 1 - Support 'context-fill-opacity'/'context-stroke-opacity' as SVG-as-an-image context properties. r=heycam
MozReview-Commit-ID: 2YHjwCB02jV
2017-05-18 12:47:20 +01:00
Jeremy Chen
66780bc3e6 Bug 1340561 - fix comment for the re-enabled svg crashtest. comment-only, no review, DONTBUILD
This test has been re-enabled for stylo in bug 1342596, but the comment
is somehow left.

MozReview-Commit-ID: BDbJGSCz8io
2017-05-29 21:58:12 +08:00
Phil Ringnalda
16b90e808a Backed out changeset e12fa325e112 (bug 1359527) for Win8 masking reftest failures
MozReview-Commit-ID: 5ecOfTu606d
2017-05-28 15:45:42 -07:00
Mason Chang
981bccddf0 Bug 1359527. Add DrawTarget::IntoLuminance. r=jrmuizel,Bas
This lets us use the luminance effect with Direct2D to avoid
having to read back. It will also let us avoid reading back
with DrawTargetRecording.
2017-05-28 15:35:14 -04:00
Jonathan Kew
a8f81efd8e Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats
--HG--
rename : layout/base/FramePropertyTable.cpp => layout/base/FrameProperties.cpp
rename : layout/base/FramePropertyTable.h => layout/base/FrameProperties.h
2017-05-27 12:36:00 +01:00
cku
b533c4c2ae Bug 1362000 - (followup) remove unused headers. r=me
MozReview-Commit-ID: 4SO8tdhbIHt

--HG--
extra : rebase_source : 7abc0bddf356bc705b130ea15294f8c5036f6ccf
2017-05-27 16:57:44 +08:00
Sebastian Hengst
d8e719c8a3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: CEadD9RweN4
2017-05-27 10:00:59 +02:00
Jeff Muizelaar
783be16285 Bug 1367147. Draw alpha masks to A8 surfaces and use them directly. r=jwatt
This can keep things on the GPU and makes it better for recording surfaces.
2017-05-26 22:32:24 -04:00
Ryan VanderMeulen
75fa1fd85f Merge inbound to m-c. a=merge 2017-05-26 15:43:59 -04:00
cku
082f6c2f30 Bug 1362000 - When the position of masked frame changed, always regenerate mask layer if any of maskUnits/maskContentUnits/clipPathUnits is userSpaceOnUse. r=cjku
For SVG mask/clipPath, comparison at [1] is not enough to detect whether cached
mask layer is reusable duriang animation. Since aMaskItem->IsInvalid() may keep
return fasle during OMTA. Bring in new condition check in
CSSMaskLayerUserData::IsMaskReusable..

I do not create a reftest for this bug, the reason is almost the same with bug
1350663.

So I manually verified paiting result by visit this three pages:
 https://codepen.io/tadeuszwojcik/pen/ZKJwRE
 https://codepen.io/tadeuszwojcik/pen/oWexWW
 http://codepen.io/iiroullin/pen/oWEOOM

[1] https://hg.mozilla.org/mozilla-central/file/2bc714f86791/layout/painting/FrameLayerBuilder.cpp#l3887

MozReview-Commit-ID: 7lUKTMYPFXo

--HG--
extra : rebase_source : c3e4d7b9df0c335222f09d7ce7d6918c7dbad00e
extra : source : 4717af028474a700a2b7e81eecae142f2ab82ff1
2017-05-12 20:17:14 +08:00
Mats Palmgren
154f4890bf Bug 1362886 part 2 - Devirtualize the IsLeaf() method by doing an array lookup instead. r=jfkthame
MozReview-Commit-ID: 1zm9rFhRVZ3
2017-05-26 12:11:12 +02:00
Mats Palmgren
a254b64145 Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame
MozReview-Commit-ID: 1RSDoc3pQXf
2017-05-26 12:11:11 +02:00
Mats Palmgren
1242172259 Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame
nsIFrame::mClass is of type enum class nsQueryFrame::ClassID which is
a strict subset of the nsQueryFrame::FrameIID values.  For a concrete
frame class, its FrameIID is the same numeric value as its ClassID.

MozReview-Commit-ID: 1N0AkCGo1ol
2017-05-26 12:11:11 +02:00
Mats Palmgren
ec6b1ef065 Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame
MozReview-Commit-ID: Gy9gcEYupeY
2017-05-26 12:11:11 +02:00
Ryan VanderMeulen
25cb66b774 Merge m-c to autoland on a CLOSED TREE. a=merge 2017-05-26 15:45:41 -04:00
cku
0fa11bffa0 Bug 1362000 - (follow-up) Simplify match logic in CSSMaskLayerUserData::operator==. r=mstange
Remove HasUserSpaceOnUseUnitsMaskOrClipPath since it's not necessary.
MozReview-Commit-ID: 2sen23m5GjE

--HG--
extra : rebase_source : fe15fc807daf79f6f2175224928a1d83736cf85b
2017-05-27 01:38:54 +08:00
Timothy Nikkel
c8ba76db41 Bug 1366875. Apply the same sync decoding heuristic to SVG <image> as we do to HTML <img>. r=mats
--HG--
rename : layout/svg/nsSVGImageFrame.cpp => layout/svg/nsSVGImageFrame.h
2017-05-23 14:11:13 -05:00
Ryan VanderMeulen
22d214ae4b Merge autoland to m-c. a=merge 2017-05-23 10:32:42 -04:00
Mats Palmgren
297b9d70e1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF

--HG--
extra : source : bbb688fe1ba3f5201a190c6e25b693ef7272ea2d
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren
e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Robert Longson
00985268d8 Bug 1240275 - Support SVG 2 radialGradient fr attribute. r=cam r=peterv (see comment 16) 2017-05-23 07:15:02 +01:00
Wes Kocher
76ed70ac15 Backed out changeset 6eabcbe4f0a1 (bug 1240275) for win64 reftest failures in radialGradient-fr-02.svg a=backout
MozReview-Commit-ID: 1rJZeqPUykw
2017-05-22 15:26:29 -07:00
Robert Longson
941e4c568e Bug 1240275 - Support SVG 2 radialGradient fr attribute. r=cam r=peterv (see comment 16) 2017-05-22 19:31:37 +01:00
Wes Kocher
90573b0612 Merge m-c to autoland, a=merge
MozReview-Commit-ID: FYdNNRDmEla
2017-05-18 17:21:30 -07:00
cku
4790d4da73 Bug 1351440 - Part 4. Pass imgDrawingParams to nsSVGPaintServerFrame::GetPaintServerPattern. r=jwatt
The reason of this change is the same as for Part 2, except that this commit fixes
nsSVGPaintServerFrame::GetPaintServerPattern rather than PaintSVG.

Commit-ID: 691YrKZ0Lm9
MozReview-Commit-ID: KSnFhCndFUk
2017-05-18 22:03:50 +02:00
cku
51288e6cfe Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs
2017-05-18 22:03:45 +02:00
cku
d85d3ab378 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF
2017-05-18 22:03:41 +02:00
Sebastian Hengst
41f1727bf4 Backed out changeset f3460d42d23c (bug 1351440) 2017-05-18 21:15:35 +02:00
Sebastian Hengst
635d32e534 Backed out changeset 3240cd94bf4b (bug 1351440) 2017-05-18 21:15:30 +02:00
Sebastian Hengst
00458fa236 Backed out changeset 2ea1279576d2 (bug 1351440) 2017-05-18 21:15:26 +02:00
L. David Baron
51adf3206b Bug 1365831 - Replace assertion that non-display SVG containers are only reflowed with NS_FRAME_IS_DIRTY with a real test of the condition. r=heycam
The primary patch in bug 1308876 causes frames to be reflowed less often
with NS_FRAME_IS_DIRTY, particularly when multiple passes of reflow are
required for the frame or one of its ancestors (which is generally the
case for a document that ends up not having scrollbars).  This change
causes this assert to fire on various SVG tests such as
layout/reftests/svg/svg-integration/conditions-outer-svg-01.xhtml .
This happens because the outer SVG with conditional processing (in this
test, systemLanguage="x") is reflowed due to its parent resizing,
without NS_FRAME_IS_DIRTY set.  This is a relatively normal thing to
happen during reflow; we just didn't have any tests that exercise it.

This patch adds a crashtest that triggers the assertion through the same
mechanism, but with a dynamic change, rather than depending on the
non-dirty reflow triggered by bug 1308876.  (I confirmed locally that
this test does trigger the assertion without this patch, when run in the
crashtest harness.)

I think fundamentally the assertion isn't valid, and we should instead
be testing the condition that it asserts.

MozReview-Commit-ID: D8hjAbjKyuL

--HG--
extra : transplant_source : %98C%3A%B1%93jb%E7%3D%81%19%97%A6%04%0F%88%8B%D2%A35
2017-05-18 09:24:33 -07:00
cku
c412dd10b9 Bug 1351440 - Part 4. Pass imgDrawingParams to nsSVGPaintServerFrame::GetPaintServerPattern. r=jwatt
The reason of this change is the same as for Part 2, except that this commit fixes
nsSVGPaintServerFrame::GetPaintServerPattern rather than PaintSVG.

Commit-ID: 691YrKZ0Lm9
MozReview-Commit-ID: KSnFhCndFUk

--HG--
extra : rebase_source : 3397613129fff6023833cdc3bd639f0d2b151652
extra : source : fa29f1920a88d88bcf0f5239462d32ee8955895c
2017-05-09 02:14:08 +08:00
cku
0fcc7571b7 Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs

--HG--
extra : rebase_source : 696bf495edc98a390f49ff0638165724521460b1
extra : source : 95f38c2c8b57134504e7fbe03d1637866e3e65ba
2017-05-08 21:27:20 +08:00
cku
eaa4406688 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF

--HG--
extra : rebase_source : 66c9a9e391c2f9e142575f42fd47b37334ec5752
extra : source : 97a08873177c0f18edffdb1b5589c77843a50553
2017-05-05 17:19:43 +08:00
Cameron McCormack
203bdaed3b Bug 1361235 - Part 2: Re-enable some tests. r=emilio
MozReview-Commit-ID: 76FaOwHjIMB

--HG--
extra : rebase_source : e2e36bd8a6b86761fe616d7c30d8df7b661a4e09
2017-05-11 19:19:52 +08:00
cku
fa91539f4a Bug 1343139 - (followup) Check PreTransformOverflowAreasProperty in painting process only. r=heycam
GetPreEffectsVisualOverflowRect is a function that be used in both reflowing
and painting. PreEffectsBBoxProperty of continuations is not set correctly yet
in reflow process, so we should skip this assertion check during reflow.

PS:
I will change MOZ_ASSERT, in GetPreEffectsVisualOverflowRect, back to NS_ASSERTION
if we still encounter this assertion in the future.

MozReview-Commit-ID: 6Gvg3XOd2mD

--HG--
extra : rebase_source : 88f605dc3aa2fd63fbe60925c0a21cc370ff3b6b
extra : amend_source : 0fb6a36486d7a96546e3362393d8501744ebdc34
2017-05-11 11:41:57 +08:00
Robert Longson
8b734a3546 Bug 1361509 - initialise nsSVGGradientFrame::mSource r=mats 2017-05-11 04:20:58 +01:00
Jonathan Watt
cfea97eb87 Bug 1359762 - Only allow SVG images to use context paint if they're from chrome:// or resource://. r=dholbert
MozReview-Commit-ID: 5vaPp4Y8zMd
2017-04-25 12:47:19 +01:00
Robert Longson
ffd7cf91d4 Bug 1362400 part 2 - optimise SMIL image updates r=jwatt 2017-05-06 20:51:59 +01:00
Robert Longson
5bf763e903 Bug 1362400 part 1 - Make it possible for SMIL to change the link state of an SVG anchor element r=jwatt r=smaug (DOM) 2017-05-06 20:32:14 +01:00
Jonathan Watt
44c2ccb8ad Bug 1360662, part 1 - Only expose properties that are listed in '-moz-context-properties' as image context properties. r=dholbert
MozReview-Commit-ID: B17M2vQZ92e

--HG--
extra : rebase_source : 3d8a2317ea9f092f2c41e00263135dfc57827e7d
2017-04-19 14:52:25 +01:00
Robert Longson
9a974578a0 Bug 1352258 - default fallback for context-fill to black to match default fill colour r=jwatt 2017-05-03 22:00:40 +01:00
Emilio Cobos Álvarez
8850cff8d0 Bug 1361596: Initialize nsSVGPatternFrame::mSource. r=mats
MozReview-Commit-ID: JHtIRjtNN1k
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-03 22:06:22 +02:00
Wes Kocher
5b73758a65 Merge m-c to inbound, a=merge
MozReview-Commit-ID: ILz91Vj4gT5
2017-05-02 17:39:58 -07:00
Robert Longson
0c1b6c1fcc Bug 1347409 part 2 - serialise fill and stroke fallback properly r=cam 2017-05-02 22:12:59 +01:00
Ting-Yu Lin
918033ba12 Bug 1321754 Part 2 - Update reftest and crashtest expectations for stylo. r=heycam
MozReview-Commit-ID: AunZ2DE209M

--HG--
extra : rebase_source : 4a091cd55581039c8d81f4db9bfbe2af8c0d0863
2017-04-28 14:53:16 +08:00
Emilio Cobos Álvarez
23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Sebastian Hengst
42fd33ff9c merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ELENTh08Be7
2017-04-29 11:10:31 +02:00
Sebastian Hengst
b10380c0c8 Backed out changeset de8bbf1eb200 (bug 1359762) for failing reftest context-fill-01.html. r=backout 2017-04-28 22:54:00 +02:00
Jonathan Watt
a585601edc Bug 1359762 - Only allow SVG images to use context paint if they're from chrome:// or resource://. r=dholbert
MozReview-Commit-ID: 5vaPp4Y8zMd
2017-04-13 19:47:51 +01:00
Jonathan Watt
1689905b0b Bug 1350010, part 4 - Require '-moz-context-properties' on elements linking to SVG images using context paint. r=heycam
MozReview-Commit-ID: 4SgXupGx29P
2017-04-12 12:47:32 +01:00
cku
2d993f6812 Bug 1360343 - ensure maskSurface is not null before dereference, since it can be null because of OOM or gfx device reset. r=dvander
MozReview-Commit-ID: HX2qsWLZpMg

--HG--
extra : rebase_source : 046befc11151461a682842c31e2ce39247a5e1d8
2017-04-28 11:48:21 +08:00
Jonathan Watt
40205887ee Bug 1359486 - Fix SVGImageContext::MaybeStoreContextPaint to work with DevTools chrome. r=dholbert
MozReview-Commit-ID: 7TL9cfWsiED
2017-04-05 11:44:16 +01:00
Sebastian Hengst
e55101c5c8 Backed out changeset 85d3d629fa4a (bug 1359486) for crashing in 480345-1.html. r=backout 2017-04-25 19:44:03 +02:00
Jonathan Watt
1ba9dbe74f Bug 1359486 - Fix SVGImageContext::MaybeStoreContextPaint to work with DevTools chrome. r=dholbert
MozReview-Commit-ID: 7TL9cfWsiED
2017-04-05 11:44:16 +01:00
Jonathan Watt
78700a27ae Bug 1358690, part 1 - Allow SVGImageContext::MaybeInitAndStoreContextPaint to be passed an existing SVGImageContext. r=dholbert 2017-03-28 11:43:15 +01:00
Jonathan Watt
c42adf48d9 Bug 1358828, part 1 - Add some missing includes. r=longsonr
MozReview-Commit-ID: 3nDDATmCkJV
2017-03-27 12:49:21 +01:00
Jonathan Watt
80319e98e0 Bug 1358794, part 1 - If necessary, synthesize a viewBox for SVG embedded via SVG <image>. r=longsonr
MozReview-Commit-ID: DuKOqfxCUW8
2017-03-25 15:57:29 +00:00
cku
71f1a61edb Bug 1357432 - Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic. r=heycam
ResolveURLUsingLocalRef is designed to be internally used by
nsSVGEffects::Get-{SVGEffect}-URI functions. Since we also need it in
SVGUseElement::LookupHref, make it public in nsSVGEffects.

MozReview-Commit-ID: Hsvs8Uzahrz

--HG--
extra : rebase_source : 54698a477a2ebb3f635fb3a77f6bc39b1741b05b
2017-04-20 15:58:19 +08:00
cku
258222aaaf Bug 1346618 - Part 1. Remove SVGImageContext::mGlobalOpacity. r=mstange
MozReview-Commit-ID: ByiPa4sreEh

--HG--
extra : rebase_source : eda6104c00cbc7ebe7b9a5ddc9e2abc73fbc37df
extra : source : df69799726bdccc5a25d6190c0fe22645e264ab7
2017-04-15 02:01:22 +08:00
Sebastian Hengst
3ec03039d2 Backed out changeset 6bd69f962dd5 (bug 1346618) for permafailing reftest 315920-9.html on Android 4.3 API15+ debug. r=backout 2017-04-13 18:56:58 +02:00
cku
8be5ee7510 Bug 1349741 - Part 1. Correct the transform matrix of a context that pass to nsFilterInstance::PaintFilteredFrame. r=mstange
MozReview-Commit-ID: 9BISQehlSgG

--HG--
extra : rebase_source : b24635e2e9c790906fd823aad456da12a9fdff16
2017-04-13 11:10:58 +08:00
Iris Hsiao
a59e2ae25b Backed out changeset f6a3307c3a8d (bug 1349741)
--HG--
extra : rebase_source : f08659b2489fa6c9205570b62c8a74d768296519
2017-04-13 15:14:54 +08:00
cku
781ff666e3 Bug 1349741 - Part 1. Correct the transform matrix of a context that pass to nsFilterInstance::PaintFilteredFrame. r=mstange
MozReview-Commit-ID: 9BISQehlSgG

--HG--
extra : rebase_source : b24635e2e9c790906fd823aad456da12a9fdff16
2017-04-13 11:10:58 +08:00
cku
494c75d825 Bug 1346618 - Part 1. Remove SVGImageContext::mGlobalOpacity. r=mstange
MozReview-Commit-ID: ByiPa4sreEh

--HG--
extra : rebase_source : 0b86cd57c1c9e6d687a0a4f56c3ccbfe24886e84
2017-04-10 11:59:48 +08:00
Manish Goregaokar
8854b518a1 Bug 1342596 - Update expectations for absolute length serialization ; r=manishearth 2017-04-12 14:57:20 +08:00
cku
21a1b43445 Bug 1352096 - Part 2. Remove Layer::mSourceURI. r=heycam
Now, remove Layer::mSourceURI, there are several benefit of doing this:
1. Reduce the size of nsStyleImage::Layer.
2. By storing style image and url information in nsStyleImage, we can remove
many verbose comments. That is becasue there is no need to explain why we use
mSourceURI here, or why we use nsStyleImage there anymore.
3. Since all inforamtion is stored in on place, nsStyleImage, we can setup image
request or URLs by one single Gecko_SetUrlImageValue call.

MozReview-Commit-ID: 7aTQobddTB1

--HG--
extra : rebase_source : 247e3b66c727a9116c58d3d6ff3ae0f7a58f2338
2017-03-31 01:50:21 +08:00
Jonathan Watt
9176ddbc11 Bug 828240, part 2 - Create only one nsDisplayTransform for outer-<svg> children-only transforms. r=longsonr
Previously if an outer-<svg> had children-only transforms we would create
an nsDisplayTransform display list item for every child of the <svg> element.
For certain SVG files this could cause performance problems. This commit makes
us create a single nsDisplayTransform for the nsSVGOuterSVGFrame's anonymous
child frame rathen than one nsDisplayTransform for every real child.
2017-03-15 16:59:34 +00:00
Jonathan Watt
2e3616de57 Bug 1353697, part 2 - Fix the 'transform' attribute on outer-<svg> to also transform the border, padding and clip rect. r=longsonr 2017-03-13 14:05:38 +00:00
Jonathan Watt
c1539cd5b0 Bug 1351990 - Initialize SVGContextPaint's members. r=baku
MozReview-Commit-ID: EZJ5QFuLyna
2017-03-09 12:49:21 +00:00
Ryan VanderMeulen
f4a0d77ffc Merge inbound to m-c. a=merge 2017-03-29 09:41:54 -04:00
Ryan Hunt
56219a24fd Bug 1341101 part 4 - Specify a nsRenderingContext for nsCSSRendering::PaintStyleImageLayer r=mattwoodrow
MozReview-Commit-ID: 5TX6IXLSC8r

--HG--
extra : rebase_source : fef1d37208dc29f8df67388fe5c335a9c013daef
2017-03-15 00:25:09 -04:00
Wes Kocher
914dd4b76c Merge inbound to m-c a=merge 2017-03-28 13:30:56 -07:00
cku
50ac4dd472 Bug 877661 - Part 2. Pass decode flag from outer-svg/ svg-container paint call to nsSVGUtils::PaintFrameWithEffects. r=tnikkel
MozReview-Commit-ID: 9VvzixdmRIt

--HG--
extra : rebase_source : 00a18c38016f86a244a14e36d427a2f2eacfdee4
2017-03-27 11:28:54 +08:00
cku
8abb48b629 Bug 877661 - Part 1. Pass decode flag down to GetMaskForMaskedFrame. r=tnikkel
MozReview-Commit-ID: 9KhIWp1rHzb

--HG--
extra : rebase_source : 8c3d3c95ba7ada05673ba637cd542f41e9ce9f90
2017-03-27 11:10:48 +08:00
cku
a55d02afd1 Bug 1345853 - Part 4. Pass sync decode flag down to nsSVGPatternFrame::PaintPattern. r=tnikkel
MozReview-Commit-ID: 1bHMINhs121

--HG--
extra : rebase_source : 8da9c0d77dd9a32be392f43d3be266d365894b3a
2017-03-25 03:19:18 +08:00
cku
ff10c4ce7b Bug 1345853 - Part 3. Pass sync docode flag down to nsSVGDisplayableFrame::PaintSVG. r=tnikkel
Add one paramater to nsSVGDisplayableFrame::PaintSVG, so that we can pass
sync-decode flag from nsXXXXDisplayItem::Paint function to SVG paint call.

MozReview-Commit-ID: 6VZbxnFaoUj

--HG--
extra : rebase_source : c55e457e0d7a81b4a574d970924e0af6f7a7db48
2017-03-24 16:49:37 +08:00
cku
251e635682 Bug 1345853 - Part 2. If the transform matrix is singular, return DrawResult::SUCCESS, instead of DrawResult::BAD_ARGS r=tnikkel
According to bug 1345853 comment 5, tn said:
You probably want to return whatever was drawn there regardless of the
DrawResult. SVGMaskFrame has the same problem. Keep in mind that DrawResult is
only reporting on how drawing of any images went, not the drawing of anything
else. Also looking over the patches from bug 1258510 I see a couple places where
BAD_ARGS is returned if the transform matrix is singular. We would want to
return SUCCESS in that case I think, because we drew what we were instructed to
draw.

MozReview-Commit-ID: 5XcDuKQwXTJ

--HG--
extra : rebase_source : 5c558d469148e0cb3cfe9365aed1a4a65c572532
2017-03-16 12:06:36 +08:00
cku
148bb081ca Bug 1345853 - Part 1. Pass DrawResult from nsSVGPatternFrame::PaintPattern back to nsDisplaySVGGeometry::Paint. r=mstange,tnikkel
I did many change in many files in this patch. But the goal is pretty simple: To
pass the return value of nsSVGPatternFrame::PaintPattern back to the caller
(nsDisplaySVGGeometry). My suggestion is to review this patch right from
nsSVGPatternFrame.cpp.

I made two mistakes in bug 1258510
1. We should not return directly at [1]. RemoveStateBits at l418 will be skip.
2. nsSVGPatternFrame::PaintPattern should return both SourceSurface and draw
result, so that we can update UpdateDrawResult in display item.

All the other changes are to
1. make sure the return value of nsSVGPatternFrame::PaintPattern goes back to
nsDisplaySVGGeometry::Paint correctly.
2. Since the return value of nsSVGPatternFrame::PaintPattern change, we need
modify all existed callers.

I also filed bug 1346124 for handle the returning value of PaintMarkers.

[1] https://hg.mozilla.org/mozilla-central/file/c0700bedb4f7/layout/svg/nsSVGPatternFrame.cpp#l415

MozReview-Commit-ID: Iq9RPQ6Omz0

--HG--
extra : rebase_source : ca7a35bb9f5e27880d5dc62e03feb91b6ac3435d
2017-03-21 10:12:23 +08:00
Jonathan Watt
da33662df5 Bug 1058040, part 18 - Minimize the cost of context paint when it is not available. r=dholbert
MozReview-Commit-ID: 5MVW37Vd1aK
2017-03-06 13:49:21 +00:00