1. 11 Dec, 2020 3 commits
    • Alex Catarineu's avatar
      Modify Add-on support · 7c43835f
      Alex Catarineu authored and Matthew Finkel's avatar Matthew Finkel committed
      Bug 40030: Install HTTPS Everywhere and NoScript addons on startup
      
      HTTPS Everywhere is installed as a builtin extension and NoScript as
      a regular AMO addon. To avoid unnecessary I/O we only install NoScript
      the first time, and rely on the browser addon updating mechanism for
      keeping up with new versions. This is the same behaviour that was
      implemented in the Fennec-based Tor Browser, where it was installed
      as a "distribution addon", which also only occurred once.
      
      Bug 40062: HTTPS Everywhere is not shown as installed
      
      Also 40070: Consider storing the list of recommended addons
      
      This implements our own AddonsProvider, which loads the list of
      available addons from assets instead of fetching it from an
      endpoint. In this list, we replace https-everywhere by
      our https-everywhere-eff, so that the EFF one is shown as installed
      in the addons list and the AMO one is not displayed.
      
      Also, we hide the uninstall button for builtin addons.
      
      Bug 40058: Hide option for disallowing addon in private mode
      7c43835f
    • Matthew Finkel's avatar
      Add Tor integration and UI · b242453d
      Matthew Finkel authored
      Bug 40001: Start Tor as part of the Fenix initialization
      
      Bug 40028: Implement Tor Service controller
      
      Bug 40028: Integrate Tor Controller into HomeFragment
      
      Bug 40028: Implement Tor connect and logger screens
      
      Bug 40028: Implement Tor Onboarding
      
      Bug 40028: Implement new home screen
      
      Bug 40028: Define bootstrapping events and Quick Start
      
      Bug 40041: Implement Tor Network Settings
      
      Bug 40041: Integrate Tor Network Settings
      b242453d
    • Matthew Finkel's avatar
      Rename as Tor Browser · 9511e976
      Matthew Finkel authored
      Bug 40020: Change applicationId
      
      Bug 40020: Change app name
      
      Bug 40020: Change deeplink scheme
      
      Bug 40020: Change App icons
      
      Bug 40073: Use correct branding on About page
      
      Bug 40088: Use Tor Browser logo in migration screen
      9511e976
  2. 14 Nov, 2020 1 commit
  3. 05 Nov, 2020 1 commit
  4. 06 Oct, 2020 1 commit
  5. 01 Oct, 2020 1 commit
  6. 29 Sep, 2020 3 commits
    • Michael Comella's avatar
      No issue: elaborate on Components class doc. · 56f78cb3
      Michael Comella authored
      This is to clarify a misunderstanding I found in PR review.
      56f78cb3
    • Michael Comella's avatar
      For #13959: move resetAfter into StrictModeManager. · f19c9920
      Michael Comella authored
      In a followup PR, we need to add state to strictModeManager (the
      number of suppressions). This is much simpler to do when this is defined
      as a class rather than an object. However, when this is defined as a
      class, `resetAfter` needs access to the strictModeManager. Instead of
      passing it in as an argument, it made sense to move this function onto
      the strictModeManager instead.
      
      Since folks are used to calling:
      ```
      StrictMode.ThreadPolicy.allowThreadDiskReads().resetAfter
      ```
      
      We're going to have to add a lint check to prevent them from doing that.
      f19c9920
    • Michael Comella's avatar
      For #13959: change StrictModeManager to class from object. · 6abeb2d9
      Michael Comella authored
      I originally tried to create this PR leaving this as an object to keep
      the change simple but it wasn't worth it - once the object started to
      keep state, we'd need to manually reset the state between runs. Also,
      the tests were already getting hacky with static mocking so it was
      easier to address some of those issues this way too.
      6abeb2d9
  7. 28 Sep, 2020 1 commit
  8. 10 Sep, 2020 1 commit
  9. 09 Sep, 2020 1 commit
  10. 27 Aug, 2020 2 commits
  11. 26 Aug, 2020 2 commits
  12. 29 Jul, 2020 1 commit
    • sraturi's avatar
      for #11830 created class containing the logic for sending AllStartup telemetry logic · 537d95c0
      sraturi authored
      lint check
      
      renamed the intentReceived telemetry to appOpenedAllSource
      
      added comments
      
      removed unused code
      
      moved lifecycle process to AppAllSourceStartTelemetry
      
      moved tracking event out of init function
      
      lint fix
      
      moved appAllStartTelemetry to components
      
      added bit more info about the metrics
      
      added the  onReceivedIntent metric back
      
      minor fix
      
      change discriptions based on the comments frm MR
      
      wrote test cases for AppAllSourceStartTelemetry.kt
      
      lint fix
      
      test case to mock application going background
      
      post rebase:
      
      post rebase:
      
      fixed nit from comments
      
      fixed nit from comments
      
      fixed nit from comments
      
      lint fix
      
      lint fix
      537d95c0
  13. 21 Jul, 2020 1 commit
  14. 16 Jul, 2020 1 commit
  15. 03 Jul, 2020 1 commit
  16. 25 Jun, 2020 1 commit
  17. 12 Jun, 2020 1 commit
  18. 09 Jun, 2020 1 commit
  19. 01 Jun, 2020 1 commit
  20. 29 May, 2020 1 commit
  21. 22 Apr, 2020 1 commit
  22. 09 Apr, 2020 1 commit
  23. 08 Apr, 2020 1 commit
    • Michael Comella's avatar
      No issue: Move Do and OpenClass to utils pkg. · 4437ddd5
      Michael Comella authored
      They were both in their packages by themselves, which feels unnecessary.
      Unfortunately, a utils pkg is discouraged by kotlin but we don't have a
      better place for them right now. Maybe an annotations/ pkg for the
      latter?
      4437ddd5
  24. 28 Mar, 2020 1 commit
  25. 26 Mar, 2020 1 commit
  26. 20 Mar, 2020 1 commit
  27. 19 Mar, 2020 1 commit
    • Grisha Kruglov's avatar
      Closes #7450: Lazy storage initialization · eb14532c
      Grisha Kruglov authored
      Make sure that we actually lazily initialize our storage layers.
      
      With this patch applied, storage layers (history, logins, bookmarks) will be initialized when first
      accessed. We will no longer block GeckoEngine init, for example, on waiting for the logins storage
      to initialize (which needs to access the costly securePrefStorage).
      Similarly, BackgroundServices init will no longer require initialized instances of the storage
      components - references to their "lazy wrappers" will suffice.
      
      In practice, this change changes when our storage layers are initialized in the following ways.
      Currently, we will initialize everything on startup. This includes loading our megazord, as well.
      
      With this change, init path depends on if the user is signed-into FxA or not.
      
      If user is not an FxA user:
      - on startup, none of the storage layers are initialized
      - history storage will be initialized once, whenever:
        - first non-customTab page is loaded (access to the HistoryDelegate)
        - first interaction with the awesomebar
        - history UI is accessed
      - bookmarks storage will be initialized once, whenever:
        - something is bookmarked, or we need to figure out if something's bookmarked
        - bookmarks UI is accessed
      - logins storage will be initialized once, whenever:
        - first page is loaded with a login/password fields that can be autofilled
        - (or some other interaction by GV with the autofill/loginStorage delegates)
        - logins UI is accessed
      - all of these storages will be initialized if the user logs into FxA and starts syncing data
        - except, if a storage is not chosen to be synced, it will not be initialized
      
      If user is an FxA user:
      - on startup, none of the storage layers are initialized
      - sometime shortly after startup is complete, when a sync worker runs in the background, all storage
      layers that are enabled to sync will be initialized.
      
      This change also means that we delay loading the megazord until first access (as described above).
      eb14532c
  28. 11 Mar, 2020 1 commit
  29. 03 Mar, 2020 3 commits
  30. 28 Feb, 2020 1 commit
  31. 25 Feb, 2020 1 commit
  32. 24 Feb, 2020 1 commit