Skip to content
A full-featured browser reference implementation using Mozilla Android Components.
Kotlin Python Shell Dockerfile HTML CSS
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Proposes removing the "quality" check since CI handles it Apr 2, 2019
app Add support for auto-publication workflow for android-component Mar 24, 2020
automation Bug 1620190 - part 6: Make bump task staging friendly Mar 19, 2020
buildSrc Update Android Components version to 38.0.20200326130056. Mar 26, 2020
certificates Adds certificates to repository Mar 19, 2020
config Initial robot pattern tests for three dot menu and settings Jan 31, 2019
gradle/wrapper [WIP] Testing gradle version upgrade Mar 9, 2020
taskcluster
.cron.yml Bug 1620190 - part 3: Run android-components bumps once a day Mar 19, 2020
.gitignore Update .gitignore rules Oct 11, 2019
.taskcluster.yml Bug 1622339 - Move android-sdk installation in a toolchain task Mar 25, 2020
CODEOWNERS Add taskcluster to code-owners. Aug 19, 2019
CODE_OF_CONDUCT.md Add Mozilla Code of Conduct file Apr 18, 2019
LICENSE Initial commit Oct 2, 2018
README.md Add support for auto-publication workflow for android-component Mar 24, 2020
build.gradle Use Android Components Nightly builds instead of snapshots. Mar 3, 2020
gradle.properties Reverts "skipSplit" property and instead disables testing binary reso… Jul 17, 2019
gradlew Import cleaned up version of components sample browser. Oct 3, 2018
gradlew.bat Import cleaned up version of components sample browser. Oct 3, 2018
l10n.toml Add l10n.toml file for L10N tooling. Nov 14, 2018
settings.gradle Add support for auto-publication workflow for android-component Mar 24, 2020

README.md

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

Dependency substitutions

You might be interested in building this project against local versions of some of the dependencies. This could be done either by using a local maven repository (quite cumbersome), or via Gradle's dependency substitutions (not at all cumbersome!).

Currently, the substitution flow is streamlined for some of the core dependencies via configuration flags in local.properties. You can build against a local checkout of the following dependencies by specifying their local paths:

  • android-components, specifying its path via autoPublish.android-components.dir=../android-components
    • This assumes that you have an android-components project at the same level in the directory hierarchy as the reference-browser.
    • When enabled, a Reference Browser build will compile android-components locally and publish if it has been modified, and published versions of android-components modules will be automatically used instead of whatever is declared in Dependencies.kt.
  • application-services, specifying its path via substitutions.application-services.dir=../application-services
    • This assumes that you have an application-services project at the same level in the directory hierarchy as the reference-browser.
  • GeckoView, specifying its 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, they will be reflected in the modules list, and you'll be able to modify them from a single Android Studio window.

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/
You can’t perform that action at this time.