1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-04-03 04:25:44 +02:00

308 Commits

Author SHA1 Message Date
Ilya Kreymer
bbd987060e wombat: improved WombatLocation, changes to any location property propagate to location object.
all properties overriden to check if location changed with pushState/replaceState
2015-07-21 11:41:52 -07:00
Ilya Kreymer
9b08ca9005 vidrw: ensure iframe replacement does get rewritten!
regex rewrite: include '==top?' for wombat rewrite
rewrite css: if js_ modifier on text/css, treat as css
2015-07-18 12:59:20 -07:00
Ilya Kreymer
55ddce57f8 vidrw: on fallback, don't replace generic 'swf' files with flowplayer! 2015-07-17 19:16:10 -07:00
Ilya Kreymer
e435242d38 wombat: Date: fixes to Date override, guard against double override
document.write: use shared rewrite_html() method, issue single write call
loaders: read_http() don't use range request if no range is set
2015-07-17 18:40:25 -07:00
Ilya Kreymer
b92d75ff9b wombat: fix Date overrides, ensure use of overriden functions 2015-07-16 12:24:44 -07:00
Ilya Kreymer
3808609fbc wombat: improved client side cookie rewriting, addressing path, domain, expires and secure attributes, #121 2015-07-13 20:35:06 -07:00
Ilya Kreymer
1911347f04 wombat cookie: remove domain for now (needs further rewriting to be added) 2015-07-13 12:23:18 -07:00
Ilya Kreymer
6e929aabdf wb_frame: set inner frame hash on init, and notify the other when inner or outer frame hashes change 2015-07-07 22:39:48 -07:00
Ilya Kreymer
fb0962189c wombat 2.5: more improvements:
- WB_wombat_location.href proxies to actual location, responsive to pushState/replaceState location changes
- pushState/replaceState notifies parent, if in framed mode
- cleanup def_prop(), use as wrapper for all Object.defineProperty()
- don't rewrite urls starting with '{'
2015-07-07 22:35:42 -07:00
Ilya Kreymer
d2e17bf505 vidrw: formatting, special case for ustream flash 2015-07-04 00:41:00 -07:00
Ilya Kreymer
a71e3209ae wombat 2.5! use more protoype property overrides
- WB_wombat_location now a property, defaults to _WB_wombat_location or location on base object
- Use base lookupGetter/lookupSetter when overriding properties
- Added Element.prototype.baseURI and document.baseURI override, href and src attribute overrides
- Added insertAdjacentHTML() override
- Refactored seperate iframe_init_wombat() for all wombat setup on new iframes
- Added contentWindow and contentDocument access overrides for ensuring iframe_init_wombat() is called on iframe
2015-07-03 11:51:11 -07:00
Ilya Kreymer
4714f4ad31 wombat: added extra null check for contentWindow 2015-06-05 19:49:05 -07:00
Ilya Kreymer
d104c03135 wombat: check coll prefix w/o mod or timestamp 2015-05-26 18:27:35 -07:00
Ilya Kreymer
07d6031d3e wombat: check for dropped collection and add back to avoid refer-relative redirect check on server 2015-05-26 18:16:17 -07:00
Ilya Kreymer
ce8da00b89 wombat: wteak history override to be more consistent
add exported 'watch_elem' func to be used by rules for custom ops
2015-05-26 15:14:12 -07:00
Ilya Kreymer
ee20ac66d6 rules: tw video player rules, disable rewriting
rewrite: tweak location rule
wombat: add getAttribute() override, but disabled for now
store default getAttribute()/setAttribute() to refer internally
2015-05-25 17:52:03 -07:00
Ilya Kreymer
6c97fe1d44 vidrw: support livestream playlist, support for generic extractor 2015-05-25 17:48:25 -07:00
Ilya Kreymer
af37b99e80 wombat: additional fixes/testing: for about:blank/empty iframes, initialize WB_wombat_location, document.WB_wombat_location and WB_wombat_top immediately.
disable redundant rewrites
vidrw: check for null parent node, fix bug with double-add! don't rewrite added elements
2015-05-24 20:17:04 -07:00
Ilya Kreymer
35e2e535bb def banner: ensure banner element isn't rewritten! 2015-05-21 12:24:16 -07:00
Ilya Kreymer
a929e96433 wombat: add rewrite_elem() back to main init_dom_override(), check if already overwritten
createElement(): add optional skip arg
2015-05-21 12:11:08 -07:00
Ilya Kreymer
690106bcb4 wombat: more refactoring! enable http/src observer by default, add skip_createElement override
implement document.cookie, document.referrer and document.domain as property overrides instead of WB_wombat rewrites
when a new iframe is loaded, ensure the *document* is reinited with wombat, even if window already has wombat settings
2015-05-21 11:26:54 -07:00
Ilya Kreymer
4983bf4425 rewrite: keep relative scheme after all, to work where with: scheme + "//..." constructions, #101 2015-05-21 11:26:54 -07:00
Ilya Kreymer
9912a31523 wombat: add prototype-level override for innerHTML and outerHTML 2015-05-21 11:26:54 -07:00
Ilya Kreymer
4e1be5c275 wombat work: add createElement() override, use current protocol instead of original url protocol
refactor init_dom_override() to only check children for fragments, add innerHTML override
2015-05-21 11:26:54 -07:00
Ilya Kreymer
058b25ec5a wombat: test with href overrides 2015-05-21 11:26:54 -07:00
Ilya Kreymer
c5a5d45a58 wombat: experimenting with initializing wombat on iframe init directly, rather than waiting for injected init... 2015-05-21 11:26:54 -07:00
Ilya Kreymer
d2763004dd wombat: for now, disable node observers by default 2015-05-14 22:32:09 -07:00
Ilya Kreymer
d8b11db1e7 wombat:
ajax: always explicitly add X-Requested-With: XMLHttpRequest to ajax requests
mutation obs: don't rewrite <link rel=canonical> with node added observer
2015-05-14 22:32:09 -07:00
Ilya Kreymer
fd4a0cc9b1 wombat: add extra mutation observer for any nodes added 2015-05-14 22:32:09 -07:00
Ilya Kreymer
40f15cf6ea rules: add location rewrite only rule for disqus
wombat: ensure _orig_setAttribute is still set even if setAttribute rewriting disabled!
2015-05-14 22:32:09 -07:00
Ilya Kreymer
b2e26eeb27 wombat: remove timezone offset, as Date.now() already UTC 2015-05-14 22:32:09 -07:00
Ilya Kreymer
7cbf43872f wombat: obey _no_rewrite for rewrite_elem() 2015-05-14 22:32:08 -07:00
Ilya Kreymer
15ac7ea1f8 vidrw: just check 'ustream' in url 2015-05-14 22:32:08 -07:00
Ilya Kreymer
7a0ab76a07 vidrw work: limit flashvar parsing to ustream (for now) 2015-05-14 22:32:08 -07:00
Ilya Kreymer
d657a65469 wombat: fix rewrite_attr not actually being rewritten due to incomplete refactor
when is_live, don't add timestamp to rewritten urls (hypothesis/via#11)
2015-05-14 22:32:08 -07:00
Ilya Kreymer
838853e52d vidrw work: parse first url from flashvars (experimental), add special case for ustream! 2015-05-14 22:32:08 -07:00
Ilya Kreymer
5072ed568c fix typos: wombat: fix rewrite not being called on setter
frame_insert: ensure <iframe> has separate close tag
recordloader: ensure length used as string
2015-05-14 22:32:07 -07:00
Ilya Kreymer
72982829bd postMessage: check for rewitten message 2015-05-14 22:32:07 -07:00
Ilya Kreymer
1c61bdcdd7 bump version to 0.9.8-dev
fix vidrw to work with mp_ / inverse framed replay!
2015-05-14 22:32:07 -07:00
Ilya Kreymer
160794e4ec wombat: add options to disable worker override, use mutation observers instead of setAttribute() override 2015-04-27 00:43:10 -07:00
Ilya Kreymer
904b4265e9 wombat typo fix 2015-04-26 18:28:05 -07:00
Ilya Kreymer
a88acb7476 wombat work: add option to use MutationObserver instead of setAttribute override
use original setAttribute when calling internally
use querySelectorAll for child element rewrite selection
add check for ':port' being dropped from host url and attempt to add back in
2015-04-24 22:09:08 -07:00
Ilya Kreymer
d9bd47ea77 wombat: disable always remove slash in extract_orig, as this may break urls that depend
on it (and they are different urls anyway)
2015-04-20 17:46:03 -07:00
Ilya Kreymer
8bd8485b5a framed replay fixes: don't use 'window.frames[0]' but get framed by 'replay_iframe' id to allow
for custom placement, multiple frames, etc...

ensure outer frame url is updated to canonical (no mod) form for inverse setup as well.
2015-04-17 22:01:04 -07:00
Randall Leeds
2776d5d0b4 Fix typo in handling of no_rewrite_prefixes 2015-04-17 20:03:36 -07:00
Ilya Kreymer
74c6b60d5e wombat customization: pass custom options from config.yaml 'rewrite_opts.client' as a json obj
to wombat.js #96
currently supporting no_rewrite_prefixes, and skipping dom, setAttribute and postmessage overrides
(used by via.hypothes.is) -- other options to be added later
2015-04-16 12:24:01 -07:00
Ilya Kreymer
2e4427100c wombat init refactor: init wbinfo first, then pass wbinfo to wombat
to allow for additional options for wombat, in prep for #96
2015-04-16 11:51:25 -07:00
Ilya Kreymer
088a316b44 wb.js fix: check for possible null __orig_parent 2015-04-06 20:29:15 -07:00
Ilya Kreymer
ac06a49d4a fixes: add correct path for frame_mod and replay_mod
wombat: copy Date prototype to appeace 'instanceof Date' check
2015-04-04 17:31:51 -07:00
Ilya Kreymer
8bd6787595 'inverse' framed replay: ensure memento headers point to actual memento in inverse framed replay
add additional test for inverse framed replay, #92
fix framed replay url replace slash
2015-04-01 16:21:44 -07:00