Is there some visibility into the feedback by other participants (esp. other browser vendors) and why they think this is a good idea? What are the arguments *for* this thing, and have they engaged with our arguments against at all?

As a desktop Firefox person, "embedding" Gecko and providing UI on top is at some level what we do - with the added bonus that we can change Gecko to suit us if necessary (a luxury embedders generally do not have).

From experience, people seriously underestimate how hard this is - things like "I want a URL bar" or "I want tabs / multiple navigation contexts and want them to interact correctly" or "users should be able to download files and/or open them in helper apps cross-platform" are considerably less trivial than most people seem to assume, and even as Mozilla we have (perhaps embarrassingly) repeatedly made the same / similar mistakes in these areas when creating new "embedders" from scratch (Firefox for iOS, FirefoxOS, the various Android browsers), or have had to go over all our existing separate gecko consumers to adjust them to new web specs (most recent example I can think of is same site cookies, for instance, which requires passing along origin-of-link information for context menu or similar affordances), which is non-trivial and of course cannot happen without embedding API adjustments. That's before we've talked about the embedded code itself changing requirements (e10s, fission, sandboxing improvements, ...).

When looking at the objections our senior engineers had already raised earlier in this thread, I was struck by Ted's point about a module system - avoiding specifying a module system because "it's hard" (which I too don't disbelieve, fwiw), but instead trying to specify a web embedding API looks to me like the inverse of "better the devil you know" on the part of the C++ standard library folks - fundamentally, a module system is a more constrained thing than "please provide a complete API for interacting with the web".

Finally, I'll point out that in all this time, it seems (from searching the web, that is) the standard library committee has not specified a standard API for either sockets or HTTP(S) connections - a very very tiny subset of "web view", instead leaving everyone to integrate libcurl/neon/boost.asio/whatever as they see fit. It seems odd to go straight from "nothing" to "web view", and not start with the building blocks... Similar arguments could be made for xml/html parsing, JS engine support, CSS parsing, layout, etc.

(apparently there is/was a networking/socket (but not http/https - or even tls itself) proposal but afaict it hasn't been integrated in any of the finished standards so far?)

~ Gijs


On 22/10/2019 21:54, Botond Ballo wrote:
Hi folks,

I wanted to give an update on the "web_view" C++ standard library proposal.

I have relayed the feedback received on this thread on multiple
occasions, and our concerns about this proposal as a browser
implementer have been noted by the committee. However, the proposal
has been received positively by other participants of the committee,
including other browser vendors, and is continuing to be developed and
reviewed. While it's still at an early stage (still in front of the
Library Evolution Incubator group), it is being actively developed and
the proposed API is becoming more fleshed out.

Given that, would anyone be interested in reviewing the proposed API
and providing feedback on its design? I feel like the committee would
be receptive to constructive technical feedback, and as a group with
experience in developing embedding APIs, we are in a particularly good
position to provide such feedback.

The latest draft of the proposal can be found here:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1108r4.html

Thanks!
Botond

On Wed, Jul 18, 2018 at 12:45 PM Botond Ballo <bba...@mozilla.com> wrote:

Hi everyone,

With the proposal for a standard 2D graphics library now on ice [1],
members of the C++ standards committee have been investigating
alternative ways of giving C++ programmers a standard way to write
graphical and interactive applications, in a way that leverages
existing standards and imposes a lower workload on the committee.

A recent proposal along these lines is for a standard embedding
facility called "web_view", inspired by existing embedding APIs like
Android's WebView:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1108r0.html

As we have some experience in the embedding space here at Mozilla, I
was wondering if anyone had feedback on this embedding library
proposal. This is an early-stage proposal, so high-level feedback on
the design and overall approach is likely to be welcome.

Thanks!
Botond

[1] 
https://botondballo.wordpress.com/2018/06/20/trip-report-c-standards-meeting-in-rapperswil-june-2018/

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to