Commit Graph

35507 Commits

Author SHA1 Message Date
Timothy Nikkel
1007edc182 Bug 1601527. In APZCTreeManager::ReceiveInputEvent for pinch gesture inputs adjust the target apzc to the root content. r=botond
Otherwise we hit this assert

https://searchfox.org/mozilla-central/rev/efdf9bb55789ea782ae3a431bda6be74a87b041e/gfx/layers/apz/src/AsyncPanZoomController.cpp#1209

The adjusting mentioned in that comment doesn't seem to happen on the path that macOS pinch gesture events use.

Differential Revision: https://phabricator.services.mozilla.com/D55917

--HG--
extra : moz-landing-system : lando
2019-12-07 03:19:07 +00:00
Jonathan Kew
0d5e98aa7d Bug 1601851 - Use fallible allocation for Spacing arrays in gfxTextRun. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D56189

--HG--
extra : moz-landing-system : lando
2019-12-06 20:47:21 +00:00
Andrew Osmond
49ee6bff30 Bug 1601622 - Implement NEON accelerated methods for unpacking RGB to RGBA/BGRA. r=lsalzman
These new methods will be automatically used by ARM targets for image
decoding. Specifically it should reduce the time required to decode GIFs
and opaque PNGs.

Differential Revision: https://phabricator.services.mozilla.com/D56030

--HG--
extra : moz-landing-system : lando
2019-12-06 19:06:00 +00:00
Miko Mynttinen
6b80de6c4d Bug 1600785 - Part 2: Avoid moving empty documents to SceneBuilderThread and get rid of Arc r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D55563

--HG--
extra : moz-landing-system : lando
2019-12-06 15:33:58 +00:00
Miko Mynttinen
7ca30ed97e Bug 1600785 - Part 1: Remove BuiltScene::src r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D55562

--HG--
extra : moz-landing-system : lando
2019-12-06 01:20:12 +00:00
sotaro
d5a300b92b Bug 1599887 - Update frame is when WR rendering is skipped r=nical
wr::WebRenderPipelineInfo needs to be handled even when WR rendering does not happen.

Differential Revision: https://phabricator.services.mozilla.com/D55899

--HG--
extra : moz-landing-system : lando
2019-12-06 13:06:21 +00:00
Gabriele Svelto
69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55443

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
sotaro
8cbdbb0cb2 Bug 1601531 - Tag image descriptors with PREFER_COMPOSITOR_SURFACE where appropriate r=gw
Differential Revision: https://phabricator.services.mozilla.com/D55922

--HG--
extra : moz-landing-system : lando
2019-12-06 06:53:57 +00:00
Mike Hommey
6a1d6c2698 Bug 1587468 - Update uuid to 0.8.1. r=webdriver-reviewers,whimboo,emilio
This leaves one out-of-tree of uuid 0.7, handled by https://github.com/mozilla/rkv/pull/184
(but we have two copies of that, we'd need to have it landed on both
branches and pulled).

Differential Revision: https://phabricator.services.mozilla.com/D55912

--HG--
extra : moz-landing-system : lando
2019-12-06 00:47:50 +00:00
Emilio Cobos Álvarez
4695746608 Bug 1601732 - Update in-tree dependencies to smallvec 1.0. r=glandium
We're vendoring it already so no reason not to. Only a couple dependencies left
after these to get rid of 0.6.

Differential Revision: https://phabricator.services.mozilla.com/D56044

--HG--
extra : moz-landing-system : lando
2019-12-05 23:30:59 +00:00
Emilio Cobos Álvarez
dbce8ec6b5 Bug 1587468 - follow-up: Update webrender's lockfile in a CLOSED TREE.
MANUAL PUSH: bustage
2019-12-06 00:15:34 +01:00
Barret Rennie
1bf300b45c Bug 1601047 - Mark composition recorder as stopped when stopping it r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D55716

--HG--
extra : moz-landing-system : lando
2019-12-03 20:37:21 +00:00
Emilio Cobos Álvarez
31291d2cdd Bug 1587468 - Update derive_more. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D56043

--HG--
extra : moz-landing-system : lando
2019-12-05 22:46:59 +00:00
Glenn Watson
d7a6cf11d7 Bug 1600501 - Fix intermittent compositor surface creation bug. r=nical
With the native compositor enabled, try runs were occasionally
hitting an assertion failure where a compositor surface was
being drawn, but hadn't been created (so the id was unknown).

This was occurring when the MemoryPressure event occurs in some
situations during shutdown. When this occurs, the active_documents
list is cleared. This could result in the native surface updates
list (which was stored in the Frame of a Document) not being
applied, meaning the new surface was not created. If a subsequent
frame then tried to composite that surface, this assert would
occur.

This is fixed by moving compositor surface management to be handled
via the resource cache, in the same way as texture cache updates.

This ensures that even in the presence of a memory pressure event,
any pending native surface updates are applied to the renderer.

Differential Revision: https://phabricator.services.mozilla.com/D55910

--HG--
extra : moz-landing-system : lando
2019-12-05 14:59:14 +00:00
Jeff Gilbert
b24ae09c07 Bug 1585404 - ANGLE fix for frame skipping on Windows Intel 4400. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D56022

--HG--
extra : moz-landing-system : lando
2019-12-05 18:26:38 +00:00
Ricky Stewart
5aa8a29e6a Bug 1601407 - Update gfx/graphite2/src/moz.build to additionally build a wasm sandboxed library r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D56024

--HG--
extra : moz-landing-system : lando
2019-12-05 18:56:39 +00:00
Andrew Osmond
d6200622b8 Bug 1601060 - Fix shader compilation error on some Android devices. r=nical
Some OpenGL ES implementations do not like how we overflow a signed
32-bit integer when masking what are otherwise really unsigned 32-bit
integers. This patch avoids the problematic mask and instead just
does an equivalent shift.

Differential Revision: https://phabricator.services.mozilla.com/D55733

--HG--
extra : moz-landing-system : lando
2019-12-05 14:27:09 +00:00
Jamie Nicol
ecf8b8f3eb Bug 1599248 - Use local raster space when animating a double tap zoom. r=botond
In bug 1531142 we made it so that when a spatial node is being pinch-zoomed we
use a local raster-space to avoid rerasterizing glyphs for every slight change
in zoom level. This makes it so that we also apply the same trick when
being asynchronously zoomed by a double-tap gesture.

Differential Revision: https://phabricator.services.mozilla.com/D55699

--HG--
extra : moz-landing-system : lando
2019-12-05 11:35:38 +00:00
Botond Ballo
a68b4de65d Bug 1591519 - Re-enable test_group_touchevents on android. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D55905

--HG--
extra : moz-landing-system : lando
2019-12-05 06:48:42 +00:00
Botond Ballo
c456ac6d8c Bug 1476893 - Split helper_bug1280013.html into its own test group. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D55904

--HG--
extra : moz-landing-system : lando
2019-12-05 06:34:37 +00:00
Bert Peers
ca6c534bb3 Bug 1599327 - Use cluster scrollbar flags to select picture cache tile size. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D55555

--HG--
extra : moz-landing-system : lando
2019-12-05 01:24:28 +00:00
Alexis Beingessner
df0447e277 Bug 1601376 - removed try and mem::uninitialized uses in egl.rs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D55863

--HG--
extra : moz-landing-system : lando
2019-12-04 21:38:40 +00:00
Razvan Maries
2bceb8b822 Backed out changeset ec74db078a85 (bug 1601376) for wrench bustages. CLOSED TREE 2019-12-04 23:12:38 +02:00
Alexis Beingessner
a199f771b7 Bug 1601376 - removed try and mem::uninitialized uses in egl.rs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D55863

--HG--
extra : moz-landing-system : lando
2019-12-04 20:35:10 +00:00
Glenn Watson
be2730c33a Bug 1595165 - Fix tile merging heuristic for picture caching. r=mstange
The implementation for identifying which nodes in the dirty tracker
tree to merge was incorrect. Each leaf node identifies if it is
static (hasn't invalidated for some time), regularly invalidating,
or somewhere in between.

The previous logic would merge the nodes if all of the children
were (static OR invalidating). The original intent of the algorithm
is to merge the nodes if (all static) OR (all invalidating).

This patch fixes the implementation, which fixes the oscillating
behavior in some cases, and describes in more detail the reasoning
for the heuristic.

Differential Revision: https://phabricator.services.mozilla.com/D55767

--HG--
extra : moz-landing-system : lando
2019-12-04 16:27:42 +00:00
Razvan Maries
7a34cdb45e Backed out changeset 1bd9d4f431c4 (bug 1599327) for wrench bustages. CLOSED TREE 2019-12-04 20:25:59 +02:00
Bert Peers
1e6ebf4116 Bug 1599327 - Use cluster scrollbar flags to select picture cache tile size. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D55555

--HG--
extra : moz-landing-system : lando
2019-12-04 01:00:37 +00:00
Dave Townsend
95f03b0781 Bug 1590906: Disable font assertions that fire on every startup on OSX Catalina. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D55697

--HG--
extra : moz-landing-system : lando
2019-12-04 10:09:12 +00:00
Glenn Watson
6e5ebeba2a Bug 1597559 - Fix tile opacity getting out of sync with compositor surface. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D55761

--HG--
extra : moz-landing-system : lando
2019-12-04 02:10:17 +00:00
Jeff Muizelaar
e0a1db5447 Bug 1595388. Use mDrawTarget->Rect() instead of Size(). r=mstange
Using Rect() will work properly when mDrawTarget does not have 0,0
origin. It also makes the code's intention more clear.

Differential Revision: https://phabricator.services.mozilla.com/D55337

--HG--
extra : moz-landing-system : lando
2019-12-04 01:45:52 +00:00
Jonathan Kew
1598ebe8a8 Bug 1598063 - Don't hide text styled with a pending user font when drawing canvas text, just draw with fallback instead. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D55707

--HG--
extra : moz-landing-system : lando
2019-12-03 21:14:52 +00:00
Glenn Watson
5eb0496079 Bug 1600539 - Add an API for tagging image descriptors as videos. r=nical
In future, WR will consider this when deciding whether an image
should be promoted to be a native compositor surface.

Differential Revision: https://phabricator.services.mozilla.com/D55406

--HG--
extra : moz-landing-system : lando
2019-12-03 11:21:16 +00:00
Emma Malysz
c502777f53 Bug 1597847, rename remaining misc xul files from within /view, /gfx, /extensions, and /testing to .xhtml format r=marionette-reviewers,bgrins,whimboo,gbrown
Differential Revision: https://phabricator.services.mozilla.com/D54035

--HG--
rename : extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xul => extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xhtml
rename : gfx/tests/crashtests/593526.xul => gfx/tests/crashtests/593526.xhtml
rename : testing/marionette/chrome/test.xul => testing/marionette/chrome/test.xhtml
rename : testing/marionette/chrome/test2.xul => testing/marionette/chrome/test2.xhtml
rename : testing/marionette/chrome/test_dialog.xul => testing/marionette/chrome/test_dialog.xhtml
rename : testing/marionette/chrome/test_nested_iframe.xul => testing/marionette/chrome/test_nested_iframe.xhtml
rename : testing/marionette/reftest.xul => testing/marionette/reftest.xhtml
rename : testing/mochitest/baselinecoverage/chrome/test_baselinecoverage.xul => testing/mochitest/baselinecoverage/chrome/test_baselinecoverage.xhtml
rename : testing/mochitest/browser-harness.xul => testing/mochitest/browser-harness.xhtml
rename : testing/mochitest/chrome/test_chromeGetTestFile.xul => testing/mochitest/chrome/test_chromeGetTestFile.xhtml
rename : testing/mochitest/chrome/test_sample.xul => testing/mochitest/chrome/test_sample.xhtml
rename : testing/mochitest/chrome/test_sanityEventUtils.xul => testing/mochitest/chrome/test_sanityEventUtils.xhtml
rename : testing/mochitest/chrome/test_sanityException.xul => testing/mochitest/chrome/test_sanityException.xhtml
rename : testing/mochitest/chrome/test_sanityException2.xul => testing/mochitest/chrome/test_sanityException2.xhtml
rename : testing/mochitest/chrome/test_sanityManifest.xul => testing/mochitest/chrome/test_sanityManifest.xhtml
rename : testing/mochitest/chrome/test_sanityManifest_pf.xul => testing/mochitest/chrome/test_sanityManifest_pf.xhtml
rename : testing/mochitest/chrome/test_tasks_skip.xul => testing/mochitest/chrome/test_tasks_skip.xhtml
rename : testing/mochitest/chrome/test_tasks_skipall.xul => testing/mochitest/chrome/test_tasks_skipall.xhtml
rename : testing/mochitest/harness.xul => testing/mochitest/harness.xhtml
rename : testing/talos/talos/pageloader/chrome/pageloader.xul => testing/talos/talos/pageloader/chrome/pageloader.xhtml
rename : view/crashtests/382756-1.xul => view/crashtests/382756-1.xhtml
rename : view/crashtests/38589-1.xul => view/crashtests/38589-1.xhtml
extra : moz-landing-system : lando
2019-12-02 19:16:22 +00:00
Bert Peers
dcdc33616e Bug 1600712 - Wrench Yaml code writes scrollbar-container but doesn't read it back r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D55557

--HG--
extra : moz-landing-system : lando
2019-12-03 15:11:06 +00:00
Nicolas Silva
c2f125faff Bug 1600045 - Document webrender_api's api module. r=kvark,Gankro
Differential Revision: https://phabricator.services.mozilla.com/D55113

--HG--
extra : moz-landing-system : lando
2019-12-03 14:35:42 +00:00
Andrew Osmond
07b2260982 Bug 1600593 - Remove snap offset references from the shaders. r=kvark
We now assume that most snapping is done during scene building. This
means that nearly every point and rect used in the shaders are
pre-snapped and nothing more need be done. The text shader is an
exception, but it also effectively pre-snaps because when it calculates
its local rect for a glyph, it takes into account any snapping
requirements, rather than adjusting for snapping after its local rect
interacts with other elements.

As such, we can remove any need for generic snap offsets from the
shaders.

Differential Revision: https://phabricator.services.mozilla.com/D55436

--HG--
extra : moz-landing-system : lando
2019-12-03 15:10:50 +00:00
Glenn Watson
d4cbe654cd Bug 1599965 - Improve how dirty image detection works in webrender. r=nical
* The existing code to detect if an image is dirty fails in some
   cases. For external images, they were not being added to the
   list of dirty images when update was called. Further, since
   the dirty image keys hash set was cleared each frame, it was
   possible for an image to become dirty, but this detection to be
   missed if it is not queried until a subsequent frame (due to
   it being off-screen.

   Instead, each image template has a generation identifier that
   is incremented whenever an image template is updated. The picture
   caching code stores the generation of the image key when it was
   rasterized, and compares that to the current image key generation
   when comparing dependencies. This fixes both cases above.

 * Remove the is_cacheable logic that was previously used to
   invalidate picture cache tiles for external images. This would
   result in picture cache images that intersect with videos being
   invalidated every frame unconditionally. However, this code path
   is no longer required, due to the change above. By relying on
   the true image dirty check, we can skip invalidating tiles
   affected by video if the video frame has not advanced (e.g. it
   is paused, or advancing at a lower frame rate than we are
   currently compositing at).

Differential Revision: https://phabricator.services.mozilla.com/D55061

--HG--
extra : source : 93ccc760c4dd69f63d6ac171ace357b0dd31412a
2019-12-02 18:59:07 +00:00
Glenn Watson
9f1e486cd1 Bug 1599656 - Part 2 - Remove active image key code. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D54865

--HG--
extra : source : 4351a57052fa1b7bdbd6a8899dd900bb3325a07d
2019-12-02 18:59:05 +00:00
Glenn Watson
34abe00eb2 Bug 1599656 - Part 1 - Skip composites where possible, if frame is a no-op. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D54864

--HG--
extra : source : 86427d3d06009b523b5e34c5994e468571a41fcc
2019-12-02 18:58:57 +00:00
shindli
ebe11416a7 Backed out 2 changesets (bug 1599656) for causing wrench bustage on central CLOSED TREE a=backout
Backed out changeset 4351a57052fa (bug 1599656)
Backed out changeset 86427d3d0600 (bug 1599656)
2019-12-03 12:59:47 +02:00
shindli
22b8a7ee64 Backed out changeset 93ccc760c4dd (bug 1599965) for causing wrench bustage on central CLOSED TREE a=backout 2019-12-03 12:33:49 +02:00
sotaro
c9b4baab9c Bug 1597861 - Pause compositor during hiding Wayland window r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D53906

--HG--
extra : moz-landing-system : lando
2019-12-02 06:56:27 +00:00
sotaro
9171fb9fcf Bug 1600533 - Rename WaitForPreviousPresentQuery() r=gw
Differential Revision: https://phabricator.services.mozilla.com/D55403

--HG--
extra : moz-landing-system : lando
2019-12-02 10:41:57 +00:00
Alexis Beingessner
e0a840160a Bug 1599862 - hide macos gpu migration on WR behind a pref. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D55395

--HG--
extra : moz-landing-system : lando
2019-12-02 22:06:05 +00:00
sotaro
00f9b4efee Bug 1585619 - Add option of using PrintWindow() for taking snapshot of DirectComposition r=gw
Differential Revision: https://phabricator.services.mozilla.com/D47894

--HG--
extra : moz-landing-system : lando
2019-11-30 03:14:58 +00:00
sotaro
0c611d19d9 Bug 1599653 - Support CanvasContextType::ImageBitmap with WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D54890

--HG--
extra : moz-landing-system : lando
2019-11-28 16:50:43 +00:00
sotaro
78ab5adc85 Bug 1600261 - Call MakeCurrent() before calling eglSwapInterval r=stransky
By bug 1597619 change, MakeCurrent() became not called before calling eglSwapInterval. The comment already mentioned this requirement.

Differential Revision: https://phabricator.services.mozilla.com/D55272

--HG--
extra : moz-landing-system : lando
2019-12-02 12:46:44 +00:00
sotaro
1274053b7a Bug 1600546 - Add logs to DCLayerTree r=gw
Differential Revision: https://phabricator.services.mozilla.com/D55407

--HG--
extra : moz-landing-system : lando
2019-12-02 10:41:35 +00:00
Glenn Watson
a46bb10061 Bug 1599965 - Improve how dirty image detection works in webrender. r=nical
* The existing code to detect if an image is dirty fails in some
   cases. For external images, they were not being added to the
   list of dirty images when update was called. Further, since
   the dirty image keys hash set was cleared each frame, it was
   possible for an image to become dirty, but this detection to be
   missed if it is not queried until a subsequent frame (due to
   it being off-screen.

   Instead, each image template has a generation identifier that
   is incremented whenever an image template is updated. The picture
   caching code stores the generation of the image key when it was
   rasterized, and compares that to the current image key generation
   when comparing dependencies. This fixes both cases above.

 * Remove the is_cacheable logic that was previously used to
   invalidate picture cache tiles for external images. This would
   result in picture cache images that intersect with videos being
   invalidated every frame unconditionally. However, this code path
   is no longer required, due to the change above. By relying on
   the true image dirty check, we can skip invalidating tiles
   affected by video if the video frame has not advanced (e.g. it
   is paused, or advancing at a lower frame rate than we are
   currently compositing at).

Differential Revision: https://phabricator.services.mozilla.com/D55061

--HG--
extra : moz-landing-system : lando
2019-12-02 18:59:07 +00:00
Glenn Watson
006e76371c Bug 1599656 - Part 2 - Remove active image key code. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D54865

--HG--
extra : moz-landing-system : lando
2019-12-02 18:59:05 +00:00