Skip to content
Snippets Groups Projects
  1. Apr 18, 2023
  2. Mar 20, 2023
  3. Mar 14, 2023
    • Iulian Moraru's avatar
      Backed out 14 changesets (bug 1607634, bug 1814683, bug 1815177, bug 1814686)... · 801dae8f
      Iulian Moraru authored
      Backed out 14 changesets (bug 1607634, bug 1814683, bug 1815177, bug 1814686) for causing build bustages on MaybeStorageBase. CLOSED TREE
      
      Backed out changeset ae1c0551cea5 (bug 1815177)
      Backed out changeset a11cafaa1884 (bug 1814686)
      Backed out changeset 621507521762 (bug 1814686)
      Backed out changeset ad692c73e381 (bug 1814686)
      Backed out changeset 3be031e503dc (bug 1607634)
      Backed out changeset aebbaa145d2d (bug 1607634)
      Backed out changeset 9aa1f346fe14 (bug 1607634)
      Backed out changeset e3eb77ad55ca (bug 1607634)
      Backed out changeset e60591e5d5cf (bug 1607634)
      Backed out changeset 6e43042d204a (bug 1814683)
      Backed out changeset 1706e88652d6 (bug 1814683)
      Backed out changeset 6878a1590e91 (bug 1814683)
      Backed out changeset b1c980c834d8 (bug 1814683)
      Backed out changeset 94480b82d102 (bug 1814683)
      801dae8f
    • Nika Layzell's avatar
      Bug 1607634 - Part 4b: Changes for not-nullable actor types being wrapped in... · 462fc4e4
      Nika Layzell authored
      Bug 1607634 - Part 4b: Changes for not-nullable actor types being wrapped in NotNull, r=ipc-reviewers,necko-reviewers,mccr8
      
      These are the code changes required by the IPDL changes in part 4a.
      
      Differential Revision: https://phabricator.services.mozilla.com/D168887
      462fc4e4
  4. Feb 06, 2023
  5. Jan 30, 2023
  6. Jan 25, 2023
  7. Dec 14, 2022
  8. Nov 25, 2022
  9. Nov 24, 2022
  10. Nov 14, 2022
  11. Oct 20, 2022
  12. Sep 22, 2022
  13. Aug 09, 2022
    • Gabriele Svelto's avatar
      Bug 1771712 - Make it more likely for child processes to be killed under OOM... · a203b827
      Gabriele Svelto authored
      Bug 1771712 - Make it more likely for child processes to be killed under OOM conditions compared to the parent process on Linux r=jld
      
      This patch implements hal::SetProcessPriority() on Linux and leverages
      it to make it more likely that the parent process and foreground tab
      survive an OOM situation, letting Linux' OOM killer reap preallocated
      processes and background tabs first when reclaiming memory.
      
      This is achieved by setting the `oom_score_adj` values of said processes
      such that they will be killed in this order:
      
      * Preallocated processes will be the first to go, they don't contain
        user data and are not visible, so they're a good candidate to free up
        memory
      * Background tabs will be killed next, we don't generate crash reports
        for thoes nor do we inform the user, we just reload the tab, so in
        most cases one being killed will only be a small annoyance
      * Background tabs playing video come next, but only if they're not also
        playing or recording audio
      * Finally foreground tabs will be killed as a last resort, background
        tabs playing audio or with an active WebRTC session are also
        considered to be in the foreground as the user will immediately notice
        if they crash
      
      Note that this patch only implements the low-level plumbing. The process
      priority manager has not been enabled on Linux yet so that needs to
      happen before this actually works.
      
      Differential Revision: https://phabricator.services.mozilla.com/D153466
      a203b827
  14. Jul 25, 2022
  15. Jun 22, 2022
  16. May 20, 2022
  17. Mar 23, 2022
  18. Mar 02, 2022
  19. Feb 15, 2022
  20. Feb 14, 2022
  21. Feb 09, 2022
  22. Feb 03, 2022
  23. Jan 15, 2022
  24. Jan 14, 2022
  25. Jan 12, 2022
  26. Jan 09, 2022
  27. Dec 30, 2021
  28. Dec 15, 2021
  29. Dec 06, 2021
    • Cathy Lu's avatar
      Bug 1697647 - Add screen orientation lock api r=ipc-reviewers,mccr8,agi,smaug,jonalmeida · 8348b23f
      Cathy Lu authored
      Previously, the screenOrientation.lock API was for Fennec and not supported for Fenix and multi-process use. The overall idea is to now allow apps to use the API through a delegate and make asynchronous calls to LockDeviceOrientation. This required replacing the existing code that returned a default false bool to calls that perform the requested orientation change and instead return a promise that contained either an allow or deny value.
      
      Returning a promise instead of a bool involved changing the API calls from the C++ side to Java. The new general control flow of screenOrientation lock follows: an app calls C++ ScreenOrientation.lock() which eventually dispatches LockOrientationTask to resolve the pending orientation promise. Hal.cpp sends an IPC call to the content process and RecvLockScreenOrientation retrieves the current instance of geckoRuntime and calls the java side LockScreenOrientation. Apps must create a delegate and override onOrientationLock to set the requested orientation. In geckoview's testing, this is done with the android API setRequestedOrientation. Once a device orientation change has been triggered, native OnOrientationChange calls to NotifyScreenConfigurationChange, which notifies all observers and dispatches a change event to resolve the pending orientation promise.
      
      Testing:
      I used a demo on the GeckoView Example (https://usefulangle.com/demos/105/screen.html) to test locking to landscape orientation. This required a change to the GVE to show the app from recreating the whole thing on orientation change. In the example AndroidManifest xml file, `orientation` prevents restart when orientation changes.
      
      The Junit/Kotlin tests were to verify that the expected orientation delegate was called with the expected new orientation value, in an orientation change, if the new orientation was the same as the current, and if the pre-lock conditions such as being fullscreen were not met.
      
      A static preference `dom.screenorientation.allow-lock` was added to the dom group, since it affects the ui dom) and is currently turned off. C++ can access it through its mirrored variable dom_screenorientation_allow_lock (same name but with underscores). The junit tests turn the preference on and test the lock feature.
      
      Reference:
      Orientation constant values:
          C++
              1 ScreenOrientation_PortraitPrimary); - vertical with button at bottom
              2 ScreenOrientation_PortraitSecondary); - vertical with button at top
              4 ScreenOrientation_LandscapePrimary); - horizational w button right
              8 ScreenOrientation_LandscapeSecondary); - horization button left
              16 ScreenOrientation_Default);
          Java
              1 GeckoScreenOrientation.ScreenOrientation.PORTRAIT_PRIMARY.value
              2 GeckoScreenOrientation.ScreenOrientation.PORTRAIT_SECONDARY.value
              4 GeckoScreenOrientation.ScreenOrientation.LANDSCAPE_PRIMARY.value
              8 GeckoScreenOrientation.ScreenOrientation.LANDSCAPE_SECONDARY.value
      
          Java public API
              0 ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
              1 Activitynfo.SCREEN_ORIENTATION_PORTRAIT
      
          Android
              1 ORIENTATION_PORTRAIT
              2 ORIENTATION_LANDSCAPE
      
      Differential Revision: https://phabricator.services.mozilla.com/D129427
      8348b23f
  30. Dec 04, 2021
Loading