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

77 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 017d292cac Bug 1382128 part 2 - Remove WrPoint, WrSize, WrRect, WrMatrix, and WrColor. r=kats
MozReview-Commit-ID: 9koNScu4CyE

--HG--
extra : rebase_source : 68185e949ddf2ae346a5d597d056a7f2d9ea7a28
2017-07-18 18:32:46 -04:00
Ryan Hunt 3f3cb0a954 Bug 1382128 part 1 - Use a namespace in webrender_bindings. r=kats
MozReview-Commit-ID: 3JTMa9Ix5S7

--HG--
extra : rebase_source : 0bea14d9e395cab260d2db5135b1f64e9f82b2e2
2017-06-27 19:20:36 -04:00
sotaro 7ceccd46b7 Bug 1378697 - Release resources in WebRenderXXXLayer::ClearCachedResources() r=nical 2017-07-18 22:37:36 +09:00
Sebastian Hengst 0c7a679780 Backed out changeset e4dc716c401c (bug 1377595) on suspicion of causing reftest failures on Android "(waiting for MozAfterPaint)". r=backout 2017-07-17 17:48:13 +02:00
Nicolas Silva f6e8232b40 Bug 1377595 - Track the valid region in WebRenderPaintedLayer. r=jrmuizel 2017-07-17 13:49:11 +02:00
Nicolas Silva c81891b82b Bug 1377595 - Avoid using blob images for items that must be painted on the content side. r=jnicol
This patch allows us to decide whether to use blob images depending on a MustPaintOnContentSide flag exposed by each display item. If any of the display item assigned to a given painted layer data have this flag, then the painted layer data is marked as preferring content side painting and the webrender layer manager uses this information to decide whether to create a regular content layer or serialize the drawing commands with blob image. This is useful for items that must be painted on the content side such as scroll bars, checkboxes, buttons, etc. Using blob images for these makes us first paint the widget on the content side, then serialize the painted pixels and blit the content again in the blob image which has a lot more overhead than painting the content into a layer and sharing it with webrender directly.
2017-07-17 13:49:07 +02:00
Kartikaya Gupta 34903d0ba6 Bug 1376215 - Stop exposing the WrClipRegionToken in WebRenderAPI.h APIs. r=jrmuizel
No functional changes intended in this patch. It merely simplifies the
additional patch that we'll need to update gecko past WR cset 0bf6655,
and saves some potential manual rebasing work.

MozReview-Commit-ID: Km8dBotP3NQ

--HG--
extra : rebase_source : 77c34ec1cbbc1c0fe4d1971feb131d30c97f0d66
2017-06-26 07:49:52 -04:00
Carsten "Tomcat" Book c2622cfcd0 Backed out changeset 504e5b1de987 (bug 1376215) for bustage 2017-06-26 13:07:09 +02:00
Kartikaya Gupta b459b56298 Bug 1376215 - Stop exposing the WrClipRegionToken in WebRenderAPI.h APIs. r=jrmuizel
No functional changes intended in this patch. It merely simplifies the
additional patch that we'll need to update gecko past WR cset 0bf6655,
and saves some potential manual rebasing work.

MozReview-Commit-ID: AgMyNapY2Og

--HG--
extra : rebase_source : d8522d8e806522a4a0e8b2cd1669db0374bd5e63
2017-06-25 14:45:54 -04:00
David Anderson f52c24e301 Extract some compositor functions into a LayersHelpers header. (bug 1365879 part 3, r=mattwoodrow) 2017-06-20 01:17:16 -07:00
Markus Stange 5e44be6da9 Bug 1368386 - Make PaintedLayer::mValidRegion private so that its access can be tightly controlled. r=mattwoodrow
MozReview-Commit-ID: LdtH3hrXT5v

--HG--
extra : rebase_source : c1eff1ba44f9a762cadb028113576bbffee93715
2017-06-15 18:20:53 -04:00
Kartikaya Gupta 1ed171d132 Bug 1372603 - Push the layer's local clip rect outside the stacking context. r=jrmuizel
For various reasons, we want to be pushing the layer's local clip rect
outside of the stacking context rather than inside it. Not only is this
more correct with respect to the semantics of the layer tree, we also
need it in order to properly handle fixed-positioning of layers with
async scrolling.

This patch does the bulk of the work to make this happen. Most of the code
in the individual layer classes to process the layer's local clip rect
is removed, and instead a function in ScrollingLayersHelper is added to
deal with it. There are a couple of places that individual layer classes
still handle this but those will be removed in future patches. Note that
the individual layer classes still need to provide a clip rect of some
sort in order to push their display items, and now they simply use their
visible region bounds for this purpose.

MozReview-Commit-ID: IBmfUdJwYx1

--HG--
extra : rebase_source : 3f48a707f35a398711813d859af1e7184f19fd40
2017-06-14 15:43:16 -04:00
Kartikaya Gupta 3ba2f96414 Bug 1361497 - Push scrolling clips for scrollable layers in the layer tree. r=jrmuizel
This adds an RAII helper and uses it in RenderLayer functions. When APZ
is enabled, the RAII helper pushes a scrolling clip for each scrollable
metrics on the layer. It also pops off the scrolling clips on
destruction. Note that this should happen before any other things are
pushed into the WR display list for the rendering of a layer, since
those things should be subjected to the enclosing scrolling clips.
If APZ is disabled, this skips pushing the scrolling clips.

MozReview-Commit-ID: 1qv9egKbbok
2017-05-12 13:58:15 -04:00
Alexis Beingessner 6ece5add60 Bug 1361751 - Update gecko bindings to webrender to reflect changes in PR 1181. r=kats
MozReview-Commit-ID: Fxt4sNm4vxa
2017-05-08 13:52:16 -04:00
Kartikaya Gupta 2664b66a6a Bug 1361356 - Properly unapply the stacking context transform and origin translation when building mask layers. r=ethlin
MozReview-Commit-ID: B5XzX6Tq4PZ
2017-05-05 11:44:49 -04:00
Kartikaya Gupta 48e0e2221d Bug 1360246 - Remove the RelativeToParent functions by propagating StackingContextHelper chains. r=nical
The only remaining callers of RelativeToParent() are in
StackingContextHelper itself, which we can remove now by having the SCH
take a parent SCH and use it instead of RelativeToParent(). This patch
implements this change.

This makes a failing test pass, because of how preserve-3d container
layers work. Specifically, preserve-3d container layers render their
descendants in z-order, not in tree order. If those children were assuming
that their parent had already pushed a stacking context, that assumption
may have been false because the parent might have not yet been rendered
because of z-ordering. By using the StackingContextHelper chain instead
of the layer tree ancestry, we fix the stacking-context-relative coordinates
being used in the descendant subtree of preserve-3d container layers.

MozReview-Commit-ID: HzZvBuAlMdB
2017-05-03 08:48:08 -04:00
Kartikaya Gupta d5a099eb03 Bug 1360246 - Propagate a StackingContextHelper all the way through the RenderLayer traversal. r=nical
This is needed in part 3 to update WebRenderTextLayer::RenderLayer, so
that it no longer assumes the parent container layer has pushed a
stacking context, and instead explicitly uses the StackingContextHelper.

MozReview-Commit-ID: 9twUmDgUipX
2017-05-03 08:48:06 -04:00
Ethan Lin 59b75a786f Bug 1360449 - Remove duplicate WrManager functions. r=kats 2017-05-01 00:59:26 +08:00
Kartikaya Gupta 1dd42d38a4 Bug 1359842 - Add a StackingContextHelper to reduce duplicated code. r=nical
This class is a RAII class that can be used to push a stacking context
with properties from a WebRenderLayer. It can also then be used to
convert rects in the layer coordinate system to be relative to the
stacking context, which is what we want for passing to WR.

MozReview-Commit-ID: 1WVrfRYqLqc
2017-04-27 12:04:25 -04:00
Kartikaya Gupta 61f60a73fb Bug 1359842 - Convert RelativeToParent to deal with typed units. r=nical
As we are often converting from LayoutDevicePixel to LayerPixel types
in WebRenderDisplayItem code, I added a convenience overload of
RelativeToParent that takes a LayoutDeviceRect and returns a LayerRect,
even though this is a potential footgun if abused.

MozReview-Commit-ID: DABAWdOBsbV
2017-04-27 12:04:13 -04:00
Kartikaya Gupta c5b4851db4 Bug 1359842 - Convert some functions to deal in LayerRect instead of gfx::Rect. r=nical
MozReview-Commit-ID: LRXgYseBRzR
2017-04-27 12:04:12 -04:00
Kartikaya Gupta 14eec8b500 Bug 1359748 - Remove commented-out code. r=jrmuizel
MozReview-Commit-ID: 2f67oNaa8Tk
2017-04-27 11:28:23 -04:00
Mason Chang 58121220e3 Bug 1337761 - Part 2: Don't send external images to the parent side if a transaction is incomplete. r=nical 2017-04-19 15:39:46 -07:00
Mason Chang ad19a1640c Bug 1337761 - Implement WebRenderLayerManager::EndEmptyTransaction. r=mattwoodrow 2017-04-19 15:39:44 -07:00
sotaro d85c0f08e4 Bug 1357644 - Use wr::ExternalImageId instead of uint64_t for external image id r=nical 2017-04-19 18:59:53 +09:00
Kartikaya Gupta 9945c16d87 Merge m-c to graphics
MozReview-Commit-ID: 9Ne0XZtlRh5
2017-04-18 08:36:05 -04:00
Ethan Lin 0e0ea44db7 Bug 1349500 - Add webrender support for BulletFrame path type. r=mchang 2017-04-18 14:26:41 +08:00
sotaro 79b1971bae Bug 1356088 - Fix ImageKey removals of ExternalImages r=jrmuizel 2017-04-13 20:53:21 +09:00
Ethan Lin ea26418751 Bug 1355012 - Add mask layer support for WebRenderDisplayItemLayer. r=kats 2017-04-13 15:13:51 +08:00
Jeff Muizelaar 93b3636151 Bug 1345142. Move Image discard back to child. r=nical
This gets rid of the implicit discard that happens on the parent side
when using external images.
2017-04-12 15:26:23 -04:00
Kartikaya Gupta 94b7025994 Bug 1355791 - Instead of pushing a scroll layer, put the clip mask into the existing item clip. r=jrmuizel
MozReview-Commit-ID: jdKEkamSs4
2017-04-12 11:08:39 -04:00
Kartikaya Gupta 8050498fed Bug 1355602 - Decouple pushing scroll layers from pushing stacking contexts. r=jrmuizel
This removes the call to push_scroll_layer in wr_push_stacking_context, so that
it's now possible to push a stacking context without necessarily pushing a
scroll layer. There is already a separate function to push a scroll layer so the
call sites can do that. This patch just changes all the call sites that were
pushing a stacking context to also push a scroll layer, so there should be no
functional change. Future patches can remove the spurious scroll layers.

MozReview-Commit-ID: FtCkc9JQd8l
2017-04-11 17:04:59 -04:00
Jeff Muizelaar 67e82cd2a7 Bug 1356689. Add pref to highlight painted layers. r=mchang
This is valuable for looking at pages to see where we're still using
painted layers.
2017-04-17 11:10:02 -04:00
Ryan Hunt d6f7d08e28 Bug 1345975 - Clean up WebRenderLayer code r=kats
MozReview-Commit-ID: DWlAaJwuxlD

--HG--
extra : rebase_source : 3e8e49f1afb301063d8ab84f34181adf19a540d5
extra : histedit_source : ff74cc203ab0c5ac1289fe85403d78a60f404b2b
2017-03-09 12:35:33 -05:00
Ryan Hunt 4450cd3bae Bug 1345907 - Use clip region instead of clip rect r=kats
--HG--
extra : rebase_source : 23506430d8aa7b2097de208a3415d8597a1e13cd
2017-03-09 11:57:06 -05:00
Mason Chang 8704f07a03 Bug 1345523 - Clean up duplicated WebRenderLayer code. r=kats 2017-03-08 10:32:53 -08:00
Jeff Muizelaar 900393a0dc Bug 1344396. Build the display lists directly. r=kats
This is a largely uninteresting patch that just uses the DisplayListBuilder
directly. A wonderful cleanup patch will come after this. One of the more
interesting pieces is the use of PushBuiltDisplayList. This is needed for
handling empty transactions. See https://github.com/servo/webrender/pull/934
for more info.
2017-03-06 23:16:30 -05:00
Jeff Muizelaar 033a5b26a9 Bug 1343770. Separate out Parent commands from Child commands. r=kats
This basically just splits the enum in two and does the necessary plumbing. The
worst part is that now DisplayItemLayers need to have two arrays of commands.
Fortunately, this will be going away in the future.

This makes it so we don't send the child side commands to the parent.
2017-03-02 16:33:25 -05:00
Ethan Lin 8b7fb662c7 Bug 1342356 - Remove validBufferRegion from OpAddExternalImage. r=sotaro 2017-03-01 14:11:13 +08:00
Jeff Muizelaar 6296f9be71 Bug 1342246. Generate resource ids on the client side. r=lsalzman 2017-02-23 17:52:38 -05:00
Ryan Hunt f649c5c217 Bug 1340908 - Include LayersLogging.h not WebRenderLayersLogging.h r=kats
--HG--
extra : rebase_source : 44b09629b640487524f9577245db374c2718d1e1
extra : histedit_source : 5905ec800ba4946c18ebe6ad1310f25ec2ad2ab8
2017-02-19 14:00:41 -05:00
Ethan Lin 49b295e845 Bug 1341001 - Using ImageClient for WebRenderPaintedLayer to prevent crash problem. r=sotaro 2017-02-21 21:47:16 +08:00
Ethan Lin d5cec4a364 Bug 1340798 - Backout the change in bug 1337885 since it causes many reftest failures. r=jerry 2017-02-20 18:35:47 +08:00
Kartikaya Gupta f62b8b3b3f Merge m-c to graphics
MozReview-Commit-ID: IN2hMCjMHLL

--HG--
rename : browser/components/extensions/test/browser/browser_ext_url_overrides.js => browser/components/extensions/test/browser/browser_ext_url_overrides_newtab.js
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/FormAutofillContent.jsm
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/FormAutofillHandler.jsm
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/FormAutofillHeuristics.jsm
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/content/FormAutofillFrameScript.js
rename : browser/themes/shared/devedition/urlbar-history-dropmarker.svg => browser/themes/shared/compacttheme/urlbar-history-dropmarker.svg
rename : config/tests/makefiles/autodeps/check_mkdir.tpy => config/tests/makefiles/autodeps/check_mkdir.py
rename : dom/bindings/MozMap.h => dom/bindings/Record.h
rename : dom/bindings/parser/tests/test_mozmap.py => dom/bindings/parser/tests/test_record.py
rename : dom/file/File.cpp => dom/file/BaseBlobImpl.cpp
rename : dom/file/File.h => dom/file/BaseBlobImpl.h
rename : dom/file/File.cpp => dom/file/Blob.cpp
rename : dom/file/File.h => dom/file/Blob.h
rename : dom/file/File.cpp => dom/file/BlobImpl.cpp
rename : dom/file/File.h => dom/file/BlobImpl.h
rename : dom/file/File.cpp => dom/file/EmptyBlobImpl.cpp
rename : dom/file/File.h => dom/file/EmptyBlobImpl.h
rename : dom/file/File.cpp => dom/file/FileBlobImpl.cpp
rename : dom/file/File.h => dom/file/FileBlobImpl.h
rename : dom/file/File.cpp => dom/file/MemoryBlobImpl.cpp
rename : dom/file/File.h => dom/file/MemoryBlobImpl.h
rename : dom/file/File.cpp => dom/file/StreamBlobImpl.cpp
rename : dom/file/File.h => dom/file/StreamBlobImpl.h
rename : dom/file/File.h => dom/file/StringBlobImpl.h
rename : dom/file/File.h => dom/file/TemporaryBlobImpl.h
rename : dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.cpp => dom/media/platforms/wrappers/MediaDataDecoderProxy.cpp
rename : dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.h => dom/media/platforms/wrappers/MediaDataDecoderProxy.h
rename : dom/tests/mochitest/general/test_interfaces.html => dom/tests/mochitest/general/test_interfaces.js
rename : dom/workers/test/test_navigator.html => dom/workers/test/test_navigator.js
rename : js/src/jsautokw.py => js/src/frontend/GenerateReservedWords.py
rename : js/src/vm/Keywords.h => js/src/frontend/ReservedWords.h
rename : layout/base/RestyleManager.cpp => layout/base/GeckoRestyleManager.cpp
rename : layout/base/RestyleManager.h => layout/base/GeckoRestyleManager.h
rename : layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002-ref.xht => layout/reftests/bugs/1313772-ref.xhtml
rename : layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002.xht => layout/reftests/bugs/1313772.xhtml
rename : servo/components/jstraceable_derive/Cargo.toml => servo/components/deny_public_fields/Cargo.toml
rename : servo/components/jstraceable_derive/Cargo.toml => servo/components/domobject_derive/Cargo.toml
rename : servo/components/plugins/lints/ban.rs => servo/components/script_plugins/ban.rs
rename : servo/components/plugins/jstraceable.rs => servo/components/script_plugins/jstraceable.rs
rename : servo/components/plugins/lib.rs => servo/components/script_plugins/lib.rs
rename : servo/components/plugins/lints/unrooted_must_root.rs => servo/components/script_plugins/unrooted_must_root.rs
rename : servo/components/plugins/utils.rs => servo/components/script_plugins/utils.rs
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex-manual.html
rename : testing/web-platform/tests/preload/link_header_preload_delay_onload.html.headers => testing/web-platform/tests/preload/link-header-preload-delay-onload.html.headers
rename : testing/web-platform/tests/preload/link_header_preload.html.headers => testing/web-platform/tests/preload/link-header-preload.html.headers
rename : services/sync/tests/unit/test_extension_storage_crypto.js => toolkit/components/extensions/test/xpcshell/test_ext_storage_sync_crypto.js
rename : toolkit/components/telemetry/TelemetryComms.h => toolkit/components/telemetry/ipc/TelemetryComms.h
rename : toolkit/components/telemetry/TelemetryIPCAccumulator.cpp => toolkit/components/telemetry/ipc/TelemetryIPCAccumulator.cpp
rename : toolkit/components/telemetry/TelemetryIPCAccumulator.h => toolkit/components/telemetry/ipc/TelemetryIPCAccumulator.h
extra : amend_source : 7411c39541f0b530b4b94cf359dc73e385abea4d
2017-02-17 23:33:24 -05:00
Ethan Lin 95faae248b Bug 1337885 - Update the valid region in WebRenderPaintedLayer and mark related tests as passing. r=rhunt 2017-02-17 19:17:43 +08:00
Ethan Lin 1897c36bb6 Bug 1332688 - Pass transform to webrender stacking context. r=jrmuizel 2017-02-17 14:57:43 +08:00
Nicolas Silva f7a266bd62 Bug 1335799 - Update WR layers and FFI/bindings code for the webrender update. r=jrmuizel
MozReview-Commit-ID: Hv3MwSr97Op
2017-02-14 13:34:15 -05:00
Matt Woodrow 3aa63472d7 Bug 1339625 - Unlock textures before calling updated r=kats 2017-02-17 20:59:50 +09:00
Daniel Holbert 452a3b8454 Bug 1339609: Add #include for gfxPrefs.h to all source code that calls gfxPrefs APIs. r=jgilbert
MozReview-Commit-ID: GxWehmDYB3t

--HG--
extra : rebase_source : cd994e5c6abf777f77c5a708cbfb2f6afc49a44c
2017-02-14 14:01:59 -08:00
Ethan Lin b4d6b03c03 Bug 1330945 - Part1. Apply opacity to webrender stacking context as an opacity filter. r=jrmuizel 2017-02-02 15:09:09 +08:00