Replaced ComponentErrorHandler with generic ErrorHandler (#10231)
* Replaced AbstractComponent ErrorHandler with ClientConnector level error handler. Now uses the same ErrorHandler as other parts of the framework.
* Made error handling hierarchical so that the error handler of the connector where the error occured or its ancestors is used. Falls back to VaadinSession ErrorHandler.
* Changed ErrorEvent to be a class as all other events in the framework
* Renamed ErrorListener to ErrorHandler and DefaultErrorListener to DefaultErrorHandler for consistency
* Unified error handling in AbstractCommunicationManager
* Unified error handling in VaadinServlet and VaadinPortlet
* Removed superfluous ErrorEvent implementations (#10232)
Change-Id: Ied518e05209fe54685f4bebab0709b1cd5584fd1
When closeIdleUIs is true, close open UIs only after all UIs have been idle for longer than the session timeout
* Rename closeIdleUIs to closeIdleSessions, isIdleUICleanupEnabled to isCloseIdleSessions (#10252)
* Close the whole session at the same time as well
* Move UI lastUidlRequestTime to VaadinSession lastRequestTimestamp (#10253)
* Rename VaadinSession lastRequestTime to lastRequestDuration, totalSessionTime to cumulativeRequestDuration (#10253)
* Rename UI lastHeartbeatTime to lastHeartbeatTimestamp
* Show "Session Expired" notification when a heartbeat fails because of this
Change-Id: If3d4bd9add9995f435c29812eec00b3a3a92a6e6
* Primary use case for CombinedRequest (special path and parameters)
already elimiated by other changes
* BrowserDetails.getLocation is now available through Page
* BrowserDetails.getWindowName only used internally in one location
* VaadinServletRequest.cast and similar for portlets removed now that a
normal cast can always be used as there's no CombinedRequest to consider
Change-Id: I44f28722a12f86015b3c30e83768e4611b87479c