Commit Graph

2955 Commits

Author SHA1 Message Date
toasted-nutbread
94db6c69fa
Permissions button in browser action popup (#1368)
* Add key icon

* Update context icon styles

* Add permissions links

* Show warning badge if permissions are insufficient for certain settings

* Create PermissionsUtil

* Use PermissionsUtil in Backend

* Update SettingsController to use PermissionsUtil

* Update AnkiController to use getRequiredPermissionsForAnkiFieldValue

* Show the permissions buttons/links on the context page when necessary

* Update MV3 compatibility
2021-02-11 18:55:09 -05:00
toasted-nutbread
07cd006127
Add support for multiple types of audio (#1366) 2021-02-10 19:18:28 -05:00
toasted-nutbread
673952e825
Fix window popup screenshot (#1365)
* Pass tabId to the screenshot functionality

* Make setVisibleOverride async

* Fix argument order

* Fix incorrect windowId

* Remove unused argument
2021-02-09 23:14:29 -05:00
toasted-nutbread
166451b8f7
Improve popup window ownership (#1364)
* Update frameInformationGet to also return the tab ID

* Add tabId to Frontend

* Pass tabId/frameId to Display

* Pass ownership information using setContent

* Remove ownerFrameId for Popup classes

* Use frameId instead of ownerFrameId for screenshotting

* Use contentOrigin instead of owner

* Update _invokeContentOrigin implementation
2021-02-09 22:56:04 -05:00
toasted-nutbread
0f5fb804d0
Mecab test (#1361)
* Update Mecab API

* Add testMecab API function

* Add a test button for the Mecab component
2021-02-08 19:40:49 -05:00
toasted-nutbread
0ed24347ee
Fix settings permissions issues (#1360)
* Add missing warning indicator for the MeCab option

* Fix error handling of permissions requests
2021-02-08 19:37:36 -05:00
toasted-nutbread
0d031ab785
Improve context page display on mobile (#1359) 2021-02-08 17:53:22 -05:00
toasted-nutbread
e386599872
Fix changing the parser not immediately updating (#1358) 2021-02-08 17:53:17 -05:00
toasted-nutbread
69e8addb47
Mecab refactor (#1357)
* Use private variables

* Use local variables

* Remove onError

* Use private functions

* Move results parsing

* Set up disconnect observation

* Add _clearPort

* Update API

* Rename

* Fix iterator

* Update parseText invocation

* Update parseText format

* Reorganize

* Update implementation and docs

* Fix some port setup issues
2021-02-08 17:53:12 -05:00
toasted-nutbread
7b28c2c532
Auto-fill Anki card fields when possible (#1355) 2021-02-08 17:53:07 -05:00
toasted-nutbread
bb8a521dff
Remove unused api functions (#1354)
* Remove screenshotGet

* Remove downloadDefinitionAudio

* Remove clipboardGetImage
2021-02-08 17:53:02 -05:00
toasted-nutbread
73e91b3b62
Refactor FrameOffsetForwarder (#1353)
* Add getChildFrameElement to FrameAncestryHandler

* Add isRootFrame

* Initialize _frameOffset to [0, 0]

* Update FrameOffsetForwarder implementation

* Update documentation
2021-02-08 17:52:56 -05:00
toasted-nutbread
3e5b30ff76
Fix overflow scrollbar appearing sometimes (#1350) 2021-02-08 17:52:51 -05:00
toasted-nutbread
4b6703114c
Improve dictionaries not enabled badges (#1349)
* Improve badges on the settings page

* Add badges on the context page
2021-02-08 17:52:46 -05:00
toasted-nutbread
849e4fabe1
Native messaging optional permission (#1348)
* Refactor PermissionsToggleController to not require a setting

* Update nativeMessaging to be optional on Chrome

* Update parsing.enableMecabParser setting to request permissions

* Update permissions page to use PermissionsToggleController

* Update permissions documentation

* Disable toggle for permissions which are not optional
2021-02-08 17:52:41 -05:00
toasted-nutbread
008809e0e7
Enforce language (#1344)
* Assign text content and a language

* Remove _appendMultilineText

* Assign lang for createTextNode content

* Add language attributes to HTML pages
2021-02-08 17:52:35 -05:00
toasted-nutbread
c6315cdb8c
え deinflection (#1343)
* Add -e deinflections

* Add tests

* Add more rules for double え
2021-02-08 17:52:30 -05:00
toasted-nutbread
ace6e92d55
Update chrome://extensions/shortcuts URLs to be clickable (#1342) 2021-02-08 17:52:25 -05:00
toasted-nutbread
9f5cbaac5a
Frame ancestry handler refactor (#1352)
* Validate source window before handling messages

* Add unregisterHandler to CrossFrameAPI

* Refactor the process FrameAncestryHandler uses to get ancestor frame IDs

* Store a mapping of child frame information

* Update getFrameAncestryInfo to only run once
2021-02-06 16:19:55 -05:00
toasted-nutbread
356e7f5274
Add FrameAncestryHandler (#1351) 2021-02-06 14:32:21 -05:00
toasted-nutbread
8f97ca0aac
Permissions toggle controller (#1347)
* Move file, rename class

* Expose required permissions in an attribute

* Update selector

* Update attribute

* Fix global declaration order
2021-02-04 22:17:42 -05:00
toasted-nutbread
47f16862d0
Fix incorrect clipboard setting target (#1346) 2021-02-04 21:12:32 -05:00
toasted-nutbread
6c9f4a2be9 Update version 2021-01-31 16:18:54 -05:00
toasted-nutbread
6218b0d8f7
Fix the settings page trying to create a popup window (#1341) 2021-01-31 16:18:17 -05:00
toasted-nutbread
b0b201fc6a
Update default settings page to the v2 page (#1339) 2021-01-31 11:58:57 -05:00
toasted-nutbread
08a87bd007
Settings permissions info display (#1338)
* Add getAllPermissions function

* Add permissionsChanged event

* Update ClipboardPopupsController to show permissions validation info

* Add invalid indicator

* Display invalid indicator when permissions are not valid

* Fix border color transition not being necessary on input-suffix-button
2021-01-31 11:55:11 -05:00
toasted-nutbread
9e83faa02c
Html lint (#1336)
* Move style rules

* Fix non-unique IDs

* Remove erroneous ids

* Add title

* Fix invalid closing tag

* Install html-validate

* Add .htmlvalidate.json

* Update HTML and styles

* Add test-lint-html

* Update test files

* Update test-lint-html/css commands to have more explicit targets
2021-01-30 20:44:54 -05:00
toasted-nutbread
60c38ab83c
Modal refactor (#1335)
* Rename modal-container to modal

* Update how modal IDs are handled

* Fix invalid modal check

* Update modal IDs
2021-01-30 19:47:16 -05:00
toasted-nutbread
828c4b11c1
Permissions requesting fixes (#1334)
* Fix permissions requests not occurring during user interaction

* Update toggle after changing permissions

* Update functions

* Update clipboard requests
2021-01-30 15:05:08 -05:00
toasted-nutbread
a802666d8d
Update error handling for navigator.clipboard (#1333) 2021-01-30 15:03:19 -05:00
toasted-nutbread
7177694419
Fix the alt key opening the menu in KBM input fields on Firefox (#1332) 2021-01-30 14:15:27 -05:00
toasted-nutbread
0ba1427775
Fix null not being handled properly in _findTab result (#1331) 2021-01-30 14:06:43 -05:00
toasted-nutbread
d0b8b605db
Add note errors (#1329)
* Update _addAnkiNote to track errors

* Change comparison

* Update anki note adding to show errors

* Fix template

* Show errors when Anki card creation behaves unexpectedly

* Update some errors related to anki media injection

* Update addAnkiNote error handling

* Improve Anki errors

* Simplify error messages related to template rendering
2021-01-30 12:33:29 -05:00
toasted-nutbread
af6e9a8153
Fix CSP error when reading images from the clipboard using the paste command (#1328) 2021-01-30 11:15:11 -05:00
toasted-nutbread
588d8a681a
Display notification style updates (#1327)
* Add scrollbar-inverse styles

* Update notification styles to support better overflowing
2021-01-29 22:12:24 -05:00
toasted-nutbread
04cf4ec8d5
Settings and welcome page improvements (#1326)
* Update wording to be less repetitive

* Remove the shadow theme option from the welcome page, to avoid confusion

* Update input sizes

* Update select text to not clip the triangle icon

* Update wording

* Update descriptions

* Remove "popup" to not exclude the search page
2021-01-29 19:10:57 -05:00
toasted-nutbread
c7c5bab1a9
Fix incorrect function (#1325) 2021-01-28 21:38:13 -05:00
toasted-nutbread
a81787c55b
Remove the dictionary tag from the definitionTags (#1324)
* Remove dictionary tag from term definitionTags and kanji tags

* Update test data

* Update templates

* Update tests

* Update information
2021-01-28 21:33:30 -05:00
toasted-nutbread
e610a62ceb
Refactor anki field templates (#1323)
* Update glossary and glossary-single

* Define patch

* Create TemplatePatcher

* Add test
2021-01-28 21:17:10 -05:00
toasted-nutbread
ed0c0c20c0
Native keyboard shortcuts settings (#1322)
* Fix style issue

* Add ExtensionKeyboardShortcutController

* Move descriptions

* Add separator line
2021-01-27 19:34:14 -05:00
toasted-nutbread
97bb05147e
Don't trigger a change event for the initial content of the clipboard (#1321) 2021-01-26 20:12:04 -05:00
toasted-nutbread
77b7bdb4ce
Update translation options to be advanced only (#1320) 2021-01-26 20:00:34 -05:00
toasted-nutbread
898498c8a3
Clipboard settings organization (#1319)
* Create clipboard icon

* Move clipboard options

* Update clipboard options

* Update labels

* Add info

* Update all clipboard settings to request permissions
2021-01-26 19:58:58 -05:00
toasted-nutbread
8d292363d4
Update clipboard options organization (#1318)
* Update options organization

* Update general.enableClipboardPopups to clipboard.enableBackgroundMonitor

* Update general.enableClipboardMonitor to clipboard.enableSearchPageMonitor

* Update general.maximumClipboardSearchLength to clipboard.maximumSearchLength

* Update general.autoSearchClipboardContent to clipboard.autoSearchContent
2021-01-26 18:30:01 -05:00
toasted-nutbread
d11cd7b28f
Fix missing options for _onDisplayOptionsUpdated invocation (#1317) 2021-01-26 18:24:56 -05:00
toasted-nutbread
43c9a5eb6a
Fix search box resizing (#1316)
* Don't resize the search box unless it's necessary

* Allow search box to shrink under certain circumstances
2021-01-25 22:19:44 -05:00
toasted-nutbread
34fed22ccb
Fix clipboard monitor not persisting (#1315)
* Add optionsUpdated event to Display

* Update this._clipboardMonitorEnabled

* Update settings to ensure no unexpected behaviour
2021-01-25 22:18:31 -05:00
toasted-nutbread
981f73b562
Clipboard lookup skip option (#1314)
* Add autoSearchClipboardContent option

* Hide header if there is any search text

* Add setting for autoSearchClipboardContent

* Add support for autoSearchClipboardContent
2021-01-25 22:05:06 -05:00
toasted-nutbread
ea1d40f94b
Defer load of iframe on the settings page (#1313) 2021-01-25 19:21:02 -05:00
toasted-nutbread
5215c6b8b4
Update comm message errors to include what the action was (#1312) 2021-01-25 18:44:49 -05:00
toasted-nutbread
5232b945a7
Update Basic Usage section of the readme (#1307)
* Update the Basic Usage section of the readme

* Update wording on welcome page to match readme
2021-01-24 22:33:59 -05:00
toasted-nutbread
bab6c6fba9
Update badges (#1309)
* Update badge indications to be based off current profile

* Update warning badge to display when no dictionaries are enabled

* Show how many dictionaries are enabled
2021-01-24 22:32:29 -05:00
toasted-nutbread
a0657e1bab
Various firefox fixes (#1306)
* Fix for chrome.commands not being present on Firefox's embedded float.html

* Fix _getSearchContext mishandling _optionsContextOverride
2021-01-24 14:20:17 -05:00
toasted-nutbread
7b41f3b7b2
Replace "Disabled" with "None", for better terminology consistency (#1304) 2021-01-23 22:51:15 -05:00
toasted-nutbread
ebfef0c748
Multiple custom audio sources (#1303)
* Fix label

* Fix icon size being flexible

* Add schema

* Add customSourceType option

* Update settings

* Pass customSourceType to the audio downloader

* Implement custom audio JSON mode
2021-01-23 22:46:00 -05:00
toasted-nutbread
ef577b8875
Audio button menu (#1302)
* Fix popup menus not stoping events

* Ensure non-stale use of buttons

* Enable popup menus on the popup/search pages

* Add audio menu
2021-01-23 21:13:01 -05:00
toasted-nutbread
9fbdb9757b
Update popup menu structure (#1301)
* Wrap menu items in popup-menu-body

* Use bodyNode instead of node

* Update selector

* Update _setPosition to not use items
2021-01-23 21:07:45 -05:00
toasted-nutbread
85c039850c
Audio play button status badge (#1300)
* Add plus-thick.svg

* Add success-color variable

* Fix icon display

* Add badge

* Add missing audioResolved

* Update audio badge

* Expose attribute
2021-01-23 20:24:52 -05:00
toasted-nutbread
643afcddd2
Update text-color-light definitions to be more consistent (#1299) 2021-01-23 16:24:05 -05:00
toasted-nutbread
8a6ecc7297
Remove unused settings2 CSS (#1298) 2021-01-23 16:07:50 -05:00
toasted-nutbread
9587202d5a
Fix menu items not being hidden properly (#1297) 2021-01-23 15:21:56 -05:00
toasted-nutbread
323c2e8bf3
Add missing audio field (#1296) 2021-01-23 15:11:10 -05:00
toasted-nutbread
ca3f9c3648
Update icons (#1295)
* Update icons

* Simplify sidebar-button-icon styles
2021-01-23 13:48:54 -05:00
toasted-nutbread
a24f3f5347
Material style updates (#1294)
* Add more icons

* Update menu stylings
2021-01-23 13:01:19 -05:00
toasted-nutbread
e999db0f10
More display audio refactoring (#1293)
* Add _getExpressionAndReading utility

* Add _getExpressionReadingKey utility

* Add _getAudioOptions

* Separate some logic into _createAudioFromInfoList

* Update cache data format so that it can be accessed synchronously

* Allow sources to be manually specified

* Add options to enable playback of a specific entry of a source
2021-01-23 11:18:45 -05:00
toasted-nutbread
349d9a3611
Update display audio cache (#1292)
* Use a standard map

* Wrap function

* Improve cache to support multiple different source arrays

For the same reading/expression

* Rename variable

* Use null instead of an error
2021-01-23 00:31:23 -05:00
toasted-nutbread
7fbfef513d
Display audio update (#1291)
* Move createExpressionAudio to DisplayAudio

* Move createAudioFromInfo to DisplayAudio

* Update TextToSpeechAudio
2021-01-22 22:10:27 -05:00
toasted-nutbread
a51a591c40
Update audio validity checks to be based on the source (#1290) 2021-01-22 21:09:43 -05:00
toasted-nutbread
55df9dc7cd
Fix numpad enter functioning differently than enter on the search page (#1289) 2021-01-22 20:46:48 -05:00
toasted-nutbread
cf57c4e38d
Simplify CacheMap (#1287)
* Simplify CacheMap, removing support for array path keys

* Update keys

* Update JsonSchemaValidator

* Update AudioSystem
2021-01-21 22:49:54 -05:00
toasted-nutbread
0bc5a4a971
Update data-menu-position to be space separated instead of comma separated (#1286) 2021-01-21 19:57:43 -05:00
toasted-nutbread
ad0002d4d8
Fix TextSourceElement.getNodesInRange not including the element (#1284) 2021-01-20 21:35:09 -05:00
toasted-nutbread
6c81a10e05
Move menu styles into material.css (#1283) 2021-01-20 21:21:39 -05:00
toasted-nutbread
ebb9f15cf9
Fix search page type (#1282) 2021-01-20 21:20:54 -05:00
toasted-nutbread
974aef4d2e
Fix missing script on the old setting page (#1281) 2021-01-20 20:16:54 -05:00
toasted-nutbread
d668b653a6
Move popup-menu.js (#1280) 2021-01-20 20:15:41 -05:00
toasted-nutbread
26cf226777
Fix missing include on the welcome page (#1279) 2021-01-19 22:53:13 -05:00
toasted-nutbread
67a6abfac7
Update descriptions for configuring browser keyboard shortcuts (#1278) 2021-01-19 22:52:01 -05:00
toasted-nutbread
ccf28ed055
Menu refactor (#1277)
* Rename menuOpened event to menuOpen

* Rename menuClosed event to menuClose

* Rename close event

* Assign _isClosed

* Reuse event detail

* Expose PopupMenu.openMenus

* Rename and expose properties

* Add cancelable argument to close

* Update menuOpen detail

* Update menuClose detail
2021-01-19 20:52:57 -05:00
toasted-nutbread
3c51bf2a0b
Fix DisplayGenerator not working on pitch-accents-preview.html (#1276) 2021-01-19 20:48:10 -05:00
toasted-nutbread
21fce9f3d9
Audio system refactoring (#1275)
* Simplify details

* Simplify audio creation

* Return an array of sources instead of a single item

* Use sourceIndex instead of index

* Rename APIs

* Return more info about the source

* Return source instead of sourceIndex
2021-01-18 22:01:08 -05:00
toasted-nutbread
85c723b85f
Backend options update (#1274)
* Update how _onCommandToggleTextScanning changes settings

* Make getFullOptions/getOptions private

* Remove unused isPrepared
2021-01-18 17:25:49 -05:00
toasted-nutbread
cbc5ab5696
Hotkey help controller (#1272)
* Create HotkeyHelpController

* Expose getAllTemplates

* Update hotkeys on the context page

* Update hotkeys on the display pages

* Fix display issue where a hotkey used to be defined but no longer is
2021-01-18 15:23:49 -05:00
toasted-nutbread
0420a29d77
Command refactor (#1271)
* Change selectors

* Change openHelpPage to openInfoPage
2021-01-18 14:22:48 -05:00
toasted-nutbread
b0f0ecd7df
Hotkey util (#1270)
* Create HotkeyUtil

* Create tests

* Use HotkeyUtil

* Fix issues
2021-01-18 13:52:07 -05:00
toasted-nutbread
25568637fe
Display audio (#1269)
* Update display definition/definition node handling

* Separate display audio controls into a separate class
2021-01-18 00:16:40 -05:00
toasted-nutbread
887150e012
Audio system improvements (#1268)
* Simplify API

* Move fallback audio
2021-01-17 23:05:15 -05:00
toasted-nutbread
d21de9df00
Update copyHostSelection to be popup-only (#1267) 2021-01-17 19:35:01 -05:00
toasted-nutbread
c875ca728f
Add support for frontend hotkeys; add scanSelectedText action (#1266)
* Add support for frontend hotkeys; add scanSelectedText action

* Remove unused global

* Remove duplicate hotkey handler script
2021-01-17 19:28:42 -05:00
toasted-nutbread
de5d3ec3ad
Remove _onMessage (#1265) 2021-01-17 18:43:16 -05:00
toasted-nutbread
04d53e5642
Optimize hotkey registration (#1264) 2021-01-17 17:05:06 -05:00
toasted-nutbread
14b4aee07d
Hotkey forwarding support (#1263)
* Add support for allowing HotkeyHandler to forward hotkeys

* Update hotkey registration

* Pass HotkeyHandler instance into Display* constructor

* Implement hotkey forwarding
2021-01-17 16:55:45 -05:00
toasted-nutbread
be590004fe
Text scanner improvements (#1261)
* Add support for allowing TextScanner.search to force focus

* Simplify query parser searched event forwarding

* Defer fallback creation

* Simplify event listeners

* Change type to pointerType

* Change cause to eventType

* Change empty to passive; make .search function passive

* Remove unused input index
2021-01-17 11:43:05 -05:00
toasted-nutbread
5d9d96996e
Optimize hotkey handler to not hook any events if cannot do anything (#1260) 2021-01-16 23:07:21 -05:00
toasted-nutbread
a39eede04b
If scopes are now empty but weren't previously, add all valid scopes (#1259) 2021-01-16 22:37:58 -05:00
toasted-nutbread
86e4e53372
Update keyboard shortcut controller (#1258)
* Change attribute

* Update hidden style

* Hide scope checkboxes when they are not supported for that action
2021-01-16 22:31:30 -05:00
toasted-nutbread
30ce81b36c
Update TextScanner.search to return the event details object (#1257) 2021-01-16 21:53:52 -05:00
toasted-nutbread
0cbbe48694
Add check to ignore hotkey registrations with null key (#1256) 2021-01-16 21:52:32 -05:00
toasted-nutbread
5c57015a79
TextSource* API update (#1255)
* Add collapse function to TextSource*

* Add isConnected getter to TextSource*
2021-01-16 21:50:50 -05:00
toasted-nutbread
d89f23261c
Update default settings page (#1254)
* Update settings v2 to be the default for existing users

* Update information on the old settings page

* Update information on the new settings page

* Update tests
2021-01-16 16:55:40 -05:00