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