<div dir="ltr">On Mon, Jan 16, 2017 at 1:33 PM, Mike Connor <span dir="ltr"><<a href="mailto:mconnor@mozilla.com" target="_blank">mconnor@mozilla.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think the rule is fine, subject to the reality that the scope of totally new doc-level UX is fairly limited.  I think you'll want to be a little more aggressive up front if you want to shift the overall codebase in finite time.<div><br></div><div>To that end, I'd propose an additional requirement that any major refactor or redesign of in-content or separate-window UI (i.e. I've heard rumblings of a pending preferences redesign) should move to HTML if possible.  If it's not possible, the relevant issues should be filed and tracked as a condition of waiving the refactor requirement.  (I think it's a module owner call whether to waive, since getting off XUL is likely going to matter more in another year or two.)</div></div></blockquote><div><br></div><div>Yeah that makes a lot of sense. Of course as with any rule we make I expect there to be small cases where we have to waive at least at first. <br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>On your bullet points, I think the main blocker to moving everything to at least mostly-HTML outside of browser.xul is going to be the top-level menu issue.  That might be a good test case for a new Web Component binding, to follow on from MattN's thinking.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-- Mike</div></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Jan 16, 2017 at 3:43 PM, Dave Townsend <span dir="ltr"><<a href="mailto:dtownsend@mozilla.com" target="_blank">dtownsend@mozilla.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid39" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">One of the things I've been investigating since moving back to the desktop team is how we can remove XUL from the application as much as possible. The benefits for doing this are varied, some obvious examples:</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid40" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><br></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid41" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* XUL is a proprietary standard and we barely maintain it.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid42" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* Shallower learning curve for new contributors who may already know and use HTML.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid43" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* HTML rendering is more optimized in the platform than XUL.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid44" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* Further integration of Servo code may require dropping XUL altogether.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid45" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><br></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid126" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">The necessary first step of reducing XUL use is to stop adding any more UI that uses XUL and here I'm talking about wholly new UI, additions to browser.xul and other existing UI are a separate concern. What do folks think about making this a rule for new projects in the near future?</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid47" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><br></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid99" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">Of course there are some features missing from HTML that make this impossible in some cases right now. Some that I've already found:</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid49" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><br></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid50" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* HTML has no support for popup panels like XUL does. The devtools team have been working around this but they are still dependent on XUL right now.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid51" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* iframe elements don't have the same capabilities that the XUL browser element does and we use that in some UI.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid52" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">* Top level menus on OSX are currently only able to be defined with XUL elements. This only affects UI that uses top-level windows and most of our new UI is in-content so may be less of an issue.</span></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid53" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><br></div><div id="m_8453239339812392255m_613112015951754677gmail-magicdomid237" class="m_8453239339812392255m_613112015951754677gmail-ace-line"><span class="m_8453239339812392255m_613112015951754677gmail-author-a-bz76ziz88zz122zz80zz122z2tz80zjz66zuz66zis">What other features do we depend on in XUL that I haven't listed?</span></div></div>
<br></div></div><span class="">______________________________<wbr>_________________<br>
firefox-dev mailing list<br>
<a href="mailto:firefox-dev@mozilla.org" target="_blank">firefox-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/firefox-dev" rel="noreferrer" target="_blank">https://mail.mozilla.org/listi<wbr>nfo/firefox-dev</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div></div>