Граф коммитов

59109 Коммитов

Автор SHA1 Сообщение Дата
Brad Werth d073eb9bda Bug 1383296 Part 1: Remove all uses of the nsCSSValue::Serialization enum, now that it no longer has multiple values. r=heycam
MozReview-Commit-ID: n6px5hNHtB

--HG--
extra : rebase_source : 6269a9d52e0282d0391276dc1b9ee26dbde7b985
2017-07-21 17:26:35 -07:00
Emilio Cobos Álvarez 809cec316c Bug 1386602: Avoid recreating the stylist in RebuildAllStyleData. r=heycam
MozReview-Commit-ID: 31G9BLgqEmm
2017-08-03 18:10:06 +02:00
Ting-Yu Lin 7fb634c3d5 Bug 1381851 - Add mIsChrome to URLExtraData for querying on servo side. r=heycam
MozReview-Commit-ID: HTCmAcKNefG

--HG--
extra : rebase_source : 196bc82ce8013c7a4667198370625a6e42ca892a
2017-07-31 17:57:56 +08:00
Timothy Nikkel eb6908084a Bug 1356705 - Update range when an async smooth scroll is interrupted with a new scroll. r=kip
MozReview-Commit-ID: 3iU6oJz8O6O

--HG--
extra : rebase_source : 64b1394181560158036b54860bc68618393b7a43
2017-04-28 01:52:00 -04:00
Kartikaya Gupta 80a38fa00e Bug 1383386 - Update null checks to check the correct IPC actor. r=billm
MozReview-Commit-ID: Dr3V9vgzdZC

--HG--
extra : rebase_source : aa858f673f93b1779a001dfaeba6787863962c3d
2017-08-02 20:10:35 -04:00
Emilio Cobos Álvarez 938400aeaa Bug 1385896: Move nsStyleContext::mParent to GeckoStyleContext. r=heycam
Unfortunately this means that we lose the NS_STYLE_INHERIT_BIT optimization to
avoid posting changes if we had not requested the struct. In practice, I'm not
sure this optimization matters much, though, and we already compare all the
structs anyway.

We _could_ keep a weak parent pointer from the text style if needed, given we're
going to keep alive the text style at least until the parent style context goes
away, so should be safe, but I don't think the extra churn is worth it, to be
honest. Happy to do so as part of bug 1368290 if you think it's worth it.

MozReview-Commit-ID: ka6tNwf4Ke

--HG--
extra : rebase_source : dd6e98cf5743a8dd2e959ca09ed9a17e52b201e9
2017-07-31 16:21:40 +02:00
Xidorn Quan 7b861b9702 Bug 1386871 - Move font-display pref into StylePrefs. r=heycam
MozReview-Commit-ID: 9CDZSdTOacs

--HG--
extra : rebase_source : b1104db99fc8cdb5c2321e9ce19a0ae60d5164eb
2017-08-03 10:37:02 +10:00
Sebastian Hengst 4971c4b169 merge mozilla-central to autoland. r=merge a=merge 2017-08-03 12:16:37 +02:00
Sebastian Hengst 50d2d60772 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 5MywkQxECqB
2017-08-03 11:46:00 +02:00
Xidorn Quan 7be1cc8c81 Bug 1386865 part 2 - Collect style rule maps for XBL bindings. r=heycam
MozReview-Commit-ID: HPmZopu1L7Z

--HG--
extra : rebase_source : 7f65d1f963f9692bc8a3295c83b69df374557ec2
2017-08-03 16:59:17 +10:00
Fernando Jimenez Moreno 9a3658cf7f Bug 1380259 - stylo: update test expectations. r=xidorn
MozReview-Commit-ID: ArXLHGuBoeb

--HG--
extra : rebase_source : 7d558769437e54d4ef7208cfd3369ec024ae5259
2017-08-03 09:55:49 +02:00
Morris Tseng 65beb79d45 Bug 1379920 - Support canvas in layers free mode. r=kats
MozReview-Commit-ID: 42jOb3fzodb
2017-08-03 13:55:15 +08:00
Morris Tseng f3d4ff499f Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel
This patch move common canvas interfaces out of layer. So I create a
base class CanvasRenderer which move interfaces from CanvasLayer.
CopyableCanvasRenderer from CopyableCanvasLayer, ClientCanvasRenderer
from ClientCanvasLayer and WebRenderCanvasRenderer from
WebRenderCanvasLayer. And finally, WebRenderCanvasRendererSync for the
non layers free mode and WebRenderCanvasRendererAsync for the layers
free mode.

Summary all changes in this patch.
* Move class CanvasLayer::Data to CanvasRenderer.h and rename it to
CanvasInitializeData. Because this class not only use by layer but also
* Move BasicCanvasLayer::UpdateSurface to
CopyableCanvasRenderer::ReadbackSurface.
* CanvasClient::Update now accepts ShareableCanvasRenderer as parameter.
not CanvasLayer.
use by layers-free mode. Move it out of layer's class makes more sense.
* Add InitializeCanvasRenderer in the canvas related classes to
initialize CanvasRenderer without involved layer.
* All canvas layer has function "CreateCanvasRendererInternal" that
initialize corresponding CanvasRenderer.

* Description of all CanvasRenderer classes:
** CanvasRenderer: Based classes.
** CopyableCanvasRenderer: Can readback canvas content to a
SourceSurface. Use by BasicCanvasLayer.
** ShareableCanvasRenderer: Provide IPC capabilities that allow sending
canvas content over IPC. This is pure virtual class because the IPC handling is
different in different LayerManager.
** ClientCanvasRenderer: Implement IPC handling for ClientLayerManager.
Use by ClientCanvasLayer.
** WebRenderCanvasRenderer: Implement IPC handling for
WebRenderLayerManager.
** WebRenderCanvasRendererSync: Use by WebRenderCanvasLayer.
** WebRenderCanvasRendererAsync: Use by layers-free mode in WebRender.

class diagram shows below:

                      +--------------+
                      |CanvasRenderer|
                      +-------+------+
                              ^
                              |
                  +----------------------+
                  |CopyableCanvasRenderer|
                  +----------------------+
                              ^
                              |
                  +-----------+-----------+
                  |ShareableCanvasRenderer|
                  +-----+-----------------+
                        ^      ^
          +-------------+      +-------+
          |                            |
+--------------------+       +---------+-------------+
|ClientCanvasRenderer|       |WebRenderCanvasRenderer|
+--------------------+       +--------+--+-----------+
                                      ^  ^
              +-----------------------+  +----+
              |                               |
+-------------+-------------+   +-------------+--------------+
|WebRenderCanvasRendererSync|   |WebRenderCanvasRendererAsync|
+---------------------------+   +----------------------------+

MozReview-Commit-ID: 5hqQ19W169r
2017-08-03 13:55:14 +08:00
cku cfc9533381 Bug 1378710 - (followup) Correct typo in the comment. r=me DONTBUILD
MozReview-Commit-ID: 9dCcRx4heLz

--HG--
extra : amend_source : 0ff279a86b8943e101db6423fe605aaef8e49734
2017-08-03 11:42:54 +08:00
Morris Tseng fbee651cc7 Bug 1378606 - Support mix-blend-mode in layers-free mode.
MozReview-Commit-ID: LNORKj1bUYq
2017-08-03 11:27:45 +08:00
Morris Tseng 59fc42a812 Bug 1384000 - Call TriggerPendingAnimations in layers-free mode. r=ethlin,kats
MozReview-Commit-ID: 6Jae5rfQ8k2
2017-08-03 11:25:07 +08:00
Wes Kocher d350602e58 Backed out changeset 3b7a0f888294 (bug 1386468) for failures in browser_contentSearchUI.js a=backout
MozReview-Commit-ID: 7XhVgq5C4Ar
2017-08-02 18:09:12 -07:00
Wes Kocher 851b59bdbe Merge m-c to inbound a=merge
MozReview-Commit-ID: 1p4eNdfSz9p
2017-08-02 17:46:32 -07:00
Wes Kocher baf6cddc4c Merge inbound to central, a=merge
MozReview-Commit-ID: 9NFjSEt96iT
2017-08-02 17:11:51 -07:00
Ehsan Akhgari 7a5a9f6fd7 Bug 1386468 - Only register SelectionChangeListener for plaintext controls when dom.select_events.textcontrols.enabled is turned on; r=mystor 2017-08-02 19:58:07 -04:00
J. Ryan Stinnett f9a182567a Bug 1386416 - Move all reftest vars above sandbox dump. r=kats
MozReview-Commit-ID: HDIr0FTbDNK

--HG--
extra : rebase_source : 7d43cb71154299b2cbdf42962a01c3e9cb6ca9e5
2017-08-01 16:16:17 -05:00
Masatoshi Kimura f143125cc2 Bug 1326520 - Rename nsIURI.path to pathQueryRef. r=valentin.gosu
MozReview-Commit-ID: DqJdTGopR9G

--HG--
extra : rebase_source : e8c9eb03468c075b79013b6e0bd8b367229c24cd
2017-07-29 20:50:21 +09:00
Jonathan Watt 80f63e5249 Bug 1377188, part 2 - Add a reftest to check the default value of 'box-sizing' on <hr>. r=dholbert
MozReview-Commit-ID: 9Ss8KdcwL8X
2017-07-26 12:06:16 +01:00
Jonathan Watt 720999f3d7 Bug 1377188, part 1 - Change the UA 'box-sizing' style to 'content-box' for <hr>. r=dholbert
MozReview-Commit-ID: 4s5Cj5FhkDe
2017-07-26 11:44:16 +01:00
Jonathan Watt bcaeb4d9e8 Bug 1379474 - Update various ReflowInput variable names to match the new type name. r=xidorn
MozReview-Commit-ID: 1pMLInpeMGY
2017-07-25 12:02:35 +01:00
Jonathan Watt ddea429d1c Bug 1379269, part 2 - Invalidate and notify when clearing cached media features for Windows accent color changes. r=dholbert
MozReview-Commit-ID: 66tP4la4xy9
2017-07-24 15:57:29 +01:00
cku 5be215b9d0 Bug 1385861 - Part 4. Reduce usage of SetMatrix in SVGTextFrame::PaintSVG. r=mattwoodrow
In while-loop [1],
1. The first SetMatrix call that I remvoed in this patch is totally useless,
we can just pass initialMatrix to contextPaint, instead of set initialMatrix
to aContenxt and read back from aContext and then pass it to contextPaint.

2. This function, SVGTextFrame::PaintSVG, is the only caller of
SetupStrokeGeometry, and it does not need SetupStrokeGeometry to setup matrix at
all, since it will be overwritten the transform matrix of aContext at several
lines below[2].

[1]
https://hg.mozilla.org/mozilla-central/file/5115e2dea29a/layout/svg/SVGTextFrame.cpp#l3658
[2]
https://hg.mozilla.org/mozilla-central/file/5115e2dea29a/layout/svg/SVGTextFrame.cpp#l3685

MozReview-Commit-ID: AlKQh4abbpa

--HG--
extra : rebase_source : e0dfd66ff25be0d7cffadecf9e3333bba10cff9b
2017-07-31 20:47:39 +08:00
cku bd1d92639d Bug 1385861 - Part 3. Rename nsSVGUtils::SetupCairoStrokeGeometry as nsSVGUtils::SetupStrokeGeometry. r=mattwoodrow
(This patch is not relative to performance)

Rename this function since it has not relation with cario at all.

MozReview-Commit-ID: DHvrsVZAJ7B

--HG--
extra : rebase_source : 4994c9058bd93c7d6671e57ce7f204185e679a1a
2017-07-31 20:20:28 +08:00
cku dbcc86a392 Bug 1385861 - Part 2. Save the state of input context in SVGTextFrame::PaintSVG only when need. r=mattwoodrow
Unless we need to draw stroke of glyphs, which will change the state of the
target context, we only need to save & restore transform matrix of the target
context.

MozReview-Commit-ID: LLKnxrKrDaT

--HG--
extra : rebase_source : 1226c48d283a04cb0ea6959f12fd6938fece49d2
2017-07-31 20:17:06 +08:00
cku fbf32edd9e Bug 1385861 - Part 1. Remove redundant gfxContext::Save/Restore in nsDisplaySVGText::Paint. r=mattwoodrow
nsDisplaySVGText::Paint calls SVGTextFrame::PaintSVG, and we already save/restore
context state in SVGTextFrame::PaintSVG.

I also filed Bug 1385929 to find a solution to prevent duplicated
gfxContext::Save/Restore.

MozReview-Commit-ID: 4WxdFZzvmvF

--HG--
extra : rebase_source : 752d5d027776538edc1ab043ad2e90e1de22a079
2017-07-31 17:36:06 +08:00
Xidorn Quan 03e036aff2 Bug 1338764 part 3 - Update test expectations. r=manishearth
MozReview-Commit-ID: HzN5WP210G7

--HG--
extra : rebase_source : c3585958cb5159a242515a80f226e43f506319d8
2017-08-01 16:38:27 +10:00
Xidorn Quan 63d6f06939 Bug 1338764 part 2 - Add context-{fill,stroke}-opacity support to {fill,stroke}-opacity. r=manishearth
MozReview-Commit-ID: HzUHmZb8ICl

--HG--
extra : rebase_source : b8746c4d9d4cfc3abe6645f583dc08d0f7c75341
2017-08-01 16:05:04 +10:00
Xidorn Quan 0e98738d78 Bug 1338764 part 1 - Use const rather than enum for context flags of nsStyleSVG. r=manishearth
MozReview-Commit-ID: KzORnfVXgLJ

--HG--
extra : rebase_source : 365842d6e6fda4b35a5932272773a3d88bfc04c6
2017-07-17 15:10:50 +10:00
Boris Chiou 74b215eeaa Bug 1383998 - Increase animation generation if attributes are changed. r=heycam
We have to set mHaveNonAnimationRestyles if we have attributes changed
(note: we increase the animation generation only if mHaveNonAnimationRestyles
is set). Attributes changed may create a new transition, and we use the
animation generation as the order of the transition, so
Element::GetAnimations() can return transitions with correct order.

Besides, I think ContentStateChanged() will not trigger a new
transition, so we don't need to make mHaveNonAnimationRestyles there.

MozReview-Commit-ID: J5XgW8nqeLH

--HG--
extra : rebase_source : 24c4b4364935fc5a4b8437f119cbf93035262684
2017-08-02 11:43:41 +08:00
Nicholas Nethercote cc91deea30 Bug 1383977 - stylo: Measure Elements and ComputedValues. r=manishearth.
The patch provides FFI access to Gecko's SeenPtrs type from Rust, in order to
record what has already been measured when measuring Arcs. (The SeenPtrs must
be initialized on the Gecko side because the same table is reused for measuring
all Elements within a window, because Elements can share ComputedValues.) I
have confirmed with DMD that this is working correctly.

The patch also introduces MallocSizeOfRepeats, which is like MallocSizeOf but
takes a SizeOfState, which holds a SeenPtrs table.

MozReview-Commit-ID: DHS8zvCsEdQ

--HG--
extra : rebase_source : acf4d7909abf6ceb1719331ccf2e33137eb6dc91
2017-07-19 10:30:53 +10:00
Wes Kocher 5df77c43f9 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IJRYyJu1sWm
2017-08-02 17:42:10 -07:00
Brad Werth 726f72274f Bug 1302513 Part 5: Simplify nsCSSValue::AppendToString, now that aSerialization can only take one value. r=dholbert
MozReview-Commit-ID: 9qJOkJTzUY2

--HG--
extra : rebase_source : 3adc39ba40ba350a965ebb7279fef2c6d498ee71
2017-07-21 18:07:14 -07:00
Brad Werth 67a09de76f Bug 1302513 Part 4: Remove the nsCSSValue::Serialization eAuthorSpecified enum, which is no longer used. r=dholbert
MozReview-Commit-ID: 1gmiFyULMsZ

--HG--
extra : rebase_source : 1d4220101105e61168eec491a242a74060f7d417
2017-07-21 14:26:36 -07:00
Brad Werth dd59628e1d Bug 1302513 Part 3: Remove declarations and implementations of getAuthoredPropertyValue. r=dholbert
MozReview-Commit-ID: LxlUfhPJUaa

--HG--
extra : rebase_source : 6fdd76d9455e2f288b8c7b4866d983023e6d92af
2017-07-21 14:18:45 -07:00
Brad Werth 10cb0e63cd Bug 1302513 Part 1: Remove test for getAuthoredPropertyValue API (since that API is being r=dholbert
removed).

MozReview-Commit-ID: CpOiobOp1jD

--HG--
extra : rebase_source : b5220220c2528e4c7dd1a737e4a4c5896fadee3f
2017-07-21 14:12:33 -07:00
Hiroyuki Ikezoe 9bf9d338f9 Bug 1385089 - Set restyle subtree restyle hint if the element animates display style from 'none' to other. r=emilio
When display style is changed from 'none' to other in animation-only restyle
we need to resolve descendant elements' style that were in the display:none
subtree.

Three possible ways to resolve the descendant elements' style;

1) Traversing unstyled elements in animation-only restyle
   We can't simply traverse unstyled elements in the animation-only restyle
   since when we decided to traverse the unstyled elements we don't know yet
   the elements will be initially styled or are in display:none subtree. It
   will result that the new elements are styled in animation-only restyle,
   it's undesirable.

2) Creating a SequentialTask and resolve the descendants' style with
   ServoStyleSet::StyleNewSubtree()
   We can't resolve the descendants' styles with ServoStyleSet::StyleNewSubtree()
   in SequentialTask since at the moment we are still in servo traversal (i.e.
   sInServoTraversal is true). That means AutoSetInServoTraversal fails
   in PrepareAndTraverseSubtree().

3) Creating a SequentialTask and set restyle subtree hint and defer descendants'
   restyle in a subsequent normal traversal
   Note that, when we process throttled animations flush, we don't process
   normal traversal so the descendants will not be traversed until normal
   restyle happens but it will not be a big problem since it's really rare
   that user clicks display animation element just at the right moment when
   display property changes from none to other.  Also, if it will be really
   a problem, we should process *only* transform animations on the compositor,
   it's ideally right thing to do. Display property never runs on the
   compositor.

This patch takes the third approach.

MozReview-Commit-ID: Krxa3kkdIq4

--HG--
extra : rebase_source : 33e9db953f21168c76716329568191625bd15896
2017-08-02 20:01:08 +09:00
Jamie Nicol ff2a920fd4 Bug 1360306 - Clamp layer scale if it has recently been animated. r=mstange
When a container layer's transform has an animated scale, we clamp it
to a near power of two so that descendent layers' resolutions do not
keep changing and we minimize repainting. The current behaviour only
clamps the scale when it has not changed with respect to the previous
transaction. In animations where the scale usually changes, but
happens to remain constant between two consecutive transactions, this
is bad.

Rather than only checking against the previous scale value, use
ActiveLayerTracker::IsScaleSubjectToAnimation() to determine whether
to clamp, as it takes into account a longer period.

--HG--
extra : rebase_source : 6bc773e387c5750746722d4a0cc5864ebf7757e2
2017-07-27 11:52:27 +01:00
Sebastian Hengst c9ff8ee666 Backed out changeset ecbeb9354c24 (bug 1383386) for mass-asserting at gfx/layers/ipc/CompositorBridgeChild.cpp:264. r=backout on a CLOSED TREE 2017-08-02 23:08:43 +02:00
Kartikaya Gupta cc3312045a Bug 1383386 - Update null checks to check the correct IPC actor. r=billm
MozReview-Commit-ID: AZlFYkuzFVb

--HG--
extra : rebase_source : f3e1836db6833783f8277a3e9f2e5927eb452f46
2017-08-02 09:53:00 -04:00
Manish Goregaokar e2ffcaa665 Bug 1358688 - Part 1: Don't unzoom text for font-size:larger/smaller ; r=emilio
This used to be necessary when larger/smaller did a table lookup.
However as of bug 1361550 these are simple ratios and should be treated
the same as em units.

MozReview-Commit-ID: 2zM7O0awynG
2017-08-02 11:28:08 -07:00
Mantaroh Yoshinaga 19dd5dd034 Bug 1377541 - Reorder shadow array when serializing. r=birtles
CSSparserImpl::ParserShadowItem stores shadow items in a different order that
does not match the order we use when serializing computed shadow items.

The items order of storing by parser:
 <length> <length> <length> <length> <color> <inset>
The items order of serializing:
 <color> <length> <length> <length> <length> <inset>

Spec of this serialized order is as follow:
5c46d78107

This patch will shuffle the order of this items in the shadow array when
serializing it.

MozReview-Commit-ID: CIawpYKKIRy

--HG--
extra : rebase_source : 9b4f5d20543980baa45c07c950fa0baa59d9cc93
2017-08-01 23:22:05 +09:00
Wes Kocher 5699744165 Merge m-c to autoland, a=merge
MozReview-Commit-ID: F1FR0irfoJU
2017-08-01 13:18:18 -07:00
Wes Kocher 0688b1b95d Merge inbound to central, a=merge
MozReview-Commit-ID: 6SriUFkS6u7
2017-08-01 13:17:21 -07:00
Sebastian Hengst 9975089d4d merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-01 11:26:31 +02:00
Sebastian Hengst ddd4030358 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IrMqWiJhwan
2017-08-01 11:23:57 +02:00