diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-21 18:38:55 -0400 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-21 18:38:55 -0400 | 
| commit | d106c638ed69b2c72895c1040b0e7bea2e31cdb7 (patch) | |
| tree | 39f9f6f6fc35c3800d4892caee016e94e0bf2083 | |
| parent | 9ca906ef900dacfd10a548757d8a2b842a549088 (diff) | |
Move popup-nested content into float-main
| -rw-r--r-- | ext/fg/float.html | 1 | ||||
| -rw-r--r-- | ext/fg/js/float-main.js | 48 | ||||
| -rw-r--r-- | ext/fg/js/popup-nested.js | 67 | 
3 files changed, 48 insertions, 68 deletions
| diff --git a/ext/fg/float.html b/ext/fg/float.html index 85c806fd..07c3c9e6 100644 --- a/ext/fg/float.html +++ b/ext/fg/float.html @@ -56,7 +56,6 @@          <script src="/mixed/js/template-handler.js"></script>          <script src="/fg/js/float.js"></script> -        <script src="/fg/js/popup-nested.js"></script>          <script src="/fg/js/float-main.js"></script>      </body> diff --git a/ext/fg/js/float-main.js b/ext/fg/js/float-main.js index b752cdee..072c86e0 100644 --- a/ext/fg/js/float-main.js +++ b/ext/fg/js/float-main.js @@ -17,8 +17,56 @@  /* global   * DisplayFloat + * apiOptionsGet   */ +function injectPopupNested() { +    const scriptSrcs = [ +        '/mixed/js/text-scanner.js', +        '/fg/js/frontend-api-sender.js', +        '/fg/js/popup.js', +        '/fg/js/popup-proxy.js', +        '/fg/js/frontend.js', +        '/fg/js/content-script-main.js' +    ]; +    for (const src of scriptSrcs) { +        const script = document.createElement('script'); +        script.async = false; +        script.src = src; +        document.body.appendChild(script); +    } +} + +async function popupNestedInitialize(id, depth, parentFrameId, url) { +    let optionsApplied = false; + +    const applyOptions = async () => { +        const optionsContext = {depth, url}; +        const options = await apiOptionsGet(optionsContext); +        const popupNestingMaxDepth = options.scanning.popupNestingMaxDepth; + +        const maxPopupDepthExceeded = !( +            typeof popupNestingMaxDepth === 'number' && +            typeof depth === 'number' && +            depth < popupNestingMaxDepth +        ); +        if (maxPopupDepthExceeded || optionsApplied) { +            return; +        } + +        optionsApplied = true; + +        window.frontendInitializationData = {id, depth, parentFrameId, url, proxy: true}; +        injectPopupNested(); + +        yomichan.off('optionsUpdated', applyOptions); +    }; + +    yomichan.on('optionsUpdated', applyOptions); + +    await applyOptions(); +} +  async function main() {      new DisplayFloat();  } diff --git a/ext/fg/js/popup-nested.js b/ext/fg/js/popup-nested.js deleted file mode 100644 index 27482931..00000000 --- a/ext/fg/js/popup-nested.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2019-2020  Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program.  If not, see <https://www.gnu.org/licenses/>. - */ - -/* global - * apiOptionsGet - */ - -function injectPopupNested() { -    const scriptSrcs = [ -        '/mixed/js/text-scanner.js', -        '/fg/js/frontend-api-sender.js', -        '/fg/js/popup.js', -        '/fg/js/popup-proxy.js', -        '/fg/js/frontend.js', -        '/fg/js/content-script-main.js' -    ]; -    for (const src of scriptSrcs) { -        const script = document.createElement('script'); -        script.async = false; -        script.src = src; -        document.body.appendChild(script); -    } -} - -async function popupNestedInitialize(id, depth, parentFrameId, url) { -    let optionsApplied = false; - -    const applyOptions = async () => { -        const optionsContext = {depth, url}; -        const options = await apiOptionsGet(optionsContext); -        const popupNestingMaxDepth = options.scanning.popupNestingMaxDepth; - -        const maxPopupDepthExceeded = !( -            typeof popupNestingMaxDepth === 'number' && -            typeof depth === 'number' && -            depth < popupNestingMaxDepth -        ); -        if (maxPopupDepthExceeded || optionsApplied) { -            return; -        } - -        optionsApplied = true; - -        window.frontendInitializationData = {id, depth, parentFrameId, url, proxy: true}; -        injectPopupNested(); - -        yomichan.off('optionsUpdated', applyOptions); -    }; - -    yomichan.on('optionsUpdated', applyOptions); - -    await applyOptions(); -} |