Commit Graph

17290 Commits

Author SHA1 Message Date
Iris Hsiao
65ea740eda Merge mozilla-central to mozilla-inbound 2017-05-22 11:53:00 +08: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
Emilio Cobos Álvarez
51e1c0b54e Bug 1366142: Ignore reentrant change hints without primary frame. r=heycam
MozReview-Commit-ID: 4bF7M0KMhNL

--HG--
extra : rebase_source : 5ad2d1a21e8b1110345b3b2c350de0f1011e61dc
2017-05-20 14:35:37 +02:00
Hiroyuki Ikezoe
49bc653390 Bug 1364799 - Add a new TraversalRestyleBehavior that represents the traversal is triggered by CSS rule changes. r=birtles
And propagate the new flag to servo if mRestyleForCSSRuleChanges is set.

MozReview-Commit-ID: HRZ5duYgciF

--HG--
extra : rebase_source : 65528ea0dfa21e84bb9184a849c72a5c322e306b
2017-05-21 08:16:26 +09:00
Hiroyuki Ikezoe
665da78452 Bug 1364799 - Add PostRestyleEventForCSSRuleChanges to distinguish PostRestyleEvent. r=birtles,heycam
The difference is that PostRestyleEventForCSSRuleChanges sets
mRestyleForCSSRuleChanges true. In a subsequent patch,
we propagate a new TraversalRestyleBehavior flag to servo side
if mRestyleForCSSRuleChanges is true.

MozReview-Commit-ID: IKsBbm09uT9

--HG--
extra : rebase_source : 5014c0a978f98e81543ec7766d2daa415317069c
2017-05-21 08:16:26 +09:00
Bobby Holley
74189ef7bc Bug 1329876 - Don't maintain a TreeMatchContext for Servo. r=bz 2017-05-20 22:00:01 +02:00
Manish Goregaokar
9ac08154b7 Bug 1362599 - Remember which languages were used and force-cache when reset; r=heycam 2017-05-20 21:48:04 +02:00
Manish Goregaokar
bf23cb1d19 Bug 1362599 - Guard against threadsafety issues in lang group stuff. r=heycam 2017-05-20 21:44:37 +02:00
Sebastian Hengst
af0f9643cf merge mozilla-central to autoland. r=merge a=merge 2017-05-20 18:53:36 +02:00
Sebastian Hengst
79f625ac56 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EqC7wKnn6Jt
2017-05-20 18:48:53 +02:00
Hiroyuki Ikezoe
93e3eef4cb Bug 1341102 - Update test expecrations. r=me
https://github.com/servo/app_units/pull/26#issuecomment-301931183
2017-05-20 15:26:55 +09:00
Wes Kocher
8b07ba2a07 Merge m-c to inbound a=merge
a=release IGNORE BAD COMMIT MESSAGES
2017-05-19 15:18:51 -07:00
Olli Pettay
2d735273d9 Bug 1366250, don't flush layout when calling element.focus() on already focused element. Ensure layout is flushed after changing input.type, r=ehsan
--HG--
extra : rebase_source : 294d0220cc3c2b6be38566ff28722c5e9acc87a9
2017-05-19 23:20:48 +03:00
Boris Chiou
38215cedea Bug 1334036 - Part 11: Trigger animation-only restyle when we handle an event with coordinates. r=birtles,heycam
We need to request an animation-only restyle to force flush all throttled
animations on main thread when we handle an event with coordinates
(e.g. mouse event).

MozReview-Commit-ID: KkjeQVsLgTl

--HG--
extra : rebase_source : 314408062e719e9f52df9a6726e2f3dad817bbef
2017-05-19 16:16:41 +08:00
Boris Chiou
731ab38439 Bug 1334036 - Part 10: Return AnimationValue for BaseStyle. r=hiro
We need to retrieve the correct base style for Servo backend, so change
the return value to AnimationValue and update
KeyframeEffectReadOnly::BaseStyle().

MozReview-Commit-ID: 9FL3h1DLoJt

--HG--
extra : rebase_source : 42284c5fe8b8135910cde44b0815eb475ca2f1cc
2017-05-10 11:06:19 +08:00
Boris Chiou
9a42bdba22 Bug 1334036 - Part 8: Add AddLayerChangesForAnimation in ServoRestyleManager. r=birtles
Some changes to animations don't affect the computed style and yet still
require the layer to be updated. Therefore, we also need to call
AddLayerChangesForAnimation in ServoRestyleManager. In this patch, we
factor out this function from GeckoRestyleManager, so we can reuse it.

MozReview-Commit-ID: LL7D1oGS65l

--HG--
extra : rebase_source : cd028a3d8f5dc251ec6615918a0f9569f0af44f5
2017-05-02 14:03:16 +08:00
Emilio Cobos Álvarez
b0e5579ecb Bug 1364871: Revert workaround added in bug 1328319. r=heycam
MozReview-Commit-ID: 804TV5qW3Xh

--HG--
extra : rebase_source : ccd88cde5128551e799302a11bbe98be89698718
2017-05-20 03:26:24 +02:00
Emilio Cobos Álvarez
cd98f069a2 Bug 1364871: Restyle ::backdrop too. r=heycam
MozReview-Commit-ID: BGWRiaeZiD8

--HG--
extra : rebase_source : a3ebd025ca9a9d7a03a5aeec95e0d40791c9af7c
2017-05-19 23:59:23 +02:00
Emilio Cobos Álvarez
cbebceac22 Bug 1364871: Add a function to update frame pseudo-element styles during the post-traversal, and restyle bullet frames. r=heycam
MozReview-Commit-ID: 9m0jqmxjOb6

--HG--
extra : rebase_source : 2d0b8dbcf451b8e9bc69759681dbce1f35ad28c5
2017-05-19 23:58:22 +02:00
Ryan VanderMeulen
96eca59299 Merge m-c to autoland. a=merge 2017-05-19 12:26:48 -04:00
Emilio Cobos Álvarez
5a98022984 Bug 1365902: Make ServoStyleSet::RebuildAllStyleData async. r=heycam
MozReview-Commit-ID: D9Ri4gO3F6G

--HG--
extra : rebase_source : 7bcd208994a7140eadc54fa32f209643a8570b72
2017-05-17 18:33:32 +02:00
cku
d528aa4d56 Bug 1205475 - Part 2. Prevent multiple EffectSet property look up. r=mattwoodrow
Functions like BuildDisplayListForStackingContext or BuildDisplayListForChild look
up EffectSet property several times in callees, such as IsTransformed() or
HasOpacity(), which is time wasting.

We should look up EffectSet just once, and pass the found one to all callees
that need it.

MozReview-Commit-ID: GZywm2UcpU7

--HG--
extra : rebase_source : 21f5dd0076a90d876a6df35eee2b886844b44f0a
2017-05-17 15:13:12 +08:00
cku
19af87ab38 Bug 1205475 - Part 1. Hold MAY_HAVE_OPACITY_ANIM/ MAY_HAVE_TRANSFOMR_ANIM information in EffectSet. r=mattwoodrow
FRAME_STATE_BIT of nsFrame and nsINode::mBoolFlags are both full, we need to
find another place to hold MAY_HAVE_OPACITY information.

nsINode::mSlots might be a choice, but since we always use this information in
painting, memory footprint of nsINode will become larger after this change.

So I decide to put this information right in EffectSet. The drawback of storing
this information in EffectSet is, although unnecessary Effect look-up is
prevented, we still need EffectSet property look-up in each time
HasOpacityInternal call, so we need Part 2.

Conceptually, Part 1 and Part 2 are independent.

MozReview-Commit-ID: 6sfBFSHjxQb

--HG--
extra : rebase_source : 394141cec3b44bb352297a0add8f9763d815bddb
2017-05-16 19:11:04 +08:00
Jonathan Kew
a0fe53386a Bug 1366623 - Ensure we don't continue using a stale BidiDataProperty after dynamic content changes make it obsolete. r=dholbert 2017-05-23 15:21:58 +01:00
Wes Kocher
0a5ec26ac6 Merge inbound to central, a=merge
UPGRADE_NSS_RELEASE

MozReview-Commit-ID: 9BuuGYyJ3RJ

--HG--
extra : amend_source : 57de84460e0ace13892ff1623451b9b9be8eaeeb
2017-05-17 14:48:30 -07:00
Jonathan Kew
6d345e8ee2 Bug 1365356 - patch 2 - Allow callers to pass an nsStyleDisplay in to FinishAndStoreOverflow, to avoid internal StyleDisplay() calls. r=mats 2017-05-17 15:47:31 +01:00
Ryan VanderMeulen
4b4b439b5e Merge inbound to m-c. a=merge
CLOSED TREE
2017-05-16 20:10:26 -04:00
Carsten "Tomcat" Book
c8ef78fe63 Merge mozilla-central to mozilla-inbound on a CLOSED TREE 2017-05-16 15:08:58 +02:00
Emilio Cobos Álvarez
66f11e5df2 Bug 1364412: Simplify Servo_HasAuthorSpecifiedRules looking at the pseudo style. r=bholley
MozReview-Commit-ID: HpV92ttZGJz
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 0f93984a7af0ac5c0e5dd479607fa500f55f7506
2017-05-12 17:51:32 +02:00
Xidorn Quan
20d42c7e16 Bug 1328319 part 9 - Don't clean up retired counter styles for stylo. r=heycam
MozReview-Commit-ID: JWBhNvtYGIB

--HG--
extra : rebase_source : be7b1ad3221df48310d18c64e3aaf76e73309f72
2017-05-15 22:18:49 +10:00
Masayuki Nakano
4a6eeab901 Bug 1354443 part.3 While nsDocumentViewer is destroying mPrintEngine, null out its pointer & transfer ownership to local var r=dholbert
MozReview-Commit-ID: ALRlOC07SY2
2017-04-28 16:25:01 +09:00
Emilio Cobos Álvarez
ab5433c222 Bug 1364824: Implement ServoRestyleManager::PostRebuildAllStyleDataEvent. r=heycam
MozReview-Commit-ID: I9HmM9ZMB2c
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 08481f2a84508ed79d544fefbf39a92cac0d5ce5
2017-05-15 09:41:42 +02:00
Xidorn Quan
8c54e3ce73 Bug 1363699 part 1 - Make named CounterStyle objects not refcounted. r=heycam
This change does the following:
* Introduce a new smart pointer called CounterStylePtr which either
  holds an AnonymousCounterStyle strongly, or a named CounterStyle
  managed by CounterStyleManager weakly, and use it to replace all
  RefPtr<CounterStyle> around the codebase.
* Rename CounterStyleManager::mCacheTable to mStyles to reflect the
  fact that it is used to manage all styles, not just for caching.
* Add a retired styles list which collect all named CounterStyle
  evicted from mStyles, and post a PostRefreshObserver to destroy
  objects in that list after next flush.
* Remove helper functions for counter style in nsStyleList and expose
  mCounterStyle directly, to make code simpler with the new pointer.

Reason for adding a new smart pointer type rather than making their
AddRef/Release behave like BuiltinCounterStyle is that, it is possible
that after a flush, some stale style structs may still be alive. They
can contain pointer to destroyed CounterStyle objects. Although the
actual content may never be accessed anymore, RefPtr may still access
the object for refcounting during destruction.

MozReview-Commit-ID: xxegwSDhNb

--HG--
extra : rebase_source : bb5443f0eb56eee51cbdfd08e0400335648610e8
2017-05-13 21:42:23 +10:00
Sebastian Hengst
feb6f6c577 Backed out changeset 19f0b1e8f287 (bug 1358710) for failing reftest aja-linear-2.html on OS X with e10s. r=backout
--HG--
rename : layout/reftests/css-gradients/aja-linear-2.html => layout/reftests/css-gradients/aja-linear-2a.html
2017-05-15 00:18:47 +02:00
Nazım Can Altınova
19a0e93729 Bug 1358710 - Unprefix -moz-linear-gradient / -moz-radial-gradient in unit tests r=dholbert
MozReview-Commit-ID: J2Tn8GKfKIN

--HG--
rename : layout/reftests/css-gradients/aja-linear-2a.html => layout/reftests/css-gradients/aja-linear-2.html
extra : rebase_source : 9c1869bddf2068cf68666e0815b8f9d9424fe76a
2017-04-24 15:54:51 +03:00
Nazım Can Altınova
d8be7ab275 Bug 1358710 - Unprefix -moz-linear-gradient / -moz-radial-gradient in unit tests r=dholbert
MozReview-Commit-ID: J2Tn8GKfKIN

--HG--
rename : layout/reftests/css-gradients/aja-linear-2a.html => layout/reftests/css-gradients/aja-linear-2.html
extra : rebase_source : 7b1ae51a435fae3782a03046ce21474b9a149f1a
2017-04-24 15:54:51 +03:00
Mats Palmgren
7da60ffe84 Bug 1359411 - Reftest. (test only: DONTBUILD)
MozReview-Commit-ID: H1y2uTW89i8
2017-05-13 21:15:03 +02:00
Emilio Cobos Álvarez
9e24a8c649 Bug 1364862: Make PostRebuildAllStyleData async. r=heycam
MozReview-Commit-ID: EM3eUP1dWwA
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 2928e4cbd12af99dde2d913bb814febec72200a0
2017-05-15 18:02:59 +02:00
Botond Ballo
d40e44859b Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP
2017-05-01 19:59:08 -04:00
Daniel Holbert
ad52211150 Bug 1344398 part 2: React to some CSS 'overflow' changes on body/html by simply calling UpdateViewportScrollbarStylesOverride() instead of reframing. r=bz,tnikkel
MozReview-Commit-ID: Lpr9aNv9hAB

--HG--
extra : rebase_source : c8cccf8e6495ab1d57f9680c07b3e43a488e8691
2017-05-10 13:53:27 -07:00
Daniel Holbert
3b750bdae1 Bug 1344398 part 1: Move presContext variable a little earlier in a nsCSSFrameConstructor method. r=tnikkel
Also, assert that this presContext is non-null (which we already implicitly
assume, when we dereference it without null-checking it).

MozReview-Commit-ID: IIYUqGQTOnb

--HG--
extra : rebase_source : 67cbf91fb2fdeb46352559fb519693d6d13d3224
2017-05-10 13:53:25 -07:00
Jeremy Chen
920934c51e Bug 1363000 - re-enable <select> related SVG crashtests. r=heycam
MozReview-Commit-ID: CXoNYeiwJpL

--HG--
extra : rebase_source : d6c3a58bf07cb557f2be0d8311a6be11f1cee35f
2017-05-12 10:52:16 +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
Ryan VanderMeulen
ff1d6f6f88 Merge m-c to autoland. a=merge 2017-05-11 11:30:47 -04:00
Sebastian Hengst
db8f56dd23 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: HWYxZeNWish
2017-05-11 16:50:12 +02:00
Mats Palmgren
1a7ef0cf26 Bug 1349320 part 2 - [css-grid] Make nsLayoutUtils::IntrinsicForAxis take an optional percentage basis to use for resolving transferred percentages. r=dholbert
If the percentage basis isn't provided it will be calculated from the ancestors
as before.  Note that that algorithm is only valid if the frame's containing
block is the ancestor's content box, which isn't the case for grid items.
So grid layout MUST provide a percentage basis, although the given value may
be NS_UNCONSTRAINEDSIZE for either axis if the value is indefinite.

MozReview-Commit-ID: 7nvAuR43xfM
2017-05-11 02:33:14 +02:00
Wes Kocher
02bf8c4425 Merge m-c to inbound, a=merge
MozReview-Commit-ID: FfNikA7un6F
2017-05-10 17:31:18 -07:00
Olli Pettay
33a3692644 Bug 1363396, ensure ContentViewer listeners are handled only when needed, r=mccr8
--HG--
extra : rebase_source : 49f1a2bc1a3ca1aecbf3639c580c19ae215cdcc8
2017-05-11 02:20:27 +03:00
Bas Schouten
dafd50f856 Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow r=dbaron
This patch aims to speed up the lookup and storage of DisplayItemData objects, by removing a level of indirection and preventing the previously required hashtable lookup in order to access these. Instead it stores an array of pointers on each frame that allows direct access to the DisplayItemData object by dereferencing the frame. Since most frames get either 1 or 2 DisplayItemData objects attached to them a specialized class is used that is of minimal size (2 * sizeof(void)) and that performs well for sizes 1 or 2.

MozReview-Commit-ID: HONKAmpk5H8
2017-05-10 05:07:38 +02:00
Bas Schouten
cccd551d50 Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow
MozReview-Commit-ID: 8zVPIVSslVA
2017-05-10 05:07:37 +02:00
Wes Kocher
8f6058b583 Backed out 3 changesets (bug 1344398) for assertion failures at Element.cpp a=backout
Backed out changeset d0e5a5ba01b5 (bug 1344398)
Backed out changeset d70f9de401d1 (bug 1344398)
Backed out changeset 647d0bb3714d (bug 1344398)

MozReview-Commit-ID: DTVWf28NcNb
2017-05-10 17:43:50 -07:00
Emilio Cobos Álvarez
68f1504992 Bug 1355343: Take all the snapshots into account. r=bholley
I've chosen this approach mainly because there's no other good way to guarantee
the model is correct than holding the snapshots alive until a style refresh.

What I tried before this (storing them in a sort of "immutable element data") is
a pain, since we call into style from the frame constructor and other content
notifications, which makes keeping track of which snapshots should be cleared an
which shouldn't an insane task.

Ideally we'd have a single entry-point for style, but that's not the case right
now, and changing that requires pretty non-trivial changes to the frame
constructor.

MozReview-Commit-ID: FF1KWZv2iBM

--HG--
extra : rebase_source : b02d516ea164fc567110338411bf6ba251d53dab
2017-05-07 16:36:47 +02:00
Hiroyuki Ikezoe
35bf2524cf Bug 1356916 - Skip crash tests causing scrollbar-thumb atom leak. r=heycam
MozReview-Commit-ID: K66L8EQmPY2

--HG--
extra : rebase_source : 75c69b1c5188ff094dfc7d79e9182d3725ccecd4
2017-05-11 07:30:42 +09:00
Hiroyuki Ikezoe
2cac8774d0 Bug 1356916 - Call PostRestyleEvent() with the change hint obtained by Element::GetAttributeChangeHint in ServoRestyleManager::AttributeChanged. r=heycam
MozReview-Commit-ID: 14clm0eE0iE

--HG--
extra : rebase_source : d2b14bdc264c283075284172cae873294b16a51f
2017-05-11 07:30:34 +09:00
Carsten "Tomcat" Book
954867b0f5 Merge mozilla-central to autoland 2017-05-10 15:32:46 +02:00
Carsten "Tomcat" Book
85e7d31eb4 Backed out changeset 9483bb6d8ce6 (bug 1330570) for test failures in test_selection_move_commands.html | cmd_scrollBottom - -300 should equal -300 2017-05-10 12:11:11 +02:00
Carsten "Tomcat" Book
a1263f8111 Backed out changeset ff6861518bc3 (bug 1331718) 2017-05-10 12:09:04 +02:00
Jonathan Kew
83dd0ceea3 Bug 1362423 - Simplified testcase from the bug report. r=dholbert 2017-05-10 11:01:13 +01:00
Jonathan Kew
07bd548fcf Bug 1362423 - Ensure nsBidiPresUtils::Resolve always clears the NEEDS_BIDI_RESOLUTION flags for the block and continuations, whichever code-path it takes when looking for possible short-circuits. r=dholbert 2017-05-10 11:01:07 +01:00
Bill McCloskey
c197e07ff2 Bug 1363560 - Name more runnables (r=mccr8)
MozReview-Commit-ID: 3hxZDA4JlTV
2017-05-09 21:53:25 -07:00
Bas Schouten
70d011d12c Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow r=dbaron
This patch aims to speed up the lookup and storage of DisplayItemData objects, by removing a level of indirection and preventing the previously required hashtable lookup in order to access these. Instead it stores an array of pointers on each frame that allows direct access to the DisplayItemData object by dereferencing the frame. Since most frames get either 1 or 2 DisplayItemData objects attached to them a specialized class is used that is of minimal size (2 * sizeof(void)) and that performs well for sizes 1 or 2.

MozReview-Commit-ID: HONKAmpk5H8
2017-05-10 05:07:38 +02:00
Bas Schouten
17a260dee8 Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow
MozReview-Commit-ID: 8zVPIVSslVA
2017-05-10 05:07:37 +02:00
Chris H-C
b465ec140b bug 1362404 - Handle out-of-order overlapping event coalescing. r=masayuki
There are situations where events may be handled out-of-order. Allow
coalescing to happen backwards in time as well as forwards to cover them.

MozReview-Commit-ID: 3k7vNFxE1cz

--HG--
extra : rebase_source : 636a3671536747cf62cb410836b4c5a2275bbb49
2017-05-09 11:07:40 -04:00
Emilio Cobos Álvarez
266c5357b1 Bug 1362991: Compute at most one text style context per element. r=heycam
MozReview-Commit-ID: IDTRk47CsRS

--HG--
extra : rebase_source : fa38a591fea6ed6852532d939bce4323eb6552ae
2017-05-08 14:49:57 +02:00
Kartikaya Gupta
84a90cdcec Back out bug 1359868 (2 csets) for possibly causing a checkerboarding regression. r=backout
MozReview-Commit-ID: KFOsj8If3sZ
2017-05-09 13:23:23 -04:00
Daniel Holbert
b216b7b0e8 Bug 1344398 part 2: React to some CSS 'overflow' changes on body/html by simply calling UpdateViewportScrollbarStylesOverride() instead of reframing. r=bz,tnikkel
MozReview-Commit-ID: Lpr9aNv9hAB

--HG--
extra : rebase_source : c8cccf8e6495ab1d57f9680c07b3e43a488e8691
2017-05-10 13:53:27 -07:00
Daniel Holbert
7cb2ea776a Bug 1344398 part 1: Move presContext variable a little earlier in a nsCSSFrameConstructor method. r=tnikkel
Also, assert that this presContext is non-null (which we already implicitly
assume, when we dereference it without null-checking it).

MozReview-Commit-ID: IIYUqGQTOnb

--HG--
extra : rebase_source : 67cbf91fb2fdeb46352559fb519693d6d13d3224
2017-05-10 13:53:25 -07:00
Matt Brubeck
0c70ae6c1d Bug 1349651 - stylo: Implement HasAuthorSpecifiedRules. r=bholley
MozReview-Commit-ID: 8ta5KqKzncZ

--HG--
extra : rebase_source : 3ec29f283dc6bfec4d2a1676ab3f78296893d94b
2017-05-10 13:11:36 -07:00
Carsten "Tomcat" Book
76ca853e3e Merge mozilla-central to mozilla-inbound 2017-05-09 14:40:11 +02:00
Bevis Tseng
4fc7851527 Bug 1356558 - Do not run ScriptRunner in the intermediate state before destroying PreShell, PresContext, etc at nsDocumentViewer::Hide() is done. r=bz
Do not run ScriptRunners queued by DestroyPresShell() in the intermediate state
  before we're done destroying PresShell, PresContext, ViewManager, etc.

MozReview-Commit-ID: LNP7Lp7zekS
2017-04-24 19:13:18 +08:00
Randall Barker
26b3324682 Bug 1361781 - Ensure nsLayoutUtils::SetFixedPositionLayerData sets the SideBits: eSideBitsTop and eSideBitsLeft r=tnikkel
MozReview-Commit-ID: LxKOsExXGfH
2017-05-08 17:02:07 -07:00
Wes Kocher
ff0797bb47 Merge autoland to m-c a=merge
MozReview-Commit-ID: 8LTBWT5zY6o
2017-05-08 13:37:37 -07:00
Kartikaya Gupta
5d5cdc518c Merge m-c to graphics
MozReview-Commit-ID: 2cIoGVmLEuA
2017-05-08 10:50:52 -04:00
Kartikaya Gupta
eac87bc2bf Merge m-c to graphics
MozReview-Commit-ID: 9HO5vhW5fyh
2017-05-04 09:05:26 -04:00
Iris Hsiao
e71485e5b0 merge mozilla-inbound to mozilla-central a=merge 2017-05-04 11:18:36 +08:00
Kartikaya Gupta
b6b23a1376 Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
Kartikaya Gupta
7259e787f4 Merge m-c to graphics
MozReview-Commit-ID: 9XwZUWIhGir
2017-05-02 09:45:11 -04:00
Carsten "Tomcat" Book
a439f12e74 merge mozilla-inbound to mozilla-central a=merge 2017-05-02 11:04:56 +02: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
Matt Woodrow
82005900e6 Bug 1349418 - Put the unscrolled item in the right place when we're doing container scrolling. r=mstange 2017-04-28 12:45:36 +12:00
Kartikaya Gupta
9fefc7a64a Merge m-c to graphics
MozReview-Commit-ID: 82en2F0AFQF
2017-04-30 19:10:35 -04:00
Ethan Lin
f29e1a70ba Bug 1360112 - Correct background image position when enabling webrender background image. r=mattwoodrow 2017-05-01 00:59:26 +08:00
Carsten "Tomcat" Book
1045b9730a merge mozilla-inbound to mozilla-central a=merge 2017-04-28 10:36:11 +02:00
Timothy Nikkel
0b57ca9241 Bug 1354933. Add annotation if the view is for a printing document if the view has a frame in its destructor. r=mats 2017-04-27 17:50:00 -05:00
Cameron McCormack
c9e89efdd7 Bug 1341102 - stylo test expectation adjustments. r=me 2017-04-28 11:42:16 +08:00
Emilio Cobos Álvarez
3f51663f2e Bug 1351339: Compute text style changes when the parent is a display: contents element. r=heycam
MozReview-Commit-ID: GWPNevfP4xc

--HG--
extra : rebase_source : b8fb49f80c4e5c30747eb76d95961ec669aa579b
2017-05-08 03:16:43 +02:00
Markus Stange
2a35142b62 Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats 2017-04-21 14:02:15 +12:00
Daniel Holbert
74687b05c2 Bug 1361086: Simplify UndisplayedMap::GetListFor/GetOrCreateListFor to take nsIContent* rather than nsIContent**. r=emilio
This patch shouldn't affect behavior -- it just takes a latent opportunity for
simplification and removes an unused layer of indirection. These functions were
set up to look like they took outparams, but none of the callers were using the
value left in the outparam.

MozReview-Commit-ID: LaL7YiyVYS2

--HG--
extra : rebase_source : 28466d6ab36da2e3609e7ed0fdb51618e652c7f7
2017-05-01 09:57:55 -07:00
Emilio Cobos Álvarez
1e75c0c5e1 Bug 1361041: Avoid posting ReconstructFrame hints to an uninitialized PresShell. r=bz
The call that's causing the crash seems to be [1], that is, we're trying to
recreate frames for the root element, which should always have a frame created
at the initialization of the PresShell.

So the function I removed in that bug had something like the following:

  if (!mDidInitialize) {
    // Nothing to do here.  In fact, if we proceed and aContent is the
    // root we will crash.
    return NS_OK;
  }

Which PostRecreateFramesFor doesn't guard against (because I thought it was not
needed, per tryserver results).

Sounds a lot like we do need that check, though I'd like to have a testcase
where it happens :(

[1]: http://searchfox.org/mozilla-central/rev/3dc6ceb42746ab40f1441e1e659ffb8f62ae78e3/layout/base/nsCSSFrameConstructor.cpp#2420

MozReview-Commit-ID: Lh6SohNmmI6

--HG--
extra : rebase_source : 5b7076f86d41f5489e47ca16ac2f3620812ee9e8
2017-05-01 18:59:50 +02:00
Wes Kocher
be34ade6b6 Merge autoland to central, a=merge
MozReview-Commit-ID: 2pgVZdnDKno
2017-04-27 12:44:03 -07:00
Kartikaya Gupta
c77714e7cd Merge m-c to graphics
MozReview-Commit-ID: EdvTPLc8PCy
2017-04-27 13:03:06 -04:00
Kartikaya Gupta
a8407ac1c7 Bug 1359842 - Replace use of NSRectToRect in WebRender-related code with proper LayoutDevicePixel types. r=nical
MozReview-Commit-ID: 7MXFubPtLoD
2017-04-27 12:04:12 -04:00
Aryeh Gregor
db1d64129d Bug 1358893 - Stop using document.createEvent("beforeunloadevent") internally; r=smaug
We want to see if we can drop support due to web pages not using it.
Edge and Safari already don't support it, and Chrome reports that usage
is low enough that they're willing to drop it.  But telemetry doesn't
tell us about web usage if we're triggering it via our own internal
code.

MozReview-Commit-ID: 5YBfhQJExHC

--HG--
extra : rebase_source : fd359e3264ba96ef10617f4de767080c94b792fb
2017-04-23 18:18:56 +03:00
Ting-Yu Lin
60af6a6d49 Bug 1361072 - Change caller of RestrictCaretDraggingOffsets() to use getter_AddRefs. r=dholbert
Per description in bug 1361072, this is the standard idiom to assign
outparam pointers of refcounted types.

MozReview-Commit-ID: 6kmDslMs94j

--HG--
extra : rebase_source : c151f0e6050cfd3ce1cf914eeb350166c539d160
2017-05-02 14:24:54 +08:00
Wes Kocher
a463bb4c4c Merge m-c to autoland, a=merge
MozReview-Commit-ID: 6CUQEJghjzU
2017-04-27 13:37:47 -07:00
Emilio Cobos Álvarez
b27ac0ada8 Bug 1360157: Assert that a display: contents child always has a parent. r=mats
MozReview-Commit-ID: Cyif2yCFu5

--HG--
extra : rebase_source : e32f308c4772507d549f7804b461d3fbecdfe4b6
2017-04-27 12:36:07 +02:00
Emilio Cobos Álvarez
d77548d239 Bug 1331047: Implement the new traversal semantics for stylo. r=bholley,hiro
MozReview-Commit-ID: 4BXx9JpGZKX
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-04-27 17:06:11 +02:00
Chris H-C
c2c97d341c bug 1357457 - Report non-overlapping Input Responses to Telemetry. r=bsmedberg,masayuki data-r=bsmedberg
Say there's a single lag event, a GC or a busy loop, during which the user
types several characters.

Is this one (lag) event? Several (input) events?

We have INPUT_EVENT_RESPONSE_MS which will accumulate several lagged events in
this case. However, that is more of an indication of how users use Firefox than
how good we've been at eliminating sources of lag.

INPUT_EVENT_RESPONSE_COALESCED_MS records the coalesced time spend waiting for
responses to input events. So in this case it will record one value for the
entire duration of the lag.

MozReview-Commit-ID: H5rYnhwF0q3

--HG--
extra : rebase_source : b9be179dac6c6a007d2835b909ec4ce71a3f1c90
2017-04-19 15:53:30 -04:00
Carsten "Tomcat" Book
e1e203f1f5 Merge mozilla-central to autoland 2017-04-27 16:36:41 +02:00
Masatoshi Kimura
a4c9e326d4 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa

--HG--
extra : rebase_source : 263b18d1736b09bb62d914f066481281966b288c
2017-04-25 07:33:13 +09:00
Botond Ballo
979e3ee035 Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP

--HG--
extra : rebase_source : 8e16daf7709cc107f21e3b8b0050df44e83089fb
2017-05-01 19:59:08 -04:00
Wei-Cheng Pan
cd1468cb2b Bug 1345540 - Measure input event handling latency. r=bsmedberg,smaug, data-review?bsmedberg
MozReview-Commit-ID: 9mvwMewgIkJ

--HG--
extra : rebase_source : 659976746df68beddfc3281586d03b25a56e0ca0
2017-04-18 11:25:21 +08:00
Emilio Cobos Álvarez
6fe2b3e89d Bug 1355351: Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos. r=heycam
This also happens to fix other bugs, like making display: contents pseudos
animatable, which weren't before.

MozReview-Commit-ID: LhwTPNbFvSZ

--HG--
extra : rebase_source : 785105b08d6bfa15ad257e61b769a263c6810ad0
2017-04-19 12:53:57 +02:00
Emilio Cobos Álvarez
135c333511 Bug 1355351: Clean up pseudo-element props. r=heycam
MozReview-Commit-ID: JZAhEN3chPs

--HG--
extra : rebase_source : f5756182a9ad35b6ac73a6f4d022c1f93ccbf333
2017-04-19 10:27:33 +02:00
Emilio Cobos Álvarez
de9ddcaddd Bug 1355351: Add a node property to access the ::before and ::after pseudo-elements. r=heycam
MozReview-Commit-ID: FJxJp2U0Lxh

--HG--
extra : rebase_source : 062f952aafcda95ca3b0eba69389999c20cb4458
2017-04-16 17:29:49 +02:00
Emilio Cobos Álvarez
8767e6b8cb Bug 1357142: Always append descendants to RestyleTracker. r=bz,heycam
MozReview-Commit-ID: 80ORql9Zixg

--HG--
extra : rebase_source : 60aef33f9eece5214d04deffa054209344806c11
2017-04-18 01:49:49 +02:00
Emilio Cobos Álvarez
d2f3dc13ec Bug 1357142: Kill PresShell::RecreateFramesFor. r=bz
It's not only inefficient, but also prone to buggyness. Since styles may not be
up-to-date when it happens.

Post a reconstruct instead, which ensures a style flush happens before running
frame construction.

MozReview-Commit-ID: DrakHsJv5fY
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 11900af908654336cc2391ab9480542c5474e38f
2017-04-17 18:01:37 +02:00
Benjamin Smedberg
f5b5c4624c Bug 1335475 - Fix test_chrome_over_plugin_window to not load plugins from a data: URI, r=dvander
MozReview-Commit-ID: 8VAisndGqYI
2017-03-08 14:38:37 -05:00
Wes Kocher
febd210bd9 Merge m-c to inbound, a=merge
MozReview-Commit-ID: Lm5sPLbtrs
2017-05-03 13:54:34 -07:00
Emilio Cobos Álvarez
6b268e09c2 Bug 1361749: Initialize all the fields in nsFrameContinuationState. r=mats
Not all of them are initialized/used in all the paths, but worth doing it just
for sanity.

MozReview-Commit-ID: 2EsHQCc0U8P
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-03 22:05:41 +02:00
Emilio Cobos Álvarez
b36b5b0ec6 Bug 1361749: Remove unused empty constructor of ScrollbarStyles. r=mats
MozReview-Commit-ID: 6UHSSr4Imiu
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-03 22:05:41 +02:00
Emilio Cobos Álvarez
e868552184 Bug 1336863: Flush stylesheets in RestyleForCSSRuleChanges if not under an update. r=heycam
This also moves the NoteStyleSheetsChanged to RecordStylesheetChange, which
makes more sense, and stopped special-casing author styles, since it's not
needed now.

MozReview-Commit-ID: 9WKFa0JxqlU

--HG--
extra : rebase_source : 5803620c98309bd2fbb542158e69ef3ddcee9a4b
2017-04-25 21:03:18 +02:00
Brian Birtles
ba8b6f981e Bug 1355348 - Add constructor to AnimationValue; r=hiro
We will use this later in this patch series to simplify the creation of SMIL's
ValueWrapper objects.

MozReview-Commit-ID: 7EF9CN2SdwQ

--HG--
extra : rebase_source : e7cf5adc4c3f72dcc4b99625a8d0cb1a2d17f7d4
2017-04-26 13:00:11 +09:00
Emilio Cobos Álvarez
2f08fea0a6 Bug 1359995: Add back the null-check on curData. r=heycam
I removed it, but seems it can be hit. It'd be nice to have a test-case where it
fails though...

MozReview-Commit-ID: 7Xa3dNHwFMn

--HG--
extra : rebase_source : 7f0d8df2f571b84745c41bf675f12a9340016775
2017-04-27 00:26:40 +02:00
Carsten "Tomcat" Book
99ad79fa44 Merge mozilla-central to autoland 2017-04-28 10:46:26 +02:00
Xidorn Quan
2fdfbf90b0 Bug 1360467 - Change nsChangeHint and nsRestyleHint to use a fixed integer type. r=heycam
MozReview-Commit-ID: I2lZW01ylhr

--HG--
extra : rebase_source : 0d621ffe31ef447ef4b8226dccbfa6bdf521f888
2017-04-28 15:47:23 +08:00
Carsten "Tomcat" Book
2a74ba4261 Merge mozilla-central to autoland 2017-05-02 11:23:38 +02: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
Xidorn Quan
98f239480d Bug 1362302 part 1 - Use nsIAtom for counter style names. r=dbaron
MozReview-Commit-ID: 5VK6BgGRVRs

--HG--
extra : rebase_source : 104a28eddeb7984bd9f691693cf8debc1387fb87
2017-05-06 11:34:35 +10:00
Henri Sivonen
c18a3863eb Bug 1269490 - Merge nsHtml5Atoms into nsGkAtoms. r=wchen
MozReview-Commit-ID: EcfnXkFuJy3

--HG--
extra : rebase_source : eb4ba2c1b95a9ccabdcdecf65f3b757691f033b8
2017-04-20 11:47:02 +03:00
Botond Ballo
515525ceb3 Bug 1357903 - Clip event regions when combining them to a containing PaintedLayerData. r=mstange
MozReview-Commit-ID: 9Z3ITH5raXl

--HG--
extra : rebase_source : 31c2bcf700282c096e36c0606e257f395fc2d010
2017-04-28 20:32:05 -04:00
Emilio Cobos Álvarez
e464dadceb Bug 1361766: Move MathML content state changes outside of reflow. r=xidorn
This also adds assertions to ensure attributes and state don't change during
layout or frame construction.

MozReview-Commit-ID: BANcpxnRsYS

--HG--
extra : rebase_source : 5d1bc424d3ed90fda3047d3c92c09251346b7bec
2017-05-02 22:42:26 +02:00
Nicholas Nethercote
ea25e62e3c Bug 1360471 (part 4) - Use a bitfield to represent profiler features. r=mstange.
Currently the profiler mostly uses an array of strings to represent which
features are available and in use. This patch changes the profiler core to use
a uint32_t bitfield, which is a much simpler and faster representation.
(nsProfiler and the profiler add-on still use the array of strings, alas.) The
new ProfilerFeature type defines the values in the bitfield.

One side-effect of this change is that profiler_feature_active() now can be
used to query all features. Previously it was just a subset.

Another side-effect is that profiler_get_available_features() no longer incorrectly
indicates support for Java and stack-walking when they aren't supported. (The
handling of task tracer support is unchanged, because the old code handled it
correctly.)
2017-05-01 14:23:34 +10:00
Jonathan Kew
4b5525bbf7 Bug 1362167 - Use strongly-typed enum classes instead of generic uint16_t fields for the gfxShapedText and gfxTextRun flags. r=jrmuizel 2017-05-04 22:27:05 +01:00
Jonathan Kew
6fc5313103 Bug 1362167 - Split gfxShapedText.mFlags into two 16-bit flags fields, and arrange storage more compactly to reduce size of gfxShapedWord and gfxTextRun objects. r=jrmuizel 2017-05-04 22:25:16 +01:00
Jeremy Chen
e265ee592d Bug 1359343 - annotate svg related crashtests to enable stylo for SVG documents. r=heycam
The two skipped tests (1 in layout/base/ and 1 in view/) both cause leaks while
running crashtests, so annotate them with a tracking bug (bug 1363000) filed.

MozReview-Commit-ID: GhSRt4wqu44

--HG--
extra : rebase_source : ed81c75251b35cee7f940b38e3998a6df3c1fcc6
2017-05-05 09:58:56 +00:00
Jeremy Chen
1789bec783 Bug 1359343 - enable stylo for SVG documents. r=heycam
--HG--
extra : rebase_source : f8995368854a8781b9cfc235a23e9c6700457191
2017-05-05 09:58:56 +00:00
Xidorn Quan
9aa1a400d0 Bug 1365602 - Put script blocker to nsCSSFrameConstructor::RecalcQuotesAndCounters for avoiding triggering event from nsQuoteList::RecalcAll. r=bz
MozReview-Commit-ID: JW0vjT0C5iU

--HG--
extra : rebase_source : 87eebc96a828a26b6da26337581f44a9e0418b38
2017-05-18 11:25:48 +10: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
Phil Ringnalda
b9b730fd1f Backed out 7 changesets (bug 1302470) for mochitest-chrome failures
CLOSED TREE

Backed out changeset de9f42b512c8 (bug 1302470)
Backed out changeset 2394e63f50ff (bug 1302470)
Backed out changeset 3542d7bacbdc (bug 1302470)
Backed out changeset 22793139a866 (bug 1302470)
Backed out changeset cc6ff95187d0 (bug 1302470)
Backed out changeset 033fce5ecd39 (bug 1302470)
Backed out changeset 0bb3e70e5f46 (bug 1302470)

MozReview-Commit-ID: 5DmpbQp335X
2017-04-28 20:12:06 -07:00
Brad Werth
8872dcf750 Bug 1302470 Part 4: Fix the case where HTML buttons need to generate display item children when doing opaque hit tests. r=mattwoodrow
MozReview-Commit-ID: HwDYsnMJkM8

--HG--
extra : rebase_source : 4de1945f2a53e1f7f52bb59639330c45530610c4
2016-11-30 14:35:37 -08:00
Jonathan Kew
9351a19d2c Bug 1358548 - Move functionality of BidiParagraphData::Init() into a constructor instead of a separate method. r=dholbert 2017-04-26 23:25:49 +01:00
Jonathan Kew
766bc53ebd Bug 1358275 - Optimize away repeated StyleContext() calls in nsBidiPresUtils::TraverseFrames. rs=dholbert 2017-04-26 23:25:49 +01:00
Jonathan Kew
5d6ac17478 Bug 1358275 - Skip the main body of bidi-resolution for blocks that can be determined to be purely LTR content without directional overrides/embeddings. r=dholbert 2017-04-26 23:25:48 +01:00
Jonathan Kew
b1d22b8fd2 Bug 734008 - DeCOMtaminate nsILanguageAtomService, make it a non-refcounted singleton and clean up various call sites. r=m_kato 2015-04-03 21:39:23 +02:00
Jonathan Watt
37da8dc765 Bug 1358690, part 2 - Support context paint in SVG when drawn as a CSS background image. r=dholbert 2017-03-28 12:07:39 +01:00
Boris Chiou
14c973b7b3 Bug 1355758 - Update RestyleManager::mAnimationGeneration for non-animation update. r=heycam
We use RestyleManager::mAnimationGeneration as the animation index of a
new created transition, and Element.getAnimations() uses this index to
sort the order of transitions. We increase mAnimationGeneration one per
restyle cycle if there is any non-animation update.

MozReview-Commit-ID: KmirBzI7CXi

--HG--
extra : rebase_source : 6a9001ea99f86c25b1d8d0a822b51b8753248bfb
2017-04-21 16:44:17 +08:00
Cameron McCormack
9957586a75 Bug 1357869 - Don't assert when we restyle a child provider frame when an ancestor already handled nsChangeHint_ReconstructFrame. r=dbaron
MozReview-Commit-ID: D6mQeyo9zNl

--HG--
extra : rebase_source : 0894ae9f4aa452f2ef7f02f509713f796b020d95
2017-04-20 17:51:41 +10:00
Emilio Cobos Álvarez
6274a34dce Bug 1358570: Make PurgeCompletedTransitions lookup the correct animation collection. r=hiro
Probably GetAnimationCollection itself should assert against it, but that's a
bigger task right now...

MozReview-Commit-ID: JxFWXtgMAXy

--HG--
extra : rebase_source : 90ffd33e56dd8d285765bc7a06572b0ae229b5e7
2017-04-21 16:53:21 +02:00
Nicolas B. Pierron
c6509f9e01 Bug 900784 part 1.5 - Encode JS bytecode when no more scripts are executed. r=mrbkap 2017-04-21 16:57:58 +00:00
Sebastian Hengst
6e1c138a06 Backed out changeset 435e638babd1 (bug 1349418) for failing checkerboard-{1,2,3}.html on Android 4.3. r=backout a=backout
MozReview-Commit-ID: Au7FbypQNvf
2017-04-21 18:01:24 +02:00
Markus Stange
853d16cc7d Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats
--HG--
extra : rebase_source : d6b27d8b36eb8329cead0bd184c7ec6fd983ba53
2017-04-21 14:02:15 +12:00
Wes Kocher
5cba60441b Merge m-c to inbound, a=merge
MozReview-Commit-ID: HfJqvXF2Ux7
2017-04-20 15:55:31 -07:00
Randall Barker
a606cd8b60 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
Wes Kocher
ca3a99fc7e Merge m-c to inbound, a=merge 2017-04-19 17:15:26 -07:00
Wes Kocher
cb8ce82cca Merge inbound to m-c a=merge 2017-04-19 17:10:04 -07:00
Jonathan Kew
7e488692ea Bug 1357694 - Use AutoTArray for the array members in BidiLineData, to reduce heap allocation costs. r=dholbert 2017-04-19 20:09:32 +01:00
Carsten "Tomcat" Book
87edaf78ee Merge mozilla-central to autoland
--HG--
extra : rebase_source : 46bdde97ce6567ce8a06b1609de547ef11b24c2a
2017-04-20 13:06:52 +02:00
Astley Chen
18d66f87fd Bug 1355752 - Remove B2G code from nsCSSFrameConstructor.cpp. r=dholbert
MozReview-Commit-ID: Kvzn02nmzb0

--HG--
extra : rebase_source : d70db09f85cbb34cf5fc0fa05c0db3072ca911f5
2017-04-20 13:16:43 +08:00
Astley Chen
e4081a158f Bug 1355752 - Remove B2G code from PresShell files. r=jrmuizel
MozReview-Commit-ID: FIap9QM0vve

--HG--
extra : rebase_source : f80c009d67293b74b4c645f0e013842c6098d8ad
2017-04-20 13:16:42 +08:00