aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2016-01-30Emit mouseout when clicking a new element link hintsmrmr1993
2016-01-30Merge pull request #1949 from smblott-github/simpler-hint-stringStephen Blott
Simplify hint string generation
2016-01-28Simplify hint-string generation; simplification.Stephen Blott
2016-01-26Disable position-at-end in text areas.Stephen Blott
When we `simulateSelect` an input and the selection is at the start, we move it to the end. This works well for single-line inputs. However, the UX is *bad* for multiline inputs (such as text areas), and doubly so if the end of the input happens to be out of the viewport. This commit simply disables the repositioning of the selection within text areas.
2015-12-04For Ctrl-[, also require NOT AltStephen Blott
See #1906. It is not obvious that this is in fact correct. In particular, it's not clear how `Ctrl-[` should work on Mac keyboards.
2015-10-23Properly check whether the selection is visible in the current viewportmrmr1993
2015-10-10Merge pull request #1849 from smblott-github/suppress-trailing-key-eventsStephen Blott
Suppress trailing key events (after link hints).
2015-10-04Suppress trailing key events (after link hints).Stephen Blott
This ensures that -- on leaving link hints mode -- we consume any trailing keyup events (and don't let the underlying page see them). Additional notes: - There are other places where we seem to be leaking keyup events. - A separate bug... It looks like we're calling `exit()` on link-hints mode twice.
2015-09-20Merge pull request #1086 from mrmr1993/countMatchesPhil Crosby
Rework to make match counting code for searches more DRY and easier to read
2015-09-11Tweak comment from #1813.Stephen Blott
2015-09-11Move escaping regex special chars to its own utility functionmrmr1993
2015-09-10Don't decode javascript URIs on 46.0.2467.2 and latermrmr1993
The fix for Chromium issue 483000 landed in this version, so it is no longer necessary for #1611
2015-09-10Merge pull request #1811 from PrestanceDesign/feature/add-qwant-search-engineStephen Blott
Search completion; add support for Qwant completion
2015-09-10Search completion; add support for Qwant completionMichael SALIHI
2015-09-10Add "older" to previousPatterns and "newer" to nextPatternsFlorian Kaiser
Useful for blogs where buttons are named "older posts" and "newer posts".
2015-09-07Traverse shadow DOMs when looking for scrollable elementsmrmr1993
2015-09-06Merge pull request #1798 from gdh1995/run-on-xml-pagesStephen Blott
Run on XML pages (version 2)
2015-08-29Minor tweaks (clipboard).Stephen Blott
1. We're not using Clipboard in the the content scripts, so don't import it. 2. Use consistent syntax for method calls. This commit is a no-op.
2015-08-28a better way to detect document typesgdh1995
On a XML view page, createElement will create an "Element" object Otherwise, createElement('div') will get an object : HTMLDivElement >> HTMLElement >> Element
2015-08-28fix a new typogdh1995
oh my god
2015-08-28remove `.bind` imported in da8653f because dom tests fail if bind existsgdh1995
2015-08-28fix a typo in PR #1798gdh1995
2015-08-28clean codegdh1995
2015-08-28fix a bug that Clipboard fails without DomUtilsgdh1995
2015-08-28fix a bug that Utils using DomUtilsgdh1995
remove Utils.createElementFromHtml since it's not in use
2015-08-26Use createElementNS for XML documents and remove XML specific codepathsmrmr1993
This implements @gdh1995's idea from #1796.
2015-07-20Treat links with fixed position children like absolutely positionedmrmr1993
This fixes #1770.
2015-06-25Merge branch 'hud-iframe-input-with-store-all-settings'Stephen Blott
2015-06-25Merge branch 'store-all-settings' into hud-iframe-input-with-store-all-settingsStephen Blott
2015-06-20The second part of b09822eb349ec88a573d4f450e9b57e8fa3c6473 is incorrect.Stephen Blott
Revert it.
2015-06-20Fix SimpleCache bugs.Stephen Blott
This fixes two bugs in SimpleCache. 1. Rotate the cache on the next tick. There is a marginally small chance that the cache will rotate between calls to .has() and .get(). So, we do the rotation ansynchronously. This guarantees that these two functions will always see the same cache state. 2. The implementation of .clear() (which is unused, I think) has at some point become out of date (and incorrect) w.r.t. the implementation of .rotate().
2015-06-20Adding debugging infrastructure for settings.Stephen Blott
2015-06-20Document options/settings data model.Stephen Blott
2015-06-20Document options/settings data model.Stephen Blott
2015-06-17Reinstate unintentionally deleted code.Stephen Blott
2015-06-17Fix non-default front-end settings.Stephen Blott
(@mrmr1993: This is yet another approach to the Settings problem.) With the new Settings implemetation, settings which have a non-default value and which are not in synced storage (that is, they have not been changed since synced storage was introduced) are not currently accessible to content scripts. This commit makes such settings accessible via chrome.storage.local. Important: - There's a change to the established settings data model here. Previously, settings with default values were not stored; here, they are. This eliminates a considerable amount logic from Settings, but means that migrations will be required if default values are changed in future. (Other than type changes, have we ever changed a default value?) - There's also a change (bug fix?) to the behaviour when an affected setting is reset to its default value. Previously, the change would *not* have been synced (whereas all other changes are). Here, such changes *are* synced. The previous behaviour was inconsistent with the syncing behaviour of all other options changes. Note: - This isn't particularly well tested. It's being committed mainly just for consideration of the approach, initially.
2015-06-16Make "Show Advanced Options" state persistent.Stephen Blott
2015-06-14Add default value for regexFindMode setting.Stephen Blott
Because we haven't had a default value for this setting, we never sync it, which means -- when its not at its default value -- it isn't picked up in content scripts by the new settings system. Fixes #1731.
2015-06-10Move finding the element at a selection's focus to a library functionmrmr1993
2015-06-10Guard against chrome being undefined in the HUD iframemrmr1993
2015-06-10Move FindModeHistory to its own file to be used by the HUD iframe toomrmr1993
2015-06-01Use JSON.stringify to compare setting values everywheremrmr1993
2015-06-01Always call performPostUpdateHook after Setting updates (.set/.clear)mrmr1993
2015-06-01Simplify searchEngines default value.Stephen Blott
2015-06-01Note bug in settings.Stephen Blott
(This bug has been around for quite some time. I just noticed it now.)
2015-06-01Fix error reading settings from chrome.storage.sync.Stephen Blott
2015-06-01Refactor and eliminate Sync object.Stephen Blott
2015-06-01Only propagate changes from chrome.storage.sync.Stephen Blott
2015-06-01Re-work unified settings.Stephen Blott
This is a minor re-working of #1705 from @mrmr1993. The main changes are: - Simplify initialisation logic. - Always initialise Settings immediately and automatically (ie. don't initialise Settings separately and manually in the background, content scripts, options and tests). - Get rid of addEventListener (it's only being used for on "load"). - Add Settings.use() in its place.
2015-05-31Add a default value for helpDialog_showAdvancedCommandsmrmr1993
We need this because Settings rejects key/value pairs from chrome.storage for which there were no default values. Previously, this only meant that the setting would not sync; now it meant that the setting wasn't ever made available to the frontend. This commit fixes it, and now the setting will sync.