diff --git a/store/plugin-dev/extension/inject.js b/store/plugin-dev/extension/inject.js new file mode 100644 index 00000000..c0dba262 --- /dev/null +++ b/store/plugin-dev/extension/inject.js @@ -0,0 +1,19 @@ +(function(window, undefined) { + var URL_TO_PLUGIN = ""; + + var xhrObj = new XMLHttpRequest(); + xhrObj.open('GET', URL_TO_PLUGIN + "config.json", false); + xhrObj.send(''); + + var configObj = JSON.parse(xhrObj.responseText); + configObj.baseUrl = URL_TO_PLUGIN; + + window.Asc = window.Asc ? window.Asc : {}; + window.Asc.extensionPlugins = window.Asc.extensionPlugins ? window.Asc.extensionPlugins : []; + window.Asc.extensionPlugins.push(configObj); + if (window.Asc.g_asc_plugins && window.Asc.g_asc_plugins.loadExtensionPlugins) + { + window.Asc.g_asc_plugins.loadExtensionPlugins(window.Asc.extensionPlugins); + window.Asc.extensionPlugins = []; + } +})(window, undefined); \ No newline at end of file diff --git a/store/plugin-dev/extension/main.js b/store/plugin-dev/extension/main.js new file mode 100644 index 00000000..a629c39f --- /dev/null +++ b/store/plugin-dev/extension/main.js @@ -0,0 +1,28 @@ +/** + * + * (c) Copyright Ascensio System SIA 2020 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +(function(window, undefined){ + + if ("frameEditor" == window.name) + { + var oScript = document.createElement('script'); + oScript.src = chrome.runtime.getURL('inject.js'); + oScript.onload = function() { this.remove(); }; + (document.body || document.head || document.documentElement).appendChild(oScript); + } + +})(window, undefined); \ No newline at end of file diff --git a/store/plugin-dev/extension/manifest.json b/store/plugin-dev/extension/manifest.json new file mode 100644 index 00000000..6ced7d5a --- /dev/null +++ b/store/plugin-dev/extension/manifest.json @@ -0,0 +1,36 @@ +{ + "name": "ONLYOFFICE plugin for development", + "description": "ONLYOFFICE plugin for development", + "version": "1.0", + "manifest_version": 3, + "web_accessible_resources": [{ + "resources": [ + "/main.js", + "/inject.js" + ], + "matches": [ "" ] + }], + "content_scripts": [ + { + "match_about_blank" : true, + "all_frames" : true, + "matches": [""], + "js": [ "/main.js" ], + "run_at": "document_end" + } + ], + "permissions": [ + "storage", + "tabs", + "declarativeContent", + "activeTab", + "scripting" + ], + "host_permissions": [ + "*://*/*", + "" + ], + "content_security_policy": { + "extension_pages": "script-src 'self'; object-src 'self'" + } +} \ No newline at end of file