Source:
<code>private void initChatView() { WebView messagesWebView = getMessagesWebView(); JavaFxUtil.configureWebView(messagesWebView, preferencesService); messagesWebView.addEventHandler(MouseEvent.MOUSE_MOVED, moveHandler); messagesWebView.zoomProperty().addListener((observable, oldValue, newValue) -> { <START> preferencesService.getPreferences().getChatPrefs().setZoom(newValue.doubleValue()); <END> preferencesService.storeInBackground(); }); Double zoom = preferencesService.getPreferences().getChatPrefs().getZoom(); if (zoom != null) { messagesWebView.setZoom(zoom); } engine = messagesWebView.getEngine(); ((JSObject) engine.executeScript("window")).setMember(CHAT_TAB_REFERENCE_IN_JAVASCRIPT, this); engine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> { if (Worker.State.SUCCEEDED.equals(newValue)) { synchronized (waitingMessages) { waitingMessages.forEach(new Consumer<ChatMessage>() { @Override public void accept(ChatMessage chatMessage) { AbstractChatTabController.this.appendMessage(chatMessage); } }); waitingMessages.clear(); isChatReady = true; } } }); try (InputStream inputStream = CHAT_HTML_RESOURCE.getInputStream()) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ByteCopier.from(inputStream).to(byteArrayOutputStream).copy(); String chatContainerHtml = new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8) .replace("{chat-container-js}", CHAT_JS_RESOURCE.getURL().toExternalForm()) .replace("{auto-linker-js}", AUTOLINKER_JS_RESOURCE.getURL().toExternalForm()); engine.loadContent(chatContainerHtml); } catch (IOException e) { throw new RuntimeException(e); } }</code><technical_language>.. right here, line 180</technical_language>

Target:
private void initChatView() { WebView messagesWebView = getMessagesWebView(); JavaFxUtil.configureWebView(messagesWebView, preferencesService); messagesWebView.addEventHandler(MouseEvent.MOUSE_MOVED, moveHandler); messagesWebView.zoomProperty().addListener((observable, oldValue, newValue) -> { preferencesService.getPreferences().getChat().setZoom(newValue.doubleValue()); preferencesService.storeInBackground(); }); Double zoom = preferencesService.getPreferences().getChat().getZoom(); if (zoom != null) { messagesWebView.setZoom(zoom); } engine = messagesWebView.getEngine(); (getJsObject()).setMember(CHAT_TAB_REFERENCE_IN_JAVASCRIPT, this); engine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> { if (Worker.State.SUCCEEDED.equals(newValue)) { synchronized (waitingMessages) { waitingMessages.forEach(AbstractChatTabController.this::appendMessage); waitingMessages.clear(); isChatReady = true; } } }); try (InputStream inputStream = CHAT_HTML_RESOURCE.getInputStream()) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ByteCopier.from(inputStream).to(byteArrayOutputStream).copy(); String chatContainerHtml = new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8) .replace("{chat-container-js}", CHAT_JS_RESOURCE.getURL().toExternalForm()) .replace("{auto-linker-js}", AUTOLINKER_JS_RESOURCE.getURL().toExternalForm()); engine.loadContent(chatContainerHtml); } catch (IOException e) { throw new RuntimeException(e); } }