Commit Graph

189 Commits

Author SHA1 Message Date
Paolo Amadini
01051cc093 Bug 1432015 - Part 2 - Remove the setMainView methods. r=Gijs
The setMainView method of PanelMultiView controls the "mainview" attribute, which is already set or removed later in the showSubView method. When called at construction time, it changes the mainViewId if there is at least one child in the "panelmultiview" element and the original mainViewId does not already reference the first child. This would be incorrect, but in practice it never happens for either ephemeral or static panels, and can be avoided for the throw-away activated page action panel.

The setMainView method of PanelUI is never called, and this makes the corresponding PanelMultiView method removable.

MozReview-Commit-ID: 5bNidHfKFTA
2018-01-21 15:59:41 +00:00
Kris Maglione
1046270983 Backed out 3 changesets (bug 1431533) for Android mochitest bustage. CLOSED TREE
MozReview-Commit-ID: 5ubE9EMQpZ9
2018-01-24 22:04:59 -08:00
Kris Maglione
50ace7f99d Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
MozReview-Commit-ID: 8V1ZT53ReiP
2018-01-24 15:48:47 -08:00
Ian Moody
db7adf1a0b Bug 1425972 - Manually handle Tab navigation in PanelMultiView so it syncs with Arrow navigation. r=Gijs
MozReview-Commit-ID: 5PjXFZBeWzM
2017-12-19 19:37:34 +00:00
Paolo Amadini
13d678e2e6 Bug 1423891 - Panel header is gone when going back from Bookmarks to Library. r=Gijs
MozReview-Commit-ID: Bfgg61BH9L8
2017-12-07 15:32:40 +00:00
Paolo Amadini
a5de33f591 Bug 1417042 - Remove the "panelview" binding. r=Gijs
MozReview-Commit-ID: 26uQb3pteQd
2017-12-06 10:37:25 +00:00
Paolo Amadini
756cb221b2 Bug 1392340 - Height jumps when opening subviews of different lengths. r=Gijs
The height of the subview being opened was supposedly calculated using an off-screen container independent from the currently displayed views, but this didn't work as expected because of the incorrect box alignment. This is now fixed and the correct minimum and maximum heights are set on the container separately, also preventing the current view from flickering before the transition in case the subview was taller.

With this issue fixed, the height can now be recalculated each time the subview is opened, without the caching that caused incorrect results when the same view was reopened with different elements or text.

Jumping could also occur because of a border applied only during the transition, which could influence the subview height in the presence of wrapping text.

MozReview-Commit-ID: EWHs1hFKXT4
2017-11-28 16:53:42 +00:00
Sebastian Hengst
077047e8d8 Backed out changeset bce38a7817ee (bug 1417042) for browser-chrome failures, e.g. browser/components/customizableui/test/browser_987640_charEncoding.js and browser/base/content/test/urlbar/browser_page_action_menu.js. r=backout on a CLOSED TREE 2017-11-27 18:03:15 +02:00
Paolo Amadini
6f96d883c6 Bug 1417042 - Remove the "panelview" binding. r=Gijs
MozReview-Commit-ID: 26uQb3pteQd
2017-11-23 18:07:15 +00:00
Paolo Amadini
ea9b09c38d Bug 1414244 - Part 7 - Remove unused code paths from PanelMultiview.jsm. r=Gijs
MozReview-Commit-ID: 9cwaAZXqDGO
2017-11-23 15:18:14 +00:00
Paolo Amadini
977acaa16f Bug 1414244 - Part 4 - Remove the "panel-clickcapturer" element. r=Gijs
MozReview-Commit-ID: 3aPVbnmr7QB
2017-11-11 22:48:32 +00:00
Paolo Amadini
cf6e951359 Bug 1414244 - Part 3 - Remove the "panel-subviews" container. r=Gijs
MozReview-Commit-ID: 2GGJ1myKuF5
2017-11-11 22:09:30 +00:00
Paolo Amadini
fbb05038da Bug 1414244 - Part 2 - Remove the "viewtype" attribute. r=Gijs
MozReview-Commit-ID: 8fq0KLfYWnc
2017-11-21 13:22:47 +00:00
Paolo Amadini
dfdeedad26 Bug 1414244 - Part 1 - Remove the "panelid" attribute. r=Gijs
MozReview-Commit-ID: 4o27h6PhCRg
2017-11-11 13:05:51 +00:00
Sam Foster
6e5439f706 Bug 1412364 - defer applying maxHeight in PanelMultiView until popup is positioned. r=Paolo
* Let popup code initially measure and place the panel without maxHeight, this ensures alignmentPosition is a reasonable value
* Assign maxHeight from a popuppositioned handler and update the comment explaining the role of the autoPosition property
* Refactor to move the maxHeight calculation into a method on PMV
* panel autoPosition now gets reset to false in popuppositioned (was popupshowing) as the ShowWithPositionedEvent on popupFrame sets it back to true every time
* Update reflow tests with new signatures, and elimination of 1 reflow
* In appMenu reflow test, we must now wait for popupshown before opening subviews

MozReview-Commit-ID: KfHxngnajM3
2017-11-16 17:12:06 -08:00
Gijs Kruitbosch
4240d1040c Bug 1388029 - remove dead CSS relating to the old panel, r=jaws
MozReview-Commit-ID: FoXjvWPc9in
2017-11-07 12:52:56 +00:00
Paolo Amadini
3f2ebfffab Bug 1409301 - Update the site security subview to the Photon style. r=johannh
The site security subview is now implemented using the "photonpanelmultiview" element, replacing the last instance of the "panelmultiview" element. The subview features a standard Photon header, hence the connection state icon was moved to the element below it. This makes the styles more similar between the main view and the subview. The connection state styles are now applied using a class name, and the tests have been updated accordingly.

This change required some fixes in the "photonpanelmultiview" implementation to make sure the height of the subview is correct and to allow keyboard navigation back to the main view.

Since the expander button and the permission controls in the main view are not visible anymore after the subview is shown, some code related to focus and hover could be removed as well.

MozReview-Commit-ID: 4nIAPWJPV8k
2017-11-11 19:13:43 +00:00
Dan Banner
5af4450327 Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8
MozReview-Commit-ID: Jm8BRgt6mIv
2017-10-15 20:50:39 +01:00
Mike de Boer
5d9a84b388 Bug 1407591 - Listen for the 'transitioncancel' event as well to ensure that a panel transition is also cleaned up properly in this rare case. r=Paolo
MozReview-Commit-ID: 2bph43ndzJJ
2017-10-12 13:26:04 +02:00
Mike de Boer
ad452d3c6f Bug 1405942 - Make sure to always apply the descriptionHeightWorkaround in Photon panels on popupshown, because it might've missed elements that were hidden. r=Paolo
MozReview-Commit-ID: 9xSqoZGJ3MF
2017-10-10 12:42:43 +02:00
Mike de Boer
ef64a8e308 Bug 1387808 - Don't ever fixate the width and height of the main view, but leave it flexible. r=Gijs
MozReview-Commit-ID: AJw6yI6Onje
2017-10-05 13:14:02 +02:00
Mike de Boer
3f2ca69f96 Bug 1401991 - Ensure that we don't hide panelviews that are already reparented to another multi-view and ensure to hide other panels consistently. r=Gijs
* Harden the new `hideAllViewsExcept()` to not do erroneous things if called when
   the binding is already gone.
 * Generalize things into `hideAllViewsExcept(thisOne)`:
    - Clear `_viewShowing` in there and do the descriptionHeightWorkaround thing
      in there too,
    - For Photon panels, do all the 'current' attribute setting in there. To show
      a panel during transition, I introduced the 'in-transition' attribute.
 * I had to make sure not to over-eagerly dispatch 'ViewShowing' events, because
   that confuses some,
 * Move the temporary panel handling, which contains an ephemeral panelmultiview
   instance, internally. This cleans up the hacky, duplicate PanelUI.js code nicely.
 * Keep a local copy of `_transitionDetails` to ensure it's still there after transition,
 * Harden `_cleanupTransitionPhase()` to only clear the phase that belongs to a
   specific transition, _if_ that's passed in as an argument. This resolves any
   potential raciness that might occur when `showSubView()` is called again mid-transition.
 * Skip the UITour element visibility check when it's inside a panelview, because
   too many things need to happen and that check is too simple to be useful in
   that case.

MozReview-Commit-ID: 5HpJKs1Ny5j
2017-09-29 13:51:51 +02:00
Mike de Boer
021d3d1107 Bug 1401383 - remove anchor state after transition even if the transition is canceled, and always set main view as current, r=Gijs
We weren't removing the 'open' attribute from the anchor if the transition didn't complete.
This patch fixes this by moving the addition of 'open' into _transitionViews, and its removal into
_cleanupTransitionPhase.

MozReview-Commit-ID: TS0CcwsHVN
2017-09-21 22:18:07 +02:00
Sebastian Hengst
971b4b6606 Backed out changeset 658b68ee4d0a (bug 1401383) for frequently failing browser-chrome's browser/components/extensions/test/browser/browser_ext_browserAction_popup_resize.js, especially on Linux x64 asan. r=backout 2017-09-20 17:28:51 +02:00
Gijs Kruitbosch
782b1c0650 Bug 1401383 - remove anchor state after transition even if the transition is canceled, and always set main view as current, r=mikedeboer
Prior to this change, showMainView set the 'current' attribute on a main view, but then _cleanupTransitionPhase() would remove it again.
This patch fixes that by calling showMainView *after* _cleanupTransitionPhase.

Separately, we weren't removing the 'open' attribute from the anchor if the transition didn't complete.
This patch fixes this by moving the addition of 'open' into _transitionViews, and its removal into
_cleanupTransitionPhase.

MozReview-Commit-ID: 24FYaxDVlga
2017-09-19 23:53:59 +01:00
Mike de Boer
998cb252ae Bug 1374749 - Animate the panelviews differently to make it look as if the view to show is pushing the previous view out of the panel. r=jaws
MozReview-Commit-ID: Dy6UppV3xDH
2017-09-12 21:33:25 +02:00
Sebastian Hengst
f5e44610fc Backed out changeset f09b2b387751 (bug 1374749) for frequently failing browser-chrome's browser/components/extensions/test/browser/test-oop-extensions/browser_ext_browserAction_popup_resize.js on macOS. r=backout 2017-09-11 18:45:35 +02:00
Mike de Boer
0b4bd52893 Bug 1374749 - Animate the panelviews differently to make it look as if the view to show is pushing the previous view out of the panel. r=jaws
MozReview-Commit-ID: Dy6UppV3xDH
2017-09-11 16:28:06 +02:00
Sebastian Hengst
a13bb1402a Backed out changeset 20f6207757f3 (bug 1374749) for failing browser-chrome's browser/base/content/test/urlbar/browser_page_action_menu.js. r=backout 2017-09-08 19:42:22 +02:00
Mike de Boer
2aab007fa2 Bug 1374749 - Animate the panelviews differently to make it look as if the view to show is pushing the previous view out of the panel. r=jaws
MozReview-Commit-ID: Dy6UppV3xDH
2017-09-08 18:02:10 +02:00
Mike de Boer
95e3288ebd Bug 1390336 - Disable panelview keyboard navigation using arrow keys in the overflow panel, because input boxes can be in there. r=Gijs
MozReview-Commit-ID: DxZv8JDp2Q2
2017-09-08 11:53:11 +02:00
Mike de Boer
13c09563a1 Bug 1354532 - Part 3 - Ensure that the offscreen bounds check for panelviews does not cause temporary empty panels. r=Paolo
MozReview-Commit-ID: 8EACBXDekIW
2017-09-06 17:21:24 +02:00
Sebastian Hengst
d6f569157f Backed out changeset 545712909b9b (bug 1354532) 2017-09-06 16:47:06 +02:00
Mike de Boer
0ce0f0228a Bug 1354532 - Part 3 - Ensure that the offscreen bounds check for panelviews does not cause temporary empty panels. r=Paolo
MozReview-Commit-ID: 8EACBXDekIW
2017-09-06 16:23:08 +02:00
Blake Winton
8a54569293 Bug 1392332 - Set the viewtype attribute correctly when going back to the main view. r=Gijs.
MozReview-Commit-ID: KMK4fQn5DwZ
2017-08-21 13:09:37 -04:00
Gijs Kruitbosch
1ef5a1589f Bug 1366207 - remember previous view's selection when keyboard navigating panels, r=mikedeboer
MozReview-Commit-ID: 14U7hkrBbJq
2017-08-15 15:21:15 +01:00
Mike de Boer
c98d909de4 Backed out changeset a528b4400362 (bug 1382243) for causing bug 1390753.
MozReview-Commit-ID: 57KH3vQGeSe
2017-08-16 13:49:59 +02:00
Mike de Boer
ab742ae535 Bug 1377968 - Add a tools section and subview to the Bookmarks subview inside the Library widget. r=Gijs
MozReview-Commit-ID: GqbUMbuvYoO
2017-08-15 13:34:41 +02:00
Gijs Kruitbosch
7580f9d29b Bug 1382243 - Refactor panelmultiview code to reduce complexity and length of functions, r=mikedeboer
While this creates several methods with just 1 callsite, given the previous length of the
showSubView method (230 lines), it seems wise to split this up and to try to reduce the
nesting, as well as making it easier to reason about what happens if we hide the panel
mid-transition.

MozReview-Commit-ID: 9Vf4p4fVBSs
2017-08-04 11:33:55 +02:00
Gijs Kruitbosch
279127e720 Bug 1388753 - unbreak bookmarks/history item clicks and tidy up code in browserPlacesViews.js, r=mikedeboer
MozReview-Commit-ID: 1vjP6IeIiPz
2017-08-10 23:04:54 +01:00
Sebastian Hengst
d476fe4639 Backed out changeset bf603affd1e0 (bug 1388753) for failing browser-chrome's browser_947914_button_history.js. r=backout a=merge
MozReview-Commit-ID: AHOsaTvCWms
2017-08-10 20:02:44 +02:00
Gijs Kruitbosch
046814d043 Bug 1388753 - unbreak bookmarks/history item clicks and tidy up code in browserPlacesViews.js, r=mikedeboer
MozReview-Commit-ID: 1vjP6IeIiPz
2017-08-09 18:02:36 +01:00
Gijs Kruitbosch
5a6c52f6a7 Bug 1354117 - only dispatch view events once, and fix synced tabs button test, r=jaws
Prior to this patch, both CustomizableUI itself and the PanelMultiView module
tried to ensure that onViewShowing/Shown/Hiding/Hidden listeners were invoked
when the relevant DOM events fired.

PanelMultiView was doing this manually because CUI was only adding listeners
once the corresponding widget was created. Now that the relevant views can be
accessed without the corresponding widgets (via the fixed appMenu), there was
no guarantee that the listeners would be attached, and this caused empty
subviews.

Unfortunately, if the widget *was* present, it caused events to fire more than
once, which understandably broke consumers like the sync remote tabs widget,
which broke the test we're fixing up here. For other views, even if they were
not completely broken it at least did busy-work.

This patch removes the manual event invocation, and delegates the event
listener work to CUI from the PanelMultiView side. This ensures events fire,
and fire only once.

MozReview-Commit-ID: 94GhcrdcBuB
2017-08-01 12:45:55 +01:00
Erica Wright
056e3d8dba Bug 1378016 - Fix keyboard navigation and selection on 'recent bookmarks'. r=Gijs
MozReview-Commit-ID: GJ7vRPz8zuo
2017-07-31 09:47:19 -04:00
Drew Willcoxon
fa08c7c97c Bug 1374477 - Add a new test for Photon page actions, along with some related code changes. r=Gijs
MozReview-Commit-ID: ADaEnEiGFvX
2017-07-29 20:25:14 -07:00
Mike de Boer
4ca08790fb Bug 1354533 - Update the History panelview when it's shown inside the new Library panel. r=mak
This patch changes the history-panelmenu widget with the following:
 - Move the Recently Closed Tabs and Recently Closed Windows lists into their own
   respective (nested) subview,
 - Add a Recent History header to list of history items,
 - Extend the list of Recent History items to be max 42 items long,
 - Share more code with Bookmarks panel,
 - Generalizes panelview event dispatching to always support customizable widgets.

MozReview-Commit-ID: 4sBR6llIvxG
2017-07-21 15:07:23 +02:00
Johann Hofmann
0bc53a79e8 Bug 1371219 - Increase margin of main menu items when accessed through touch. r=mikedeboer
MozReview-Commit-ID: 9gjxxc6O5YS
2017-07-20 16:45:02 +02:00
Gijs Kruitbosch
9f7ba17cbf Bug 1354086 - fix leaks caused by transitionend listeners that hang around, r=mikedeboer
MozReview-Commit-ID: DvvoAURmxH2
2017-07-19 15:36:44 +01:00
Gijs Kruitbosch
6ea9acbc72 Bug 1354086 - switch overflow panel to using a photonpanelmultiview, allowing webextension views to specify their own size, r=mikedeboer
MozReview-Commit-ID: 1uHEKXsO8vh
2017-07-19 21:23:46 +01:00
Paolo Amadini
6959771b4a Bug 1377793 - Fix scrolling in the non-Photon main menu on Windows. r=Gijs
This is a follow-up to the previous patch, required because on Windows we cannot measure the full height of the main view until it is visible.

MozReview-Commit-ID: 2pfYwMLPYIb
2017-07-09 16:05:03 +01:00