Skip to content
Snippets Groups Projects
  1. Sep 05, 2021
  2. Aug 26, 2021
  3. Aug 23, 2021
  4. Aug 20, 2021
  5. Aug 05, 2021
  6. Jul 29, 2021
  7. Jul 28, 2021
  8. Jul 22, 2021
  9. Dec 14, 2020
  10. Dec 02, 2020
    • Robert Mader's avatar
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a... · 529f433f
      Robert Mader authored
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a widget-local vsync source r=mattwoodrow,emilio
      
      To allow `requestAnimationFrame()` and similar things to run at monitor
      speed if there is only a window-specific vsyncsource available.
      This is the case for Wayland and, in the future, EGL/X11. Other backends
      may opt for window specific vsyncsources as well at some point.
      
      The idea is to, instead of using global vsync objects, expose a vsyncsource
      from nsWindow and use it for refresh drivers. For the content process, move
      VsyncChild to BrowserChild, so for each Browserchild there is only one
      VsyncChild to which all refresh drivers connect.
      
      IPC in managed either by PBrowser or PBackground. Right now, PBrowser is
      only used on Wayland, as both PBrowser and the Wayland vsyncsource run
      on the main thread. Other backends keep using the background thread for
      now.
      
      While at it, make it so that we constantly update the refresh rate. This
      is necessary for Wayland, but also on other platforms variable refresh rates
      are increasingly common. Do that by transimitting the vsync rate `SendNotify()`.
      
      How to test:
       - run the Wayland backend
       - enable `widget.wayland_vsync.enabled`
       - optionally: disable `privacy.reduceTimerPrecision`
       - run `vsynctester.com` or `testufo.com`
      
      Expected results:
      Instead of fixed 60Hz, things should update at monitor refresh rate -
      e.g. 144Hz
      
      Original patch by Kenny Levinsen.
      
      Depends on D98254
      
      Differential Revision: https://phabricator.services.mozilla.com/D93173
      529f433f
  11. Nov 30, 2020
  12. Nov 29, 2020
    • Robert Mader's avatar
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a... · 5ccb38b2
      Robert Mader authored
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a widget-local vsync source r=mattwoodrow,emilio
      
      To allow `requestAnimationFrame()` and similar things to run at monitor
      speed if there is only a window-specific vsyncsource available.
      This is the case for Wayland and, in the future, EGL/X11. Other backends
      may opt for window specific vsyncsources as well at some point.
      
      The idea is to, instead of using global vsync objects, expose a vsyncsource
      from nsWindow and use it for refresh drivers. For the content process, move
      VsyncChild to BrowserChild, so for each Browserchild there is only one
      VsyncChild to which all refresh drivers connect.
      
      IPC in managed either by PBrowser or PBackground. Right now, PBrowser is
      only used on Wayland, as both PBrowser and the Wayland vsyncsource run
      on the main thread. Other backends keep using the background thread for
      now.
      
      While at it, make it so that we constantly update the refresh rate. This
      is necessary for Wayland, but also on other platforms variable refresh rates
      are increasingly common. Do that by transimitting the vsync rate `SendNotify()`.
      
      How to test:
       - run the Wayland backend
       - enable `widget.wayland_vsync.enabled`
       - optionally: disable `privacy.reduceTimerPrecision`
       - run `vsynctester.com` or `testufo.com`
      
      Expected results:
      Instead of fixed 60Hz, things should update at monitor refresh rate -
      e.g. 144Hz
      
      Original patch by Kenny Levinsen.
      
      Differential Revision: https://phabricator.services.mozilla.com/D93173
      5ccb38b2
  13. Nov 28, 2020
  14. Nov 27, 2020
    • Robert Mader's avatar
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a... · 0d501f3c
      Robert Mader authored
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a widget-local vsync source r=mattwoodrow,emilio
      
      To allow `requestAnimationFrame()` and similar things to run at monitor
      speed if there is only a window-specific vsyncsource available.
      This is the case for Wayland and, in the future, EGL/X11. Other backends
      may opt for window specific vsyncsources as well at some point.
      
      The idea is to, instead of using global vsync objects, expose a vsyncsource
      from nsWindow and use it for refresh drivers. For the content process, move
      VsyncChild to BrowserChild, so for each Browserchild there is only one
      VsyncChild to which all refresh drivers connect.
      
      IPC in managed either by PBrowser or PBackground. Right now, PBrowser is
      only used on Wayland, as both PBrowser and the Wayland vsyncsource run
      on the main thread. Other backends keep using the background thread for
      now.
      
      While at it, make it so that we constantly update the refresh rate. This
      is necessary for Wayland, but also on other platforms variable refresh rates
      are increasingly common. Do that by transimitting the vsync rate `SendNotify()`.
      
      How to test:
       - run the Wayland backend
       - enable `widget.wayland_vsync.enabled`
       - optionally: disable `privacy.reduceTimerPrecision`
       - run `vsynctester.com` or `testufo.com`
      
      Expected results:
      Instead of fixed 60Hz, things should update at monitor refresh rate -
      e.g. 144Hz
      
      Original patch by Kenny Levinsen.
      
      Differential Revision: https://phabricator.services.mozilla.com/D93173
      0d501f3c
  15. Nov 26, 2020
    • Noemi Erli's avatar
      Backed out changeset 3a9dce735340 (bug 1645528) for causing crashes with... · c5213774
      Noemi Erli authored
      Backed out changeset 3a9dce735340 (bug 1645528) for causing crashes with nsRefreshDriver CLOSED TREE
      c5213774
    • Robert Mader's avatar
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a... · a84aa40a
      Robert Mader authored
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a widget-local vsync source r=mattwoodrow,emilio
      
      To allow `requestAnimationFrame()` and similar things to run at monitor
      speed if there is only a window-specific vsyncsource available.
      This is the case for Wayland and, in the future, EGL/X11. Other backends
      may opt for window specific vsyncsources as well at some point.
      
      The idea is to, instead of using global vsync objects, expose a vsyncsource
      from nsWindow and use it for refresh drivers. For the content process, move
      VsyncChild to BrowserChild, so for each Browserchild there is only one
      VsyncChild to which all refresh drivers connect.
      
      IPC in managed either by PBrowser or PBackground. Right now, PBrowser is
      only used on Wayland, as both PBrowser and the Wayland vsyncsource run
      on the main thread. Other backends keep using the background thread for
      now.
      
      While at it, make it so that we constantly update the refresh rate. This
      is necessary for Wayland, but also on other platforms variable refresh rates
      are increasingly common. When using PVsync, limit updates to once in every
      250ms in order to minimize overhead while still updating fast.
      
      How to test:
       - run the Wayland backend
       - enable `widget.wayland_vsync.enabled`
       - optionally: disable `privacy.reduceTimerPrecision`
       - run `vsynctester.com` or `testufo.com`
      
      Expected results:
      Instead of fixed 60Hz, things should update at monitor refresh rate -
      e.g. 144Hz
      
      Original patch by Kenny Levinsen.
      
      Differential Revision: https://phabricator.services.mozilla.com/D93173
      a84aa40a
  16. Nov 25, 2020
  17. Nov 24, 2020
    • Robert Mader's avatar
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a... · d2fe0907
      Robert Mader authored
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a widget-local vsync source r=mattwoodrow,emilio
      
      To allow `requestAnimationFrame()` and similar things to run at monitor
      speed if there is only a window-specific vsyncsource available.
      This is the case for Wayland and, in the future, EGL/X11. Other backends
      may opt for window specific vsyncsources as well at some point.
      
      The idea is to, instead of using global vsync objects, expose a vsyncsource
      from nsWindow and use it for refresh drivers. For the content process, move
      VsyncChild to BrowserChild, so for each Browserchild there is only one
      VsyncChild to which all refresh drivers connect.
      
      IPC in managed either by PBrowser or PBackground. Right now, PBrowser is
      only used on Wayland, as both PBrowser and the Wayland vsyncsource run
      on the main thread. Other backends keep using the background thread for
      now.
      
      While at it, make it so that we constantly update the refresh rate. This
      is necessary for Wayland, but also on other platforms variable refresh rates
      are increasingly common. When using PVsync, limit updates to once in every
      250ms in order to minimize overhead while still updating fast.
      
      How to test:
       - run the Wayland backend
       - enable `widget.wayland_vsync.enabled`
       - optionally: disable `privacy.reduceTimerPrecision`
       - run `vsynctester.com` or `testufo.com`
      
      Expected results:
      Instead of fixed 60Hz, things should update at monitor refresh rate -
      e.g. 144Hz
      
      Original patch by Kenny Levinsen.
      
      Differential Revision: https://phabricator.services.mozilla.com/D93173
      d2fe0907
    • Narcis Beleuzu's avatar
    • Robert Mader's avatar
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a... · 5f53d70c
      Robert Mader authored
      Bug 1645528 - Connect nsRefreshDrivers in content processes with a widget-local vsync source r=mattwoodrow,emilio
      
      To allow `requestAnimationFrame()` and similar things to run at monitor
      speed if there is only a window-specific vsyncsource available.
      This is the case for Wayland and, in the future, EGL/X11. Other backends
      may opt for window specific vsyncsources as well at some point.
      
      The idea is to, instead of using global vsync objects, expose a vsyncsource
      from nsWindow and use it for refresh drivers. For the content process, move
      VsyncChild to BrowserChild, so for each Browserchild there is only one
      VsyncChild to which all refresh drivers connect.
      
      IPC in managed either by PBrowser or PBackground. Right now, PBrowser is
      only used on Wayland, as both PBrowser and the Wayland vsyncsource run
      on the main thread. Other backends keep using the background thread for
      now.
      
      While at it, make it so that we constantly update the refresh rate. This
      is necessary for Wayland, but also on other platforms variable refresh rates
      are increasingly common. When using PVsync, limit updates to once in every
      250ms in order to minimize overhead while still updating fast.
      
      How to test:
       - run the Wayland backend
       - enable `widget.wayland_vsync.enabled`
       - optionally: disable `privacy.reduceTimerPrecision`
       - run `vsynctester.com` or `testufo.com`
      
      Expected results:
      Instead of fixed 60Hz, things should update at monitor refresh rate -
      e.g. 144Hz
      
      Original patch by Kenny Levinsen.
      
      Differential Revision: https://phabricator.services.mozilla.com/D93173
      5f53d70c
  18. Oct 26, 2020
    • Ricky Stewart's avatar
      Bug 1654103: Standardize on Black for Python code in `mozilla-central`. · 02a7b4eb
      Ricky Stewart authored
      Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
      
      To produce this patch I did all of the following:
      
      1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
      
      2. Run ./mach lint --linter black --fix
      
      3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
      
      4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
      
      5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
      
      # ignore-this-changeset
      
      Differential Revision: https://phabricator.services.mozilla.com/D94045
      02a7b4eb
  19. Oct 24, 2020
    • Bogdan Tara's avatar
      Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for... · da1098d4
      Bogdan Tara authored
      Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
      
      Backed out changeset ff3fb0b4a512 (bug 1672023)
      Backed out changeset e7834b600201 (bug 1654103)
      Backed out changeset 807893ca8069 (bug 1518999)
      Backed out changeset 13e6b92440e9 (bug 1518999)
      Backed out changeset 8b2ac5a6c98a (bug 1518999)
      Backed out changeset 575748295752 (bug 1518999)
      Backed out changeset 65f07ce7b39b (bug 1518999)
      Backed out changeset 4bb80556158d (bug 1518999)
      Backed out changeset 8ac8461d7bd7 (bug 1518999)
      Backed out changeset e8ba13ee17f5 (bug 1518999)
      da1098d4
  20. Oct 23, 2020
    • Ricky Stewart's avatar
      Bug 1654103: Standardize on Black for Python code in `mozilla-central`.... · c0cea3b0
      Ricky Stewart authored
      Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
      
      Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
      
      To produce this patch I did all of the following:
      
      1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
      
      2. Run ./mach lint --linter black --fix
      
      3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
      
      4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
      
      5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
      
      # ignore-this-changeset
      
      Differential Revision: https://phabricator.services.mozilla.com/D94045
      c0cea3b0
  21. Oct 22, 2020
  22. Oct 21, 2020
    • Ricky Stewart's avatar
      Bug 1654103: Standardize on Black for Python code in `mozilla-central`.... · 50762dac
      Ricky Stewart authored
      Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
      
      Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
      
      To produce this patch I did all of the following:
      
      1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
      
      2. Run ./mach lint --linter black --fix
      
      3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
      
      4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
      
      # ignore-this-changeset
      
      Differential Revision: https://phabricator.services.mozilla.com/D94045
      50762dac
  23. Mar 17, 2020
  24. Feb 27, 2020
  25. Feb 13, 2020
  26. Feb 12, 2020
  27. Jan 18, 2020
  28. Dec 06, 2019
    • Gabriele Svelto's avatar
      Bug 1600545 - Remove useless inclusions of header files generated from IDL... · 69790bc6
      Gabriele Svelto authored
      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
      69790bc6
  29. Jun 02, 2019
    • Ryan Hunt's avatar
      Bug 1556548 - Rename RenderFrame to RemoteLayerTreeOwner. r=mattwoodrow · 3fb2657e
      Ryan Hunt authored
      RenderFrame is a very poor name for what this class does. RemoteLayerTreeOwner
      isn't perfect (it's not the only thing that owns layer trees), but it's
      hopefully clearer.
      
      Differential Revision: https://phabricator.services.mozilla.com/D33564
      
      --HG--
      rename : layout/ipc/RenderFrame.cpp => layout/ipc/RemoteLayerTreeOwner.cpp
      rename : layout/ipc/RenderFrame.h => layout/ipc/RemoteLayerTreeOwner.h
      extra : rebase_source : 890e54b93f5979a2430c35028110aa7f2091c550
      extra : source : f50dd4cde03beb99ed27397e06f81748ae87b727
      extra : histedit_source : 2d7eed25156829b2502f1712880df962a781adcf
      3fb2657e
Loading