aboutsummaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2022-03-11make the order of rules in generated CSP deterministicWojtek Kosior
This is purely to help with automated testing.
2022-03-10treat "view-source:" pages as privilegedWojtek Kosior
2022-03-04prepend all generated console messages with 'Haketilo:'Wojtek Kosior
2022-03-04optimize Pattern Query Tree for size of its JSON.stringify()'ed representationWojtek Kosior
2022-03-04validate repository responses against JSON schemasWojtek Kosior
* compute_scripts.awk (include_file): don't enforce specific path format on #INCLUDE'd files * .gitmodules, schemas: add Haketilo JSON schemas subrepo * html/install.js (InstallView): import schema validator and run it against downloaded mapping and resource definitions * html/repo_query.js (RepoEntry): import schema validator and run it against obtained query results * test/haketilo_test/unit/test_install.py (test_install_normal_usage, test_install_dialogs): use underscore instead of hyphen in item identifiers * test/haketilo_test/unit/test_install.py (test_install_dialogs): adapt error message test cases to new handling method of invalid JSON instanced * test/haketilo_test/unit/test_repo_query.py (test_repo_query_normal_usage): use underscore instead of hyphen in item identifiers * test/haketilo_test/unit/test_repo_query.py (test_repo_query_messages): use higher sample unsupported schema version to avoid having to modify the test case soon * test/haketilo_test/world_wide_library.py: use underscore instead of hyphen in item identifiers * common/jsonschema.js, common/jsonschema: adapt tdegrunt's jsonschema and include in Haketilo, load schema documents from schemas/
2022-02-28change copyright notice of js-sha256 code to be exactly the same as in ↵Wojtek Kosior
upstream's LICENSE.txt * common/sha256.js: removed email address from the copyright line
2022-02-16assume and use "$schema" properties in item definitionsWojtek Kosior
2022-02-15fix loading initial data and verify it in automated testsWojtek Kosior
2022-02-15change store names and data keys to singularWojtek Kosior
2022-02-14restore chromium supportWojtek Kosior
2022-02-09adapt to changes in file path formatWojtek Kosior
From now on we assume Hydrilla serves file contents at 'file/sha256/<hash>' instead of 'file/sha256-<hash>'. With this commit we also stop using the "hash_key" property internally.
2022-02-01more improvements for abrowser&librewolfWojtek Kosior
2022-01-31add support for testing with other browsers (especially Abrowser and Librewolf)Wojtek Kosior
There are still some spurious failures when running under those newer browsers. Those will be systematically investigated and fixed.
2022-01-29make Haketilo buildable again (for Mozilla)Wojtek Kosior
How cool it is to throw away 5755 lines of code...
2022-01-28update error reporting in popupWojtek Kosior
2022-01-27facilitate querying IndexedDB for script files of resource and its dependenciesWojtek Kosior
2022-01-26add new root content scriptWojtek Kosior
2022-01-25add a repo querying HTML interfaceWojtek Kosior
2022-01-22add a mapping/resources installation dialogWojtek Kosior
2022-01-15make blocking rules queryable in pattern tree just as mappings areWojtek Kosior
2022-01-13facilitate managing script blocking with a list of edtable entriesWojtek Kosior
2022-01-13facilitate managing repository URLs in a list; minor other changesWojtek Kosior
2022-01-10improve item list styling; add payload creation form; exend dialog mechanismWojtek Kosior
2022-01-08work on UI componentsWojtek Kosior
This commit introduces some HTML and javascript (and tests for it) to use in constructing the new UI. This is partial work that is not yet finished.
2022-01-04fix license promise typoWojtek Kosior
2022-01-03add "blocking" and "repos" object storesWojtek Kosior
2021-12-31utilize Pattern Tree to decide the policy to use and modify HTTP response ↵Wojtek Kosior
headers according to that policy This commit also enhances the build script so that preprocessor conditionals can now use operators '&&' and '||'. The features being developed are not yet included in the actual Haketilo build. Some of the new source files contain similar functionality to other ones already existing in the source tree. At some point the latter will be removed.
2021-12-27facilitate egistering dynamic content scripts with mappings dataWojtek Kosior
2021-12-22reworked build system; added missing license noticesWojtek Kosior
2021-12-16facilitate tracking of IndexedDB item store contentsWojtek Kosior
2021-12-15facilitate mocking imported valuesWojtek Kosior
2021-12-14facilitate broadcasting messages to different execution contexts within the ↵Wojtek Kosior
webextension
2021-12-13add `is_object_empty` utility functionWojtek Kosior
2021-12-10improve IndexedDB useWojtek Kosior
2021-12-08facilitate initialization of IndexedDB for use by HaketiloWojtek Kosior
2021-12-04finish implementing more efficient querying of URL patternsWojtek Kosior
The algorithm is implemented and tested. However, it is yet to be hooked into the actual extension.
2021-12-03merge `master` (license notices) and `koszko` (v1.0 development)Wojtek Kosior
2021-12-03start implementing more efficient querying of URL patternsWojtek Kosior
2021-12-01improve unit testing approachWojtek Kosior
Unit tests were moved to their own subdirectory. Fixtures common to many unit tests were moved to test/unit/conftest.py. A facility to execute scripts in page's global scope was added. A workaround was employed to present information about errors in injected scripts. Sample unit tests for regexes in common/patterns.js were added.
2021-11-30rewrite parts of build script in awkWojtek Kosior
2021-11-20replace cookies with synchronous XmlHttpRequest as policy smuggling method.Wojtek Kosior
Note: this breaks Mozilla port of Haketilo. Synchronous XmlHttpRequest doesn't work as well there. This will be fixed with dynamically-registered content scripts later.
2021-10-30Fix license notices on JS and SH filesjahoti
Other files have been left, as no model notice is available
2021-09-13rename the extension to "Haketilo"Wojtek Kosior
2021-09-10limit allowed pattern lengthsWojtek Kosior
2021-09-09simplify CSP handlingWojtek Kosior
All page's CSP rules are now removed when a payload is to be injected. When there is no payload, CSP rules are not modified but only supplemented with Hachette's own.
2021-09-08Fix sanitizing of non-HTML XMLDocument'sWojtek Kosior
2021-09-06generate Chromium unique key automatically in `build.sh'Wojtek Kosior
2021-09-04merge changes before version 0.1Wojtek Kosior
2021-09-02implement rethinked <meta> tags sanitizing approachWojtek Kosior
This has not been tested yet. Additionally, functionality for blocking of `data:' urls needs to be re-enabled.
2021-09-02enable toggling of global script blocking policy\n\nThis commit also ↵Wojtek Kosior
introduces `light_storage' module which is later going to replace the storage code we use right now.\nAlso included is a hack to properly display scrollbars under Mozilla (needs testing on newer Mozilla browsers).