toasted-nutbread
cc72514ce6
Frontend updates
2019-10-11 23:24:51 -04:00
toasted-nutbread
1d516b3b24
Implement audio fallbacks
2019-10-10 21:30:38 -04:00
toasted-nutbread
22b218d172
Pass optionsContext to audioBuildUrl handlers
2019-10-09 22:03:56 -04:00
toasted-nutbread
c5d6b9452d
Create utility function for logging errors
2019-10-08 22:38:05 -04:00
toasted-nutbread
6a6e200ef9
Update rejections to use Error
2019-10-08 21:44:25 -04:00
toasted-nutbread
88de427184
Throw Error instead of string
2019-10-08 21:32:08 -04:00
Alex Yatskov
4df8662ea9
Merge pull request #234 from toasted-nutbread/remove-frontend-event-listeners
...
Remove event listeners when scanning is disabled
2019-10-05 19:48:46 -07:00
toasted-nutbread
113cc725c1
Make the window.onresize handler not change focus
2019-10-05 22:11:05 -04:00
toasted-nutbread
cd6d4e7ee1
Update how popup visibility works
2019-10-05 21:59:37 -04:00
toasted-nutbread
2255fadf52
Rename Popup.setVisible to setVisibleOverride
2019-10-05 21:40:10 -04:00
toasted-nutbread
c967b7a9f1
Remove event listeners when scanning is disabled
2019-10-05 13:57:33 -04:00
Alex Yatskov
46ab36180f
Merge pull request #233 from toasted-nutbread/static-handlers
...
Static handlers
2019-10-05 09:20:45 -07:00
toasted-nutbread
fa7ee468c0
Simplify float initialization
2019-10-02 21:12:24 -04:00
toasted-nutbread
bf382652a7
Use static object for float message handlers
2019-10-02 20:46:35 -04:00
toasted-nutbread
7d15213916
Use static object for frontend message handlers
2019-10-02 20:31:42 -04:00
toasted-nutbread
a628610cbd
Use KeyboardEvent.key for onKeyDown handlers
2019-10-02 19:49:52 -04:00
toasted-nutbread
861474d2fc
Fix inconsistent return type
2019-10-01 19:05:30 -04:00
Alex Yatskov
fba2bef905
Merge pull request #225 from toasted-nutbread/text-source-range-improvements
...
TextSourceRange improvements
2019-09-30 19:58:19 -07:00
toasted-nutbread
25a4dafd73
Fix tab focus being changed due to settings changes
2019-09-29 16:48:28 -04:00
toasted-nutbread
03c52625a9
Refactor seekForward and seekBackward
2019-09-28 11:28:55 -04:00
toasted-nutbread
a5f393fa2c
Fix incorrect check
2019-09-28 11:28:15 -04:00
toasted-nutbread
928d7aecd5
Directly return rather than use a temporary variable
2019-09-28 11:28:15 -04:00
toasted-nutbread
8110de514e
Change skipped node types to use a switch statement
2019-09-28 11:28:15 -04:00
toasted-nutbread
1a7ad30111
Remove jQuery dependency from float.html and search.html
2019-09-27 21:41:00 -04:00
toasted-nutbread
946e577e42
Implement custom window scroll
2019-09-27 21:41:00 -04:00
toasted-nutbread
95a7fd81f5
Use raw element references for container and spinner
2019-09-27 21:41:00 -04:00
toasted-nutbread
476a5e873a
Remove jQuery usage from float.js
2019-09-27 21:16:10 -04:00
Alex Yatskov
ba2858309e
Merge pull request #218 from toasted-nutbread/settings-profile-conditions
...
Settings profile conditions
2019-09-23 17:03:00 -07:00
Alex Yatskov
db405ffd24
Merge pull request #219 from toasted-nutbread/fix-null-caret-position
...
Handle null return value of document.caretPositionFromPoint
2019-09-22 10:06:52 -07:00
toasted-nutbread
f022ee4eca
Use a Promise to trigger callback when delay is 0 or less
2019-09-19 19:00:26 -04:00
toasted-nutbread
02927f9004
Handle null return value of document.caretPositionFromPoint
2019-09-18 22:11:18 -04:00
toasted-nutbread
dcfe722ba6
Add support for using optionsContext to select which profile to use
2019-09-18 19:14:04 -04:00
toasted-nutbread
073420a121
Normalize XHTML document node.nodeNode to upper case
2019-09-15 16:09:46 -04:00
Alex Yatskov
e4fa658295
Merge pull request #212 from toasted-nutbread/frontend-cleanup
...
Frontend cleanup
2019-09-15 11:33:48 -07:00
Alex Yatskov
88a6128e39
Merge pull request #211 from toasted-nutbread/validate-content-window
...
Validate contentWindow before focus
2019-09-14 17:31:23 -07:00
Alex Yatskov
2add068ff2
Merge pull request #210 from toasted-nutbread/defer-port-creation
...
Defer creation of communication port until required
2019-09-14 17:30:52 -07:00
toasted-nutbread
0067dfeacc
Remove redundant call of popupTimerClear
...
Also use explicit null checks rather than truthy checks.
2019-09-14 15:29:43 -04:00
toasted-nutbread
8b1e4d1c6f
Return only single element when deepDomScan is not enabled
2019-09-14 14:52:03 -04:00
toasted-nutbread
7dddcb8dca
Rename type to cause
2019-09-14 14:31:21 -04:00
toasted-nutbread
6d3037f3d6
Remove destructuring from searchAt, containsPoint, docRangeFromPoint
2019-09-14 14:27:25 -04:00
toasted-nutbread
89941d404c
Remove unused variable
2019-09-14 14:11:25 -04:00
toasted-nutbread
721248c821
Remove mouseDownLeft and mouseDownMiddle
...
MouseEvent.buttons can be used instead.
2019-09-14 14:11:06 -04:00
toasted-nutbread
964de775df
Validate contentWindow before focus
2019-09-14 12:02:31 -04:00
toasted-nutbread
304064dae0
Defer creation of communication port until required
2019-09-14 11:58:22 -04:00
toasted-nutbread
bab6a13bfb
Fix nested popups being shown if parent is hidden
2019-09-13 18:12:51 -04:00
Alex Yatskov
ec816e6767
Merge pull request #207 from toasted-nutbread/popup-proxy-writing-mode
...
Add writingMode to PopupProxy* termsShow and kanjiShow
2019-09-12 19:48:22 -07:00
toasted-nutbread
76aa30ceba
Add writingMode to PopupProxy* termsShow and kanjiShow
2019-09-11 21:29:08 -04:00
toasted-nutbread
bc8793eb56
Add a context object for all calls to fetch options
2019-09-10 20:09:33 -04:00
toasted-nutbread
99ca60d4c1
Ensure both Popup and PopupProxy have valid depth
2019-09-10 20:09:33 -04:00
toasted-nutbread
91bc31d758
Change how options updates are handled on the frontend
...
Only an 'optionsUpdate' signal is now sent to the frontend with empty data. The frontend then responds by performing apiOptionsGet to update the options. This makes it so that there is only a single function which is responsible for requesting options from the backend.
2019-09-10 20:09:33 -04:00
Alex Yatskov
cc53510883
Merge pull request #204 from toasted-nutbread/settings-improvements
...
Settings improvements
2019-09-08 19:34:39 -07:00
toasted-nutbread
7db2c66105
Use consistent structure for params
2019-09-06 21:23:35 -04:00
toasted-nutbread
13b184707b
Remove unnecessary functions
...
apiOptionsSet not required in bg/js/api.js after optionsSave; optionsSave already invokes apiOptionsSet.
apiOptionsSet not required in fg/js/api.js since it's never invoked by the foreground.
optionsSet handler not required in bg/js/backend.js since the message is never sent by the foreground.
2019-09-06 21:23:35 -04:00
Alex Yatskov
155986db46
Merge pull request #201 from toasted-nutbread/omit-contains-point-check
...
Omit containsPoint check on searchAt
2019-09-05 19:46:43 -07:00
Alex Yatskov
6dc44e3f33
Merge pull request #202 from toasted-nutbread/temporary-object-optimization
...
Temporary object optimization
2019-09-05 19:46:14 -07:00
toasted-nutbread
5c793180d0
Omit containsPoint check on searchAt
...
The range returned by docRangeFromPoint is now guaranteed to contain the point due to the addition of isPointInRange checks.
2019-09-03 19:17:50 -04:00
toasted-nutbread
9028b55774
Fix nested popups closing when the mouse leaves the parent's rect
2019-09-03 18:55:55 -04:00
toasted-nutbread
fc4a961412
Replace some instances of Array.concat
...
.push or .unshift can accomplish the same operation without constructing new arrays.
2019-09-02 20:25:30 -04:00
toasted-nutbread
fad5332488
Move static DOM scanning functions into TextSourceRange
2019-09-02 19:33:52 -04:00
siikamiika
f4b81eff30
fix parent focus issues for Firefox and Chrome
2019-09-02 19:33:52 -04:00
siikamiika
2df9a7f977
change Popup.children to Popup.child
2019-09-02 19:33:52 -04:00
siikamiika
97be029dee
focus the site when closing multi-level popups
2019-09-02 19:33:52 -04:00
siikamiika
834f14e808
simplified if statement back to single line
2019-09-02 19:33:52 -04:00
siikamiika
3d28a3a405
prevent closing new child popup on parent mouseout
2019-09-02 19:33:52 -04:00
siikamiika
e4d302e786
focus parent popup on hide instead of blurring
2019-09-02 19:33:52 -04:00
siikamiika
87ff5cb19b
make containsPoint async everywhere
2019-09-02 19:33:52 -04:00
toasted-nutbread
71471d08e5
Add option to enable/disable scanning of source expressions in popups
2019-09-02 19:33:52 -04:00
toasted-nutbread
3491affcf1
Update nested initialization parameters passed via message rather than using the URL query string
2019-09-02 19:33:28 -04:00
toasted-nutbread
53aad0bef6
Fix messaging issues when iframes are present in the document
2019-09-02 19:33:28 -04:00
toasted-nutbread
1a9348ec27
Add option for maximum nested popup depth
2019-09-02 19:32:08 -04:00
toasted-nutbread
5c4614f585
Add support for showing recursive popups
2019-09-02 19:31:42 -04:00
toasted-nutbread
33076e9db9
Fix typo
2019-09-02 11:43:49 -04:00
toasted-nutbread
c0bf6ff033
Fix issues caused by scanning ranges which don't start with a text node
...
The rects returned by range.getClientRects() could include the entire start element's bounding box.
2019-09-02 11:43:49 -04:00
toasted-nutbread
a2139213c8
Fix issue with whitespace ranges
...
The size of the rects for these ranges will sometimes be excessively large on Firefox, leading to false positives.
2019-09-02 11:43:49 -04:00
toasted-nutbread
ee59b3ab8b
Reduce amount of isPointInRange calls for repeated ranges
2019-09-02 11:43:49 -04:00
toasted-nutbread
171e3f1097
Add option for enabling deep scanning
2019-09-02 11:43:48 -04:00
toasted-nutbread
737a5ee8a8
Allow elements behind other transparent elements to be scanned
2019-09-02 11:43:33 -04:00
toasted-nutbread
d296ebd593
Improve definition of caretRangeFromPoint
2019-09-02 11:41:00 -04:00
toasted-nutbread
548607ea7f
Destructure point to {x, y} only once
2019-09-02 11:40:21 -04:00
Alex Yatskov
3c9f7ba152
Merge pull request #196 from toasted-nutbread/vertical-text-popup-position
...
Vertical text popup position
2019-09-02 08:33:10 -07:00
toasted-nutbread
e3d7ec8db7
Create container for imposter element
...
The container will prevent the imposter element's size from affecting the document's primary scrollbars.
2019-09-01 16:06:22 -04:00
toasted-nutbread
e3e7dad2cc
Use important CSS priority for imposter element styles
2019-08-31 15:30:32 -04:00
toasted-nutbread
9b46fe70de
Fix imposter issues with <input type="text">
2019-08-31 15:10:46 -04:00
toasted-nutbread
ad0dca7bb1
Make the imposter element tracked using TextSourceRange
2019-08-31 14:57:50 -04:00
toasted-nutbread
e47e041217
Disable pointer events on hidden imposter
2019-08-31 14:57:50 -04:00
toasted-nutbread
62d66d93f7
Remove rounding
2019-08-31 14:57:50 -04:00
toasted-nutbread
9e9040178d
Fix some size and positioning issues related to imposter element
2019-08-31 14:57:49 -04:00
toasted-nutbread
85472d9407
Add option for position of popup for horizontal text
2019-08-31 11:57:09 -04:00
toasted-nutbread
68af0d86c3
Improve popup position for vertical text
2019-08-31 11:57:07 -04:00
Alex Yatskov
3bf8a9ab00
Merge pull request #193 from toasted-nutbread/fix-is-point-in-range
...
Update isPointInRange to be more accurate
2019-08-29 18:00:36 -07:00
toasted-nutbread
ea9c5ad867
Update isPointInRange to be more accurate
2019-08-29 20:35:23 -04:00
Alex Yatskov
cd75f5b97d
Merge pull request #188 from toasted-nutbread/edge-support
...
Add support for Edge browser
2019-08-28 19:41:30 -07:00
toasted-nutbread
a39a1fa9e4
Add support for Edge browser
2019-08-26 21:58:03 -04:00
toasted-nutbread
c49f3c7838
Suppress messages about unchecked runtime.lastError on Firefox Mobile
2019-08-25 11:09:10 -04:00
siikamiika
39b2456ce9
fix off by one error
2019-08-19 19:47:45 +03:00
317a7a1538
pr fixes
2019-08-17 15:42:36 -07:00
Alex Yatskov
9ec711b780
Merge pull request #176 from toasted-nutbread/selection-touch-scan-disable
...
Don't scan when touching the current selection
2019-08-17 14:12:11 -07:00
Alex Yatskov
8ebac935e8
Merge pull request #182 from toasted-nutbread/anki-screenshot
...
Anki screenshot
2019-08-17 09:05:33 -07:00
Alex Yatskov
1d25c8a744
Merge pull request #175 from toasted-nutbread/touch-move-warning-fix
...
Don't process touchmove events if they can't be canceled
2019-08-17 09:04:23 -07:00
Alex Yatskov
778d1d6e79
Merge pull request #177 from toasted-nutbread/doc-range-from-point-improvements
...
Doc range from point improvements
2019-08-17 09:04:05 -07:00
toasted-nutbread
2edd4183a0
Clean up docRangeFromPoint
...
Use a cached value for checking if the browser is Firefox.
Only validate and set up document.caretRangeFromPoint once.
Use switch for multiple comparisons on the same value.
2019-08-16 17:44:16 -04:00
toasted-nutbread
0f0adf750c
Add ability to save screenshot to anki cards
2019-08-15 19:39:58 -04:00
siikamiika
609dbf6a81
ensure that content is iterable
2019-08-15 15:35:23 +03:00
siikamiika
0a9b673e27
reimplement ignored chars inside source.js only
2019-08-15 15:28:30 +03:00
siikamiika
658e5ddff1
ignore zero-width non-joiner
...
fixes #179
2019-08-14 22:54:42 +03:00
toasted-nutbread
345b9c6f9d
Disable focus of popup when using touch
...
Context menu on Firefox will not target the text properly if the focus is on the popup window.
2019-08-09 22:29:14 -04:00
toasted-nutbread
710ffb88fc
Don't scan when touching the current selection
2019-08-09 21:45:29 -04:00
toasted-nutbread
70e9f4922b
Don't process touchmove events if they can't be canceled
...
If the event cannot be canceled, the browser will continue to scroll while looking up results, which makes it very difficult to control where the lookup cursor is. Chrome also logs error messages that this is invalid.
2019-08-09 21:38:52 -04:00
Alex Yatskov
4fd7eeff3e
Merge pull request #174 from siikamiika/fix-firefox-scanning-start-of-line
...
fix scanning start of line on Firefox
2019-08-03 19:55:26 -07:00
siikamiika
cfb5f0b9e1
fix scanning start of line on Firefox
...
On many sites, for example Twitter (posts), Yomichan doesn't match any
text from the beginning of the line unless you move the mouse cursor to
the top left corner of the word that starts from the beginning of the
line.
Apparently there were some problems related to the imposter and there
was commit 0cc5566
adding a fix for it, but this seemed to cause
problems and 542cdb2
was added to fix that. It didn't handle all of the
cases, though, so this commit is letting everything through on Firefox.
2019-08-04 01:52:27 +03:00
siikamiika
bf92430ea7
Merge branch 'master' into search-terms-from-terms
2019-08-03 22:18:53 +03:00
siikamiika
afc771de9f
inject doc functions as dependencies
2019-08-03 15:06:28 +03:00
siikamiika
0ee6d05cb1
Revert "use ES6 import and export"
...
This reverts commit 04f4607922
.
2019-08-03 14:57:17 +03:00
siikamiika
04f4607922
use ES6 import and export
2019-08-02 00:04:39 +03:00
siikamiika
b8df9896e6
allow looking up terms from within terms
...
resolves #167 , resolves #139 , resolves #75 , resolves #151
2019-08-01 02:20:09 +03:00
siikamiika
c08bcd7c56
return focus to site after hiding popup
2019-08-01 00:25:31 +03:00
toasted-nutbread
ad897713e6
Add support for custom popup CSS
2019-07-09 18:06:27 -04:00
Alex Yatskov
672eb55a20
Merge pull request #164 from toasted-nutbread/document-range-fix
...
Fix docRangeFromPoint sometimes not returning results
2019-06-26 14:17:52 -07:00
toasted-nutbread
2974b592ab
Allow popup window to be visible in fullscreen mode
...
Fixes #163
2019-06-22 23:01:49 -04:00
toasted-nutbread
542cdb2df9
Fix docRangeFromPoint sometimes not returning results
...
If range.getClientRects() has more than 1 result, it is possible that nothing will be returned even when hovering over a valid target.
2019-06-22 21:42:35 -04:00
Alex Yatskov
84b990cd80
Merge pull request #140 from KarboniteKream/horizontal-offset
...
Add horizontal popup offset
2019-05-19 17:43:31 -07:00
toasted-nutbread
884be644ec
Make error loging unintrusive
...
This alert can show up under normal use circumstances on mobile
2019-05-04 13:02:56 -04:00
toasted-nutbread
c933a55b81
Handle messages with unexpected response format
...
The response parameter can be undefined
2019-05-04 13:02:56 -04:00
toasted-nutbread
c7fd17183d
Add meta viewport tag to all html pages
2019-05-04 13:02:56 -04:00
toasted-nutbread
0b8ae6c53a
Update frontend.js
2019-02-20 22:05:07 -05:00
toasted-nutbread
dd52a1c01a
Improve handling of null values from caretRangeFromPoint
2019-02-20 21:47:31 -05:00
toasted-nutbread
ba972d8547
Add popup display mode
...
Allows the popup to be stretched to the full width of the screen, anchored to the top or bottom of the window.
2019-02-14 21:42:59 -05:00
toasted-nutbread
01f611d189
Add support for touch input
2019-02-10 20:44:16 -05:00
toasted-nutbread
33ec369eff
Catch exceptions thrown by range.getClientRects()
...
Firefox dev 65 was throwing an exception
2018-12-10 17:09:06 -05:00
Klemen Košir
99a231a773
Add horizontal popup offset
2018-10-02 23:27:59 +09:00
39cf302eef
Merge branch 'master' of https://github.com/FooSoft/yomichan
2018-06-22 19:02:01 -07:00
Gareth Parker
0cc5566886
Fixes for imposter element and range y position
...
Hides the imposter element once we've finished using it and checks the y position for the range against the point given
2018-06-08 22:48:26 +01:00
guidocella
15b93060c7
Add option to play audio automatically
2017-12-16 19:56:53 +01:00
Roderic Day
5502bf8aed
Place nodeType
checks inside caretRangeFromPoint
function
...
Checked that it does not un-fix #80
Squelches alerts (but does not fix underlying issue) for #89
2017-10-13 15:12:41 -04:00
7a6e2925bd
improved error reporting
2017-09-22 19:57:00 -07:00
0554aa0d27
make sure ranges are created over text nodes only ( fixes #80 )
2017-09-19 23:05:17 -07:00
5476c10046
more improvements to automatic search result hiding ( #71 )
2017-09-17 10:09:48 -07:00
9280985306
add option to automatically hide search results ( fixes #71 )
2017-09-16 23:08:43 -07:00
083999212e
work on sandbox
2017-09-05 21:10:19 -07:00
c4525027da
bugfix and version
2017-08-19 21:09:54 -07:00
191336522c
fix flicker on form elements on mouseover ( fixes #56 )
2017-08-17 19:14:06 -07:00
0c650dac82
don't show busy spinner while waiting for card info
...
smoother cursor movement in firefox
2017-08-17 19:05:31 -07:00
8ed3ca6fd4
cleanup
2017-08-15 21:40:41 -07:00
e19933f980
jisho.org audio support
2017-08-15 21:36:30 -07:00
3362a68e06
frontend cleanup
2017-08-15 20:04:15 -07:00
211e5d1155
cleanup
2017-08-14 23:22:37 -07:00
bdf231082f
lots of fixes to backend
2017-08-14 21:43:09 -07:00
82863cd861
renaming files
2017-08-14 19:55:04 -07:00
8b50dfe1e9
unify files
2017-08-13 21:11:10 -07:00
a202817b98
wip
2017-08-13 20:50:43 -07:00