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

203 Commits

Author SHA1 Message Date
Ilya Kreymer
8b68119994 wombat: use wb_rel_prefix instead of wbinfo.coll for rel prefix path 2015-10-17 08:53:01 -07:00
Ilya Kreymer
42091fd36e wombat: fix typo which caused rewrite_style() to be skipped unless style started with url prefix! 2015-10-14 17:36:33 -07:00
Ilya Kreymer
edbfd500a4 wombat: fix rel '/' rewrite which incorrectly handles rel scheme '//' urls 2015-10-12 22:13:26 -07:00
Ilya Kreymer
8b7516708d wombat: improved rewrite when running at root: fixes for extract_orig and /-rel rewrite
move init to be before proxy check
2015-10-11 23:16:15 -07:00
Ilya Kreymer
4dfe187174 proxy improvements:
use proxy_magic path to get video info to ensure video info, addresses #106
video info: ensure vi_ replay has CORS support to support serving from magic path
proxy & wombat improvements: set replay_top to window.top and avoid causing cross-domain errors
2015-10-11 21:03:30 -07:00
Ilya Kreymer
9a19265786 rewrite: disable 'integrity' (as well as crossorigin) attr due to rewriting, which modifies the resource 2015-10-05 23:04:56 -07:00
Ilya Kreymer
46a8cb5132 wombat: fix typo! 2015-10-02 12:22:42 -07:00
Ilya Kreymer
3d7a3fb9ef wombat: fix change test bool logic typos 2015-09-24 21:33:13 -07:00
Ilya Kreymer
87d7fb11ca wombat improvements:
* detect if anything actually rewritten in rewrite_html(), skip write()/writeln() override if no changes
* for relative ./ or ../ rewrite, find trailing slash
* better window detection instead of instanceof Window (using constructor and window prop check)
* bump to wombat 2.9
2015-09-24 21:10:06 -07:00
Ilya Kreymer
a45464cc61 wombat: fix form action overrides 2015-09-20 11:49:04 -07:00
Ilya Kreymer
589eb6513c wombat: related to #129, resolve any dynamic urls with a "." or ".." relative to original url, avoiding break rewrite url 2015-09-14 19:23:44 -07:00
Ilya Kreymer
c96082cf83 wobmat rewrite: support "a.href = '.'" properly even if trailing / missing 2015-09-10 17:18:30 -07:00
Ilya Kreymer
08849a573b wombat: better detection of top replay frame when in 'non-frame container' mode
avoids banner being accidentally added to inner frames!
2015-09-10 17:13:53 -07:00
Ilya Kreymer
26ed3aaecd vidrw: further fix for #126 for browsers w/o mutationobserver support (e.g. safari) 2015-09-08 12:16:30 -07:00
Ilya Kreymer
6d25df2beb vidrw: fix for vimeo videos that were broken due to turning off of javascript url rewriting.
videos recorded via youtube-dl path may attempt to be replayed as default html5
for vimeo path, add a placeholder <embed> to trigger old lookup path if no videos are loaded.
fixes #126
2015-09-08 11:51:37 -07:00
Ilya Kreymer
78c3a34598 wombat: style rewrite regex to be case-insensitive 2015-09-04 10:53:14 -07:00
Ilya Kreymer
c16ac4b127 wombat: rewrite dynamically added OBJECT[data] if data is a full url, add proto override (though only supported in FF) 2015-09-04 08:52:51 -07:00
Ilya Kreymer
fecf1a73e8 wombat: ensure setAttribute "style" is rewritten as a style 2015-09-04 08:19:32 -07:00
Ilya Kreymer
d0b3b0d7ae rewrite: wombat: rewrite document.writeln 2015-09-03 15:32:24 -07:00
Ilya Kreymer
ddcd03f1fc wombat: cache partial tag document.write() calls, eg. document.write("<scr"), document.write("ipt>") and parse and write full tag.
(detect if no tags added, not 100% fool-proof but covers common cases at this point)
2015-09-02 05:36:34 -07:00
Ilya Kreymer
8d1823c1c2 wombat: don't log iframe.contentWindow access exception, safely ignorable 2015-08-15 15:51:53 -07:00
Ilya Kreymer
1aa273340c wombat: when handling document.write() html rewrite, remove end-tag if not present in initial html
attr override: don't call setAttribute() by default
2015-08-15 11:28:42 -07:00
Ilya Kreymer
2f3e740279 fix typo 2015-08-14 22:33:32 -07:00
Ilya Kreymer
e56b738652 wombat improvements:
cookie rewrite: properly escape ',' in expires before splitting by comma, use reaplce function
to correctly replace path and domain
form override: add explicit overrides to all form.actions, add override to createElement()
as form.action override is not always prototype-overridable
textContent: add style element textContent override
add registerProtocolHandler override
2015-08-14 22:27:01 -07:00
Ilya Kreymer
3ef5d98bc6 bump to 0.10.7-dev
wombat: use Document.prototpe for cookie getter and setter if not found on
document object, add no-op setter for document.domain
tests: fix test to avoid including line ending
2015-08-09 09:25:02 -07:00
Ilya Kreymer
8ab342c4ca wombat: actually enable style overrides, use CSS2Declaration for FF, keep old rule in place for now 2015-08-09 00:14:26 -07:00
Ilya Kreymer
5d9081e5d9 wb_frame: add init_pm() which overrides postMessage on outerframe, allows for proxying postMessages to and from actual parent when running in embedded mode #125 2015-08-08 23:22:13 -07:00
Ilya Kreymer
4b4d7bbc27 wombat: improved style rewriting: override CSSStyleDeclaration params directly to avoid mutation observers,
document.write: override text content of <style> elements, and newly appended Text content added as children
rules: disable special cases rules no longer needed due to improved css rewriting
2015-08-08 23:19:43 -07:00
Ilya Kreymer
fbe91adf5e wombat: add support for specifying custom modifier for rewrite_url, specify custom mod for attr overrides and setAttribute 2015-08-08 15:53:13 -07:00
Ilya Kreymer
0ad3ba6b9e wombat: cookie expires: don't remove cookie expires (to allow deleting cookies via expiration), but adjust by time difference between now and capture time 2015-08-08 02:14:40 -07:00
Ilya Kreymer
6dd432ab38 wombat: only fix window.parent on top frame if 'embeddable' is not set to true, allow for communication w/ embedding frame this way 2015-08-07 18:21:37 -07:00
Ilya Kreymer
92f3dcc2dc wombat: postMessage improvements: ensure original 'source' is also preserved
handle removeEventListener for message
2015-08-06 13:24:38 -07:00
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