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

177 Коммитов

Автор SHA1 Сообщение Дата
Ethan Lin f18aa8ed14 Bug 1413397 - Avoid empty border's fallback. r=kats
MozReview-Commit-ID: 1KXYjcObJdi

--HG--
extra : rebase_source : ea36d0f77dff76175dbc6d2a27cb0017e703e0bf
2017-11-01 17:30:04 +08:00
Kartikaya Gupta f392c7eba8 Bug 1407752 - Avoid taking the webrender fallback path for empty borders. r=jrmuizel
MozReview-Commit-ID: BTSljrUuKcH

--HG--
extra : rebase_source : f5370968de71c9b46dee32b743908f971c1ed3df
2017-10-31 13:18:14 -04: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
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
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
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
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
Alexis Beingessner e1ff5ff411 Bug 1407753 - Factor out webrender border code for reuse. r=jrmuizel
Also explicitly disables the image-border and gradient-border cases,
which were already accidentally disabled. They are too bitrotted to turn
back on at the moment.

MozReview-Commit-ID: FRXqemXQHJN

--HG--
extra : rebase_source : 497ef792d64b1f9911ce5d969667947917989da1
2017-10-13 16:19:00 -04:00
Ethan Lin 323a20ad72 Bug 1394309 - Part1. Add clip rect to border render so we don't need to fall back for clipping. r=kats
MozReview-Commit-ID: 9KyYzMRYncV

--HG--
extra : rebase_source : 5518bdf764a25dd5dfe39d9698ef8d3ae63acc5d
2017-10-11 16:27:31 +08:00
Jonathan Kew 83bec7dacb Bug 1403521 - Correct positioning of text-decoration lines in vertical writing modes. r=dholbert 2017-10-11 14:01:53 +01:00
Kartikaya Gupta 2f1948343f Bug 1403915 - Remove the WebRender*Layer classes and functions that refer to them. r=jrmuizel
MozReview-Commit-ID: 2syFwMc7j3r

--HG--
extra : rebase_source : 9a3852506820eb09328d91007581d74786eba9b0
2017-10-03 16:31:08 -04:00
cku 5e785e4fdd Bug 1373750 - Part 1. Except the bottom layer, recompute clip state of each mask layer by a clear clipState object. r=mstange
In nsCSSRendering::PaintStyleImageLayerWithSC, we reuse the same clip-state
object,  clipState, for all bg/mask layers. We hit this assertion if the
border-radius of previous one is not 0, but the the border-radius of the next
one is 0. In this condition, clipState.mHasRoundedCorners is false, but
clipState.mClippedRadii still stores border-radius information of the previous
layer.

MozReview-Commit-ID: KyxD0vPnMb9

--HG--
extra : rebase_source : 198c916c35ecd51a72dc3df83df43d6dc5f6424c
extra : source : e630c34a8b6397a3e8a08e57d400accff392e25f
2017-09-25 15:07:45 +08:00
Ethan Lin 82a5612a2f Bug 1352453 - Check image dimension when computing border space size. r=heycam
MozReview-Commit-ID: LQcf9UGyUUq

--HG--
extra : rebase_source : 318a81531bb92cfb86d74d1839d66b425ff53562
2017-09-23 15:06:07 +08:00
Alexis Beingessner 9022c22b82 Bug 1400382 - Replace explicit TextDrawTarget passing with cast-based system. r=mstange
MozReview-Commit-ID: EQtFvLQCT2U

--HG--
extra : rebase_source : 1fff1b545c18d42403cf9c30172528e553a6af48
2017-09-21 15:15:58 -04:00
Sebastian Hengst 7eec7a0a11 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: mr7OYuaLKE
2017-09-21 15:23:43 +02:00
Morris Tseng ce9b629335 Bug 1392200 - Add backface-visibility support for layers-free mode. r=kats
For layers-full mode, we set the backface-visibility to visible because
visibility would be handled by FLB and layers.

MozReview-Commit-ID: CUbeUabfC7K
2017-09-21 14:41:38 +08:00
Nicolas Silva 61546da339 Bug 1393031 - Remove unused nsTArray<WebRenderParentCommand>& parameter all over the place. r=jrmuizel 2017-09-20 13:36:53 +02:00
Nicolas Silva 9ffda11244 Bug 1393031 - Use IpcResourceUpdateQueue in more places. r=jrmuizel 2017-09-20 10:56:20 +02:00
Jonathan Watt 0e4feb75d3 Bug 1401356, part 1 - Rename nsSVGEffects.h/.cpp to SVGObserverUtils.h/.cpp. r=longsonr
--HG--
rename : layout/svg/nsSVGEffects.cpp => layout/svg/SVGObserverUtils.cpp
rename : layout/svg/nsSVGEffects.h => layout/svg/SVGObserverUtils.h
2017-08-30 14:14:46 +01:00
Ya-Chieh Wu 43ae4b41dc Bug 895096 - Part 3: Clean up twipsPerPixel to oneDevPixel. r=dbaron
MozReview-Commit-ID: 70aRd6KFpdd
2017-09-12 19:49:00 -04:00
Ya-Chieh Wu 70ba00ac09 Bug 895096 - Part 2: Merge the identical parameters. r=dbaron
MozReview-Commit-ID: DNXagFqxLsq
2017-09-12 19:49:00 -04:00
Ya-Chieh Wu ce1be4b4eb Bug 895096 - Part 1: Round border-collapsed table borders to device pixels rather than CSS pixels, as for other borders, and store them (as BCPixelSize) as device pixels rather than CSS pixels. r=dbaron
MozReview-Commit-ID: 3yqj8gAAGYv
2017-09-12 19:48:00 -04:00
Xidorn Quan c5b7f94e1c Bug 1400438 - Use array instead of linked list for -moz-border-*-colors. r=heycam,mattwoodrow
MozReview-Commit-ID: LPl1Rlg5gRn

--HG--
extra : rebase_source : c9df383e14523bb534cac5018333178b7c17167a
2017-09-18 13:38:39 +10:00
Kartikaya Gupta c3ffce14a8 Bug 1395218 - Make the bevel side parameters more strongly-typed. r=dholbert
MozReview-Commit-ID: 5rymg5uTMC1

--HG--
extra : rebase_source : 52feb903732eeba3dd52ff086de15181dde854c9
2017-08-30 12:22:18 -04:00
Alexis Beingessner 9c4535798f Bug 1357545 - handle text-shadows/decorations with webrender (layers-free) r=jrmuizel
This replaces our DrawTargetCapture hack with a similar but more powerful TextDrawTarget
hack. The old design had several limitations:

* It couldn't handle shadows
* It couldn't handle selections
* It couldn't handle font/color changes in a single text-run
* It couldn't handle decorations (underline, overline, line-through)

Mostly this was a consequence of the fact that it only modified the start and end
of the rendering algorithm, and therefore couldn't distinguish draw calls for different
parts of the text.

This new design is based on a similar principle as DrawTargetCapture, but also passes
down the TextDrawTarget in the drawing arguments, so that the drawing algorithm can
notify us of changes in phase (e.g. "now we're doing underlines"). This also lets us
directly pass data to TextDrawTarget when possible (as is done for shadows and selections).

In doing this, I also improved the logic copied from ContainsOnlyColoredGlyphs to handle
changes in font/color mid-text-run (which can happen because of font fallback).

The end result is:

* We handle all shadows natively
* We handle all selections natively
* We handle all decorations natively
* We handle font/color changes in a single text-run
    * Although we still hackily intercept draw calls
    * But we don't need to buffer commands, reducing total memcopies

In addition, this change integrates webrender's PushTextShadow and PushLine APIs,
which were designed for this use case. This is only done in the layerless path;
WebrenderTextLayer continues to be semantically limited, as we aren't actively
maintaining non-layers-free webrender anymore.

This also doesn't modify TextLayers, to minimize churn. In theory they can be
augmented to support the richer semantics that TextDrawTarget has, but there's
little motivation since the API is largely unused with this change.

MozReview-Commit-ID: 4IjTsSW335h

--HG--
extra : rebase_source : d69f69648ade5c7a8e6bb756f4b8ab9e2543e576
2017-06-19 10:58:28 -04:00
Ya-Chieh Wu 4acbeaf8d1 Bug 1375518 - Fix border-radius on table row groups, rows, column groups, or columns. r=dbaron
Before bug 929484, border-radius on row groups, rows, column groups,
or columns don't apply to the background of each cell, yet the
border-radius on the cell itself does. After bug 929484, the behaviors
changed. In this patch, I tried to revert the behaviors of border-radius
on table row groups, rows, column groups, or columns back to
what happened before bug 929484.

MozReview-Commit-ID: 1Xg1qHde3lk

--HG--
extra : rebase_source : ff08f8390ff910fe8c141a75275134f77a1cec3e
2017-07-14 15:50:04 +08:00
Carsten "Tomcat" Book 679210723b merge mozilla-inbound to mozilla-central a=merge 2017-07-25 14:27:17 +02:00
Wes Kocher a1eadef812 Merge m-c to autoland, a=merge
MozReview-Commit-ID: B7oWq7qfpJ0
2017-07-24 18:13:05 -07:00
cku 4c21546c79 Bug 1382257 - (followup) Draw border image if nsCSSBorderImageRenderer was created successfully. r=me.
MozReview-Commit-ID: 7SJwCt9XUBF

--HG--
extra : rebase_source : 5d674d2d5d2c22b0383b90d73a3aab96c603daae
2017-07-24 13:27:54 +08:00
Mason Chang b4e1afb9e9 Bug 1365876. Blur text shadows on the CPU. r=lsalzman 2017-07-24 13:48:14 -07:00
cku 27356c8da4 Bug 1382257 - Correct returning value of PaintBorderWithStyleBorder. r=mstange
We overwrites DrawResult returning from
nsCSSBorderImageRenderer::CreateBorderImageRenderer by the returning value of
DrawBorderImage, which is not right.

MozReview-Commit-ID: 1EeqU5hLyln

--HG--
extra : rebase_source : a78aa841795afa830b66da650a619f46230b10dd
2017-07-21 09:50:36 +08:00
Michael Scott 270895d06c Bug 1383395 - Remove an un-needed check for draw background image. r=cjku
Remove the the duplicate check for draw background image is false, in the PaintStyleImageLayerWithSC method,
as this is already covered by the preceding code.

MozReview-Commit-ID: L669Y4OjzE0

--HG--
extra : rebase_source : 1cd5d7bcfb5a268486c8a898864cc60fda9d70a7
2017-07-23 12:58:58 +03:00
Kartikaya Gupta 4826f32d87 Bug 1377169 - Turn gfxRect into a typedef. r=jrmuizel
One thing to note here is that the Scale function on gfxRect has a
different implementation than that in gfx::Rect which is replacing it.
The former just scales the width/height directly whereas the latter
scales the XMost/YMost and recomputes the width/height.

MozReview-Commit-ID: 5FImdIaNfC3

--HG--
extra : rebase_source : 98662d2a52ff9652ec60b066641a07c6d5ee8e08
2017-07-05 11:22:00 -04:00
Kartikaya Gupta cad9534e69 Bug 1377090 - Turn gfxMatrix into a typedef for MatrixDouble. r=jrmuizel
Most of this patch is updating a few places that use gfxMatrix to use
the equivalent-but-differently-named functions on MatrixDouble:
- Translate/Rotate/Scale get turned into PreTranslate/PreRotate/PreScale
- Transform(Point) gets turned into TransformPoint(Point)
- gfxMatrix::TransformBounds(gfxRect) gets turned into
  gfxRect::TransformBoundsBy(gfxMatrix).
- gfxMatrix::Transform(gfxRect) gets turned into
  gfxRect::TransformBy(gfxMatrix).
The last two functions are added in this patch as convenience wrappers
to gfxRect instead of Matrix.h because we don't want Matrix.h to "know"
about gfxRect (to avoid adding gecko dependencies on Moz2D). Once we
turn gfxRect into a typedef for RectDouble these will be eliminated
anyway.

MozReview-Commit-ID: BnOjHzmOSKn

--HG--
extra : rebase_source : cf1692d1f0d44a4b05d684a66678739181a426d5
2017-07-05 11:18:49 -04:00
Morris Tseng 506acb1953 Bug 1376855 - Support nsDisplayBackgroundImage in layers free mode. r=kats
MozReview-Commit-ID: KaIAVfNB4E5

--HG--
extra : rebase_source : a7797ce7ef8439780c2f61f7edf68f26c654c9ae
2017-06-28 15:07:45 -07:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Andi-Bogdan Postelnicu af9b2f55f1 Bug 1373232 - Use floating point division when dividing nscoord values with a twipsPerPixel factor. r=mats
MozReview-Commit-ID: JR3EDkDuwVA

--HG--
extra : rebase_source : 38f45ebba2abac194e162e812c8864c1da7cc3d9
2017-06-18 09:33:25 +03:00
Alexis Beingessner adb013669b Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Sebastian Hengst f3bf820bfd Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner c75211cb95 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Jeff Hajewski 21dd3e708d Bug 1371354: Changes macro defined NS_SYTLE_IMAGELAYER_ to enum class StyleImageLayer; r=manishearth
MozReview-Commit-ID: DgvenevRHg2
2017-06-09 16:53:34 -07:00
L. David Baron 53383e2d5c Bug 1369260 - Remove use of MOZ_ASSERT_IF in layout. r=heycam
As I've said before, as module owner I prefer that MOZ_ASSERT_IF not be
used in the module because I consider it to be unreadable.  However, a
few uses have crept in, and this patch removes them.

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

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

MozReview-Commit-ID: G6rLbOn7k8d
2017-06-06 22:27:17 -07:00
Ethan Lin 054093eb1e Bug 1366984 - Fix image container check for background image layer. r=mattwoodrow
--HG--
extra : source : 14a2665a64f6e78b7c470a3eb0635e491660955a
2017-05-31 14:01:28 +08:00
Ryan VanderMeulen 017d00381d Backed out changeset 14a2665a64f6 (bug 1366984) for causing Windows Talos failures on a CLOSED TREE. 2017-05-31 13:03:41 -04:00
Ethan Lin 49ed146634 Bug 1366984 - Fix image container check for background image layer. r=mattwoodrow 2017-05-31 14:01:28 +08:00
Jonathan Kew a8f81efd8e Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats
--HG--
rename : layout/base/FramePropertyTable.cpp => layout/base/FrameProperties.cpp
rename : layout/base/FramePropertyTable.h => layout/base/FrameProperties.h
2017-05-27 12:36:00 +01:00
Mats Palmgren 297b9d70e1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF

--HG--
extra : source : bbb688fe1ba3f5201a190c6e25b693ef7272ea2d
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book 00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Ethan Lin e853c9b0a6 Bug 1364830 - Fix background image layer's draw result and image flags. r=mattwoodrow 2017-05-16 10:44:49 +08:00
cku 9da9bf400d Bug 1361180 - Part 1. Return error DrawResult to the caller when the mask url can not be resolved. r=mstange
Precondition:
In an SVG doc, giving an invalid local-ref mask, e.g. mask="url"#foo"", and
clipState.mDirtyRectInDevPx be empty. e.g. apply mask onto a path object which
the size of area is zero(Please refers to the reftest in Part 2)
1. PaintStyleImageLayerWithSC early continue at [1], and the value of result is
still the initial value, DrawResult::SUCCESS.
2. The caller is not aware of that the  mask image was left unresolved since it get
DrawResult::SUCCESS from #1.

This patch fixed this problem by calling PrepareImageLayer before early return
for updating correct drawing result.

[1]
https://hg.mozilla.org/mozilla-central/file/ebf68ba9b098/layout/painting/nsCSSRendering.cpp#l2682

MozReview-Commit-ID: DjJ0Nni1gDl

--HG--
extra : rebase_source : 949101547b6cb4db93c8a889210c768fb81cff7a
2017-05-03 10:39:05 +08:00
Kartikaya Gupta b6b23a1376 Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
Kartikaya Gupta 0ec3e2d4dd Bug 1360246 - Propagate the StackingContextHelper to the rest of the displaylist-building code. r=nical
This propagates the StackingContextHelper to the rest of the code that
builds WR display items, because we will need it in future patches to
stop using RelativeToParent.

MozReview-Commit-ID: 3PlQrJRhH36
2017-05-03 08:48:08 -04:00
Ethan Lin a9bbf03464 Bug 1360127 - If the background image doesn't have a image container, we shouldn't create a layer for it. r=mchang 2017-05-03 18:27:10 +08:00
Emilio Cobos Álvarez 23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

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

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Wes Kocher be34ade6b6 Merge autoland to central, a=merge
MozReview-Commit-ID: 2pgVZdnDKno
2017-04-27 12:44:03 -07:00
Ethan Lin 2b6ab30c4d Bug 1359360 - Handle draw result for webrender background image layer. r=mattwoodrow 2017-04-26 15:31:49 +08:00
Ethan Lin 0834f181db Bug 1351242 - Add webrender support for nsDisplayBackgroundImage image type. r=mchang 2017-04-07 14:53:16 +08:00
cku 1cfdb6e485 Bug 1359844 - Ensure full decode be triggered after style-image was downloaded, r=mstange
In nsCSSRendering::PaintBorderWithStyleBorder:
DrawResult
nsCSSRendering::PaintBorderWithStyleBorder()
{
  if (aStyleBorder.IsBorderImageLoaded()) {
    (1)
  }

  (2)
}

At (1), we create a nsCSSBorderImageRenderer object. While creating it, we call
imgRenderer.PrepareImage() to ensure a full image decode at [1]. PrepareImage is
used in both bg-image/mask-image and border-image. The difference is, in
bg-image/mask-image painting path, we unconditionally use PrepareImage(in
nsCSSRendering::PrepareImageLayer), whereas in border-image painting path we
use it only after border-image was downloaded. This difference does cause a
problem. After border image was downloaded, the decoder will not do full decoding
since we did not ask for it, so there will be no repaint notification and no
chance to paint border-image again.

In this patch, I try to align the behavior between bg-image/mask-image and
border-image: always call nsImageRenderer::PrepareImage.

This is a generic fix for both stylo-enable and stylo-disable build. We do not
find this problem in reftest is because we use SYNC_DECODE in reftest harness, which
hides this race condition. When daily using firefox, if
nsCSSRendering::PaintBorderWithStyleBorder is called after border-image was
loaded, your program run into (1), border-image will be drawn correctly; In the
case that nsCSSRendering::PaintBorderWithStyleBorder is called before
border-image is loaded, your program run into (2), and you can only see
border-color.

[1]
https://hg.mozilla.org/mozilla-central/file/a6f35285bd1e/layout/painting/nsCSSRenderingBorders.cpp#l3598

MozReview-Commit-ID: 6pidHJdPG8I

--HG--
extra : rebase_source : 2be402f59a42ef767ab6bae2962cd2ec55b36c50
2017-04-17 15:10:52 +08:00
Markus Stange 079ae63547 Bug 1352234 - Make nsImageRenderer.cpp and nsCSSRenderingGradients.h compile independent of build unification. r=rhunt
A few includes and namespace annotations are missing. And
nsImageRenderer.cpp is calling two functions that are static functions in
nsCSSRendering.cpp.

MozReview-Commit-ID: BLVPwpKB7On

--HG--
extra : rebase_source : d6111d093de47b88b5beba6478de4b6ed75b2a52
2017-03-30 17:50:47 -04:00
Ryan Hunt cb1eb2c5ce Bug 1341101 part 5 - Support building WR DisplayItems for BackgroundImageLayers that are gradients r=mattwoodrow
MozReview-Commit-ID: BNLT8Wbp672

--HG--
extra : rebase_source : c02a356e37f906a505992493730255161862960b
2017-03-20 19:31:39 -04:00
Ryan Hunt 56219a24fd Bug 1341101 part 4 - Specify a nsRenderingContext for nsCSSRendering::PaintStyleImageLayer r=mattwoodrow
MozReview-Commit-ID: 5TX6IXLSC8r

--HG--
extra : rebase_source : fef1d37208dc29f8df67388fe5c335a9c013daef
2017-03-15 00:25:09 -04:00
Ryan Hunt db5037c2f6 Bug 1341101 part 1 - Move nsCSSRendering::PaintGradient into its own file r=jrmuizel
MozReview-Commit-ID: 1DyZ8TpcA3m

--HG--
rename : layout/painting/nsCSSRendering.cpp => layout/painting/nsCSSRenderingGradients.cpp
extra : rebase_source : e328771c2e4c19e23e720683b983cfb22d2cf9f8
2017-03-14 01:05:41 -05:00
Mason Chang 3b2070933d Bug 1350182 - Enable button border display items by default. r=ethlin 2017-03-27 13:09:55 -07:00
Emilio Cobos Álvarez ca95409d9c Bug 1350401: Cleanup outline-painting-related logic. r=mats
MozReview-Commit-ID: ggDzDRrPIm

--HG--
extra : rebase_source : cf8a0e13778f7ce86a8c9fef447385cf32bb963e
2017-03-24 19:38:15 +01:00
Mats Palmgren 79cff05243 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 22:11:18 -07:00
cku ff59d84e8f Bug 1349115 - Remove gfxPattern::CairoStatus r=mstange
This function is not a virtual function and always returns CAIRO_STATUS_SUCCESS
after the patch in bug 1054838 landed. There is no reason to keep it anymore.

MozReview-Commit-ID: EadrrFQyjfY

--HG--
extra : rebase_source : 3f6a284dc9fa396d5cfd3f64190562373801a0a2
2017-03-21 14:32:22 +08:00
cku c486e7014c Bug 1340044 - Part 2. Rename value in StyleGeometryBox. r=heycam
This change is to use gecko_enum_prefix in helpers.mako.rs, so that we do not
need to manually write code for nsStyleDisplay::mTransformBox.

MozReview-Commit-ID: 7UAL0iUcSIO

--HG--
extra : rebase_source : e99b7c163991df7ef3e7c0404fcef1832718a150
2017-03-16 15:18:10 +08:00
cku c984ad8338 Bug 1346265 - Part 1. Pass gfxContext to nsCSSRendering::PaintGradient. r=mstange
If mask-mode is luminace, we will create a temporary context at [1]. It's
obvious we do not use this gfxContext at all in PaintGradient path. This patch is
trying to fix this problem by pass gfxContext, instead of RenderingContext,
directly to PaintGraident.

[1] https://hg.mozilla.org/mozilla-central/file/991f5724e58f/layout/painting/nsCSSRendering.cpp#l5811
MozReview-Commit-ID: LLmg4k6IEm3

--HG--
extra : rebase_source : ed42e3f5ddf1314300259c3f74d43aac8b4683de
2017-03-13 12:26:21 +08:00
Kartikaya Gupta 916f12ed8f Merge m-c to graphics
MozReview-Commit-ID: GpqewOAwje8
2017-03-13 13:13:37 -04:00
Carsten "Tomcat" Book b8ac5ccfac Backed out changeset a035c2b6ae72 (bug 1325940) 2017-03-13 11:38:36 +01:00
Gajanan ca8371df56 Bug 1325940 part 2 - Converted NS_STYLE_BORDER_IMAGE_REPEAT_* to an enum class. r=xidorn
MozReview-Commit-ID: 4Y30dMHsFgj

--HG--
extra : source : 1b6d6f5feb59f895f19ee51cad0e477ca568c168
2017-03-13 21:19:19 +11:00
Morris Tseng 895ffbd17f Bug 1341156 - Create nsCSSBorderImageRenderer. r=mattwoodrow
Basiclly refactor DrawBorderImage function for later re-use.

MozReview-Commit-ID: 9KIO6jp14M2
2017-03-13 11:46:04 +08:00
Morris Tseng 3756e950d3 Bug 1341156 - Move nsImageRenderer to a separate file. r=mattwoodrow
MozReview-Commit-ID: EIEl3Jbtcsi
2017-03-13 11:46:04 +08:00
Mason Chang f2f85a8adb Bug 1342281 - Convert inset box shadows to a WR display item. r=lsalzman 2017-02-23 20:01:58 -08:00
cku 402d53b758 Bug 1342302 - Part 4. Fine tune nsCSSRendering::PaintStyleImageLayerWithSC. r=mstange
MozReview-Commit-ID: JB5S86tLvl6

--HG--
extra : rebase_source : d806de4ae02d6c9b624b6018e72ac80d915c7da9
2017-02-24 15:58:55 +08:00
cku 87c1f58dc0 Bug 1342302 - Part 3. Rename ImageLayerClipState::mDirtyRectGfx to mDirtyRectInDevPx. r=mstange
MozReview-Commit-ID: 7YyQStU0Seq

--HG--
extra : rebase_source : 93de69c294de348b8f4a8699f2db4aeaff88966d
2017-02-24 14:56:11 +08:00
cku 2f8c78bab0 Bug 1342302 - Part 2. Implement ImageLayerClipState::IsValid. r=mstange
MozReview-Commit-ID: 2Axr7buX1c4

--HG--
extra : rebase_source : 6636cbe6c988771656519d2a66425ca3d7b4e5be
2017-02-24 18:52:53 +08:00
cku 7b9f69f17a Bug 1342302 - Part 1. Implement RectCornerRadii::IsEmpty. r=mstange
MozReview-Commit-ID: JHaRg4rBHu8

--HG--
extra : rebase_source : 502ffd16de19ad6a65058b82640f78ed2ea6c9b2
2017-02-24 14:30:19 +08:00
Jonathan Watt a446a17a47 Bug 1345908 - Remove nsLayoutUtils::HasCSSBoxLayout. r=cjku 2017-02-07 21:11:53 +00:00
cku f8a44da88a Bug 1341149 - Implement ImageLayerClipState::ctor. r=mstange
MozReview-Commit-ID: 7MPrjtgz6c7

--HG--
extra : source : c6d13f12ccfa85af420139422910528c6fdcbbd2
extra : amend_source : 15c8d3471994fe5faea5a3bd75558aad29972632
2017-02-24 11:40:44 +08:00
Carsten "Tomcat" Book 7256146318 merge mozilla-inbound to mozilla-central a=merge 2017-02-24 11:46:38 +01:00
Wes Kocher 39dbca81b0 Merge m-c to inbound, a=merge
MozReview-Commit-ID: BYjLy4wkFjg
2017-02-23 16:57:34 -08:00
Mason Chang b4d5056da5 Bug 1340317 - Support box shadow outer offset and spread radius in WebRender box shadows. r=lsalzman 2017-02-16 15:05:34 -08:00
Ethan Lin d52379d334 Bug 1340082 - Convert nsDisplayOutline to WebRenderDisplayItemLayer. r=mattwoodrow
--HG--
extra : rebase_source : 171473c12467e70726ff57f6597cd9b9281a647c
2017-02-23 17:34:14 +08:00
Wes Kocher 163d6c2a49 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2xWBiKMAozs
2017-02-23 16:59:01 -08:00
Mantaroh Yoshinaga db3f7ef36c Bug 1338042 - Compute a missing width/height from the aspect ratio and the other dimension. r=longsonr+218550
MozReview-Commit-ID: 7mg0xzJWMQs

--HG--
extra : rebase_source : c69539ec99da0ce6e6d4767677859af93407f0b8
2017-02-23 17:03:35 +09:00
cku 6f08ab184e Bug 1287492 - Part 1. Implement nsLayoutUtils::HasCSSBoxLayout. r=mstange
There is no direct relation between this patch and the bug. Read through the code
and think we may reuse some logic.
MozReview-Commit-ID: HGEvDNGoIBS

--HG--
extra : rebase_source : b349702a787203317c6e66be0b9aa6818d532788
extra : source : b4ca22d03b6ba3e8eb9d0e3551830149ec99de82
2017-02-08 20:15:28 +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
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
Markus Stange 6e2cece750 Bug 1298218 - Add the ability to know whether a background image is fixed before creating the display item. r=mattwoodrow
With the ActiveScrolledRoot changes, we will need to set up different state on
the display list builder prior to creating the nsDisplayBackgroundImage item.

MozReview-Commit-ID: CgeffVPccfj

--HG--
extra : rebase_source : e2e1481a2e9df8becf56b969f151915694d62a8d
2016-08-19 19:36:57 -04:00
cku a4779280a7 Bug 1329411 - Correct wrong alpha value caused by the sixth patch in bug 1323912, and a test case. r=mstange
MozReview-Commit-ID: 8iSyUxQ1EnM

--HG--
extra : rebase_source : 012cc06e979be1b68131867d638b49cda7d47fb5
2017-01-09 10:41:42 +08:00
Ting-Yu Lin 78cc3f541d Bug 1320014 Part 12 - Convert NS_SIDE_IS_VERTICAL to a constexpr function. r=mats
MozReview-Commit-ID: GFdigJKppuR

--HG--
extra : rebase_source : d3a66d22d99d2988d5c3c44bc1da51e30efa8d1a
2017-01-05 16:07:02 +08:00
Ting-Yu Lin 797609894a Bug 1320014 Part 7 - Convert half corner indices #define to an enum. r=mats
MozReview-Commit-ID: 8lNtjV14WTN

--HG--
extra : rebase_source : dbfa992a2ee3cab2f639fb5a68463a673410ade6
2017-01-05 11:31:38 +08:00
cku 848df830c7 Bug 1323912 - Part 3. Pass opacity in gradient-mask painting path. r=mstange
MozReview-Commit-ID: E2RdOHGoia8

--HG--
extra : rebase_source : 388539f52a5f64bee0360ae67ec3891e2567d669
2017-01-04 01:05:05 +08:00
cku 09c56e6da6 Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange
Each concrete class of imgIContainer is able to handle opacity already. All we
need to do is pass opacity value to them.

MozReview-Commit-ID: EMkLnG3YXA1

--HG--
extra : rebase_source : b0a0aad1fec0c2765e96d23ed9b627345c793795
2017-01-03 13:53:22 +08:00
cku 7ffd5790e1 Bug 1323912 - Part 1. Rename PaintBackground to PaintStyleImageLayer. r=mstange
MozReview-Commit-ID: GWuII34t0j7

--HG--
extra : rebase_source : 4b08672f76c57562b9ab46d6605611d99aa64cf0
2017-01-03 11:57:13 +08:00
Phil Ringnalda d105fd40fd Merge m-c to autoland 2017-01-04 19:01:49 -08:00