Mobile/GeckoView: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (→‎Crow Bugs: Firefox Reality Bugs)
(→‎Bugs: Moved bugs to https://wiki.mozilla.org/Mobile/GeckoView/Bugs)
Line 67: Line 67:
== Bugs ==
== Bugs ==


=== Klar Blockers ===
[[Mobile/GeckoView/Bugs|GeckoView bugs 🐛]]
 
P1 GeckoView bugs:
 
<bugzilla>
{
  "f2": "assigned_to",
  "o2": "notequals",
  "v2": "nobody@mozilla.org",
  "priority": "P1",
  "component": "GeckoView",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
[geckoview:klar:p1] non-GeckoView bugs:
 
<bugzilla>
{
  "f2": "assigned_to",
  "o2": "notequals",
  "v2": "nobody@mozilla.org",
  "f1": "component",
  "o1": "notequals",
  "v1": "GeckoView",
  "status_whiteboard": "[geckoview:klar:p1]",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
=== Klar Blockers: Unassigned ===
 
Unassigned P1 GeckoView bugs:
 
<bugzilla>
{
  "assigned_to": "nobody@mozilla.org",
  "priority": "P1",
  "f2": "keywords",
  "o2": "notsubstring",
  "v2": "meta",
  "component": "GeckoView",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
Unassigned [geckoview:klar:p1] non-GeckoView bugs:
 
<bugzilla>
{
  "assigned_to": "nobody@mozilla.org",
  "f1": "component",
  "o1": "notequals",
  "v1": "GeckoView",
  "status_whiteboard": "[geckoview:klar:p1]",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
=== GeckoView Triage Bugs ===
 
Unprioritized GeckoView bugs:
 
<bugzilla>
{
  "priority": ["--","P4"],
  "f1": "keywords",
  "o1": "notsubstring",
  "v1": "meta",
  "component": "GeckoView",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
Unprioritized [geckoview:klar] non-GeckoView bugs:
 
<bugzilla>
{
  "f1": "component",
  "o1": "notequals",
  "v1": "GeckoView",
  "status_whiteboard": "[geckoview:klar]",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
=== Klar Backlog ===
 
P2 GeckoView bugs:
 
<bugzilla>
{
  "priority": "P2",
  "component": "GeckoView",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
[geckoview:klar:p2] non-GeckoView bugs:
 
<bugzilla>
{
  "f1": "component",
  "o1": "notequals",
  "v1": "GeckoView",
  "status_whiteboard": "[geckoview:klar:p2]",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
=== Firefox Reality Bugs ===
 
* All [geckoview:fxr] and [geckoview:crow] bugs:
 
<bugzilla>
{
  "f1": "status_whiteboard",
  "o1": "anywordssubstr",
  "v1": "[geckoview:crow,[geckoview:fxr",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, assigned_to",
  "order": "priority,id"
}
</bugzilla>
 
=== Other Bug Queries ===
 
* [https://bugzilla.mozilla.org/buglist.cgi?priority=--&priority=P4&keywords=meta%2C%20&keywords_type=nowords&columnlist=priority%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate&resolution=---&query_format=advanced&component=GeckoView Unprioritized GeckoView bugs]
* [https://bugzilla.mozilla.org/buglist.cgi?component=GeckoView&priority=P1&resolution=---&include_fields=id&include_fields=priority&include_fields=component&include_fields=summary&include_fields=keywords&include_fields=whiteboard&include_fields=assigned_to&order=priority P1 GeckoView bugs]
* [https://bugzilla.mozilla.org/buglist.cgi?component=GeckoView&priority=P2&priority=P3&priority=P4&priority=P5&query_format=advanced&resolution=---&query_based_on=&columnlist=priority%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate P2-P5 GeckoView bugs]
* [https://github.com/mozilla-mobile/focus-android/milestone/22 Klar's "Klar v7.0" GitHub issues]
* [https://github.com/mozilla-mobile/focus-android/issues?q=is%3Aopen+is%3Aissue+label%3AKlar%2BGeckoview Klar's "Klar+GeckoView" GitHub issues]
* [https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=%5Bgeckoview%3Aklar geckoview:klar fixed bugs]
* [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&status_whiteboard=%5Bgeckoview%3Aklar&resolution=---&query_format=advanced geckoview:klar open bugs]
* [https://bugzilla.mozilla.org/buglist.cgi?o5=equals&o1=changedafter&j2=OR&v5=P1&o4=equals&v1=1w&v4=GeckoView&f1=resolution&o7=substring&f8=CP&resolution=FIXED&v7=%5Bgeckoview%3Aklar%3Ap1%5D&f4=component&query_format=advanced&f3=OP&f2=OP&f5=priority&f6=CP&f7=status_whiteboard Recently fixed Klar blockers]

Revision as of 00:38, 2 June 2018

What is GeckoView

GeckoView is an Android library project that allows third-party developers to use Gecko as an Android View in their own applications. GeckoView is similar to Android's built in WebView, but it is not a drop in replacement for WebView.

Note that GeckoView is not quite ready to be used in a production environment.

Current API documentation can be viewed here: https://mozilla.github.io/geckoview/javadoc/mozilla-central/

Using GeckoView

Add Nightly taskcluster repo to your build.gradle

repositories {
    maven {
       url 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.nightly.latest.mobile.android-api-16-opt/artifacts/public/android/maven'
    }
}

Add geckoview to dependencies

Again, in build.gradle

dependencies {
    compile 'org.mozilla:geckoview-nightly-armeabi-v7a:+'
}

This will always use the latest Nightly in the repository. As GeckoView development continues, we will have Beta and Release repositories that have the expected version names (61.0.0, etc).


Loading a page in GeckoView

You can now use GeckoView your app by including the following in a layout XML file:

<org.mozilla.gecko.GeckoView
  android:id="@+id/geckoview"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content" />

You can then load a page in your Activity with:

onCreate(...) {
    // Find the GeckoView in our layout
    GeckoView geckoView = (GeckoView) findViewById(R.id.geckoview);

    // Attach the GeckoView to a new GeckoSession
    GeckoSession session = new GeckoSession();
    geckoView.setSession(session);

    // Load a URL
    session.loadUri("http://mozilla.com");
}

Example App

Firefox Focus has a build variant that uses Gecko. To build, check out the Focus code from https://github.com/mozilla-mobile/focus-android and follow the instructions. The only difference is you need to select one of the Gecko build variants from the Android Studio 'Build' menu.

The Gecko-related code for Focus lives in WebViewProvider.java

Bugs

GeckoView bugs 🐛