mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 08:04:49 +01:00
regex_rewrite: add 'parent' rewrite in addition to 'top' for frames, add
WB_wombat_parent to wombat, add test for WB_wombat_parent
This commit is contained in:
parent
976decb3f1
commit
ccedb2d60e
@ -136,11 +136,16 @@ class JSLocationRewriterMixin(object):
|
||||
(r'(?<=document\.)cookie', RegexRewriter.add_prefix(prefix), 0),
|
||||
|
||||
#todo: move to mixin?
|
||||
(r'(?:[\s=(){]|^)(top)\s*(?:[!}()]|==|$)',
|
||||
(r'(?<=[\s=(){])(parent|top)\s*(?:[!}()]|==|$)',
|
||||
RegexRewriter.add_prefix(prefix), 1),
|
||||
|
||||
(r'(?<=window\.)top',
|
||||
RegexRewriter.add_prefix(prefix), 0),
|
||||
(r'^(parent|top)\s*(?:[!}()]|==|$)',
|
||||
RegexRewriter.add_prefix(prefix), 1),
|
||||
|
||||
(r'(?<=window\.)(parent|top)',
|
||||
RegexRewriter.add_prefix(prefix), 1),
|
||||
|
||||
|
||||
|
||||
# (r'\b(top)\b[!=\W]+(?:self|window)',
|
||||
# RegexRewriter.add_prefix(prefix), 1),
|
||||
|
@ -49,6 +49,9 @@ r"""
|
||||
>>> _test_js('window.top != window')
|
||||
'window.WB_wombat_top != window'
|
||||
|
||||
>>> _test_js('if(parent!=top)')
|
||||
'if(WB_wombat_parent!=WB_wombat_top)'
|
||||
|
||||
>>> _test_js('top != window')
|
||||
'WB_wombat_top != window'
|
||||
|
||||
|
@ -940,12 +940,20 @@ _WBWombat = (function() {
|
||||
|
||||
window.WB_wombat_top = find_next_top(window.self);
|
||||
|
||||
if (window.parent == window.top) {
|
||||
window.WB_wombat_parent = window;
|
||||
} else {
|
||||
window.WB_wombat_parent = window.parent;
|
||||
}
|
||||
|
||||
} else {
|
||||
window.top.WB_wombat_location = new WombatLocation(window.top.location);
|
||||
window.WB_wombat_top = window.top;
|
||||
window.WB_wombat_parent = window.parent;
|
||||
}
|
||||
} else {
|
||||
window.WB_wombat_top = window.top;
|
||||
window.WB_wombat_parent = window.parent;
|
||||
}
|
||||
|
||||
//if (window.opener) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user