54479 Commits

Author SHA1 Message Date
cku
66ee16b6b0 Bug 1224207 - Part 7. (Main) Pass frame transform info down to nsFilterInstance. r=mstange
The biggest change is located in
nsFilterInstance::ComputeUserSpaceToFilterSpaceScale.

Originally, nsSVGUtils::GetCanvasTM is used. This function returns combination
of svg-transform, e.g. <rect transform="translate(30,40)" />, and
css-to-dev-scale-transform. That why we do not see this bug in a transformed
svg element.

For example, the following svg can be rendered correctly on FF:
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
  <filter id="blurMe">
    <feGaussianBlur in="SourceGraphic" stdDeviation="1"/>
  </filter>
</defs>
  <!-- nsSVGUtils::GetCanvasTM return transform="scale(3)" correctly -->
  <text x="0" y="35" font-size="35" transform="scale(3)" filter="url(#blurMe)">
    Hello, out there
  </text>
</svg>

Unfortunately, this function does not report css-transform at all. So, I
replaced it by mPaintTransfom, which is passed from the caller. So now it's the
caller's responsibility to pass a UserSpace-To-DeviceSpace transform into
nsFilterInstance. And, we actually change the meaning of mPaintTransform in this
patch. Before this patch, mPaintTransform means css-to-dev-px scaling transform;
After this patch it means "userspace-to-filterspace-scaling * css-to-dev-scaling"
transform.

All the other modifictions are to respect the change in
nsFilterInstance::ComputeUserSpaceToFilterSpaceScale.

MozReview-Commit-ID: LwNUAMo98M

--HG--
extra : rebase_source : 4ed9fbd1493decef43b6d606d78c4dd23e975146
2017-02-07 11:51:34 +08:00
cku
2d91b08fdf Bug 1224207 - Part 6. Move GetCSSPxToDevPxMatrix to nsSVGUtils. r=mstange
To use GetCSSPxToDevPxMatrix in nsFilterInstance, pull this untility function down
to nsSVGUtils; Otherwise, we have to include nsSVGIntegrationUtils header in
nsFilterIntance, which is ok but not good I think.

MozReview-Commit-ID: 6SGtwj4EE1S

--HG--
extra : rebase_source : f75c904602f7f0f4ad0e4bdb5786c3a405a86be6
2017-01-24 23:22:43 +08:00
cku
4078913be5 Bug 1224207 - Part 5. Fine tune nsFilterInstance::BuildSourcePaint. r=mstange
1. Rename gfx->sourceCtx.
2. Since sourceCtx is discarded immidiately, there is no need of save/restore.

MozReview-Commit-ID: CM2MMBYWp3W

--HG--
extra : rebase_source : e9e2b92ac08a41da4e6f9a40886f329e8aa0fc29
2017-01-24 23:10:31 +08:00
cku
56155d7ace Bug 1224207 - Part 4. Move internal used member functions into private section. r=mstange
MozReview-Commit-ID: 1ciHcGFd5yU

--HG--
extra : rebase_source : 52315d4b2f9fd44d54a91b7b719f5f07959f2a32
2017-01-24 23:04:20 +08:00
cku
41b81aba07 Bug 1224207 - Part 3. Remove unused parameters of nsFilterInstance's member functions. r=mstange
MozReview-Commit-ID: 4QcutMJveUy

--HG--
extra : rebase_source : cc8260ac0423bfb537976c3b6fa3925ff631a04b
2017-01-24 00:27:55 +08:00
cku
3a2459d1e9 Bug 1224207 - Part 2. Fine tune RegularFramePaintCallback. r=mstange
1. Pass offset in device pixel unit instead of app unit.
2. Keep old context of the basic manager before replacing.

MozReview-Commit-ID: IoYFTU35aw6

--HG--
extra : rebase_source : b77c8e32d875fe69838904932e47bbee161c987a
2017-01-23 02:51:23 +08:00
cku
1223a2adfa Bug 1224207 - Part 1. Split SetupContext into ComputeEffectOffset and TranslateToUserSpace. r=mstange
We need ComputeEffectOffset along in the following patch.
MozReview-Commit-ID: GoIZ07IqoQ3

--HG--
extra : rebase_source : 54ad8ad25225a110b1cdf190d51df771386b7a26
2017-01-23 02:36:41 +08:00
Carsten "Tomcat" Book
bb03ec5d0c Merge mozilla-central to autoland 2017-02-08 11:32:21 +01:00
Carsten "Tomcat" Book
55606baab8 merge mozilla-inbound to mozilla-central a=merge 2017-02-08 11:30:00 +01:00
Iris Hsiao
6fbbd6b7c2 Backed out 8 changesets (bug 1224207) for Win8 Reftest failures
Backed out changeset 2fce8d53b105 (bug 1224207)
Backed out changeset c31e96bf56d0 (bug 1224207)
Backed out changeset 587cde853b75 (bug 1224207)
Backed out changeset 7faefd871e00 (bug 1224207)
Backed out changeset 15f62c3ec366 (bug 1224207)
Backed out changeset 9448e628569e (bug 1224207)
Backed out changeset 958379e4f61c (bug 1224207)
Backed out changeset d23079bc188e (bug 1224207)
2017-02-08 17:53:07 +08:00
Xidorn Quan
35f2f9ad03 Bug 1337637 - Release rule when deleting from ServoCSSRuleList. r=heycam
MozReview-Commit-ID: CrVNCTEJ7l6

--HG--
extra : rebase_source : 69473337c5b7833486c3b7d0f3bfe452d950a2ba
2017-02-08 14:19:08 +11:00
Wes Kocher
95ae929bd7 Merge m-c to autoland, a=merge
MozReview-Commit-ID: AY7XekuIyIs
2017-02-07 16:56:19 -08:00
Wes Kocher
672c83ed65 Merge inbound to central, a=merge
MozReview-Commit-ID: 5H1ZxSV0XuM
2017-02-07 16:33:31 -08:00
Sebastian Hengst
0264cdf6be Bug 1336311 - Change code comments with http://hg.mozilla.org to https://. r=gps
For components also referencing it in code, see the blockers of bug 1336311.

MozReview-Commit-ID: 4tUZ24HKBWy

--HG--
extra : rebase_source : ec16149f525b9b7eaca7f96f1369929d21497121
2017-02-07 17:52:56 +01:00
cku
790ccc4d69 Bug 1224207 - Part 8. Reftest. r=mstange
MozReview-Commit-ID: 2PBICER8iJG

--HG--
extra : rebase_source : 8e903a9df2078177e5ca3229f4ac1f3bf3d023ec
extra : source : 0c93f343f59ad92b137c22394081e72f9586763b
2017-01-26 14:34:30 +08:00
cku
66f91bc1e5 Bug 1224207 - Part 7. (Main) Pass frame transform info down to nsFilterInstance. r=mstange
The biggest change is located in
nsFilterInstance::ComputeUserSpaceToFilterSpaceScale.

Originally, nsSVGUtils::GetCanvasTM is used. This function returns combination
of svg-transform, e.g. <rect transform="translate(30,40)" />, and
css-to-dev-scale-transform. That why we do not see this bug in a transformed
svg element.

For example, the following svg can be rendered correctly on FF:
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
  <filter id="blurMe">
    <feGaussianBlur in="SourceGraphic" stdDeviation="1"/>
  </filter>
</defs>
  <!-- nsSVGUtils::GetCanvasTM return transform="scale(3)" correctly -->
  <text x="0" y="35" font-size="35" transform="scale(3)" filter="url(#blurMe)">
    Hello, out there
  </text>
</svg>

Unfortunately, this function does not report css-transform at all. So, I
replaced it by mPaintTransfom, which is passed from the caller. So now it's the
caller's responsibility to pass a UserSpace-To-DeviceSpace transform into
nsFilterInstance. And, we actually change the meaning of mPaintTransform in this
patch. Before this patch, mPaintTransform means css-to-dev-px scaling transform;
After this patch it means "userspace-to-filterspace-scaling * css-to-dev-scaling"
transform.

All the other modifictions are to respect the change in
nsFilterInstance::ComputeUserSpaceToFilterSpaceScale.

MozReview-Commit-ID: LwNUAMo98M

--HG--
extra : rebase_source : eaae0570dcc0b8dea39f5d4b87f5e2920509053d
2017-02-07 11:51:34 +08:00
cku
0faeebe858 Bug 1224207 - Part 6. Move GetCSSPxToDevPxMatrix to nsSVGUtils. r=mstange
To use GetCSSPxToDevPxMatrix in nsFilterInstance, pull this untility function down
to nsSVGUtils; Otherwise, we have to include nsSVGIntegrationUtils header in
nsFilterIntance, which is ok but not good I think.

MozReview-Commit-ID: 6SGtwj4EE1S

--HG--
extra : rebase_source : ff6c6173c599afe630aa8b16330a0d1fc667ced8
2017-01-24 23:22:43 +08:00
cku
36512021da Bug 1224207 - Part 5. Fine tune nsFilterInstance::BuildSourcePaint. r=mstange
1. Rename gfx->sourceCtx.
2. Since sourceCtx is discarded immidiately, there is no need of save/restore.

MozReview-Commit-ID: CM2MMBYWp3W

--HG--
extra : rebase_source : 059f205b65632984cfaed535348ae702501d10d8
2017-01-24 23:10:31 +08:00
cku
1ac1d6737d Bug 1224207 - Part 4. Move internal used member functions into private section. r=mstange
MozReview-Commit-ID: 1ciHcGFd5yU

--HG--
extra : rebase_source : 33eebdaac828d6f9551ed8ee38e55cd2e1f51e19
2017-01-24 23:04:20 +08:00
cku
9693ed3b8b Bug 1224207 - Part 3. Remove unused parameters of nsFilterInstance's member functions. r=mstange
MozReview-Commit-ID: 4QcutMJveUy

--HG--
extra : rebase_source : 3467bb2e24630394e9b122b15c3824a24fb5b76b
2017-01-24 00:27:55 +08:00
cku
b3bfa5feb7 Bug 1224207 - Part 2. Fine tune RegularFramePaintCallback. r=mstange
1. Pass offset in device pixel unit instead of app unit.
2. Keep old context of the basic manager before replacing.

MozReview-Commit-ID: IoYFTU35aw6

--HG--
extra : rebase_source : 03c3b70c2c7f93acd1654fd4eefba602bfa2974d
2017-01-23 02:51:23 +08:00
cku
78af925e0a Bug 1224207 - Part 1. Split SetupContext into ComputeEffectOffset and TranslateToUserSpace. r=mstange
We need ComputeEffectOffset along in the following patch.
MozReview-Commit-ID: GoIZ07IqoQ3

--HG--
extra : rebase_source : d8750a067e436912643f351737d0bdb392036c50
2017-01-23 02:36:41 +08:00
Boris Chiou
8372c2c7f8 Bug 1335942 - Part 6: Implement GetScaleValue for RawServoAnimationValue. r=hiro,manishearth
MozReview-Commit-ID: GnaS44gWmm2

--HG--
extra : rebase_source : 58ee6837c730fd7e54b75e52e48b3f77c8cb805a
2017-02-06 17:54:49 +08:00
Boris Chiou
93878e807e Bug 1335942 - Part 5: Add AnimationValue::GetScaleValue(). r=hiro
Move the common part of GetScaleValue into nsStyleTransformMatrix, and add a
new method, GetScaleValue, on AnimationValue, which can get the scale value from
StyleAnimationValue or RawServoAnimationValue.

MozReview-Commit-ID: 4spi1LkZrWP

--HG--
extra : rebase_source : 81e352edb85c9abb16fb0ef2780ff27c4f264709
2017-02-06 16:32:21 +08:00
Boris Chiou
03d760be1b Bug 1335942 - Part 4: Support transform in SetAnimatable. r=hiro,manishearth
MozReview-Commit-ID: 97aTuUNa1RT

--HG--
extra : rebase_source : 7af2a826bafad0e93b9101a6bd01231311154e23
2017-02-08 11:36:41 +08:00
Boris Chiou
4fdebcb4a3 Bug 1335942 - Part 3: Use AnimationValue as the argument in layers::SetAnimatable. r=hiro,manishearth
MozReview-Commit-ID: 4XnLL6I291q

--HG--
extra : rebase_source : 1edb2bbe678f6ecb900945d8cacb776c138fa834
2017-02-08 11:31:15 +08:00
Boris Chiou
155c2acd50 Bug 1335942 - Part 2: Use mozilla::AnimationValue in AnimationPropertySegment. r=hiro,manishearth
MozReview-Commit-ID: L6U1A223jsa

--HG--
extra : rebase_source : 26d8ec4386443d6526fed2f4926c6e4519e6bbd0
2017-02-04 13:57:08 +08:00
Boris Chiou
13d39b9757 Bug 1335942 - Part 1: Introduce mozilla::AnimationValue. r=hiro,manishearth
Currently, we have StyleAnimationValue for Gecko and
RawServoAnimationValue for Servo, and use this struct to wrap them to
avoid the duplicated code.

MozReview-Commit-ID: ATDBSCOX2C5

--HG--
extra : rebase_source : 85991ef5e23a445ae6302264508d1c06a46c0e29
2017-02-08 11:00:36 +08:00
Carsten "Tomcat" Book
775c0b6d2b Merge mozilla-central to mozilla-inbound 2017-02-07 14:14:38 +01:00
Carsten "Tomcat" Book
092e5dc5f1 merge mozilla-inbound to mozilla-central a=merge 2017-02-07 14:08:46 +01:00
Cameron McCormack
ba8e011576 Backed out changeset c5d678ebcbcd (bug 1334876) for test failures.
MozReview-Commit-ID: 7lAhjbEiSsd
2017-02-07 11:58:28 +08:00
Cameron McCormack
2a1b706896 Bug 1334876 - Go through the event loop to dispatch FontFaceSet events. r=bz
MozReview-Commit-ID: BX2I7tb25YM
2017-02-07 10:29:27 +08:00
Wes Kocher
2c901c4bcb Merge m-c to inbound, a=merge
MozReview-Commit-ID: FrOiBMr2DHX
2017-02-06 17:51:48 -08:00
Wes Kocher
848c29538a Merge inbound to central, a=merge
MozReview-Commit-ID: 2yQjOIMCCiO
2017-02-06 17:45:21 -08:00
Mason Chang
2618be0754 Bug 1322897. Part 2: Reftest fuzzing for skia dwrite grayscale fonts. r=lsalzman 2017-02-06 10:32:04 -05:00
Tom Tung
e185f7bc4c Bug 1220936 - Flush console report to innerWindowID by using nsIDocument and nsILoadGroup. r=bkelly. 2017-02-06 09:19:34 +08:00
cku
08b8ea9a74 Bug 1334554 - Handle the return value of nsFilterInstance::PaintFilteredFrame r=mstange
MozReview-Commit-ID: 79gddAmRjnp

--HG--
extra : rebase_source : a5652db96f271c5e367aedda1e2e607bec404fe4
2017-01-28 02:54:38 +08:00
Shih-Chiang Chien
90ec406aed Bug 1335888 - disable native theming for a mochitest's input field, so its click targets can be predictable. r=dholbert
MozReview-Commit-ID: 7NZwSG0grz

--HG--
extra : rebase_source : 2bdb9c4d36de84a6024c46d33c63f7db5ff8f224
2017-02-02 11:42:51 +08:00
Cameron McCormack
caa1468d26 Bug 1334876 - Go through the event loop to dispatch FontFaceSet events. r=bz
MozReview-Commit-ID: 5L9JEtJoaxF
2017-02-07 18:49:28 +08:00
Xidorn Quan
13522a9c3b Bug 1328512 followup 2 - Update expectation of style system tests for stylo. DONTBUILD
MozReview-Commit-ID: 1n2zN1tY79p

--HG--
extra : source : 3f4cfb7fa96300a8abbac0fa64380753fcd78106
2017-02-07 16:45:52 +11:00
Jonathan Watt
ffbfd1bf90 Bug 1333543 - Fix crash in nsRangeFrame::GetValueAtEventPoint on linux. r=mstange 2017-01-17 19:20:37 +00:00
Jonathan Watt
ed3cbebef6 Bug 1335610 - Revert bogus code added to SVGGeometryFrame::PaintSVG in bug 1325865. r=longsonr 2017-01-16 10:04:16 +00:00
Jonathan Watt
28ad9afcfa Bug 1058040, part 11 - Convert DrawImage/DrawImageInternal's SVGImageContext param from pointer to Maybe<>. r=dholbert 2017-01-11 01:48:29 +00:00
Jonathan Watt
e61c653d41 Bug 1058040, part 10 - Allow SVGImageContext to store an SVGContextPaint and have VectorImage propagate it. r=dholbert 2017-01-11 01:48:29 +00:00
Jonathan Watt
527549c4f0 Bug 1058040, part 9 - Add an SVGContextPaint subclass for inheriting context paint into SVG-as-an-image. r=dholbert 2017-01-10 10:28:11 +00:00
Jonathan Watt
43ca85cc9a Bug 1058040, part 8 - Make AutoSetRestoreSVGContextPaint::Init's SVGContextPaint argument const. r=dholbert
This patch is needed because in a later patch we need to pass
VectorImage::Draw's const SVGImageContext to
AutoSetRestoreSVGContextPaint::Init.
2017-01-09 19:12:03 +00:00
Jonathan Watt
de51524080 Bug 1058040, part 7 - Make SVGContextPaint a ref counted class. r=dholbert 2017-01-09 19:12:02 +00:00
Jonathan Watt
927266bad9 Bug 1058040, part 6 - When copying SVGImageContexts use the copy ctor. r=dholbert
Prior to this patch whenever we wanted to pass on a modified SVGImageContext
we would pass on a new object initialized with some of the data of the object
we were given and with the new data we wanted to change.  Unfortunately we
were sometimes failing to faithfully copy member data that we do not want
to modify (because of default arguments).  This patch fixes that by making us
fully copy the object we were given using its copy constructor and then
explicitly override the data we want to change.
2017-01-09 19:12:02 +00:00
Phil Ringnalda
3637182ef8 Merge m-c to m-i 2017-02-05 12:58:04 -08:00
Phil Ringnalda
da9b5c53b7 Merge m-i to m-c, a=merge 2017-02-05 12:56:39 -08:00