Commit Graph

14373 Commits

Author SHA1 Message Date
sotaro
23069babc9 Bug 1401609 - Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation r=jrmuizel,mstange 2017-10-28 19:07:27 +09:00
Sebastian Hengst
841ee307e6 merge mozilla-central to autoland. r=merge a=merge 2017-10-27 23:32:15 +02:00
Daniel Holbert
680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Daniel Holbert
a7f82bed77 Bug 1412346 part 4: Update stale MPL license boilerplate on a few files in layout. r=jfkthame
We have a fair number of files that have a particular stale version of the MPL
boilerplate.  (It was probably originally correct, and then the official
boilerplate changed, and the stale MPL boilerplate continued to propagate via
copypasting from neighboring files into newly-added files.)

This patch updates this stale MPL text (and *only* the MPL text) to the latest
version, which can be found at https://www.mozilla.org/en-US/MPL/headers/ and
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

MozReview-Commit-ID: 8WeBb8b0uRo

--HG--
extra : rebase_source : 2c3aa8d07ba23714501c9e26ad03625aeab36a7a
2017-10-27 10:09:35 -07:00
Sebastian Hengst
d10e26c913 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-27 00:00:25 +02:00
Attila Craciun
252daa8e0a Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-10-26 12:32:58 +03:00
Attila Craciun
0cab95ab0f Merge inbound to mozilla-central r=merge a=merge 2017-10-26 12:20:45 +03:00
Hiroyuki Ikezoe
abef3a3a96 Bug 1409166 - Check whether the target animating frame is scrolled out of each scrollable ancestor. r=birtles,mattwoodrow
Before this patch, we had been checking each scrollable ancestor is scrolled
out of its scrollable ancestor.  So if the target animating frame is at the
bottom of its scrollable parent and if half of the scrollable parent is
scrolled out of its ancestor, the animating frame was considered as 'in-view'.

MozReview-Commit-ID: BDueuF3cT4I

--HG--
extra : rebase_source : de1dead6e67a44691887c8364be23734c3b1adef
2017-10-26 18:09:32 +09:00
Jonathan Kew
793b63713b Bug 1408612 - patch 1 - Use single-precision floats more consistently for glyph position computations when drawing text. r=jrmuizel 2017-10-24 09:59:09 +01:00
Jesse Ruderman
b65304b81c Bug 1234701 - Add crashtests. r=me 2017-10-25 14:58:32 -04:00
Sebastian Hengst
443416f881 Merge mozilla-central to autoland. r=merge a=merge 2017-10-26 00:39:55 +02:00
Kartikaya Gupta
bec5f23434 Bug 1411238 - Make APZ test logging work in layers-free WR mode. r=botond
Most of this change is just fiddling with function signatures so that they take
a LayerManager* instead of a Layer* (or in some cases, both). This allows
the WebRender codepaths to pass a WebRenderLayerManager* instead of having to
produce a Layer* which it doesn't have.

MozReview-Commit-ID: Fb0C8OUVDin

--HG--
extra : rebase_source : e4c3324cfa20c295db85d5c09df8d8d77865bb6a
2017-10-25 13:22:04 -04:00
Alexis Beingessner
168deb7b2b Bug 1401653 - fixup webrender text-decoration bindings. r=jrmuizel
This does 3 things that were all a bit too intermixed to split out cleanly:

1. Teaches TextDrawTarget to handle rectangular clips (while also completely
forbidding other ones). This is necessary to handle how gecko "overdraws"
decorations with clips to create the illusion of continuous lines when they're
actually made out of multiple lines, possibly from different display items
with different lines. Previously gecko *was* handing these clips to
TextDrawTarget to use these clips, but we were just ignoring them.

This is also necessary work to support partial glyphs natively (which apply
rectangular clips to glyphs). Also note that this currently causes a bug
in webrender if combined with zero-blur shadows, but it's not a regression
since we already mishandle clipped decorations. I will work on fixing this
upstream.

2. Changes the intermediate representation of lines from the old webrender
format to a rect-based one. This is in preperation for webrender adopting
that format in a future update.

3. Changes the way wavy lines are processed, correcting some errors in the
old wavy line bindings that lead to them being positioned incorrectly. Also
introduces a wavyLineThickness property that the will be required in a
future webrender update. Wavy lines are unlike any other line, so it's
ultimately desirable to distinguish them.

The net result of these changes is that a companion upstream change (webrender#1923)
will make decoration rendering nearly identical to gecko, and much nicer.
However the clipped shadows issue will need to be seperately resolved before
actually closing this issue.

MozReview-Commit-ID: 6O2wLA6bU3C

--HG--
extra : rebase_source : 17254c45145229b75f77f87f85874e66e6edd05e
2017-10-24 12:44:38 -04:00
Emilio Cobos Álvarez
30066ab880 Bug 1411478: Use GetNextSibling instead of GetChildAt in nsHTMLFrameSetFrame::Init. r=xidorn
MozReview-Commit-ID: 7MeMlwsNJVY

--HG--
extra : rebase_source : 5a5878dc5cde11c8afd08c1b4c8e5e935a3712e4
2017-10-25 10:20:58 +02:00
Emilio Cobos Álvarez
69265f95e6 Bug 1411478: Deindent some code in nsHTMLFrameSetFrame::Init. r=xidorn
MozReview-Commit-ID: 4QJu81w4Vlz

--HG--
extra : rebase_source : 9a283ab1e43ca4549e613b8c3c5bd66fbb4d0fc7
2017-10-25 10:18:41 +02:00
Attila Craciun
1fc19f42dc Backed out 1 changesets (bug 1401653) for failing no matching function for call in src/layout/generic/TextDrawTarget.h:143:43 r=backout on a CLOSED TREE.
Backed out changeset 5055d2703f2f (bug 1401653)
2017-10-25 16:32:17 +03:00
Alexis Beingessner
7d07e76ce2 Bug 1401653 - fixup webrender text-decoration bindings. r=jrmuizel
This does 3 things that were all a bit too intermixed to split out cleanly:

1. Teaches TextDrawTarget to handle rectangular clips (while also completely
forbidding other ones). This is necessary to handle how gecko "overdraws"
decorations with clips to create the illusion of continuous lines when they're
actually made out of multiple lines, possibly from different display items
with different lines. Previously gecko *was* handing these clips to
TextDrawTarget to use these clips, but we were just ignoring them.

This is also necessary work to support partial glyphs natively (which apply
rectangular clips to glyphs). Also note that this currently causes a bug
in webrender if combined with zero-blur shadows, but it's not a regression
since we already mishandle clipped decorations. I will work on fixing this
upstream.

2. Changes the intermediate representation of lines from the old webrender
format to a rect-based one. This is in preperation for webrender adopting
that format in a future update.

3. Changes the way wavy lines are processed, correcting some errors in the
old wavy line bindings that lead to them being positioned incorrectly. Also
introduces a wavyLineThickness property that the will be required in a
future webrender update. Wavy lines are unlike any other line, so it's
ultimately desirable to distinguish them.

The net result of these changes is that a companion upstream change (webrender#1923)
will make decoration rendering nearly identical to gecko, and much nicer.
However the clipped shadows issue will need to be seperately resolved before
actually closing this issue.

MozReview-Commit-ID: 6O2wLA6bU3C

--HG--
extra : rebase_source : 98da45bc7f2eaabd63ae226c505cb1580b5c8500
2017-10-24 12:44:38 -04:00
Attila Craciun
7bcf901c3b Merge inbound to mozilla-central r=merge a=merge 2017-10-25 12:30:28 +03:00
Matt Woodrow
07aad81564 Bug 1405146 - Don't make the decision to build nsDisplayWrapList based on the number of child items, since this can vary when doing partial display list builds. r=mstange
--HG--
extra : rebase_source : 78e330fc4ffe589c8b831f470cbd3858f0f5ec00
2017-10-25 14:17:25 +13:00
Matt Woodrow
9c1811b258 Bug 1411426 - When deleting a frame, make sure we invalidate any frames that had display items dependent on us so that they get rebuilt. r=miko 2017-10-25 12:15:11 +13:00
Matt Woodrow
a512274cdf Bug 1411411 - Clip TopLayer display items to the visible area, not the display list building area. r=miko 2017-10-25 09:57:36 +13:00
Kartikaya Gupta
eae58bd759 Bug 1409446 - Modify the extra-clip flag to instead track more useful information. r=ethlin,mstange
Instead of just keeping a count of how many "extra clips" (aka
out-of-band clips) we have pushed, track more complex information for
each clip. In particular, track the display item's normal clip chain, as
well as the clip id of the extra clip that was pushed. This will be
needed to override clip cache information in the next patch.

MozReview-Commit-ID: AWKDTkelhyL

--HG--
extra : rebase_source : 379e38550cf45d54862850f6c4aad0ac488f6ca9
2017-10-24 15:45:59 -04:00
Daniel Holbert
828b7077b9 Bug 1379332: When computing abspos CB content-box size, don't bother subtracting borderpadding if CB is a 0-sized child of a XUL-collapsed frame. r=mats
If border & padding were ignored for sizing the containing block (which can
happen, if the containing block is a chlid of a XUL-collapsed frame), then we
don't need to subtract border & padding when computing the frame's content-box
size for its abspos descendants.

MozReview-Commit-ID: JGnzShl8m67

--HG--
extra : rebase_source : 1cead4ce6b403af634c8f9bde0852dce4ee7edc5
2017-10-20 16:40:43 -07:00
cku
3ccdb4a184 Bug 1402157 - Disassociate a frame with an image loader if that frame indeed has any image request. r=heycam
Before enable stylo, an image request is always been resolved before the
creation time of that request object[1].
As a result, in AddAndRemoveImageAssociations, we always associate the request
objects of style images with the given frame(since they are resolved).

After enable stylo, an image request is resolved after that object been created[2].
We may hit the assertion reported in this bug by the following senario:
1. AddAndRemoveImageAssociations is called. The image request is not resolved
   yet, so we do not associate that frame with that image request.
2. That image request is been resolved via nsStyleXXXX::FinishStyle.
3. Style changed. AddAndRemoveImageAssociations is called again. We try to
   dis-associate the frame with image request and hit this assertion since
   this frame is not associate with any image request at step #1.

[1]
We use this constructor if the backend is gecko
https://hg.mozilla.org/mozilla-central/file/5ed2f3c94155/layout/style/nsStyleStruct.cpp#l2131
[2]
We use this constructor if the backend is stylo
https://hg.mozilla.org/mozilla-central/file/5ed2f3c94155/layout/style/nsStyleStruct.cpp#l2147
MozReview-Commit-ID: 22trSbdogUH

--HG--
extra : source : 835239788497126e3be33a0dbbb0543e94fc9f18
extra : amend_source : b3e94ac2c639d89bac4745350f88d3383e6faf76
2017-10-13 14:03:44 +08:00
Ethan Lin
d79d047899 Bug 1411468 - Make display marker able to cross documents. r=mattwoodrow
MozReview-Commit-ID: GuHNVxWFuLm
2017-10-25 18:10:04 +08:00
Ethan Lin
58c22f74cd Bug 1411860 - Create nsDisplaySubDocument unconditionally. r=mattwoodrow
MozReview-Commit-ID: ELXI1SYZTa4
2017-10-27 14:03:32 +08:00
Sebastian Hengst
2db001a014 Backed out 2 changesets (bug 1411860, bug 1411886) for failing reftests layout/reftests/bugs/409084-1{a,b}.html on OS X. r=backout on a CLOSED TREE
Backed out changeset be44e8cd8503 (bug 1411886)
Backed out changeset 8c6307a06e78 (bug 1411860)
2017-10-26 17:35:16 +02:00
Ya-Chieh Wu
064ab5680a Bug 1410826 - Check IsPrimaryFrame() first in nsIFrame::HasAnimationOfTransform. r=mats
MozReview-Commit-ID: BFJGmr19ESL
2017-10-25 20:11:00 -04:00
Ethan Lin
7c3b9b1155 Bug 1411860 - Create nsDisplaySubDocument unconditionally. r=mattwoodrow
MozReview-Commit-ID: ELXI1SYZTa4

--HG--
extra : rebase_source : 601f82f054edc4e54470ea80a316aa41edc2e1f4
2017-10-26 17:36:54 +08:00
Makoto Kato
dd8a2d7d7c Bug 1405550 - Adjust assertion count of crash tests for stylo on Android. r=emilio
MozReview-Commit-ID: 8ydIYqBXFjY

--HG--
extra : rebase_source : dcf5c7b0319d6ecc1c21e376ea5f2104f2091b09
2017-10-20 17:23:08 +09:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
e97adfa0ce Bug 1404181 - Part 27: Add some retained-dl debugging tools. r=mstange
MozReview-Commit-ID: EQO1lAbUnpY

--HG--
extra : rebase_source : a11bfd8055bd83e9215211a4e48d43735d7010ba
2017-10-21 16:54:24 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
803900fbb1 Bug 1404181 - Part 25: Force rebuilding when we detect changes to the displaylist that didn't have invalidations. Also forces rebuilding of the canvas frame every time so that AddExtraBackgroundItems produces a consistent result. r=mstange
MozReview-Commit-ID: KBganOiuRGK

--HG--
extra : rebase_source : e816a2c1bd50430118fea2d02307dddd38ab0ecf
2017-10-21 16:51:22 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
efab685984 Bug 1404181 - Part 24: Rebuild all display items when we encounter a blend mode, since we can't easily track changes to whether we need the blend container or not. r=mstange
MozReview-Commit-ID: 9vw1vgDUp60

--HG--
extra : rebase_source : 13e83b57da66c78e0a50268b1bb760e0f57399bf
2017-09-29 10:56:31 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
4dc75f2d67 Bug 1404181 - Part 23: Only rebuild items within a displayport when the displayport changes, rather than rebuilding the whole document. r=mstange
MozReview-Commit-ID: IYEPCKSvtBY

--HG--
extra : rebase_source : f6b65a88dcd82b7828af371874bf3adde2af688f
2017-09-29 10:54:15 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
3fa03bb34e Bug 1404181 - Part 22: Make sure we mark frames as modified any time they change position or style data and make sure we don't accidentally mark the root as being modified when we don't need to. r=mstange
MozReview-Commit-ID: J5ov5cwvvrE

--HG--
extra : rebase_source : 4eadb82e5e0b3264cc7d6aeef2693ce8aea69b43
2017-09-29 10:51:49 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
6b56c65932 Bug 1404181 - Part 21: Add RetainedDisplayListBuilder with the code for doing partial display list builds, and merging it into an existing display list. r=mstange
MozReview-Commit-ID: 8pZG5xq3nSB

--HG--
extra : rebase_source : d17c49b0602d750cc6d0f018f88745cd0ff4d0d2
2017-10-18 16:09:07 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
396cd36361 Bug 1404181 - Part 20: Add code to override the display list builder dirty area for a stacking context or displayport. This lets us restrict partial building to within one of these contexts. r=mstange
MozReview-Commit-ID: Dn46eaqeyPX

--HG--
extra : rebase_source : b27538ae5bef1b468ed6d8d3ac403e34f54f87c0
2017-09-28 14:23:03 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
b8eada5d39 Bug 1404181 - Part 19: Some items don't use style data from mFrame, so add overrides that let us check the right frame when determining if an item is invalid. r=mstange
MozReview-Commit-ID: Cvsf4xRFucp

--HG--
extra : rebase_source : 3c97c76be0619a05db803bacac504a3ef74a8fe4
2017-09-28 14:15:15 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
57c2ad8249 Bug 1404181 - Part 17: Track will-change contributions per-frame so that can remove contributions from invalidated frames. r=mstange
MozReview-Commit-ID: 54LwXKkjfFX

--HG--
extra : rebase_source : da30652842727f5b22174c3c5059a01b48a36a59
2017-09-28 13:53:25 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
2cc4d6f2d0 Bug 1404181 - Part 15: Add the notion of 'modified' frames, that need new display items built for them (and all their descendants). r=mstange
MozReview-Commit-ID: 66vbfSDeOpK

--HG--
extra : rebase_source : b490e72e7061e64abf169db55731fe9424d6b442
2017-09-28 14:20:13 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
0488542fd6 Bug 1404181 - Part 11: Factor out PresShell paint count code se we can still call it without needing to build the display items. r=mstange
MozReview-Commit-ID: Ai4P92dd1zR

--HG--
extra : rebase_source : f6d23e5500316471e2c22d79babc128961e0d1c6
2017-09-28 08:41:57 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
db37a82e0b Bug 1404181 - Part 9: Add code for detecting if display list building happened for a given frame, and use it to add some tests for retained display lists. r=mstange
MozReview-Commit-ID: AIb0AWU7iiS

--HG--
extra : rebase_source : f6277bbe2c8ffd571e32bb886903243df655918e
2017-09-27 17:17:11 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
17aef36fd6 Bug 1404181 - Part 7: Add a way to check if existing painted items might need to be redrawn for a sync decode. r=mstange
MozReview-Commit-ID: 98qxakaKolI

--HG--
extra : rebase_source : 079fe441ed82ef59b4300fc9d1a8ce5f0cf51b7b
2017-09-27 17:03:38 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
7aeb11cd77 Bug 1404181 - Part 6: Compute and store the frame that contributed the style data for backgrounds so that we can invalidate the display item when either frame changes. r=mstange
MozReview-Commit-ID: 7Q3J6AH0Ipg

--HG--
extra : rebase_source : 540b2870446b773cb36bd20ccbe584b3fb06f693
2017-10-04 15:02:45 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
fd73cf2b01 Bug 1404181 - Part 5: Store an annotated list of rectangles in nsDisplayLayerEventRegions so that we can remove contributions that belong to invalidated frames. r=mstange
MozReview-Commit-ID: G2kTPnrhxs4

--HG--
extra : rebase_source : 9902d33d1e7e28bfd1d6a5ed4e780262fce0b749
2017-10-21 21:01:50 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
df083508bc Bug 1404181 - Part 4: Add code to save and restore changes made to display items during FrameLayerBuilder so that we can use them again. r=mstange
MozReview-Commit-ID: 23WqS2Xv3Qx

--HG--
extra : rebase_source : 37a7ecbb256df5a726363dd1c5478c94dd08d6ce
2017-09-27 16:55:11 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
b1280ebc2c Bug 1404181 - Part 3: Track the current set of alive display items on nsIFrame. r=mstange
MozReview-Commit-ID: BgB1XBMpJ8t

--HG--
extra : rebase_source : 2528eeadfbd0edca54efde8f5d427abd8e29f16d
2017-09-27 15:35:29 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
31e9b3f8cd Bug 1404181 - Part 2: Track a 'visible' rect for display list building as well as the 'dirty' rect, so that we can do partial building by specifying a smaller 'dirty' rect. r=mstange
MozReview-Commit-ID: 7DUV9dl4zb1

--HG--
extra : rebase_source : e7bf5eacba44ce9cf77c55d623edef33a85f0492
2017-10-04 14:28:38 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
1f861fe60c Bug 1404181 - Part 1: Make AnimatedGeometryRoot/ActiveScrolledRoot retained and refcounted on the heap. r=mstange
MozReview-Commit-ID: Gcm5pOAdCeI

--HG--
extra : rebase_source : c5b3df4e683b98f15fefa65b7c9b10bd47acb7ed
2017-09-27 12:24:42 +13:00
Markus Stange
49821228fb Bug 1365528 - Respect mDisableSubpixelAA on nsDisplayTextOverflowMarker items. r=mattwoodrow
MozReview-Commit-ID: HictqQFOvbK

--HG--
extra : rebase_source : 29b422f66ec673ae49eb370940df353318072523
2017-10-20 15:21:54 -04:00