Hi Vivien,

Thanks for the clarifications. Do you have any ideas about how this
hypothetical HTML-based browser would be executed long term, rather than
running a new Firefox on top of the old Firefox? browser.html currently
uses a hack built around a certified mozApp, and the mozBrowser API which
is also based around mozApps. I'm looking for a viable post-mozApps
solution that could be used by multiple projects.

With the demise of XULRunner it seems the only way to run a Gecko-based
project that isn't Firefox is to run it on top of Firefox. That doesn't do
much to "promote innovation" and I'm guessing is a major reason projects
like Brave are being forced to switch to Webkit/Electron. I'm having to
consider the same route for another project as well.

Ben

On 25 February 2016 at 14:09, Vivien Nicolas <vnico...@mozilla.com> wrote:

> Just to make things clearer.
>
> Planula is not doing exactly what you proposed. It does not tries at all
> to emulate Electron, nor provide the same set of APIs. It does not try to
> be an HTML app-runtime neither.
>
> Planula is an HTML browser experiment, running on top of *Firefox Nightly*
> (with a very small subset of patches that I need to upload to the repo...).
> It does not implies a new permission model, nor new APIs. Though it rely on
> mozbrowser iframes.
>
> Planula aims to be a very small shell around iframe mozbrowser. No
> features are really built-in, except tabs and an urlbar. The plan is to
> implement *all* features as WebExtensions. In this context a feature means:
> a download manager, a bookmark button + a bookmark manager, Firefox Hello,
> etc..
>
> Basically I would like Planula to be a kind of dedicated sandbox to
> migrate Firefox bits out of XUL/XPCOM in an incremental manner. For
> example, this kind of sandbox can let us implement a particular feature
> (e.g the bookmark button) with pure web technologies, and then try to
> backport it to Firefox itself as a self-contained WebExtension.
>
> This is why Planula re-use as much as possible from Firefox, such as
> about: pages, devtools, etc...
>
> If Planula is ever maintained or used for what it is designed for, one of
> the last thing to do would be to convert <xul:browser> to <iframe
> mozbrowser>. This will require a bit of plumbing (parts of it beeing
> already done in bug 1238160 as jryan mentioned).
>
> Vivien.
>
> On Wed, Feb 24, 2016 at 9:19 PM, Benjamin Francis <bfran...@mozilla.com>
> wrote:
>
>> Hi,
>>
>> I've been thinking about working towards deprecating "Open Web Apps" (aka
>> mozApps
>> <
>> https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/API/Navigator/mozApps
>> >)
>> in Gecko.
>>
>> For the most part I think mozApps should eventually be replaced by
>> standards-based web apps using Web Manifest, Service Workers etc. I'd love
>> to see a standalone display mode for Firefox which supports these web apps
>> on desktop and mobile to replace the now defunct web runtime, but that's
>> not what this email is about.
>>
>> For the most privileged pieces of UI like the browser chrome of the
>> browser.html project and the Firefox OS system app I think we may need
>> another solution. I'd like us to be able to split Gaia
>> <https://github.com/mozilla-b2g/gaia> into chrome (the system pieces) and
>> standard web content (everything else). (I'd also like to see a lot of the
>> current mozApps-only DOM APIs become web services).
>>
>>    - In the past we had XULRunner but this has recently been removed and
>> it
>>    seems the continued use of XUL is being discouraged in favour of HTML.
>>    - There was an attempt at rebooting the Chromeless project
>>    <https://github.com/mikedeboer/chromeless2> but it looks like that was
>>    still based on XULRunner.
>>    - The browser.html <https://github.com/browserhtml/browserhtml/>
>> project
>>    currently uses Graphene
>>    <
>> https://github.com/browserhtml/browserhtml/wiki/Building-Graphene-%28Gecko-flavor%29
>> >,
>>    a build of Gecko/Servo which runs locally hosted web content as browser
>>    chrome, but that's based on certified mozApps and the mozBrowser API.
>>
>> After chatting with members of the browser.html team I'd like to propose a
>> solution inspired by Electron <http://electron.atom.io/> (which they
>> already proposed <https://github.com/browserhtml/browserhtml/issues/639>
>> before <https://github.com/servo/servo/issues/7379>). This would involve
>> a
>> new type of HTML-based chrome including a new <webview> element.
>>
>> Kan-Ru previously did a comparison
>> <https://wiki.mozilla.org/WebAPI/BrowserAPI/Common_Subset> of Mozilla's
>> mozBrowser API, Google's <webview> and Microsoft's <webview> and I started
>> to spec something out <https://github.com/benfrancis/webview/> with a
>> view
>> to potentially standardising this, but the web lacks the security model
>> needed to expose this API and there's currently not much interest in a
>> standard. So my proposal is a chrome-only <webview> element for Gecko
>> which
>> would replace the mozApps-only mozBrowser API
>> <https://developer.mozilla.org/en-US/docs/Web/API/Using_the_Browser_API>,
>> along the lines of Electron's <webview> element
>> <http://electron.atom.io/docs/v0.36.8/api/web-view-tag/>, to allow you to
>> safely embed web content in an application with HTML-based chrome.
>>
>> We could also potentially emulate other parts of Electron's APIs too, see
>> their quick start tutorial
>> <http://electron.atom.io/docs/v0.36.8/tutorial/quick-start/> to get an
>> idea
>> of how their embedding works.
>>
>> Initially this would be used by the browser.html and Firefox OS projects,
>> but I think it could be a possible route away from XUL for Firefox in the
>> future too.
>>
>> I've chatted with a few people working on browser.html and Firefox OS
>> about
>> this, but I'd like to get broader feedback. Vivien told me he's already
>> prototyping a similar solution <https://github.com/vingtetun/planula> to
>> the same problem so I'd like to kick off some discussion here about which
>> direction we should take.
>>
>> Thanks
>>
>> Ben
>> _______________________________________________
>> dev-platform mailing list
>> dev-platform@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-platform
>>
>
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to