Commit Graph

834 Commits

Author SHA1 Message Date
toasted-nutbread
b7144ed879 Update display float key handlers 2019-12-13 23:11:56 -05:00
toasted-nutbread
5588643988 Update float message handlers 2019-12-13 23:11:56 -05:00
toasted-nutbread
863e36e829 Update frontend message handlers 2019-12-13 23:11:56 -05:00
toasted-nutbread
f287d68624 Add showContentCompleted for improved semantic clarity 2019-12-11 21:31:21 -05:00
siikamiika
f6d0503604 simplify with inheritance 2019-12-06 21:39:29 +02:00
siikamiika
595636c40b move text selection to TextScanner 2019-12-05 22:48:05 +02:00
siikamiika
e5be42d3de scan decoupling 2019-12-05 22:12:43 +02:00
siikamiika
02a34bb4bc initial text scanner extract 2019-12-05 03:58:35 +02:00
siikamiika
248b0f15eb remove references to /fg/js/util.js
It doesn't exist
2019-12-04 23:20:03 +02:00
siikamiika
a40f3b1c9f add missing disableHistory 2019-12-01 06:32:17 +02:00
siikamiika
5929018fac move Display context to a new class 2019-12-01 05:38:23 +02:00
siikamiika
be23ad7213 remove dead code 2019-11-30 04:59:36 +02:00
siikamiika
1dd88763de clear Display history on new lookup 2019-11-28 18:24:24 +02:00
toasted-nutbread
5a1046bc90 Update arrow-parens to always 2019-11-26 22:06:27 -05:00
toasted-nutbread
acb70f126c Update unused arguments 2019-11-26 22:06:27 -05:00
toasted-nutbread
ef833d2bea Use const rather than let where possible 2019-11-26 22:06:27 -05:00
toasted-nutbread
527595f79b Remove unnecessary escapes from regex literals 2019-11-26 22:06:27 -05:00
toasted-nutbread
943350a1f6 Use single quotes 2019-11-26 22:06:27 -05:00
toasted-nutbread
0aed27b66d Replace hasOwnProperty with simplified hasOwn function 2019-11-26 22:06:27 -05:00
toasted-nutbread
4110a848f5 Move additional utility functions to DOM 2019-11-26 18:59:52 -05:00
toasted-nutbread
96aad50340 Create DOM utility file 2019-11-26 18:59:52 -05:00
toasted-nutbread
7e94fca7c7 Rename extension.js to core.js to better reflect its use 2019-11-26 17:29:52 -05:00
toasted-nutbread
a14b820a19 Move utilInvoke into api.js, rename to _apiInvoke 2019-11-26 17:23:55 -05:00
toasted-nutbread
7f9a73135d Remove utilAsync 2019-11-26 17:18:17 -05:00
siikamiika
3423ed7d67
Merge pull request #279 from siikamiika/query-parser-1
Search page query parser
2019-11-26 18:31:35 +02:00
toasted-nutbread
820beb7c93 Fix incorrect opacity check 2019-11-25 21:04:34 -05:00
toasted-nutbread
9dc03f6d47 Remove wanakana reference from float.html 2019-11-25 13:34:56 -05:00
toasted-nutbread
cf18e3b42e Replace string.substr and string.slice with string.substring
Improves semantic clarity, and it's recommended to not use substr.
2019-11-24 11:02:52 -05:00
siikamiika
41020289ab add mecab support 2019-11-23 17:45:44 +02:00
siikamiika
c35a05cd62 add kana to text 2019-11-23 17:40:52 +02:00
toasted-nutbread
3a225c3f91 Add details field to apiTermsFind 2019-11-10 14:02:43 -05:00
toasted-nutbread
d9b4404075 Create functions for the cases of isMouseButton
jshint was showing a warning that there was no break statement
after the first case, which there doesn't need to be.

The most straightforward way to fix this without using the unclear
// jshint ignore:line
is to just have two functions.

This change also updates invocations of isMouseButton to use
the exact case function, as this will remove the need to check
the case of mosueEvent.type. This was done because onMouseMove
is invoked at a high frequency.
2019-11-10 14:00:44 -05:00
siikamiika
40c8268fd6 always disable scanning IME checkbox label 2019-11-09 13:01:21 +02:00
siikamiika
25af532ab7 enable expression scan toggling on search page 2019-11-09 12:27:09 +02:00
toasted-nutbread
fa963722a7 Fix seekForward and seekBackward not handling length=0 case correctly 2019-11-08 19:24:33 -05:00
toasted-nutbread
a85ec440d6 Fix overlapping popup timers 2019-11-05 19:48:08 -05:00
siikamiika
83460bcdad refactoring and optimization 2019-11-04 02:15:33 +02:00
siikamiika
f4a987912a prevent accidental lookup on glossary text select 2019-11-03 18:56:22 +02:00
toasted-nutbread
75ff05148d Fix autoHideResults not working 2019-11-03 11:06:31 -05:00
toasted-nutbread
7de24dd355 Add favicons 2019-11-02 10:10:03 -04:00
toasted-nutbread
bcffe80a1e Group similar functions together 2019-10-28 17:03:42 -04:00
toasted-nutbread
6d85dae68d Fix some issues with the context menu 2019-10-28 17:03:42 -04:00
toasted-nutbread
d2644c0776 Style update 2019-10-28 17:03:42 -04:00
toasted-nutbread
c365101ec2 Reset preventions earlier 2019-10-28 17:03:42 -04:00
toasted-nutbread
e542f38110 Check pendingLookup earlier 2019-10-28 17:03:42 -04:00
toasted-nutbread
9703e123bf Remove setPrimaryTouch 2019-10-28 17:03:42 -04:00
toasted-nutbread
80eb357527 Simplify touch event implementation 2019-10-28 17:03:42 -04:00
toasted-nutbread
131dc8397d Make selectionContainsPoint static 2019-10-28 17:03:42 -04:00
toasted-nutbread
a648e05091 Improve naming 2019-10-28 17:03:42 -04:00
toasted-nutbread
9178636613 Remove setters 2019-10-28 17:03:42 -04:00
toasted-nutbread
c74c466c36 Remove unused variable 2019-10-28 17:03:42 -04:00
toasted-nutbread
f2dec4ca20 Remove searchFromTouch 2019-10-28 17:03:42 -04:00
toasted-nutbread
8c5240d7a6 Simplify how touch events use onAfterSearch 2019-10-28 17:03:42 -04:00
toasted-nutbread
e91bcf5f55 Rename textSourceLast to textSourceCurrent 2019-10-28 17:03:42 -04:00
toasted-nutbread
be27781c15 Update how definitions are searched for 2019-10-28 17:03:42 -04:00
toasted-nutbread
f927f806ba Move check 2019-10-28 17:03:42 -04:00
toasted-nutbread
1f0a434e96 Remove unused vars 2019-10-28 17:03:42 -04:00
toasted-nutbread
dcb6f68826 Don't pass null textSource into searchSource 2019-10-28 17:03:42 -04:00
toasted-nutbread
185963899b Use promiseTimeout 2019-10-28 17:03:42 -04:00
toasted-nutbread
d608657495 Move onError catch into searchAt 2019-10-28 17:03:42 -04:00
siikamiika
70418202cf make search page checkbox options persist 2019-10-27 20:11:23 +02:00
siikamiika
48776145d6 add workaround to Chrome clipboard.readText
For some reason this doesn't work on Firefox, so keep using the new API
for Firefox
2019-10-27 15:46:27 +02:00
toasted-nutbread
7a3315d75d Use chrome.runtime.getURL instead of chrome.extension.getURL 2019-10-22 20:23:03 -04:00
toasted-nutbread
d9ae34821c Add support for middle clicks opening new tabs on the context buttons 2019-10-19 22:30:16 -04:00
toasted-nutbread
dbec4bffda Make the search button reuse an open search tab if it exists 2019-10-19 22:28:23 -04:00
toasted-nutbread
a5d7de8e97 Add correction to offset of imposter rect
Necessary when dealing with CSS transforms
2019-10-17 19:30:54 -04:00
toasted-nutbread
8f918c63dc Reposition popup on window resize rather than clear the search
Fixes #107
2019-10-17 18:40:43 -04:00
toasted-nutbread
598cd32946 Update *show* APIs to unified showContent and setContent 2019-10-17 18:40:43 -04:00
siikamiika
5b98f3ea6e add missing return to fix vertical text mode 2019-10-16 23:49:40 +03:00
toasted-nutbread
16521fec93 Assign first popup on the search page as a depth of 1 2019-10-15 20:23:25 -04:00
toasted-nutbread
cb236a7430 Add apiGetEnvironmentInfo function 2019-10-13 17:20:55 -04:00
toasted-nutbread
c92fc11fcd Fix getElementWritingMode returning deprecated values on Edge 2019-10-13 16:44:13 -04:00
toasted-nutbread
b34ff7ebe9 Change #yomichan-float to .yomichan-float
Since there can be more than one popup, using a class makes more sense than an ID.
2019-10-13 12:12:52 -04:00
toasted-nutbread
c9158a37b5 Allow outer popup stylesheets to be injected 2019-10-13 12:12:51 -04:00
toasted-nutbread
118f200500 Simplified how the auto theme works 2019-10-13 12:12:51 -04:00
toasted-nutbread
57db18c31b Leave default stylesheet enabled by default 2019-10-12 19:00:24 -04:00
toasted-nutbread
b086fca69f Add separate theme option for outer popup style 2019-10-12 19:00:24 -04:00
toasted-nutbread
883226b045 Update how custom CSS is applied 2019-10-12 19:00:24 -04:00
toasted-nutbread
c90bc75eb8 Create themes 2019-10-12 19:00:24 -04:00
toasted-nutbread
ceaeeb32dd Remove bootstrap styles from float.html 2019-10-12 19:00:21 -04:00
toasted-nutbread
be7fa57d5c Add support for a popup preview 2019-10-12 15:44:32 -04:00
toasted-nutbread
537d2ef532 Remove Display.dependencies 2019-10-12 15:31:29 -04:00
toasted-nutbread
6da7683552 Don't pass options around for calls to termsShow, kanjiShow, etc. 2019-10-12 15:31:29 -04:00
toasted-nutbread
a5b208fb89 Check if objects are properly initialized before showing content 2019-10-12 15:31:29 -04:00
toasted-nutbread
8a1637f6b3 Remove .show popup proxy API since it's not used 2019-10-12 15:31:29 -04:00
toasted-nutbread
194615ef21 Make popups store options 2019-10-12 15:31:29 -04:00
toasted-nutbread
3e249e19ac Update Display initialization process 2019-10-12 15:31:29 -04:00
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
3ca28a9374 wip 2017-08-13 16:42:22 -07:00
aac2a58b5f wip 2017-08-13 16:11:51 -07:00
7fbe2ddaf3 more cleanup 2017-08-05 20:20:22 -07:00
b061cc9142 cleanup 2017-07-29 09:55:54 -07:00
edf1c0ff6d cleanup 2017-07-22 23:19:38 -07:00
611b4420af cleanup 2017-07-20 21:34:10 -07:00
a0e2d9cb72 cleanup 2017-07-20 21:32:17 -07:00
d6c2f1cc38 cleanup 2017-07-20 21:29:27 -07:00
8bcc4ddf19 cleanup 2017-07-20 21:21:22 -07:00
516c7f5381 refactor mixed/js/util.js 2017-07-16 12:48:27 -07:00
b3984ccd54 cleanup 2017-07-09 15:23:11 -07:00
d57c5530b7 view added notes 2017-07-01 18:27:49 -07:00
5e72c387cc fix result page for no items found 2017-06-25 21:14:39 -07:00
618a3cb319 support variable modifier keys, fixes #5 2017-05-25 20:56:08 -07:00
9aeb807d4b fix buggy extent detection 2017-05-25 09:09:15 -07:00
992852d3c0 make form search be always enabled 2017-05-24 20:42:54 -07:00
c0f74bbc8f smarter imposter hiding, version bump 2017-05-23 22:51:48 -07:00
48693fa594 fix search for input controls 2017-05-22 22:27:09 -07:00
fd346ae44b wip 2017-05-22 21:07:25 -07:00
84f5954ad5 handle scanning text for janky websites better #23 2017-05-21 22:44:22 -07:00
52f092f0d2 fixing old variable name 2017-05-20 18:34:13 -07:00
b04c4d8be7 block RT and some other tags when scanning, fixes #50, #30 2017-05-20 18:15:51 -07:00
1ba458ea82 fixing cloze bug 2017-04-08 12:25:18 -07:00
c4b1a4a5b4 wip 2017-04-07 21:17:13 -07:00
bbe4afecf6 wip 2017-04-06 21:07:55 -07:00
372cdbf14b improved behavior for shiftless scanning, update url 2017-04-01 16:54:13 -07:00
f556c95038 improve ctrl + c behavior 2017-04-01 11:20:58 -07:00
405e487a73 ctrl + c to copy 2017-03-31 21:48:10 -07:00
f15f30019b version bump, cloze support 2017-03-28 20:49:26 -07:00
9de0d34af3 wip 2017-03-27 22:48:50 -07:00
3b0aa88de1 cleanup 2017-03-26 22:42:17 -07:00
13ab25dfa3 file reorg, updating jquery and handlebars 2017-03-25 22:39:40 -07:00
218db0771f cleanup, firefox scrolling 2017-03-25 16:45:43 -07:00
b8d0788144 wip 2017-03-25 15:59:33 -07:00
90eaae1725 wip 2017-03-25 15:22:28 -07:00
0e16787692 refactor 2017-03-25 10:05:03 -07:00
6d55767191 wip 2017-03-18 18:21:02 -07:00
ad17b0603b scrolling 2017-03-18 17:40:48 -07:00
15313de18c tighter layout 2017-03-18 16:52:00 -07:00
f3f6139c8e update guide 2017-03-18 13:46:56 -07:00
231b471f45 wip 2017-03-16 22:13:54 -07:00
8893db14ca wip 2017-03-15 21:13:58 -07:00
8fb398aad8 inject yomichan frame on demand, fixes #34 2017-03-15 20:13:58 -07:00
83e2fd4748 add options for setting popup width, height, offset 2017-03-11 17:48:30 -08:00
2c86e87576 more work on making popup be sized properly 2017-03-11 17:25:57 -08:00
9ebcc8e2c1 smarter popup placement 2017-03-11 17:01:47 -08:00
5150cdbf72 misc bug fixes, version bump 2017-03-10 20:12:07 -08:00
0a75e14d93 show yomichan updated message only when shift to scan is disabled 2017-03-05 16:20:01 -08:00
efc5be4dac middle mouse button scanning 2017-03-05 16:03:14 -08:00
6b6190ade7 misc fixes 2017-03-04 20:27:46 -08:00
e799aa5e5f cleanup 2017-03-04 19:53:28 -08:00
7269583547 polish 2017-03-04 19:42:30 -08:00
db7e80dabf wip 2017-03-04 19:16:19 -08:00
30999c13d3 wip 2017-03-04 18:24:57 -08:00
b039d30024 wip 2017-03-04 17:56:10 -08:00
c8eb77cfd9 wip 2017-03-04 17:30:10 -08:00
2e7ce45112 file reorg 2017-03-04 12:27:05 -08:00
395af352f0 wip 2017-03-04 11:53:55 -08:00
b1950cf47e prelim search support 2017-03-04 11:45:55 -08:00
acb0bc2e9e style fixes 2017-03-03 20:25:14 -08:00
faf13d696c cleanup 2017-03-02 22:35:02 -08:00
e326b02898 fix various issues related to scanning form fields 2017-02-28 20:23:29 -08:00
5b66afde74 wtf firefox 2017-02-26 19:33:11 -08:00
dfe97a2b77 fixup of gecko polyfill 2017-02-26 12:14:22 -08:00
da124f6c27 fix wonky scanning logic 2017-02-26 12:06:37 -08:00
ec0aded9bb mouse event fixes for firefox 2017-02-26 12:01:14 -08:00
32f95e59a9 Merge branch 'dev' into firefox 2017-02-26 11:05:41 -08:00
465a8e21c0 usability improvements 2017-02-25 19:14:44 -08:00
64db42d536 switch to new ankiconnect interface 2017-02-19 10:09:15 -08:00
1a52a2d8d5 fix not being able to play audio for kana only terms 2017-02-18 19:12:39 -08:00
701c91ea66 block placeholder audio with a short audio clip 2017-02-11 12:16:14 -08:00
7398e74d71 delete dead code 2017-02-10 21:11:34 -08:00
78d5b51127 fix url and sentence tags on kanji cards 2017-02-10 20:45:01 -08:00
caa09c63a1 destroy imposters earlier 2017-02-08 21:30:00 -08:00
2e3aec9ba1 fix "url" not being set on kanji cards, add more fields 2017-02-08 20:13:45 -08:00
f3fe0994f5 add option to disable imposters, bump version 2017-02-08 09:24:14 -08:00
e73d2d96c9 add support for looking up definitions for textareas and textboxes 2017-02-07 21:46:37 -08:00
4e3792aba3 handle content script and background script desync on version update 2017-02-05 16:39:40 -08:00
a13c32a784 updating libraries 2017-01-31 21:27:38 -08:00
2a29429104 WIP 2017-01-28 20:36:58 -08:00
944be5fa64 adding more polyfill goodness for firefox 2017-01-28 19:22:28 -08:00
8efe5b1fbf workaround for broken const in firefox 2017-01-28 18:46:15 -08:00
78f738b34c WIP 2017-01-27 21:23:55 -08:00
1d49473c1f fixing enabled state 2017-01-27 21:21:05 -08:00
f808221470 wip 2017-01-22 19:22:53 -08:00
e8840465f0 WIP 2017-01-15 22:17:49 -08:00
8fe82573cc WIP 2017-01-13 21:06:33 -08:00
20c5ca1bf5 fix annoying popup window behavior near window borders 2017-01-10 19:26:31 -08:00
40838790d5 WIP 2017-01-09 19:42:54 -08:00
89070c6096 cleanup 2017-01-09 09:30:56 -08:00
60e23ab42c simplify templates 2017-01-08 22:44:13 -08:00
3b83f8b7fe styling 2017-01-08 19:03:48 -08:00
67ca7adc4c WIP 2017-01-08 18:39:59 -08:00
53a8e9061c styling 2017-01-08 18:10:38 -08:00
148291d3a7 WIP 2017-01-08 15:33:45 -08:00
a5efe50322 add dictionary tags 2017-01-07 21:11:52 -08:00
d770030688 WIP 2017-01-07 18:52:51 -08:00
fab7a03b6c WIP 2017-01-07 18:39:36 -08:00
dc4162eeed WIP 2017-01-07 18:07:15 -08:00
519f48c7ff anki stuff 2017-01-07 17:25:01 -08:00
614bea05c0 cleanup 2017-01-07 16:49:29 -08:00
15ebc06fb3 WIP 2017-01-07 12:21:47 -08:00
8615d5f497 show spinner when adding notes (resolves #25) 2017-01-04 19:44:50 -08:00
8049c6083e don't show add buttons till we know card state for #25 2017-01-03 22:17:53 -08:00
3c6b9eb91b glossary in vl-gothic 2016-12-29 11:12:54 -08:00
37d61b35d0 fix glossary lists with one item 2016-12-28 19:28:59 -08:00
ef24b4f236 prevent popup from going off the window 2016-12-28 19:13:19 -08:00
22128a948a adding files to normal git 2016-12-23 16:53:20 -08:00
4c5f93c7a7 better output for epwing 2016-12-21 19:47:50 -08:00
238c9e340e WIP 2016-12-18 22:24:34 -08:00
4e89d27fda WIP 2016-11-14 20:42:45 -08:00
ba02ae7f8d Improved error handling 2016-10-19 21:21:00 -07:00
7618b8e909 Cleanup 2016-10-19 20:57:08 -07:00
7d93587acb Conditionally show add buttons 2016-10-19 08:52:22 -07:00
0afc4579c5 WIP 2016-10-17 09:17:10 -07:00
f22fcb0a5d Cleanup, reset scroll position on definition lookup (#20) 2016-10-17 09:14:49 -07:00
aa1a2b0176 Make text easier to select in hover mode (#18) 2016-10-17 09:01:43 -07:00
66fe5018cf Don't hide popup when scrolling (resolves #21) 2016-10-12 21:12:21 -07:00
a6dd997122 Pressing keys other than escape no longer closes definition popup 2016-10-09 12:33:02 -07:00
f34b512522 Revert "Allow bootstrap in popup templates"
This reverts commit da0cb81801.
2016-10-08 19:40:19 -07:00
da0cb81801 Allow bootstrap in popup templates 2016-10-08 18:47:24 -07:00
1e9906c624 Automatically look up Kanji when cannot find definitions.
Allow text scanning without holding Shift key (resolves #18).
2016-10-08 17:39:21 -07:00
1d573f4179 Add visibility query 2016-09-29 21:04:03 -07:00
004a0d5281 Fix activation bug 2016-09-28 20:14:21 -07:00
2a65060b73 Hold down ctrl to search for kanji, fixes #13 2016-09-18 17:32:57 -07:00
dc273c0c73 Cleanup 2016-09-15 22:44:33 -07:00
b969e8952c Cleanup 2016-09-15 21:03:58 -07:00
b87611cfdd Bugfixes 2016-09-15 20:16:23 -07:00
0eb54e24c6 Deleting dead options 2016-09-14 22:34:05 -07:00
f4314497e4 Cleanup 2016-09-11 20:59:42 -07:00
fa446f540a WIP 2016-09-11 20:41:41 -07:00
f653195aed Cleanup 2016-09-11 20:35:53 -07:00
8f776cf759 Cleanup 2016-09-11 20:18:34 -07:00
6183864f16 Cleanup 2016-09-11 19:47:40 -07:00
8416c9d633 More cleanup 2016-08-20 19:32:50 -07:00
5cc989b87f Rename references of "vocab" to "term" 2016-08-10 08:44:52 -07:00
e6d821b731 Cleanup using promises 2016-08-09 21:23:05 -07:00
29135ff84f Updating kanji display 2016-08-07 19:56:50 -07:00
a9e86544c1 Work on tags 2016-08-07 13:42:10 -07:00
43e2024529 Cleanup 2016-07-25 20:43:35 -07:00
3ffcf184bb Fix typo 2016-07-25 20:32:45 -07:00
80fedc4f7a Hook up sentence search extent to options 2016-07-25 20:28:56 -07:00
f88f8dc97f Sentence and URL support 2016-07-25 20:07:54 -07:00
d26ecab0b5 Adding sentence extraction code 2016-07-24 21:22:03 -07:00
19cc8fda33 Better range handling. 2016-07-24 21:18:17 -07:00
e062ae2063 Support looking up definitions for buttons and inputs. 2016-07-23 19:06:33 -07:00
fc17c6a603 Use document.write to populate IFRAME, as this avoids flicker on navbar
buttons and performs better. Will have to conditionally do the old
behavior for Firefox.
2016-07-23 15:17:35 -07:00
22d73228ca Cleanup 2016-07-23 15:14:13 -07:00
6d9b4392e2 Renaming classes 2016-07-23 13:12:24 -07:00
a72e958ebf Support looking up image tags 2016-07-23 13:06:09 -07:00
a889e1ffaa WIP 2016-07-23 12:47:42 -07:00
6099de71d8 Work on supporting different text sources 2016-07-22 22:14:59 -07:00
4e46f4bded Stub 2016-07-22 21:47:12 -07:00
9589a68def Fixing range optimization 2016-07-21 09:13:38 -07:00
ab27ef0096 Fixing audio not working on some pages 2016-07-20 09:01:40 -07:00
a567ef3605 Pronounce => Play Audio 2016-07-18 08:08:31 -07:00
abb3d74142 Temporarily removing gecko code from master until everything works in
firefox branch.

This reverts commit 30585892b8, reversing
changes made to bd89db4ec5.
2016-07-06 19:56:13 -07:00
ispedals
099d48ef48 Polyfill caretRangeFromPoint()
Gecko did not implment the older caretRangeFromPoint() and instead
implemented the newer caretPositionFromPoint()
2016-06-19 12:54:32 -04:00
ispedals
651231fbc1 Use iFrame srcdoc attribute to set the content of the popup
Previously the contentdocument of the iFrame was opened and
document.write() was being used set the contents of the popup.
In Gecko, content scripts do not have the same security context
as of the embedded page, so the call to document.open() results in
a SecurityError.
2016-06-19 12:54:30 -04:00
b91c79e321 Cache audio samples 2016-06-14 20:44:38 -07:00
ad61722130 Use let instead of const in for loops. 2016-06-14 20:44:38 -07:00
caf0678832 Cleanup 2016-06-14 20:44:38 -07:00
15f2744f04 Audio 2016-06-14 20:44:38 -07:00