diff options
Diffstat (limited to 'ext/bg/js/backend.js')
| -rw-r--r-- | ext/bg/js/backend.js | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index e3ef1e88..3d1b1544 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -93,6 +93,7 @@ class Backend {              ['textParse',                    {async: true,  contentScript: true,  handler: this._onApiTextParse.bind(this)}],              ['addAnkiNote',                  {async: true,  contentScript: true,  handler: this._onApiAddAnkiNote.bind(this)}],              ['getAnkiNoteInfo',              {async: true,  contentScript: true,  handler: this._onApiGetAnkiNoteInfo.bind(this)}], +            ['injectAnkiNoteMedia',          {async: true,  contentScript: true,  handler: this._onApiInjectAnkiNoteMedia.bind(this)}],              ['definitionAdd',                {async: true,  contentScript: true,  handler: this._onApiDefinitionAdd.bind(this)}],              ['definitionsAddable',           {async: true,  contentScript: true,  handler: this._onApiDefinitionsAddable.bind(this)}],              ['noteView',                     {async: true,  contentScript: true,  handler: this._onApiNoteView.bind(this)}], @@ -472,6 +473,18 @@ class Backend {          return results;      } +    async _onApiInjectAnkiNoteMedia({expression, reading, timestamp, audioDetails, screenshotDetails, clipboardImage}) { +        return await this._injectAnkNoteMedia( +            this._anki, +            expression, +            reading, +            timestamp, +            audioDetails, +            screenshotDetails, +            clipboardImage +        ); +    } +      async _onApiDefinitionAdd({definition, mode, context, ownerFrameId, optionsContext}, sender) {          const options = this.getOptions(optionsContext);          const templates = this._getTemplates(options); @@ -1599,15 +1612,14 @@ class Backend {              const audioDetails = (mode !== 'kanji' && this._ankiNoteBuilder.containsMarker(fields, 'audio') ? {sources, customSourceUrl} : null);              const screenshotDetails = (this._ankiNoteBuilder.containsMarker(fields, 'screenshot') ? {windowId, tabId, ownerFrameId, format, quality} : null);              const clipboardImage = (this._ankiNoteBuilder.containsMarker(fields, 'clipboard-image')); -            const {screenshotFileName, clipboardImageFileName, audioFileName} = await this._injectAnkNoteMedia( -                this._anki, +            const {screenshotFileName, clipboardImageFileName, audioFileName} = await this._onApiInjectAnkiNoteMedia({                  expression,                  reading,                  timestamp,                  audioDetails,                  screenshotDetails,                  clipboardImage -            ); +            });              if (screenshotFileName !== null) { definition.screenshotFileName = screenshotFileName; }              if (clipboardImageFileName !== null) { definition.clipboardImageFileName = clipboardImageFileName; }              if (audioFileName !== null) { definition.audioFileName = audioFileName; } |