1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-21 11:02:10 +01:00

471 Commits

Author SHA1 Message Date
Ilya Kreymer
5e3d57966b rewrite: ensure WB_wombat_ removed from and style strings 2015-08-06 11:09:51 -07:00
Ilya Kreymer
54f00de3d1 wombat: catch frameElement override exception 2015-08-05 15:33:20 -07:00
Ilya Kreymer
ef9fa9ec5c rewrite: don't assume window.top is the top replay frame, refactor to find top replay frame (window.__WB_replay_top) and top frame window.__WB_top_frame, for framed mode)
make top -> WB_wombat_top rewriting more general, use Object property override to return __WB_replay_top or default to regular top if not window
fixes #125
2015-08-05 10:10:10 -07:00
Ilya Kreymer
ebb9184944 vidrw: don't replace video with generic swf entry, if present, fixes #124 2015-08-05 10:09:42 -07:00
Ilya Kreymer
52c6544186 wombat work: rewrite_html() iterate over all elements in insert doc, not just top level
setAttribute: don't disable rewriting after one set attribute call
2015-08-03 20:25:13 -07:00
Ilya Kreymer
a2a2a054a0 rewrite: rewrite rel urls to rel urls, both server and wombat side #123 2015-07-31 01:57:17 -07:00
Ilya Kreymer
43716f5f1d rewrite: add HostScopeCookieRewriter and make it default -- set cookie scope to rewritten host
wombat: ensure rewrite html is using a string
bump to 0.10.5!
2015-07-30 23:06:34 -07:00
Ilya Kreymer
a61685ccea wombat fixes: ensure document.open and document.write overrides correct
for rewrite_html, check if head, body tags were present and include in rewritten version
for referrer-rel rewrite, use top origin
2015-07-30 15:12:24 -07:00
Ilya Kreymer
aaae4d7b20 wombat: fix typos 2015-07-30 15:10:13 -07:00
Ilya Kreymer
e006bcd0e6 wombat: ensure wombat restored if document.open() or document.write() wipe it (eg. in FF)
use orig_getAttribute when checking iframe.src is not blank
2015-07-30 15:10:13 -07:00
Ilya Kreymer
69f838211d wombat: continue using anchor element (with no rewriting) instead of less standard URL class, avoid
edge cases/browser differences
2015-07-30 15:10:13 -07:00
Ilya Kreymer
f62bf9a252 add url.js polyfill 2015-07-30 15:10:13 -07:00
Ilya Kreymer
cee3c8cb61 new wombat! refactor of rewriting:
- use defineProperty overrides on element prototypes
- postMessage() rework: store actual origin with helper function __WB_pmw(window), from
server side rewrite
- Use window.URL (or external jsurl script) to override all properties of HTMLAnchorElement,
override getAttribute() to return original
- rename window -> $wbwindow
2015-07-30 15:10:13 -07:00
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