From 050a123750e4ef4009930d0da1ff7a1a6441d4f3 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 11 Nov 2020 18:06:17 -0800 Subject: [PATCH] Fix F6 in extension page webviews For #101185 Make sure we set the correct parent flow to --- .../workbench/contrib/extensions/browser/extensionEditor.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts b/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts index ae58d40a9aa..f4c1cdfbf63 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionEditor.ts @@ -14,7 +14,7 @@ import { Action, IAction } from 'vs/base/common/actions'; import { isPromiseCanceledError } from 'vs/base/common/errors'; import { dispose, toDisposable, Disposable, DisposableStore, IDisposable } from 'vs/base/common/lifecycle'; import { domEvent } from 'vs/base/browser/event'; -import { append, $, finalHandler, join, hide, show, addDisposableListener, EventType } from 'vs/base/browser/dom'; +import { append, $, finalHandler, join, hide, show, addDisposableListener, EventType, setParentFlowTo } from 'vs/base/browser/dom'; import { EditorPane } from 'vs/workbench/browser/parts/editor/editorPane'; import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; @@ -284,6 +284,7 @@ export class ExtensionEditor extends EditorPane { const navbar = new NavBar(body); const content = append(body, $('.content')); + content.id = generateUuid(); // An id is needed for the webview parent flow to this.template = { builtin, @@ -575,7 +576,9 @@ export class ExtensionEditor extends EditorPane { }, {}, undefined)); webview.claim(this, this.scopedContextKeyService); + setParentFlowTo(webview.container, template.content); webview.layoutWebviewOverElement(template.content); + webview.html = body; this.contentDisposables.add(webview.onDidFocus(() => this.fireOnDidFocus()));