Commit graph

71 commits

Author SHA1 Message Date
Mike de Boer
9fb6d528ad 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

--HG--
extra : rebase_source : cc7d0def21df8b3c577b26546e8bf474faa58b3b
2017-10-12 13:26:04 +02:00
Mike de Boer
219c7f3d50 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

--HG--
extra : rebase_source : ce3547992d86d1343f1e2ef9aff953819a283ad4
2017-10-10 12:42:43 +02:00
Mike de Boer
50959cb695 Bug 1387808 - Don't ever fixate the width and height of the main view, but leave it flexible. r=Gijs
MozReview-Commit-ID: AJw6yI6Onje

--HG--
extra : rebase_source : 144739ba16418ce0867a6dd7ac086c4ea4676c51
2017-10-05 13:14:02 +02:00
Mike de Boer
882fa06e25 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

--HG--
extra : rebase_source : b810e1de2dbd75932a42d68e751fdaecd9fee69a
2017-09-29 13:51:51 +02:00
Mike de Boer
f7dd6d2d6d 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

--HG--
extra : rebase_source : 1bdace324f22ee95002024fe68b572a16dd25aac
2017-09-21 22:18:07 +02:00
Sebastian Hengst
7824630fde 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
b078909af6 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

--HG--
extra : rebase_source : 41bb5ffe29ca8e0ec9acc1793ae87d63d28e1f43
2017-09-19 23:53:59 +01:00
Mike de Boer
aa0c3dc278 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

--HG--
extra : rebase_source : 1c970efaa0b7162450d79f37633afacaadc8d19e
2017-09-12 21:33:25 +02:00
Sebastian Hengst
22c06f3a4b 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
bdb3034789 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

--HG--
extra : rebase_source : 28e14f7e5764490c3a0a550cb230eb8a800647bf
2017-09-11 16:28:06 +02:00
Sebastian Hengst
5c5d753509 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
dcde014112 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

--HG--
extra : rebase_source : b473714a3de9ff34da8c936770d335b7e2ee01bd
2017-09-08 18:02:10 +02:00
Mike de Boer
02e344af23 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

--HG--
extra : rebase_source : b3bf90e60540a1b115a3bf2321fd4396863b5cce
2017-09-08 11:53:11 +02:00
Mike de Boer
df2fab0b05 Bug 1354532 - Part 3 - Ensure that the offscreen bounds check for panelviews does not cause temporary empty panels. r=Paolo
MozReview-Commit-ID: 8EACBXDekIW

--HG--
extra : rebase_source : d53f3461db931733a7d1e7722d0fa23ad659fa06
2017-09-06 17:21:24 +02:00
Sebastian Hengst
8aa94790d7 Backed out changeset 545712909b9b (bug 1354532) 2017-09-06 16:47:06 +02:00
Mike de Boer
781c585ac9 Bug 1354532 - Part 3 - Ensure that the offscreen bounds check for panelviews does not cause temporary empty panels. r=Paolo
MozReview-Commit-ID: 8EACBXDekIW

--HG--
extra : rebase_source : 6c067ddfbac4462f26600083c1b0ee2adea33d36
2017-09-06 16:23:08 +02:00
Blake Winton
ad9fe7889e Bug 1392332 - Set the viewtype attribute correctly when going back to the main view. r=Gijs.
MozReview-Commit-ID: KMK4fQn5DwZ

--HG--
extra : rebase_source : bc06a9659112b6a74099c85e88c1cc636a625884
2017-08-21 13:09:37 -04:00
Gijs Kruitbosch
b308974089 Bug 1366207 - remember previous view's selection when keyboard navigating panels, r=mikedeboer
MozReview-Commit-ID: 14U7hkrBbJq

--HG--
extra : rebase_source : c6a0439d253d38a776445793b235b93ba5873f48
2017-08-15 15:21:15 +01:00
Mike de Boer
2859ef0a38 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
25583e0eda Bug 1377968 - Add a tools section and subview to the Bookmarks subview inside the Library widget. r=Gijs
MozReview-Commit-ID: GqbUMbuvYoO

--HG--
extra : rebase_source : 09f489b9b558a9b8dfc0aecbf1ab863d816ee43b
2017-08-15 13:34:41 +02:00
Gijs Kruitbosch
a06ede1bf2 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

--HG--
extra : rebase_source : f21ca55eaeb4bda49ba51f2694ecb5620f47e941
2017-08-04 11:33:55 +02:00
Gijs Kruitbosch
ad0e178cad Bug 1388753 - unbreak bookmarks/history item clicks and tidy up code in browserPlacesViews.js, r=mikedeboer
MozReview-Commit-ID: 1vjP6IeIiPz

--HG--
extra : rebase_source : e3ef4468299adfd0b874ba2f44a034c2655ecd6f
2017-08-10 23:04:54 +01:00
Sebastian Hengst
6081d7a11e Backed out changeset bf603affd1e0 (bug 1388753) for failing browser-chrome's browser_947914_button_history.js. r=backout a=merge
MozReview-Commit-ID: AHOsaTvCWms

--HG--
extra : source : 5475c7748903350a91842046eeb614880738b83e
2017-08-10 20:02:44 +02:00
Gijs Kruitbosch
12b877d713 Bug 1388753 - unbreak bookmarks/history item clicks and tidy up code in browserPlacesViews.js, r=mikedeboer
MozReview-Commit-ID: 1vjP6IeIiPz

--HG--
extra : rebase_source : 1bf36537326b86fff6e3db814908cb64aaad3e57
2017-08-09 18:02:36 +01:00
Gijs Kruitbosch
c4fb9878e0 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

--HG--
extra : rebase_source : 4df42939aa06ec10b7f86c3c2e4fe75160c7e7bd
2017-08-01 12:45:55 +01:00
Erica Wright
e2a35da326 Bug 1378016 - Fix keyboard navigation and selection on 'recent bookmarks'. r=Gijs
MozReview-Commit-ID: GJ7vRPz8zuo

--HG--
extra : rebase_source : b8a212cd174f81994e3cdb5adc4226b5dfc531d3
2017-07-31 09:47:19 -04:00
Drew Willcoxon
bafcf94652 Bug 1374477 - Add a new test for Photon page actions, along with some related code changes. r=Gijs
MozReview-Commit-ID: ADaEnEiGFvX

--HG--
extra : rebase_source : 0c7e8b3d5244eb9c3def5dac0c9a2bf3b830f4f7
2017-07-29 20:25:14 -07:00
Mike de Boer
9c16099969 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

--HG--
extra : rebase_source : 2758dd643cd504448ee1f19296670a588bf56069
2017-07-21 15:07:23 +02:00
Johann Hofmann
39ffb53fce Bug 1371219 - Increase margin of main menu items when accessed through touch. r=mikedeboer
MozReview-Commit-ID: 9gjxxc6O5YS

--HG--
extra : rebase_source : 71cec7055786687a23325ec667d59a2e630f5c57
2017-07-20 16:45:02 +02:00
Gijs Kruitbosch
9a1b681338 Bug 1354086 - fix leaks caused by transitionend listeners that hang around, r=mikedeboer
MozReview-Commit-ID: DvvoAURmxH2

--HG--
extra : rebase_source : bda2a635043d0a82a1588b1e20a93ed983f7da27
2017-07-19 15:36:44 +01:00
Gijs Kruitbosch
5b530597e8 Bug 1354086 - switch overflow panel to using a photonpanelmultiview, allowing webextension views to specify their own size, r=mikedeboer
MozReview-Commit-ID: 1uHEKXsO8vh

--HG--
extra : rebase_source : f33e277e77a09a10cb0ea3db412d293ef61a5f19
2017-07-19 21:23:46 +01:00
Paolo Amadini
dace1e001b 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

--HG--
extra : rebase_source : 0391a619f551b5e100688ea231d12ac26e0868c8
2017-07-09 16:05:03 +01:00
Mike de Boer
7c75a303b6 Bug 1378790 - Remove keyboard navigation event listeners when a photonpanelmultiview instance is destroyed. r=Gijs
MozReview-Commit-ID: JcAUwLClq7M

--HG--
extra : rebase_source : 004bfd1962f52e910226fb3ff2a4ad83eb93e425
2017-07-06 16:30:07 +02:00
Paolo Amadini
ef0d210719 Bug 1377793 - Fix scrolling in the non-Photon main menu. r=Gijs
MozReview-Commit-ID: 88IsXDvYjyK

--HG--
extra : rebase_source : 4601c2ba6f848ceeeac5db26cfe6621bf7e15a6e
2017-07-05 16:28:58 +01:00
Gijs Kruitbosch
dbd7fca428 Bug 1369729 - use descriptionheightworkaround for sync panel, r=mconley,Paolo
MozReview-Commit-ID: LQg6NEgCqz2

--HG--
extra : rebase_source : a039936a4c8e416c16171cacf73dab781d77ab50
2017-06-28 17:50:43 +01:00
Mike de Boer
b4756f63f5 Bug 1354159 - Part 2 - Introduce a new Places view type, PlacesPanelview, which can visualize query results inside panelview nodes. r=Gijs,mak
MozReview-Commit-ID: Ft1RC7dsqKD

--HG--
extra : rebase_source : e9448ee073b5341efc63496ae6504a764ee43f30
2017-06-29 17:57:24 -07:00
Carsten "Tomcat" Book
2a387535b8 Backed out changeset a6d7647024de (bug 1369729) for reflow issues 2017-06-23 15:48:54 +02:00
Gijs Kruitbosch
70c55f0619 Bug 1369729 - use descriptionheightworkaround for sync panel, r=Paolo
MozReview-Commit-ID: LQg6NEgCqz2

--HG--
extra : rebase_source : ebc990e44e7025e90a0a0415df6ce102ba4ba8f0
2017-06-19 16:06:01 +01:00
Sebastian Hengst
7648740589 Backed out changeset c0772946156f (bug 1369729) for failing browser-chrome's browser_appmenu_reflows.js with unexpected uninterruptible reflow. r=backout 2017-06-23 12:53:23 +02:00
Gijs Kruitbosch
28f0bb0532 Bug 1369729 - use descriptionheightworkaround for sync panel, r=Paolo
MozReview-Commit-ID: LQg6NEgCqz2

--HG--
extra : rebase_source : bfe13f52ec729a24ac53854b67d4613fd47b52bb
2017-06-19 16:06:01 +01:00
Mike de Boer
f7e1f14006 Bug 1370580 - Part 1 - Ensure that the overflow rules are set the exact same way for the temporary panel as for the appMenu panel. r=Gijs
These rules are set explicitly to allow the two views to be displayed next to
each other briefly when the slide-in transition starts.
This patch also applies the last remaining photon styles to the temporary panel,
which is used by the new Library widget as well.

MozReview-Commit-ID: 45aYzVHwRYv

--HG--
extra : rebase_source : 0bf4fc4effc9de9e431ee50dfcf5fc7206e252cf
2017-06-16 15:41:57 +02:00
Sebastian Hengst
be35e9d97b Backed out changeset af176d040fad (bug 1370580) for frequently failing browser_ext_sidebarAction.js on Linux debug. r=backout a=backout
MozReview-Commit-ID: AwnMjAQTdmC
2017-06-17 23:18:55 +02:00
Mike de Boer
5df9078641 Bug 1370580 - Part 1 - Ensure that the overflow rules are set the exact same way for the temporary panel as for the appMenu panel. r=Gijs
These rules are set explicitly to allow the two views to be displayed next to
each other briefly when the slide-in transition starts.
This patch also applies the last remaining photon styles to the temporary panel,
which is used by the new Library widget as well.

MozReview-Commit-ID: 45aYzVHwRYv

--HG--
extra : rebase_source : 0bf4fc4effc9de9e431ee50dfcf5fc7206e252cf
2017-06-16 15:41:57 +02:00
Sebastian Hengst
a4809151b2 Backed out changeset d6be7dc56cc5 (bug 1370580) for failing test-oop-extensions/browser_ext_browserAction_popup_resize.js. r=backout 2017-06-15 19:24:39 +02:00
Mike de Boer
5704197fbf Bug 1370580 - Part 1 - Ensure that the overflow rules are set the exact same way for the temporary panel as for the appMenu panel. r=Gijs
These rules are set explicitly to allow the two views to be displayed next to
each other briefly when the slide-in transition starts.
This patch also applies the last remaining photon styles to the temporary panel,
which is used by the new Library widget as well.

MozReview-Commit-ID: 45aYzVHwRYv

--HG--
extra : rebase_source : f142e3dbba0d70effe129dad43f139e494070d82
2017-06-15 12:49:18 +02:00
Mike de Boer
386ed7219e Bug 1369095 - calculate the size of the panel to be shown off-screen to work around all the panel layout issues. r=Paolo
MozReview-Commit-ID: ENxCccxcUZk

--HG--
extra : rebase_source : bff74375471ccce984caa2bbb7d3ab9ffe3e1fca
2017-06-13 14:06:35 +02:00
Wes Kocher
6dbc3e8839 Backed out changeset 9933f2d4d188 (bug 1369095) for timeouts in browser_page_action_menu.js a=backout CLOSED TREE
MozReview-Commit-ID: CErzYNn287D
2017-06-09 09:19:45 -07:00
Mike de Boer
3e8fc24e90 Bug 1369095 - calculate the size of the panel to be shown off-screen to work around all the panel layout issues. r=Paolo
MozReview-Commit-ID: ENxCccxcUZk

--HG--
extra : rebase_source : 3d95b5e816e3a385b2f126634d4365743522ac3e
2017-06-09 15:52:18 +02:00
Carsten "Tomcat" Book
247a47fac9 Merge mozilla-central to mozilla-inbound 2017-06-08 15:16:36 +02:00
Gijs Kruitbosch
635be35297 Bug 1369564 - fix min-width issues with panels, r=mikedeboer
MozReview-Commit-ID: 3h5hCvcJbTc

--HG--
extra : rebase_source : 05eb487b4e069eb6b57a0e21fdaea1995c9c3e09
2017-06-06 16:12:40 +01:00