From 5266e015924d9afa1a18800baedd3b6664e8bb17 Mon Sep 17 00:00:00 2001 From: Ishan Taldekar Date: Wed, 12 Feb 2025 18:13:57 -0500 Subject: [PATCH] Fix bugs in view refactor branch --- .../eclipse/amazonq/views/AmazonQChatWebview.java | 15 +++++++++------ .../amazonq/views/AmazonQViewContainer.java | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java index 1ad93a98..2eeb10f3 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQChatWebview.java @@ -75,7 +75,11 @@ public void completed(final ProgressEvent event) { }); } }); - + + if (!content.isPresent()) { + content = webViewAssetProvider.getContent(); + } + browser.setText(content.get()); } else { updateBrowser(browser); } @@ -113,11 +117,6 @@ public void completed(final ProgressEvent event) { } }); - if (!content.isPresent()) { - content = webViewAssetProvider.getContent(); - } - browser.setText(content.get()); - return parent; } @@ -143,6 +142,10 @@ public final void onSendToChatUi(final String message) { browser.evaluate(script); }); } + + void disposeBrowserState() { + canDisposeState = true; + } @Override public final void dispose() { diff --git a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQViewContainer.java b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQViewContainer.java index 190d7d89..398dcbf8 100644 --- a/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQViewContainer.java +++ b/plugin/src/software/aws/toolkits/eclipse/amazonq/views/AmazonQViewContainer.java @@ -76,6 +76,9 @@ private void updateChildView() { BaseAmazonQView newView = views.get(activeViewType); if (currentView != null) { + if (currentView.getClass() == AmazonQChatWebview.class) { + ((AmazonQChatWebview) currentView).disposeBrowserState(); + } Control[] children = parentComposite.getChildren(); for (Control child : children) { if (child != null && !child.isDisposed()) {