• Stars
    star
    567
  • Rank 78,634 (Top 2 %)
  • Language
    Kotlin
  • License
    Mozilla Public Li...
  • Created about 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A full-featured browser reference implementation using Mozilla Android Components.

Reference Browser

Task Status

A web browser reference implementation using Mozilla Android Components.

The Reference Browser is not a product intended to ship to end users. Instead it is a Technology Preview for many new mobile components that multiple teams at Mozilla are currently working on

It includes the Mozilla Web Platform via GeckoView, a new modern Firefox Accounts and Cloud Sync implementation and the new "Glean" telemetry library. All these components will be foundational for Mozilla's existing and upcoming Android products.

The Reference Browser can also be a starting point for your own new browser-like applications. It depends heavily on the Android Components project where most of the actual implementation lives. That project also includes many smaller sample applications.

Getting Involved

We encourage you to participate in this open source project. We love pull requests, bug reports, ideas, (security) code reviews or any kind of positive contribution.

Before you attempt to make a contribution please read the Community Participation Guidelines.

Test Channel on Google Play Store

To get the Reference Browser on your device, follow these two steps:

  1. Visit https://groups.google.com/forum/#!forum/mozilla-reference-browser and join the Google Group
  2. Visit https://play.google.com/apps/testing/org.mozilla.reference.browser on your device to join the test program and to install the app

Make sure you use the same Google Account for both steps.

Download Nightly Builds Directly

Signed Nightly builds can be downloaded from:

Please note that these builds do not auto-update, you will have to keep up to date manually.

The latest Nightly build task can be found here.

Getting Involved

We encourage you to participate in this open source project. We love pull requests, bug reports, ideas, (security) code reviews or any kind of positive contribution.

Before you attempt to make a contribution please read the Community Participation Guidelines.

Local Development

You might be interested in building this project against local versions of some of the dependencies. Depending on which dependencies you're building against, there are couple of paths.

Auto-publication workflow

This is the most streamlined workflow which fully automates dependency publication. It currently supports android-components and application-services dependencies.

In a local.properties file in root of the reference-browser checkout, specify relative paths to a repository you need (or both):

# Local workflow
autoPublish.android-components.dir=../android-components
autoPublish.application-services.dir=../application-services

That's it! Next build of reference-browser will be against your local versions of these repositories. Simply make changes in android-components or application-services, press Play in reference-browser and those changes will be picked-up.

See a demo of this workflow in action. Video mentions Fenix, but it works in exactly the same with with reference-browser.

Dependency substitutions for GeckoView

GeckoView currently can be configured via a dependency substitution.

In a local.properties file in root of the reference-browser checkout, specify GeckoView's path via dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-central (and, optionally, dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir). See Bug 1533465.

This assumes that you have built, packaged, and published your local GeckoView -- but don't worry, the dependency substitution script has the latest instructions for doing that.

Do not forget to run a Gradle sync in Android Studio after changing local.properties. If you specified any substitutions (e.g. GeckoView), they will be reflected in the modules list, and you'll be able to modify them from a single Android Studio window. For auto-publication workflow, use seperate Android Studio windows.

License

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/

More Repositories

1

firefox-ios

Firefox for iOS
Swift
12,203
star
2

fenix

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
Kotlin
6,473
star
3

focus-android

⚠️ Firefox Focus (Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
Kotlin
2,109
star
4

android-components

⚠️ This project moved to a new repository. It is now developed and maintained at: https://github.com/mozilla-mobile/firefox-android
Kotlin
2,019
star
5

firefox-android

⚠️ This repository hosts the Firefox for Android (Fenix), Focus for Android, and Mozilla Android Components projects. It is now developed and maintained as part of Mozilla Central. See the announcement here: https://github.com/mozilla-mobile/firefox-android/wiki#upcoming-migration-to-mozilla-central. ”
Kotlin
1,718
star
6

focus-ios

⚠️ Firefox Focus (iOS) has moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-ios
Swift
1,259
star
7

mozilla-vpn-client

A fast, secure and easy to use VPN. Built by the makers of Firefox.
C++
462
star
8

FirefoxLite

Emerging Market Experiment
Java
282
star
9

firefox-tv

Firefox for Amazon's Fire TV
Kotlin
252
star
10

webxr-ios

An iOS app for testing WebXR
Swift
210
star
11

guardian-vpn-android

DEPRECATED - Mozilla VPN for Android
Kotlin
52
star
12

guardian-vpn-ios

Mozilla VPN for iOS
Swift
52
star
13

ios-l10n-scripts

Python
45
star
14

firefox-ios-open-in-client

INACTIVE - http://mzl.la/ghe-archive - Reference client for opening links in Firefox for iOS.
Swift
43
star
15

ScrollingCardView

INACTIVE - http://mzl.la/ghe-archive - A card view widget for iOS that will grow with its content, enabling scrolling when the content is larger than the view.
Swift
43
star
16

FirefoxData-android

DEPRECATED - A library for accessing a user's Firefox data: history, bookmarks, etc.
Java
39
star
17

shared-docs

⚠️ shared-docs moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
34
star
18

telemetry-ios

A generic library for sending telemetry pings from iOS applications to Mozilla's telemetry service.
Swift
28
star
19

firefox-echo-show

Firefox for Amazon's Echo Show
Java
25
star
20

android-automation-tools

INACTIVE - http://mzl.la/ghe-archive - Tools for automating tasks in Android projects
Kotlin
23
star
21

prox

[INACTIVE] A search and discovery app for the "here & now". We're experimenting with ideas on mobile that can better surface content from the open web.
Swift
22
star
22

android-permission-handler

INACTIVE - http://mzl.la/ghe-archive - A permission helper systemizing runtime permission handling on Android devices
Java
21
star
23

MappaMundi

A declarative Don't Repeat Yourself tool for XCUITesting and screenshots.
Swift
19
star
24

AutocompleteTextField

An iOS text field that autocompletes text with the supplied list of words.
Swift
18
star
25

telemetry-android

A generic library for generating and sending telemetry pings from Android applications to Mozilla's telemetry service.
Java
18
star
26

gradle-apilint

Gradle Plugin that tracks the API of an Android library and helps maintain backward compatibility.
Python
8
star
27

outreachy-UX-2020

INACTIVE - http://mzl.la/ghe-archive - A place to document UX contributions for the summer 2020 Outreachy program.
8
star
28

perf-tools

Tools for the performance team that don't fit into other repositories
Python
7
star
29

fretboard

A simple A/B testing framework for mobile applications
Kotlin
6
star
30

relbot

Python
6
star
31

mozilla-mobile.github.io

INACTIVE - http://mzl.la/ghe-archive - Mozilla Mobile Blog
Ruby
6
star
32

buddybuild

INACTIVE - http://mzl.la/ghe-archive - Instructions on how to install an iOS app via BuddyBuild
5
star
33

testapp

Page for testing web page controls
JavaScript
5
star
34

prox-server

[INACTIVE] Server & data scripts for the Prox client.
Python
5
star
35

fenix-beta-version

GitHub Action that discovers the current Fenix Beta version
Python
5
star
36

web_metadata_ios

INACTIVE - http://mzl.la/ghe-archive - Client side web page metadata extraction
Swift
4
star
37

perf-frontend-issues

A repository to hold issues related to front-end mobile application performance.
4
star
38

fennec-profile-manager

Fennec Profile Manager (Backup / Restore)
Kotlin
4
star
39

test-dashboard

Python
3
star
40

nmx-video-prototypes

INACTIVE - http://mzl.la/ghe-archive - A collection of NMX prototypes for video-related topics
Kotlin
3
star
41

fenix-nightly-perftest-results

INACTIVE - http://mzl.la/ghe-archive - Fenix nightly performance test results
3
star
42

focus_foxfooding_campaign

3
star
43

onyx_ios

iOS Client for the Onyx link server https://github.com/mozilla/onyx
Swift
3
star
44

sync-strings-action

Sync Strings GitHub Action
Python
3
star
45

mobile-test-eng

Task tracking for Mobile Test Engineering Team
2
star
46

focus-ios-open-in-client

INACTIVE - http://mzl.la/ghe-archive - Reference client for opening links in Focus for iOS.
2
star
47

ac-version-for-fenix-beta

⚠️ This GitHub action is now developed and maintained as part of: https://github.com/mozilla-mobile/fenix-beta-version
Python
2
star
48

qt_static_windows

2
star
49

ndhook

INACTIVE - http://mzl.la/ghe-archive - A server that answers webhook calls from Github and instantiates Nimbledroid profiles
Rust
2
star
50

prox-explorer

[INACTIVE] A web-based exploration of event APIs for Project Prox.
JavaScript
2
star
51

FNPRMS

"funperms": Fenix Nightly Performance Regression Measurement System used by the Android FE perf team to measure cold startup. Please file issues in perf-frontend-issues
Python
1
star
52

testops-looker

LookML
1
star
53

qt_static_macos

This repo is needed to compile MozillaVPN on macOS as artifact
1
star
54

testops-tools

Home for Mobile cross-project CI tasks
Python
1
star
55

data-sync-user-testing

test repo for smoketesting the sync bot
1
star
56

strbot

String Bot - To sync strings to release branches (Fenix, A-C)
Python
1
star
57

mobile-test-priority-messaging

A Slack monitoring/message high priority messaging delegation application specific for the needs of the Mobile Test Engineering team
Python
1
star
58

LocalizationTools

Swift
1
star
59

ff-test-buddybuild

INACTIVE - http://mzl.la/ghe-archive - BuddyBuild - Test App
Swift
1
star
60

nimbledroidrs

INACTIVE - http://mzl.la/ghe-archive - A Rust library for interacting with Nimbledroid.
Rust
1
star
61

whatsnew

INACTIVE - http://mzl.la/ghe-archive - Update the Firefox for iOS info on iTunes Connect
Python
1
star