private String translateTheme(String importValue) { if (theme != null) { VaadinService service = session.getService(); WebBrowser browser = session.getBrowser(); Optional<String> themedUrl = service.getThemedUrl(importValue, browser, theme); return themedUrl.orElse(importValue); } else { Matcher componentMatcher = componentSource.matcher(importValue); if (componentMatcher.matches()) { String componentName = componentMatcher.group(1); getLogger().trace( "Vaadin component '{}' is used and missing theme definition.", componentName); } } return importValue; }
private static void inlineEs6Collections(Element head, BootstrapContext context) { if (!context.getSession().getBrowser().isEs6Supported()) { head.appendChild(createInlineJavaScriptElement(ES6_COLLECTIONS)); } }
VaadinResponse response) throws IOException { Writer page = response.getWriter(); WebBrowser browser = VaadinSession.getCurrent().getBrowser();
/** * Creates a new bootstrap resolver based on the given request and * session. * * @param ui * the ui to resolve for */ protected BootstrapUriResolver(UI ui) { servletPathToContextRoot = ui.getInternals() .getContextRootRelativePath(); VaadinSession session = ui.getSession(); DeploymentConfiguration config = session.getConfiguration(); if (session.getBrowser().isEs6Supported()) { frontendRootUrl = config.getEs6FrontendPrefix(); } else { frontendRootUrl = config.getEs5FrontendPrefix(); } assert frontendRootUrl.endsWith("/"); assert servletPathToContextRoot.endsWith("/"); }
@Override public boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { // Check if the browser is supported WebBrowser browser = session.getBrowser(); final String cookie = request.getHeader("Cookie"); if (browser.isTooOldToFunctionProperly()) { // bypass if cookie set if (cookie == null || !cookie.contains(FORCE_LOAD_COOKIE)) { writeBrowserTooOldPage(request, response); return true; // request handled } } // check for trying to run ie11 in development mode if (browser.isIE() && !session.getConfiguration().isProductionMode()) { // bypass if cookie set if (cookie == null || !cookie.contains(FORCE_LOAD_COOKIE)) { writeIE11InDevelopmentModePage(response); return true; } } return false; // pass to next handler }
VaadinService service = session.getService(); if (!service.isResourceAvailable(webcomponentsLoaderUrl, session.getBrowser(), null)) { if (loadEs5Adapter && !session.getBrowser().isEs6Supported()) { if (session.getBrowser().isEs5AdapterNeeded()) { head.appendChild( createJavaScriptElement(context.getUriResolver()
private static InitialPageSettings createInitialPageSettingsObject( BootstrapHandler.BootstrapContext context) { UI ui = context.getUI(); VaadinRequest request = context.getRequest(); WebBrowser browser = context.getSession().getBrowser(); String pathInfo = request.getPathInfo(); if (pathInfo == null) { pathInfo = ""; } else { assert pathInfo.startsWith("/"); pathInfo = pathInfo.substring(1); } Router router = ui.getRouter(); NavigationEvent navigationEvent = new NavigationEvent(router, new Location(pathInfo, QueryParameters.full(request.getParameterMap())), ui, NavigationTrigger.PAGE_LOAD); List<HasElement> components = ui.getChildren() .map(component -> (HasElement) component) .collect(Collectors.toList()); AfterNavigationEvent afterNavigationEvent = new AfterNavigationEvent( new LocationChangeEvent(navigationEvent.getSource(), navigationEvent.getUI(), navigationEvent.getTrigger(), navigationEvent.getLocation(), components)); return new InitialPageSettings(request, ui, afterNavigationEvent, browser); }
/** * Creates and registers a new VaadinSession for this service. Assumes * proper locking has been taken care of by the caller. * * @param request * The request which triggered session creation. * @return A new VaadinSession instance */ private VaadinSession createAndRegisterSession(VaadinRequest request) { assert ((ReentrantLock) getSessionLock(request.getWrappedSession())) .isHeldByCurrentThread() : "Session has not been locked by this thread"; VaadinSession session = createVaadinSession(request); VaadinSession.setCurrent(session); storeSession(session, request.getWrappedSession()); // Initial WebBrowser data comes from the request session.getBrowser().updateRequestDetails(request); session.setConfiguration(getDeploymentConfiguration()); // Initial locale comes from the request if (getInstantiator().getI18NProvider() != null) { setLocale(request, session); } onVaadinSessionStarted(request, session); return session; }
new ResolveContext(service, session.getBrowser(), null));