From e362a8f0f722d9be9fb8e944c573797b658482f3 Mon Sep 17 00:00:00 2001 From: sadick254 Date: Fri, 23 Jul 2021 21:00:05 +0300 Subject: [PATCH] Use custom element on workspace-element document.registerElement is being deprecated which will make upgrading to later versions of electron imposible --- src/workspace-element.js | 18 ++++++++++++------ src/workspace.js | 4 ++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/workspace-element.js b/src/workspace-element.js index 155043e2b..9400ef028 100644 --- a/src/workspace-element.js +++ b/src/workspace-element.js @@ -8,13 +8,13 @@ const scrollbarStyle = require('scrollbar-style'); const _ = require('underscore-plus'); class WorkspaceElement extends HTMLElement { - attachedCallback() { + connectedCallback() { this.focus(); this.htmlElement = document.querySelector('html'); this.htmlElement.addEventListener('mouseleave', this.handleCenterLeave); } - detachedCallback() { + disconnectedCallback() { this.subscriptions.dispose(); this.htmlElement.removeEventListener('mouseleave', this.handleCenterLeave); } @@ -466,10 +466,6 @@ class WorkspaceElement extends HTMLElement { } } -module.exports = document.registerElement('atom-workspace', { - prototype: WorkspaceElement.prototype -}); - function isTab(element) { let el = element; while (el != null) { @@ -478,3 +474,13 @@ function isTab(element) { } return false; } + +window.customElements.define('atom-workspace', WorkspaceElement); + +function createWorkspaceElement() { + return document.createElement('atom-workspace'); +} + +module.exports = { + createWorkspaceElement +}; diff --git a/src/workspace.js b/src/workspace.js index 0b0ad981b..3b040c3b0 100644 --- a/src/workspace.js +++ b/src/workspace.js @@ -15,7 +15,7 @@ const Panel = require('./panel'); const PanelContainer = require('./panel-container'); const Task = require('./task'); const WorkspaceCenter = require('./workspace-center'); -const WorkspaceElement = require('./workspace-element'); +const { createWorkspaceElement } = require('./workspace-element'); const STOPPED_CHANGING_ACTIVE_PANE_ITEM_DELAY = 100; const ALL_LOCATIONS = ['center', 'left', 'right', 'bottom']; @@ -267,7 +267,7 @@ module.exports = class Workspace extends Model { getElement() { if (!this.element) { - this.element = new WorkspaceElement().initialize(this, { + this.element = createWorkspaceElement().initialize(this, { config: this.config, project: this.project, viewRegistry: this.viewRegistry,