Commit Graph

400 Commits

Author SHA1 Message Date
Andrew Swan
7696519cff Bug 1555060 Convert <tabs> to a custom element
The conversion for "regular" <tabs> elements is straightforward, most of
the work here is to support the tab strip (the <tabs> element with the id
"tabbrowser-tabs").  The markup needed for the tab strip moves directly
into browser.xhtml and the construction/teardown logic is now explicitly
driven from gBrowser.  There are many more little tweaks too numerous to
enumerate.

Differential Revision: https://phabricator.services.mozilla.com/D32855

--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js
extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4
extra : intermediate-source : a5c6deeda8a9475ac0268a4351417c8ff659c962
extra : histedit_source : 5eb8b3d14027f2aeca5c52534096837cd0343104%2Ca23a07ddd5e1fb8bd084644dd6db0ee028b7c4b4
2019-06-20 14:09:37 -07:00
Ciure Andrei
c04368fddd Backed out 3 changesets (bug 1555060) for causing test_tabbar.py to perma fail CLOSED TREE
Backed out changeset a5c6deeda8a9 (bug 1555060)
Backed out changeset f4e21e465f38 (bug 1555060)
Backed out changeset c71c45fe3e63 (bug 1555060)

--HG--
rename : browser/base/content/tabbrowser-tabs.js => browser/base/content/tabbrowser.xml
2019-06-28 00:21:50 +03:00
Andrew Swan
e6c0e0f03a Bug 1555060 Convert <tabs> to a custom element
The conversion for "regular" <tabs> elements is straightforward, most of
the work here is to support the tab strip (the <tabs> element with the id
"tabbrowser-tabs").  The markup needed for the tab strip moves directly
into browser.xhtml and the construction/teardown logic is now explicitly
driven from gBrowser.  There are many more little tweaks too numerous to
enumerate.

Differential Revision: https://phabricator.services.mozilla.com/D32855

--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js
extra : rebase_source : 6b2b0ed9b01958d1b2db605ab300c4bebcaa461c
extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4
2019-06-20 14:09:37 -07:00
Alexander Surkov
3ef9e42f45 Bug 1495621 - convert wizard binding to Custom Element
Differential Revision: https://phabricator.services.mozilla.com/D26334
2019-04-04 11:42:15 -04:00
Dão Gottwald
402f849f33 Bug 1561325 - Use <image> instead of <dropmarker> for the urlbar history dropmarker. r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D35814

--HG--
extra : moz-landing-system : lando
2019-06-25 15:56:59 +00:00
Narcis Beleuzu
01662f5eb8 Backed out changeset 62ac95a65617 (bug 1495621) for marionette mozprocess timed out failures. 2019-06-13 22:20:03 +03:00
Alexander Surkov
595da48d95 Bug 1495621 - convert wizard binding to Custom Element r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D26334

--HG--
extra : moz-landing-system : lando
2019-06-12 23:37:05 +00:00
Brian Grinstead
a702aa90f1 Bug 1556539 - Move rules unneeded in content from minimal-xul.css to xul.css r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D33550

--HG--
extra : moz-landing-system : lando
2019-06-07 13:49:19 +00:00
Alexander Surkov
61cc7103cf Bug 1544916 - migrate dialog binding to Custom Element r=bgrins,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D30289

--HG--
rename : toolkit/content/widgets/dialog.xml => toolkit/content/widgets/dialog.js
extra : moz-landing-system : lando
2019-06-04 17:28:16 +00:00
Gijs Kruitbosch
3c6894d020 Bug 1543508 - revert will-change additions now that layers no longer cause compositor bugs, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D33165

--HG--
extra : moz-landing-system : lando
2019-06-03 20:10:44 +00:00
Alexander Surkov
33b1abfc3f Bug 1512432 - convert richlistitem binding to Custom Element, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D32474

--HG--
extra : moz-landing-system : lando
2019-05-30 14:12:47 +00:00
Alexander Surkov
543e2caf1e Bug 1519514 - convert tab binding to a Custom Element, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D26600

--HG--
extra : source : 2cd983857de6c73d677c161faf1aaa67a4c3f500
2019-05-28 22:00:16 +00:00
Cosmin Sabou
fa7207a14d Backed out 4 changesets (bug 1519514) for causing several browser chrome failures. CLOSED TREE
Backed out changeset 485c2c76fab6 (bug 1519514)
Backed out changeset 8488d800a785 (bug 1519514)
Backed out changeset 858b9456eb3c (bug 1519514)
Backed out changeset 2cd983857de6 (bug 1519514)
2019-05-29 11:01:47 +03:00
Alexander Surkov
9a4862fe5e Bug 1519514 - convert tab binding to a Custom Element, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D26600

--HG--
extra : moz-landing-system : lando
2019-05-28 22:00:16 +00:00
Andrew Swan
a745ec6099 Bug 1519577 Convert toolbarbutton to a custom element r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D31941

--HG--
extra : rebase_source : 3709ef713f1a7dc9fbc2d0ac97f16bea757fcd2b
2019-05-20 10:01:02 -07:00
Tim Nguyen
c1f5b7a338 Bug 1521280 - Convert search-textbox to a custom element. r=dao,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D23045

--HG--
rename : toolkit/content/widgets/textbox.xml => toolkit/content/widgets/search-textbox.js
extra : moz-landing-system : lando
2019-05-13 18:12:37 +00:00
Coroiu Cristina
cc280c4be9 Backed out changeset c5798de806e2 (bug 1521280) for crashing when searching about:config for upcoming beta (bug 1551013)
--HG--
extra : rebase_source : 8f936159c23d09bf227ce4f5eb6f2d96d33bbff1
2019-05-13 08:50:28 +03:00
Tim Nguyen
1a57aab68e Bug 1521280 - Convert search-textbox to a custom element. r=dao,bgrins
Differential Revision: https://phabricator.services.mozilla.com/D23045

--HG--
rename : toolkit/content/widgets/textbox.xml => toolkit/content/widgets/search-textbox.js
extra : moz-landing-system : lando
2019-05-10 11:46:49 +00:00
Brian Grinstead
787d9413a8 Bug 1500626 - Convert <menuitem> bindings to a Custom Element r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D9322

--HG--
extra : moz-landing-system : lando
2019-05-02 19:28:18 +00:00
Razvan Maries
444ee13e14 Merge mozilla-inbound to mozilla-central a=merge 2019-04-26 12:46:15 +03:00
Brian Grinstead
4663e6262a Bug 1448213 - Migrate label-control to a Custom Element r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D5686

--HG--
extra : moz-landing-system : lando
2019-04-23 20:16:46 +00:00
Emilio Cobos Álvarez
b025fc9258 Bug 1546542 - Add a pref to be able to enable arrowpanel animations on Linux. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D28585

--HG--
extra : moz-landing-system : lando
2019-04-24 09:56:38 +00:00
Emilio Cobos Álvarez
1ccf57f63f Bug 1470880 - Stop relying on [side] in arrowpanel selectors in order to remove last usage of xbl resources. r=bgrins
The reason why this fixes it is a bit subtle, let me try to explain.

XBL has this mechanism where all attributes in the binding `<content>` element
get auto-propagated to the bound element (the `<panel>` in this case).

This doesn't seem to be a very used feature looking at:

https://searchfox.org/mozilla-central/search?q=%3Ccontent&case=false&regexp=false&path=xml

The panel binding uses it to add the `side` attribute:

https://searchfox.org/mozilla-central/rev/d80f0a570736dce76a2eb184fb65517462089e8a/toolkit/content/widgets/popup.xml#264

The key here is that this attribute addition is silent (`aNotify=false`):

https://searchfox.org/mozilla-central/rev/d80f0a570736dce76a2eb184fb65517462089e8a/dom/xbl/nsXBLBinding.cpp#341

This means that the presence of this attribute is not supposed to change the
rendering of the page. It'd also be unsafe to notify at the point at which we
create XBL bindings.

So the way this happens is:

  * We compute the initial style of the `<panel>` element (which doesn't have a
    `side` attribute, and thus doesn't match the rules, and has a computed
    opacity of 1).
  * The XBL service _silently_ sets the `side` attribute. This should cause a
    style change, but it doesn't since it's silent, so we remain with the
    opacity of 1.
  * We open the popup, and the XBL binding listens for the `popupshowing` event
    and adds the `animate` attribute. The style system notices, and eventually
    we compute the new style. Issue is, it has again an opacity of 1, so we
    don't fire the transition.

Same with transform and such of course.

So far so good, but then, why does it work if there's a `<resources>` element
with an empty stylesheet? Fun that you ask!

We explicitly re-resolve the style of the element if there are any stylesheets:

https://searchfox.org/mozilla-central/rev/d80f0a570736dce76a2eb184fb65517462089e8a/dom/xbl/nsXBLService.cpp#551

And thus grab the correct initial opacity of zero, and trigger the transition.

Given arrow panels always have a `side` attribute (and same for the bookmarks
thing), making their style not depend on the silent attribute additions from
`<content>` fixes the bug.

We could fix the bug with an alternative patch (re-resolving style if there's a
`<content>` element with attributes in the binding). This wouldn't be completely
sound anyway in presence of combinators, and given that it'd remain being
unsound anyway, we should probably just remove that feature.

Also, the simplification of the stylesheets seems worth it anyway.

I'll follow-up removing the `<resources>` implementation, and we should probably
investigate removing the `<content>` attribute propagation, since it's the
really unsound thing here.

Differential Revision: https://phabricator.services.mozilla.com/D28310

--HG--
extra : moz-landing-system : lando
2019-04-24 09:29:48 +00:00
Andrew Swan
060462cafd Bug 1546541 Remove no-op toolbarbutton menu bindings r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D28584

--HG--
extra : moz-landing-system : lando
2019-04-24 00:10:42 +00:00
Bogdan Tara
6647b813f2 Backed out changeset 9509ae2baf1c (bug 1470880) for components/customizableui/test/browser* failures CLOSED TREE 2019-04-23 03:28:13 +03:00
Emilio Cobos Álvarez
e4f84a0b9d Bug 1470880 - Simplify arrowpanel selectors in order to remove last usage of xbl resources. r=bgrins
The reason why this fixes it is a bit subtle, let me try to explain.

XBL has this mechanism where all attributes in the binding `<content>` element
get auto-propagated to the bound element (the `<panel>` in this case).

This doesn't seem to be a very used feature looking at:

https://searchfox.org/mozilla-central/search?q=%3Ccontent&case=false&regexp=false&path=xml

The panel binding uses it to add the `side` attribute:

https://searchfox.org/mozilla-central/rev/d80f0a570736dce76a2eb184fb65517462089e8a/toolkit/content/widgets/popup.xml#264

The key here is that this attribute addition is silent (`aNotify=false`):

https://searchfox.org/mozilla-central/rev/d80f0a570736dce76a2eb184fb65517462089e8a/dom/xbl/nsXBLBinding.cpp#341

This means that the presence of this attribute is not supposed to change the
rendering of the page. It'd also be unsafe to notify at the point at which we
create XBL bindings.

So the way this happens is:

  * We compute the initial style of the `<panel>` element (which doesn't have a
    `side` attribute, and thus doesn't match the rules, and has a computed
    opacity of 1).
  * The XBL service _silently_ sets the `side` attribute. This should cause a
    style change, but it doesn't since it's silent, so we remain with the
    opacity of 1.
  * We open the popup, and the XBL binding listens for the `popupshowing` event
    and adds the `animate` attribute. The style system notices, and eventually
    we compute the new style. Issue is, it has again an opacity of 1, so we
    don't fire the transition.

Same with transform and such of course.

So far so good, but then, why does it work if there's a `<resources>` element
with an empty stylesheet? Fun that you ask!

We explicitly re-resolve the style of the element if there are any stylesheets:

https://searchfox.org/mozilla-central/rev/d80f0a570736dce76a2eb184fb65517462089e8a/dom/xbl/nsXBLService.cpp#551

And thus grab the correct initial opacity of zero, and trigger the transition.

Given arrow panels always have a `side` attribute (and same for the bookmarks
thing), making their style not depend on the silent attribute additions from
`<content>` fixes the bug.

We could fix the bug with an alternative patch (re-resolving style if there's a
`<content>` element with attributes in the binding). This wouldn't be completely
sound anyway in presence of combinators, and given that it'd remain being
unsound anyway, we should probably just remove that feature.

Also, the simplification of the stylesheets seems worth it anyway.

I'll follow-up removing the `<resources>` implementation, and we should probably
investigate removing the `<content>` attribute propagation, since it's the
really unsound thing here.

Differential Revision: https://phabricator.services.mozilla.com/D28310

--HG--
extra : moz-landing-system : lando
2019-04-22 21:41:29 +00:00
Andrew Swan
24c3452da6 Bug 1538983 Rework highlightable buttons r=jaws
Our standard <button> binding has been carrying around an extra <label>
just to support search highlighting in about:preferences.  This patch
removes that overhead by moving the tweaks that about:preferences needs
into a custom element used only within about:preferences.

Differential Revision: https://phabricator.services.mozilla.com/D28511

--HG--
extra : rebase_source : f7fe120f29630c76a1af77ddf16a422d3c946c58
2019-04-19 14:08:33 -07:00
Andrew Swan
66e382f5b2 Bug 1538983 Convert button xbl binding to a custom element r=bgrins
As of this change, instances of xul <button> use a custom element.
The button-base xbl binding remains for now, since it is still used
by toolbarbutton, it will be removed soon.

Differential Revision: https://phabricator.services.mozilla.com/D27742

--HG--
rename : toolkit/content/widgets/button.xml => toolkit/content/widgets/button.js
extra : rebase_source : 2be8ee3fa9bb43866013f62211d8cb3706dbf1ab
2019-04-15 14:27:32 -07:00
Brian Grinstead
9bda39c108 Bug 1519502 - Convert menu bindings to a Custom Element r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D19593

--HG--
extra : moz-landing-system : lando
2019-04-18 16:41:46 +00:00
Dorel Luca
f5a2c905f4 Backed out 2 changesets (bug 1519502, bug 1528268) for Crashtest failures in toolkit/content/tests/chrome/test_popupincontent.xul. CLOSED TREE
Backed out changeset 904cc7903feb (bug 1519502)
Backed out changeset f8770d7eebd1 (bug 1528268)
2019-04-18 18:26:41 +03:00
Brian Grinstead
d48d388df2 Bug 1519502 - Convert menu bindings to a Custom Element r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D19593

--HG--
extra : moz-landing-system : lando
2019-04-17 15:56:41 +00:00
Brian Grinstead
dd5a4c95c6 Bug 1495861 - Convert <radio> to a Custom Element r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D8121

--HG--
extra : moz-landing-system : lando
2019-04-05 21:16:24 +00:00
Alexander Surkov
7d23a96f82 Bug 1495357 - convert wizard-buttons binding to a Custom Element, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D23392

--HG--
extra : moz-landing-system : lando
2019-04-04 14:14:52 +00:00
Paul Morris
c3a3d09307 Bug 1531870 - [de-xbl] convert popup binding to custom element; r=bgrins
For now, only add the MozMenuPopup base class to MozElements,
and don't define a custom element for it with
`customElements.define`. This is to help avoid conflicts in
de-xbl work. (See the bug for details.)

Includes a function to do 'manual slotting', moving child
elements into place. Dynamically adding, modifying, or
removing child nodes after the element is connected needs
to be handled manually as well.

Differential Revision: https://phabricator.services.mozilla.com/D25467

--HG--
rename : toolkit/content/widgets/popup.xml => toolkit/content/widgets/menupopup.js
extra : moz-landing-system : lando
2019-03-30 00:05:08 +00:00
Trushita
e838288317 Bug 1496193: Remove unused datepicker[type=grid] selector r=bgrins
Removed unused datepicker[type=grid] selector

Differential Revision: https://phabricator.services.mozilla.com/D24643

--HG--
extra : moz-landing-system : lando
2019-03-25 16:53:21 +00:00
Alexander Surkov
095a1cda92 Bug 1494846 - kill wizard-header binding, r=paolo
Differential Revision: https://phabricator.services.mozilla.com/D23391

--HG--
extra : moz-landing-system : lando
2019-03-17 19:36:03 +00:00
Alexander Surkov
ec0c8c08d3 Bug 1495622 - Conver wizardpage binding to Custom Elements, r=paolo 2019-03-06 10:27:25 -05:00
Alexander Surkov
e5f57aa59a Bug 1525101 - Convert autocomplete-rich-result-popup into a Custom Element, r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D20506

--HG--
extra : moz-landing-system : lando
2019-03-05 17:45:57 +00:00
Tim Nguyen
fa021187df Bug 1513343 - Remove textarea binding and replace usages with html:textarea. r=bgrins,dao
Differential Revision: https://phabricator.services.mozilla.com/D15001

--HG--
extra : moz-landing-system : lando
2019-03-05 11:41:42 +00:00
Alexander Surkov
0d30de1b66 Bug 1455433 - migrate xul:checkbox to CE, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D21457

--HG--
rename : toolkit/content/widgets/checkbox.xml => toolkit/content/widgets/checkbox.js
extra : moz-landing-system : lando
2019-02-28 20:32:50 +00:00
Victor Porof
4622859c92 Bug 1523957 - Convert trees to custom elements, r=bgrins, mak, standard8, MattN
***
Bug 1523957 - Part 0: Whitespace changes in tree.js, r=bgrins
***
Bug 1523957 - Part 1.1: Naively convert tree to a custom element, r=bgrins
***
Bug 1523957 - Part 1.2: Properly mixin BaseControl and extend XULTreeElement, r=bgrins
***
Bug 1523957 - Part 1.3: Use Shadow DOM for slotting children, r=bgrins
***
Bug 1523957 - Part 1.4: Properly handle key events in combination with shift modifiers, r=bgrins
***
Bug 1523957 - Part 1.5: Lint for the lint gods in tree.js, r=bgrins, standard8
***
Bug 1523957 - Part 2.1: Naively convert places-tree to a custom element, preserving history, r=bgrins
***
Bug 1523957 - Part 2.2: Lint for the lint gods in places-tree.js, r=bgrins
***
Bug 1523957 - Part 2.3: Fix browser_passwordmgr_editing.js, r=MattN
***
Bug 1523957 - Part 2.4: Fix browser_bookmarksProperties.js, r=bgrins
***
Bug 1523957 - Part 2.5: Make the edit bookmark tree lazily constructed so there aren't any trees left in the browser window markup, r=bgrins
***
Bug 1523957 - Part 2.6: Add eslint globals to places-tree.js, r=bgrins, standard8

--HG--
rename : browser/components/places/content/tree.xml => browser/components/places/content/places-tree.js
2019-02-21 15:39:53 +01:00
Emilio Cobos Álvarez
b2994ac538 Bug 1528453 - Don't use min-height: 0 for xul trees. r=bgrins
In the regressing bug I accidentally removed a special-case for
min-{height/width}: 0 that treated it as auto for XUL trees:

  https://hg.mozilla.org/integration/mozilla-inbound/rev/bf8e35be76d8#l34.94

I can put it back if you think it's better, but these two lines of code were
here before min-width: auto even existed (min-width: 0 used to be the default).

I think this is better than changing the platform back to special-case
min-width: 0, and I don't see many other problematic uses of min-height /
min-width: 0, so let's try this.

Differential Revision: https://phabricator.services.mozilla.com/D20071

--HG--
extra : moz-landing-system : lando
2019-02-16 21:27:39 +00:00
Alexander Surkov
1649231cef Bug 1527495 - migrate text-link binding to CE, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D19595

--HG--
rename : toolkit/content/widgets/text.xml => toolkit/content/widgets/text.js
2019-02-12 19:14:40 -05:00
Brian Grinstead
c894dd5369 Bug 1527105 - Convert menucaption to Custom Element r=paolo
Differential Revision: https://phabricator.services.mozilla.com/D19439

--HG--
rename : toolkit/content/widgets/menu.xml => toolkit/content/widgets/menu.js
extra : moz-landing-system : lando
2019-02-12 19:08:25 +00:00
Brian Grinstead
04c18529e4 Bug 1487065 - Implement popup-notification as a Custom Element r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D17699

--HG--
rename : toolkit/content/widgets/notification.xml => toolkit/content/widgets/popupnotification.js
extra : moz-landing-system : lando
2019-02-07 22:16:26 +00:00
Alexander Surkov
599d3ecb6b Bug 1519486 - convert autocomplete-richlistitem XBL binding to CE, r=MattN 2019-01-24 08:40:36 -05:00
Timothy Guan-tin Chien
0de6e5d4aa Bug 1518932 - Convert menulist to custom element r=paolo
This custom element replaces XBL <content> usage by directly prepend the two needed child nodes when the element is connected.

This is doable because

- There isn't any direct access of child nodes under <menulist>. Everyone seems to access via .menupopup, which is usually the only child.
- We don't need to move the children under <menulist>. If we need to and if the child is a <xbl:children> (which could happen if <menulist> is inside an XBL <content> that just get cloned to the document), the layout will get very confused and crash (see finding in bug 1514926)

Differential Revision: https://phabricator.services.mozilla.com/D16149

--HG--
rename : toolkit/content/widgets/menulist.xml => toolkit/content/widgets/menulist.js
extra : moz-landing-system : lando
2019-01-28 18:24:08 +00:00
Victor Porof
fb37ef1dea Bug 1503826 - Remove the treerows binding, r=bgrins 2019-01-17 10:53:53 +01:00
Victor Porof
86d7401fa8 Bug 1507704 - Migrate the columnpicker binding into a custom element, r=bgrins 2019-01-14 09:38:24 +01:00
Timothy Guan-tin Chien
005832324b Bug 1454357 - Remove the scrollbox binding r=NeilDeakin
With all the previous efforts, the scrollbox binding now does nothing but to create an inner box element holding the scrolling content.

It turned out that inner box can be easily removed. The padding set by the document sheets can be moved to the srollbox element directly.

The only gotcha is XULScrollElement::ScrollByIndex() -- it can now reach the child item frames directly from the scrolled frame.

Depends on D15169

Differential Revision: https://phabricator.services.mozilla.com/D15170

--HG--
extra : moz-landing-system : lando
2019-01-09 20:12:26 +00:00