<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-10-12 18:04 GMT+02:00 Gijs Kruitbosch <span dir="ltr"><<a href="mailto:gijskruitbosch@gmail.com" target="_blank">gijskruitbosch@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF"><span class="gmail-">
    
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_extra">2016-10-12 8:26 GMT-07:00 Gijs
          Kruitbosch <span dir="ltr"><<a href="mailto:gijskruitbosch@gmail.com" target="_blank">gijskruitbosch@gmail.com</a>></span>:<span></span>
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div bgcolor="#FFFFFF">
                <blockquote type="cite">
                  <div dir="ltr">
                    <div class="gmail_extra">
                      <div class="gmail_quote">
                        <div dir="ltr"><span></span></div>
                        <div>Session restore?<br>
                          <a href="http://blog.techno-barje.fr/post/2016/03/14/session-restore-web-extension/" target="_blank">http://blog.techno-barje.fr/po<wbr>st/2016/03/14/session-restore-<wbr>web-extension/</a><br>
                        </div>
                        <div>The big advantage to this particular
                          feature is that it doesn't involve much UI,
                          which is where WebExtension is the most
                          limited.<br>
                        </div>
                      </div>
                    </div>
                  </div>
                </blockquote>
                ... but then, is avoiding the UI problem really going to
                be helpful in the future?</div></blockquote></div></div></div></blockquote></span></div></blockquote><div>That's just being iterative. This experiment is here, available for anyone to test it, compare the performances, and see for real how that would look like.<br><br></div><div>We should also be iterative about integrating within browser.xul UI. The awesomebar for example could be a good candidate of a self contained UI. I have a prototype where I rip off browser.xul completely and implement everything out of web extensions (I described in my first reply in this thread). But that's just a showoff to help drawing a path between today and a fully addonified browser. <br>Speaking about mochitest-plain, I got them running in a completely new 
browser, in full HTML, on try. It wasn't green as some web features were
 obviously broken, but the test harness was running just fine.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF"><span class="gmail-"></span>
    Aligning ourselves with the web is a good goal, IMO, but seems
    problematic with WebExtensions. WebExtensions, its async-ness, and
    its lacking support for actual UI creation, and interfacing with
    related UI on a single main thread with multiple async components,
    is (to the best of my knowledge) not a solved problem**. Then
    there's all the stuff about exposed vs. internally used API
    surfaces. Using React for the internal implementation of the
    frontend components would be better-understood (even if I'm
    personally not a massive React fan...).<br></div></blockquote><div><br></div><div>Using React is ortogonal to the extension proposal. You may use whatever web feature you prefer in it.<br>The benefit of building your app with addons is that you can replace each of them and use completely different web technologies. Whereas if you just do one big document implementing everyhing, like browser.xul, it won't be possible.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF">Those are all solvable problems, but there would need to be a
    commitment that people want to invest in this, and broader agreement
    on tools and direction.<br></div></blockquote><div><br></div><div>I think some experiments would help taking any decision and help everyone understand how that would really look like.<br><br></div><div>I've been working on this very narrow topic since January as a side project and I do have a interesting feedback to share:<br>* I wasn't expecting to be able to reimplement most of Session restore features as a web extension. I'm missing some really small tweaks to chrome.tabs API.<br></div><div>* I was really surprised to be able to reimplement the core browser features (tabs, urlbar, content) by just using chrome.tabs API, as-is, with really dumb tweaks made to the official API, which I'm not sure have to be privileged/internal and could just be exposed to all addons!<br><br></div></div></div></div>